SWITCH関数:複数の値と一致するか順に調べて真の場合に値を返す
SWITCH 関数は Excel で用意されている関数の一つで、指定のセルの値が引数に記述した値と一致するかどうか順に調べて、一致した場合は値を返します。ここでは Excel における SWITCH 関数の使い方について解説します。
※ Excel の対応バージョン : 365 web 2021 2019
(Last modified: )
SWITCH関数の定義
SWITCH
関数は最初の引数に指定した値が、 2 番目以降の引数に指定した複数の値と順に一致するか評価し、 TRUE になった時に値を返します。
1 番目の引数に値と比較する式を記述します。 2 番目の引数に比較する値を記述し一致した場合は 3 番目の引数に指定した値を返します。もし一致しなかったら 4 番目の引数に記述した値と一致するか調べ、一致した場合は 5 番目の値を返します。これを引数に記述した分だけ繰り返します。いずれの値とも一致しなかった場合は引数の最後に記述した規定値を返します。
例えば対象のセル( B2 )の値が "東京" か "神奈川" と一致する場合は "関東" 、 "大阪" か "京都" と一致する場合は "関西" 、いずれとも一致しない場合は "その他" と返すようにするには SWITCH
関数を次のように記述します。
=SWITCH(B2,"東京","関東","神奈川","関東","大阪","関西","京都","関西","その他")
--> 関西
いずれかの値と一致した場合は、それ以降の値と一致するかどうかは調べない点に注意してください。
SWITCH関数とIFS関数の違い
Excel では複数の条件式を記述できる IFS
関数が用意されています。 SWITCH
関数で記述できることは IFS
関数でも記述することができます。例えば先ほどの例は IFS
関数を使って次のように記述することができます。
=IFS(B2="東京","関東",B2="神奈川","関東",B2="大阪","関西",B2="京都","関西",TRUE,"その他")
ただ毎回論理式を記述する必要があり、同じ値と一致しているかどうかを調べる場合には冗長になります。このような同じ対象の値と複数の値が一致するかどうかを調べる場合には IFS
関数よりも SWITCH
関数の方が適しています。
複数の対象の値と比較する場合や、一致するかどうかだけではなく大きいか小さいかの判定が必要な場合などは SWITCH
関数では記述できないので IFS
関数を使用してください。
※ IFS
関数の使い方については「IFS関数:複数の条件を順に調べて真の場合に値を返す」を参照されてください。
SWITCH関数の使い方
それでは実際に SWITCH
関数を使ってみます。 Excel のシートに対象の数値を次のように入力しました。
今回は SWITCH
関数の 1 番目の引き数に指定したセルに入力されている値の 1 文字目が "A" または "B" の場合は "中央倉庫"、 "C" の場合は "港倉庫" 、それ以外の場合は "地下倉庫" と返すように設定してます。 1 文字目を取得するために LEFT
関数を使います。
結果を表示する C3 セルを選択し、次のように入力しました。 SWITCH
関数の 1 番目の引数に調べる対象として LEFT(B2,1)
セルを指定します( B2 セルに入力されている 1 文字目を取得する)。 2 番目以降の引数に順に "A" 、 "中央倉庫" 、 "B" 、 "中央倉庫" 、 "C" 、 "港倉庫" 、 "地下倉庫"と設定しました。
=SWITCH(LEFT(B3,1),"A","中央倉庫","B","中央倉庫","C","港倉庫","D","地下倉庫")
Enter
キーを押すと、 C3 セルには次のように表示されます。
同じように C4 セルから C8 セルに対しても同じように SWITCH
関数を入力すると次のように表示されました。
-- --
Excel における SWITCH 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。