Excelの「IFS関数」は、複雑な条件分岐をシンプルに書ける便利な関数です。
従来は「IF関数」を何重にも入れ子にして使っていた人も多いでしょう。
しかし、IFS関数を使えば「もしAなら~、もしBなら~」といった条件をスマートに表現でき、作業効率がぐっと上がります。
この記事では、IFS関数の基本構文から実際の使用例、よくあるエラー対処法まで、初心者でも理解できるように丁寧に解説します。
今日からあなたも、IF関数の“多重地獄”から抜け出しましょう。
IFS関数とは?その基本を理解しよう
IFS関数は、Excel 2019以降やMicrosoft 365などで利用できる「条件分岐」を行うための関数です。
複数の条件を順に評価して、最初に真(TRUE)となった条件に対応する結果を返します。
従来の「IF関数」では、
=IF(A1>=80,"合格",IF(A1>=60,"再試験","不合格"))
のように入れ子構造で書く必要がありました。
これをIFS関数で書くと、
=IFS(A1>=80,"合格",A1>=60,"再試験",A1<60,"不合格")
のようにシンプルに記述できます。
条件と結果をペアで並べるだけなので、構造が見やすく、修正も容易です。
IFS関数の構文
IFS関数の基本構文は次の通りです。
=IFS(論理式1, 結果1, 論理式2, 結果2, …)
構文の意味
- 論理式1,2,3… :条件を設定します。
- 結果1,2,3… :それぞれの条件がTRUEになった場合に返す値です。
ポイント
- 条件は上から順に評価されます。
- 最初にTRUEとなった条件の結果を返し、以降は評価されません。
- どの条件も当てはまらない場合にエラー(#N/A)が出るため、「TRUE, “その他”」のような最後の条件を用意すると安心です。
IFS関数の基本的な使用例
ここでは、IFS関数の使い方を3つの例で紹介します。
例1:点数に応じて評価を表示する
=IFS(A2>=80,"優",A2>=70,"良",A2>=60,"可",A2<60,"不可")
説明
- 80点以上なら「優」
- 70点以上なら「良」
- 60点以上なら「可」
- それ以外は「不可」
このように、条件と結果をセットで順番に書くだけで、複雑なIF文がすっきりします。
例2:売上に応じてボーナス区分を決める
=IFS(B2>=1000000,"Aランク",B2>=500000,"Bランク",B2>=200000,"Cランク",TRUE,"対象外")
説明
- 100万円以上 → Aランク
- 50万円以上 → Bランク
- 20万円以上 → Cランク
- それ以外 → 対象外
最後の「TRUE,”対象外”」がポイント。
どの条件にも当てはまらない場合に備えて、デフォルト値を設定できます。
例3:日付によって季節を判定する
=IFS(
MONTH(C2)>=3,MONTH(C2)<=5,"春",
MONTH(C2)>=6,MONTH(C2)<=8,"夏",
MONTH(C2)>=9,MONTH(C2)<=11,"秋",
TRUE,"冬"
)
説明
- 日付(C2セル)から月を取り出して、季節を判定します。
- 条件の書き方を工夫すれば、カレンダー的な判定にも使えます。
IF関数との違い
IFS関数とIF関数は似ていますが、目的と使い方に違いがあります。
比較項目 | IF関数 | IFS関数 |
---|---|---|
使用できるバージョン | すべてのExcel | Excel2019以降 / 365 |
書き方 | 入れ子で記述 | 条件と結果をペアで並べる |
見やすさ | 複雑になりやすい | 読みやすく整理しやすい |
エラー処理 | ELSE部分が必要 | TRUEを最後に書くことで対応可能 |
IFS関数は、条件分岐が3つ以上ある場合に特に威力を発揮します。
ただし、Excel 2016以前では利用できない点に注意が必要です。
IFS関数でよくあるエラーと対処法
IFS関数を使うときによくあるエラーと、その原因・対処法を紹介します。
1. #N/A エラーが出る
原因:どの条件にも当てはまらない場合。
対処法:最後に「TRUE, “その他”」を入れておく。
=IFS(A2>80,"合格",A2>=60,"再試験",TRUE,"不合格")
2. #VALUE! エラーが出る
原因:条件式や結果が不正。文字列に「”」を付け忘れるなどのミスが多い。
対処法:条件と結果のペアを再確認し、全てのペアが偶数個(条件→結果)になっているかチェック。
3. 条件の順番が原因で意図しない結果になる
IFS関数は上から順に評価します。
したがって、広い条件を先に書くと、以降が評価されないことがあります。
例
=IFS(A2>=60,"合格",A2>=80,"特別優秀") → 常に「合格」になる
→正しくは
=IFS(A2>=80,"特別優秀",A2>=60,"合格")
IFS関数と他の関数を組み合わせる応用例
IFS関数は単体でも便利ですが、他の関数と組み合わせることでさらに活用の幅が広がります。
例1:文字列を含むかどうかを判定(SEARCH関数との組み合わせ)
=IFS(ISNUMBER(SEARCH("営業",B2)),"営業部",ISNUMBER(SEARCH("開発",B2)),"開発部",TRUE,"その他")
説明
- 「営業」という文字を含む → 営業部
- 「開発」を含む → 開発部
- それ以外 → その他
例2:数値の範囲ごとにランクをつける(AND関数との組み合わせ)
=IFS(AND(A2>=90,A2<=100),"S",AND(A2>=70,A2<90),"A",AND(A2>=50,A2<70),"B",TRUE,"C")
説明
- AND関数で範囲を指定し、IFS関数で複数条件を順に評価します。
- 評価基準が細かい場合に便利です。
IFS関数を使いこなすコツ
- 条件の順番を意識する
上から順に評価されるため、優先度の高い条件を先に書きましょう。 - TRUEを最後に入れる
万が一どの条件にも該当しない場合に備え、最後に「TRUE, “その他”」を必ず入れておくと安全です。 - 条件と結果のペアを正確に
IFS関数は、引数がペアでなければ動作しません。
「条件 → 結果」の順で正確に並べるよう注意してください。 - Excelのバージョンを確認する
Excel 2019以降、またはMicrosoft 365でのみ利用可能。
古いExcelではIF関数を使う必要があります。
まとめ
IFS関数は、複数の条件分岐を簡潔に記述できる非常に便利な関数です。
従来のIF関数を多重にネストしていた人にとっては、見やすさ・保守性の面で大きなメリットがあります。
ポイントまとめ
- 構文は「IFS(条件1,結果1,条件2,結果2,…)」
- 上から順に評価される
- TRUEを最後に入れてエラー回避
- AND・OR・SEARCH関数などと組み合わせて応用可能
IFS関数を使いこなせば、Excelでのデータ処理や分析がよりスマートになります。
「IF関数がごちゃごちゃして読みにくい!」と感じたら、ぜひIFS関数に切り替えてみましょう。