Excel 1~254までに対応する値を表示(CHOOSE関数)

2020年5月16日

CHOOSE関数は1~254に対応する結果を定義してその通り表示する関数です。

簡単な条件判定を設定するのに適しています。

この記事では、その仕様と使い方を紹介します。

仕様

=CHOOSE(インデックス,値1 …省略… 値254)
引数省略時の値説明
インデックス省略不可1~254の間の数値を指定。
値1~254最小~最大の間のインデックスは
省略不可
1~254に対応する値を設定。
ここには数式や関数なども設定可能。
各引数の詳細

使用例

代表的な例ではWEEKDAY関数と併用して日付に対応する曜日を表示します。

CHOOSE関数とWEEKDAY関数で日付に対する曜日を表示する例

0以下や255以上といった関数が対応していないインデックスや

結果の定義されていないインデックスは#VALUEエラーになります。

この場合に「一致なし」などの結果を定義したい場合はIFERROR関数を使用します。

曜日を判定できない場合に「一致なし」と表示

CHOOSE関数以外の使用が適切な例

CHOOSE関数は簡単な式を作ることに適しています。

複雑な判定が必要であったり判定と結果の数が多くなる場合は

他の関数を使用することになります。

指定値に一致する最初の結果を表示(SWICTH関数)

文字列などを指定したい場合は拡張版のSWITCH関数を使用します。

ただし2016より前の古い環境では使用できない場合があります。

検索値に一致する行の特定列の値を取得(XLOOKUP関数)

値の種類が10件以上など非常に多くなったり、

同じ構文のCHOOSE関数が複数のセルに必要になる場合は

XLOOKUP関数(VLOOKUP関数)で対応するほうが

管理しやすく数式の可読性も高いです。

複数の条件を指定し最初に合致する条件に対応する値を取得(IFS関数)

判定条件に〇〇以上などの数値範囲や文字列を使用したい場合はIFS関数が適切です。

スピルを利用する方法とメリット

Office365やExcel2019以降ではスピルという形式で記述可能です。

これは複数セルに数式をコピーする場合に便利な機能です。

スピルの利用には引数を範囲で指定します。

スピルでCHOOSE関数を記述する例
スピルでCHOOSE関数を記述する例

数式を入力するのは最初の一つのセルですが、

引数で指定した高さ分、数式がセルのコピーなしで自動拡大されます。

D3に指定したCHOOSE関数がD12まで自動拡大
D3に指定したCHOOSE関数がD12まで自動拡大

スピルを利用することで今回の例では、

D3セルに入力するだけでよいため(D4以降にコピーペーストが不要)

以下のメリットがあります。

  • 入力の手間が少ない(数式のセルが多いほど効果が大きい)
  • 数式を編集した時、コピー忘れのリスクがない(最初のセルを更新すると全セルに反映)
  • 絶対参照が不要
  • 途中に行を追加した場合、数式のコピー&ペーストが不要。行削除でも壊れにくい。

関連記事

IF系関数の使い方・活用方法の記事一覧

関数の仕様と使い方の記事一覧