複雑な条件分岐もスッキリ!IFS関数の使い方とIF関数との違い

概要

複数の条件に応じて異なる値を返したいとき、これまではIF関数をネストして対応していた方も多いと思います。
でも、IFS関数を使えば、もっとスッキリと書けるんです!
この投稿では、IFS関数の基本的な使い方と、IF関数との違い・使い分けについて紹介します。


活用の背景や目的

  • 条件分岐が多いと、IF関数のネストが読みづらくなる
  • 読みやすく保守しやすい計算式にしたい
  • 「Aの場合はX」「Bの場合はY」「どれでもない場合はZ」など、分岐が増えがちなケースに対応したい

IFS関数の書き方(読みやすく整形)

IFS(
  条件1, 値1,
  条件2, 値2,
  値3
)
  • 各「条件, 値」のセットを縦に並べると見やすくなります
  • 最後の 値3 は「どの条件にも当てはまらない場合」のデフォルト値として使えます

基本例

文字列の条件に応じた表示

IFS(
  文字列1="ABC", "DEF",
  文字列2="GHI", "XYZ"
)
  • 文字列1が"ABC" → “DEF”
  • 文字列2が"GHI" → “XYZ”

すべての条件が偽のときのデフォルト値

IFS(
  1 < 0, "A",
  1 = 0, "B",
  "C"
)
  • すべて偽なので、最後の “C” が返されます

応用例①:金額によるランク分け

IFS(
  金額 >= 100000, "Sランク",
  金額 >= 50000, "Aランク",
  金額 >= 10000, "Bランク",
  "Cランク"
)
  • 金額に応じてランク表示
  • 条件は上から評価され、最初に一致したものが使われます

応用例②:ステータスに応じた色ラベル

IFS(
  ステータス = "申請中", "青",
  ステータス = "承認済", "緑",
  ステータス = "差戻し", "赤",
  "グレー"
)
  • ステータスの文字列に応じて表示色を切り替え
  • デフォルトは「グレー」

IF関数との比較

IF関数(ネストあり)

IF(条件1, 値1,
  IF(条件2, 値2, 値3)
)
  • 条件が多くなるとネストが深くなって見づらい

IFS関数(スッキリ)

IFS(
  条件1, 値1,
  条件2, 値2,
  値3
)
  • 条件と値を順番に並べるだけなので、見通しが良い

まとめ

比較項目 IF関数 IFS関数
書き方 ネスト構造 条件と値を並列で記述
読みやすさ 条件が増えると複雑になる スッキリ書けて読みやすい
デフォルト値の指定 最後の引数として記述 条件なしで最後に値を追加
条件が真のときの動作 条件に一致した値を返して終了 最初に一致した値を返して終了

補足

  • 同じ対象に対する条件が複数ある場合は、優先順位の高いものを上に書くこと

「いいね!」 3