Excel IFS関数の使い方を完全解説!複数条件の判定を簡単に
Excel IFS関数の使い方を完全解説!複数条件の判定を簡単に
複数の条件を効率的に判定したい時に便利なIFS関数。従来のIF関数のネストを解消し、可読性を向上させる画期的な関数です。
Contents
1. IFS関数とは?基本的な概念を理解しよう
IFS関数は、複数の条件を順番に評価し、最初に真(TRUE)となった条件に対応する値を返すExcel関数です。Excel 2016以降で使用可能で、従来のIF関数を入れ子(ネスト)にする必要がなくなり、数式の可読性が大幅に向上します。
基本構文:
=IFS(論理式1, 値1, 論理式2, 値2, 論理式3, 値3, ...)
=IFS(論理式1, 値1, 論理式2, 値2, 論理式3, 値3, ...)
ポイント:IFS関数は最大127個の条件を設定することができ、条件は上から順番に評価されます。最初に真となった条件の値が返され、それ以降の条件は評価されません。
2. 基本的な使い方と具体例
成績評価を例にIFS関数の基本的な使い方を見てみましょう。点数に応じてA、B、C、Dの評価を自動的に付ける場合を考えます。
A列 | B列 | C列 |
---|---|---|
氏名 | 点数 | 評価 |
田中 | 85 | =IFS(B2>=90,"A",B2>=80,"B",B2>=70,"C",B2>=60,"D",TRUE,"F") |
佐藤 | 92 | A |
鈴木 | 67 | D |
数式の解説:
- B2>=90 → 90点以上なら"A"を返す
- B2>=80 → 80点以上なら"B"を返す
- B2>=70 → 70点以上なら"C"を返す
- B2>=60 → 60点以上なら"D"を返す
- TRUE → 上記すべてに該当しない場合"F"を返す
3. 従来のIF関数との違いとメリット
同じ処理を従来のIF関数で行う場合と比較してみましょう。可読性の違いが一目瞭然です。
従来のIF関数(ネスト):
=IF(B2>=90,"A",IF(B2>=80,"B",IF(B2>=70,"C",IF(B2>=60,"D","F"))))
=IF(B2>=90,"A",IF(B2>=80,"B",IF(B2>=70,"C",IF(B2>=60,"D","F"))))
IFS関数:
=IFS(B2>=90,"A",B2>=80,"B",B2>=70,"C",B2>=60,"D",TRUE,"F")
=IFS(B2>=90,"A",B2>=80,"B",B2>=70,"C",B2>=60,"D",TRUE,"F")
IFS関数のメリット:
- 数式が読みやすく、理解しやすい
- 条件の追加・修正が簡単
- カッコの対応関係で混乱することがない
- デバッグが容易
4. 実務でよく使われる応用例
販売実績に基づくインセンティブ計算の例を見てみましょう。売上金額に応じて異なる手当を計算します。
A列 | B列 | C列 |
---|---|---|
営業担当 | 売上金額 | インセンティブ |
山田 | 1,200,000 | =IFS(B2>=1000000,B2*0.1,B2>=500000,B2*0.05,B2>=200000,B2*0.03,TRUE,0) |
高橋 | 850,000 | 42,500 |
伊藤 | 150,000 | 0 |
計算ルール:
- 100万円以上:売上の10%
- 50万円以上:売上の5%
- 20万円以上:売上の3%
- 20万円未満:0円
5. 注意点とエラーの回避方法
IFS関数を使用する際の注意点と、よくあるエラーの回避方法について説明します。
主な注意点:
- 条件の順序:条件は上から順に評価されるため、より厳しい条件を上に配置する
- 最後の条件:どの条件にも該当しない場合の処理として「TRUE」を使用する
- データ型の統一:比較する値のデータ型を統一する(数値vs文字列など)
- Excel バージョン:Excel 2016以降でのみ使用可能
エラーを避ける書き方:
=IFS(B2>=90,"優秀",B2>=80,"良好",B2>=70,"普通",B2>=60,"要改善",TRUE,"要指導")
=IFS(B2>=90,"優秀",B2>=80,"良好",B2>=70,"普通",B2>=60,"要改善",TRUE,"要指導")
よくある間違い:最後にTRUEを付けずに、どの条件にも該当しない値があると「#N/A」エラーが発生します。必ず最後の条件として「TRUE」と対応する値を設定しましょう。
6. 他の関数との組み合わせ活用法
IFS関数は他の関数と組み合わせることで、より複雑な条件判定が可能になります。日付関数との組み合わせ例を見てみましょう。
A列 | B列 | C列 |
---|---|---|
入社日 | 現在の日付 | 勤続年数区分 |
2020/4/1 | 2024/7/1 | =IFS(DATEDIF(A2,B2,"Y")>=10,"ベテラン",DATEDIF(A2,B2,"Y")>=5,"中堅",DATEDIF(A2,B2,"Y")>=1,"一般",TRUE,"新人") |
数式の解説:
- DATEDIF関数で勤続年数を計算
- 10年以上なら「ベテラン」
- 5年以上なら「中堅」
- 1年以上なら「一般」
- 1年未満なら「新人」
まとめ:IFS関数は複数条件の判定を効率的に行える強力な関数です。従来のIF関数のネストと比較して、可読性が高く、メンテナンスも容易です。実務では成績評価、インセンティブ計算、区分判定など様々な場面で活用できます。条件の順序と最後のTRUE条件を意識して使用することで、エラーのない数式を作成できます。