[CONTAINS関数]フィールドの中に、指定した文字列と完全一致するものがあるか判定する

記事番号:040506

CONTAINS関数は、指定したフィールドの中で、指定した文字列と完全一致するものがあれば真を返し、そうでない場合は偽を返します。
CONTAINS関数を使って、以下のような条件を判定できます。

  • チェックボックスフィールドや複数選択フィールドで、指定した項目が選択されているかを判定する
  • テーブル内のフィールドの値について、指定した文字列と完全一致する値を含む行があるかを判定する

また、判定した結果をIF関数と組み合わせて利用できます。

CONTAINS関数の構文

コピーされました
CONTAINS(フィールドコード, "検索文字列")

CONTAINS関数には、引数として「フィールドコード」と「検索文字列」の両方を必ず指定します。

フィールドコードの引数には、検索対象にするフィールドのフィールドコードを指定します。
次のフィールドが指定できます。

  • チェックボックス
  • 複数選択
  • テーブル内のフィールド
    • 文字列(1行)
    • ラジオボタン
    • ドロップダウン
    • ルックアップ(コピー元が文字列型の場合)

CONTAINS関数を含む計算式をテーブル内に設定する場合は、次のフィールドを引数として指定できます。

  • 同じテーブル内のチェックボックス
  • 同じテーブル内の複数選択

「検索文字列」の引数には、検索する文字列を、ダブルクォーテーション(")で囲んで指定します。「検索文字列」で指定した文字列と完全一致する値があった場合に、真を返します。

計算式の例

計算式でフィールドを指定する場合は、引数としてフィールド名ではなくフィールドコードを指定してください。
次の例では、フィールド名とフィールドコードをすべて一致させています。

「済」にチェックが付いている場合に「チェックあり」を表示する計算式

次の例は、「チェックボックス」フィールドで「済」にチェックが付いていれば「チェックあり」を表示、チェックが付いていなければ「チェックなし」を表示する計算式です。

コピーされました
IF(CONTAINS(チェックボックス, "済"),"チェックあり","チェックなし")

スクリーンショット:チェックボックスフィールドで「済」にチェックが付いているため、「チェックあり」が自動で表示されている

計算式は、文字列(1行)フィールドに設定します。文字列(1行)フィールドを配置し、フィールド設定で「自動計算する」にチェックを付けて計算式を入力します。

「日曜日」にチェックが付いている場合に「日曜出勤あり」を表示する計算式

次の例は、「出勤曜日」フィールドの日曜日にチェックが付いていれば「日曜出勤あり」を表示し、チェックが付いていなければ「日曜出勤なし」を表示する計算式です。

コピーされました
IF(CONTAINS(出勤曜日, "日曜日"), "日曜出勤あり", "日曜出勤なし")

スクリーンショット:出勤曜日フィールドで「日曜日」にチェックが付いているため、「日曜出勤あり」が自動で表示されている

計算式は、文字列(1行)フィールドに設定します。文字列(1行)フィールドを配置し、「自動計算する」にチェックを付けて計算式を入力します。

土曜日または日曜日のいずれかにチェックが付いている場合に「休日出勤あり」を表示する計算式

次の例は、「出勤曜日」フィールドで土曜日または日曜日のいずれかにチェックが付いている場合に「休日出勤あり」を表示する計算式です。
OR関数を使って条件を組み合わせています。
[AND、OR、NOT関数]条件の組み合わせ

コピーされました
IF(OR(CONTAINS(出勤曜日, "土曜日"),CONTAINS(出勤曜日, "日曜日")), "休日出勤あり", "")

スクリーンショット:「出勤曜日」フィールドで「土曜日」が選択されているため、「休日出勤あり」が自動で表示されている

計算式は、文字列(1行)フィールドに設定します。文字列(1行)フィールドを配置し、「自動計算する」にチェックを付けて計算式を入力します。

チェック状況に応じて異なる料金を表示する計算式

次の例は、「宿泊オプション」フィールドのチェック状況に応じて、異なる料金を表示する計算式です。

「宿泊オプション」フィールドで「朝食あり」が選択されている場合は、宿泊料金8,000円に朝食代1,500円を足した料金を表示します。選択されていない場合は、宿泊料金8,000円をそのまま表示します。

コピーされました
8000+IF(CONTAINS(宿泊オプション, "朝食あり"), 1500, 0)

スクリーンショット:「宿泊オプション」フィールドで「朝食あり」が選択されているため、朝食代を足した金額が自動で表示されている

全項目にチェックが付いている場合、「点検済み」を表示する計算式

次の例は、「点検」フィールドのチェックボックスの全項目(A、B、C)にチェックが付いている場合、「点検済み」を表示する計算式です。
AND関数を使って条件を組み合わせています。
[AND、OR、NOT関数]条件の組み合わせ

コピーされました
IF(AND(CONTAINS(点検, "A"),CONTAINS(点検, "B"),CONTAINS(点検, "C")),"点検済み","")

スクリーンショット:「点検」フィールドでABCすべてチェックが付いているため、「点検済み」が自動で表示されている

計算式は、文字列(1行)フィールドに設定します。文字列(1行)フィールドを配置し、「自動計算する」にチェックを付けて計算式を入力します。

全項目にチェックが付いていない場合、「未チェック」を表示する計算式

次の例は、「点検」フィールドのチェックボックスの全項目(A、B、C)にチェックが付いていない場合、「未チェック」を表示する計算式です。
OR関数を使って条件を組み合わせています。 [AND、OR、NOT関数]条件の組み合わせ

コピーされました
IF(OR(CONTAINS(点検, "A"),CONTAINS(点検, "B"),CONTAINS(点検, "C")),"","未チェック")

スクリーンショット:「点検」フィールドでABCすべてチェックが付いていないため、「未チェック」が自動で表示されている

計算式は、文字列(1行)フィールドに設定します。文字列(1行)フィールドを配置し、「自動計算する」にチェックを付けて計算式を入力します。

テーブル内に「至急」と書かれている行がある場合に「至急対応あり」を表示する計算式

次の例は、テーブル内の「優先度」フィールドに「至急」と書かれている行がある場合は「至急対応あり」を表示し、そうでない場合は「通常」を表示する計算式です。

コピーされました
IF(CONTAINS(優先度, "至急"), "至急対応あり", "通常")

スクリーンショット:テーブル内の「優先度」フィールドに「至急」と書かれている行があるため、「至急対応あり」が自動で表示されている

計算式は、文字列(1行)フィールドに設定します。文字列(1行)フィールドを配置し、「自動計算する」にチェックを付けて計算式を入力します。
「優先度」フィールドの値が「至急」と完全一致する場合に、「至急対応あり」と表示されます。