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

記事番号:040496

AND関数、OR関数、NOT関数を使うと、複数の条件が満たされているかどうかを判定できます。
また、判定した結果をIF関数と組み合わせて利用できます。

関数の構文

AND関数は、すべての条件式が真のときは真を返します。それ以外のときは偽を返します。

コピーされました
AND(条件式1,条件式2, ...)

OR関数は、いずれかの条件式が真のときは真を返します。すべての条件式が偽のときは偽を返します。

コピーされました
OR(条件式1,条件式2, ...)

NOT関数は、条件式が偽のときは真を返します。条件式が真のときは偽を返します。

コピーされました
NOT(条件式1)

条件式で使用できる演算子

条件式では以下の演算子が利用できます。

  • =
  • !=
  • <>
  • <
  • <=
  • >
  • >=

数値型のフィールド(数値フィールドなど)を比較する場合は、上記の演算子がすべて利用できます。
文字列型のフィールド(文字列(1行)フィールドなど)を比較する場合は、「=」「!=」「<>」のみが利用できます。

フィールドのデータ型については、「フィールドのデータ型」を参照してください。

計算式の例

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

2つの項目が両方とも80点以上の場合に「合格」を表示する計算式

次の例は、「学科」フィールドと「実技」フィールドの点数が両方とも80点以上であれば「合格」を表示し、そうでなければ「再テスト」を表示する計算式です。

コピーされました
IF(AND(学科>=80,実技>=80),"合格","再テスト")

スクリーンショット:「学科」フィールドと「実技」フィールドが両方80点以上のため、「合格」が自動で表示されている

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

2つの項目のうちどちらかが80点以上の場合に「合格」を表示する計算式

次の例は、「学科」フィールドと「実技」フィールドの点数のどちらかが80点以上であれば「合格」を表示し、そうでなければ「再テスト」を表示する計算式です。

コピーされました
IF(OR(学科>=80,実技>=80),"合格","再テスト")

スクリーンショット:「学科」フィールドが80点以上のため、「合格」が自動で表示されている

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

2つの項目の合計が160点以上でない場合に「再テスト」を表示する計算式

次の例は、「学科」フィールドと「実技」フィールドの点数の合計が160点以上でなければ「再テスト」を表示し、そうでなければ「合格」を表示する計算式です。

コピーされました
IF(NOT(学科+実技>=160),"再テスト","合格")

スクリーンショット:「学科」フィールドと「実技」フィールドの合計点数が160点に満たないため「再テスト」が自動で表示されている

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

在籍している社員の場合は在籍フラグとして「1」を表示する計算式

次の例は、「入社年月日」フィールドと「退職年月日」フィールドをもとに社員が在籍しているかどうかをチェックし、在籍している場合は在籍フラグとして「1」を表示する計算式です。

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

コピーされました
IF(AND(入社年月日!="",退職年月日=""),1,0)

スクリーンショット:「入社年月日」フィールドのみ記入されているため在籍フラグに「1」が自動で表示されている

計算結果を数値として扱いたい場合は、計算フィールドに計算式を設定します。計算結果を文字列として扱いたい場合は、文字列(1行)フィールドに計算式を設定します。
フィールドのデータ型については、「フィールドのデータ型」を参照してください。