数式でswitch case文のような処理を実行する (SWITCH関数を用いる方法) - Excel

Excelの数式で場合分けをするための方法を紹介します。

概要

こちらの記事では、LOOKUP関数を利用して場合分けの処理を実現しましたが、 新しいバージョンのExcelではSWITCH関数を利用して同様の処理を実現できます。この記事ではSWITCH関数を利用して場合分けの処理をする手順を紹介します。

SWITCH関数の書式

SWITCH関数の書式は以下です。値nの最大値は126となります。SWITCH関数では126組まで値と結果を与えることができます。
SWITCH(式, 値1, 結果1, 値2, 結果2, 値3, 結果3, ..... 値n, 結果n)

また、どの値にも一致しない場合は最後の引数に結果を設定できます。
SWITCH(式, 値1, 結果1, 値2, 結果2, 値3, 結果3, ..... 値n, 結果n, 既定の結果)

シンプルな例

C2セルに下記の式を入力します。
B2セルの値を判定し、値が1であれば「りんご」、2であれば「みかん」、3であれば「パイナップル」を結果として返す動作になります。
=SWITCH(B2,1,"りんご",2,"みかん",3,"パイナップル")



B2セルに1を入力すると、C2セルに「りんご」が表示されます。


B2セルに2を入力すると、C2セルに「みかん」が表示されます。


B2セルに3を入力すると、C2セルに「パイナップル」が表示されます。

デフォルト値のある例

C2セルに下記の式を入力します。
デフォルト値の有り無しは、SWITCH関数の引数の個数で判定されるようです。引数の個数が奇数の場合はデフォルト値が無いものと判定され、引数の個数が偶数であれば、最後の引数がデフォルトの基底の値と判断されるようです。
=SWITCH(B2,1,"りんご",2,"みかん",3,"パイナップル", "該当なし")



B2セルに"8"を入力するとSWITCH関数の値に一致するものが無いため、既定の値である「該当なし」がセルに表示されます。


SWITCH関数の値に合致する値が入力された場合は、SWITCH関数で与えた結果の値がセルに表示されます。

VLOOKUP, HLOOKUP関数との違い

VLOOKUP関数やHLOOKUP関数では、判定値と出力を2次元配列で与える必要があるため、書式が複雑になります。
上記と同じ処理をVLOOKUP関数で実施する場合は下記の書式になります。 2次元配列を渡すため、「{」や「;」の区切りが必要になり、書式もSWITCH関数より複雑になります。
=VLOOKUP(B2,{1,2,3;"りんご","みかん","パイナップル"},2)

著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2024-01-24
作成日: 2019-11-26
iPentec all rights reserverd.