跳到主要內容

Power Query: If 語句 - 嵌套 if 和多個條件

在 Excel 中 Power QueryIF 語句是最受歡迎的函數之一,用於檢查條件並根據結果是 TRUE 還是 FALSE 傳回特定值。 這個if語句和Excel的IF函數有些差別。 在本教程中,我將為您介紹這個 if 語句的語法以及一些簡單和複雜的範例。

基本 if 語句語法 Power Query

Power Query 使用條件列的 if 語句

Power Query 編寫M程式碼的if語句


基本 if 語句語法 Power Query

In Power Query,語法為:

= 如果 logical_test 那麼 value_if_true 否則 value_if_false
  • 邏輯測試:您要測試的條件。
  • 值_if_true:結果為真時返回的值。
  • 值_if_false:如果結果為 FALSE,則返回值。
備註: Power Query if 語句區分大小寫,if、then 和 else 必須小寫。

在 Excel 中 Power Query,有兩種方法可以創建這種類型的條件邏輯:

  • 在一些基本場景下使用條件列功能;
  • 為更高級的場景編寫 M 代碼。

在下一節中,我將討論使用此 if 語句的一些示例。


Power Query 使用條件列的 if 語句

 示例 1:基本 if 語句

這裡我就介紹這個if語句的使用方法 Power Query。 例如,我有以下產品報告,如果產品狀態為舊,則顯示 50% 折扣; 如果產品狀態為“新品”,則顯示 20% 折扣,如下圖所示。

1. 從工作表中選擇數據表,然後在 Excel 2019 和 Excel 365 中,單擊 數據 > 從表/範圍,請參見屏幕截圖:

備註:在 Excel 2016 和 Excel 2021 中,單擊 數據 > 從表格,請參見屏幕截圖:

2。 然後,在打開 Power Query 編輯頁 窗口中,單擊 添加列 > 條件列,請參見屏幕截圖:

3。 在彈出 添加條件列 對話框,請執行以下操作:

  • 新列名稱:為新列輸入名稱;
  • 然後,指定您需要的條件。 例如,我將指定 如果 Status 等於 Old,則為 50%,否則為 20%;
提示:
  • 欄名:用於評估您的 if 條件的列。 在這裡,我選擇狀態。
  • 操作者: 要使用的條件邏輯。 選項將根據所選列名稱的數據類型而有所不同。
    • 文本:以、不以、等於、包含等開頭。
    • 民數記:等於、不等於、大於或等於等。
    • 日期:之前,之後,等於,不等於等。
  • :用於比較您的評估的特定值。 它與 Column Name 和 Operator 一起構成一個條件。
  • 產量:滿足條件時返回的值。
  • 其他:條件為假時返回的另一個值。

4。 然後,點擊 OK 按鈕返回 Power Query 編輯頁 窗戶。 現在,一個新的 折扣 添加了列,請參見屏幕截圖:

5. 如果要將數字格式化為百分比,只需單擊 ABC123 圖標 折扣 列標題,然後選擇 百分比 根據需要,請參見屏幕截圖:

6. 最後請點擊 首頁 > 關閉並加載 > 關閉並加載 將此數據加載到新工作表。


 示例 2:複雜的 if 語句

使用此條件列選項,您還可以將兩個或多個條件插入到 添加條件列 對話。 請這樣做:

1. 選擇數據表,然後轉到 Power Query 編輯頁 通過單擊窗口 數據 > 從表/範圍。 在新窗口中,單擊 添加列 > 條件列.

2。 在彈出 添加條件列 對話框,請執行以下操作:

  • 將新列的名稱輸入到 新列名稱 文本框;
  • 在第一個條件字段中指定第一個條件,然後單擊 添加條款 按鈕以根據需要添加其他條件字段。

3. 完成條件後,單擊 OK 按鈕返回 Power Query 編輯頁 窗戶。 現在,您將獲得一個包含您需要的相應結果的新列。 看截圖:

4. 最後請點擊 首頁 > 關閉並加載 > 關閉並加載 將此數據加載到新工作表。


Power Query 編寫M程式碼的if語句

通常情況下,Conditional Column 對一些基本場景很有幫助。 有時,您可能需要使用具有 AND 或 OR 邏輯的多個條件。 在這種情況下,對於更複雜的情況,您必須在自定義列中編寫 M 代碼。

 示例 1:基本 if 語句

以第一個數據為例,如果產品狀態為Old,則顯示50%的折扣; 如果產品狀態為新品,則顯示 20% 的折扣。 編寫 M 代碼時,請按照以下步驟操作:

1。 選擇表,然後單擊 數據 > 從表/範圍Power Query 編輯頁 窗口。

2. 在打開的窗口中,單擊 添加列 > 自定義列,請參見屏幕截圖:

3。 在彈出 自定義列 對話框,請執行以下操作:

  • 將新列的名稱輸入到 新列名稱 文本框;
  • 然後,輸入這個公式: 如果 [Status] = "Old " then "50% " else "20% "自定義列 框。

4。 然後,點擊 OK 關閉此對話框。 現在,您將根據需要獲得以下結果:

5。 最後點擊 首頁 > 關閉並加載 > 關閉並加載 將此數據加載到新工作表。


 示例 2:複雜的 if 語句

嵌套 if 語句

通常,為了測試子條件,您可以嵌套多個 if 語句。 例如,我有下面的數據表。 如果產品是“連衣裙”,則給予原價50%的折扣; 如果產品是“毛衣”或“連帽衫”,則給予原價 20% 的折扣; 其他產品保持原價。

1. 選擇數據表,然後單擊 數據 > 從表/範圍Power Query 編輯頁 窗口。

2. 在打開的窗口中,單擊 添加列 > 自定義列。 在開 自定義列 對話框,請執行以下操作:

  • 將新列的名稱輸入到 新列名稱 文本框;
  • 然後,將下面的公式輸入到 自定義列 框。
  • = if [Product] = "Dress" then [Price] * 0.5 else
    如果 [Product] = "Sweater" 那麼 [Price] * 0.8 else
    如果 [Product] = "Hoodie" 那麼 [Price] * 0.8
    其他 [價格]

3。 然後,單擊 OK 按鈕返回 Power Query 編輯頁 窗口,您將獲得一個包含所需數據的新列,請參見屏幕截圖:

4。 最後點擊 首頁 > 關閉並加載 > 關閉並加載 將此數據加載到新工作表。


帶 OR 邏輯的 If 語句

OR 邏輯執行多個邏輯測試,如果任何邏輯測試為真,則返回真實結果。 語法是:

= 如果邏輯測試 1 或邏輯測試 2 或 … 那麼 value_if_true else value_if_false

假設,我有下表,現在,我想要一個新的列顯示為:如果產品是“Dress”或“T-shirt”,那麼品牌是“AAA”,其他產品的品牌是“BBB”。

1. 選擇數據表,然後單擊 數據 > 從表/範圍Power Query 編輯頁 窗口。

2. 在打開的窗口中,單擊 添加列 > 自定義列,在打開 自定義列 對話框,請執行以下操作:

  • 將新列的名稱輸入到 新列名稱 文本框;
  • 然後,將下面的公式輸入到 自定義列公式 框。
  • = 如果 [Product] = "Dress" 或 [Product] = "T-shirt" 那麼 "AAA"
    否則“BBB”

3。 然後,單擊 OK 按鈕返回 Power Query 編輯頁 窗口,您將獲得一個包含所需數據的新列,請參見屏幕截圖:

4。 最後點擊 首頁 > 關閉並加載 > 關閉並加載 將此數據加載到新工作表。


If 語句與邏輯

AND 邏輯在單個 if 語句中執行多個邏輯測試。 所有測試都必須為真才能返回真實結果。 如果任何測試為假,則返回假結果。 語法是:

= 如果邏輯測試 1 和邏輯測試 2 和 … 那麼 value_if_true else value_if_false

以上面的數據為例,我想要一個新的列顯示為:如果產品是“Dress”並且訂單大於300,則給予原價50%的折扣; 否則保持原價。

1. 選擇數據表,然後單擊 數據 > 從表/範圍Power Query 編輯頁 窗口。

2. 在打開的窗口中,單擊 添加列 > 自定義列。 在開 自定義列 對話框,請執行以下操作:

  • 將新列的名稱輸入到 新列名稱 文本框;
  • 然後,將下面的公式輸入到 自定義列公式 框。
  • = 如果 [Product] = "Dress" 並且 [Order] > 300 那麼 [Price]*0.5
    其他 [價格]

3。 然後,點擊 OK 按鈕返回 Power Query 編輯頁 窗口,您將獲得一個包含所需數據的新列,請參見屏幕截圖:

4. 最後,您應該通過單擊將此數據加載到新工作表中 首頁 > 關閉並加載 > 關閉並加載.


具有 OR 和 AND 邏輯的 If 語句

好了,前面的例子我們就很容易理解了。 現在,讓我們讓它變得更難。 您可以組合 AND 和 OR 來形成您可以想像的任何條件。 在這種類型中,您可以在公式中使用括號來定義復雜的規則。

同樣以上面的數據為例,假設我要新建一個列顯示為:如果商品是“Dress”,訂單大於300,或者商品是“Trousers”,訂單大於300,則顯示“A+”,否則顯示“其他”。

1. 選擇數據表,然後單擊 數據 > 從表/範圍Power Query 編輯頁 窗口。

2. 在打開的窗口中,單擊 添加列 > 自定義列。 在開 自定義列 對話框,請執行以下操作:

  • 將新列的名稱輸入到 新列名稱 文本框;
  • 然後,將下面的公式輸入到 自定義列公式 框。
  • =if ([Product] = "Dress" and [Order] > 300 ) 或者
    ([Product] = "褲子" and [Order] > 300 )
    然後是“A+”
    其他“其他”

3。 然後,點擊 OK 按鈕返回 Power Query 編輯頁 窗口,您將獲得一個包含所需數據的新列,請參見屏幕截圖:

4. 最後,您應該通過單擊將此數據加載到新工作表中 首頁 > 關閉並加載 > 關閉並加載.

提示:
在自定義列公式框中,您可以使用以下邏輯運算符:
  • = : 等於
  • <> :不等於
  • > :大於
  • >= :大於或等於
  • < :小於
  • <= :小於或等於

最佳辦公生產力工具

熱門特色: 尋找、突出顯示或識別重複項   |  刪除空白行   |  合併列或儲存格而不遺失數據   |   沒有公式的回合 ...
超級查詢: 多條件VLookup    多值VLookup  |   跨多個工作表的 VLookup   |   模糊查詢 ....
高級下拉列表: 快速建立下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  |  比較範圍和列 ...
特色功能: 網格焦點   |  設計圖   |   大方程式酒吧    工作簿和工作表管理器   |  資源庫 (自動文字)   |  日期選擇器   |  合併工作表   |  加密/解密單元格    按清單發送電子郵件   |  超級濾鏡   |   特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符,...)   |   50+ 圖表 類型 (甘特圖,...)   |   40+ 實用 公式 (根據生日計算年齡,...)   |   19 插入 工具 (插入二維碼, 從路徑插入圖片,...)   |   12 轉化 工具 (數字到單詞, 貨幣兌換,...)   |   7 合併與拆分 工具 (高級合併行, 分裂細胞,...)   |   ... 和更多

使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。  點擊此處獲取您最需要的功能...

kte選項卡201905


Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations