こんにちは。
先日 Excelを受講中の生徒様から、
「SWITCH関数とIFS関数の違いがよくわかりません。どっちを使うか、どうやって判断すれば良いですか?」
とご質問いただきました。
目の前にあった問題は、
「B1のセルに、セルA1の値が1だったら「A」、2だったら「B」、3だったら「C」と表示し、
それ以外だったら「-」と表示する数式を入力しなさい」といったもの。
SWITCH関数を使うなら、B1セルにはこう入力します。
=SWITCH(A1,1,”A”,2,”B”,3,”C”,”-“)
IFS関数を使うなら、B1セルにはこう入力します。
=IFS(A1=1,”A”,A1=2,”B”,A1=3,”C”,TRUE,”-“)
どちらの式を入力しても、同じ結果が得られます。
じゃあ「SWITCHとIFSって何が違うの?」
という疑問が生じますよね。
今回は、SWITCH関数とIFS関数の役割の違い・使い分け・よくあるミスなどをご説明します。
【SWITCH関数とは?→値の置き換えに特化】
SWITCH関数は、
「検索値がどれに一致するかを順番に判定し対応する結果を返す関数」です。
◆基本構文
=SWITCH(検索値, 値1, 結果1, 値2, 結果2, ..., [既定値])
検索値A1の値が[値1]と一致すれば結果1を、[値2]と一致すれば結果2を…
一致しない場合は規定値で設定した値を返す
◆特徴
完全一致のみ判定できる(比較演算子>=や<)は使えない
◆使用例
=SWITCH(A1,1,"不合格",2,"合格",3,"優秀","該当なし")
【IFS関数とは?→複数条件の判定】
IFS関数は、
「複数の条件式を順番に判定し、最初に当てはまった結果を返す関数」です。
◆基本構文
=IFS(論理式1,真の場合1、論理式2、真の場合2,…TRUE,当てはまらない場合)
もし論理式1のとおりなら真の場合1を、論理式2のとおりなら真の場合2を、と順番に判定していき、
どの条件にも当てはまらない場合、TRUEの後に設定された値を返す
◆特徴
比較演算子(>=、<など)が使える
◆使用例
=IFS(A1>=80,"優",A1>=60,"良",A1>=40,"可",TRUE,"不可")
こうして比べてみると、SWITCH関数とIFS関数は、それぞれ役割が違うことがわかりますね。
最初の式で同じ働きに見えたのは、たまたま問題のIFSの条件式が「A1=1」のように単純なものだったからで、
IFS関数は、本来はもっと複雑な条件式にも対応できる関数なのです。
SWITCH関数でできることはIFS関数で代替可能です。
「SWITCH関数で出来るけどIFS関数では出来ないこと」は、実は一つもないのです。
「それなら、SWITCH関数って存在する意味ある?」
…なくても困らないかもしれませんが、「強み」はあります。
【SWITCH関数の「強み」(=実務で選ぶ理由)】
① 同じ条件を何度も書かなくていい
・IFS関数だと
=IFS(A1=1,...,A1=2,...,A1=3,...)
のように、毎回A1を書く必要がありますが、
・SWITCH関数では
=SWITCH(A1,1,...,2,...,3,...)
のように、最初に1回だけでOK
→記述量が減り、ミスも減る(実務では重要ポイント)
② 「値の変換」と一目で分かる
・IFS関数:条件式が並ぶので意図が読み取りにくい
・SWITCH関数:記述がシンプルで、コード変換・マスタ変換と直感的に理解できる
③ コピペ・修正に強い
・IFS関数:式をコピペしたり、セルの列変更が行われた場合、修正箇所が多く、ミスに気づきにくい
=IFS(A1=1,”A”, A1=2,”B”, A1=3...→ =IFS(B1=1,”A”,B2=2,”B”,A1=3...
・SWITCH関数:検索値の列変更でも修正箇所は1ヶ所だけで済む
=SWITCH(A1,1,”A”,2,”B”,3...→ =SWITCH(B1,1,”A”,2,”B”,3...
【どう使い分ける?】
コード変換や曜日変換等の単純な置き換えならSWITCH関数、
点数評価や以上・未満等の条件判定ならIFS関数
それぞれ状況や場面に応じて使い分けましょう
【おまけ】よくあるミス
IFS関数:
・[TRUE]の書き忘れ→どの条件にも当てはまらないとエラーに
・条件の順番ミス→上(左?)から順に判定していくため並び順が重要
SWITCH関数:
・[規定値](最後の引数)の書き忘れ
・[検索値]を条件式(論理式)にしてしまう
(SWITCHは「値の一致」判定であり論理式は不可)
SWITCH関数とIFS関数は、似た機能がありますが、それぞれ「得意分野」が異なります。
特徴を理解することで、実務での作業効率もぐっと上がります。
日々の業務や学習の中で、ぜひ積極的に使い分けを試してみてくださいね♪

