Excel

SWITCH(スイッチ)関数とIFS関数の違い[Excelシート付]

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引数には、これら以外のときを空白で示す""、を指定します。

SWITCH関数の例

 

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つの関数でできます(入れ子にする必要はありません)。

IFS関数の例

 

【参考】比較演算子

表記 使用例 意味
= 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関数は完全一致のみ

 

「いずれでもなかったら」の指定方法が異なる

SWITCH関数とIFS関数の3つ目の違いは、「いずれでもなかったら」の指定方法が異なるということです。
SWITCH関数の「いずれでもなかったら」の指定は、最後の引数に「結果」のみを指定します

 

SWITCH関数は「値」と「結果」がワンセットです。このワンセットの一番最後で「値」を指定せずに、「結果」のみを指定すると、それが「いずれでもなかったら」となります。

SWITCH関数の例

 

一方、IFS関数は、「論理式(判定)」と「結果」をワンセットにして左から順に指定していきます。もし、どの「判定」も満たさなかったら、IFS関数はエラーになります。

どの「判定」も満たさなかったときに「いずれでもなかったら」の「結果」を返すには、「最後の判定」のところに「TRUE」を指定します

IFS関数の例

 

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関数の第1引数に「TRUE」を指定

 

まとめ

書式の違いが一目でわかる画像

SWITCH関数とIFS関数の書式の違いが一目でわかるように、SWITCH関数とIFS関数の書式をまとめた画像を作りました。よかったら活用してください。

一目でわかるSWITCH関数とIFS関数の構造

 

SWITCH関数は「TRUE」指定でパワーアップ

SWITCH関数の第1引数に「TRUE」を指定すると、IFS関数と同じような使い方ができるようになります。

 

おすすめ記事

 

 

 

 

参考文献

-Excel
-, ,

© 2024 まなびっと Powered by AFFINGER5