SWITCH関数 ● 値と結果のペアから指定した値に対応する結果を返す

[Excel 2019以降]

Excelの SWITCH(スイッチ)関数の使い方を紹介します。

SWITCH関数はExcel 2019で追加された関数で、『「X」が「A」のときは「○○」、「B」のときは「△△」、「C」のときは「□□」、どれでもにときは「××」』のような条件分岐を行います。

スポンサーリンク

書式

値と結果のペアから指定した値に対応する結果を返す
=SWITCH(, 値1, 結果1, [値2, 結果2]…, [既定値])

]に一致する[]を探し、最初に一致した[]に対応する[結果]を返します。一致する[]がない場合は、[既定値]が返されます。[]と[結果]のペアは126組まで指定できます。

引数

引数 説明
評価の対象となるセルや式を指定する。
]と比較する値を指定する。
結果 ]が[]に一致する場合に返す値を指定する。
既定値 ]に一致する[]が存在しない場合に返す値を指定する。

CHOOSE関数と似ていますが、SWITCH関数では[既定値]を指定できることが特徴です。なお、[]に一致する[]が存在せず、さらに[既定値]の指定を省略した場合は、エラー値[#N/A]が返されます。

使用例1…セルに表示されている順位に応じたメダルの色を表示する

C列の「順位」欄に表示されている順位が「1」の場合に「金メダル」、「2」の場合に「銀メダル」、「3」の場合に「銅メダル」、いずれでもない場合に「---」を表示します。

=SWITCH(, 値1, 結果1, [値2, 結果2]…, [既定値])

セルD3 | =SWITCH(C3,1,"金メダル",2,"銀メダル",3,"銅メダル","---")

図1 セルD3に SWITCH 関数を入力して、セルD8までコピーする。

メモ

SWITCH関数が使えないバージョンでは
Excel 2016以前のバージョンではSWITCH関数を使えません。SWITCH関数と同様の処理を行うには、IF関数を入れ子にして使用します。
=IF(C3=1,"金メダル",IF(C3=2,"銀メダル",IF(C3=3,"銅メダル","---")))

使用例2…得点から求めた順位に応じてメダルの色を表示する

使用例1では表の中に「順位」の列がありましたが、ここではSWITCH関数の引数[]にRANK.EQ関数を指定して、1つの数式の中で順位計算とメダルの色の対応付けを行います。RANK.EQ関数は順位を求める関数です。今回は、1位、2位、3位以外に何も表示されないように[既定値]に「""」を指定しました。

=SWITCH(, 値1, 結果1, [値2, 結果2]…, [既定値])

セルC3 | =SWITCH(RANK.EQ(B3,$B$3:$B$8,0),1,"金メダル",2,"銀メダル",3,"銅メダル","")

図2 セルC3に IF 関数を入力して、セルC8までコピーする。

メモ

SWITCH関数が使えないバージョンでは
SWITCH関数と同様の処理を行うには、IF関数を入れ子にして使用します。今回の例では RANK.EQ関数を3回入力することになり、数式は相当長くなります。
=IF(RANK.EQ(B3,$B$3:$B$8,0)=1,"金メダル",IF(RANK.EQ(B3,$B$3:$B$8,0)=2,"銀メダル",IF(RANK.EQ(B3,$B$3:$B$8,0)=3,"銅メダル","")))
スポンサーリンク

関連記事