Home > 即効テクニック > Excel 一般 > 数式と関数関連のテクニック > 8レベル以上ネストさせてIF関数を使う

即効テクニック

数式と関数関連のテクニック

8レベル以上ネストさせてIF関数を使う

(Excel 97/2000)
EXCELでは、関数のネスト(関数の中に関数を利用する)レベルは、7レベルまでが限界です。従って、IF関数で条件に応じて異なる結果を返す数式を作成する場合にも、8個以上の場合分けはできない、ということになります。

このような場合には場合分けの条件とその条件における結果をテーブルとして作成し、VLOOKUP関数などで検索する、という方法を使ってみてください。

仮に7レベル以内に収まる条件であっても深くネストした関数は理解しにくく、メンテナンスが容易でない、という短所もあります。

例えば、数値を決まった基準で幾つかの階級に分類したい場合、

=IF(A2<100,"0-99",IF(A2<200,"100-199",IF(A2<300,"200-299",
IF(A2<400,"300-399",IF(A2<500,"400-499",IF(A2<600,"500-599",
IF(A2<700,"600-699",IF(A2<800,"700-799"))))))))

このような数式は、一見しただけではなかなか理解できません。

一方、条件のテーブルを利用した方法では、数式の理解は容易です。

=VLOOKUP(A2,$E$2:$F$12,2)

また、条件の設定値が変更された場合においても、変更するのは条件のテーブルの方だけでよい、ということで、メンテナンスもしやすくなります。