SWITCH()
は以下のような機能となります
🧩 書式イメージ
appsheetコピーする編集するSWITCH(
[列A],
"A", "結果A",
"B", "結果B",
"C", "結果C",
"その他"
)
[列A]
と"A"
が一致すれば"結果A"
を返す- 一致するものがなければ最後の
"その他"
(デフォルト)を返す
実例1:日付ラベル
SWITCH(
[日付],
TODAY(), "今日",
TODAY()-1, "昨日",
TODAY()+1, "明日",
TEXT([日付])
)
TODAY()
→”今日”、TODAY()-1
→”前日”、TODAY()+1
→”翌日”- それ以外の日は日付文字列を返す
実例2:色による数値振り分け
SWITCH(
[Color],
"赤", 3,
"黄", 2,
"緑", 1,
0
)
赤
→3、黄
→2、緑
→1、それ以外→0
実例3:アクセス権チェック
SWITCH(
[Access Role],
"Admin", IN(USEREMAIL(), Admins[Email]),
"User", IN(USEREMAIL(), Users[Email]),
FALSE
)
ロールに応じてアクセス権を返すことができます
利点まとめ
- ネストせず可読性UP
- 条件が多くなるときに
IF()
よりスッキリ - 最後にデフォルトが必要
Tips & Pitfalls
ポイント | 内容 |
---|---|
デフォルト | 必ず最後に書く(省略不可) |
同じ型 | すべての結果(value1, value2…)は同じ型である必要 |
ネスト | SWITCH() 内にも IF() や他 SWITCH() を使える |
他関数 | IF() と併用して柔軟な実装も可能 |
✅ まとめ
SWITCH()
は条件分岐をきれいに書くために有用IF()
のネストより可読性が高く、保守しやすい記述に最適- 最低限の構成と実例を覚えて活用すればOK