無料でExcel並み!Google スプレッドシートの使い方

IF関数で複数条件の指定が面倒! 直感的に複数条件の分岐を使えるSWITCH関数を試してみよう

SWITCH関数の引数は、“ケース”と“値”の対でわかりやすい

 「AならB」の条件を判定したい場合は? IF関数を使って「=IF(条件,真の値,偽の値)」で表せます。では「AならB、CならD」は? さらに条件を増やして「AならB、CならD、EならF」となると……。とっさに思いつきませんよね。「=IF(条件1,値1,IF(条件2,値2,IF(条件3,値3,偽の値)))」となりますが、とても複雑です。

 代わりにSWITCH関数を使うと直感的に引数を指定できますよ。ここでは、サイズ別で料金を判断する表を例に、SWITCH関数の使い方を紹介します

“ケース”と“値”を対で指定する

 SWITCH関数の構文は『=SWITCH(式, ケース1, 値1, ケース2, 値2, …, [規定値])』となります。判定対象を[式]で指定し、[式]と[ケース]が一致する場合の[値]が結果として表示されます。[ケース]と[値]を対で指定するのがポイントです。[規定値]は省略しても構いませんが、[式]と[ケース]が不一致の場合、#N/Aエラーとなります。

 ここでは、A2に入力された値を判定します。A5と一致した場合はB5、A6と一致した場合はB6、A7と一致した場合はB7の結果を表示します。

 入力する関数式は「=SWITCH(A2,A5,B5,A6,B6,A7,B7)」です。A2が[式]になります。「A5,B5」「A6,B6」「A7,B7」と対になることを理解してください。

B2に「=SWITCH(A2,A5,B5,A6,B6,A7,B7)」と入力する
A2に入力された「S」に対応する「1000」と表示された

[規定値]は偽の場合に表示する値と考える

 上記の例では[規定値]を省略しているので、関数式に含まれない値が入力されると“#N/A”エラーとなります。

B2入力した関数式は「=SWITCH(A2,A5,B5,A6,B6,A7,B7)」だ。「XL」は一致しないため#N/Aエラーが表示される

 関数式の最後に「,"要確認"」と追記します。

関数式を「=SWITCH(A2,A5,B5,A6,B6,A7,B7,"要確認")」と修正する
「要確認」と表示された

 A2の値が、A5、A6、A7のいずれとも一致しない場合、つまり偽の場合に[規定値]の「要確認」が表示されると考えるとわかりやすいと思います。なお、ここでは[ケース]と[値]をセル参照で指定しましたが、「"」(ダブルクォーテーション)で囲んで、"S"、"1000"と指定することも可能です。