公開日:
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行目が「要対応」になります。
4. 迷ったら日本語の条件を書き出す
複数条件の式が難しく感じるのは、業務ルールを数式に置き換える順番が逆だからかもしれません。
- 「承認済かつ10万円以上」など、まず日本語で条件を書く。
- 「かつ」ならAND、「または」ならORに置き換える。
- 一致した場合としなかった場合に何を表示するか決める。
- 条件の境界値(ちょうど10万円など)も試す。
5. よくある間違い
- 文字列の引用符がない:
"承認済"のように文字列をダブルクォーテーションで囲みます。 - 比較演算子が違う:
>=100000は10万円を含みますが、>100000は含みません。 - 空欄の扱いを決めていない: 空欄は承認済でも未承認でもない可能性があります。必要なら別に判定します。
- 条件を複雑にしすぎた: 多段階の判定は、判定列を分けた方が後から確認しやすくなります。
IFは各行の判定結果を返す関数です。条件に一致する件数を数えたい場合は、COUNTIFSで複数条件を集計する方法を使います。
操作画面や名称は、Excelのバージョンによって異なる場合があります。
