CHOOSE関数:値のリストからインデックスに対応する値を取得する
CHOOSE 関数は Excel で用意されている関数の一つで、引数に記述した値のリストの中から、指定したインデックスに対応する値を取得します。ここでは Excel における CHOOSE 関数の使い方について解説します。
※ Excel の対応バージョン : 365 web 2021 2019 2016 2013 2010 2007
(Last modified: )
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
関数の便利な利用方法を下記の記事で紹介しています。
-- --
Excel における CHOOSE 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。