いまさら聞けないExcelの使い方講座

【Excel】IF関数が苦手な人へ、もう一つの救世主!エクセルのSWITCH関数はIFS関数とどう使い分ける?

SWITCH関数はIF関数が苦手な人のためのもう一つの救世主!

 Excelでよく使う関数の1つにIF関数がありますよね。IF関数は、条件に応じて表示内容や処理を変えたい時に使う関数で、さまざまな場面で使用される機会の多い関数ですが、複数の条件を指定したい時に数式が複雑になってしまうのが難点でした。前回の記事では、複雑になりがちなIF関数ではなく、もっとシンプルでわかりやすいIFS関数(①)を使う方法を解説しました。

 実は、IFS関数のほかにも、IF関数の代わりとして使用できる関数があります。それは、SWITCH関数という関数です。SWITCH関数も、IFS関数と同様、複数の条件に応じて表示内容を変えたい時に使うと便利な関数です。「ではこの2つの関数、何が違うの?」と疑問に思う読者も多いでしょう。そこで今回は、SWITCH関数の使い方を学びながら、IFS関数との違いを考えてみます。ケース・バイ・ケースで、適切な関数を使えるようになると、業務効率もさらにアップしますよ!

 SWITCH関数は、Excel 2016ではOffice 365(現Microsoft 365)を契約していなければ使用できませんでしたが、Excel 2019からはOffice 365を契約していなくても使用できるようになりました。SWITCH関数を使える環境を持っている人は、ぜひトライしてみましょう。

SWITCH関数を使ってみよう

 ではさっそく、SWITCH関数の使い方を解説します。SWITCH関数は、次のような書式で記述します。

 最初の引数「式」に判定する値を指定し、以降の引数で、この「式」がどんな「値」だったらどのような「結果」を表示するのかを設定していきます。「式」の判定結果が「値1」と一致する場合に表示させたい内容を「結果1」に記述し、「値2」と一致する場合に表示させたい内容を「結果2」に記述します。引数の数が多くて複雑に見えるかもしれませんが、「値」と「結果」をカンマで区切って入力していくだけなので、思いのほか簡単です。最後の「既定の結果」には、どの値にも当てはまらない場合に表示する内容を記述します。

 SWITCH関数の書式を理解できたら、数式を作成してみましょう。次の「顧客名簿」で、J列に(①)「割引率」を入力する例を考えてみます。ここでは、I列の「種別」に応じて、「会員」なら「10%」、「学生」なら「5%」、それ以外の場合は「3%」というふうに割引率が変わるとします。

 今回は、数式の作成を補助してくれる「関数の挿入」機能を使って、数式を作成していきます。セルJ4(②)を選択し、[数式]タブ(③)→[関数の挿入](④)をクリックしましょう。

 [関数の挿入]ダイアログボックスが表示されます。[関数の検索]欄に「SWITCH」(⑤)と入力し、[検索開始](⑥)をクリックします。すると、その下の関数の一覧に「SWITCH」(⑦)が表示されるので選択し、[OK](⑧)をクリックします。

 [関数の引数]ダイアログボックスが表示されます。まず、[式]欄には、割引率を判定するための「種別」の値「I4」(⑨)を入力します。次に、I列の値が「会員」なら「10%」と指定したいので、[値1]欄には「"会員"」(⑩)、[結果1]欄には「10%」(⑪)と入力します。

 続けて、次の「値」と「結果」のペアも入力します。「式」(セルI4の値)が「学生」なら「5%」と指定したいので、[既定または値2]欄に「"学生"」(⑫)と入力し、[結果2]欄には「5%」(⑬)と入力します。「既定または値3」欄には、どの条件にも当てはまらない場合の結果「3%」(⑭)を入力します。なお、「値」と「結果」を追加するごとに、入力欄は自動的に拡張されていきます。

 これですべての引数を入力できたので、[OK](⑮)をクリックしてダイアログボックスを閉じます。

 すると、自動的に数式が作成され、セルJ4には「10%」(⑯)と表示されます。数式バーを見てみると、完成した数式は「=SWITCH(I4,"会員",10%,"学生",5%,3%)」(⑰)となっていることがわかります。

 オートフィルを使って、先ほど作成した式をJ列のほかのセルにもコピーしましょう。セルJ4の右下に表示されるフィルハンドルをセルJ19までドラッグします(⑱)。すると、数式だけでなく書式までコピーされてしまうので、セルJ19の右下に表示される[オートフィルオプション](⑲)をクリックして、[書式なしコピー(フィル)](⑳)を選択します。

 数式はコピーされたままの状態で、セルの背景色だけが元に戻りました(㉑)。これでJ列のすべてのセルに割引率を入力できました。

SWITCH関数とIFS関数は何が違うの?

 ここまでで、SWITCH関数の使い方は理解してもらえたと思います。では、このSWITCH関数と、前回の記事で解説したIFS関数は何が違うのでしょうか?

 どちらも「〇〇が△△なら××を表示する」という処理を実現する関数という点では同じですが、IFS関数の例では、「〇〇が△△なら」という判定条件に「対象の値が200以上の場合」のような比較式(①)を指定しています。このように「~以上」「~より小さい」などの条件で判定したい時はIFS関数を使います。

 一方、今回のSWITCH関数の例では、判定条件は「対象の値が『会員』かどうか」のように、値が一致するかどうかの判定になります(②)。

 お気づきの読者もいるかもしれませんが、今回の例は、IFS関数を使って記述することも可能です(③)。

 しかしながら、今回の例のように、判定条件が「値が一致するかどうか」というものであれば、SWITCH関数のほうがシンプルで簡単そうです。

SWITCH関数を使って業務を効率化しよう

 今回は、複数の条件に応じて表示する値を変えたい時に、IF関数よりも簡単に記述できるSWITCH関数について解説しました。また、SWITCH関数の使い方を学びながら、IFS関数との違いを考えてみました。

 この2つの関数を知っていれば、業務で複数の条件を応じて処理を変えたい場面でもバッチリ対応できることでしょう。SWITCH関数を使える環境を持っている人は、ぜひトライしてみてくださいね。