cellio

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とまったく同じ構文で利用できます。

あわせて読みたい