エクセルでSWITCH関数が使えないときの代用策3選

SWITCH関数が使えないときの代用策3選

SWITCH関数はIF、VLOOKUP、CHOOSEで代用できる

 

エクセルでSwitch関数が使えないときはIf関数vlookup関数choose関数代用することができます。次の例でSwitch関数を使ったときの代替案を紹介します。

  • Aなら優、Bなら良、Cなら可とする
  • 90以上なら優、80以上なら良、60以上なら可とする

何点以上なら「優」にするもSwitch関数で実現することができます。

 

Aなら優、Bなら良、Cなら可とする場合のSWITCH関数代用

IF関数での代用

=IF(A2="A","優",IF(A2="B","良","可"))

IF文入れ子構造にする方法です。
3つぐらいなら問題ありませんが、数が多くなるとややこしくなります。

 

VLOOKUP関数での代用

=VLOOKUP(A2,$E$2:$F$4,2,FALSE)

別エリアに対応表を作っておいて、そこから抽出する方法です。
対応表を別に用意しておく必要があります。

 

CHOOSE関数での代用

=CHOOSE(MATCH(A2,$E$2:$E$4),"優","良","可")

MATCH関数と組み合わせて使用する方法です。
対応表を別に用意しておく必要があります。

 

90以上なら優、80以上なら…とする場合のSWITCH関数代用

Switch関数で「何点以上なら優」のようにするには下記のように計算式を設定します。

=SWITCH(TRUE,D2>=90,"優",D2>=80,"良",D2>=60,"可","-")

第一引数(switchのあとに設定する最初の値)を「TRUE」として、「条件,表示内容」のセットで指定します。この方法もIf関数、vlookup関数、choose関数で代用することができます。

 

IF関数での代用

=IF(A2>=90,"優",IF(A2>=80,"良",IF(A2>=60,"可","-")))

IF文入れ子構造にする方法です。

 

VLOOKUP関数での代用

=VLOOKUP(A2,$E$2:$F$5,2,TRUE)

別エリアに対応表を作っておいて、そこから抽出する方法です。VLOOKUP関数の検索方法を【TRUE】=近似一致にして、対応表は昇順(小さい値→大きい値)で作成しておきます。

 

CHOOSE関数での代用

=CHOOSE(MATCH(A2,$E$2:$E$5,1),"-","可","良","優")

MATCH関数と組み合わせて使用する方法です。MATCH関数は、【照合の種類】に【1】(以下)を指定して、対応表は昇順(小さい値→大きい値)で作成しておきます。