Excelで「条件によって異なる計算を行いたい」と思ったとき、まず思いつくのはIF関数かもしれません。しかし、条件が3つ以上あるとIF関数はネスト(入れ子)構造になって読みづらくなりがちです。
そこで便利なのが、Excel 2016以降で使えるIFS関数です。IFS関数を使えば、複数の条件ごとに異なる計算式を設定しやすくなり、可読性・保守性も向上します。
この記事では、IFS関数で計算式を使う方法について、構文の基本から実務に役立つ具体例、IF関数との違い、注意点まで詳しく解説します。
目次
✅ IFS関数とは?IF関数との違いを理解しよう
・ IFS関数の特徴
IFS関数は、「ある条件が成立したらこの計算、別の条件なら別の計算」というように、複数の条件を1つの関数で処理できる関数です。
・ IFS関数の基本構文
"=IFS(条件1, 計算式1, 条件2, 計算式2, 条件3, 計算式3, ...)"
条件1:最初に判定したい条件
計算式1:条件1がTRUEのときに返す計算式や値
条件2以降:次の条件と対応する処理
IFS関数では、最初にTRUEと判定された条件だけが実行され、以降の条件は無視されます。
【Excel】IF関数と数式の組み合わせで動的な書式管理を実現する方法|Excel条件付き書式の実践活用術
・ IF関数とIFS関数の違い
比較項目 | IF関数 | IFS関数 |
---|---|---|
複数条件の処理 | ネストが必要で複雑になりがち | 条件と処理をペアで記述し、読みやすい |
構文の簡潔さ | 入れ子が深くなるとわかりづらい | 条件→結果を順番に並べるだけで済む |
ELSE(それ以外) | ELSE的な書き方が可能(最後に記述) | "TRUE" を最後の条件に指定することで代用可能 |
✅ 実務でよく使う「IFS関数+計算式」のパターン別解説
・売上に応じて報酬率を変える計算方法
売上が100万円以上 → 15%
50万円以上 → 10%
それ未満 → 5%
このような条件で報酬を計算したい場合、IFS関数を使えば次のように書けます。
=IFS(A2>=1000000, A20.15, A2>=500000, A20.10, A2<500000, A2*0.05)
※A2が売上金額のセル
→ 金額に応じた自動計算が1セルで完結し、ネストなしで見やすい式になります。
【Excel】【在庫管理】在庫数に応じて発注判断を自動化するIF関数の設定方法|ムダなく効率的な仕入れを実現
・点数に応じて評価ランクを計算式で表示する方法
80点以上 → "A"
70点以上 → "B"
60点以上 → "C"
それ未満 → "D"
=IFS(B2>=80, "A", B2>=70, "B", B2>=60, "C", TRUE, "D")
ここでは最後に "TRUE"
を指定して、いずれにも該当しない場合の処理を代用しています。
【Excel】【成績処理】複数教科の合否判定をIF関数で自動化する方法(合格/再試験/不合格)
・商品のカテゴリごとに消費税を計算する方法
食品 → 8%
衣料品 → 10%
医薬品 → 非課税(税額0)
=IFS(C2="食品", B20.08, C2="衣料品", B20.10, C2="医薬品", 0)
B2:価格
C2:商品カテゴリ
→ カテゴリに応じた計算式(掛け算や定数)を組み込んだIFSの活用例です。
■ IFS関数で計算式を使うときの注意点
【Excel】IF関数を使った条件付き書式で見やすいExcel表を作る方法|色分けで視覚的に業務効率UP!
1. 条件の順序は「上から評価される」
IFS関数は、上から順に条件をチェックし、最初にTRUEになった処理だけが実行される仕様です。
そのため、次のような順序で書くと意図通りに動作しない可能性があります。
❌ 誤った順序:
=IFS(B2>=60, "C", B2>=80, "A")
→ 常に60以上の時点で止まってしまい、80以上も「C」と判定されます。
✅ 正しい順序:
=IFS(B2>=80, "A", B2>=60, "C")
2. ELSEのような「それ以外」には TRUE を使う
IFS関数には「ELSE」のような構文はありませんが、最後の条件にTRUEを指定することで、すべての条件に当てはまらないときの処理を記述可能です。
=IFS(条件1, 計算式1, ..., TRUE, その他の計算式)
3. すべての条件がFALSEだと「#N/A」エラーになる
IFS関数では、どの条件もTRUEにならなければエラーになります。
最後に必ずTRUE条件を入れておくことで、これを防ぐことができます。
4. 数式のセル参照に注意
セルに数値が空白または文字列のとき、条件式の判定が誤動作する可能性があります。
→ ISNUMBER
や IFERROR
を併用して安全な判定にするのがおすすめです。
■ よくあるIFS関数のエラーとその原因
エラー内容 | 原因 | 解決方法 |
---|---|---|
#VALUE! エラー | 構文ミス(括弧やカンマの抜け) | 数式を見直して条件と値のペアが正しいか確認 |
#N/A エラー | すべての条件がFALSE | 最後に TRUE を入れてカバーする |
常に同じ結果になる | 条件の順序が不適切 | より厳しい条件から順に記述 |
■ IFS関数+計算式が役立つ業務シーン例
活用場面 | 処理内容 |
---|---|
営業インセンティブ | 売上額に応じて報酬率を自動で変更 |
成績評価 | 点数からランクを自動付与 |
経費精算 | 勘定科目ごとに税率や控除額を変更 |
顧客管理 | 利用状況に応じた割引率やステータスを自動設定 |
業務報告 | 完了状況や納期超過に応じた計算や表示を動的に切り替える |
■ まとめ:IFS関数×計算式でExcelの条件別処理をスマートに!
IFS関数は、複数の条件ごとに異なる処理を行う場合にとても便利な関数です。
特に計算式と組み合わせることで、条件に応じた金額計算・報酬判定・ランク付けなどをセル1つで実現でき、業務効率が大幅に向上します。
ポイントは以下の通り:
条件→処理をセットで順に書けるため、可読性が高い
ネスト不要で、IF関数よりシンプル
TRUEで「それ以外」の処理を簡単に記述可能
数値・文字・日付・セル参照など、柔軟に条件設定可能
IF関数では式が複雑になりすぎると感じていた方は、ぜひIFS関数を使った計算式にチャレンジしてみましょう。