IF関数の入れ子から卒業する5つの方法【パターン別に使い分け】
Excelで複雑な条件判定を書こうとして、こんな数式になっていませんか?
=IF(A2<60,"不可",IF(A2<70,"可",IF(A2<80,"良",IF(A2<90,"優","秀"))))

読みにくい・直しにくい・括弧が合わない ── これが「IF入れ子地獄」です。
IFを入れ子にせず同じことをやる方法が、パターン別に 5つ あります。 場面に合わせて選べば、数式が一気に読みやすくなります。
この記事では、
「卒業の5つの選択肢」と「いつどれを使うか」
を、コピペで動く実例つきで紹介します。 これ以降、数式バーの括弧地獄とはお別れです。
💡 関連記事:
- IFERROR の使い方と落とし穴 ← VLOOKUPと組み合わせる時に必読
- VLOOKUPで#N/Aが出る5つの原因と解決法 ← 卒業ルート③でも再登場
- Excelの主要エラー6種【症状→原因→解決の早見表】 ←
#NAME?等の切り分けに
まずは使い分け早見表(30秒で全体像)
| パターン | おすすめの選択肢 | 一言で |
|---|---|---|
| 値の一致が3個以上(=1, =2, =3...) | SWITCH | 一番スッキリ書ける |
| 大小・範囲が混じる(<60, <70...) | IFS | IFの入れ子をそのまま並列に |
| 候補が多い・将来増える可能性 | IFERROR + VLOOKUP | マスタ表で管理 |
| 複数条件のAND/OR | IF + AND / OR | 条件をまとめて評価 |
| 数値計算で条件を繋げたい | ブール演算 | 中級向け・式が短くなる |
💡 まず覚えるなら SWITCH / IFS / VLOOKUP の3つ。これだけで入れ子はほぼ卒業できます。
卒業ルート①:IFS で並列に書く
最も汎用的な「IF入れ子卒業ツール」が IFS 関数です(Excel 2019 / Microsoft 365)。
使う場面
- 値の範囲で判定したい(成績判定、ランク分けなど)
- 「もし〜なら、そうでなくもし〜なら」を素直に並べたい
Before(IF入れ子)
=IF(A2<60,"不可",IF(A2<70,"可",IF(A2<80,"良",IF(A2<90,"優","秀"))))
冒頭で見せた「IF入れ子地獄」の数式そのものです。これを IFS に書き換えると、こうなります。
After(IFS)
=IFS(A2<60,"不可", A2<70,"可", A2<80,"良", A2<90,"優", TRUE,"秀")

「条件1, 値1, 条件2, 値2, ..., TRUE, デフォルト値」の順で並べるだけ。
最後の TRUE は「どれにも当てはまらないとき」のデフォルト として使います。書かないと該当外で #N/A が返るので注意。
📌 ポイント: 上から順に評価されるので、広い条件は後ろ に書きます。
A2<60を一番後ろに置くと全部「不可」になってしまうので注意。
ハマりやすい点
- Excel 2016 以前には
IFSがありません。配布先の環境を必ず確認してください。
卒業ルート②:SWITCH で値の一致だけを判定
値が「ぴったり一致するかどうか」だけを見たいときは SWITCH が一番きれいに書けます(Excel 2019 / Microsoft 365)。
使う場面
- 区分コードを名前に変換
- フラグ値(1, 2, 3)から表示名を引く
- 大小判定ではなく 「=」だけ で判定したい
Before(IF入れ子)
=IF(A2=1,"赤",IF(A2=2,"青",IF(A2=3,"緑","他")))
After(SWITCH)
=SWITCH(A2, 1,"赤", 2,"青", 3,"緑", "他")

「対象セル, 値1, 結果1, 値2, 結果2, ..., デフォルト」の順。
最後の引数がデフォルト値(IFS の TRUE の代わり)になります。
📌 ポイント:
SWITCHは 「=」の判定しかできません。 「A2 < 60」のような大小比較を入れたい場合はIFSを使ってください。
IFS との使い分け
- 一致だけで判定 → SWITCH(書く文字数が短い)
- 範囲・大小が混じる → IFS
卒業ルート③:IFERROR + VLOOKUP でマスタ表に逃がす
「区分が10個ある」「将来増えるかもしれない」── そんなときは数式に書かず、別表のマスタで管理する のが正解です。
使う場面
- 区分が5個以上ある
- 将来追加・変更が起きそう
- 担当者ごとに値を変えたい(数式は触らず表だけ更新したい)
Before(IF入れ子)
=IF(A2="東京","関東",IF(A2="神奈川","関東",IF(A2="大阪","関西",IF(A2="京都","関西","その他"))))
→ 都道府県が増えるたびに数式を書き換える地獄。
After(マスタ表 + VLOOKUP)
別表(または別シート)にマスタを作ります。
=IFERROR(VLOOKUP(D2, A2:B5, 2, FALSE), "その他")

IFERROR で #N/A(=マスタにない)を「その他」に振り替えています。
📌 ポイント: マスタ表を別シートに分けると、条件が増えても表に追記するだけ で済みます。数式を触らないので壊しにくいのも利点です。
XLOOKUP も使えます
Microsoft 365 / Excel 2021 以降なら XLOOKUP の方がシンプル:
=XLOOKUP(D2, A2:A5, B2:B5, "その他")
IFERROR でラップしなくても、第4引数に「見つからない時の値」を直接書けます。
💡 関連: VLOOKUP の
#N/Aの切り分けは 専用記事 を参考にどうぞ。検索列が左端にないマスタ表なら INDEX+MATCH で引くのも手です。
卒業ルート④:IF + AND / OR で複数条件をまとめる
「A かつ B」「A または B」のような 複数条件のAND / OR をIFの入れ子で書こうとすると、一気に読めなくなります。AND / OR 関数でまとめましょう。
使う場面
- 複数の条件を 同時に満たす ことを判定
- 複数の条件の どれか1つでも 満たすことを判定
Before(IF入れ子)
=IF(A2>0, IF(B2>0, "OK", "NG"), "NG")
「A2 も B2 も 0 より大きい時だけ OK」を入れ子で書いた例。
After(IF + AND)
=IF(AND(A2>0, B2>0), "OK", "NG")
OR の場合も同じです:
=IF(OR(A2="土", A2="日"), "休日", "平日")
📌 ポイント:
AND/ORは 引数をいくつでも追加できます。=IF(AND(A2>0, B2>0, C2>0, D2>0), "全部プラス", "ダメ")
3つ以上の判定が混ざるとき
「(AかつB) またはC」のような複合条件も書けます:
=IF(OR(AND(A2>0, B2>0), C2=TRUE), "OK", "NG")
ただし、ここまで来ると読みにくいので、作業列を作って段階的に判定する 方が現実的です。
例えば「売上と利益が両方プラス、または重要顧客なら OK」を判定したい場合:
- D列に作業列として
=AND(A2>0, B2>0)(基本判定) - E列に最終判定として
=IF(OR(D2, C2=TRUE), "OK", "NG")

各列で「何を判定しているか」が明確になり、デバッグもしやすくなります。
卒業ルート⑤:ブール演算(中級向け)
最後は少し中級向け。条件式はExcel内部で TRUE / FALSE として扱われ、計算では 1 / 0 として動きます。これを利用するとIFを消せます。
使う場面
- 数値計算の途中に「条件に応じて値を変える」処理を入れたい
- IFの入れ子が深すぎて辛い
例:3科目で70点以上ならボーナス10点
3科目それぞれが70点以上なら10点ずつボーナス、という採点ロジック。
Before
=IF(A2>=70,10,0) + IF(B2>=70,10,0) + IF(C2>=70,10,0)
After(ブール演算)
=(A2>=70)*10 + (B2>=70)*10 + (C2>=70)*10

(A2>=70) は TRUE(=1)または FALSE(=0)。それに10を掛けるので、条件を満たす時だけ10が足される、という仕組みです。
A2=85(70以上), B2=60(70未満), C2=80(70以上)なら、1*10 + 0*10 + 1*10 = 20 点。
📌 ポイント: ブール演算は強力ですが、読み慣れない人には何をやっているか伝わりません。 チームで共有する数式の場合は、コメント機能(数式の隣のセルに説明)を併用するか、
IFで素直に書く方が親切な場合もあります。
使い分けフローチャート
迷ったらこの順で判定してください。
まとめチェックリスト
- 値の一致だけ判定 →
SWITCHを使う - 範囲・大小判定 →
IFSを使う - 候補が多い/将来増える → マスタ表 +
VLOOKUPまたはXLOOKUP - 「かつ」「または」 →
AND/ORでIFをまとめる - 数値計算と条件を融合 → ブール演算(中級)
- 広い条件を後ろに書く(IFSの罠を避ける)
-
IFS/SWITCHは Excel 2019 以降(配布先の環境を確認)
IFの入れ子は、初心者から中級者にステップアップするときによくぶつかる場面です。 この5つの選択肢を持っておけば、「どの道具を選ぶか」 を考えるだけで済むようになります。
よくある質問
Q. IFS や SWITCH が使えない(Excel 2016 以前)場合は?
A. その場合は ③ マスタ表 + VLOOKUP に逃がすのが一番安全です。IFS を多用するブックを古い環境で開くと #NAME? エラーになるので、配布前に確認してください。
Q. IFS で TRUE を最後に書く意味は?
A. 「上のどれにも当てはまらない場合」のデフォルト値を返すためです。書かないと該当しないケースで #N/A が返ります。IF の「else」に相当する役割。
Q. ブール演算が読めない人にどう説明する?
A. 「(条件) を書くと、その答えが 1(はい)か 0(いいえ)として計算に使える」と伝えるのが分かりやすいです。「70点以上なら1、未満なら0。それに10を掛けたら…」と数値の動きを追ってもらうと納得感が出ます。
Q. 結局どれを覚えればいい?
A. まず IFS と SWITCH の2つを覚えれば、IFの入れ子はほぼ消せます。それでも複雑になる場面で VLOOKUP のマスタ表方式を覚える、の順がおすすめです。
関連記事
- ピボットテーブルが思いどおりに集計できない【合計・個数・比率・更新を症状別に】
- Excelマクロ(VBA)が動かない・エラーが出るときの原因切り分け【症状別】
- 数式が計算されない・=SUMがそのまま表示される【3つの原因で切り分け】
- 絶対参照と相対参照の使い分け【$ と F4 キーで数式コピーがズレない】
- COUNTIF / COUNTIFS が動かない6つの原因と解決法【上から順に試せばOK】
- Excelショートカット厳選20選【明日から作業が倍速になる】
- INDEX+MATCH で VLOOKUP の弱点を克服する4つの場面【コピペで使える】
- SUMIF / SUMIFS が動かない6つの原因と解決法【上から順に試せばOK】
- IFERROR の使い方と落とし穴【エラーを隠す前に読む完全ガイド】
- Excelの主要エラー6種【症状→原因→解決の早見表】
- VLOOKUPで#N/Aが出る5つの原因と解決法【上から順に試せばOK】