【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関数を使って条件を複数設定できる

以上です!