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