公開日:

Excel IF関数で複数条件を判定する方法|AND・ORを実例で比較

「承認済みで、かつ10万円以上なら確認対象」「未提出か差戻しなら要対応」。こんな業務ルールをExcelの表に反映したいときは、IF関数とAND・OR関数を組み合わせると便利です。

まず結論: 条件をすべて満たす必要があるならAND、条件を1つでも満たせばよいならORを使います。IF関数はその判定結果に応じて表示する文字を切り替えます。

1. IF関数の基本形

IF関数の構造は次のとおりです。

=IF(条件,条件に一致した場合,一致しなかった場合)

たとえば金額が10万円以上なら「確認対象」と表示する場合は、=IF(C2>=100000,"確認対象","対象外")です。

ただし、承認状態も確認したいなら条件を増やす必要があります。

2. AND:両方の条件を満たしたときだけ

次の申請一覧を考えます。B列が承認状態、C列が金額、D列が書類状態です。

行 B列:承認状態 C列:金額 D列:書類状態
2 承認済 120,000 提出済
3 未承認 200,000 未提出
4 承認済 60,000 差戻し

「承認済、かつ10万円以上」の場合だけ確認対象にする式は次のとおりです。

=IF(AND(B2="承認済",C2>=100000),"確認対象","対象外")

この例では2行目だけが「確認対象」になります。

3. OR:どちらかに当てはまればよいとき

「書類が未提出、または差戻しなら要対応」の場合は次の式です。

=IF(OR(D2="未提出",D2="差戻し"),"要対応","通常")

3行目と4行目が「要対応」になります。

ANDとORの判定結果比較
説明用の概念図です。Office等の実画面ではありません。図は左右にスクロールできます。図を原寸で開く

4. 迷ったら日本語の条件を書き出す

複数条件の式が難しく感じるのは、業務ルールを数式に置き換える順番が逆だからかもしれません。

  1. 「承認済かつ10万円以上」など、まず日本語で条件を書く。
  2. 「かつ」ならAND、「または」ならORに置き換える。
  3. 一致した場合としなかった場合に何を表示するか決める。
  4. 条件の境界値(ちょうど10万円など)も試す。
申請条件をIF関数に置き換える流れ
説明用の概念図です。Office等の実画面ではありません。図は左右にスクロールできます。図を原寸で開く

5. よくある間違い

  • 文字列の引用符がない: "承認済"のように文字列をダブルクォーテーションで囲みます。
  • 比較演算子が違う: >=100000は10万円を含みますが、>100000は含みません。
  • 空欄の扱いを決めていない: 空欄は承認済でも未承認でもない可能性があります。必要なら別に判定します。
  • 条件を複雑にしすぎた: 多段階の判定は、判定列を分けた方が後から確認しやすくなります。

IFは各行の判定結果を返す関数です。条件に一致する件数を数えたい場合は、COUNTIFSで複数条件を集計する方法を使います。

参考: Microsoft サポート:IF と AND・OR・NOT 関数を使用する

操作画面や名称は、Excelのバージョンによって異なる場合があります。