本教學由作者茂伯編寫,並由作者在 Windows 版 Microsoft 365 與 Excel 2021 實際操作驗證。
學會把一個固定代碼依序與清單中的值比較,回傳第一個相符值所對應的說明,並設定找不到時的預設結果。本課以配送代碼為例,練習值與結果成對、文字引號及參數位置;完成後,你能自行加入新代碼,避免把代碼對照誤寫成區間大小判斷。
適用版本
Microsoft 365 或 Excel 2019 起
用途
把配送代碼 A、B、C 轉成宅配、超商取貨與自取,讓原始資料保留簡短代碼,報表另外提供容易閱讀的文字;未知代碼明確標記為待確認。
把表單中的固定選項代碼轉成完整類別名稱時,適合使用少量且穩定的對照規則。每個代碼應有明確意思,避免重複定義造成讀表困難。
先準備範例資料
開啟空白活頁簿,依下表輸入。英文字母是欄,數字是列;例如 B2 就是 B 欄第 2 列。標題從 A1 開始,結果另外放在 E2。
| 列 | A | B |
|---|---|---|
| 1 | 包裹 | 配送代碼 |
| 2 | 包裹甲 | B |
| 3 | 包裹乙 | A |
| 4 | 包裹丙 | C |
| 5 | 包裹丁 | X |
| 6 | 包裹戊 | B |
| 7 | 包裹己 | A |
| 8 | 包裹庚 | C |
在 A1:B8 建立包裹與配送代碼。B2 是半形大寫 B,B3 是 A,B4 是 C,B5 是 X;其餘列為重複的正常代碼,沒有數值大小關係。
原始 B 欄只輸入字母,不加雙引號或前後空格。公式中的固定字母與中文說明則都用半形雙引號包住,避免被當作名稱。
X 刻意未列在 A、B、C 的清單,用來觀察預設值。未知代碼應先追查含義,不要因為希望得到正常結果而擅自把 X 改成某個已知代碼。
E1 為「包裹甲配送方式」,E2 放結果。本課只處理 B2,不會沿整欄自動轉換,也不會改寫原始代碼或真正安排配送。
輸入這個公式
=SWITCH(B2,"A","宅配","B","超商取貨","C","自取","待確認")
輸入位置:E2 正確結果:超商取貨
建議順序:先照做並核對畫面,再看公式拆解,最後完成延伸用法與練習。所有練習各自從這一頁的原始資料開始。
照著做並核對畫面
名稱方塊在公式列左側,會顯示 A1 或 E2 等位置;公式列則是 fx 右邊顯示公式的長欄位。下列步驟都在工作表內操作。
開啟空白工作表,選 A1,依表填入 A1:B8。點選 B2 並看公式列,確認只有字母 B,前後沒有空格。
在 E1 輸入「包裹甲配送方式」,選 E2 並保持通用格式。先整理三組規則:A 對宅配、B 對超商取貨、C 對自取。
點 E2 的公式列,輸入 =SWITCH(B2,"A","宅配","B","超商取貨","C","自取","待確認"),所有引號、逗號與括號使用半形。
按 Enter 前,確認 B2 是第一個參數,其後各代碼與說明成對;末尾單獨的「待確認」是預設結果,沒有再配一個代碼。檢查後按 Enter。
重新選 E2,確認顯示「超商取貨」,公式列保留完整原式。回到 B2 確認代碼仍是 B,並指出公式中對應的 B 與超商取貨那一組。

圖 1 Excel 網頁版實際操作畫面
Windows 桌面版的工具列外觀可能不同,儲存格位置、公式輸入及本例結果相同。
對照畫面確認結果
左側 B2 的 B 與右側 E2 的超商取貨是一組對應。E2 不會顯示清單中的全部配送方式,只回傳一個符合值的結果。
公式列中 B2 只寫一次,後面 A、B、C 是要比較的固定值。這與每次重新寫不同大小條件的公式結構不同。
最後「待確認」沒有配對的代碼,因此它是找不到相符值時使用的預設結果,必須放在整個清單末端。
語法與引數
=SWITCH(expression, value1, result1, [value2, result2], ..., [default])
引數就是交給函數處理的資料或設定。語法中的 [ ] 表示可以省略,輸入公式時不要打出方括號或省略號。
expression 必要參數,要拿來比對的單一值。本例填 B2,讀出包裹甲的配送代碼;它可以是數字或文字,本課使用文字。
value1, result1 必要的第一組相符值與結果。本例是 "A","宅配",當 expression 與 A 相符時回傳宅配。
[value2, result2], ... 選填的後續成對資料,每個值後都要有結果,最多 126 組。本課另有 B 與 C;若值重複,第一個相符項目決定回傳值。
[default] 可省略的預設結果;若有提供,必須是最後一個參數,前面不再放配對值。本課為待確認;未提供且找不到相符值時,回傳 #N/A。
把主公式逐段拆開
=SWITCH( ) 等號啟動計算,SWITCH 指定固定值對照,半形括號包住所有參數。
B2 提供要比對的代碼,第一個參數不是對照清單第一個結果。
"A","宅配" 第一組是匹配值與回傳文字;雙引號將文字與儲存格名稱區分。
"B","超商取貨","C","自取" 後續兩組對照,B 與 C 各自緊接自己的配送說明。
, 分開各個參數;對照值與結果之間也使用半形逗號。
"待確認" 最後獨立的預設結果,只有未找到任何相符值時使用。
使用半形 = ( ) , : 及雙引號;文字使用直式雙引號 " "。部分地區設定以分號分隔引數,請依 Excel 的輸入提示調整。
Excel 如何得到這個答案
首先讀 B2 的 B,這是此次要與清單比較的值,整個主公式都在處理這一個代碼。
先與 A 比較,兩者不相符,因此不選宅配,繼續往後找。
接著與 B 比較,相符,所以選擇它後面的超商取貨。後面的 C 與預設值都不改變已找到的答案。
E2 顯示超商取貨。公式沒有修改 B2,也沒有驗證包裹是否已送出;它只依已定義的對照回傳文字。
資料型態與邊界情況
此用法比較固定值是否相符,不是做部分字串搜尋,也不是把代碼視為大小門檻。若要對照 B,就明確列 B,而不是寫「包含 B」的句子。
找不到相符值且省略預設結果時會回傳 #N/A。設定待確認可方便人工追查,但不要因此把所有未知輸入當成有效資料。
相同代碼若重複出現,先列出的相符項目決定答案。維護對照時應避免重複、檢查成對順序,不能認為最後一項會自動覆蓋前面。
同一個函數的延伸用法
以下例子彼此獨立。每做一題前,先還原上方的原始資料,再執行該題設定;不要沿用上一題的修改。
用法 1 使用未知代碼
先恢復原始 A1:B8,只把 B2 改成 X;E1 保留原標題,在 E2 輸入主公式。
=SWITCH(B2,"A","宅配","B","超商取貨","C","自取","待確認")
結果:待確認
X 與 A、B、C 都不相符,三組對照沒有任何匹配。
因此回傳末尾的待確認;應追查 X 的定義,而不是直接猜配送方式。
用法 2 新增明確對照
先恢復原始 A1:B8,只把 B2 改成 D;本題已定義 D 為專人配送。在 E1 保留原標題,E2 輸入下式。
=SWITCH(B2,"A","宅配","B","超商取貨","C","自取","D","專人配送","待確認")
結果:專人配送
先依序比較 A、B、C,都沒有相符,再比較新增的 D。
D 成功匹配,回傳專人配送;新增的兩個參數要放在預設待確認之前。
常見錯誤
- 已知代碼卻得到待確認。
原因:代碼可能有多餘空格、打錯字,或公式的對照清單少了一組。 處理:在公式列檢查 B2,重新輸入半形 B,再核對公式是否包含 "B","超商取貨" 這一對。
- 未知代碼出現 #N/A。
原因:省略預設結果,而且所有相符值都對不上。 處理:在主公式最後補上單獨的 "待確認",確認它位於右括號前,並追查來源代碼。
- 回傳文字與代碼對不上。
原因:某個代碼與結果先後錯置,或重複代碼先匹配到錯誤定義。 處理:從 B2 後開始兩個一組檢查,每組先代碼、後說明;確認 A、B、C 各只定義一次。
自己練習與完整解答
先遮住解答,試著自己輸入公式並預測結果。每題都從上方原始資料重新開始,結果放在題目指定的儲存格。
練習 1 宅配代碼
先恢復原始 A1:B8,只把 B2 改成 A;E1 保留原標題,在 E2 使用主公式。
答案公式:
=SWITCH(B2,"A","宅配","B","超商取貨","C","自取","待確認")
正確結果:宅配
解答 1 第一個相符值 A 就與來源 A 相同。
解答 2 回傳其後的宅配,後面的 B、C 及預設值不影響結果。
練習 2 自取代碼
先恢復原始 A1:B8,只把 B2 改成 C;E1 保留原標題,在 E2 使用主公式。
答案公式:
=SWITCH(B2,"A","宅配","B","超商取貨","C","自取","待確認")
正確結果:自取
解答 1 C 不等於 A,也不等於 B,直到第三組才相符。
解答 2 回傳自取;列在後面不代表較低等級,只代表檢查順序。
練習 3 不提供預設結果
先恢復原始 A1:B8,只把 B2 改成 X;E1 改為「無預設值測試」,在 E2 輸入下式。
答案公式:
=SWITCH(B2,"A","宅配","B","超商取貨","C","自取")
正確結果:#N/A
解答 1 X 沒有與任何列出的代碼相符,而公式也沒有末尾預設結果。
解答 2 E2 應顯示 #N/A;完成後恢復原公式與 B2 的 B,避免把測試資料帶入主例。
完成後的自我檢查
我已把每個代碼與結果正確配對。
我知道 SWITCH 本課用法比較固定值,不做區間判斷。
我已測試未知代碼,並把預設結果放在最後。
版本與官方說明
Microsoft 官方列出 Microsoft 365、Excel 2024、Excel 2021 與 Excel 2019 可使用 SWITCH;舊的永久授權 Excel 2016 不在該適用清單中。
最多可提供 126 組相符值與結果;本課只有三組,直接按 Enter 完成。先用短清單練習,新增項目時逐對核對,避免順序錯置。