概要
複数の条件に応じて異なる値を返したいとき、これまでは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関数 |
---|---|---|
書き方 | ネスト構造 | 条件と値を並列で記述 |
読みやすさ | 条件が増えると複雑になる | スッキリ書けて読みやすい |
デフォルト値の指定 | 最後の引数として記述 | 条件なしで最後に値を追加 |
条件が真のときの動作 | 条件に一致した値を返して終了 | 最初に一致した値を返して終了 |
補足
- 同じ対象に対する条件が複数ある場合は、優先順位の高いものを上に書くこと