概要
「点数が 80 以上なら“優”、60〜79 なら“良”、40〜59 なら“可”、それ以外は“不可”」
「売上が一定以上なら“達成”、未達なら“未達”」
「ステータス番号に応じて表示を切り替えたい」
こうした “複数の条件に応じてラベルを切り替える” ときに便利なのが IFS 関数 です。
IFS は、
「条件1なら結果1、条件2なら結果2、条件3なら結果3…」
という形で、IF を何段も重ねるよりスッキリ書ける関数です。
IFS の基本
書式と動き
IFS の基本形は次のとおりです。
=IFS(条件1, 結果1, 条件2, 結果2, 条件3, 結果3, …)
動きはとてもシンプルです。
- 上から順に条件をチェック
- 最初に TRUE になった条件の「結果」を返す
- どれも TRUE にならないとエラー(#N/A)
つまり、「条件の優先順位を上から決める」 というイメージです。
IFS を使った条件別ラベル付けの基本
点数に応じて「優・良・可・不可」を表示する
A2 に点数が入っているとします。
=IFS(
A2>=80, "優",
A2>=60, "良",
A2>=40, "可",
A2<40, "不可"
)
IFS は上から順に判定します。
- A2>=80 → TRUE なら「優」
- 80 未満なら次へ
- A2>=60 → TRUE なら「良」
- A2>=40 → TRUE なら「可」
- 最後に A2<40 → TRUE なら「不可」
IF を4段重ねるより圧倒的に読みやすくなります。
数値範囲でラベルを切り替える
売上に応じてランク付けする
B2 に売上が入っているとします。
=IFS(
B2>=1000000, "Sランク",
B2>=500000, "Aランク",
B2>=100000, "Bランク",
B2<100000, "Cランク"
)
売上の範囲に応じてランクを自動判定できます。
ステータス番号に応じて表示を切り替える
1→未着手、2→進行中、3→完了
A2 にステータス番号が入っているとします。
=IFS(
A2=1, "未着手",
A2=2, "進行中",
A2=3, "完了"
)
番号に応じてラベルを切り替える典型的な使い方です。
文字列に応じてラベルを付ける
商品カテゴリに応じて表示を変える
A2 にカテゴリ名が入っているとします。
=IFS(
A2="食品", "消費期限管理",
A2="家電", "保証書管理",
A2="衣料", "サイズ管理",
TRUE, "その他"
)
最後の TRUE は「どれにも当てはまらないときのデフォルト」として使えます。
IFS の注意点
どれも TRUE にならないとエラーになる
IFS は「最初に TRUE になった条件の結果を返す」関数ですが、
どれも TRUE にならないと #N/A エラー になります。
そのため、最後に
TRUE, "その他"
のような“受け皿”を作っておくと安全です。
条件は上から順に評価される
IFS は「最初に TRUE になった条件」で止まります。
そのため、広い条件は下に、厳しい条件は上に書くのがコツです。
例:A2>=0 を上に書くと、それより下の条件がすべて無視されます。
例題
問題1
A2 の点数に応じて、
80以上→「優」、60以上→「良」、40以上→「可」、それ以外→「不可」
と表示する IFS の式を書いてください。
=IFS(
A2>=80, "優",
A2>=60, "良",
A2>=40, "可",
TRUE, "不可"
)
問題2
B2 の売上に応じて、
100万以上→S、50万以上→A、10万以上→B、それ以外→C
と表示する式を書いてください。
=IFS(
B2>=1000000, "S",
B2>=500000, "A",
B2>=100000, "B",
TRUE, "C"
)
問題3
A2 のステータス番号に応じて、
1→未着手、2→進行中、3→完了
と表示する式を書いてください。
=IFS(
A2=1, "未着手",
A2=2, "進行中",
A2=3, "完了"
)
問題4
A2 のカテゴリ名に応じて、
食品→「消費期限管理」、家電→「保証書管理」、衣料→「サイズ管理」、その他→「その他」
と表示する式を書いてください。
=IFS(
A2="食品", "消費期限管理",
A2="家電", "保証書管理",
A2="衣料", "サイズ管理",
TRUE, "その他"
)
問題5
A2 の値が
0未満→「負」、0→「ゼロ」、0より大きい→「正」
と表示される IFS の式を書いてください。
=IFS(
A2<0, "負",
A2=0, "ゼロ",
A2>0, "正"
)
まとめ
IFS は、
- 条件が多いときに IF を何段も重ねる必要がない
- 上から順に条件を評価して、最初に TRUE になった結果を返す
- 数値・文字列・計算式など、何でも返せる
- 最後に
TRUE, "その他"を置くと安全
という、とても便利な「条件別ラベル付け」関数です。
型はこれだけ覚えれば十分です。
=IFS(条件1, 結果1, 条件2, 結果2, …, TRUE, デフォルト結果)
複雑な IF の入れ子で悩んだとき、
「これ IFS で書けないかな?」と考えると、
式が一気に読みやすく、管理しやすくなります。
