ExcelのCHOOSE関数の使い方|IFネストをすっきり書き換える

スポンサーリンク

「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, "電車", "バス", "飛行機")
セル
A22
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),"日","月","火","水","木","金","土")
セル
A22026/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")
セル
A22026/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の値返される結果
1SUM(合計)
2AVERAGE(平均)
3COUNT(件数)

ちょっとむずかしく見えますが、やっていることはシンプルです。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つの関数を比較表にまとめました。

項目IFIFSSWITCHCHOOSE
条件の書き方TRUE/FALSEの2択複数条件を順番に評価値の完全一致連番インデックス
ネストの必要性3分岐以上はネスト必要不要不要不要
文字列キーの使用不可(数値のみ)
デフォルト値ELSEで指定最終条件にTRUEで代用最終引数で指定なし(#VALUE!)
対応バージョン全バージョン2019以降/3652019以降/3652016以降
最大分岐数ネスト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ネストの置き換えから試してみてください。

条件分岐の関数をもっと知りたい方は、あわせてこちらの記事もチェックしてみてくださいね。

タイトルとURLをコピーしました