一、前言
在自動化流程設計中,條件式邏輯就像道路指引,決定機器人下一步該往哪裡走。If‑Else 好比岔路口的左右分支,而 Switch 則是一座環形交流道──當輸入值是固定選項時,它能讓流程轉向更俐落、維護也更輕鬆。本文將以「會員分級折扣」為情境,帶你一步步實作 Switch 條件式,並比較與 If‑Else 在不同場景下的最佳應用,讓你的 Power Automate Desktop 流程既清晰又高效。
二、示範情境:會員分級折扣
假設你經營電商平台,需要依照會員等級顯示折扣資訊:
會員等級 | 折扣 |
---|---|
Gold | 6 折 |
Silver | 7 折 |
Bronze | 9 折 |
目標:當用戶在機器人對話框選擇等級後,自動彈出對應折扣。
三、Switch 條件式設計步驟
-
新增下拉選單
-
動作:
顯示從清單選取對話方塊
-
自訂清單值:
Gold
,Silver
,Bronze
,Default
-
將結果寫入變數 SelectedItem
-
-
建立 Switch 動作
-
以 SelectedItem 為判斷值
-
為每個 Case 加入對應訊息:
-
Gold
→ 顯示 「恭喜!您享有 6 折優惠」 -
Silver
→ 顯示 「恭喜!您享有 7 折優惠」 -
Bronze
→ 顯示 「恭喜!您享有 9 折優惠」 -
Default → 顯示 「目前無折扣」
-
-
-
測試腳本
-
執行流程,逐一選擇三種等級及「Default」,確認訊息正確。
-
貼心提醒:若會員等級未來新增,只要在 Switch 補一個 Case 即可,維護成本遠低於多層巢狀 If‑Else。
參考範例:
四、If‑Else vs. Switch:何時用哪一個?
情境 | 建議結構 | 原因說明 |
---|---|---|
數值範圍、大小比較 (例:金額>1000) |
If‑Else | 需要判斷「條件是否成立」或「落在哪個範圍」時較彈性 |
固定選項/字串比對 (例:會員等級、地區代碼) |
Switch | 同一變數對多個「固定值」進行比較,可讀性高、維護簡單 |
邏輯巢狀超過 3 層 | Switch + 子流程 | 拆分為多個 Switch 或封裝成子流程,避免迴圈式 If‑Else 造成維護困難 |
五、實務小結與最佳做法
-
先畫流程、再選條件式:寫程式前,先用流程圖標出所有分支,清楚哪些是「範圍判斷」哪些是「固定值選擇」。
-
命名變數要足夠語義化:
SelectedItem
比x
更易讀,也方便日後交接。 -
Default 分支一定要留:即使今天只有三個合法選項,也要保留「其他」路徑;錯誤處理從來不是多餘的。
-
將折扣邏輯獨立成子流程:當折扣規則未來更複雜(如活動時間、VIP 限定),可在子流程先判斷,再回傳折扣值給主要流程,讓主流程保持乾淨。
六、常見問題 (FAQ)
Q1:Power Automate Desktop 的 Switch 最多可以放幾個 Case?
➡️ 官方文件未設硬性上限,但每個 Case 仍佔用記憶體並增加維護成本。實務經驗建議單一 Switch 控制在 8–10 個分支內;若分支數量更多或規則常變動,可改用「資料表 + 查詢」或拆分子流程,維持可讀性並降低風險。
Q2:Switch 能比較數值範圍嗎?
➡️ Switch 僅比對「單一值是否等於某個固定值」。若要比較範圍(大於、小於),請使用 If‑Else 或先行將數值分類成固定類別後再用 Switch。
Q3:可以在同一流程同時用 If‑Else 和 Switch 嗎?
➡️ 可以!兩者並不衝突。常見做法是 先用 If‑Else 檢查例外或空值,通過驗證後再進入 Switch 分支,提高流程健壯性。
Q4:Switch 條件式跟 Excel 的 VLOOKUP/XLOOKUP 有什麼差別?
➡️ 功能概念相似,都是「依輸入值找到對應結果」。差異在於 Switch 屬於流程控制語句,執行效率高且不需維護外部資料表;XLOOKUP 則適合大量、易變動的對照表。
Q5:在 PAD 執行 Switch 出現「變數未定義」錯誤怎麼辦?
➡️ 請檢查
-
下拉選單或前一步動作是否確實把值寫入
SelectedItem
。 -
Switch 的變數拼字與大小寫是否一致。
-
流程是否曾經提前結束,導致變數尚未被宣告。
Q6:Switch 能放在循環(Loop)裡面嗎?
➡️ 可以。但若一次迴圈處理上千筆資料,建議先分群或改用資料表查表,避免在迴圈內大量分支影響效能。
小結
選對條件式,能讓你的 Power Automate Desktop 流程更易讀、更好維護,也能避免日後需求變動時的「骨牌效應」。當你的邏輯是固定值比對,請優先考慮 Switch;若是範圍判斷或多層條件,則以 If‑Else 搭配子流程更彈性。掌握這些技巧,你就能在日常工作中快速組裝出穩定又可擴充的 RPA 自動化流程,讓數位員工成為真正的高效助手!
本文已獲原作者授權改寫 & 轉載:Hsuan Yu Chen
————————————————————————————————————
掌握更多智能自動化思維
立即查看我們的培訓課程,深入探索智能 RPA 和企業流程自動化實踐: