よねさんのWordとExcelの小部屋|Excel(エクセル)講座の総目次|Excel(エクセル)関数の技|IF関数のネスト(入れ子)の方法
IF関数の入れ子の制限 topへ
- Excel2003以前では最大7個となっていましたが、Excel2007,Excel2010では64個となっています。
- IF関数で多くの条件を使うことが可能にはなったのですが、数式の可読性が悪くなります。
多くの条件で分けたい場合は、リストを作成するなどしてLOOKUP関数、VLOOKUP関数、HLOOKUP関数を使うことをお勧めします。
IF関数の入れ子の作り方 topへ
- ネスト(入れ子)の一例としては以下のような数式が挙げられます。
=IF(論理式1, [真の場合1], IF(論理式2, [真の場合2], IF(論理式3, [真の場合3], [偽の場合3])))
つまり、[偽の場合]の部分に次の条件を入れて処理していきます。
- 逆に真の場合に入れることもできますが、ちょっと理解しづらいかもしれません。
練習1
- 得点が0以上30以下は×、60以下は△、60を超え100以下は○と評価することにします。
|
B |
C |
D |
| 2 |
名前 |
得点 |
評価 |
| 3 |
井上 |
80 |
○ |
| 4 |
上野 |
54 |
△ |
| 5 |
内田 |
30 |
× |
| 6 |
榎田 |
15 |
× |
| 7 |
岡本 |
77 |
○ |
| 8 |
大野 |
91 |
○ |
- 条件の付け方によって数式はいろいろなものができます。
- ここでは、得点の低い方から順番に処理してみます。
- 30点以下は×とすると、以下のようになります。
=IF(C3<=30,"×",偽の場合)
- 次に60点以下は△とします。「偽の場合」の部分に書きます。
=IF(C3<=30,"×",IF(C3<=60,"△",偽の場合))
となり、ここで偽となるのは60を超える得点ですので、「60を超え100以下は○」を入れることになり、
=IF(C3<=30,"×",IF(C3<=60,"△","○"))
で、完成です。
- 得点が未入力(C列が未入力)の場合があると、×となりますので、その処理を加えます。
未入力の場合は30以下に含まれてしまいますので、一番最初に書いて処理する必要があります。
=IF(C3="","",IF(C3<=30,"×",IF(C3<=60,"△","○")))
となります。
- では、得点の大きい方から処理するケースは?
- 今回は、空白の処理から始めます。
=IF(C3="","",偽の場合)
- 60を超えたら○としますので、
=IF(C3="","",IF(C3>60,"○",偽の場合))
- 30を超えたら△とします。
=IF(C3="","",IF(C3>60,"○",IF(C3>30,"△",偽の場合))
これらの条件に当てはまらないのは×となりますので、
=IF(C3="","",IF(C3>60,"○",IF(C3>30,"△","×"))
となります。
- なお、空白の処理を最後に持ってくると、以下のように書くこともできます。
=IF(C3>60,"○",IF(C3>30,"△",IF(C3="","","×")))
- 各区分ごとに判定すると考えると・・・
- 各区分の条件は
0以上30以下:AND(C3>=0,C3<=30)
30を超えて60以下:AND(C3>30,C3<=60)
60を超えて100以下:AND(C3>60,C3<=100)
と書くことができますので、これをIF関数に入れ込みます。
- すると、
=IF(AND(C3>=0,C3<=30),"×",IF(AND(C3>30,C3<=60),"△",IF(AND(C3>60,C3<=100),"○","")))
のようになります。
このケースでは順序が変わっても問題はなく、
=IF(AND(C3>30,C3<=60),"△",IF(AND(C3>=0,C3<=30),"×",IF(AND(C3>60,C3<=100),"○","")))
としても結果は同じですが、解読がしずらいので順番に書いた方がよろしいかと思います。
- 上記A〜Cとは異なった考え方
- =IF(C3<>"",IF(C3<=60,IF(C3<=30,"×","△"),"○"),"")
といった数式にすることもできます。
しかし、このように[真の場合]に入れ子としていくのは、ちょっと理解しづらいかもしれません。
- 上記のように、どのような条件にするのか、その着目するところによってさまざまな数式が作成できます。
分かりやすいのは、大きい方または小さい方から順次処理していく方法だと思います。
よねさんのWordとExcelの小部屋|Excel(エクセル)講座の総目次|Excel(エクセル)関数の技:目次|IF関数のネスト(入れ子)の方法
PageViewCounter

Since2006/2/27