概要
「1なら“低”、2なら“中”、3なら“高”と表示したい」
「選択番号に応じて、表示内容を切り替えたい」
「IF を何段も重ねるのは大変だから、もっとスッキリ書きたい」
こういう “番号に応じて表示内容を切り替える” ときに便利なのが
CHOOSE 関数 です。
CHOOSE は、
「番号 → 対応する値」
という対応表をそのまま式の中に作れる関数です。
CHOOSE の基本
書式と動き
CHOOSE の基本形はこうです。
=CHOOSE(番号, 値1, 値2, 値3, …)
動きはとてもシンプルです。
- 番号が 1 → 値1
- 番号が 2 → 値2
- 番号が 3 → 値3
- …というように、番号に応じて返す値が決まる
例:
=CHOOSE(2, "低", "中", "高")
番号が 2 なので、返り値は「中」になります。
IF を使わずに「条件付き表示切替」ができる
1→低、2→中、3→高 と表示する
A2 に 1〜3 の数字が入っているとします。
=CHOOSE(A2, "低", "中", "高")
A2=1 → 「低」
A2=2 → 「中」
A2=3 → 「高」
IF を 3 段重ねるより圧倒的にスッキリします。
数値だけでなく、計算式も返せる
番号に応じて計算式を切り替える
CHOOSE の返り値は文字列だけでなく、計算式でもOKです。
例:
A2 の番号に応じて、B2 の値を 1倍・2倍・3倍にする。
=CHOOSE(A2, B2, B2*2, B2*3)
A2=1 → B2
A2=2 → B2×2
A2=3 → B2×3
「処理内容を切り替える」用途にも使えます。
CHOOSE を使った分類(カテゴリ分け)
1→Aグループ、2→Bグループ、3→Cグループ
A2 に分類番号が入っているとします。
=CHOOSE(A2, "Aグループ", "Bグループ", "Cグループ")
番号に応じてグループ名を返す、典型的な使い方です。
1→「未着手」、2→「進行中」、3→「完了」
=CHOOSE(A2, "未着手", "進行中", "完了")
タスク管理表などでよく使われます。
CHOOSE の応用:曜日番号 → 曜日名
WEEKDAY と組み合わせる
WEEKDAY 関数は日付から「曜日番号(1〜7)」を返します。
これを CHOOSE と組み合わせると、曜日名を簡単に表示できます。
=CHOOSE(WEEKDAY(A2), "日", "月", "火", "水", "木", "金", "土")
A2 が 2025/1/1 なら、WEEKDAY(A2)=4 なので「水」が返ります。
CHOOSE の注意点
番号が 1 未満または値の数を超えるとエラー
例えば、
=CHOOSE(4, "低", "中", "高")
のように、4 を指定すると「値が3つしかない」ためエラーになります。
番号は整数である必要がある
小数(例:1.5)を指定するとエラーになります。
整数に丸めたい場合は INT や ROUND を組み合わせます。
例題
問題1
A2 に 1〜3 の番号が入っています。
1→「低」、2→「中」、3→「高」と表示する CHOOSE の式を書いてください。
=CHOOSE(A2, "低", "中", "高")
問題2
A2 の番号に応じて、B2 の値を 1倍・2倍・3倍にする式を書いてください。
=CHOOSE(A2, B2, B2*2, B2*3)
問題3
A2 の番号に応じて、「未着手」「進行中」「完了」と表示する式を書いてください。
=CHOOSE(A2, "未着手", "進行中", "完了")
問題4
A2 の日付の曜日を「日〜土」で表示する CHOOSE+WEEKDAY の式を書いてください。
=CHOOSE(WEEKDAY(A2), "日", "月", "火", "水", "木", "金", "土")
問題5
A2 の番号が 1〜4 のとき、
1→10、2→20、3→30、4→40 を返す CHOOSE の式を書いてください。
=CHOOSE(A2, 10, 20, 30, 40)
まとめ
CHOOSE は、
- 番号に応じて表示内容を切り替える
- IF を何段も重ねる代わりに使える
- 文字列だけでなく計算式も返せる
- WEEKDAY などと組み合わせると強力
という、とても便利な「条件付き表示切替」関数です。
型はこれだけ覚えれば十分です。
=CHOOSE(番号, 値1, 値2, 値3, …)
IF が長くなって困ったとき、
「これ CHOOSE で書けないかな?」と考えるクセをつけると、
Excel の式が一気にスッキリして読みやすくなります。
