Excel 2019以降で使用可能なSWITCH関数とIFS関数は、いずれも条件分岐の関数です。
この記事では、SWITCH関数とIFS関数の違いを事例を交えて紹介します。
→記事で紹介した例題をそのまま掲載した[練習用Excelシート]
SWITCH関数とは
SWITCH(スイッチ)関数は、第1引数に「式」を、第2引数に「式」に対する条件となる「値1」を、第3引数に「式」が「値1」に等しい場合の「結果1」を指定します。
最後に、いずれでもなかった場合を指定したいときには「結果X」を指定します。なお、「結果X」は省略可能です。
書式 |
SWITCH( 式, 値1, 結果1 [, 値2, 結果2, ..., 結果X] ) |
「セルの値が値1ならA、値2ならB、・・・、それ以外はX」というような場合分けを行いたいときがあります。
SWITCH関数を使用すると、セルの値や数式の結果に応じて複数の場合分けを簡単に行えます。
例えば、得点の応じて「優勝」「準優勝」「3位」と表示したい場合には、第1引数の式にRANK.EQ関数を指定します。第2引数には1、第3引数には”優勝”、第4引数には2、第5引数には"準優勝"、第6引数には3、第7引数には"3位"、第8引数には、これら以外のときを空白で示す""、を指定します。
IFS関数とは
IFS関数の書式
IFS(イフエス)関数は、第1引数に「論理式1」を、第2引数に「結果1」を、第3引数に「論理式2」を、第4引数に「結果2」を指定して使います。
いずれの条件を満たさない場合の「いずれでもなければ」の論理式には、「TRUE」を指定し、その場合の「結果」も指定します。
書式 |
IFS( 論理式1, 結果1 [, 論理式2, 結果2, ... ,TRUE, 結果X,] ) |
IFS関数の説明
IFS関数を使用すると、複数条件による場合分けを効率よく行えます。
「条件1ならばA、条件2ならばB、・・・、そうでなければX」という場合分けを、IF関数で行うには、複数のIF関数を入れ子(ネスト)にして組み合わせる必要がありますが、IFS関数なら1つの関数でできます(入れ子にする必要はありません)。
【参考】比較演算子
表記 | 使用例 | 意味 |
= | A2=80 | A2セルの値が80と等しい |
<> | A2<>80 | A2セルの値が80と等しくない |
> | A2>80 | A2セルの値が80より大きい |
>= | A2>=80 | A2セルの値が80以上 |
< | A2<80 | A2セルの値が80より小さい |
<= | A2<=80 | A2セルの値が80以下 |
SWITCH関数とIFS関数の3つの違い
判定対象が1つか複数か
SWITCH関数は、A2セルが1だったら、2だったら、3だったらのように、1つの"式"しか判定できません。
一方、IFS関数は、A2セルが2に等しかったら、B3セルが3以上だったら、C4セル1以下だったらのように、複数の異なるセルを判定したり、複数の異なる式を判定することができます。
判定対象が複数ある場合には、IFS関数の一択です。
完全一致のみか比較ができるか
SWITCH関数とIFS関数の2つ目の違いは、SWITCH関数が「式が○○の場合」というように「完全一致」しか判定できないのに対し、IFS関数は「より大きい」や「以下」のような比較も判定できるということです。
なお、SWITCH関数は[*]のようなワイルドカードを使用できませんし、アルファベットの大文字と小文字も区別されません。
ここで、SWITCH関数が「完全一致」しか判定できないことを確かめるために、A列のセルが、3ならば「OK("OK")」、3と等しくなければ("<>3")「×("×")」、という式を試してみます。
すると、以下のように、3と等しいときは「OK」を返していますが、その他はノーアサイン(#N/A)、「答えが見つからない」と返しています。
つまり、SWITCH関数は、「○○ではない」の判定はできないということです。
「いずれでもなかったら」の指定方法が異なる
SWITCH関数とIFS関数の3つ目の違いは、「いずれでもなかったら」の指定方法が異なるということです。
SWITCH関数の「いずれでもなかったら」の指定は、最後の引数に「結果」のみを指定します。
SWITCH関数は「値」と「結果」がワンセットです。このワンセットの一番最後で「値」を指定せずに、「結果」のみを指定すると、それが「いずれでもなかったら」となります。
一方、IFS関数は、「論理式(判定)」と「結果」をワンセットにして左から順に指定していきます。もし、どの「判定」も満たさなかったら、IFS関数はエラーになります。
どの「判定」も満たさなかったときに「いずれでもなかったら」の「結果」を返すには、「最後の判定」のところに「TRUE」を指定します。
SWITCH関数は特殊な記述方法でIFS関数と同等に
ここまで、SWITCH関数とIFS関数の3つの違いを説明してきましたが、実は、SWITCH関数には、特殊な記述方法があります。
この特殊な記述方法をすることで、1番目と2番目の違いはなくなり、「いずれでもなかったら」の指定方法以外は、IFS関数と変わらなくなります。
第1引数に「TRUE」を指定する
SWITCH関数の特殊な記述方法とは、第1引数に「TRUE」を指定することです。
さきほど、ノーアサインの判定になった例題で説明すると、B2セルに =SWITCH(A2,3,"OK","<>3","×") と指定してもうまくいきませんでしたが、第1引数を「TRUE」に指定して =SWITCH(TRUE,A2=3,"OK",A2<>3,"×") とすると、うまくいきます。
SWITCH関数の使い勝手が格段によくなるので、覚えておいて損はないかと思います。
まとめ
書式の違いが一目でわかる画像
SWITCH関数とIFS関数の書式の違いが一目でわかるように、SWITCH関数とIFS関数の書式をまとめた画像を作りました。よかったら活用してください。
SWITCH関数は「TRUE」指定でパワーアップ
SWITCH関数の第1引数に「TRUE」を指定すると、IFS関数と同じような使い方ができるようになります。
おすすめ記事