ExcelのIF関数を複数条件で使いこなす!AND・OR・入れ子構文の書き方と実用例を徹底解説

Excelの「IF関数」は、条件に応じて処理を分けることができる便利な関数です。
しかし、実際の業務では「条件が1つだけ」では済まないケースが多くあります。
たとえば、「点数が80点以上で合格、60点以上80点未満で追試、それ未満は不合格」など、複数の条件を扱いたい場面です。

この記事では、IF関数を「複数条件」で使う方法をわかりやすく解説します。
AND関数・OR関数を組み合わせた書き方や、ネスト(入れ子)による複雑な条件分岐の作り方、そして実務に役立つ具体例まで紹介します。
初心者でも読めばすぐに応用できる内容ですので、ぜひ最後までご覧ください。


IF関数の基本構文をおさらい

まずはIF関数の基本形を確認しておきましょう。

=IF(論理式, 真の場合, 偽の場合)

この式は「条件を満たすなら〇〇、満たさないなら××」というシンプルな判断を行います。

例1:点数が60点以上なら「合格」、それ以外なら「不合格」

=IF(A1>=60,"合格","不合格")

ここでA1が60以上なら「合格」、それ以外なら「不合格」と表示されます。
このように、1つの条件であればIF関数は非常にシンプルです。


複数条件を扱うには?

現場では、1つの条件だけではなく複数の条件を組み合わせたい場面が多々あります。
そんなときに使うのが AND関数OR関数 との組み合わせ、または 入れ子(ネスト)構文 です。


AND関数と組み合わせて複数条件をすべて満たす場合

AND関数は「すべての条件を満たすときにTRUEを返す」関数です。
複数条件がすべて成立する場合に「真」と判定します。

構文

=IF(AND(条件1, 条件2), 真の場合, 偽の場合)

例2:点数が80点以上かつ出席率が90%以上なら「優秀」

=IF(AND(A1>=80,B1>=90),"優秀","該当せず")

この場合、どちらの条件も満たすと「優秀」と表示されます。
AND関数は「両方OKなら真」と覚えると理解しやすいです。


OR関数と組み合わせて複数条件のどれかを満たす場合

OR関数は「いずれかの条件を満たすとTRUEを返す」関数です。
複数条件のうち1つでも成立すれば「真」と判定します。

構文

=IF(OR(条件1, 条件2), 真の場合, 偽の場合)

例3:点数が80点以上または課題が提出済みなら「合格」

=IF(OR(A1>=80,B1="提出済"),"合格","不合格")

このように、どちらか1つでも条件を満たせば「合格」と判定されます。
営業データや出席判定など「どれか当てはまればOK」という場合に便利です。


IF関数を入れ子(ネスト)にして3つ以上の条件を判断する

「合格・追試・不合格」のように3段階以上の判定をしたい場合、IF関数を入れ子構造で書きます。

構文

=IF(条件1, 結果1, IF(条件2, 結果2, 結果3))

例4:80点以上なら「合格」、60点以上なら「追試」、それ以外は「不合格」

=IF(A1>=80,"合格",IF(A1>=60,"追試","不合格"))

このように、IF関数を中に入れ込むことで多段階判定が可能になります。
ただし、入れ子が増えると式が長くなり、可読性が低下するので注意が必要です。


SWITCH関数・IFS関数を使うとスッキリ書ける(Excel 2019以降)

Excel 2019以降では、複数の条件を判定する際に IFS関数SWITCH関数 が使えます。
これらを使うと入れ子のIF関数よりも見やすく、メンテナンスが容易です。

IFS関数の構文

=IFS(条件1, 結果1, 条件2, 結果2, 条件3, 結果3)

例5:点数による評価をIFSで判定

=IFS(A1>=80,"合格",A1>=60,"追試",TRUE,"不合格")

TRUEを最後に書くことで、どの条件にも当てはまらない場合の「デフォルト結果」を設定できます。
ネストが苦手な方にはこちらの書き方が断然おすすめです。


実務で使える複数IFの活用例

例6:営業成績による評価

売上金額評価
1,000,000円以上A
700,000円以上B
500,000円以上C
それ未満D

この場合は以下のように書けます。

=IF(A1>=1000000,"A",IF(A1>=700000,"B",IF(A1>=500000,"C","D")))

例7:勤怠データの自動判定

「出勤」「遅刻」「欠勤」を自動判定したい場合:

=IF(B1="出勤","〇",IF(B1="遅刻","△","×"))

例8:複数条件の給与加算

「基本給が30万円以上かつ勤続年数5年以上」の場合に「手当あり」

=IF(AND(A1>=300000,B1>=5),"手当あり","なし")

IF関数のネスト制限と注意点

昔のExcel(2007以前)ではIF関数の入れ子は最大7段までという制限がありました。
現在のExcel(2019やMicrosoft 365)では、最大64段までネスト可能です。
とはいえ、実務では読みやすさを優先し、IFS関数やVLOOKUP・XLOOKUPで代替するのが賢明です。

ポイント

  • 式が長くなりすぎると保守が困難
  • 一覧表を作り、VLOOKUPで判定する方がシンプル
  • ロジックが複雑な場合は「参照表+LOOKUP関数」の利用を検討

トラブル対処:うまく動かない時の確認ポイント

IF関数で意図した結果が出ないときは、次の3点をチェックしましょう。

  1. 比較演算子(=、>=、<=)が正しいか
  2. 文字列比較の際は「”」で囲まれているか
  3. セルのデータ型(数値か文字か)を確認する

例:=IF(A1=60,"合格","不合格") は、A1が文字列「60」だと判定されません。
その場合、VALUE関数などで数値に変換する必要があります。



まとめ:IF関数を自在に使えば業務が劇的に効率化する

IF関数は、Excelの中でも最も使われる条件分岐の関数です。
1つの条件だけでなく、AND・OR・入れ子・IFS関数などを活用することで、実務の自動化が一気に進みます。

  • AND関数:すべての条件を満たす場合
  • OR関数:どれか1つでも満たす場合
  • ネスト構文:段階的に条件分岐
  • IFS関数:見やすくシンプルに整理

最初は少し複雑に見えても、実際に自分のデータで試してみると、驚くほど理解が深まります。
ぜひこの記事を参考に、IF関数を自在に使いこなし、Excelでの業務効率をアップさせてください。

タイトルとURLをコピーしました