- 公開日:
- 更新日:
ExcelのSWITCH関数の使い方|条件ごとに結果を分ける
この記事では、ExcelのSWITCH関数の使い方についてご説明します。
SWITCH関数で複数条件を設定する方法や、エラーが表示された場合の対処法等についてご説明していますので、参考にしてみてください。
SWITCH関数とは?
SWITCH(スウィッチ)関数とは、対象となるデータを複数の条件で判定し、それぞれの条件ごとに設定した結果を表示する関数です。
データがどの条件にも当てはまらない場合は、「どの条件にも当てはまらない場合」として設定した結果を表示します。
SWITCH関数をフローチャートで表すと、上の画像のようになります。
上の画像は、SWITCH関数で1位から3位までに「金メダル」「銀メダル」「銅メダル」と表示し、4位以下は空欄のままにするという数式を作った場合のフローチャートです。
SWITCH関数が使えるExcelのバージョン
SWITCH関数は、Excel2016から登場した関数です。
現在、SWITCH関数を使用できるExcelのバージョンは以下の通りです。
- Excel2016
- Excel2019
- Office 365
Microsoft 365 Personalの4つのメリット
- 常に最新バージョンが利用可
- Word/Excel/PowerPoint/Outlook/Publisher/Accessのすべてが使える
- 1ライセンス1ユーザー、無制限にインストール可(Windows/Mac/タブレット/スマホ、複数OK)
- 1TBのOneDriveオンラインストレージがついてくる
SWITCH関数の用法
SWITCH関数の用法には、以下のような例があります。
- 大会成績表を作成し、1位から3位までは「メダル授与」、4位以下は「空欄」と表示するように設定する
- 社員名簿を作成し、社員の部署コードに対応した部署名を表示する
- 商品管理表を作成し、商品名に対応した価格を表示する
SWITCH関数の書式
まずは、SWITCH関数の書式を確認していきましょう。
SWITCH関数は、「=SWITCH(式,値1,結果1,[既定値または値2,結果2],…)」のように記述し、「値」と「結果」の引数の組み合わせを最大126個設定することが出来ます。
引数を1つずつ確認していきましょう。
※引数(ひきすう)とは、Excelの関数を使用する際に必要な情報です。関数が結果を返すための判断材料とイメージしましょう。関数名の後の括弧「()」内に入力します。
第1引数(式)
1番目の引数は「式」です。この引数は必須です。結果を分ける基準となるデータが入力されたセルを指します。
例えば上の表では、順位によってメダルの有無を判断しているのでC列のセルが「式」の引数として設定されています。
第2引数(値1)
2番目の引数は「値1」です。この引数は必須です。検索するための条件を設定します。
例えば上の表では、「順位」のリストに表示された「1」「2」等の順位をもとにメダルの有無や色を判断しているので、「1」「2」という数字を値の引数として設定します。
第3引数(結果1)
3番目の引数は「結果1」です。この引数は必須です。「値1」で設定した条件に対応して表示する結果を設定します。
例えば上の表では、順位によってメダルの有無を判断しているので「1」の場合は「金メダル」、「2」の場合は「銀メダル」と設定しています。
第4引数(既定値)
4番目の引数は「既定値」です。「式」の引数がどの「値」の引数にも当てはまらなかった場合に表示されます。この引数は省略することが出来ますが、省略した場合はエラーが表示されます。「値」と「結果」の組み合わせを入力し終わったら最後に規定値の引数を入力しましょう。
例えば上の表では、4位以下の「メダル授与」欄には「空欄」を表示したいので「""」と設定しています。
SWITCH関数の使い方
SWITCH関数の使い方について、ご紹介します。
基本的な操作方法
今回は、SWITCH関数を使って、カレンダーの火曜日の日付に「集荷」と表示する表を作成します。
SWITCH関数を入力します。今回は、上の画像の表を使って、火曜日のD列に「集荷」と表示する表を作成します。【任意のセル(例:D4)】を選択し、『=SWITCH(』と入力します。
式の引数を入力します。C列の曜日のセルで集荷日かどうか判定するので「=SWITCH(」に続いて『C4,』と入力します。
値1の引数を入力します。C列の曜日のセルに「火曜日」と入っている場合に「集荷」と表示するので、「C4,」に続いて『"火曜日",』と表示します。
結果1の引数を入力します。「"火曜日",」に続いて『"集荷",』と入力します。
規定値の引数を入力します。「火曜日」以外には何も表示しないので空欄を入力します。「"集荷",」に続いて『"")』と入力し、【Enter】キーを押します。
数式をオートフィルでコピーします。【関数が入ったセル(例:D4)】を選択し、セルの右下にある「■(フィルハンドル)」を下方向へ【ドラッグ】します。
これでSWITCH関数を使って、カレンダーの火曜日の日付に「集荷」と表示する表を作成することが出来ました。
複数条件を指定する方法
SWITCH関数の結果を複数条件で分岐させる方法について、ご説明します。
今回は上の画像のように、SWITCH関数を使って、1位から3位までに「金メダル」「銀メダル」「銅メダル」と表示し、4位以下は空欄のままにするという表を作成していきます。
SWITCH関数を入力します。
【メダルの色を表示したい任意のセル(例:D7)】を選択し、『=SWITCH(』と入力します。
式の引数を入力します。
順位を条件にして結果を分けるため「順位」が入ったセルを式の引数として設定します。
「=SWITCH(」に続いて『C7,』と入力します。
値1の引数を入力します。
まずは順位が1位の場合を設定します。
「C7,」に続いて『1,』と入力します。
結果1を入力します。
「1,」に続けて『"金メダル",』と入力します。
2位の場合の、値と結果の組み合わせを入力します。
「"金メダル",」に続けて、『2,"銀メダル",』と入力します。
3位の場合の、値と結果の組み合わせを入力します。
「2,"銀メダル",」に続けて、『3,"銅メダル",』と入力します。
規定値の引数を入力します。
4位以下の場合は空欄を表示するので、「3,"銅メダル",」に続けて『"")』と入力し、Enterを押します。
数式をオートフィルでコピーします。
【関数が入ったセル(例:D7)】を選択し、セルの右下にある「■(フィルハンドル)」を下方向へ【ドラッグ】します。
SWITCH関数を使って、1位から3位までに「金メダル」「銀メダル」「銅メダル」と表示し、4位以下は空欄のままにする表を作成できました。
以外で分岐させる方法
SWITCH関数では「○○以外」で条件設定して結果を分けることが出来ません。
ただし、複数条件を設定して結果を分けることはできます。
SWITCH関数で複数条件を設定して結果を分ける方法については、上記「複数条件を指定する方法」セクションをご参照ください。
以上で分岐させる方法
SWITCH関数では、「90点以上」「6月15日以前」等で条件設定して結果を分けることが出来ません。
「90点以上」「6月15日以前」等で結果を分けたい場合は、IFS関数を使いましょう。
IFS関数の書式は「=IFS(論理式1,値が真の場合1,[論理式2,値が真の場合2],…)」です。
IFS関数を使うと上の画像のように「点数が80点以上は優、70点以上は良、60点以上は可」等の条件を設定して、表示する結果を分けることが出来ます。
IFS関数の詳細については、以下の記事をご参照ください。
SWITCH関数の代用としてVLOOKUP関数とIFERROR関数を使う方法
SWITCH関数は、Excel2016から登場した関数のためExcel2013以前では使うことが出来ません。
Exce2013以前で使いたい場合は、SWITCH関数の代わりにVLOOKUP関数とIFERROR関数の組み合わせを使いましょう。
VLOOKUP関数の詳細については、以下の記事をご参照下さい。
ExcelのVLOOKUP関数の使い方|指定の列と同じ行にある値を返す
IFERROR関数の詳細については、以下の記事をご参照ください。
ExcelのIFERROR関数の使い方|エラーの場合に指定した値を返す
VLOOKUP関数とIFERROR関数を組み合わせる方法は、以下の通りです。
今回は上の画像のように、VLOOKUP関数とIFERROR関数を組み合わせて、1位から3位までに「金メダル」「銀メダル」「銅メダル」と表示し、4位以下は空欄のままにするという表を作成していきます。
IFERROR関数を入力します。
IFERROR関数の書式は、「=IFERROR(値,エラーの場合の値)」です。
【任意のセル(例:D7)】を選択し、『=IFERROR(』と入力します。
VLOOKUP関数を入力します。
VLOOKUP関数の書式は、「=VLOOKUP(検索値,範囲,列番号,[検索方法])」です。
「=IFERROR(」に続いて『VLOOKUP(』と入力します。
VLOOKUP関数の検索値の引数を入力します。
「VLOOKUP(」に続いて『C7,』と入力します。
次にVLOOKUP関数の引数を配列定数で入力します。
配列定数とは、数式の中に直接リストを作る入力方法です。
「VLOOKUP(」に続いて『{1,"金メダル";2,"銀メダル";3,"銅メダル"},2,FALSE)』と入力します。
次に、IFERROR関数の引数を入力します。
4位以下のD列のセルは空欄にするので「{1,"金メダル";2,"銀メダル";3,"銅メダル"},2,FALSE)」に続いて『,"")』と入力し、Enterを押します。
数式をオートフィルでコピーします。
【関数が入ったセル(例:D7)】を選択し、セルの右下にある「■(フィルハンドル)」を下方向へ【ドラッグ】します。
VLOOKUP関数とIFERROR関数を組み合わせて、1位から3位までに「金メダル」「銀メダル」「銅メダル」と表示し、4位以下は空欄のままにするという表を作成することが出来ました。
SWITCH関数に関するトラブル対処法
SWITCH関数に関するトラブル対処法について、ご紹介します。
SWITCH関数が使えない場合
SWITCH関数が使えない場合、Excelのバージョンが古い可能性が考えられます。
SWITCH関数は、2016以降で使用できる関数です。
長年同じバージョンのExcelをお使いの方は、最新のExcelに買い替えることをお勧めします。
以下のリンクより、Microsoft Officeの最新版が使用できる「Office 365」をお買い求めいただけます。
Microsoft 365 Personal 1年版|オンラインコード版|Win/Mac/iPad|インストール台数無制限(同時使用可能台数5台)
また、会社のパソコンなどで自由に買い替えが出来ない場合は、上記「SWITCH関数の代用としてVLOOKUP関数とIFERROR関数を使う方法」セクションを参考にしてみてください。
エラーが発生した場合
SWITCH関数でエラーが出る場合の対処法についてご紹介します。
SWITCH関数で#N/A!エラーが出る現象について
SWITCH関数では値と結果の組み合わせにあてはまるデータがなく、かつ規定値の引数が入力されていない場合、#N/A!エラーが表示されます。
試しに規定値を入力せずに、カレンダーの曜日が「火曜日」の場合はD列に「集荷」と表示する設定をしてみます。
【任意のセル(例:D4)】に『=SWITCH(C4,"火曜日","集荷")』と入力し、Enterを押します。
「=SWITCH(C4,"火曜日","集荷")」は、「C4に表示された曜日が火曜日の場合はD列に集荷と表示する」という意味のSWITCH関数です。
数式をオートフィルでコピーします。
【関数が入ったセル(例:D4)】を選択し、セルの右下にある「■(フィルハンドル)」を下方向へ【ドラッグ】します。
「火曜日」以外のセルでは#N/A!エラーが出てしまいました。
これは数式に、規定値の引数を設定しなかったことが原因です。
#N/A!エラーが出ないように、SWITCH関数の数式には必ず規定値の引数を設定しましょう。
規定値の引数については、上記「第4引数(既定値)」セクションで詳しくご説明しています。
#N/A!エラーが出る場合の対処法
#N/A!エラーが出る場合の対処法についてご説明します。
SWITCH関数を使って、カレンダーの曜日が「火曜日」の場合はD列に「集荷」と表示する設定をしてみます。
【任意のセル(例:D4)】に『=SWITCH(C4,"火曜日","集荷","")』と入力し、Enterを押します。
これは「C4に表示された曜日が火曜日の場合はD列に集荷と表示し、火曜日でない場合は空欄にする」という意味のSWITCH関数です。
数式をオートフィルでコピーします。
【関数が入ったセル(例:D4)】を選択し、セルの右下にある「■(フィルハンドル)」を下方向へ【ドラッグ】します。
「火曜日」には集荷と表示され、「火曜日」以外の場合は空欄が表示されました。
これで#N/A!エラーが表示されないように、設定することが出来ました。