Excelの「IF関数」は、条件に応じて処理を分けることができる便利な関数です。
しかし、実際の業務では「条件が1つだけ」では済まないケースが多くあります。
たとえば、「点数が80点以上で合格、60点以上80点未満で追試、それ未満は不合格」など、複数の条件を扱いたい場面です。
この記事では、IF関数を「複数条件」で使う方法をわかりやすく解説します。
AND関数・OR関数を組み合わせた書き方や、ネスト(入れ子)による複雑な条件分岐の作り方、そして実務に役立つ具体例まで紹介します。
初心者でも読めばすぐに応用できる内容ですので、ぜひ最後までご覧ください。
まずはIF関数の基本形を確認しておきましょう。
=IF(論理式, 真の場合, 偽の場合)
この式は「条件を満たすなら〇〇、満たさないなら××」というシンプルな判断を行います。
=IF(A1>=60,"合格","不合格")
ここでA1が60以上なら「合格」、それ以外なら「不合格」と表示されます。
このように、1つの条件であればIF関数は非常にシンプルです。
現場では、1つの条件だけではなく複数の条件を組み合わせたい場面が多々あります。
そんなときに使うのが AND関数 や OR関数 との組み合わせ、または 入れ子(ネスト)構文 です。
AND関数は「すべての条件を満たすときにTRUEを返す」関数です。
複数条件がすべて成立する場合に「真」と判定します。
=IF(AND(条件1, 条件2), 真の場合, 偽の場合)
=IF(AND(A1>=80,B1>=90),"優秀","該当せず")
この場合、どちらの条件も満たすと「優秀」と表示されます。
AND関数は「両方OKなら真」と覚えると理解しやすいです。
OR関数は「いずれかの条件を満たすとTRUEを返す」関数です。
複数条件のうち1つでも成立すれば「真」と判定します。
=IF(OR(条件1, 条件2), 真の場合, 偽の場合)
=IF(OR(A1>=80,B1="提出済"),"合格","不合格")
このように、どちらか1つでも条件を満たせば「合格」と判定されます。
営業データや出席判定など「どれか当てはまればOK」という場合に便利です。
「合格・追試・不合格」のように3段階以上の判定をしたい場合、IF関数を入れ子構造で書きます。
=IF(条件1, 結果1, IF(条件2, 結果2, 結果3))
=IF(A1>=80,"合格",IF(A1>=60,"追試","不合格"))
このように、IF関数を中に入れ込むことで多段階判定が可能になります。
ただし、入れ子が増えると式が長くなり、可読性が低下するので注意が必要です。
Excel 2019以降では、複数の条件を判定する際に IFS関数 や SWITCH関数 が使えます。
これらを使うと入れ子のIF関数よりも見やすく、メンテナンスが容易です。
=IFS(条件1, 結果1, 条件2, 結果2, 条件3, 結果3)
=IFS(A1>=80,"合格",A1>=60,"追試",TRUE,"不合格")
TRUEを最後に書くことで、どの条件にも当てはまらない場合の「デフォルト結果」を設定できます。
ネストが苦手な方にはこちらの書き方が断然おすすめです。
| 売上金額 | 評価 |
|---|---|
| 1,000,000円以上 | A |
| 700,000円以上 | B |
| 500,000円以上 | C |
| それ未満 | D |
この場合は以下のように書けます。
=IF(A1>=1000000,"A",IF(A1>=700000,"B",IF(A1>=500000,"C","D")))
「出勤」「遅刻」「欠勤」を自動判定したい場合:
=IF(B1="出勤","〇",IF(B1="遅刻","△","×"))
「基本給が30万円以上かつ勤続年数5年以上」の場合に「手当あり」
=IF(AND(A1>=300000,B1>=5),"手当あり","なし")
昔のExcel(2007以前)ではIF関数の入れ子は最大7段までという制限がありました。
現在のExcel(2019やMicrosoft 365)では、最大64段までネスト可能です。
とはいえ、実務では読みやすさを優先し、IFS関数やVLOOKUP・XLOOKUPで代替するのが賢明です。
IF関数で意図した結果が出ないときは、次の3点をチェックしましょう。
例:=IF(A1=60,"合格","不合格") は、A1が文字列「60」だと判定されません。
その場合、VALUE関数などで数値に変換する必要があります。
IF関数は、Excelの中でも最も使われる条件分岐の関数です。
1つの条件だけでなく、AND・OR・入れ子・IFS関数などを活用することで、実務の自動化が一気に進みます。
最初は少し複雑に見えても、実際に自分のデータで試してみると、驚くほど理解が深まります。
ぜひこの記事を参考に、IF関数を自在に使いこなし、Excelでの業務効率をアップさせてください。