今回は、ExcelのSWITCH関数を使って、セルの値に応じて表示する結果を切り替える方法を紹介します。
SWITCH関数は、Microsoft 365のExcel、またはExcel 2019以降で使えます(Windows版・Mac版)。これより前の買い切り版では使えないため、ファイルを共有する相手の環境にも気を配っておくと安心です。
SWITCH関数でできること
SWITCH関数は、ある1つの値(式)を、あらかじめ用意した複数の値と順番に照らし合わせ、最初に一致した値に対応する結果を返す関数です。どれにも一致しなかったときに表示する既定値も指定できます。
たとえば、次のような「コードを名前に置き換える」作業に向いています。
- 部署コード「1」「2」「3」を「営業部」「総務部」「開発部」に置き換える
- 評価記号「A」「B」「C」を「優」「良」「可」に置き換える
- 曜日を表す番号を「日」「月」「火」…の表記に置き換える
IF関数を何重にも入れ子にして書いていた数式を、1つの関数にまとめられる点が特長です。
SWITCH関数の書き方
基本の形は次のとおりです。
=SWITCH(式, 値1, 結果1, 値2, 結果2, …, 既定値)
- 式:比較のもとになる値です。セル参照や、別の関数の結果を指定します。
- 値1、値2…:式と照らし合わせる値です。
- 結果1、結果2…:対応する値と一致したときに返す内容です。値と結果は必ずペアで指定します。
- 既定値:どの値にも一致しなかったときに返す内容です。省略できますが、指定する場合は最後の引数にします。
値と結果のペアは最大126組まで指定できます。既定値は「対応する結果がない最後の引数」として扱われるため、ペアの数と合わせて引数の並び順をよく確認しておきましょう。
基本の使用例
部署コードを部署名に変換する
A2セルに部署コード(1〜3)が入っているとします。B2セルに次の数式を入力します。
=SWITCH(A2,1,”営業部”,2,”総務部”,3,”開発部”,”該当なし”)
A2が1なら「営業部」、2なら「総務部」、3なら「開発部」が表示されます。それ以外の値が入っていると「該当なし」と表示されます。あとはB2セルを下へコピーすれば、一覧全体のコードを名前に置き換えられます。
別の関数と組み合わせて曜日を表示する
式の部分には、別の関数を入れることもできます。たとえば、日付から曜日の番号を求めるWEEKDAY関数と組み合わせると、次のように書けます。
=SWITCH(WEEKDAY(A2),1,”日曜”,7,”土曜”,”平日”)
WEEKDAY関数は、既定の設定では日曜日を1、土曜日を7として番号を返します。この数式では、日曜と土曜だけを名前で表示し、それ以外の曜日はまとめて「平日」と表示しています。すべての曜日を書き出さなくても、既定値でまとめて扱えるのがポイントです。
既定値を指定しておく理由
既定値を省略した状態で、どの値にも一致しなかった場合、SWITCH関数は#N/Aエラーを返します。
=SWITCH(A2,1,”営業部”,2,”総務部”,3,”開発部”)
この数式でA2に「4」や空白が入っていると、#N/Aが表示されます。エラーが表に混ざると、ほかの集計の数式にも影響することがあるため、次のような工夫をしておくと扱いやすくなります。
- 「該当なし」「未設定」などの文字を既定値にする:想定外の値が入っていることにすぐ気づけます。
- 空文字(””)を既定値にする:入力前の行を空欄のまま見せたいときに便利です。
- あえて既定値を省略する:想定外の値をエラーとして目立たせ、入力ミスを見つけたい場合はこの方法もあります。
目的に合わせて既定値の指定方法を選ぶと、表の見え方を整えやすくなります。
IF関数・IFS関数との違い
条件によって結果を変える関数には、IF関数やIFS関数もあります。それぞれの特徴を押さえておくと、場面に応じて選べます。
- SWITCH関数:1つの値が「何と等しいか」で結果を変えるときに向いています。式を1回書くだけで済むため、数式が短くなります。
- IFS関数:「80以上」「60以上」のように、大小比較などの条件を順番に判定したいときに向いています。
- IF関数の入れ子:どのバージョンでも使える方法ですが、条件が増えるとかっこの対応がわかりにくくなります。
SWITCH関数は「一致するかどうか」を調べる関数なので、点数の範囲で評価を分けるような判定には向いていません。範囲で分けたい場合はIFS関数を選ぶとよいでしょう。
SWITCH関数を使うときのコツ
値の種類をそろえる
数値の「1」と文字列の「1」は、見た目が同じでも別の値として扱われます。コードが文字列として入力されている場合は、数式の値も”1″のように二重引用符で囲む必要があります。思ったとおりに一致しないときは、まずセルに入っている値の種類を確認してみましょう。
改行やスペースで数式を読みやすくする
ペアが多くなると、数式が横に長くなります。数式バーでAlt+Enterキー(Windowsの場合)を押すと数式の途中で改行できるため、「値, 結果」のペアごとに改行しておくと、後から見直すときに対応関係を追いやすくなります。
対応表が多いときは参照の関数も検討する
置き換えたい項目が数十件に及ぶ場合や、項目が頻繁に増減する場合は、数式の中に書き込むよりも、別のシートに対応表を作ってXLOOKUP関数などで参照するほうが管理しやすくなります。項目が少なく、変更もあまりない場合にSWITCH関数を使う、という線引きをしておくと迷いません。
まとめ
ExcelのSWITCH関数は、1つの値を複数の候補と照らし合わせ、一致したものに応じて結果を切り替える関数です。
- 書き方は =SWITCH(式, 値1, 結果1, …, 既定値)
- 値と結果はペアで指定し、最大126組まで使える
- 既定値を省略して一致しないと#N/Aエラーになる
- 大小比較で分けたい場合はIFS関数を選ぶ
- 項目が多い場合は対応表と参照用の関数を使うと管理しやすい
コードの置き換えや表記の統一など、値に応じて結果を分ける作業でSWITCH関数を活用してみてください。