Excel 何が違う?IFS関数とSWITCH関数

こんにちは。

Excelを使う場合必ずといって良いほど使われるIF関数ですが、私が覚えたのはずいぶん昔のため、複数条件がある場合は未だに長~いネスト(入れ子)の式を作成してしまいます。

現在はもっと便利な関数がたくさん出ているのだから、使わないともったいないですね。

 

例えば、カレンダーの曜日を参照して、毎週月木が「可燃ゴミ」、火曜が「不燃ゴミ」、土曜が「資源ゴミ」という表を作る場合、Excel2019以降のバージョンならSWITCH関数を使うと簡単です。

A列3行目から日付、B列3行目に曜日を表示、C列にSWITCH関数を入れるとしたら、

 

=SWITCH(B3,"月","可燃ゴミ","火","不燃ゴミ","木","可燃ゴミ","土","資源ゴミ",””)

 

数式の最後の "" は、条件に一致しなかった場合の表示方法です。月でも木でも火でも土でもなかった場合は ""(空欄)になります。

 

これでカレンダーC列の最後まで数式をコピーすれば、月曜と木曜には「可燃ゴミ」、火曜には「不燃ゴミ」、土曜には「資源ゴミ」、それ以外は空欄が表示されます。

とてもシンプルな関数で、使いやすいですね。

 

でもこれって、IFS関数でも出来ることでは…と思いませんか?

IFSも複数条件で分岐できる式なので、同じことができます。

 

数式は、

=IFS(B3="月",”可燃ゴミ”,B3="火","不燃ゴミ",B3="木","可燃ゴミ",B3="土","資源ゴミ",TRUE,””)

 

月と木は同じ「可燃ゴミ」なので、OR関数でまとめても良いですね。

=IFS(OR(B3="月",B3="木"),”可燃ゴミ”,B3="火","不燃ゴミ",B3="土","資源ゴミ",TRUE,””)

 

SWITCH関数とよく似ていますが、条件にいちいち「B3=」を入れる必要があるのと、条件に一致しなかった場合の表示方法を入れる時に「TRUE」を入力するところが違いますね。

 

SWITCH関数もIFS関数も使い方は同じ、結果も同じ。

では何が違うのでしょう?

 

実はSWITCH関数は、「値の完全一致」が条件。

参照先の値をそのまま照らし合わせる場合にのみ使えます。

この場合は対象のセル(B3)と対象セルの値(月~日)が完全一致する必要があるので、文字列なら問題ないですが、「>=100」等の演算子を使った数値などは使えません。

 

一方、IFS関数は、条件に演算子を使用した数式を使うことができるので、参照先の値に対して条件が「80以上」とか「100未満」のように完全に一致しなくても使えます。

上記のように条件に関数が入っていても大丈夫!

複雑な条件分岐をさせたい場合は迷わずIFS関数を選びましょう。

 

こうしてみるとSWITCH関数はIFS関数の下位互換のように見えてしまいますね。

でも、値が完全一致の場合は式を簡潔に入力できること、「条件に一致しない場合」の値を直感的に設定できるシンプルさは魅力だと思います。

 

どちらも便利な関数ですので、処理する条件の種類や複雑さに応じて使い分けてみてくださいね。

わからない時はお気軽にスタッフにお尋ねください♪