適用於 Excel 的 Microsoft Power Query:IF 條件—巢狀 IF 與多重條件
在 Excel 的 Microsoft Power Query 中,IF 函數是最受歡迎的函數之一,可用來檢查條件,並根據結果為 TRUE 或 FALSE 傳回對應的值。此 IF 條件的語法與 Excel 中的 IF 函數略有不同。本教學將介紹 Power Query 中 IF 條件的語法,並提供簡單與進階的實用範例供您參考。
適用於 Excel 的 Microsoft Power Query 的基本 IF 條件語法
使用條件式欄位建立適用於 Excel 的 Microsoft Power Query IF 條件
透過撰寫 M 程式碼建立適用於 Excel 的 Microsoft Power Query IF 條件
適用於 Excel 的 Microsoft Power Query 的基本 IF 條件語法
在適用於 Excel 的 Microsoft Power Query 中,語法如下:
- logical_test:您要測試的條件。
- value_if_true:當結果為 TRUE 時所傳回的值。
- value_if_false:當結果為 FALSE 時所傳回的值。
在 Excel 適用於 Excel 的 Microsoft Power Query 中,有兩種方式可建立此類條件邏輯:
- 使用「條件式欄位」功能處理一些基本情境;
- 撰寫 M 程式碼,以處理更進階的應用情境。
接下來的章節中,我將為您介紹幾個運用此 IF 條件的實用範例。
適用於 Excel 的 Microsoft Power Query 使用條件式欄位建立 IF 條件
範例 1:基本 IF 條件
這裡將介紹如何在 Excel 的 Microsoft Power Query 中運用此 IF 條件。例如,我有一份產品報表:當產品狀態為「舊」時,顯示 50% 折扣;當產品狀態為「新」時,則顯示 20% 折扣,如下圖所示。

1. 從工作表中選取資料表後,在 Excel 2019 與 Excel 365 中,按一下資料> 從表格/範圍,請參閱截圖:

注意:在 Excel 2016 與 Excel 2021 中,請按一下資料> 從表格,請參閱截圖:

2. 接著,在開啟的 適用於 Excel 的 Microsoft Power Query 編輯器視窗中,按一下新增欄位 > 條件式欄位,請參閱截圖:

3. 在彈出的新增條件式欄位對話框中,請執行下列操作:
- 新欄位名稱:輸入新欄位的名稱;
- 接著,指定您需要的條件。例如,我將設定為:若狀態等於「舊」,則為 50%;否則為 20%;
- 欄位名稱:用來評估 IF 條件的欄位。此處我選擇「狀態」。
- 運算子:用來設定條件邏輯的選項,會根據所選欄位名稱的資料類型自動調整。
- 文字:開頭為、開頭不為、等於、包含等。
- 數字:支援等於、不等於、大於或等於等條件。
- 日期:早於、晚於、等於、不等於等條件。
- 值:用來與評估結果比對的特定數值,與欄位名稱及運算子共同構成一個條件。
- 輸出:當條件成立時所傳回的值。
- 否則:當條件不成立時,傳回的另一個值。

4. 接著,按一下確定按鈕,即可返回 適用於 Excel 的 Microsoft Power Query 編輯器視窗。此時已成功新增一個折扣欄位,詳情請參閱截圖:

5. 若您想將數字格式設定為百分比,只需點擊 ABC 123 圖示(位於)折扣欄位標題),並依需求選擇百分比,請參閱截圖:

6. 最後,請按一下首頁> 關閉並載入> 關閉並載入,即可將此資料載入至新工作表。

範例 2:複雜 IF 條件
透過「條件式欄位」選項,您還可在新增條件式欄位對話框中插入兩個或多個條件!請依照以下步驟操作:
1. 選取資料表,並點選資料 > 從表格/範圍,進入 適用於 Excel 的 Microsoft Power Query 編輯器視窗。在新視窗中,點選新增欄位 > 條件式欄位。
2. 在彈出的新增條件式欄位對話框中,請執行下列操作:
- 在新欄位名稱文字方塊中輸入新欄位的名稱;
- 在第一個條件欄位中指定首項條件,然後點擊新增子句按鈕,即可依需求加入更多條件欄位。

3. 完成條件設定後,請按一下確定按鈕,即可返回 適用於 Excel 的 Microsoft Power Query 編輯器視窗,並立即獲得一個包含所需對應結果的新欄位。請參閱螢幕截圖:

4. 最後,請按一下首頁> 關閉並載入> 關閉並載入,即可將此資料載入至新工作表。
透過撰寫 M 語言程式碼來建立適用於 Excel 的 Microsoft Power Query if 條件式
一般而言,「條件式欄位」適用於某些基本情境;但當您需要運用 AND 或 OR 邏輯來處理多個條件時,就必須在「自訂欄位」中撰寫 M 語言程式碼,以應對更複雜的需求。
範例 1:基本 if 陳述式
以第一筆資料為例,若產品狀態為「舊」,則顯示 50% 折扣;若為「新」,則顯示 20% 折扣。M 語言程式碼撰寫方式如下:
1. 選取資料表後,按一下資料 > 從表格/範圍,即可進入 適用於 Excel 的 Microsoft Power Query 編輯器視窗。
2. 在開啟的視窗中,按一下新增欄位 > 自訂欄位,請參閱螢幕截圖:

3. 在彈出的自訂欄位對話方塊中,請執行下列操作:
- 在新欄位名稱文字方塊中輸入新欄位的名稱;
- 接著,將此公式輸入至自訂欄位的公式方塊中:if [Status] = "Old " then "50% " else "20% "。

4. 接著,按一下確定關閉此對話方塊,即可獲得所需的結果如下:

5. 最後,按一下首頁> 關閉並載入> 關閉並載入,即可將此資料載入至新工作表。
範例 2:複雜 if 陳述式
通常,若要測試多層條件,您可以將多個 IF 條件式巢狀使用。例如,我有以下資料表:若產品為「洋裝」,則原始價格享有 50% 折扣;若產品為「毛衣」或「連帽衫」,則原始價格享有 20% 折扣;其餘產品則維持原始價格。

1 選取資料表,然後按一下。資料> 從表格/範圍,進入 適用於 Excel 的 Microsoft Power Query 編輯器視窗。
2. 在開啟的視窗中,按一下新增欄位 > 自訂欄位。隨即開啟的自訂欄位對話方塊中,請執行下列操作:
- 在新欄位名稱文字方塊中輸入新欄位的名稱;
- 接著,將下列公式輸入至自訂欄位的公式方塊中。
- = if [Product] = "Dress" then [Price] * 0.5 else
if [Product] = "Sweater" then [Price] * 0.8 else
if [Product] = "Hoodie" then [Price] * 0.8
else [Price]

3. 接著,按一下確定按鈕,返回 適用於 Excel 的 Microsoft Power Query 編輯器視窗,即可獲得一個包含所需資料的新欄位,請參閱螢幕截圖:

4. 最後,按一下首頁> 關閉並載入> 關閉並載入,即可將此資料載入至新工作表。
OR 邏輯會執行多項邏輯測試,只要其中任一項為真,即傳回 TRUE。其語法如下:
假設我有以下資料表,現在希望新增一個欄位來顯示:若產品為「洋裝」或「T 恤」,品牌則標示為「AAA」;其餘產品的品牌則標示為「BBB」。

1 選取資料表,然後按一下。資料> 從表格/範圍,進入 適用於 Excel 的 Microsoft Power Query 編輯器視窗。
2. 在開啟的視窗中,按一下新增欄位 > 自訂欄位,即可開啟自訂欄位對話方塊,請執行下列操作:
- 在新欄位名稱文字方塊中輸入新欄位的名稱;
- 接著,請將下列公式輸入至自訂欄位公式方塊中。
- = if [Product] = "Dress" or [Product] = "T-shirt" then "AAA"
else "BBB"

3 接著,按一下確定按鈕,返回 適用於 Excel 的 Microsoft Power Query 編輯器視窗,您將獲得一個包含所需資料的新欄位,請參閱螢幕截圖:

4. 最後,按一下首頁> 關閉並載入> 關閉並載入,將此資料載入至新的工作表。
AND 邏輯可在單一 IF 條件式中執行多項邏輯測試。唯有所有測試結果皆為真時,才會傳回 TRUE;只要任一測試為假,即傳回 FALSE。其語法如下:
以上述資料為例,我希望新增一個欄位顯示:若產品為「洋裝」且訂單數量大於 300,則套用原始價格的 5 折;否則維持原始價格。
1. 選取資料表,然後按一下資料> 從表格/範圍,進入 適用於 Excel 的 Microsoft Power Query 編輯器視窗。
2. 在開啟的視窗中,請按一下新增欄位 > 自訂欄位,隨即會開啟自訂欄位對話方塊,請執行下列操作:
- 在新欄位名稱文字方塊中輸入新欄位的名稱;
- 接著,請將下列公式輸入至自訂欄位公式方塊中。
- = if [Product] ="Dress" and [Order] > 300 then [Price]*0.5
else [Price]

3 接著,按一下確定按鈕,返回 適用於 Excel 的 Microsoft Power Query 編輯器視窗,您將獲得一個包含所需資料的新欄位,請參閱螢幕截圖:

4. 最後,請按一下首頁> 關閉並載入> 關閉並載入,即可將此資料載入至新工作表。
好的,前面的例子都比較容易理解。現在,讓我們挑戰更複雜的情境!您可以靈活結合 AND 與 OR 邏輯運算,建構出任何能想像到的條件組合。在這類公式中,還能運用括號來精準定義複雜的判斷規則。
同樣以上述資料為例,假設我希望新增一個欄位,用來顯示:若產品為「洋裝」且訂單數量大於 300,或產品為「長褲」且訂單數量大於 300,則顯示「A+」;否則顯示「其他」。
1 選取資料表,然後按一下。資料> 從表格/範圍,進入 適用於 Excel 的 Microsoft Power Query 編輯器視窗。
2. 在開啟的視窗中,請按一下新增欄位> 自訂欄位。在開啟的自訂欄位對話方塊中,請執行下列操作:
- 在新欄位名稱文字方塊中輸入新欄位的名稱;
- 接著,請將下列公式輸入至自訂欄位公式方塊中。
- =if ([Product] = "Dress" and [Order] > 300 ) or
([Product] = "Trousers" and [Order] > 300 )
then "A+"
else "Other"

3. 接著,按一下確定按鈕,返回 適用於 Excel 的 Microsoft Power Query 編輯器視窗,您將獲得一個包含所需資料的新欄位,請參閱螢幕截圖:

4. 最後,請按一下首頁> 關閉並載入> 關閉並載入,將此資料載入至新工作表。
在自訂欄位公式框中,您可以使用下列邏輯運算子:
- =:等於
- :不等於
- >:大於
- >=:大於等於
- <:小於
- <=:小於等於
最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……
Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!
- 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
- 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
- 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!
所有 Kutools 增益集,一個安裝程式
Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用