【エクセル】CHOOSE関数の使い方と実例。複数の条件分岐が可能!MATCH関数と合わせるテクも

ExcelのCHOOSE関数の使い方と実例を紹介

エクセル(Excel)で複数条件に応じて表示を分岐させる方法には、いくつか存在します。

例えば、その代表的なエクセル関数が、IF関数やIFS関数です。

しかし、それ以外にもCHOOSE関数という関数が存在します。

この関数は、IF関数ほどメジャーではありませんが、引数の設定が少なくて済むという点で、利便性が高いです。

さらに、CHOOSE関数は、MACH関数やSUM関数など他の関数と組み合わせて利用すると、さらに実用性がUPします。

今回の記事では、ExcelのCHOOSE関数の使い方を実例と合わせながら紹介していきます。

エクセルのCHOOSE関数とは

エクセルのCHOOSE関数の読み方は「チューズ」です。

1、2、3などの整数のインデックス番号に合わせてどんな文字を表示させるかを設定できる関数です。

例えば、下の例のように、C3セルに「=CHOOSE(B3,"バナナ","みかん","リンゴ")」と入力すると、B3セルの「1」という数値に応じて、CHOOSE関数の引数で設定した「バナナ」という文字が表示されます。

図解.CHOOSE関数の使い方(イメージ)
図解.CHOOSE関数とは

これだけだと、CHOOSE関数の使い方やメリットがイメージしづらいと思うので、次に見出しから詳しく紹介していきます。

CHOOSE関数の構文と引数

CHOOSE関数の構文と引数は、以下のとおりです。

=CHOOSE(インデックス,値1,[値2],[値3], ...)

それぞれの引数の詳細は、以下のとおりです。

第1引数インデックス」:  必ず指定します。 どの値の引数が選択されるかを指定します。 インデックスには 1 ~ 254 の数値、または 結果が1~254となる数式またはセル参照を指定します。(例:2、A5、MATCH(B1,A2:A4,0))

第2引数以降」:値 1 は必ず指定します。値 2 以降は省略可能です。 1 ~ 254 個の値引数を指定します。第1引数のインデックス番号に基づいて、表示させたい値を設定します。 引数には、数値、セル参照、数式、関数、または文字列を指定できます。(例:”バナナ”、D3、A1:A10、AVERAGE(A1:A5))

シンプルな使い方を具体的に1つ紹介します。

下の例のように、C3セルに以下のCHOOSE関数を挿入します。

=CHOOSE(B3,"バナナ","みかん","リンゴ","栗")

CHOOSE関数の使い方(基本)
CHOOSE関数の使い方(基本)

そうすると、B3セルの「3」のインデックス番号に合わせて、CHOOSE関数の4つ目の引数「リンゴ」が表示されます。

B3セルの数値を「4」に変更すると、CHOOSE関数の5つ目の引数「栗」が表示されます。

CHOOSE関数のインデックス番号を変更した場合の結果
CHOOSE関数のインデックス番号を変更した場合の結果

このように、CHOOSE関数とは、インデックス番号に合わせて、複数の条件で表示方法を分岐することが出来る関数です。

引数「値」は、以下のように直接セル番号を指定することもできます。

=CHOOSE(B3,E2,E3,E4,E5)

CHOOSE関数とIF関数との違い

それでは、IF関数とCHOOSE関数の違いは何なのか解説します。

もし、IF関数で、B3セルが1~4かの条件によって、"バナナ","みかん","リンゴ","栗"のどれかを分岐させて表示させたい場合はどうすればよいでしょうか。

その場合、IF関数の中にIF関数を挿入する「入れ子」というテクニックを使って関数を作成する必要があり、関数が長くなり複雑となります。

=IF(B3=1,"バナナ",IF(B3=2,"みかん",IF(B3=3,"リンゴ",IF(B3=4,"栗","-"))))

IF関数を複数の条件で利用した場合、関数が長くなるのがデメリット
IF関数を複数の条件で利用した場合、関数が長くなるのがデメリット

一方、上の見出しでも紹介したとおり、CHOOSE関数を利用すると、引数が少なくなり、関数は短くなります。

=CHOOSE(B3,"バナナ","ミカン","リンゴ","栗")

関数も短くて、引数の設定もシンプルだよね。

もちろん、分岐の条件次第では、IF関数の方が使いやすい場合もあるので、それぞれのケースで判断が必要です。

IF関数を複数条件で使う方法は、以下の記事を参考にしてください。

CHOOSE関数を使った実例1(基本版)

それでは、実際にCHOOSE関数を使った実例を紹介します。

 下の表のC2セルに入力される値(1~3)によって、C5セルから C7セル(赤枠のセル) に表示する内容を切り替えします。

 C2セルが「1」の場合はプラン1の内容、「2」の場合はプラン2の内容、「3」の場合はプラン3の内容が表示されるように、CHOOSE関数を挿入します。

CHOOSE関数の実例1:基本版
CHOOSE関数の実例1:基本版

まずは、プランにあった旅行先が表示されるように、C5セルにCHOOSE関数を挿入します。 

1つ目の引数「インデックス」はC2、対応する値はF5、G5、H5セルのなので、以下のように関数を挿入します。次の工程で、CHOOSE関数をコピペしたいので、インデックス番号には$マークを付けて絶対参照で固定します。

=CHOOSE($C$2,F5,G5,H5)

手順1:C5セルにCHOOSE関数を挿入
手順1:C5セルにCHOOSE関数を挿入

次に、C6、C7セルにもCHOOSE関数を挿入します。 

CHOOSE関数を挿入したC5セルの右下にカーソルを合わせると、十字キーが表示されるので、ダブルクリックもしくは下にドラッグして、CHOOSE関数をコピペします。(オートフィルの利用)

手順2:CHOOSE関数のコピペ(オートフィル)
手順2:CHOOSE関数のコピペ(オートフィル)

それでは、CHOOSE関数の結果を確認します。

C2セルを「2」から「3」に変更すると、C5~C7の文字がプランに合わせて自動で変更されました。

手順3:CHOOSE関数の完成
手順3:CHOOSE関数の完成

CHOOSE関数を使った実例2(インデックスの表記変更)

続いて、CHOOSE関数を使った2つ目の実例を紹介します。

上で紹介した例では、インデックス番号を指定するC3セルは、「1」「2」「3」の数値を入力しました。

このセルを、「プラン1」「プラン2」「プラン3」といったように、見た目上の表示形式を変更することが出来ます。

まずは、C3セルを右クリックし、右クリックメニューの「セルの書式設定」を選択します。

そして、セルの書式設定画面で「表示形式」タブの「ユーザー定義」を選択し、画面中央の種類BOXに「”プラン” #」と入力し、「OK」を押して画面を閉じます。

プラン” #

CHOOSE関数の実例2:インデックス番号の表示形式を変更
CHOOSE関数の実例2:インデックス番号の表示形式を変更

そうすると、インデックスのC3セルに「3」と入力すると「プラン 3」と表示されます。

このように、セルの書式設定を利用することで、セルの見た目(表示形式)を変更することが出来るので、右側の表記と一致させることができます。

CHOOSE関数の実例2:インデックス番号の表示形式を変更(完成)
CHOOSE関数の実例2:インデックス番号の表示形式を変更(完成)

CHOOSE関数を使った実例3(MACH関数と組み合わせる)

続いて、CHOOSE関数を使った3つ目の実例を紹介します。

CHOOSE関数とMATCH関数を組み合わせることで、第1引数「インデックス」が参照するセルを、数値ではなく「プランA」「プランB」「プランC」といったプルダウンで選択する文字でも利用することができます。

CHOOSE関数とMATCH関数を組み合わると、インデックスの参照セルに文字を使える
CHOOSE関数とMATCH関数を組み合わると、数値以外にも文字が使える

それでは、以下の見出しで、CHOOSE関数とMATCH関数を組わせる方法を紹介します。

MACH関数の使い方

MATCH関数(マッチ)は、指定した検索範囲内で、数値や文字列などの検索値が、どの位置にあるかを数値(〇〇列目、▲▲行目)で返す関数です。

MATCH関数を使用することで、探したい値が選択範囲の何行目(何列目)にあるのかを調べることが出来ます。

MATCH関数の構文は、以下のとおり3つの引数で構成されています。

=MATCH(検査値,検査範囲,[照合の型])

下の例のように、MATCH関数を利用することで、「C」という文字が「B2~E2」セルの何番目に位置しているのかを数値で返すことが出来ます。

=MATCH(B5,B2:E2,0)

MATCH関数の使い方(基本)
MATCH関数の使い方(基本)

MATCH関数の使い方を詳しく知りたい方は、以下の記事を参考にしてください。

CHOOSE関数とMACH関数を組み合わせる方法

それでは、CHOOSE関数とMACH関数を組み合わせた使い方を解説します。

まずは、プルダウンリストを設定するため、C2セルをクリックしてから、「データ」タブの「データの入力規則」を選択します。

CHOOSE関数とMACH関数を組み合わせる方法(手順1:データの入力規則)
CHOOSE関数とMACH関数を組み合わせる方法(手順1:データの入力規則)

入力値の種類は「リスト」を選び、元の値にはプルダウンリストに設定したいセル範囲を選択します。

CHOOSE関数とMACH関数を組み合わせる方法(手順2:プルダウンのセル範囲を設定)
CHOOSE関数とMACH関数を組み合わせる方法(手順2:プルダウンの設定)

そうすると、C2セルはプルダウンリストが設定されます。

CHOOSE関数とMACH関数を組み合わせる方法(手順3:プルダウンリストが完成)
CHOOSE関数とMACH関数を組み合わせる方法(手順3:プルダウンリストが完成)

次に、C6セルにCHOOSE関数を挿入します。

第1引数「インデックス」にはMATCH関数を挿入し、C2セルの文字が、F5~H5セルの何番目に位置するかを判定し、数値で返すように設定します。

=CHOOSE(MATCH($C$2,$F$5:$H$5,0),F6,G6,H6)

CHOOSE関数とMACH関数を組み合わせる方法(手順5:関数のコピペ)
CHOOSE関数とMACH関数を組み合わせる方法(手順5:関数のコピペ)

関数の中に関数を挿入する、・・こんなテクニックを「入れ子」「ネスト」っていうよ。

そうすると、C2セルの「プランA」という文字が分岐の条件となり、「四国」という文字が表示されます。

後は、下のC7、C8セルにもCHOOSE関数をコピペすれば完成です。

CHOOSE関数とMACH関数を組み合わせが完成
CHOOSE関数とMACH関数を組み合わせが完成

このように、プルダウンとMATCH関数を組み合わせて活用することで、複数の文字に応じて表示を分岐できます。

CHOOSE関数は、複数の文字に応じて表示を分岐させることも可能
CHOOSE関数は、複数の文字に応じて表示を分岐させることも可能

CHOOSE関数を使った実例4(AVERAGEIF関数と組み合わせる)

CHOOSE関数は、AVERAGEIF関数(アベレージイフ)を組み合わせて利用することもできます。

AVERAGEIF関数は、範囲内の条件に一致するすべてのセルの平均値を算出する関数です。

=AVERAGEIF(範囲, 検索条件, [平均範囲])

下の表のG6セルにCHOOSE関数を挿入し、「全体の平均体重」「男性だけの平均体重」「女性だけの平均体重」を表示させる方法を紹介します。

CHOOSE関数とAVERAGEIF関数を組み合わる方法
CHOOSE関数とAVERAGEIF関数を組み合わる方法

まずは、CHOOSE関数をG6セルに挿入し、第1引数に1~3の数値を入力するG2セルを指定します。

次に、第2引数「値1」に、全員の体重合計を算出するために「AVERAGE(D3:D9)」を指定します。

=CHOOSE(G2,AVERAGE(D3:D9),

手順1.CHOOSE関数とAVERAGEIF関数を組み合わる方法
手順1.CHOOSE関数とAVERAGEIF関数を組み合わる方法

次に、第3引数「値2」に、男性だけの体重合計を算出するように、「AVERAGEIF(C3:C9,"男",D3:D9)」を指定します。

=CHOOSE(G2,AVERAGE(D3:D9),AVERAGEIF(C3:C9,"男",D3:D9),

手順2.CHOOSE関数とAVERAGEIF関数を組み合わる方法
手順2.CHOOSE関数とAVERAGEIF関数を組み合わる方法

最後に、第4引数「値3」に、女性だけの体重合計を算出するように、「AVERAGEIF(C3:C9,"女",D3:D9)」を指定します。

=CHOOSE(G2,AVERAGE(D3:D9),AVERAGEIF(C3:C9,"男",D3:D9),AVERAGEIF(C3:C9,"女",D3:D9))

手順3.CHOOSE関数とAVERAGEIF関数を組み合わる方法
手順3.CHOOSE関数とAVERAGEIF関数を組み合わる方法

CHOOSE関数が確定させます。

G2セルの1~3の集計方法(男性、女性、全体)に合わせて、平均体重を表示することができます。

手順4.CHOOSE関数とAVERAGEIF関数の組み合わせが完成
手順4.CHOOSE関数とAVERAGEIF関数を組み合わる方法

CHOOSE関数を使った実例5(SUMIF関数と組み合わせる)

CHOOSE関数は、SUMIF関数(サムイフ)を組み合わせて利用することもできます。

SUMIF関数は、範囲内の条件に一致するすべてのセルの合計値を算出する関数です。

=SUMIF(範囲, 検索条件, [平均範囲])

下の表のG6セルに以下のCHOOSE関数を挿入することで、「全店舗の販売高」「関東だけのの販売高」「関西だけのの販売高」を表示させることができます。

=CHOOSE(G2,SUM(D3:D9),SUMIF(C3:C9,"関西",D3:D9),SUMIF(C3:C9,"関東",D3:D9))

CHOOSE関数とSUMIF関数を組み合わる方法
CHOOSE関数とSUMIF関数を組み合わる方法

CHOOSE関数を使った実例6(SUM関数と組み合わせる)

SUM関数の中にCHOOSE関数を挿入して、合計する範囲を条件によって自在に切り替えすることも可能です。

SUM関数の中にCHOOSE関数を挿入

下のF8セルに、以下のSUM関数を挿入します。F2セルの「1~4」の数値に応じて、C3セルからどれだけ下のセル範囲までを集計するかを変更しています。

=SUM(C3:CHOOSE(F2,C3,C4,C5,C6))

実例:SUM関数の中にCHOOSE関数を利用
実例:SUM関数の中にCHOOSE関数を利用

CHOOSE関数でセル範囲を指定することも可能(スピルの利用)

Excelのバージョンで、Excel2021以降やMicrosoft 365(サブスク)を利用している場合は、CHOOSE関数でセル範囲を活用することも可能です。

下の表のC5セルに以下のCHOOSE関数を入力し、第2引数以降の値にはセル範囲を指定します。

=CHOOSE(C2,F5:F7,G5:G7,H5:H7)

CHOOSE関数にセル範囲を指定
CHOOSE関数にセル範囲を指定

CHOOSE関数を「Enter」キーで確定します。

そうすると、C5セルにしかCHOOSE関数を挿入していませんが、C6セルやC7セルにも、CHOOSE関数が自動で拡張されて挿入されました。

CHOOSE関数が自動で拡張されて挿入
CHOOSE関数が自動で拡張されて挿入

Excel2019以前のバージョンでは利用することはできませんが、今後こういった使い方がどんどん広まっていくことが予想されます。

この機能は、エクセルの「スピル」といい、数式の結果が複数ある場合は、他のセルにも数式が反映される機能です。