Excel(エクセル)のCHOOSE関数の使い方|インデックスの数値で表示を切り替える
CHOOSE関数の基本的な使い方から応用までを、できるだけ分かりやすく解説していきます。
使用関数:CHOOSE、INDEX、MATCH、WEEKDAY
CHOOSE(チューズ)関数とは?
CHOOSEは「選択する」を意味する英語です。CHOOSE関数は1.2.3.・・・の数値に対応するデータを割り振って、表示を切り替えてくれます。色々に応用が効く関数と言えるでしょう。
CHOOSE関数の引数と書式
「数式」→「関数ライブラリ」→「検索/行列」からCHOOSEを選択します。
CHOOSE関数の引数は「インデックス」「値1」が必須で、「値2」~「値254」まで指定可能です。
CHOOSE関数の書式の構成はこうなります。
CHOOSE関数の基本的な使い方
簡単な使用例を挙げて、CHOOSE関数の基本的な使用方法を説明します。
注文番号をインデックスに指定して、CHOOSE関数で対応する商品名を抽出してみましょう。
第一引数「インデックス」
何番目の値を抽出するかを指定します。通常は、値を引き出すための数値を入力するセルを参照します。
この例では「注文番号」の入力セルをクリックで指定しました。
第二引数「値1」
インデックスに「1」が入力された場合に表示させる値を指定します。
この例では表示させる文字列の入ったセルをクリックで指定しましたが、文字列を「”ベーコンとオニオン”」のように直接指定してもOKです。この例では必ずしも必要ありませんが、参照したセル番地はF4キーを一つ押して絶対参照にしておきましょう。
「値2」以降の指定
「値2」以降はインデックスに「2~」が入力された場合に表示させる値を指定します。
インデックスのセルが未入力の時に#VALUE!エラーが表示されるのを回避するため、CHOOSE関数の数式をIFERRORに入れておきました。
最終的な数式 =IFERROR(CHOOSE(D2,$B$2,$B$3,$B$4,$B$5,$B$6),””)
インデックスに数値の3を入力すると対応する文字列が表示され、5に修正すると表示が切り替わります。
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)),””) が入力されています。
また、下図のB8がCHOOSE関数を入れるセルで、A8セルがCHOOSEで数値を指定するインデックスの入力場所です。
CHOOSE関数を以下のように組み立てます。ここでも「値1~5」の参照セルは絶対参照にしておきました。
インデックスの「コード」に数値を入力すると、連動して区間が自動表示され、送料も取得されます。
CHOOSE関数とWEEKDAY関数で曜日を取得する使い方
WEEKDAY関数は日付から曜日に対応する数値を取り出します。CHOOSE関数にWEEKDAY関数をネストすることで、曜日から特定の文字列を取得して表示させます。
当番表の曜日からCHOOSE関数とWEEKDAY関数を使って「今日の当番」を表示させたいと思います。D1セルにはTODAY関数(=TODAY())が入力されています。
WEEKDAY関数の引数の指定です。「シリアル値」にはTODAY関数の入ったD1セルを指定、「種類」には月曜日を1とする「2」を指定します。
WEEKDAY関数とCHOOSE関数の組み合わせについては以下の記事にも詳しく書いています
WEEKDAY関数の数式WEEKDAY($D$1,2)をCHOOSE関数の引数「インデックス」にペーストします。
「値1」~「値5」を当番表のセルを参照して指定します。
今日の当番の名前が表示されました。WEEKDAY関数で曜日の数値を取得し、CHOOSE関数でその数値に対応する名前を表示させるという流れです。
このままだと土日にはエラー#VALUE!が出るので、土日は「—」と表示されるようCHOOSE関数の数式をIFERRORにネストしておきました。
- CHOOSE関数は1.2.3.・・・の数値に対応する値を割り振って、表示を切り替えます
- CHOOSE関数の引数「インデックス」には数値、数値を割り出す数式、または数値を入力するセルを参照します
- インデックスの数値1は引数「値1」に、数値2は引数「値2」に対応します
- CHOOSE関数はINDEXやMATCH関数などで実装した自動表示の入力を簡単にする使い方ができます
- WEEKDAY関数で曜日の数値を取得し、CHOOSE関数でその数値に対応する値を引き出す使い方があります