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


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

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

IFS関数を使う方が、簡単!
IFS関数を使えば、2つ、3つ、4つ……10個以上の条件も、簡単にできます。
入れ子でも3つ、4つ以上の条件にできますが、式が複雑になるんですよね。
ただ、IFS関数はエクセルのバージョンが2019以降でないと使えません。

IFS関数はExcel2019かExcel2021、Excel365じゃないと使えないのか。
Excel2016以前のバージョンをお使いの場合、複数条件は入れ子を使いましょう。
ちなみにIFS関数の読み方は「イフス関数」「イフズ関数」「イフエス関数」など。
動画でも、IFS関数やIF関数の複数条件のやり方をご紹介しています!
【Excel・エクセル】IFS関数の使い方
ではさっそく、関数の使い方を見てみましょう!
=IFS(理論式1,値が真の場合1,[理論式2],[値が真の場合2]……)
※[]内は省略可

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

※実際に操作できます。
いちいちスクロールするのは面倒なので、別タブか別ウィンドウで開くの推奨です!

=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 |

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

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


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

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


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

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

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

10個以上の条件も、コレなら簡単にできるね!
IFS関数で"それ以外"という条件にする

条件を全部書くのって面倒だなぁ。

“それ以外"って条件も指定できるんよ。
その方法は、最後の条件を「TRUE」にするだけ。
たとえばさっきの式なら、「=IFS(B2>=80,"A",B2>=70,"B",B2>=60,"C",TRUE,"D")」でも同じ結果になるんです。
80以上ならA、70以上ならB、60以上ならC、それ以外はDってことですね。
【Excel・エクセル】IF関数を入れ子にして複数条件を指定する
IF関数の中にIF関数を入れる、いわゆる入れ子(ネスト)でも、複数条件で結果を分岐できます。
IFS関数が使えないときは、こちらの方法を試してください。

64個までネストできるんよ。
IF関数を入れ子にして、さっきと同じ以下の4つの条件で、セルC2にランクを出してみましょう!
- 点数が80点以上→A
- 70点台→B
- 60点台→C
- 60点未満→D


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関数でつなげていきます。


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


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

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


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

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

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