ExcelのIFS関数の使い方:複数条件をスッキリまとめる数式
ExcelやGoogleスプレッドシートのIFS関数の使い方を徹底解説。複数条件の分岐、ネストしたIF関数との違い、エラーを防ぐTRUEの使い方までわかりやすくまとめました。複雑な数式をシンプルに整理しましょう。
著者 Ayoub Farid · · 4 分で読めます
IFS関数は、指定した条件を順番に判定し、最初に当てはまった(TRUEとなった)条件の結果を返します。IF関数のネスト(入れ子)と同じ処理を行えますが、閉じカッコがいくつも重なる煩わしさがなく、数式をすっきりと書くことができます。
構文
=IFS(test1, result1, test2, result2, ...)
このExcel関数は、Excel 2019、Excel 2021、Microsoft 365、Excel for the web、そしてGoogleスプレッドシートで利用可能です。これらより古いバージョンのExcelでは、未対応のため #NAME? エラーが表示されます。
例:成績の評価付け
=IFS(B2>=90,"A",B2>=80,"B",B2>=70,"C",TRUE,"F")
同じ処理をIF関数のネストで書いた場合と比較してみましょう。
=IF(B2>=90,"A",IF(B2>=80,"B",IF(B2>=70,"C","F")))
得られる結果はまったく同じですが、IFS関数のほうが圧倒的に読みやすく、後からの修正も簡単です。
TRUEを使った「それ以外」の処理
IFS関数には、通常のIF関数のような「偽の場合(それ以外)」を指定する専用の引数がありません。すべての条件が満たされない場合、数式は #N/A エラーを返します。上記の成績の例のように、最後の条件に TRUE を指定しておけば、これまでの条件に当てはまらなかったすべての値を受け止める「その他」の処理を作成できます。
条件を指定する順番に注意
IFS関数は「最初に一致した条件」の結果を返すため、より厳しい条件や限定的な条件から順に記述する必要があります。もし B2>=90 よりも前に B2>=70 を書いてしまうと、95点のセルであっても先に「C」と判定されてしまいます。
例:配送ステータスの管理
=IFS(D2="","Not shipped",E2="","In transit",E2>F2,"Late",TRUE,"On time")
条件ごとに異なるセルを参照して判定することも可能です。
IFS関数とSWITCH関数の違い
1つのセルを対象に、特定の値と完全一致するか比較するだけであれば、SWITCH関数のほうがシンプルに記述できます。
=SWITCH(C2,"N","North","S","South","E","East","W","West","Unknown")
一方、数値のセル範囲の比較(>= や < など)や、複数の異なるセルを組み合わせた複雑な条件判定にはIFS関数が適しています。
参照テーブルを使ったほうがよいケース
条件の分岐数が非常に多い場合や、基準値が頻繁に変更される場合は、数式内にすべてを書き込むのではなく、別のセル範囲に対応表を作成するのがおすすめです。その上で、近似一致のVLOOKUP関数やXLOOKUP関数を活用しましょう。数式が短く保たれるだけでなく、誰でも簡単に表の条件値を編集できるようになります。
実際に練習してみましょう
まずは成績計算シートを使って、IFS関数の動作を試してみてください。IF、AND、OR関数を組み合わせた条件分岐のレッスンも、Cellioの新しい学習ユニットとして近日公開予定です。
よくある質問
IF関数とIFS関数の違いは何ですか?
IF関数は1つの条件に対して「真」と「偽」の2つの結果を扱います。IFS関数は1つの数式内で複数の条件を順に検証し、最初に満たされた条件の結果を返します。
IFS関数が #N/A エラーを返すのはなぜですか?
指定した条件のいずれにも当てはまらなかったことが原因です。数式の最後に TRUE,"デフォルト値" を追加して、条件に該当しない場合の処理を設定してください。
Excel 2016でIFS関数は使えますか?
Microsoft 365のサブスクリプション版でのみ使用できます。買い切り版(永続ライセンス)のExcel 2016ではサポートされていません。
GoogleスプレッドシートでもIFS関数は使えますか?
はい、Excelとまったく同じ構文で利用できます。