エクセルで、3つ以上の条件に分けて、表示を切り替えるには、IFS関数が便利です。IF関数を何重にも入れる必要がなく、=IFS(B3>=90,"S",B3>=80,"A",B3>=70,"B",B3>=60,"C",TRUE,"D") のように、「条件」と「結果」を、順に並べるだけです。値によって、結果を変えるなら、SWITCH関数です。
この記事では、IFS関数の使い方、IF関数の入れ子との違い、「#N/A」になる原因、SWITCH関数の使い方、既定値の指定、SWITCH関数で範囲を判定する方法を、1つの表を使って説明します。下の練習ツールで、得点やコードを書き換えて、結果の変わり方を試せます。
IFS関数とSWITCH関数|使い分けの早見表
| やりたいこと | 使う関数 | 式(例) |
|---|---|---|
| 得点を、S・A・B・C・Dに分ける | IFS関数 | =IFS(B3>=90,”S”,B3>=80,”A”,…,TRUE,”D”) |
| どの条件にも、当てはまらないとき | IFS関数(最後にTRUE) | =IFS(…,TRUE,”D”) |
| コードの値によって、結果を変える | SWITCH関数 | =SWITCH(D3,1,”東日本”,2,”西日本”,”不明”) |
| 範囲で判定して、結果を変える | SWITCH(TRUE,…) | =SWITCH(TRUE,B3>=90,”S”,B3>=80,”A”,”B”) |
| 2つに分ける(合格・不合格) | IF関数 | =IF(B3>=60,”合格”,”不合格”) |
まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
IFS関数の使い方(3つ以上に分ける)
得点が90点以上はS、80点以上はA、70点以上はB、60点以上はC、それ以外はDと、5段階に分けます。結果は、C3セルに求めます。

梅は92点なので、1つ目の条件に当てはまり、結果は S です。桜は78点で、70点以上なので、B になります。竹は40点で、どの得点の条件にも当てはまらないので、最後の「TRUE」の結果で、D になります。詳しくは、得点をA・B・C・Dに振り分ける方法を参照してください。
▶ この式(C3)を、上の練習ツールで試す / この式(C4)を、上の練習ツールで試す / この式(C6)を、上の練習ツールで試す
IF関数の入れ子との違い
IFS関数は、IF関数を、何重にも入れた式と、同じ結果になります。IF関数で書き直すと、次のとおりです。
結果は、同じ S です。IF関数の入れ子は、「)」の数が増えて、読みにくくなります。IFS関数なら、条件と結果が、横に並ぶだけなので、あとから、条件を足したり、直したりしやすくなります。IF関数の基本は、IF関数の使い方で説明しています。
「#N/A」になるとき(どの条件にも当てはまらない)
IFS関数は、どの条件にも当てはまらないと、「#N/A」を返します。たとえば、95点以上の条件だけを指定して、梅(92点)を判定すると、次のようになります。
92点は、95点未満なので、結果は #N/A です。最後の条件に「TRUE」を指定すると、どれにも当てはまらないときの、結果を決められます。
竹(40点)は、60点未満なので、「TRUE」の結果になって、不合格 です。
▶ この式(H4)を、上の練習ツールで試す / この式(H5)を、上の練習ツールで試す
SWITCH関数の使い方(値によって結果を変える)
「コードが1なら東日本、2なら西日本、3なら海外」のように、値によって、結果を変えるときは、SWITCH関数が便利です。書き方は、SWITCH(調べる値, 値1, 結果1, 値2, 結果2, …, 既定値) です。最後に、どれにも一致しないときの「既定値」を書きます。
梅のコードは「1」なので、結果は 東日本 です。楓のコードは「9」で、どれにも一致しないので、既定値の 不明 になります。既定値を省略すると、一致しないときに、「#N/A」になります。
楓のコード(9)は、どれにも一致しないので、結果は その他 です。
▶ この式(E3)を、上の練習ツールで試す / この式(E7)を、上の練習ツールで試す / この式(H6)を、上の練習ツールで試す
SWITCH関数で範囲を判定する(SWITCH(TRUE))
SWITCH関数は、本来、「一致するか」を調べる関数ですが、調べる値に「TRUE」を指定すると、「条件が正しいか」で、判定できます。IFS関数と、ほぼ同じ使い方になります。
梅は、92点で、最初の条件が TRUE なので、結果は S です。最後の「”B”」は、どの条件にも当てはまらないときの、既定値です。
IFS関数・SWITCH関数が使えない・うまくいかないときの確認表
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 「#NAME?」と出る | Excel 2016以前など、IFS・SWITCHが使えない | IF関数の入れ子や、VLOOKUP関数の近似一致を使う。 |
| 「#N/A」と出る | どの条件・値にも、当てはまらない | 最後に「TRUE,…」や、SWITCHの既定値を付ける。 |
| 結果が、思った段階にならない | 条件の順番が、逆になっている | 大きい値の条件から、順に並べる。 |
| 「この関数には引数が足りません」と出る | 条件と結果が、ペアになっていない | 条件の数と、結果の数を、そろえる。 |
| SWITCHが、一致しない | 数値と文字の違い(「1」と1) | 調べる値と、値の型を、そろえる。 |
| 値を変えても、結果が変わらない | 計算方法が「手動」になっている | 「数式」タブの「計算方法の設定」を「自動」にする。 |
IFS関数・SWITCH関数のよくある質問
IFS関数は、どのバージョンで使えますか?
Excel 2019以降と、Microsoft 365で使えます。Excel 2016では、Microsoft 365のサブスクリプション版のみ、使えます。古いバージョンでは、IF関数の入れ子を使います。
IFS関数で、どれにも当てはまらないときを、決めるには?
最後の条件に、「TRUE」を指定します。=IFS(…,TRUE,"それ以外") のように書くと、どの条件にも当てはまらないときの結果になります。
IFS関数と、SWITCH関数は、どう使い分けますか?
値の範囲(点数など)で分けるなら、IFS関数です。値が「一致する」ことで分けるなら(コード、曜日の番号など)、SWITCH関数です。
あわせて読みたい:条件分岐の関連記事
- エクセルのIF関数の使い方|複数条件・AND・OR・空白・3段階の判定
- Excelで得点をA・B・C・Dに振り分ける方法|IF関数を重ねる
- Excelで合否を複数条件で判定する|IF・AND・OR
- VLOOKUPの近似一致の使い方|「以上」「未満」で評価を判定する
- エクセルのVLOOKUPの使い方|複数条件・別シート・#N/Aを出さない
練習用ファイル:練習用Excelファイル(.xlsx・無料)
