「1なら電車、2ならバス、3なら飛行機…」。こんなふうに番号で値を振り分けたいとき、IF関数のネストで対応していませんか?
条件が増えるたびに括弧が深くなって、読むのも修正するのも大変ですよね。
そんなときに便利なのが、ExcelのCHOOSE関数です。この記事では基本の構文から実務で役立つ応用パターン、IF・IFS・SWITCHとの使い分けまでわかりやすく解説します。
ExcelのCHOOSE関数とは?
CHOOSE関数でできること
CHOOSE関数(読み方:チューズ関数)は、インデックス番号に対応する値を返す関数です。英語の「choose(選ぶ)」がそのまま名前の由来になっています。
たとえば「1番なら営業部、2番なら総務部、3番なら経理部」のように、番号と値をセットで指定するだけでOKです。
CHOOSE関数にできることをまとめると、次のとおりです。
- 番号に応じた値をかんたんに返せる
- IF関数のネストをすっきり書き換えられる
- 値には数値・文字列・数式・セル参照など何でも指定できる
- 最大254個の値を扱える
「番号で値を選ぶ関数」と覚えておくとわかりやすいですよ。
どんな場面で使う?
CHOOSE関数が活躍するのは、次のような場面です。
- 番号に対応する項目名を表示したい
- WEEKDAY関数と組み合わせて曜日名を出したい
- 月ごとに四半期(Q1〜Q4)を振り分けたい
- 集計方法(合計・平均・件数など)を切り替えたい
いずれも「連番の整数がキーになる」パターンです。このパターンではIF関数のネストより圧倒的に読みやすくなります。
CHOOSE関数の構文と引数
構文の読み方
まずはCHOOSE関数の構文を確認しましょう。
=CHOOSE(インデックス, 値1, [値2], ...)
第1引数に「何番目を選ぶか」を指定し、第2引数以降に「選択肢」を並べます。インデックスが1なら値1、2なら値2…というシンプルな仕組みです。
引数の指定ルール(最大254値)
各引数のルールを表にまとめました。
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| インデックス | 必須 | 1〜254の整数、またはそれを返す数式・セル参照 |
| 値1 | 必須 | インデックスが1のときに返す値 |
| 値2〜値254 | 省略可 | インデックスが2〜254のときに返す値 |
押さえておきたいポイントは次の3つです。
- インデックスは整数のみ:小数を指定すると、小数部分は切り捨てて整数として処理されます(例:2.9 → 2)
- 値引数は何でもOK:数値・文字列・セル参照・定義名・数式・関数・セル範囲を指定できます
- 最大254個まで:値1〜値254の最大254個の選択肢を設定できます
NOTE
CHOOSE関数はExcel 2016以降、Microsoft 365、Excel for the webで使えます。
基本的な使い方
シンプルな番号→値の変換
もっとも基本的な使い方は、番号を項目名に変換するパターンです。
たとえば交通手段を番号で管理しているとします。セルA2に「1〜3」の番号が入っている場合、次のように書きます。
=CHOOSE(A2, "電車", "バス", "飛行機")
| セル | 値 |
|---|---|
| A2 | 2 |
| B2(数式) | =CHOOSE(A2, “電車”, “バス”, “飛行機”) |
| B2(結果) | バス |
A2が1なら「電車」、2なら「バス」、3なら「飛行機」を返します。番号と値の対応がひと目でわかりますよね。
IFネスト3段とCHOOSEのビフォー・アフター
同じ処理をIF関数で書くとこうなります。
Before:IFネスト
=IF(A2=1,"電車",IF(A2=2,"バス",IF(A2=3,"飛行機","")))
After:CHOOSE関数
=CHOOSE(A2,"電車","バス","飛行機")
IFネストは括弧の対応を追いかけるだけでも大変です。CHOOSE関数なら引数を順番に並べるだけなので、読みやすさが段違いですよね。
選択肢が5個、10個と増えても、CHOOSE関数なら値を追加するだけで済みます。IFネストだと括弧が何重にもなって保守がむずかしくなりますが、CHOOSE関数ならそんな心配はありません。
実践的な使い方(応用3パターン)
WEEKDAY関数と組み合わせて曜日名を表示する
WEEKDAY関数は日付から曜日番号(1〜7)を返します。この番号をCHOOSE関数に渡せば、曜日名を日本語で表示できます。
=CHOOSE(WEEKDAY(A2),"日","月","火","水","木","金","土")
| セル | 値 |
|---|---|
| A2 | 2026/03/21(土曜日) |
| B2(数式) | =CHOOSE(WEEKDAY(A2),”日”,”月”,”火”,”水”,”木”,”金”,”土”) |
| B2(結果) | 土 |
WEEKDAY関数はデフォルトで日曜=1、月曜=2…土曜=7を返します。CHOOSE関数の値1〜値7にそれぞれの曜日名を並べればOKです。
月曜始まりにしたい場合は、WEEKDAYの第2引数に2を指定します。
=CHOOSE(WEEKDAY(A2,2),"月","火","水","木","金","土","日")
この場合は月曜=1、火曜=2…日曜=7になるので、値の並び順を変えてくださいね。
MONTH関数と組み合わせて四半期を求める
MONTH関数は日付から月(1〜12)を返します。この番号をCHOOSE関数に渡すと、月ごとの四半期がかんたんに求められます。
=CHOOSE(MONTH(A2),"Q1","Q1","Q1","Q2","Q2","Q2","Q3","Q3","Q3","Q4","Q4","Q4")
| セル | 値 |
|---|---|
| A2 | 2026/03/21 |
| B2(数式) | =CHOOSE(MONTH(A2),”Q1″,”Q1″,”Q1″,”Q2″,”Q2″,”Q2″,”Q3″,”Q3″,”Q3″,”Q4″,”Q4″,”Q4″) |
| B2(結果) | Q1 |
1月〜3月がQ1、4月〜6月がQ2…というように、12か月分の値を並べるだけで四半期の振り分けが完成します。IFやIFS関数で条件を書くよりずっとシンプルですよね。
日本の会計年度(4月始まり)に合わせる場合は、並び順を変えましょう。
=CHOOSE(MONTH(A2),"Q4","Q4","Q4","Q1","Q1","Q1","Q2","Q2","Q2","Q3","Q3","Q3")
4月がQ1、1月〜3月がQ4になるように配置すればOKです。
集計方法を切り替える(SUM・AVERAGE・COUNTなど)
CHOOSE関数の値引数には数式や関数も指定できます。これを利用すると、セルの値で集計方法を切り替える仕組みが作れます。
たとえばセルE1に「1=合計、2=平均、3=件数」と番号を入力して、集計結果を動的に切り替えてみましょう。
=CHOOSE(E1, SUM(B2:B10), AVERAGE(B2:B10), COUNT(B2:B10))
| E1の値 | 返される結果 |
|---|---|
| 1 | SUM(合計) |
| 2 | AVERAGE(平均) |
| 3 | COUNT(件数) |
ちょっとむずかしく見えますが、やっていることはシンプルです。E1の番号に応じて「どの関数を実行するか」を選んでいるだけですよ。
ダッシュボードやレポートで集計方法を切り替えたいときに使えるテクニックです。
よくあるエラーと対処法
#VALUE! エラー:インデックスが0以下・上限超過
CHOOSE関数で最も多いのが #VALUE! エラーです。次のケースで発生します。
- インデックスが 1より小さい(0や負の数)
- インデックスが 用意した値の数を超えている
=CHOOSE(0, "電車", "バス", "飛行機") → #VALUE!(0は範囲外)
=CHOOSE(4, "電車", "バス", "飛行機") → #VALUE!(値は3つしかない)
対処法はシンプルです。インデックスが必ず「1〜値の個数」の範囲に収まるようにデータを確認してください。
IFERROR関数でエラーをやさしく処理する
データの入力ミスなどで範囲外の値が入る可能性がある場合は、IFERROR関数で囲んでおくと安心です。
=IFERROR(CHOOSE(A2,"電車","バス","飛行機"), "該当なし")
エラーが出たときに「該当なし」などのメッセージを表示できます。ユーザーが入力するシートでは、この書き方をしておくと親切ですよ。
IF・IFS・SWITCH関数との使い分け
4関数の特徴比較表
条件分岐に使える4つの関数を比較表にまとめました。
| 項目 | IF | IFS | SWITCH | CHOOSE |
|---|---|---|---|---|
| 条件の書き方 | TRUE/FALSEの2択 | 複数条件を順番に評価 | 値の完全一致 | 連番インデックス |
| ネストの必要性 | 3分岐以上はネスト必要 | 不要 | 不要 | 不要 |
| 文字列キーの使用 | 可 | 可 | 可 | 不可(数値のみ) |
| デフォルト値 | ELSEで指定 | 最終条件にTRUEで代用 | 最終引数で指定 | なし(#VALUE!) |
| 対応バージョン | 全バージョン | 2019以降/365 | 2019以降/365 | 2016以降 |
| 最大分岐数 | ネスト64段 | 127条件 | 126ペア | 254値 |
シーン別おすすめ関数
どの関数を選ぶか迷ったときは、次の基準で判断してみてください。
- 2〜3択のシンプルな分岐 → IF関数が手軽
- 4つ以上の条件を順番に評価したい → IFS関数がすっきり
- 文字列キーや不連続な値で分岐+デフォルト値が必要 → SWITCH関数が最適
- 連番の整数(WEEKDAY・MONTHなど)で分岐 → CHOOSE関数が一番シンプル
Excel 2016環境でも使える互換性の高さはCHOOSE関数の大きなメリットです。SWITCH関数はExcel 2019以降またはMicrosoft 365でしか使えません。共有ファイルの互換性を重視するなら、CHOOSE関数を選びましょう。
まとめ
この記事では、ExcelのCHOOSE関数の使い方を基本から応用まで解説しました。
ポイントをおさらいしましょう。
- CHOOSE関数は「インデックス番号に対応する値を返す」関数
- IFネストの書き換えに使うと数式がすっきりする
- WEEKDAY関数と組み合わせれば曜日名の表示がかんたん
- MONTH関数と組み合わせれば四半期の振り分けもワンステップ
- インデックスが範囲外だと#VALUE!エラーになるので注意
- Excel 2016以降で使えるので互換性も安心
CHOOSE関数はシンプルな仕組みですが、使いどころを知っていると数式がぐっと読みやすくなります。まずはIFネストの置き換えから試してみてください。
条件分岐の関数をもっと知りたい方は、あわせてこちらの記事もチェックしてみてくださいね。
