-
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)) としました。
スポンサードリンク
よねさんのWordとExcelの小部屋 »
エクセル関数一覧表 »
SWITCH関数の使い方
PageViewCounter
Since2006/2/27