會評估一份運算式清單,然後針對清單中第一個為 True 的運算式,傳回其相關的 Variant 值或運算式。
語法
切換 (expr-1, value-1 [, expr-2, value-2 ] ...[, expr-n, value-n ] )
Switch 函數語法具有下列引數:
| 引數 | 描述 |
|---|---|
| expr | 必要。 您要評估的變體運算式。 |
| 數值 | 必要。 如果對應的運算式為 True,要傳回的值或運算式。 |
註解
Switch 函數引數清單由數對運算式和值組成。 運算式會從左至右評估,並傳回與第一個要評估為 True 的運算式相關聯的值。 如果零件未正確配對,則會發生執行階段錯誤。 例如,如果 expr-1 是 True,Switch 會傳回值 -1。 如果運算式 1 為 False,但運算式 2 為 True,Switch 會傳回值 2,依此類推。
如果出現以下情況,Switch 會傳回 Null 值:
- 所有運算式都不是 True。
- 第一個 True 運算式的對應值為 Null。
Switch 會評估所有運算式,即使它只傳回其中一個運算式。 因此,您應該注意不良副作用。 例如,如果任何運算式的評估結果為除以零的錯誤,便會發生錯誤。
查詢範例
| 運算式 | 結果 |
|---|---|
| SELECT ProductSales.ProductID, switch ([ProductID]=“PRO_XYZ1”,“First”,[ProductID]=“PRO_XYZ2”,“Two”,[ProductID]=“PRO_XYZ1”,“Ten”) AS testSwitch FROM ProductSales; | 傳回 “ProductID”,評估 “Switch” 公式中的運算式,並使用所有 “True” 運算式的定義值切換現有值。 例如:「PRO_XYZ1」會由「第一個」取代、「PRO_XYZ2」會由「二」取代,依此類推。 |
VBA 範例
注意
下列範例示範如何在 Visual Basic for Applications (VBA) 模組中使用此函數。 如需使用 VBA 的詳細資訊,請在 [搜尋] 旁的下拉式清單中選取 [開發人員參考],並在 [搜尋] 方塊中輸入一個或多個字詞。
此範例使用 Switch 函數傳回符合城市名稱的語言名稱。
Function MatchUp (CityName As String)
Matchup = Switch(CityName = "London", "English", _
CityName = "Rome", "Italian", _
CityName = "Paris", "French")
End Function