Excelで点数評価や売上区分など、複数条件の判定に悩んだことはありませんか。IF関数を重ねるほど数式が複雑になり、修正や共有が大変になるケースもあります。
そのようなときに役立つのが、条件分岐をシンプルに書けるIFS関数です。
本記事では、IFS関数の基本構文から実務で使える具体例、注意点まで解説します。
目次
IFS関数とは
IFS関数とは、複数の条件を順番に判定し、最初に条件を満たした結果を返すExcelの関数です。Excel 2019以降やMicrosoft 365、Googleスプレッドシートで利用できます。
従来のIF関数では、条件が増えるたびに入れ子構造が複雑になりやすかったですが、IFS関数であれば条件と結果をペアで並べて記述でき、数式が直感的で見やすくなります。
評価・ランク分け・ステータス判定など、実務で頻出する場面でも扱いやすく、作業効率の向上に役立つのが特徴です。
IFS関数の基本構文
IFS関数の基本構文は、「=IFS(論理式1, 値1, 論理式2, 値2, …)」の形で記述します。条件と結果をペアにして並べるだけのシンプルな構造が特徴です。
たとえば、点数に応じて評価を分ける場合も、条件と表示内容を交互に入力するだけで済みます。
引数は最大127組まで指定できますが、実務では5〜10個程度に抑えるのが一般的です。
IFS関数の使い方
使い方のポイントは、条件を「厳しい順」に配置することです。
たとえば、A1セルの点数を判定する場合は「90点以上」を最初に書き、「60点以上」を後ろにしなければなりません。先に緩い条件を書くと高得点でもそちらが先に真となり、正しい評価が返らなくなります。
正しい式は次のとおりです。
IFS(A1>=90,"S評価",A1>=60,"A評価",TRUE,"B評価")
そして、最後にTRUEを条件として設定すると、どの条件にも当てはまらない場合の受け皿となりエラーを防げます。
IFS関数とIF関数の違い
IF関数とIFS関数の違いは、条件が増えたときの可読性と保守性です。IF関数では複数の条件を扱うほど入れ子構造が深くなり、カッコが増えて数式が分かりにくくなります。修正時にミスが起きやすいのもデメリットです。
一方、IFS関数は条件と結果を横並びで記述できるため構造がシンプルで、条件の追加や変更も容易です。数式の意図が直感的に伝わるため、チームでの共有にも向いています。
IFS関数の活用シーン
IFS関数は、複数の条件に応じて結果を切り替えたい場面で力を発揮する関数です。点数評価や売上区分、期間判定など実務では「条件が3つ以上ある判定処理」を行うケースが多くあります。
IF関数を入れ子にすると数式が複雑になりやすいですが、IFS関数を使うと判定ロジックを直感的に整理できます。
テストの成績を判定する
テストの点数に応じて評価を判定する場合は、IFS関数を使うと条件分岐を簡潔に記述できます。
たとえば、A1セルにテストの点数が入っており、「80点以上はA評価」「60点以上はB評価」「それ未満はC評価」としたい場合、構文は次のようになります。
IFS(A1>=80,"A評価",A1>=60,"B評価",TRUE,"C評価")
IFS関数は左から順に条件を判定し、最初に一致した結果を返します。そのため、条件は必ず厳しい順(高得点から)に並べることが重要です。
また、最後にTRUEを指定しておくことで、どの条件にも当てはまらなかった場合でもエラーを防ぎ、デフォルトの評価を返せます。
売上金額で評価を分ける
売上金額に応じて評価や計算結果を分けたい場合も、IFS関数が役立ちます。IFS関数は戻り値に文字列だけでなく、計算式やセル参照を指定できるため、歩合計算や割引率の判定をひとつのセルで完結できます。
たとえば、A1セルに売上金額が入力されており、「100万円以上は売上の10%」「50万円以上は5%」「それ未満は0%」を計算する場合、構文は次のとおりです。
IFS(A1>=1000000,A1*0.1,A1>=500000,A1*0.05,TRUE,0)
条件は高い金額から順に並べることで、正しく判定されます。IF関数を入れ子にする必要がなく、数式の構造が直感的に把握しやすい点もIFS関数のメリットです。
日付で期間を判定する
日付で期間を判定する場合は、比較対象を文字列ではなく、Excelが日付として認識できる形にそろえるのが基本です。条件に日付を直書きするなら、DATE関数を使うと安全です。さらに、特定の期間内かどうかはAND関数と組み合わせると判定しやすくなります。
たとえばA1セルに日付が入っており、「2024/4/1〜2024/6/30なら第1四半期」「2024/7/1〜2024/9/30なら第2四半期」「それ以外は対象外」とする場合、構文は次のとおりです。
IFS(AND(A1>=DATE(2024,4,1),A1<=DATE(2024,6,30)),"第1四半期
",AND(A1>=DATE(2024,7,1),A1<=DATE(2024,9,30)),"第2四半期",TRUE,"対象外")
セル参照で期間を管理したい場合は、開始日をB1・終了日をC1に置き、次のようにも書けます。
IFS(AND(A1>=B1,A1<=C1),"期間内",TRUE,"期間外")
DATE関数やセル参照を使って日付を指定すると、環境による誤判定や比較エラーを防ぎやすくなります。
IFS関数を使用する際の注意点
IFS関数を使用する際は、いくつか注意しておきたいポイントがあります。
Excelのバージョンによっては使用できないケースや、条件の書き方を誤ると意図しない判定結果になることもあるため、事前に注意点を確認しておきましょう。
Excel 2016以前のバージョンでは使用できない
IFS関数はExcel 2019以降やMicrosoft 365で利用できる比較的新しい関数のため、Excel 2016以前では使用できません。
IFS関数が使えないExcel 2016以前の環境では、IF関数にAND関数やOR関数を組み合わせることで同様の判定が可能です。
たとえば、A1セルの点数が「80点以上はA評価、60点以上はB評価、それ未満はC評価」の場合、次の式で対応できます。
IF(A1>=80,"A評価",IF(A1>=60,"B評価","C評価"))
また、日付がA1セルにあり「2024/4/1〜6/30は上期、それ以外は対象外」と判定する場合は、AND関数を使って次のように記述します。
IF(AND(A1>=DATE(2024,4,1),A1<=DATE(2024,6,30)),"上期","対象外")
IF関数とAND・OR関数を組み合わせれば、IFS関数が使えない環境でも互換性を保った判定が可能です。
条件が多いと計算が重くなる
IFS関数は便利ですが、条件を無制限に増やせるわけではありません。条件が多くなるほど計算処理に時間がかかり、ファイル全体が重くなる原因になります。
そのため、設定用の一覧表を別シートに作成し、VLOOKUP関数やXLOOKUP関数で参照する方法に切り替えると管理しやすくなります。
偽の場合を未設定だとエラーになりやすい
IFS関数には「それ以外」を処理する引数がないため、どの条件にも当てはまらない値が入力されると「#N/A」エラーが発生します。
この現象を防ぐには、数式の最後に必ずTRUEを条件として追加し、デフォルト値を設定することが重要です。
たとえば空白や0、確認用の文字を返すようにすると、想定外の入力があってもエラーを回避できるため安定したシートを作成できます。
よくある質問
IFS関数で複数条件をどう扱いますか?
IFS関数は、最初にTRUEになった条件の結果を返すため、条件は必ず厳しいものから順に並べます。
たとえば、点数判定であれば高得点条件を先に書かないと誤判定になります。また、AND関数を組み合わせることで「〇〇以上かつ〇〇以下」といった範囲指定も可能です。
IFS関数とIF関数はどう使い分けますか?
IF関数とIFS関数の使い分けは、条件の数で判断するのが基本です。YesかNoの二択で完結する単純な判定であれば、互換性の高いIF関数で十分対応できます。
一方、三者以上に分岐する場合はIFS関数が適しています。
IFS関数の条件は何個設定できますか?
IFS関数は仕様上、最大127個まで条件を設定できます。
ただし、実務では5個程度までに抑えるのが一般的です。条件が増えるほど数式が長くなり、内容の把握や修正が難しくなります。
IFS関数で偽の場合はどうなりますか?
IFS関数はIF関数のように「それ以外」を指定する引数がないため、条件に合致しない値が入力されると「#N/A」エラーが表示されます。
たとえば、A評価とB評価の条件しか設定していない場合、それ以外のデータは判定できません。
この現象を防ぐには、数式の最後にTRUEを条件として追加し、デフォルト値を設定します。TRUEは常に成立するため、想定外の入力があってもエラーを回避でき、安全な判定が可能になります。
IFS関数が使えない場合はどうすればよいですか?
IFS関数が使えない場合は、環境に応じた代替手段を選びましょう。
IFS関数はExcel 2019以降やMicrosoft 365でのみ利用できるため、Excel 2016以前では「#NAME?」エラーが表示されます。この場合、GoogleスプレッドシートやExcel Onlineを使うと問題なく対応できます。
相手の環境が不明な場合や旧バージョンが混在している場合は、可読性は下がるもののIF関数の入れ子で代用するのが安全です。
条件が多い場合は、VLOOKUP関数などを組み合わせて対応すると管理しやすくなります。
まとめ
IFS関数は、複数条件を分かりやすく判定したい場面で便利な関数です。条件と結果をペアで並べるだけでロジックを整理でき、IF関数の入れ子による複雑さを解消できます。
一方で、条件の順序やTRUEによる受け皿設定、Excelのバージョン互換など注意点もあります。条件が3つ以上ある判定ではIFS関数を基本に、環境や条件数に応じてIF関数や他の関数と使い分けることで、ミスの少ない実務向けのシートを作成できるでしょう。
