クイックナビゲーション
SWITCH関数
概要
SWITCH関数は指定された式の値を複数の比較値と照合し、最初に一致した値に対応する結果を返します。一致する値がない場合は、任意の既定値を返します。この関数は複数のIF文を簡潔に置き換える強力なツールです。
構文
SWITCH(式, value1, result1, [value2, result2],…[default])
パラメータ
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
| 式 | Any |
はい | 比較対象となる値(数値、日付、テキストなど) |
| value1 | Any |
はい | 式と比較する最初の値 |
| result1 | Any |
はい | value1と一致した場合に返す結果 |
| value2...value126 | Any |
いいえ | 追加の比較値(最大126個) |
| result2...result126 | Any |
いいえ | 対応する結果値(最大126個) |
| default | Any |
いいえ | 一致しなかった場合に返す既定値 |
SWITCH関数の使用
SWITCH関数は、特定の値に応じて異なる結果を返す場合に最適です。長大なIF文のネストを避け、読みやすい式を作成できます。曜日変換やグレード判定、エラー処理の代替など多岐に活用可能です。
SWITCHの一般的な例
曜日変換の基本例
=SWITCH(WEEKDAY(A2),1,"日曜日",2,"月曜日",3,"火曜日",4,"水曜日",5,"木曜日",6,"金曜日",7,"土曜日","不明")
セルA2の日付から曜日番号を判定し、日本語曜日名を返します。
成績評価例
=SWITCH(B2,"A","優秀","B","良","C","可","D","不可","不合格")
成績ランクに応じて評価テキストを返します。既定値で不合格を処理。
数値範囲判定
=SWITCH(TRUE,A2>=90,"秀",A2>=80,"優",A2>=70,"良",A2>=60,"可","不可")
TRUEを使った範囲判定(注意:SWITCHは厳密一致のみ)。実際にはIFS関数推奨。
よくある質問
既定値引数が指定されていなければ#N/Aエラーが発生します。必ず適切な既定値を設定してください。
SWITCHは値の厳密一致、CHOOSEは位置指定。SWITCHの方が直感的で実用的です。
厳密一致のみ対応。範囲判定にはIFS関数を使用してください。
一般的なエラーと解決策
#N/Aエラー
Cause: 一致する値なしかつ既定値未指定
Solution: 最後に適切な既定値を追加
#VALUE!エラー
Cause: 引数の型不一致
Solution: 式と比較値のデータ型を統一
引数超過
Cause: 254引数制限超過
Solution: 最大126ペアまでに抑える
注記
- Excel 2019以降およびMicrosoft 365でのみ利用可能
- 最大254引数(値126組+式+既定値)
- 厳密な値比較(大文字小文字区別)
- ネスト可能だが可読性低下に注意
互換性
利用可能: Excel 2019, Excel 2021, Microsoft 365
利用不可: Excel 2016以前, Excel 2013以前
コンテンツ最終レビュー: December 9, 2025
更新頻度: 必要に応じて
テスト済みExcelバージョン: Excel 2019+, Microsoft 365