[AND、OR、NOT関数]条件の組み合わせ

IF関数の条件式を書きやすくするための関数として、AND、OR、NOTの関数を利用できます。

AND(条件式1,条件式2, ...)
すべての条件式が真のとき真を返す。それ以外のときは偽を返す。
OR(条件式1,条件式2, ...)
いずれかの条件式が真のとき真を返す。すべて条件式が偽のときは偽を返す。
NOT(条件式)
条件式が偽のとき真を返す。条件式が真のとき偽を返す。

条件式では以下の演算子が利用できます。
=, !=, <>, <, >, <=, >=

  • 数値型を比較する場合は、すべての演算子が利用できます。
  • 文字列型を比較する場合は、=, !=, <>のみが利用できます。
    文字列型となるフィールドは、文字列(1行)、ドロップダウン、ラジオボタン、ルックアップ(コピー元が文字列の場合)です。

詳細は演算子と関数の一覧のページで説明しています。

計算式の例

計算フィールドや文字列(1行)フィールドに利用できる計算式の例をご紹介します。
条件式に指定している文字は、フィールドコードです。
また、IF関数はネスト(入れ子)が可能です。長い計算式は折り返し表示したり、改行して見やすく表示したりできます。

計算式:IF(AND(学科>=80,実技>=80),"合格","再テスト")

「学科」と「実技」の結果が両方80点以上であれば「合格」、そうでなければ「再テスト」と表示されます。
文字列は""(ダブルクォーテーション)で囲んで指定します。
結果が文字列のため、文字列(1行)フィールドに計算式を入力します。
計算式:IF(OR(学科>=80,実技>=80),"合格","再テスト")

「学科」または「実技」の点数のどちらかひとつでも80点以上であれば「合格」、それ以外は「再テスト」と表示されます。
文字列は""(ダブルクォーテーション)で囲んで指定します。
結果が文字列のため、文字列(1行)フィールドに計算式を入力します。
計算式:IF(NOT(学科+実技>=160),"再テスト","合格")

「学科」と「実技」の合計点数が「160点以上ではない(NOT)」場合に、「再テスト」が表示されます。
文字列は""(ダブルクォーテーション)で囲んで指定します。
結果が文字列のため、文字列(1行)フィールドに計算式を入力します。

AND関数の設定手順

検定試験結果アプリを例に計算式の設定方法を説明します。
「学科」と「実技」の点数が両方とも80点以上のときに「合格」、それ以外は「再テスト」を表示させたい場合、AND関数を利用します。

完成イメージ:

  1. レコード一覧画面の右上にあるアプリ設定ボタン 設定ボタン をクリックし、「フォーム」タブを選択します。

  2. 画面左側のパーツ一覧から数値フィールドを2つ配置します。

  3. フィールドの設定画面でフィールド名とフィールドコードを「学科」に変更します。
    もう1つの数値フィールドはフィールド名とフィールドコードを「実技」に変更します。

  4. 今回は結果を文字列で表示するため、文字列(1行)フィールドを配置します。

  5. 文字列(1行)フィールドの設定画面を開いて、フィールド名とフィールドコードを「結果」に変更します。

  6. 「自動計算する」にチェックを入れ、「学科と実技の結果が両方80点以上であれば合格、そうでなければ再テスト」と表示される計算式を入力します。

    • 計算式:IF(AND(学科>=80,実技>=80),"合格","再テスト")
  7. 文字列(1行)の設定画面の[保存]をクリックします。

  8. 画面左上の[フォームを保存]をクリックして、画面右上の[アプリを更新]をクリックします。

2つとも「80点以上」を満たす場合に「合格」が表示されるようになりました。

1つは「80点未満」の場合、「再テスト」が表示されます。

OR関数の設定手順

「学科」または「実技」の点数のどちらかひとつでも80点以上であれば「合格」、それ以外は「再テスト」を表示させたい場合、OR関数を利用します。

  • 計算式:IF(OR(学科>=80,実技>=80),"合格","再テスト")

「学科」または「実技」のどちらかひとつが「80点以上」であれば、「合格」が表示されます。

NOT関数の設定手順

NOT関数は、条件を満たさないかどうかを判定できます。

今回は、「学科」と「実技」の合計点数が「160点以上ではない(NOT)」場合に、「再テスト」を表示させます。

  • 計算式:IF(NOT(学科+実技>=160),"再テスト","合格")

合計点数が160点に満たない場合、「再テスト」が表示されます。

計算フィールドで条件を組み合わせる例

表示する結果が数値の場合、計算フィールドにAND、OR、NOT関数を設定します。
社員名簿アプリで在籍フラグをつける例を説明します。
完成イメージ:

フォームの設定画面に、日付フィールド2つ、計算フィールド1つを配置します。
日付フィールドのフィールド名は「入社」「退職」にします。

計算フィールドに「入社日が未入力でない、かつ退職日が空白ならば『1』を表示、そうでなければ『0』を表示する」という計算式を入力します。
フィールドが未入力かどうかを条件にする場合は、「フィールドコード = ""」と指定します。

  • 計算式:IF(AND(入社<>"",退職=""),1,0)

入社年月日が入力済みで退職年月日が空白のユーザーは、在籍フラグ「1」が表示されます。

演算子や関数は演算子と関数の一覧のページを参照してください。