CHOOSE+MATCH→SWITCH
Excel 2019以降値の完全一致による分岐を1つの関数で記述。CHOOSE の連番制約がなくなる
💡
結論: SWITCH への移行をおすすめします
値の完全一致による分岐を1つの関数で記述。CHOOSE の連番制約がなくなる
書き換え前後の比較
✕Before: CHOOSE+MATCH
=CHOOSE(MATCH(A2,{"月","火","水","木","金","土","日"},0),"営業日","営業日","営業日","営業日","営業日","休日","休日")
-- 問題点:
-- ・MATCH で位置を求める必要がある
-- ・配列定数を使う必要がある
-- ・数式が長く、わかりにくい✓After: SWITCH
=SWITCH(A2,"月","営業日","火","営業日","水","営業日","木","営業日","金","営業日","土","休日","日","休日","不明") -- 改善点: -- ・値と結果が対になっている -- ・MATCH 不要で数式が短い -- ・既定値を最後に指定できる
✓ SWITCH のメリット
✓
MATCH で位置を求める処理が不要になる
✓
CHOOSE の連番(1,2,3...)制約がなくなり、任意の値で分岐できる
✓
数式が短くシンプルになる
✓
既定値(該当なし)を最後の引数で指定できる
⚠️ 注意点
⚠️
Excel 2016では使用不可
⚠️
範囲判定(以上、以下)には使えない(その場合はIFSを使用)
⚠️
既定値を指定しないと、該当なしの場合に #N/A エラーになる
バージョン対応状況
| 関数 | Excel 2016 | Excel 2019 | Excel 2021 | Microsoft 365 |
|---|---|---|---|---|
| CHOOSE+MATCH | ✓ | ✓ | ✓ | ✓ |
| SWITCH | ✓ | ✓ | ✓ | ✓ |
関連する Q&A
キーワード
CHOOSEMATCHSWITCH分岐2019