- 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点以上だったら」という論理式ができたとことになります。
値が真の場合には〇が表示されるように指定します。
値が偽の場合には空白とするよう指定します。
最後にカッコを閉じて数式を完成させます。
他のセルにも数式をコピーすれば完成です。