Excel

ExcelのCHOOSE関数で複数の選択肢から動的に値を選ぼう!【基本から応用まで】

ExcelのCHOOSE関数は、指定されたリストや選択肢の中からインデックス番号に基づいて値を選択する便利な関数です。複数の選択肢から特定の項目を動的に選びたい場合に役立ち、データ処理や条件分岐をシンプルに行うことができます。この記事では、CHOOSE関数の基本的な使い方から応用的な活用法までを詳しく解説します。

CHOOSE関数とは?

CHOOSE関数は、1つのインデックス番号を基に、指定された複数の値や範囲の中から1つの値を選んで返す関数です。たとえば、曜日や月の名前、または特定の範囲の中から動的に値を選びたいときに非常に便利です。

CHOOSE関数の基本的な構文

=CHOOSE(インデックス, 選択肢1, 選択肢2, …)

  • インデックス: 選択肢の中から選ぶ基準となる番号です(1以上の整数を指定します)。
  • 選択肢1, 選択肢2, …: 選択肢のリストです。インデックスに基づいて、これらの値の中から1つが返されます。

CHOOSE関数の動作イメージ

たとえば、インデックスとして3を指定し、選択肢として「A」「B」「C」「D」を設定した場合、3番目の「C」が返されます。

=CHOOSE(3, “A”, “B”, “C”, “D”)

結果は**”C”**です。

CHOOSE関数の実際の例

例えば、以下のようにCHOOSE関数を使って、さまざまな値を動的に選択することができます。

セル範囲 CHOOSE関数の使用例 結果
A1(インデックス) =CHOOSE(A1, “春”, “夏”, “秋”, “冬”) A1が1なら「春」、2なら「夏」など
B2(インデックス) =CHOOSE(B2, “日”, “月”, “火”, “水”, “木”, “金”, “土”) B2が1なら「日」、7なら「土」

このように、CHOOSE関数を使うことで、インデックス番号に基づいて動的に値を選択できます。

別のデータ型を選択する例

CHOOSE関数は、テキストだけでなく、数値や数式、セル参照も選択肢に含めることが可能です。たとえば、数値と文字列を混在させて選択することもできます。

=CHOOSE(2, 100, “合格”, “不合格”)

この数式では、インデックスが2なので、結果として**”合格”**が返されます。

CHOOSE関数の応用例

曜日や月の名前を動的に表示

CHOOSE関数を使って、曜日や月の名前を動的に表示することができます。たとえば、セルに入力された数字に基づいて、その曜日を返す場合、次のようにCHOOSE関数を使います。

=CHOOSE(A1, “日”, “月”, “火”, “水”, “木”, “金”, “土”)

A1に1が入力されていれば「日」、7が入力されていれば「土」が返されます。

数式を選択する

CHOOSE関数を使えば、異なる計算方法や数式を動的に選ぶことも可能です。たとえば、インデックスに基づいて異なる割引率を適用する場合、次のように設定します。

=CHOOSE(A1, B1*0.9, B1*0.85, B1*0.8)

A1が1ならB1の90%が返され、A1が2なら85%、A1が3なら80%が返されます。

条件に応じて値を切り替える

CHOOSE関数は、インデックス番号に基づいて値を切り替えるため、複数の条件に応じて値を切り替える際に便利です。たとえば、複数の選択肢の中から適切な値を返す場合、次のように使います。

=CHOOSE(MATCH(“B”, {“A”, “B”, “C”}, 0), 10, 20, 30)

この式では、「B」が見つかった場合、2番目の値20が返されます。

CHOOSE関数の便利な豆知識

インデックス番号は1以上

CHOOSE関数のインデックス番号は1以上である必要があります。たとえば、インデックスが0や負の値の場合、エラーが発生します。インデックスが1なら1番目の選択肢、2なら2番目の選択肢が返されます。

=CHOOSE(0, “A”, “B”, “C”)  // 結果は#VALUE!エラー

インデックスが範囲外の場合

インデックスが選択肢の範囲を超えている場合、#VALUE!エラーが発生します。たとえば、3つの選択肢しかない場合にインデックスが4以上を指定するとエラーが表示されます。

=CHOOSE(4, “A”, “B”, “C”)  // 結果は#VALUE!エラー

CHOOSE関数とセル参照

CHOOSE関数の選択肢としてセル参照を使うこともできます。たとえば、インデックスに基づいて特定のセルの値を返したい場合、次のように設定します。

=CHOOSE(2, A1, B1, C1)

この式では、2番目のセルB1の値が返されます。

IF関数との違い

CHOOSE関数はインデックス番号に基づいて選択肢を返すのに対して、IF関数は条件に基づいて結果を返します。複数の選択肢の中から単純に選びたい場合はCHOOSE関数、条件分岐を行いたい場合はIF関数を使うと良いでしょう。

CHOOSE関数のよくあるエラーと対処法

#VALUE!エラー

#VALUE!エラーは、CHOOSE関数で無効なインデックスが指定された場合に発生します。インデックスが0や負の値、または選択肢の範囲を超えている場合、このエラーが表示されます。

=CHOOSE(0, “A”, “B”, “C”)  // 結果は#VALUE!エラー

インデックスを1以上の適切な値に修正してください。

#N/Aエラー

#N/Aエラーは、CHOOSE関数に指定されたインデックス番号が範囲外の場合に発生することもあります。特に、MATCH関数を使って動的にインデックスを取得している場合、見つからないデータがあると#N/Aエラーが表示されます。

=CHOOSE(MATCH(“D”, {“A”, “B”, “C”}, 0), 10, 20, 30)  // 結果は#N/Aエラー

この場合、範囲内のインデックスを指定するか、MATCH関数で適切な値を返すように調整します。

まとめ

ExcelのCHOOSE関数は、インデックス番号に基づいて複数の選択肢から値を選ぶための便利なツールです。単純なリストから値を選択したり、動的な値の切り替えを行う際に非常に役立ちます。また、他の関数と組み合わせることで、より複雑なデータ処理や選択を効率的に行うことができます。CHOOSE関数を使いこなして、Excelでの作業をさらに効率化しましょう。