概要
「80点以上ならA、70以上ならB、60以上ならC、それ以外はD」
みたいに、条件を上から順番に判定していきたいとき。
IF を入れ子にしてもできますが、
=IF(A2>=80,"A",IF(A2>=70,"B",IF(A2>=60,"C","D")))
正直、読みにくいですよね。
そこで使えるのが IFS 関数です。
IFS は
- 上から順番に条件をチェックして
- 最初に TRUE になったところの結果を返す
という、「複数条件版の IF」です。
IFS の基本構造
書式
=IFS(
条件1, 条件1がTRUEのときの値,
条件2, 条件2がTRUEのときの値,
条件3, 条件3がTRUEのときの値,
...
)
ポイントは 2つです。
- 条件と結果が「セット」で並ぶ
- 条件1 → 結果1
- 条件2 → 結果2
- 上から順に判定し、最初に TRUE になった条件の結果だけを返す
最後までどの条件も TRUE にならないとエラー(#N/A)になるので、
「どれにも当てはまらなかったとき用」の条件も自分で用意します。
IFS の基本パターン(IF との違いを体感する)
例1:点数でランク分け(IFS 版)
A2 に点数が入っているとします。
条件はこうです。
- 80点以上 → “A”
- 70点以上 → “B”
- 60点以上 → “C”
- それ以外 → “D”
IFS で書くとこうなります。
=IFS(
A2>=80, "A",
A2>=70, "B",
A2>=60, "C",
TRUE, "D"
)
最後の TRUE, "D" が、
「どの条件にも当てはまらなかったときの“その他扱い”」です。
IF の入れ子と比べて、
「条件 → 結果」が縦にスッキリ並んでいて読みやすいはずです。
例2:売上ランク(数値条件の多段階判定)
B2 に売上金額が入っているとして、
- 1,000,000 以上 → “S”
- 500,000 以上 → “A”
- 300,000 以上 → “B”
- それ以外 → “C”
なら、IFS ではこう書けます。
=IFS(
B2>=1000000, "S",
B2>=500000, "A",
B2>=300000, "B",
TRUE, "C"
)
「大きい順(厳しい条件)から書く」のがコツです。
上から順に判定されるので、範囲の重なりを気にしなくてよくなります。
文字列の複数条件判定に使う
例3:ステータスによって表示を変える
C2 にステータスが入っているとします。
- “完了” → “OK”
- “保留” → “要確認”
- “取消” → “NG”
- それ以外 → “未処理”
というルールなら、IFS でこう書きます。
=IFS(
C2="完了", "OK",
C2="保留", "要確認",
C2="取消", "NG",
TRUE, "未処理"
)
条件が増えても、「条件 → 結果」を追加していくだけです。
数値+文字列を組み合わせて判定する
例4:売上とステータスを組み合わせた評価
D2:売上金額
E2:ステータス(”確定” / “見込” など)
ルール:
- 売上 1,000,000 以上 かつ ステータスが “確定” → “最重要”
- 売上 500,000 以上 かつ ステータスが “確定” → “重要”
- ステータスが “見込” → “見込”
- それ以外 → “通常”
AND と組み合わせてこう書きます。
=IFS(
AND(D2>=1000000, E2="確定"), "最重要",
AND(D2>=500000, E2="確定"), "重要",
E2="見込", "見込",
TRUE, "通常"
)
ここでも「優先度の高い条件から書く」のが大事です。
上2つが「確定」のときの評価で、3つ目が「見込」のときの評価です。
IFS を使うときのコツ・注意点
どれにも当てはまらないと #N/A になる
IFS は、
どの条件も TRUE にならないと #N/A を返します。
なので、最後に必ず
TRUE, "その他(デフォルト値)"
のような「漏れ対策」を入れておくのがおすすめです。
条件の順番が超重要
IFS は「上から順番に判定して、最初に TRUE になったところで止まる」
という仕様です。
例えば、点数判定で
=IFS(
A2>=60, "合格",
A2>=80, "優秀",
TRUE, "不合格"
)
と書いてしまうと、
80点の人も「A2>=60」が先に TRUE になるので、「合格」で止まり、
「優秀」まで到達しません。
範囲が広い条件ほど後ろに置く
(=「きびしい条件から書く」)
と覚えてください。
IF と IFS の使い分け
- 条件が 2 つだけなら → IF で十分
- 条件が 3つ以上になってきて、IF の入れ子が読みにくい → IFS に切り替え
というイメージで使い分けるとよいです。
IFS は「複数条件の“表”をそのまま式にした感じ」なので、
ルールが増えるほど威力を発揮します。
例題
問題1
A2 に点数が入っています。
80 以上なら “A”、70 以上なら “B”、60 以上なら “C”、それ以外は “D” と表示する式を IFS で書いてください。
=IFS(
A2>=80, "A",
A2>=70, "B",
A2>=60, "C",
TRUE, "D"
)
問題2
B2 に売上金額が入っています。
1,000,000 以上なら “S”、500,000 以上なら “A”、300,000 以上なら “B”、それ以外は “C” と表示する式を IFS で書いてください。
=IFS(
B2>=1000000, "S",
B2>=500000, "A",
B2>=300000, "B",
TRUE, "C"
)
問題3
C2 にステータス(”完了”、”保留”、”取消” など)が入っています。
“完了”→”OK”、”保留”→”要確認”、”取消”→”NG”、それ以外→”未処理” と表示する式を IFS で書いてください。
=IFS(
C2="完了", "OK",
C2="保留", "要確認",
C2="取消", "NG",
TRUE, "未処理"
)
問題4
D2 に売上金額、E2 にステータス(”確定” または “見込”)が入っています。
次のルールで評価を表示する IFS 式を書いてください。
- 売上 1,000,000 以上かつ “確定” → “最重要”
- 売上 500,000 以上かつ “確定” → “重要”
- ステータスが “見込” → “見込”
- それ以外 → “通常”
=IFS(
AND(D2>=1000000, E2="確定"), "最重要",
AND(D2>=500000, E2="確定"), "重要",
E2="見込", "見込",
TRUE, "通常"
)
問題5
F2 に「A」「B」「C」のいずれかが入っています。
“A”→”高優先”、”B”→”中優先”、”C”→”低優先”、それ以外→”未設定” と表示する式を IFS で書いてください。
=IFS(
F2="A", "高優先",
F2="B", "中優先",
F2="C", "低優先",
TRUE, "未設定"
)
まとめ
IFS は、複数条件を順番に判定していくための関数です。
型はシンプルで、
=IFS(
条件1, 結果1,
条件2, 結果2,
条件3, 結果3,
...,
TRUE, どこにも当てはまらないときの結果
)
という形さえ覚えればOKです。
ポイントは、
- 条件は「上から順に」判定される
- 条件が多い・範囲が重なるときほど IFS が活きる
- 最後に
TRUE, "その他"を入れておくと安全
IF の入れ子でごちゃついてきたら、
「これは IFS にできないか?」と一度立ち止まってみてください。
そこが、Excel スキルが一段上がる分岐点になります。
