CHOOSE関数の使い方|インデックスの数値で表示を切り替える

Excel(エクセル)のCHOOSE関数の使い方
Excel関数

Excel(エクセル)のCHOOSE関数の使い方|インデックスの数値で表示を切り替える

CHOOSE関数の基本的な使い方から応用までを、できるだけ分かりやすく解説していきます。

使用関数:CHOOSE、INDEX、MATCH、WEEKDAY

CHOOSE(チューズ)関数とは?

CHOOSEは「選択する」を意味する英語です。CHOOSE関数は1.2.3.・・・の数値に対応するデータを割り振って、表示を切り替えてくれます。色々に応用が効く関数と言えるでしょう。

CHOOSE関数の引数と書式

「数式」→「関数ライブラリ」→「検索/行列」からCHOOSEを選択します。
関数ライブラリの「検索/行列」からCHOOSEを選択
CHOOSE関数の引数は「インデックス」「値1」が必須で、「値2」~「値254」まで指定可能です。

CHOOSE関数の書式の構成はこうなります。
CHOOSE関数の書式の構成

CHOOSE関数の基本的な使い方

簡単な使用例を挙げて、CHOOSE関数の基本的な使用方法を説明します。

注文番号をインデックスに指定して、CHOOSE関数で対応する商品名を抽出してみましょう。
注文番号からCHOOSE関数で商品名を取り出す表

第一引数「インデックス」

何番目の値を抽出するかを指定します。通常は、値を引き出すための数値を入力するセルを参照します。
この例では「注文番号」の入力セルをクリックで指定しました。
CHOOSE関数の引数インデックスを指定

第二引数「値1」

インデックスに「1」が入力された場合に表示させる値を指定します。

この例では表示させる文字列の入ったセルをクリックで指定しましたが、文字列を「”ベーコンとオニオン”」のように直接指定してもOKです。この例では必ずしも必要ありませんが、参照したセル番地はF4キーを一つ押して絶対参照にしておきましょう。
CHOOSE関数でインデックスに「1」が入力された場合に表示させる値を指定

「値2」以降の指定

「値2」以降はインデックスに「2~」が入力された場合に表示させる値を指定します。
CHOOSE関数でインデックスに「2~」が入力された場合に表示させる値を指定

インデックスのセルが未入力の時に#VALUE!エラーが表示されるのを回避するため、CHOOSE関数の数式をIFERRORに入れておきました。
CHOOSE関数の数式をIFERRORに入れ子
最終的な数式 =IFERROR(CHOOSE(D2,$B$2,$B$3,$B$4,$B$5,$B$6),””)

インデックスに数値の3を入力すると対応する文字列が表示され、5に修正すると表示が切り替わります。
CHOOSE関数でインデックスの数値に対応する文字列が切り替わる

CHOOSE関数とINDEX・MATCH関数を組み合わせた応用

CHOOSE関数は単純な数値の1、2、3・・・を指定することで表示を切り替えられ、この仕組みはいろいろな文書の入力を簡易化するのに応用できます。

CHOOSE関数の応用例として、INDEX関数にMATCH関数をネストして区間と個数ごとの送料を求めるための入力を簡単にしてみます。送料を取得するセルには既に数式=IFNA(INDEX($A$2:F6,MATCH(D8,$F$2:$F$6,1),MATCH(B8,$A$1:$E$1,0)),””) が入力されています。

INDEX関数とMATCH関数を組み合わせて送料を取得する例は以下の記事で詳しく解説しています

INDEX関数の使い方

MATCH関数の使い方の詳細はこちらへ

MATCH関数の使い方

また、下図のB8がCHOOSE関数を入れるセルで、A8セルがCHOOSEで数値を指定するインデックスの入力場所です。
CHOOSE関数とINDEX・MATCH関数を組み合わせた応用例の表

CHOOSE関数を以下のように組み立てます。ここでも「値1~5」の参照セルは絶対参照にしておきました。
CHOOSE関数の引数の指定

インデックスの「コード」に数値を入力すると、連動して区間が自動表示され、送料も取得されます。
インデックスに数値を入力するとCHOOSE関数とINDEX・MATCH関数が連動して区間・送料が自動表示

CHOOSE関数とWEEKDAY関数で曜日を取得する使い方

WEEKDAY関数は日付から曜日に対応する数値を取り出します。CHOOSE関数にWEEKDAY関数をネストすることで、曜日から特定の文字列を取得して表示させます。

当番表の曜日からCHOOSE関数とWEEKDAY関数を使って「今日の当番」を表示させたいと思います。D1セルにはTODAY関数(=TODAY())が入力されています。
CHOOSE関数とWEEKDAY関数で曜日から当番を表示させる表

WEEKDAY関数の引数の指定です。「シリアル値」にはTODAY関数の入ったD1セルを指定、「種類」には月曜日を1とする「2」を指定します。
WEEKDAY関数の引数を指定

WEEKDAY関数とCHOOSE関数の組み合わせについては以下の記事にも詳しく書いています

WEEKDAY関数とCHOOSE関数・MID関数の組み合わせ

WEEKDAY関数の数式WEEKDAY($D$1,2)をCHOOSE関数の引数「インデックス」にペーストします。
WEEKDAY関数をCHOOSE関数の引数「インデックス」に入力

「値1」~「値5」を当番表のセルを参照して指定します。
CHOOSE関数の「値1」~「値5」を指定

今日の当番の名前が表示されました。WEEKDAY関数で曜日の数値を取得し、CHOOSE関数でその数値に対応する名前を表示させるという流れです。
CHOOSE関数とWEEKDAY関数で曜日に対応する名前を表示

このままだと土日にはエラー#VALUE!が出るので、土日は「—」と表示されるようCHOOSE関数の数式をIFERRORにネストしておきました。
土日の#VALUE!エラー回避のためCHOOSE関数の数式をIFERRORにネスト

CHOOSE関数の使い方 まとめ
  • CHOOSE関数は1.2.3.・・・の数値に対応する値を割り振って、表示を切り替えます
  • CHOOSE関数の引数「インデックス」には数値、数値を割り出す数式、または数値を入力するセルを参照します
  • インデックスの数値1は引数「値1」に、数値2は引数「値2」に対応します
  • CHOOSE関数はINDEXやMATCH関数などで実装した自動表示の入力を簡単にする使い方ができます
  • WEEKDAY関数で曜日の数値を取得し、CHOOSE関数でその数値に対応する値を引き出す使い方があります
タイトルとURLをコピーしました