文字をいちいち入力するのが面倒なので、数値を入力し、それに対応する選択肢を自動で表示されるようにしたいですが、何か良い方法ありますかね?
その場合は、関数の「CHOOSE」を活用すると良いですよ!
では、CHOOSEの使い方について解説していきますね。
はじめに
この記事は関数の概要とIFの使い方を把握していることが前提です。
関数の概要とIFの使い方の詳細は以下の記事をご参照ください。
はじめに この記事は数式の概要を把握していることが前提です。 参考記事 数式の概要の詳細は以下の記事をご参照ください。 関数とは 関数とは、数式の構成要素の1つであり、固有の計算/処理の機能がセットされた数式のことです。 …
はじめに この記事は関数の概要を把握していることが前提です。 参考記事 関数の概要については以下の記事をご参照ください。 条件判定の結果を値で表示したい場合は「IF」が有効 実務では、既存データに対して基準値を条件に評価 …
通し番号の数値を条件に値を切り替えたい場合は「CHOOSE」が有効
レコードの入力時等、通し番号の数値をもとに決められた値を返したい場合があります。
実務でよくあるのは、月に応じて事業年度や四半期を振り分ける等です。
こうした場合、値の種類が少ない場合はIFで対応することが一般的です。
しかし、値の種類が増えるほど、比例して複数のIFをネストしなければならず、数式の可読性が悪くなります。
こんな場合、関数の「CHOOSE」を使うことで数式をシンプル化できます。
CHOOSEは「チューズ」と読む。
CHOOSEを使うことで、1つの数式で通し番号に対応する値を返すことが可能です。
CHOOSEの構文
CHOOSEの構文は以下の通りです。
=CHOOSE(インデックス,値1,[値2],…)
インデックスを使って、引数リストから特定の値または動作を1つ選択します。
引数名 | 必須 | データ型 | 説明 |
---|---|---|---|
インデックス | ○ | 数値 | 「値n」と連動するセル(値が1~254の数値)を指定します。 |
値1 | ○ | すべて | 「インデックス」の値が「1」の場合に返す値または数式を指定します。 |
値2 ※値3以降も同様 |
- | すべて | 「インデックス」の値が「2」の場合に返す値または数式を指定します。 |
引数「値n」は最大254まで指定可能。
引数「インデックス」が 「1」 未満、引数「値n」の数を超えた数値、文字列の場合、エラー値「#VALUE!」が表示。
引数「インデックス」を小数点以下まで指定した場合、整数以外は切り捨てされる。
【参考】CHOOSEは「検索/行列関数」
あくまで参考情報となりますが、CHOOSEはリボン「数式」タブの関数ライブラリの「検索/行列」に分類されています。
実際にCHOOSEを活用する際は、以下で解説しているように直接入力で挿入していきましょう。
CHOOSEの使用結果イメージ
CHOOSEを使い、通し番号に対応する値を返すイメージは以下の通りです。
今回は「血液型番号」列の数値に対応する血液型を「血液型」列に返しました。
上記のように計算列としてCHOOSEを使う場合、1レコードにつき1つの関数を使います。
「計算列」とは、数値/日付/時刻の列の値を計算した新たな列のこと。
ベースの数式をセットしたら、他のセルへペーストしましょう。
【参考】CHOOSEで通し番号に応じて数式を切り替えることも可能
先述の通り、CHOOSEは値を返す方法が一般的ですが、引数「値n」へ任意の数式をセットしておくことで、通し番号に対応する数式を実行させることも可能です。
一例として、CHOOSEをSUBTOTALと同機能にしたものが以下です。
I2セルの数値に応じて、J2セルのCHOOSEの集計方法が切り替わり、G列の数値を対象に平均・個数・最大値・最小値・合計等を算出できます。
SUBTOTALの詳細については以下の記事をご参照ください。
はじめに この記事は関数の概要とSUMの使い方を把握していることが前提です。 参考記事 関数の概要とSUMの使 …
CHOOSEの数式の挿入手順
上記の結果を得るための手順は以下の通りです。
- 関数を挿入するセルを選択
※今回はD2セル - 「=cho」等と入力
- サジェストから「CHOOSE」を選択し、「Tab」キーで確定
- 通し番号(インデックス)となるセルを選択
※今回はC2セル - コンマ(,)を入力
- 1つ目の値を入力
※今回は「A」 - コンマ(,)を入力
- 2つ目の値を入力
※今回は「B」 - コンマ(,)を入力
- 3つ目の値を入力
※今回は「O」 - コンマ(,)を入力
- 4つ目の値を入力
※今回は「AB」 - 「Enter」キーで確定
- 1行目の数式をコピーし、以降のセルへペースト
※今回はD3~D11セルへペースト
手順②の際にIMEを半角英数モードにすること。
テーブルの場合、手順⑭は不要(全レコードへ数式が自動的にコピーされる)。
【応用】値の種類を可視化したい場合はVLOOKUPを使うこと
CHOOSEの特徴として、通し番号に対応する値を引数「値n」へ定数で指定することが一般的です。
この特徴により、値の種類が多ければ多いほど、第三者がパッと見で、どの数値がどの値を返すのかが分かりにくくなってしまいます。
こうした場合は、ワークシート上にCHOOSEの引数「インデックス」・「値n」の内容を表(マスタ)にまとめた上でVLOOKUPを使った方が便利です。
これにより、第三者から見て通し番号別の値が分かりやすくなるとともに、値の内容を変更する際も表側を修正するだけで済み、メンテナンス工数も下がります。
また、値の種類が多い場合もVLOOKUPの方が可読性の高い数式にすることが可能です。
CHOOSEは値の種類の数が少なく、表にするまでもない場合に優先して使うと良いでしょう。
値の種類は多くとも10前後を推奨。
ぜひ、ケースバイケースで使い分けてください。
VLOOKUPの詳細については以下の記事をご参照ください。
はじめに この記事は関数の概要を把握していることが前提です。 参考記事 関数の概要の詳細は以下の記事をご参照ください。 別表からのデータ転記を自動化したい場合は「VLOOKUP」が有効 実務でデータ集計/分析を行う際、1 …
サンプルファイルで練習しよう!
可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。
※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)
ブックを開いたら、次の手順を実施してください。(今までの解説のまとめです)
- 関数を挿入するセルを選択
※今回はD2セル - 「=cho」等と入力
- サジェストから「CHOOSE」を選択し、「Tab」キーで確定
- 通し番号(インデックス)となるセルを選択
※今回はC2セル - コンマ(,)を入力
- 1つ目の値を入力
※今回は「A」 - コンマ(,)を入力
- 2つ目の値を入力
※今回は「B」 - コンマ(,)を入力
- 3つ目の値を入力
※今回は「O」 - コンマ(,)を入力
- 4つ目の値を入力
※今回は「AB」 - 「Enter」キーで確定
- 1行目の数式をコピーし、以降のセルへペースト
※今回はD3~D11セルへペースト
本記事の解説と同じ結果になればOKです!
さいごに
いかがでしたでしょうか?
CHOOSEは通し番号の数値を条件に値の切り替えに役立つ関数の一つです。
数値の種類が多くなく、定数で記述できる範囲のものを設定する機会があれば、覚えてみても良いでしょう。
なお、CHOOSE以外にもExcelでのデータ整形の各種テクニックを拙著で解説していますので、こちらも参考にしてみてください。
ご参考になれば幸いですm(_ _)m
CHOOSEとセットで覚えておいた方が良い関数は、条件分岐ができる「IF」と任意の表からデータ転記できる「VLOOKUP」です。
個人的な感覚で言えば、IFとVLOOKUPの中間のケースでCHOOSEが役立ちます。
基本的にはIFとVLOOKUPの方が実務で使用する頻度が圧倒的に高いので、まずはこれらを覚えてからCHOOSEを覚えることをおすすめします。
その他、特定のキーワードが何行目/何列目にあるかを数値で返すことができる「MATCH」も覚えておくと、CHOOSEと組み合わせて表のレイアウトを変更する等で役立ちますよ!