IFS関数とSWITCH関数は、Excel2016から追加された新しい関数です
IF関数を使うと関数(数式)が複雑になってしまう
「もし~ならば・・・」のように、指定した条件に応じて分岐させる場合、IF関数が用いられてきました。
しかし、指定する「条件が複数」の場合はIF関数を「ネスト(入れ子)構造」にする必要があり、関数(数式)がとても複雑なものになります。
Excel2016から新しく追加された、IFS関数とSWITCH関数を使えば関数(数式)を簡潔にすることができます。
条件分岐させる方法は複数あります
「値が○○であれば○○、△△であれば△△、□□であれば□□、…」という条件を指定する方法は複数あります。
- IF関数を "ネスト(入れ子)構造" にする
- VLOOKUP 関数を使う
- IFS関数を使う
- SWITCH関数を使う
1.IF関数を "ネスト(入れ子)構造" にする
IF関数は "条件を1つ" しか設定できないので "複数の条件" を設定するためには、数式を「ネスト(入れ子)構造」にする必要があり、数式(関数)が複雑になってしまいます。
IF関数は、論理式に毎回異なる条件やセルを指定できます
2.VLOOKUP関数 を使う
条件が合えば(検索範囲の項目が左端にある場合)、VLOOKUP関数を使うことで、とても簡潔な数式(関数)にすることができます。
3.IFS関数を使う
IFS関数はSWITCH関数よりも、数式が多少複雑になるものの、複数の条件(論理式)を、複数の場所(範囲)に指定することができます。
IFS関数は、論理式に毎回異なる条件やセルを指定できます
- IFS関数は判定対象を"複数"指定できる
- SWITCH関数は判定対象を"1つ"しか指定できない
4.SWITCH関数を使う
SWITCH関数は、IFS関数に比べると数式(関数)が簡潔になります。
しかし、"検索値(交換する値)は1つだけ" で、指定した値がどれに当てはまるのかということしか調べられません。
SWITCH関数の特徴は、一致する値がない場合「規定値」を表示させることができます。
チケットの料金を "表引き" して表示する
チケットの料金を「料金表」から "表引き" して、"一般"、"ジュニア"、"学生" それぞれの料金を表示します。
このように "表引き" をする場合は、VLOOKUP関数を使う方法が一般的です。
しかし、VLOOKUP関数は「検索値」が "左端" にない場合は使うことができません。
そのような場合はLOOKUP関数とMACH関数を組み合わせたりすることで "表引き" をします。
今回は、「条件に合う場合は、○○を表示する」場合の分かりやすい例として "表引き" する方法で、それぞれの関数を説明します。
IF関数の場合
従来からある "IF関数" を使って料金を表示させるには「ネスト(入れ子)構造」にすることで「複数の条件」を設定する必要があり、数式(関数)が複雑になってしまいます。
- 引数「論理式」を "E3=B3" にして、「区分」の値が一致する場合
- 引数「値が真の場合」の "C3" の料金を表示
- "E3=B3" にならなかった場合、引数「値が偽の場合」に ネスト(入れ子)構造にした2つ目の "IF関数" を入力していきます。
- 最後の条件にした "IF関数の「偽」の引数" に「要確認」を入力
VLOOKUP関数の場合
検索値が「表」の左端にある場合は、VLOOKUP関数を使うことができ、"表引き" することにより簡潔な数式(関数)にすることができます。
- 引数「検索値」の "E3" が
- 引数「範囲」の "B3:C5" の「表」の "左端の列" を検索して一致する行を探し
- 引数「列番号」に入力した "2列目" の一致する行を表示
IFS関数の場合
IFS関数は、IF関数の "条件(論理式)を1つしか設定できない" という欠点を解消し「複数の条件(論理式)」が設定できる新しく追加された関数です。
「区分に入力した値と表の区分が一致した場合にその料金を表示する」という論理式を、"区分" の数だけ繰り返します(※ 126まで)。
IFS関数は「規定値」を表示させる "引数" はありませんが、最期に設定する引数 "論理式"を「TRUE」にし、その結果を「 "要確認" 」にすることで「規定値」にすることができます。
- 引数「論理式」の "E3" と "B3" が一致した場合
- 引数「値が真の場合」の "C3" を表示
- 最後の引数「論理式」に「TRUE」を入力し
- 最後の引数「結果」に「"要確認"」を入力することで、「区分」に該当しない値が入力された場合に「要確認」が表示されるようにします。
SWITCH関数の場合
SWITCH関数はIFS関数と同時に追加された新しい関数です。
分かりやすい簡潔な数式(関数)にすることができますが、欠点は「検索値(論理式)を1つしか設定できない」ことです。
長所は条件(論理式)に合致するものがない場合に表示する「規定値」を設定できることです。
- 引数「式」の "E3" が
- 引数「値」の "B3" と一致した場合
- 引数「結果」の "C3" を表示
- 引数「規定または結果#」を「 "要確認" 」にすることで、"条件に該当するものがない場合" の規定値にします
このように「条件分岐」させる方法は複数あります。
それぞれに長所と欠点があるので、状況によって使い分ける必要があります。
今回は、それぞれの数式(関数)の構造を分かりやすくするために、「チケットの料金表(1つの表)を "表引き" する」という比較的簡単な「条件」を例にしました。
(その2)では、もう少し「複雑な条件分岐」を例にしてより詳しくそれぞれの数式(関数)の説明をします。