CHOOSE関数の使い方|番号で値を選ぶ・曜日や四半期の表示・範囲の切り替え・#VALUE!の原因

CHOOSE関数の使い方|番号で値を選ぶ・曜日や四半期の表示・範囲の切り替え・#VALUE!の原因

CHOOSE関数は、番号に応じて、並べた値の中から1つを選ぶ関数です。1 なら1つ目、2 なら2つ目を返します。曜日や四半期の表示、番号で集計する範囲を切り替えるときなどに使います。

この記事では、CHOOSE 関数の使い方を、WEEKDAY と組み合わせた曜日、4月始まりの四半期、範囲を選んで合計する使い方、#VALUE! になる原因まで、実際の Excel の画面で説明します。練習用のファイルも無料でダウンロードできます。

練習用Excelファイル(無料ダウンロード)
「基本」「曜日・四半期」「範囲を選ぶ」「よくある間違い」の4シートです。黄色のセルを書き換えて試せます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
目次

CHOOSE関数の書き方(構文)

=CHOOSE(インデックス, 値1, 値2, …)
引数意味
インデックス何番目の値を選ぶかの番号(1〜254)。セルや式でも指定できる
値1, 値2, …選ぶ候補。文字・数値・セル範囲・式を254個まで並べられる

CHOOSE はすべてのバージョンの Excel で使えます。

基本の使い方:番号で値を選ぶ

手順:B3 に CHOOSE の式を入れて Enter

A 列の番号に応じて「松・竹・梅」から 1 つを選びます。 B3 に次の式を入力して、Enter キーを押します❶。

B3 に入れる式
=CHOOSE(A3,"松","竹","梅")
A3 インデックス(番号)"松" 値1"竹" 値2"梅" 値3
ひとことでA3 の番号(2)に応じて、松・竹・梅から2 つ目を選ぶ
式を分けて読むと(色は画像の枠と同じ)
インデックスA3
何番目を選ぶ?
→ A3 の番号(2)
値1"松"
1 のときは?
→ 「松」
値2"竹"
2 のときは?
→ 「竹」
値3"梅"
3 のときは?
→ 「梅」
自分の表で使うときは
オレンジに「番号のセル」、そのあとに「1 のとき・2 のとき…」の値を順に並べます。値は 254 個まで書けます。例:区分の番号(B2)から「会社員・自営業・その他」を表示=CHOOSE(B2,"会社員","自営業","その他")
  • 番号が 0 や値の数より大きいと #VALUE! になります。
エクセルのCHOOSE関数で番号に応じて松竹梅から選ぶ式と、インデックス・値を色分けした画面
エクセルのCHOOSE関数で番号に応じて松竹梅から選ぶ式と、インデックス・値を色分けした画面

確認:竹は「2 つ目の値」

エクセルのCHOOSE関数で、A3の番号2から2つ目の値の竹を選んだことを色で示した画面
エクセルのCHOOSE関数で、A3の番号2から2つ目の値の竹を選んだことを色で示した画面

答えは 竹 になりました❷。式は、次の順に計算しています。

  1. A3 の番号を見る
    ⇒ 2
  2. 値の並び(松・竹・梅)から 2 つ目を選ぶ
    ⇒ 竹
ヒント:下へコピーすると
B2 は 1 なので「松」、B4 は 3 なので「梅」になります。WEEKDAY と組み合わせると曜日の表示にも使えます(下の「WEEKDAY と組み合わせて曜日を表示する」)。

WEEKDAY と組み合わせて曜日を表示する

WEEKDAY 関数は、日曜を 1、月曜を 2…土曜を 7 で返します。その番号を CHOOSE に渡すと、曜日の文字になります。試したところ、2026/10/1 は「木」、2026/11/1 は「日」になりました(WEEKDAY関数の使い方)。

=CHOOSE(WEEKDAY(A2),"日","月","火","水","木","金","土")

月から4月始まりの四半期を出す

MONTH 関数で月(1〜12)を取り出し、1〜3月は 4、4〜6月は 1…のように12個並べると、4月始まりの四半期になります。試したところ、10月〜12月は「3Q」、1月・2月は「4Q」になりました。

=CHOOSE(MONTH(A2),4,4,4,1,1,1,2,2,2,3,3,3)&"Q"
エクセルのCHOOSE関数で曜日と4月始まりの四半期を出した例
エクセルのCHOOSE関数で曜日と4月始まりの四半期を出した例

番号で集計する範囲を切り替える

CHOOSE の候補には、セル範囲も並べられます。E2 に 1 を入れると4月の列、2 を入れると5月の列を SUM します。試したところ、2 のときは 5月の合計 640 になりました。

=SUM(CHOOSE(E2,B2:B4,C2:C4))
エクセルのCHOOSE関数で範囲を切り替えて合計した例
エクセルのCHOOSE関数で範囲を切り替えて合計した例

よくある間違い

エクセルのCHOOSE関数で#VALUE!になる例
エクセルのCHOOSE関数で#VALUE!になる例

選択肢が3つの式で、番号を変えて試しました。0・-1、選択肢の数より大きい 4 は #VALUE! になりました。2.7 のような小数は切り捨てて2番目の「竹」になり、文字の「2」も 2 として扱われました。

症状考えられる原因対処
#VALUE! になる番号が 0 以下、または選択肢の数より大きい番号が 1〜選択肢の数に入っているか確かめる。IFERROR で表示を決める。
思った値と1つずれる番号の数え方が 0 からになっているCHOOSE は 1 から数える。0 始まりの番号なら +1 する。
小数の番号で前の値が出る小数は切り捨てて扱われる四捨五入したいなら ROUND で番号を整える。
選択肢が多すぎて式が長い候補を式に全部書いている表にして INDEX や XLOOKUP で取り出す。

よくある質問

CHOOSE と SWITCH・IF の違いは?

CHOOSE は「1・2・3…の番号」で選ぶ専用の関数です。番号ではなく「A なら…、B なら…」のように値で分けたいときは SWITCH、「以上・以下」の条件なら IF や IFS を使います。試したところ、=SWITCH(2,1,"赤",2,"青",3,"黄") は「青」でした(IF関数の練習問題(SWITCH も))。

曜日を出すだけなら、もっと簡単な方法は?

TEXT 関数で =TEXT(A2,"aaa") とすると、「土」のように曜日が出ます。CHOOSE は「平日・休日」のように自分で決めた文字にしたいときに便利です(平日か休日かを判定する方法)。

VLOOKUP で左の列を返すのに CHOOSE を使う方法は?

CHOOSE({1,2},B2:B4,A2:A4) で列の順番を入れ替えた表を作り、VLOOKUP で探す方法があります。試したところ、=VLOOKUP(80,CHOOSE({1,2},B2:B4,A2:A4),2,FALSE) で「みかん」が返りました。今は XLOOKUP や INDEX+MATCH のほうが分かりやすく書けます(MATCH関数の使い方)。

練習用Excelファイル(無料ダウンロード)
この記事の例がすべて入った練習用のファイルです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

あわせて読みたい:CHOOSE関数の関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次