KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

適用於 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 中,語法如下:

= if logical_test then value_if_true else value_if_false
  • logical_test:您要測試的條件。
  • value_if_true:當結果為 TRUE 時所傳回的值。
  • value_if_false:當結果為 FALSE 時所傳回的值。
注意:適用於 Excel 的 Microsoft Power Query if 條件式區分大小寫,if、then 和 else 必須為小寫。

在 Excel 適用於 Excel 的 Microsoft Power Query 中,有兩種方式可建立此類條件邏輯:

  • 使用「條件式欄位」功能處理一些基本情境;
  • 撰寫 M 程式碼,以處理更進階的應用情境。

接下來的章節中,我將為您介紹幾個運用此 IF 條件的實用範例。


適用於 Excel 的 Microsoft Power Query 使用條件式欄位建立 IF 條件

範例 1:基本 IF 條件

這裡將介紹如何在 Excel 的 Microsoft Power Query 中運用此 IF 條件。例如,我有一份產品報表:當產品狀態為「舊」時,顯示 50% 折扣;當產品狀態為「新」時,則顯示 20% 折扣,如下圖所示。

顯示 Excel 中已新增產品狀態欄與折扣欄的產品報表截圖

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

Excel 2019 與 Excel 365 中「資料」索引標籤的「從表格/範圍」選項已標示的截圖

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

Excel 2016 與 Excel 2021 中「資料」索引標籤的「從表格」選項已標示的截圖

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

Power Query 編輯器中「新增欄位」與「條件式欄位」選項已標示的截圖

3. 在彈出的新增條件式欄位對話框中,請執行下列操作:

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

Power Query 中設定條件的「新增條件式欄位」對話框截圖

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

Power Query 編輯器中已新增「折扣」欄位的截圖

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

點擊 ABC123 圖示將「折扣」欄位格式設為百分比的截圖

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

Power Query 中用於將資料載入工作表的「關閉並載入」選項截圖


範例 2:複雜 IF 條件

透過「條件式欄位」選項,您還可在新增條件式欄位對話框中插入兩個或多個條件!請依照以下步驟操作:

1. 選取資料表,並點選資料 > 從表格/範圍,進入 適用於 Excel 的 Microsoft Power Query 編輯器視窗。在新視窗中,點選新增欄位 > 條件式欄位

2. 在彈出的新增條件式欄位對話框中,請執行下列操作:

  • 新欄位名稱文字方塊中輸入新欄位的名稱;
  • 在第一個條件欄位中指定首項條件,然後點擊新增子句按鈕,即可依需求加入更多條件欄位。

Power Query 中設定多個條件的「新增條件式欄位」對話框截圖

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

Power Query 編輯器中顯示套用多個條件後的新欄位截圖

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


透過撰寫 M 語言程式碼來建立適用於 Excel 的 Microsoft Power Query if 條件式

一般而言,「條件式欄位」適用於某些基本情境;但當您需要運用 AND 或 OR 邏輯來處理多個條件時,就必須在「自訂欄位」中撰寫 M 語言程式碼,以應對更複雜的需求。

範例 1:基本 if 陳述式

以第一筆資料為例,若產品狀態為「舊」,則顯示 50% 折扣;若為「新」,則顯示 20% 折扣。M 語言程式碼撰寫方式如下:

1. 選取資料表後,按一下資料 > 從表格/範圍,即可進入 適用於 Excel 的 Microsoft Power Query 編輯器視窗。

2. 在開啟的視窗中,按一下新增欄位 > 自訂欄位,請參閱螢幕截圖:

Power Query 編輯器中「新增欄位」與「自訂欄位」選項已標示的截圖

3. 在彈出的自訂欄位對話方塊中,請執行下列操作:

  • 新欄位名稱文字方塊中輸入新欄位的名稱;
  • 接著,將此公式輸入至自訂欄位公式方塊中:if [Status] = "Old " then "50% " else "20% "

Power Query 中包含基本 IF 公式的「自訂欄位」對話框截圖

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

Power Query 編輯器中套用自訂公式後顯示新欄位的截圖

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


範例 2:複雜 if 陳述式

巢狀 IF 條件

通常,若要測試多層條件,您可以將多個 IF 條件式巢狀使用。例如,我有以下資料表:若產品為「洋裝」,則原始價格享有 50% 折扣;若產品為「毛衣」或「連帽衫」,則原始價格享有 20% 折扣;其餘產品則維持原始價格。

用於 Power Query 巢狀 IF 範例的產品名稱與價格資料集截圖

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]

Power Query 中包含巢狀 IF 公式的「自訂欄位」對話框截圖

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

Power Query 編輯器中顯示套用巢狀 IF 邏輯後的新欄位截圖

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


使用 OR 邏輯的 IF 條件

OR 邏輯會執行多項邏輯測試,只要其中任一項為真,即傳回 TRUE。其語法如下:

= if logical_test 1 or logical_test 2 or … then value_if_true else value_if_false

假設我有以下資料表,現在希望新增一個欄位來顯示:若產品為「洋裝」或「T 恤」,品牌則標示為「AAA」;其餘產品的品牌則標示為「BBB」。

用於 Power Query OR 邏輯範例的資料集截圖

1 選取資料表,然後按一下。資料> 從表格/範圍,進入 適用於 Excel 的 Microsoft Power Query 編輯器視窗。

2. 在開啟的視窗中,按一下新增欄位 > 自訂欄位,即可開啟自訂欄位對話方塊,請執行下列操作:

  • 新欄位名稱文字方塊中輸入新欄位的名稱;
  • 接著,請將下列公式輸入至自訂欄位公式方塊中。
  • = if [Product] = "Dress" or [Product] = "T-shirt" then "AAA"
    else "BBB"

Power Query 中包含 OR 邏輯公式的「自訂欄位」對話框截圖

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

Power Query 編輯器中顯示套用 OR 邏輯後的新欄位截圖

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


使用 AND 邏輯的 IF 條件

AND 邏輯可在單一 IF 條件式中執行多項邏輯測試。唯有所有測試結果皆為真時,才會傳回 TRUE;只要任一測試為假,即傳回 FALSE。其語法如下:

= if logical_test 1 and logical_test 2 and … then value_if_true else value_if_false

以上述資料為例,我希望新增一個欄位顯示:若產品為「洋裝」且訂單數量大於 300,則套用原始價格的 5 折;否則維持原始價格。

1. 選取資料表,然後按一下資料> 從表格/範圍,進入 適用於 Excel 的 Microsoft Power Query 編輯器視窗。

2. 在開啟的視窗中,請按一下新增欄位 > 自訂欄位,隨即會開啟自訂欄位對話方塊,請執行下列操作:

  • 新欄位名稱文字方塊中輸入新欄位的名稱;
  • 接著,請將下列公式輸入至自訂欄位公式方塊中。
  • = if [Product] ="Dress" and [Order] > 300 then [Price]*0.5
    else [Price]

Power Query 中包含 AND 邏輯公式的「自訂欄位」對話框截圖

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

Power Query 編輯器中顯示套用 AND 邏輯後的新欄位截圖

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


同時使用 OR 與 AND 邏輯的 IF 條件

好的,前面的例子都比較容易理解。現在,讓我們挑戰更複雜的情境!您可以靈活結合 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"

Power Query 中包含組合 AND 與 OR 邏輯的「自訂欄位」對話框截圖

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

Power Query 編輯器中顯示套用組合 AND 與 OR 邏輯後的新欄位截圖

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

提示:
在自訂欄位公式框中,您可以使用下列邏輯運算子:
  • =:等於
  • :不等於
  • >:大於
  • >=:大於等於
  • <:小於
  • <=:小於等於

最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 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 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用