【Excel】SWITCH関数で値に応じて結果を切り替える方法

この記事は約5分で読めます。

今回は、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関数を活用してみてください。