CHOOSE関数:値のリストからインデックスに対応する値を取得する
CHOOSE 関数は Excel で用意されている関数の一つで、引数に記述した値のリストの中から、指定したインデックスに対応する値を取得します。ここでは Excel における CHOOSE 関数の使い方について解説します。
※ Excel の対応バージョン : 365 web 2021 2019 2016 2013 2010 2007
※ 公式サイトでの解説 : CHOOSE 関数
(2021 年 10 月 02 日公開 / 2022 年 03 月 09 日更新)
CHOOSE関数の定義
CHOOSE 関数は引数に指定したインデックスに対応する値を、値のリストの中から取得します。
1 番目の引数にインデックスを指定します。インデックスは 1 から始まり、 1 を指定した場合は 2 番目の引数の値、 2 を指定した場合は 3 番目の引数の値を返します。 2 番目以降の引数でインデックスに対応する値を指定します。値は最大 254 個指定できます。
インデックスに 0 以下の値や引数に指定した値よりも大きい数値を指定すると #VALUE! エラーとなります。
例えばインデックスに 2 を指定し、 2 番目以降の引数として "赤" "青" "緑" を指定した場合、戻り値として "青" が返されます。
=CHOOSE(2,"赤","青","緑") --> 青
セル参照を返す
2 番目以降の引数にはセルやセル範囲を指定することができます。例えば 2 番目の引数に C3 セル、 3 番目の引数に D3 セル、 4 番目の引数に E3 セルを指定した場合は次のようになります。
=CHOOSE(2,C3,D3,E3)
このように 2 番目以降の引数にセルを指定した場合、戻り値はそのセルへの参照が返されます。例えば =CHOOSE(2,C3,D3,E3) のように CHOOSE 関数を入力した場合、 D3 セルへの参照が返されることになり、SUM 関数などのようにセル参照を返す関数を引数に指定できる関数と組み合わせて使用することができます。
下記では、 C5 セルから指定したセルまでの合計を SUM 関数を使って取得しています。 C2 セルに年数を入力すると、その年数に対応したセル参照を CHOOSE 関数を使って取得し、その戻り値を SUM 関数の中で使用しています。
合計を表示する C3 セルには次のような式が入力されています。
=SUM(C5:CHOOSE(C2-2017,C5,C6,C7,C8))
CHOOSE 関数のインデックスとして C2 セルに入力された値から 2017 を引いた数値を使用し、 C5 セルから C8 セルのいずれかのセル参照を返します。そして SUM 関数の中で C5 セルから CHOOSE 関数が返したセルまでの合計を取得して表示しています。
インデックスに配列数式を指定する
CHOOSE 関数の 1 番目の引数に配列数式を使って複数の値を指定すると、戻り値として対応する複数の値を一度に取得することができます。
例えば次のようなデータを Excel に入力し、取得した結果を表示する D2 セルと E2 セルを選択したあと、に次のように入力します。
=CHOOSE({2,3},B3,B4,B5,B6)
CHOOSE 関数のインデックスを指定する 1 番目の引数に、配列定数を使って 2 つの数値を指定しています。
入力が終わりましたら Enter キーではなく Ctrl+Shift+Enter キーを押してください。インデックスに指定した 2 つの数値に対応した値を 2 つ取得し、 D2 セルと E2 セルに表示しました。
※ Microsft 365 の環境であれば、単に D2 セルに数式を入力したあとで Enter キーを押せば、取得した複数の値を表示します。
CHOOSE関数の使い方
それでは実際に CHOOSE 関数を使ってみます。 Excel のシートに対象の数値を次のように入力しました。
取得した値を表示する C7 セルを選択し、次のように入力しました。インデックスを指定するセルとして B7 を指定し、インデックスに対応する値としてそれぞれ C3 セル、 C4 セル、 C5 セルを指定します。また B7 セルに初期値として 1 を入力しておきました。
=CHOOSE(B7,C3,C4,C5)
Enter キーを押すと、 C7 セルには次のように表示されます。インデックス 1 に対応した C3 セルに入力されている値の "鉛筆" が表示されました。
B7 セルに 2 を入力すると、インデックス 2 に対応した C4 セルに入力されている値の "消しゴム" が表示されました。
関数の挿入を使ってCHOOSE関数を入力する
CHOOSE 関数を入力する場合に関数の挿入を使って行う方法を試してみます。関数を挿入するセルをクリックして選択したあとで、関数の挿入をクリックします。
「関数の挿入」ダイアログが表示されたら関数名のところで「CHOOSE」をクリックしてください。そのあとで「OK」をクリックしてください。
「関数の引数」ダイアログが表示されたら、 1 番目の引数にインデックスを指定するセルを指定します。 1 番目の引数を入力するテキストボックスをクリックして選択してから引数に入力するセルを Excel 上でクリックして下さい。
ダイアログの 1 番目の引数のところに先ほどクリックしたセルが表示されます。
続いて 2 番目の引数にインデックスが 1 だった場合に返す値が入力されているセルを指定します。 2 番目の引数を入力するテキストボックスをクリックして選択してから引数に入力するセル範囲を Excel 上で選択して下さい。
ダイアログの 2 番目の引数のところに先ほど選択したセル範囲が表示されます。
3 番目以降の引数に、インデックスが 2, 3, 4, ... だった場合の返す値が入力されているセルを順番に指定していきます。今回はインデックス 3 まで値を返すので、 3 番目と 4 番目の引数にそれぞれ返す値が含まれるセルをしていしました。
引数の指定が終わると結果としてセルに表示される値も表示されます。最後に「OK」をクリックしてください。
最初に選択したセルに CHOOSE 関数が入力され、指定したインデックスに対応した値がセルに表示されます。
CHOOSE関数の便利な利用方法
CHOOSE 関数の便利な利用方法を下記の記事で紹介しています。
-- --
Excel における CHOOSE 関数の使い方について解説しました。
( Written by Tatsuo Ikura )

著者 / TATSUO IKURA
初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。