【Excel・エクセル】IF関数で複数条件を指定したい!IFS関数、入れ子、関数の組み合わせ

IF関数で、複数条件って使えないの?

IF関数の入れ子か、IFS関数を使うといいんよ。
- IF関数で複数条件を指定するならIFS関数
- IF関数の中にIF関数を入れる、入れ子でもOK
- and関数やor関数と組み合わせてもOK
IFS関数の使い方の練習ファイルダウンロード

一緒にやってみませんか?
【Excel・エクセル】IF関数で複数条件に分岐させるには
IF関数では1つの条件しか指定できません。
「80点以上なら合格、未満なら不合格」はIF関数でもできますが、「80点以上なら良、60点以上なら可、60点未満なら不可」のように、複数の条件は指定できません。
複数条件を指定したいなら、方法は2つ。
IF関数の中にIF関数を入れる(入れ子/ネスト)か、IFS関数を使う、です!

IFS関数を使う方が、簡単!
IFS関数を使えば、2つ、3つ、4つ……10個以上の条件も、簡単にできるんです。
もちろん入れ子でも同じようにできますが、ちょっと式が複雑になってしまいます。
ただ、IFS関数はExcelのバージョンが2016以降でないと使えません。
それ以前のバージョンをお使いの場合、複数条件は入れ子を使いましょう。
ちなみに読み方は「イフス関数」「イフズ関数」「イフエス関数」など。
【Excel・エクセル】IFS関数の使い方
ではさっそく、関数の使い方を見てみましょう!
=IFS(理論式1,値が真の場合1,理論式2,値が偽の場合2……)

これを100個以上続けられるんよ。
IF | もし |
理論値 | この数式が合っていたら |
値が真の場合 | こうしてね |
=IFS(もしこの式が,当てはまればこうしてね,この式が,当てはまればこうしてね……)
条件(理論式)がかぶる場合は、先に書いた条件が優先されます。
例えば条件1が90以上、条件2が80以上で、数値が100の時。
条件1、2どちらも満たしていますが、先に書いた90以上の結果が表示されるのです。
IFS関数の練習問題
点数によってA~Dまでランク付けしたいと思います。
セルC2に、点数が80点以上でA、70点台でB、60点台はC、60点未満はDと、4つの条件をIFS関数で出してみましょう!


=IFS(B2>=80,"A",B2>=70,"B",B2>=60,"C",B2<60,"D")になるよ。説明していくね。
ステップ1
答えを出したいセルC2に、「=IFS(」と入力します。

ステップ2
1つ目の条件「もしこの式が」の部分は、「もりのの点数が80点以上」になりますね。
もりのの点数はセルB2に書いてあるので、セルB2をクリックしましょう。

ステップ3
“以上"は不等号を使います。
算数で以上は「≧」と書きますが、エクセルでは大なり(>)とイコール(=)を分けて書きます。
80点以上なら、「>=80」ですね。


数値を比較するときは、次の記号を使ってね。
AはBより大きい | A>B |
AはB以上 | A>=B |
AはBと同じ | A=B |
AはB以下 | A<=B |
AはBより小さい | A<B |
AはBと違う | A<>B |

これで一つ目の条件は完成だね!

次の結果を書く前に、「,(カンマ)」を忘れないでね。
ステップ4
次に「こうしてね」の部分。
点数が80点以上だったら「A」と表示させたいので、「"A",」と入力してください。


文字列は「"(ダブルクォーテーション)」で囲んであげてね。

次の条件に移るから、「,(カンマ)」も忘れないようにっと。
ステップ5
同じ要領で、2つ目から4つ目までの条件をつなげていきます。
0点台ならB、60点台ならC、60点未満ならDまで書いてきましょう。


最後の条件は60点未満だから、「<60」になるのか。
完成!
書き終わったらエンターキーで確定します。
もりのは68点、60点以上70点未満なので、Cランクになりました。

オートフィルでコピーしてみると、ちゃんと条件で結果を分岐できていますね!

条件を4つ、5つと増やしたいときは、「,(カンマ)」でつなげて理論値と真の場合を追加すればOKです。

10個以上の条件も、コレならできるね!
【Excel・エクセル】IF関数を入れ子にして複数条件を指定する
IF関数の中にIF関数を入れる、いわゆる入れ子(ネスト)でも、複数条件で結果を分岐できます。
先ほどと同じようにセルC2に、点数が80点以上でA、70点台でB、60点台はC、60点未満はDと、4つの条件を、IF関数を入れ子にして出してみましょう!


ちなみに、IF関数の書き方はこうだよ。
=IF(理論式,値が真の場合,値が偽の場合)
ステップ1
まずは関数名。
答えを出したいセルC2に「=IF(」まで入力してください。

ステップ2
次に1つ目の条件。
コレはIFS関数と全く同じです。
点数が80点以上なので、「B2>=80,」でしたね。
最後の「,」も忘れずに。

ステップ3
次は先ほどの式に当てはまった場合。
ここもIFS関数と同じです。
Aと表示させたいので、「"A",」と入力します。


ここまではIFS関数と一緒。
ステップ4
さてIFS関数では次の条件を書きますが、IF関数はそうはいきません。
IF関数では続きに、理論式が当てはまらなかった場合を書かないといけないからです。

ここでBって書くと、C、Dの条件は書けなくなるなぁ。
そこで、もう一度IF関数を書くんです!
IF関数の途中ですが、「IF(」と入力してください。


これこそが入れ子!
ステップ5
2つ目の条件と結果を入力していきます。
今回は70点以上でBとしたいので「B2>=70、"B",」ですね。


IFS関数の「,」を「IF(」に置き換えれば良さそうだね。
ステップ6
さらに条件があれば、さらにIF関数でつなげていきます。


4つ、5つって条件を増やすなら、IFでつなげるのか。
ステップ7
最後もIFS関数とちょっと違います。
IFS関数は60未満という条件を書きましたが、IF関数では最後の条件は書かなくてOKです。
そのまま「"D"」と入力します。


どれにも当てはまらなかった場合ってことになるからね。
ステップ8
最後にカッコを閉じますが、中のIF分のカッコ閉じも必要なので、ご注意ください。

完成!
オートフィルでコピーすれば、IF関数を入れ子にしても、複数条件で結果を分岐できました!


IFS関数もIF関数の入れ子も、結果は同じなんだね!
【Excel・エクセル】IF関数と他の関数を組み合わせて複数条件を指定する
先ほどはIF関数の中にIF関数を入れましたが、条件によっては他の関数の方が便利です。
AND関数と組み合わせて複数の条件をすべて満たすとき、を指定する
複数の条件を同時に満たすとき、としたいなら、AND関数を使います。
AかつBといった条件が指定できます。

詳しくは、下記ページでご紹介しています!
OR関数と組み合わせて複数の条件のどれかを満たすとき、を指定する
複数の条件のうちどれかを満たすとき、としたいなら、OR関数を使います。
AまたはBといった条件が指定できます。

詳しくは、下記ページでご紹介しています!
これで、条件を指定した計算も思いのままですね!
それでは、お疲れさまでした!
- IF関数で複数条件を指定するならIFS関数
- IF関数の中にIF関数を入れる、入れ子でもOK
- and関数やor関数と組み合わせてもOK
ディスカッション
コメント一覧
まだ、コメントがありません