月次の集計表を作っていたときのことです。
売上区分ごとに金額を分ける必要があり、最初はシンプルなIF関数で対応しました。
=IF(A2="A",100,0)
[IF関数の基本]はこれだけです。条件に応じて値を出し分けるだけの、シンプルな関数のはずでした。

ところが、翌月から条件が増えます。
「Bも追加で」「Cの場合は別単価で」「特定の得意先は例外処理して」
そのたびにIFを足していきました。気づけば式はこうなっていました。
=IF(A2="A",100,
IF(A2="B",200,
IF(A2="C",300,
IF(A2="D",400,
IF(A2="E",500,0)))))
スクロールしないと全体が見えません。
数週間後、修正依頼が来ます。「Cの金額だけ変更して」
どこを直せばいいのか一瞬で分からない。怖くて触れない。下手に触ると全部壊れそう。
さらに問題なのは、自分以外が触れないことです。引き継ぎのとき、こう言われます。
「この式、複雑すぎて分かりません。」
IF関数そのものが悪いわけではありません。問題は、”1つのセルに全部を書いたこと”です。ネストが増えた時点で、設計を見直すサインが出ています。今回は、なぜネストが増えていくのか、そしてどう分解すれば「読めるExcel」に戻せるのかを、実際の失敗パターンとあわせて整理していきます。
なぜネストは増え続けるのか
IF関数が複雑になるのは、技術不足が原因ではありません。原因はシンプルです。
「とりあえず今動けばいい」で足していくから。
最初は1条件。次に例外処理。さらに特別対応。そのたびに、
「今の式の外側にIFを追加すればいいか」
と足していく。結果、横に長い式が完成します。しかしこのやり方には問題があります。
- どこからどこまでが1セットか分かりにくい
- カッコの対応が見づらい
- 修正時に壊れやすい
- 他人が読めない
つまり、”保守できない式”になります。Excelは「動けばOK」ではありません。“修正できるかどうか”が実務では重要です。
これは実は、条件付き集計に使うCOUNTIFやSUMIFでも同じことが起こります。条件を後から後から足していった結果、どの条件がどの列を見ているのか分からなくなる、というのは、IFのネストと根っこは同じ問題です。
もう一つ厄介なのが、ネストが増えるタイミングは、たいてい「忙しいとき」だということです。締め切りが迫っているときに「あ、この条件も追加して」と言われると、式全体を見直す時間はなく、とりあえず外側にIFを1個足して終わらせる、という判断をしがちです。その場では正解に見えるこの判断が、数ヶ月後の自分や、後任の担当者を苦しめることになります。
よくある失敗パターン
典型的なのがこの形です。
=IF(A2="A",100,
IF(A2="B",200,
IF(A2="C",300,
IF(A2="D",400,
IF(A2="E",500,0)))))
一見すると問題なさそうに見えます。しかし、例えば「Cだけ単価を350に変更」と言われた場合、どこを直すのか探す必要があります。
さらに条件が10個、15個と増えたらどうなるか。スクロール必須。目視確認困難。修正ミスのリスク増大。
ネストが3段を超えたら、それは”設計見直しのサイン”です。1セル完結を疑ってください。
実際にこの式を修正する場面を想像してみてください。「Cだけ単価を350円に変更」と言われたら、あなたはまず何をしますか。おそらく、式全体を目で追いながら「A2=”C”」という条件を探し、その直後の数値だけを慎重に書き換えることになるはずです。1箇所だけならまだしも、同じような式が別のシートや別の列にもコピーされていた場合、そのすべてを探して直す必要が出てきます。1つの表計算ソフトの中に、同じロジックが何ヶ所にも散らばっている状態は、修正漏れの温床になります。1セル完結は危険?読めないExcelになる原因については、以前の記事でも詳しく取り上げていますので、あわせて確認してみてください。

解決策:分解する
一番簡単な解決策は、分解です。1つのセルで完結させない。
「分解する」と言われても、最初はピンとこないかもしれません。ポイントは、「条件を判定する部分」と「その条件に応じた値を決める部分」を、同じセルの中で一気に済ませようとしないことです。役割を分けてあげるだけで、1つ1つの式は驚くほどシンプルになります。
例えば次のようにします。
① 別表を作る

② VLOOKUPで参照
=VLOOKUP(A2, F2:G6, 2, FALSE)
これでネストは消えます。条件が増えても、式は変えずに「表を追加」するだけ。これが実務で強い設計です。<!– 内部リンク③:ここに関数の使い方シリーズ④へのリンクを設置。リンク先→https://www.excel-laboratory.online/vlookupkansu//アンカーテキスト「VLOOKUP関数の基本と注意点」 –>なお、VLOOKUP関数の基本と注意点については、以前の記事でくわしく解説していますので、この方法を試す際はあわせて読んでおくと安心です。とくに、検索方法の引数をFALSEにし忘れると、ここでも思わぬ値を拾ってしまうことがあるため、注意しておきたいポイントです。
IFS関数という選択肢
Excelには、IFのネストを1つの関数でまとめて書ける「IFS関数」もあります。
=IFS(A2="A",100, A2="B",200, A2="C",300, A2="D",400, A2="E",500)
カッコの入れ子がなくなるぶん、通常のIFのネストよりは見やすくなります。ただし、これはあくまで「書き方が整理される」だけで、条件の数そのものが減るわけではありません。条件が数個程度であればIFSでも十分読みやすいのですが、条件が10個、20個と増えていくと、結局は横に長い式になってしまい、根本的な解決にはなりません。条件の数が増える見込みがあるなら、最初から別表とVLOOKUPで管理する方針を選んでおいたほうが、後々のメンテナンスは楽になります。
似た関数に「SWITCH関数」もあります。
=SWITCH(A2,"A",100,"B",200,"C",300,"D",400,"E",500)
こちらは「1つの値が、どのケースに当てはまるか」を判定する場合に使いやすい関数です。IFSが「複数の条件式」を並べるのに対して、SWITCHは「1つの対象を複数の候補と比較する」という書き方になるため、今回のような「A・B・C…という区分ごとに単価を変える」というケースでは、SWITCHのほうがすっきり書けることもあります。とはいえ、これも条件が増えてくると読みにくくなるという点は、IFSと同じです。
途中セルを使う方法を、もう少し具体的に
「途中セルを使う」というのは、たとえば次のようなイメージです。
- B列:区分判定(「A」なら”通常”、「B」〜「D」なら”特別”、それ以外は”例外” など)
- C列:区分に応じた単価をVLOOKUPやIFで決定
- D列:数量をかけて最終的な金額を計算
1つの式にすべてを詰め込むのではなく、判定・単価決定・計算という3つの役割を、それぞれ別の列に分けて書きます。1つ1つの式はとてもシンプルになるので、後から見返したときに「どこで何をしているか」がすぐに分かります。作業列が増えることに抵抗があるかもしれませんが、列を非表示にしておけば見た目はすっきりしたままですし、何より「修正できるExcel」であることのほうが、実務では価値があります。
実務で覚えておきたい基準
ネストは3段まで。4段目に入ったら、
「表で管理できないか?」「分解できないか?」
と自分に問いかける。IFが悪いのではありません。設計を後回しにすることが、ネスト地獄の正体です。
条件分岐が複雑になりそうだと感じたら、最初から「別表+VLOOKUP」で組むのか、「途中セルで役割を分ける」のか、どちらの方針で進めるかを決めてから式を作り始めると、後から慌てて分解し直す手間を減らせます。
とはいえ、「じゃあ具体的にどの時点で見直せばいいのか」というのは、実際に手を動かしていると意外と判断に迷うところです。次の項目に心当たりがあれば、それは分解を検討するタイミングのサインです。
チェックリスト:この式、分解したほうがいいサイン
- IF関数が3段以上ネストしている
- 数式バーがセルの中に収まらず、スクロールしないと全体を確認できない
- 「この条件、どこに書いたっけ」と自分でも探すことがある
- 条件を1つ追加・変更するたびに、カッコの対応を数え直している
- 自分以外の人が見たときに、式の意味をすぐに説明できる自信がない
- 条件の種類が、今後さらに増える見込みがある
このうち1つでも当てはまるなら、無理に1つのセルに詰め込み続けるのではなく、別表やVLOOKUP、あるいは途中セルを使った分解を検討するタイミングです。逆に言えば、条件が2〜3個程度で今後も増える見込みがないのであれば、無理に分解する必要はありません。すべての式を分解することが目的ではなく、「あとから自分や他の人が読めるかどうか」を基準に判断することが大切です。
まとめ
IF関数が読めなくなる原因は、
- 条件を足し続ける
- 1セル完結にこだわる
- 設計を見直さない
この3つです。解決策はシンプルです。迷ったら分解する。別表とVLOOKUPで管理する、途中セルで役割を分ける、あるいはIFSやSWITCHで書き方だけでも整理する。どの方法を選ぶにしても、大事なのは「今、動けばいい」で終わらせずに、「半年後の自分や、引き継ぐ人が読めるかどうか」まで想像しておくことです。
これだけで、”触れないExcel”から”直せるExcel”に変わります。ネストが増えてきたと感じたら、まずは今回のチェックリストに照らし合わせて、どこか1箇所からでも分解を試してみてください。一度コツをつかんでしまえば、次に複雑な条件分岐が必要になったときも、迷わず正しい設計を選べるようになります。
関数の使い方シリーズや実務トラブル解決シリーズでは、他の関数についても実務目線で整理していますので、あわせてご覧ください。


コメント