SWITCH関数の使い方|複数条件で結果を切り替える

Excel(エクセル)SWITCH関数の使い方

Excel(エクセル)SWITCH関数の使い方|複数条件で結果を切り替える

SWITCH関数について、その使い方を初心者にも分かりやすく解説しています。SWITCH関数とは? SWITCH関数が使えるExcelのバージョン情報、SWITCH関数で複数条件の指定方法、SWITCH関数を「既定値」で締めくくる方法、同じような使い方ができるIF関数・VLOOKUP関数・IFS関数について、SWITCH関数で生じやすいエラーと対処法など。

使用関数:SWITCH

SWITCH(スイッチまたはスウィッチ)関数とは?

Switchは「切り替え」を意味する英語です。SWITCH関数は指定した複数条件によって結果を切り替えて表示します。IF関数やIFS関数よりも、単純な条件判定に向いています。

SWITCH関数が使えるExcelバージョン

SWITCH関数はExcel2016(Office365に格納されたもののみ使用可能)から加わった関数です。単体のExcelでは2019から装備されています。SWITCH関数が見当たらない、使えないというときはExcelのバージョンをご確認下さい。Excel2016以前のバージョンである可能性があります。

SWITCH関数の引数と書式

「数式」タブ「関数ライブラリ」→「論理」→ SWITCHをクリックします。
「関数ライブラリ」→「論理」→SWITCH
SWITCH関数の引数は「式」「値1」「結果1」、「値2」「結果2」・・・(~「値126」「結果126」まで指定可能)、「既定値」です。

SWITCH関数の書式の構成はこうなります。複雑な印象ですが、使ってみればシンプルで分かりやすい引数です。
SWITCH関数の書式の構成

SWITCH関数の基本的な使い方

では、実際にSWITCH関数を使って複数条件を指定してみましょう。

社内イベントのゲーム結果に応じて1位~3位までに賞品を授与します。賞品は「1位が商品券」「2位が食事券」「3位が和菓子」です。
SWITCH関数で点数に応じた賞品授与を表示させる表
※既に「順位」の列を設け、RANK.EQ関数「=RANK.EQ($B2,$B$2:$B$14)」で得点から順位を取得してあります。

第一引数「式」の指定

判定の対象となるセルを参照するか、判定の対象を割り出す数式を入力します。

SWITCH関数の引数に以上・以下・未満などの等号=・不等号< >は使えない

この引数が「論理式」でないことに注目して下さい。SWITCH関数では、IF関数やIFS関数のように以上・以下・未満などの等号(=)不等号(< >)を使った比較条件の指定はできません

この例では、「順位」の最初のセルをクリックで参照します。第二引数の「値」と照合するセルを指定したということです。
SWITCH関数の引数「式」に判定対象のセルを指定

引数「式」には順位を取得する数式「RANK.EQ($B2,$B$2:$B$14)」を直接入力することもできます。
SWITCH関数の引数「式」に順位を取得する数式を直接入力

第二引数「値1」の指定

「値1」には「式」と照合する数値や文字列を入力します。第一引数「式」と第二引数「値1」で「この両者がイコールなら」という条件が指定されます。

この例では数値で「1」と入力します。「順位の最初のセルC2が1とイコールなら(=順位が1位なら)」という条件が指定されたわけですね。
SWITCH関数の引数「値1」に1と入力

第三引数「結果1」の指定

「結果1」には第一引数「式」と第二引数「値1」で指定された条件が一致した場合に表示させる値を入力します。

この例では文字列で「”商品券”」と入力します。「順位の最初のセルC2が1とイコールなら商品券と表示させる」という一番目の結果が分岐されました。
SWITCH関数の引数「結果1」に"商品券"と入力

「値2」「結果2」以降は「値1」「結果1」の繰り返し

2以降は「値1」と「結果1」の操作の繰り返しになります。第一引数「式」だけは変わりません。第一引数「式」と「値2」で「この両者がイコールなら」という条件を指定し、合致した場合に表示させる値を「結果2」に指定します。

この例では「値2:2」「結果2:”食事券”」、「値3:3」「結果3:”和菓子”」と指定します。
SWITCH関数の「値2」「結果2」~「値3」「結果3」の指定

さて、ここで「値2」以降が「規定または値2」になっているのが気になると思います。

SWITCH関数の締めくくり「既定値」の指定

SWITCH関数では「式」に対して「値」「結果」がワンセットで条件を指定していきます。そして、全ての条件をクリアできなかった場合の結果を「既定値」として最後の「値」に指定します。例えば「値5」「結果5」までで条件の指定が終わったら、「規定または値6」にどの条件にも当てはまらない場合の結果を入力します。

この例では「規定または値4」に空白を意味する””を入力します。「それまで指定した1~3条件全てに合致しなかったら、空白のままにする」という指定です。
SWITCH関数の最後の「規定または値」の指定

SWITCH関数による順位に応じた賞品の配分が実装できました。
SWITCH関数による順位に応じた賞品の配分
最終的な数式 =SWITCH(C2,1,”商品券”,2,”食事券”,3,”和菓子”,“”)
この数式の構成を確認してみましょう。
SWITCH関数の数式の構成

SWITCH関数の他に条件で結果を分岐する関数

複数の条件に応じて結果を振り分けるための関数には、ネスト構造にしたIF関数、VLOOKUP関数、SWITCHと同じ時期にExcelに加わったIFS関数などがあります。

ネストを繰り返すIF関数

論理関数の代表格、IF関数にIF関数を入れ子(ネスト)する数式はポピュラーです。
上記の例で入れ子構造のIF関数を組み立ててみると、数式は「=IF(C2=1,”商品券”,IF(C2=2,”食事券”,IF(C2=3,”和菓子”,””)))」となります。

IF関数の使い方の詳細は以下の記事にまとめてあります

Excel「IF関数」基本の使い方と条件2つ以上指定する「場合分け」を覚える
IF関数の基本の使い方から2つ以上の条件を指定する応用例までを初心者にも分かりやすく図解します。場合分けで条件を指定する方法の基本、数式の入れ子、IFS関数、AND・OR関数との組み合せなどIF関数のいろいろな使い方を覚えて下さい。

IFS関数

入れ子を繰り返すIF関数の数式を一つにまとめて分かりやすくしたのがIFS関数です。
上記の例でIFS関数を組み立ててみると、数式は「=IFS(C2=1,”商品券”,C2=2,”食事券”,C2=3,”和菓子”,TRUE,””)」となります。

IFS関数の使い方の詳細は以下の記事にまとめてあります

IFS関数の使い方|IF関数のネスト不要で複数条件
IFS関数の使い方を初心者にも分かりやすく解説します。IFS関数とは? IFS関数が使えるExcelのバージョン情報、IFS関数で複数条件の指定方法、IFS関数の「偽の場合」の書き方、AND関数と組み合わせて効率的に条件を指定する方法など。

VLOOKUP関数

VLOOKUPは検査値を検索する表を別に作成する手間があり、#N/Aエラーを回避するためにIFERROR関数に入れ子する必要がありますが、数式はIFやIFSよりコンパクトです。また、この例では使っていませんが、曖昧検索で近似値の結果を引き出すこともできます。
VLOOKUP関数の検索に使う別表とダイアログの指定

エラー回避のためにIFERROR関数にネストすると、数式は「=IFERROR(VLOOKUP(C2,$F$2:$G$4,2,0),””)」となります。

VLOOKUP関数の使い方の詳細は以下の記事にまとめてあります

VLOOKUP関数の使い方|Excelで検索してデータを転記
ExcelのVLOOKUP関数はデータ表を縦の方向へ検索して一致する項目のデータを自動で転記。VLOOKUP関数の引数の指定方法の固定ルールを覚えればVLOOKUP関数の複雑な数式の構文も分かる。VLOOKUP関数の使い方を分かりやすく解説...

SWITCH関数はIF関数、IFS関数のように以上・以下など等号・不等号を使った条件の指定はできません。VLOOKUP関数のように近似値を返すこともありません。単純なランク判定などを手軽く実装するのに便利な関数です。

SWITCH関数のエラー

SWITCH関数で生じやすいエラーを挙げておきます。

SWITCH関数の結果が0になる

SWITCH関数の引数「結果」をセル参照で指定した場合などに生じやすいエラーです。
SWITCH関数に限ったことではありませんが、引数に別表からセル参照で指定するときはオートフィルコピーでデータがずれないように絶対参照にしておきましょう。
引数に別表からセル参照で指定するときは絶対参照にする
絶対参照にした数式 =SWITCH(C2,1,$G$2,2,$G$3,3,$G$4,””)

SWITCH関数の結果が#N/Aになる

SWITCH関数で指定した条件に合致せず、「既定値」の指定も行わなかった場合に#N/Aエラーが返ります。
SWITCH関数で#N/Aエラー

「値」「結果」のセットで条件を指定し終わったら、必ず「どの条件にも当てはまらなかったら」表示させる「既定値」を指定しておきましょう。

SWITCH関数の使い方 まとめ
  • SWITCH関数は、指定した複数条件によって結果を切り替えて表示します
  • SWITCH関数はExcel2019(Office365では2016)から装備された関数で、Excel2016以前のバージョンでは使えません
  • SWITCH関数は判定対象のセルを引数「式」に指定し、「値1」「結果1」のセットで条件を指定します
  • SWITCH関数の最後の「規定または値」に「どの条件にも当てはまらなかったら」表示させる「既定値」を指定して、数式を締めくくります
  • 複数条件で戻り値を切り替える関数にはIF関数(ネスト)、VLOOKUP関数、IFS関数があります
  • SWITCH関数の引数に別表からセル参照した場合、絶対参照にするのを忘れると0が返る可能性があります
  • SWITCH関数の最後の引数に「既定値」を指定し忘れると#N/Aエラーが返る確率が高くなります
タイトルとURLをコピーしました