[AND、OR、NOT関数]条件の組み合わせ
AND関数、OR関数、NOT関数を使うと、複数の条件が満たされているかどうかを判定できます。
また、判定した結果をIF関数と組み合わせて利用できます。
関数の構文
AND関数は、すべての条件式が真のときは真を返します。それ以外のときは偽を返します。
AND(条件式1,条件式2, ...)
OR関数は、いずれかの条件式が真のときは真を返します。すべての条件式が偽のときは偽を返します。
OR(条件式1,条件式2, ...)
NOT関数は、条件式が偽のときは真を返します。条件式が真のときは偽を返します。
NOT(条件式1)
条件式で使用できる演算子
条件式では以下の演算子が利用できます。
- =
- !=
- <>
- <
- <=
- >
- >=
数値型のフィールド(数値フィールドなど)を比較する場合は、上記の演算子がすべて利用できます。
文字列型のフィールド(文字列(1行)フィールドなど)を比較する場合は、「=」「!=」「<>」のみが利用できます。
フィールドのデータ型については、「フィールドのデータ型」を参照してください。
計算式の例
計算式でフィールドを指定する場合は、引数としてフィールド名ではなくフィールドコードを指定してください。
次の例では、フィールド名とフィールドコードをすべて一致させています。
2つの項目が両方とも80点以上の場合に「合格」を表示する計算式
次の例は、「学科」フィールドと「実技」フィールドの点数が両方とも80点以上であれば「合格」を表示し、そうでなければ「再テスト」を表示する計算式です。
IF(AND(学科>=80,実技>=80),"合格","再テスト")
計算式は、文字列(1行)フィールドに設定します。文字列(1行)フィールドを配置し、「自動計算する」にチェックを付けて計算式を入力します。
2つの項目のうちどちらかが80点以上の場合に「合格」を表示する計算式
次の例は、「学科」フィールドと「実技」フィールドの点数のどちらかが80点以上であれば「合格」を表示し、そうでなければ「再テスト」を表示する計算式です。
IF(OR(学科>=80,実技>=80),"合格","再テスト")
計算式は、文字列(1行)フィールドに設定します。文字列(1行)フィールドを配置し、「自動計算する」にチェックを付けて計算式を入力します。
2つの項目の合計が160点以上でない場合に「再テスト」を表示する計算式
次の例は、「学科」フィールドと「実技」フィールドの点数の合計が160点以上でなければ「再テスト」を表示し、そうでなければ「合格」を表示する計算式です。
IF(NOT(学科+実技>=160),"再テスト","合格")
計算式は、文字列(1行)フィールドに設定します。文字列(1行)フィールドを配置し、「自動計算する」にチェックを付けて計算式を入力します。
在籍している社員の場合は在籍フラグとして「1」を表示する計算式
次の例は、「入社年月日」フィールドと「退職年月日」フィールドをもとに社員が在籍しているかどうかをチェックし、在籍している場合は在籍フラグとして「1」を表示する計算式です。
「入社日が未入力でない、かつ退職日が空白ならば『1』を表示、そうでなければ『0』を表示する」という計算式を設定します。
フィールドが未入力かどうかを条件にしたいため、「フィールドコード = ""」と指定します。
IF(AND(入社年月日!="",退職年月日=""),1,0)
計算結果を数値として扱いたい場合は、計算フィールドに計算式を設定します。計算結果を文字列として扱いたい場合は、文字列(1行)フィールドに計算式を設定します。
フィールドのデータ型については、「フィールドのデータ型」を参照してください。