Excel関数 逆引き集 | 複数条件メッセージ → IFS

Excel
スポンサーリンク

概要

「条件が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 のネストで悩んでいた部分が一気に読みやすくなるので、
ぜひ“複数条件メッセージ生成の型”として使いこなしてみてください。

Excel
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました