excel-function-if-multiple

エクセル

【エクセル】IF関数を複数条件で使う方法

  • IF関数で複数の条件って設定できるのかなあ・・・
  • 具体例で解説してほしい

そんな思いにお応えできるようこの記事では、

  • IF関数の複数条件とは?
  • 具体的な使い方

といった内容について解説しています。

IF関数を使って複数の条件分岐ができればとても便利なので、是非活用してみてください!

IF関数については、【エクセル】IF関数のまとめ!基本から応用まで解説の記事で使い方をまとめているので、こちらの記事も是非ご参考下さい。

IF関数の複数条件とは?

エクセルのIF関数を複数条件で使用するのには、下記の3パターンがあります。

  • 複数の場合分けをしたい
  • 複数の条件を全て満たす場合」と「そうでない場合」を分けたい
  • 複数の条件のいずれかを満たす場合」と「そうでない場合」を分けたい

これだけだと少し分かりにくいので、例えば3教科のテストの得点によるランク分けをしたい場合だとそれぞれ、

  • 合計得点が240点以上だとAランク、180~239点はBランク、179点以下はCランク
  • 英語、数学、国語全ての科目が80点以上の場合
  • 英語、数学、国語いずれかの科目が80点以上の場合

というような分け方となります。

それぞれについて具体的に解説していきます。

IF関数で複数の場合分けを行う

まずは複数の場合分けをするパターンについてです。

IF関数を2回使う(3種類の場合分け)

3種類の場合分けをしたい場合はIF関数を2回使うことで実現できます。

今回の場合分けを図にすると以下のようになります。

  • 合計得点が240点以上かどうか
  • 合計得点が180点以上かどうか

という2つの条件があるのでそれぞれIF関数で分岐させます。その結果、Aランク・Bランク・Cランクという3種類の場合分けをすることができます。

先ほどの例で具体的に解説します。

まずはG3セルに、

=IF(

につづけてIF関数の数式を作っていきます。

最初は論理式です。「合計が240点を越えている場合」なのでF3>=240となります。

次に、値が真の場合です。Aランクを表示させたいので、

"Aランク"

ダブルクオーテーションで囲って入力します。

続いて値が偽の場合ですが、ここで条件を分岐させる必要があるので再度IF関数を入力します。

2つ目以降のIF関数にはイコールをつけないので、注意しましょう。

2つ目のIF関数の論理式部分を作ります。

論理式は、「F3セルが180以上」という式です。

続いて、2つ目のIF関数の「値が真の場合」についてはBランクを入力します。

"Bランク"

というようにダブルクオーテーションで囲みます。

最後はAランクでもBランクでも無いということになるので、Cランクです。

最後に閉じるカッコを2つ付けたら完成です。

完成した数式は以下の通りです。

=IF(F3>=240,"Aランク",IF(F3>=180,"Bランク","Cランク"))

IF関数を2つ使って、

  • F3の値が240以上の場合はAランク
  • (240以上でない場合で)180以上の場合はBランク
  • (180以上でない場合)Cランク

という3つの場合分けを実現しています。

IFS関数でもっと分かりやすく

IF関数を2つ使って3つの場合分けを行うパターンについて解説してきましたが、IFS関数を使えば1つの関数だけで複数の場合分けを実現することができます。

先ほどと同じ例で解説します。

  • 合計得点が240点以上かどうか
  • 合計得点が180点以上かどうか

を場合分けします。

まずは、

=IFS(

から関数を作っていきます。

最初の条件は、「合計が240点以上ならAランク」なのでそのまま数式に入力します。

次は、「合計が180点以上ならBランク」ですね。これも同じように入力していきます。

最後は論理式にTRUEを入れることで「それ以外」という指定をすることができます。

今回はAクラスでもBクラスでも無い場合はCクラスなので、

TRUE,"Cクラス"

を最後に指定する形となります。

数式が完成したら、Enterで確定します。

これまでと同様、他のセルにも数式をコピーします。

IF関数を2回使うのと結果は同じですが、IFS関数の方がシンプルで分かりやすくないでしょうか?

IFS関数はExcel2016以降に使えるようになった関数のため、Excel2013等を使用している場合は使うことができませんが、そうでない場合は是非トライしてみてください。

複数の条件を全て満たす場合」と「そうでない場合」を分け

続いて、

  • 複数の条件を全て満たす場合
  • そうでない場合

について分けるというパターンです。

具体的には、

  • 英語、数学、国語の全てが80点以上の場合
  • いずれかの科目が80点未満の場合

という場合分けになります。

まず、

=IF(

から始めるのは同じです。

全て~を表すときにはAND関数を使うことができるので、最初にANDを入力します。

AND関数の引数としてカッコの中に条件を全て指定します。今回だと「英語・数学・国語の得点全てが80点以上」となるのでC3セルが80点以上・D3セルが80点以上・E3セルが80点以上を1つずつ指定します。

数式としては、下記のようになります。

これで論理式部分ができたので、

  • 値が真の場合は〇を表示
  • 値が偽の場合は空白を表示

というようにIF関数の残り部分の数式を作ります。

最終的な数式は、

=IF(AND(C3,D3,E3)>=80,"〇","×")

となりました。

あとは他のセルにも数式をコピーすれば完成です。

複数の条件のどれか満たす場合」と「そうでない場合」を分け

AND関数を使って、「全て~を満たす場合」のIF関数との組み合わせについて解説しましたが、OR関数を使うと「~のいずれかを満たす場合」という場合分けを実現することができます。

具体的には、

  • 英語・数学・国語のどれかが80点以上の場合
  • 英語・数学・国語の1つも80点以上ではない場合

という分け方になります。

同じ例を使って説明していきます。

まずはIF関数を作成します。

続けてOR関数を入力します。

カッコの中にOR関数の条件を入力していきます。AND関数のときと全く同じで、

C3>=80,D3>=80,E3>=80

という数式となります。

これで、「英語・数学・国語のいずれか1つが80点以上だったら」という論理式ができたとことになります。

値が真の場合には〇が表示されるように指定します。

値が偽の場合には空白とするよう指定します。

最後にカッコを閉じて数式を完成させます。

他のセルにも数式をコピーすれば完成です。

まとめ

  • この記事を書いた人

いしはらゆうと

パソコンが使えず全く仕事ができなかったことから猛勉強し、 各部署から頼りにされるレベルになりついにはSEに。
マクロを活用し、2人がかりで1日の仕事を1人×30分に短縮。 自身の経験から、「見るだけ勉強法」をノウハウ化し数十名以上にオンライン講座を開講。
現在は「見るだけエクセル塾」としてITの苦手な方でもスキマ時間に学ぶことのできるオンラインスクールを運営中。
元SE
国家資格:応用情報技術者

-エクセル
-,