CHOOSEで項目を選ぶ
インデックス番号に基づき、リストのn番目の値を返します。
「CHOOSEで項目を選ぶ」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。
CHOOSE の動作
CHOOSE 関数は、位置番号に基づいてリストから1つの項目を選びます。インデックスと複数の値を指定すると、その位置にある値を返します。
番号付きのメニューをイメージしてください。CHOOSE に3を渡すと、その項目の内容に関係なく、3番目の項目が返されます。
=CHOOSE(2, "Red", "Green", "Blue")CHOOSE の構文
構造は CHOOSE(index_num, value1, value2, value3, ...) です。
- index_num は、値の個数以下の1以上の数値です。
- 各値には、テキスト、数値、セル参照、さらには数式も指定できます。
インデックスは1始まりです。インデックスが1なら value1、2なら value2 が返され、その後も同様です。
=CHOOSE(A2, "Low", "Medium", "High")最初の実例
セル A2 に優先度1、2、3のいずれかが入っているとします。数値の代わりに単語を表示したい場合、CHOOSE で数値を対応するラベルに直接変換できます。
A2 が1なら「低」、2なら「中」、3なら「高」が返されます。数値そのものが位置を選ぶインデックスになります。
=CHOOSE(A2, "Low", "Medium", "High")インデックスは有効でなければならない
インデックスは、指定した値の個数の範囲内、つまり1以上でなければなりません。上の例で A2 が0、4、または空白の場合、CHOOSE は #VALUE! エラーを返します。
小数は単純に切り捨てられるため、2.9は2として扱われます。安全に使うには、インデックスが実際に存在する位置を指す数値だけになるようにしてください。
=CHOOSE(2.9, "A", "B", "C")数値を月名に変換する
よくある用途の1つは、月番号を月名に変換することです。A2 に月番号が入っている場合、CHOOSE に12か月分の名前を順番に指定します。
日付関数が MONTH(...) のように数値を返す一方で、読みやすい月名を表示したい場合に便利です。
=CHOOSE(A2,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")セル参照と CHOOSE
値は直接入力したリテラルである必要はありません。セル参照も指定できるため、CHOOSE はシート上の別の場所から最新の値を取得できます。
ここでは、A2 のインデックスに応じて、数式が B1、C1、D1 のいずれかの内容を返します。これらのセルを変更すると、結果も連動して変わります。
=CHOOSE(A2, B1, C1, D1)計算結果を返す
各値には数式も指定できます。これにより、CHOOSE をさまざまな計算を切り替える小さな振り分け役として使えます。
A2 のランクに応じて、B2 の価格に適用する割引率を選ぶとします。インデックス1なら5%引き、2なら10%引き、3なら20%引きになります。
=CHOOSE(A2, B2*0.95, B2*0.9, B2*0.8)CHOOSEとSWITCHの違い
CHOOSEとSWITCHは似た問題を解決しますが、その方法は異なります。
- CHOOSEは位置で選択します。インデックスは1、2、3のような連番である必要があります。
- SWITCHは値の一致で選択します。一致させる値には、任意のコードやテキストを使用できます。
セレクターがすでに分かりやすい連番になっている場合はCHOOSEを使用します。"STD"や"EXP"のような任意のコードを照合する場合はSWITCHを使用します。
より詳しい例
A2の月番号から、簡単な四半期ラベルを作成してみましょう。月を1から4までの値に変換する計算をCHOOSEで囲みます。
ROUNDUP(A2/3,0)は、1~3月を四半期1、4~6月を四半期2に変換し、その後も同様に処理します。CHOOSEは、その値をラベルに対応付けます。
=CHOOSE(ROUNDUP(A2/3,0),"Q1","Q2","Q3","Q4")不正なインデックスへの対処
範囲外のインデックスを指定すると#VALUE!が発生するため、数式を保護しておくと安心です。IFERRORで囲むと、分かりやすい代替値を設定できます。
これで、インデックスが無効になった場合でも、ユーザーにはエラーコードではなく"Invalid"と表示され、シートをすっきりとしたプロフェッショナルな状態に保てます。
=IFERROR(CHOOSE(A2,"Low","Medium","High"),"Invalid")CHOOSEのベストプラクティス
CHOOSEを正しく機能させるためのポイント:
- インデックスが、1から値の個数までの整数になっていることを確認します。
- インデックスが想定する順序どおりに値を並べます。
- インデックスが範囲外になる可能性がある場合は、
IFERRORで囲みます。 - セレクターが自然な連番の場合はCHOOSEを、任意のコードの場合はSWITCHを優先します。
理解度チェック
CHOOSEが値を選択する仕組みを確認しましょう。
まとめ:CHOOSEで項目を選択する
CHOOSEを使って、リストのn番目の項目を選択する方法を学びました。重要なポイント:
- 構文は
CHOOSE(index_num, value1, value2, ...)で、インデックスは1から始まります。 - 範囲外のインデックスを指定すると
#VALUE!が返されるため、IFERRORで対処します。 - 値には、テキスト、数値、セル参照、数式を使用できます。
- セレクターが連番の場合はCHOOSEを、任意のコードを照合する場合はSWITCHを使用します。
=CHOOSE(A2, "Low", "Medium", "High")よくある質問
「CHOOSEで項目を選ぶ」レッスンは無料ですか?
はい。「CHOOSEで項目を選ぶ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。
「CHOOSEで項目を選ぶ」で何を学びますか?
インデックス番号に基づき、リストのn番目の値を返します。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Excel Formulas Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「CHOOSEで項目を選ぶ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このExcel Formulas Academyレッスンでコードを書いて実行できますか?
はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 複数の結果に対応するIFのネスト
- SWITCHでケースを選ぶ
- CHOOSEで項目を選ぶ
- 複雑なロジックを読みやすく保つ