Power Query 的 IF 條件判斷:從無程式碼到一行M語言的進階邏輯(附練習檔)
告別 Excel 令人頭痛的巢狀 IF 地獄!本篇終極指南將帶你徹底掌握 Power BI 與 Excel 內建的 Power Query 條件判斷術。我們將從完全不需寫程式碼的「條件資料行」圖形介面入門,再深入到能解鎖無限可能、僅需一行 M 語言的「自訂資料行」進階模式。學會它,你就能將繁瑣的商業邏輯,轉化為優雅、高效的自動化流程。

你好,我是 Kiro。
如果你是一位資深的 Excel 使用者,IF
函數想必是你武器庫中最得心應手的瑞士刀。從簡單的「及格/不及格」判斷,到令人頭皮發麻的七層巢狀 IF
,它承載了我們無數的商業邏輯。
但當你踏入 Power Query 這個自動化的新世界時,你可能會問:「我的 IF
在哪裡?」
好消息是,Power Query 不僅提供了 IF
的功能,還將其進化為兩種模式:一種是專為新手設計的、完全不需寫程式碼的圖形化介面;另一種則是能解鎖無限可能、僅需一行程式碼的進階模式。
這篇文章,就是你的 IF
函數升級指南。我們將帶你徹底掌握這兩種模式,讓你從此能在 Power Query 中,優雅且高效地建立任何你想要的商業邏輯。
🎁 邊讀邊做,學得更快!
📂 練習資料包含:
sales_data_for_if_logic.xlsx
立即免費訂閱我的電子報,即可前往【會員資源中心】下載,跟著文章一起動手操作!
入門篇:最直覺的「條件資料行」(The No-Code Way)
對於 80% 的日常分類需求,Power Query 提供了一個名為「條件資料行」的圖形化工具。它就像一個有著清晰步驟的嚮導,引導你完成邏輯設定,完全不需要記憶任何語法。
商業情境: 我們有一份銷售訂單資料,現在需要根據 [UnitPrice]
(單價) 將訂單分為「高單價」與「一般」兩類,以便後續分析。
操作步驟:
- 在 Power Query 編輯器中,點擊頂部功能區的「新增資料行」索引標籤。
- 找到並點擊「條件資料行」按鈕。
- 在跳出的設定視窗中,像填表格一樣完成以下設定:
- 新資料行名稱: 輸入
ValueTier
- 如果
[UnitPrice]
運算子大於
值3000
- 則輸出
高單價
- 否則
一般
- 新資料行名稱: 輸入
- 點擊「確定」。
魔法發生了! 一個名為 ValueTier
的新欄位瞬間誕生,並已自動為每一筆訂單打上了正確的標籤。
入門篇:最直覺的「條件資料行」(The No-Code Way)
這就是 Power Query 的魅力:將一個原本需要手動輸入公式的任務,轉化為幾次直覺的滑鼠點擊。對於簡單的 IF...ELSE...
邏輯,這永遠是你的首選。
進階篇:一行 M 語言解鎖無限可能 (The Low-Code Way)
「條件資料行」的圖形介面雖然直覺,但它就像一台有著固定按鈕的自動販賣機,你只能選擇它預設好的選項(例如 大於
、等於
、開頭為
)。當你的商業邏輯需要組合多個條件或使用更進階的函數時,你會發現按鈕不夠用了。
這時,就是「自訂資料行」搭配一行簡單 M 語言登場的時刻了。它就像打開了自動販賣機的後台面板,讓你能夠自由組合、創造出任何你想要的飲料配方。
商業情境: 為了優化出貨流程與客戶體驗,公司需要識別出那些「高價值訂單」,以便給予優先處理或附上特別的感謝卡。規則是:這筆訂單的 [會員等級]
必須是 "金卡",「而且 (AND)」這筆 [訂單金額]
必須超過 $5,000 元。
這個邏輯包含了跨欄位的 AND
條件,這正是「條件資料行」介面的極限所在。
M 語言的 if
語法非常直觀,就像在說英文:
if [條件A] and [條件B] then "結果A" else "結果B"
操作步驟:
- 在「新增資料行」索引標籤下,點擊「自訂資料行」。
- 在跳出的視窗中:
- 新資料行名稱: 輸入
OrderPriority
(訂單優先級)
- 新資料行名稱: 輸入
- 點擊「確定」。一個精準的訂單優先級標籤就完成了!
自訂資料行公式: 貼上以下這行 M 語言程式碼:
if [會員等級] = "金卡" and [訂單金額] > 5000 then "高價值VIP訂單" else "一般訂單"
Kiro 的專業提示: M 語言的關鍵字(if
,then
,else
,and
,or
)對大小寫敏感,請務必使用小寫。這是新手最常犯的錯誤!
進階篇:一行 M 語言解鎖無限可能 (The Low-Code Way)
看到了嗎?透過一行簡單的 M 語言,我們輕鬆地完成了一個無法單獨使用圖形化介面一步達成的複雜邏輯。這才是「自訂資料行」的真正威力所在——它讓你能夠運用 M 語言函式庫中的任何武器,來建構無限靈活的商業規則。
實戰應用:不只是分類,更是商業洞察的起點
掌握了條件判斷,你就擁有了一把強大的「標籤機」。你可以利用它,為你的原始數據注入豐富的商業脈絡,以下是兩個更進階的應用情境:
1. 為產品標記高潛力新品
你可以結合文字函數與條件判斷,找出需要重點關注的新品。例如,你可以建立一個自訂資料行,其邏輯是:
if Text.StartsWith([產品SKU], "NEW-") and [庫存週轉率] < 1.5 then "高潛力滯銷新品" else "一般"
這個標籤能幫助你快速篩選出那些被定義為新品,但市場反應似乎不如預期的品項,並立即採取行動。
2. 計算動態運費
你可以根據不同的條件,計算出不同的運費。例如:
if [配送區域] = "離島" or [商品重量] > 20 then [基本運費] * 1.5 else [基本運費]
這個標籤直接在資料清理階段就產生了一個新的數值欄位,供後續財務分析使用。
決策樹:我到底該用哪個?
為了幫助你快速決策,這裡有一份更清晰的判斷流程:
- 你的邏輯是否只涉及對「單一欄位」的簡單比較?
- 是: 請使用「條件資料行」。它最快、最直覺、不會出錯。
- 你的邏輯是否需要「同時 (AND)」或「或 (OR)」判斷多個欄位?是否需要在判斷式中使用
Text.StartsWith
等其他 M 函數?- 是: 請果斷使用「自訂資料行」搭配 M 語言。它更靈活、更強大,也更易於長期維護。
結論:從執行者到邏輯的設計師
Excel 的 IF
函數讓我們成為了公式的「執行者」,而 Power Query 的條件判斷工具,則將我們提升為業務邏輯的「設計師」。
- 「條件資料行」 是你快速搭建標準化邏輯的預製模組。
- 「自訂資料行」 則是讓你打破框架、實現客製化精密設計的萬能工具箱。
掌握這兩項工具,特別是 M 語言 if
的靈活性,你就能將原始數據中的隱性規則,轉化為清晰、可分析的明確標籤,為後續的視覺化與洞察挖掘,鋪平了最重要的一哩路。
🚀 從心法到實戰,只差一步
覺得這些技巧很強大,但渴望將它們應用在真實的商業專案中嗎?
在我的 Hahow 好學校線上課程 【Power BI x AI 終極實戰:打造高效數據分析工作流】 中,我們將會深入應用這篇文章提到的所有技巧,親手處理來自政府公開資料庫的真實、混亂的原始數據,並最終打造出三個令人驚豔的商業儀表板。
這不只是一堂工具課,更是一趟將你打造成真正數據專家的旅程。
👉 點擊這裡,立即加入超過千名學員的行列,開啟你的數據自動化之旅!
🎁 想持續升級你的數據決策系統嗎?
覺得這篇文章對你有幫助嗎?這只是個開始。
免費加入,立即解鎖『會員資源中心』 (內含完整電子書、練習檔案與更多專屬內容)!
你將不僅能立即下載排版精美的 【數據分析師的養成心法 (2025 終極指南)】 完整版電子書 (PDF) ,更重要的是,你將開始每週收到我的獨家框架、實踐案例與工具推薦。
讓我們一起,將數據轉化為智慧,打造屬於自己的理想人生。