Excel IF関数のネスト(入れ子)について

ExcelのIF関数は、初心者の方には分かりづらいみたいです。特に、ネスト(入れ子)になっていると混乱するようですね。基本は、
IF関数基本1
条件満たしていたら→真の場合を返し満たしていなかったら→偽の場合を返す になります。
例えば、セルB2に下のような条件式を入れた場合、
IF関数基本2
セルA2の値が50より小さければ、条件が満たされ、B2には"B"という文字が表示され、
セルA2の値が50以上ならば、条件が満たされないので、B2には"A"という文字が表示されます。
IF関数基本3
上記の場合、セルB3~B5までは、セルB2の関数をオートフィルでコピーしています。なので、セルB3には IF(A3<50,"B","A") と式が入っています。A3の値は50で条件式を満たさないので、"A"という文字が表示されます。B4,B5も同様です。
真の場合、偽の場合 の場所には、文字だけでなく、関数や計算式も入れることが出来ます。なので、次は、偽の場合の所に、またIF関数を入れてみます。IF関数の中にまたIF関数が有るので、これをネスト(入れ子)といいます。
下図のExcelで、ランクのセルに、テストの点数が
 a.50点 未満は C
 b.50点以上、80点未満は B
 c.80点以上は A
と表示するとします。
IF関数ネスト用データ
①まず1回目、aの条件をいれる
 =IF(A2<50,"C",○ )
点数が50未満ならC となる。それ以外は○。
②2回目、○にbの条件を入れる
50点未満は①で対象外となっているので、○では50以上の数が対象となる。
なので、○には、80未満の条件をいれれば、Bには50以上80未満の数が対象となる。(50未満でなく且つ80未満の数)
=IF(A2<50,"C", IF(A2<80,"B",△))
△には残りの、80以上の数が入る。(50未満でなく且つ80未満でない数)
以上より、セルB2には
=IF(A2<50,"C",IF(A2<80,"B","A"))
を入力すればよい。(△にIF関数を入れれば、さらにランク分けすることもできます。)
IF関数ネスト1
B3以降は、B2をオートフィルすればよい。
IF関数ネスト2

関数を手入力すると、括弧の数が合わなくなることが有りますのでご注意。括弧が多くなると、括弧同士の相方がわからなくなってしまうことが有ります。括弧の関係(それぞれの相方)は、下の図で色分けしたようになります。
IF関数ネスト3
IFだけのネストなので、「関数の入力(fx)」ボタンを使用した方が分かりやすいかもしれません。その方法はExcel 関数の挿入ボタンの使用例を参照願います。
ただ、IFとANDとかのネストになると、わかりづらいと思いますので、関数を理解するためには、手入力をお勧めします。
なお、ネストの数は、Office2007からは64個まで、それ以前は7個までだそうです。(って、普通10以上もネストしないだろ!)


Office関連チップス一覧へ戻る

ツイート
このエントリーをはてなブックマークに追加
inserted by FC2 system