エクセル迷子案内所
← 学習記事一覧

IF関数の入れ子から卒業する5つの方法【パターン別に使い分け】

公開: 2026-05-17

Excelで複雑な条件判定を書こうとして、こんな数式になっていませんか?

=IF(A2<60,"不可",IF(A2<70,"可",IF(A2<80,"良",IF(A2<90,"優","秀"))))

IF関数を4重に入れ子にした数式が数式バーに表示されている。B2セルに「優」が入っている

読みにくい・直しにくい・括弧が合わない ── これが「IF入れ子地獄」です。

IFを入れ子にせず同じことをやる方法が、パターン別に 5つ あります。 場面に合わせて選べば、数式が一気に読みやすくなります。

この記事では、

「卒業の5つの選択肢」と「いつどれを使うか」

を、コピペで動く実例つきで紹介します。 これ以降、数式バーの括弧地獄とはお別れです。

💡 関連記事:


まずは使い分け早見表(30秒で全体像)

パターンおすすめの選択肢一言で
値の一致が3個以上(=1, =2, =3...)SWITCH一番スッキリ書ける
大小・範囲が混じる(<60, <70...)IFSIFの入れ子をそのまま並列に
候補が多い・将来増える可能性IFERROR + VLOOKUPマスタ表で管理
複数条件のAND/ORIF + 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,"秀")

After: 同じ判定を IFS で並列に書いた数式バー。条件と結果が交互に並んでフラットになった

「条件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,"緑", "他")

SWITCH関数で区分コード(A列)を色名(B列)に変換した数式バー

「対象セル, 値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), "その他")

左側のマスタ表(A:B列、黄色ハイライト)から、右側の入力(D列)に対応するエリア(E列)を VLOOKUP で引いている。マスタにない「北海道」は IFERROR で「その他」に置き換わっている

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")

A:売上差・B:利益差・C:重要顧客 から、D列の作業列で AND を計算し、E列で OR と組み合わせて最終判定を出している例

各列で「何を判定しているか」が明確になり、デバッグもしやすくなります。


卒業ルート⑤:ブール演算(中級向け)

最後は少し中級向け。条件式は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

3科目(国語・算数・英語)の点数からボーナス点を計算。70点以上の科目数 × 10点が D列に出ている

(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. IFSSWITCH が使えない(Excel 2016 以前)場合は?

A. その場合は ③ マスタ表 + VLOOKUP に逃がすのが一番安全です。IFS を多用するブックを古い環境で開くと #NAME? エラーになるので、配布前に確認してください。

Q. IFSTRUE を最後に書く意味は?

A. 「上のどれにも当てはまらない場合」のデフォルト値を返すためです。書かないと該当しないケースで #N/A が返ります。IF の「else」に相当する役割。

Q. ブール演算が読めない人にどう説明する?

A. 「(条件) を書くと、その答えが 1(はい)か 0(いいえ)として計算に使える」と伝えるのが分かりやすいです。「70点以上なら1、未満なら0。それに10を掛けたら…」と数値の動きを追ってもらうと納得感が出ます。

Q. 結局どれを覚えればいい?

A. まず IFSSWITCH の2つを覚えれば、IFの入れ子はほぼ消せます。それでも複雑になる場面で VLOOKUP のマスタ表方式を覚える、の順がおすすめです。

関連記事

それでも解決しないときは

記事の手順を試しても直らない場合、特定の構成だけで起きるレアケースかもしれません。対話で原因を1つずつ切り分けるのが最短です。

AI案内人に相談する(無料・登録不要)→