Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
SWITCH関数の使い方:Excel関数
Home »
エクセル関数一覧表 »
Excel関数の目次 »
SWITCH関数の使い方
更新:2024/10/23;作成:2016/4/12
式を評価して、最初に一致する値に対応する結果を返します
スウィッチ
=SWITCH(式,値1,結果1,[値2,結果2,・・・],規定値)
式(条件)の返す値と一致した値に対応した結果を返します。CHOOSE関数に似ています。またIF関数でも似たような感じ処理をすることがあると思います。
SWITCH関数は式で返される値の一部を指定し、指定していない値に対しては「規定値」を返すことができるのが特徴と思われます。
SWITCH関数はExcel2019,Excel2021,Excel2024,Excel for Microsoft 365 で使用することができます。
【問題1】 評価1に得点が1位は「金」、2位は「銀」、3位は「銅」と表示しなさい。
評価2には70以上なら「合格」、50以上なら「頑張れ、それ以外は「再試」と表示しなさい。
B
C
D
E
F
2
名前
得点
評価1
評価2
3
宮下 涼
83
金
合格
4
浜田 希
60
-
頑張れ
5
川井 美里
52
-
頑張れ
6
石坂 雅和
30
-
再試
7
笹川 満
23
-
再試
8
柴崎 優
62
銅
頑張れ
9
赤羽 美幸
75
銀
合格
Spill(スピル)が利用できない場合
順位は =RANK.EQ(C3,$C$3:$C$9) として求めることができます。
評価1はE3セルに =SWITCH( RANK.EQ(C3,$C$3:$C$9) , 1,"金" , 2,"銀" , 3,"銅" , "-" ) としました。
評価2はF3セルに =SWITCH( TRUE , C3>=70,"合格" , C3>=50,"頑張れ" , "再試" )
D3:F3セルを選択して、フィルハンドルをダブルクリックして、下方向へ数式をコピーします。
Spill(スピル)が利用できる場合
順位は =RANK.EQ(C3:C9,C3:C9) として求めることができます。 評価1はE3セルに =SWITCH( RANK.EQ(C3:C9,C3:C9) , 1,"金" , 2,"銀" , 3,"銅" , "-" ) としました。 SWITCH関数でその順位と順位に応じた結果を列記していき、
最後に列記した値に該当しないものには規定値(ここでは "-"(ハイフン) )を表示するように設定しています。
評価2はF3セルに =SWITCH( TRUE , C3:C9>=70,"合格" , C3:C9>=50,"頑張れ" , "再試" )
最初の引数に「True 」を指定すると、大小の比較が可能となります。
IFS関数では =IFS(C3:C9>=70,"合格",C3:C9>=50,"頑張れ",TRUE,"再試") とほぼ同じ感じになります。
SWITCH関数でセル範囲を切り替えて検索することもできます。
VLOOKUP関数との組み合わせ
到着地と車種を選択して、料金を計算しなさい。
B
C
D
E
F
G
H
I
2
普通車
軽自動車
3
出発地
鹿児島北
IC
鹿児島北
IC
鹿児島北
4
到着地
溝辺鹿児島空港
溝辺鹿児島空港
1,090
溝辺鹿児島空港
900
5
車種
普通車
加治木
880
加治木
740
6
桜島スマート
710
桜島スマート
600
7
料金
1,090
姶良
710
姶良
600
8
薩摩吉田
320
薩摩吉田
270
C7セルにはVLOOKUP関数とSWITCH関数を使って計算しました。
SWITCH関数で料金表を普通車と軽自動車とで切り替えています。
=VLOOKUP(C4, SWITCH(C5 , "普通車",E4:F8 , "軽自動車",H4:I8 , "エラー" ) ,2,FALSE)
SWITCH関数でセル範囲を切り替えて検索することもできます。
INDEX関数との組み合わせ
組とNoを入力して、該当する都道府県を検索しなさい。
B
C
D
E
F
G
H
I
2
No
A組
B組
C組
組
No
都道府県
3
1
青森県
大阪府
福岡県
B組
5
鳥取県
4
2
岩手県
兵庫県
佐賀県
5
3
宮城県
奈良県
長崎県
6
4
秋田県
和歌山県
熊本県
7
5
山形県
鳥取県
大分県
8
6
福島県
島根県
宮崎県
9
7
茨城県
岡山県
鹿児島県
I3セルに =INDEX( SWITCH(G3, "A組",C3:C9 , "B組",D3:D9 , "C組",E3:E9 ) ,H3) と入力しました。
SWITCH関数でG3セルが A組ならセル範囲 C3:C9を、B組ならセル範囲 D3:D9を、C組ならセル範囲 E3:E9を返すようにしています。
各セル範囲からは INDEX関数で何行目のデータを返すようにしています。
No.が1〜7と都合よく並んでいますが、ここがA〜Gがランダムに並んでいたら?
MATCH関数を使って行位置を計算します。
I3セルは =INDEX( SWITCH(G3, "A組",C3:C9 , "B組",D3:D9 , "C組",E3:E9 ) ,MATCH(H3,B3:B9,0) ) としました。
スポンサードリンク
Home »
エクセル関数一覧表 »
SWITCH関数の使い方
PageViewCounter
Since2006/2/27