この記事は、ExcelのIF関数で複数条件を設定する方法について書いています。
エクセルで「条件に応じて指定した結果を表示させたい」と言うときに使うのが「IF関数」というやつです。
これを複数の条件に対応させたい!という時は「入れ子(ネスト)構造」にする必要があります。
これが最初はわかりにくいと思うので、図解してみようと思います。
IF関数の複数条件を設定する入れ子(ネスト)構造
ここでは以下の3つの順に解説します。
- IF関数の基本系
- 論理式の書き方
- 入れ子(ネスト)構造の図説
では一つずつみていきましょう。
IF関数の基本系
IF関数の基本的な形は以下の通りです。
=IF(論理式, 真の値, 偽の値)
たとえば、テストで90点以上なら「GOOD」、それより低い点数なら「BAD」と表示される、2択の条件分岐をするIF関数をつくるとこのようになります。
=IF(X>= 90, “GOOD”, “BAD”)
Xが90以上だった場合は論理式に合致しているので真の値=”GOOD”が表示され、Xが90より小さい場合は偽の値=”BAD”が表示されます。
これを基本系として覚えましょう。
論理式の書き方
さて、先ほどの論理式はX>=90でした。この「>=」は「以上」ということを意味し比較演算子と言います。
他には以下のように表記することができます。
- 「<=」で“以下”
- 「>」で“より大きい”(一致は含まない)
- 「<」で“より”小さい”(一致は含まない)
- 「=」で”等しい”
- 「<>」で“異なる”
入れ子(ネスト)構造の図説
基本系では2択の条件式でしたが、複数条件の式を見てみましょう。
=IF(論理式, 真の値, IF(論理式, 真の値, 偽の値))
これは一つ目のIF関数の「偽の値」の中にIF関数が入っている形です。
先ほどのテストの点数の例に当てはめるとこのようになります。
=IF(X >= 90, “GOOD”, IF(X >= 80, “SOSO”, “BAD”))
これはXが90以上なら“GOOD”、Xが90より小さければIF(X >= 80, “SOSO”, “BAD”)の条件式に当てはめなさいということです。
この場合、Xが85なら2つ目のIF関数の論理式「X>=80」の条件をクリアしているので“SOSO”になります。
同じように70点以上なら…60点以上なら…と、偽の値にIF関数を入れていくことができます。
関数の組み合わせで論理式を便利にする
論理式ですが、上記の場合は一つのIF関数の中で対象とする数字が一つでした。
しかし、同時に2つ以上の条件を設定することも可能です。
ここでは以下の2つの関数を紹介します。
- AND関数
- OR関数
AND関数
=AND(論理式1,論理式2,…)
例)
=AND(X=10, Y=20)
この場合、Xが10かつYが20の場合は「TRUE」つまりIF関数の論理式に入れると「真の値」になります。 これはいくつも設定することができますが、一つでも条件から外れると偽の値になります。
OR関数
=OR(論理式1,論理式2,…)
例)
=OR(X=10, Y=20)
この場合は、Xが10もしくはYが20のどちらかが合致していれば真の値になります。こちらもいくつも設定することができ、一つでも条件に合致すれば真の値になります。
IF関数のまとめ
IF関数は条件に合わせて自動で結果を表示させる便利な関数です。
複数条件を設定するとパッと見は複雑に思うかもしれませんが、構造を理解してしまえば簡単に作成することができます。
- IF関数の基本系は論理式に対し真か偽のシンプルな2択である
- 真偽に対しさらにIF関数を設定し入れ子(ネスト)構造にすることができる
- 論理式はAND関数やOR関数を使って条件を複数設定できる
以上です!