概要
「条件が3つ以上ある」「IF をネストすると読みにくい」
そんなときに圧倒的に便利なのが IFS 関数です。
IFS は、
条件1がTRUEなら結果1
条件2がTRUEなら結果2
条件3がTRUEなら結果3
…
というように、複数条件を“上から順に”評価して、最初にTRUEになった結果を返す関数です。
IF の入れ子よりも読みやすく、
「評価」「判定」「メッセージ生成」にとても向いています。
ここでは、初心者でもすぐ使えるテンプレートと例題を交えて、
IFS を使った 複数条件メッセージ生成 を丁寧に解説します。
IFS 関数の基本
書式
=IFS(条件1, 結果1, 条件2, 結果2, 条件3, 結果3, …)
ポイントは次の3つです。
- 条件は 上から順に評価 される
- 最初に TRUE になった結果が返る
- ELSE(その他)は「TRUE」を最後に置くことで代用できる
例:点数によって評価を変える
=IFS(
A2>=80, "優",
A2>=60, "良",
A2<60, "不可"
)
IF のネストよりも読みやすいのが特徴です。
基本パターン:数値の範囲でメッセージを切り替える
例:点数による評価(優・良・可・不可)
A2 に点数が入っているとして、
次のように評価したいとします。
- 90以上 → 「秀」
- 80以上 → 「優」
- 60以上 → 「良」
- 60未満 → 「不可」
B2 に次の式を書きます。
=IFS(
A2>=90, "秀",
A2>=80, "優",
A2>=60, "良",
TRUE, "不可"
)
最後の TRUE は「どれにも当てはまらなかった場合」の“その他”扱いです。
応用1:文字列条件でメッセージを切り替える
例:ステータスによってコメントを変える
A2 にステータスが入っているとします。
- “完了” → 「作業は完了しています。」
- “進行中” → 「現在作業を進めています。」
- “未着手” → 「まだ作業は開始されていません。」
- その他 → 「ステータス不明」
B2 に次の式を書きます。
=IFS(
A2="完了", "作業は完了しています。",
A2="進行中", "現在作業を進めています。",
A2="未着手", "まだ作業は開始されていません。",
TRUE, "ステータス不明"
)
文字列判定も IFS ならスッキリ書けます。
応用2:複数条件を組み合わせたメッセージ
例:売上額によってコメントを変える
A2 に売上額が入っているとして、
- 100,000以上 → 「売上は非常に好調です。」
- 70,000以上 → 「売上は順調です。」
- 40,000以上 → 「売上はやや低調です。」
- 40,000未満 → 「売上は改善が必要です。」
B2 に次の式を書きます。
=IFS(
A2>=100000, "売上は非常に好調です。",
A2>=70000, "売上は順調です。",
A2>=40000, "売上はやや低調です。",
TRUE, "売上は改善が必要です。"
)
IF のネストよりも圧倒的に読みやすいです。
応用3:日付・数値・文字列を混ぜたメッセージ生成
例:期限と進捗でメッセージを変える
A2:進捗率(0〜1)
B2:期限日
次のようにメッセージを変えたいとします。
- 進捗100% → 「完了しました。」
- 進捗50%以上 → 「順調に進行中です。」
- 期限が今日より前 → 「期限を過ぎています。」
- その他 → 「作業が遅れています。」
C2 に次の式を書きます。
=IFS(
A2=1, "完了しました。",
A2>=0.5, "順調に進行中です。",
B2<TODAY(), "期限を過ぎています。",
TRUE, "作業が遅れています。"
)
複数の種類の条件を混ぜても、IFS なら整理しやすいです。
応用4:ラベル+メッセージを組み合わせる
例:担当者名を含めたメッセージ
A2:担当者名
B2:ステータス(完了 / 進行中 / 未着手)
C2 に次の式を書きます。
=IFS(
B2="完了", "担当:" & A2 & "(作業完了)",
B2="進行中", "担当:" & A2 & "(作業中)",
B2="未着手", "担当:" & A2 & "(未着手)",
TRUE, "担当:" & A2 & "(状態不明)"
)
IFS は文字列結合とも相性が良く、
「条件付きラベル生成」にも最適です。
複数条件メッセージ生成の“型”まとめ
数値の範囲でメッセージ切替
=IFS(
条件1, "メッセージ1",
条件2, "メッセージ2",
条件3, "メッセージ3",
TRUE, "その他"
)
文字列条件でメッセージ切替
=IFS(
A2="A", "Aのとき",
A2="B", "Bのとき",
TRUE, "その他"
)
条件の優先順位を上から順に書く
IFS は「最初にTRUEになったもの」を返すため、
条件は“優先順位の高い順”に書くのが鉄則です。
例題
問題1
A2 に点数が入っています。
80以上 → 「優」
60以上 → 「良」
それ以外 → 「不可」
と表示したいです。
IFS を使った式を書いてください。
=IFS(
A2>=80,"優",
A2>=60,"良",
TRUE,"不可"
)
問題2
A2 にステータス(完了 / 進行中 / 未着手)が入っています。
それぞれに応じて次のメッセージを返したいです。
- 完了 → 「作業は完了しています。」
- 進行中 → 「現在作業を進めています。」
- 未着手 → 「まだ作業は開始されていません。」
- その他 → 「ステータス不明」
IFS を使った式を書いてください。
=IFS(
A2="完了","作業は完了しています。",
A2="進行中","現在作業を進めています。",
A2="未着手","まだ作業は開始されていません。",
TRUE,"ステータス不明"
)
問題3
A2 に売上額が入っています。
100,000以上 → 「非常に好調」
70,000以上 → 「順調」
40,000以上 → 「やや低調」
それ以外 → 「改善が必要」
と表示したいです。
IFS を使った式を書いてください。
=IFS(
A2>=100000,"非常に好調",
A2>=70000,"順調",
A2>=40000,"やや低調",
TRUE,"改善が必要"
)
問題4
A2 に進捗率(0〜1)、B2 に期限日が入っています。
次の条件でメッセージを返したいです。
- 進捗100% → 「完了」
- 進捗50%以上 → 「順調」
- 期限が今日より前 → 「期限切れ」
- その他 → 「遅延」
IFS を使った式を書いてください。
=IFS(
A2=1,"完了",
A2>=0.5,"順調",
B2<TODAY(),"期限切れ",
TRUE,"遅延"
)
問題5
A2 に担当者名、B2 にステータス(完了 / 進行中 / 未着手)が入っています。
次のようなラベルを返したいです。
- 完了 → 「担当:◯◯(完了)」
- 進行中 → 「担当:◯◯(作業中)」
- 未着手 → 「担当:◯◯(未着手)」
- その他 → 「担当:◯◯(不明)」
IFS を使った式を書いてください。
=IFS(
B2="完了","担当:" & A2 & "(完了)",
B2="進行中","担当:" & A2 & "(作業中)",
B2="未着手","担当:" & A2 & "(未着手)",
TRUE,"担当:" & A2 & "(不明)"
)
IFS は「複数条件をきれいに整理して書ける」Excel の名脇役です。
IF のネストで悩んでいた部分が一気に読みやすくなるので、
ぜひ“複数条件メッセージ生成の型”として使いこなしてみてください。
