Applies To
Excel for Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

自定義函數使用 M 公式語言、採用一組輸入值,然後傳回單一輸出值。 如果您想要重複使用許多次邏輯,或將同一組轉換套用到不同的查詢或值,請考慮建立自定義函數,然後在需要時叫用該函數。 建立自訂函數的方法有好幾種: 

下列是自定義函數的簡單範例,該函數遵循冗長的程式設計傳統。

  1. 若要建立空白查詢:Excel    選取 [數據 > 從其他來源取得數據 > > 空白查詢]Power Query    以滑鼠右鍵按下左側 [查詢] 窗格中的空白點,然後選取 [新增查詢] > [其他來源] > [空白查詢]

  2. 在左側的 [查詢] 窗格中,按兩下名稱,然後將新的空白查詢重新命名為 「HelloWorld」。

  3. 選取新查詢,然後選取 [首頁 > 進階編輯器]

  4. 使用下列程式代碼取代範本入門代碼:

    let      HelloWorld = () => ("Hello World") in      HelloWorld

  5. 選取 [完成]

  6. 您已將查詢「HelloWorld」變更為自定義函數。 請注意,函數圖示會 [函數] 圖示 左側。

  7. 若要叫用函數,請選取該函數,然後選取 [數據預覽] 中的 [叫用 ]。 叫用 HelloWorld 自定義函數

  8. 函數的結果會顯示在 [數據預覽] 中,並新增到 [ 查詢 ] 窗格中,做為具有默認名稱 Invoked 函數的查詢。 您可能會想要將其重新命名為更有意義的名稱,例如「HelloWorldResult」。

  9. 選取該查詢,然後選取 [ 首頁 ]> [關閉 & 載入 ] 以查看工作表中的結果。

結果​​ 

工作表中的 HelloWorld 結果

下列範例示範如何將參數傳遞至自定義函數,以將十進位數轉換成十六進位。

  1. 若要建立空白查詢:Excel    選取 [數據 > 從其他來源取得數據 > > 空白查詢]Power Query    以滑鼠右鍵按下左側 [查詢] 窗格中的空白點,然後選取 [新增查詢] > [其他來源] > [空白查詢]

  2. 在左側的 [ 查詢] 窗格中,將新的空白查詢重新命名為 「MyHex」。

  3. 選取新查詢,然後選取 [首頁 > 進階編輯器]

  4. 使用下列程式代碼取代範本入門代碼:

    let      MyHex = (parameter1) => Number.ToText(parameter1,"X") in      MyHex

  5. 選取 [完成]

  6. 您已將查詢「MyHex」變更為自訂函數。 請注意,函數圖示會 [函數] 圖示 左側。

  7. 若要叫用函數,請選取該函數,然後在 [數據預覽] 的參數 1 方塊中輸入數字,然後選取 [ 叫用]

    叫用 MyHex 自定義函數

  8. 函數的結果會顯示在 [數據預覽] 中,並新增到 [ 查詢 ] 窗格做為具有默認名稱 之 [叫用函數] 的查詢。 您可能會想要將其重新命名為更有意義的名稱,例如「MyHexResult」。

  9. 選取該查詢,然後選取 [ 首頁 ]> [關閉 & 載入 ] 以查看工作表中的結果。

結果​​ 

工作表中 MyHex 函數的結果

如果您已使用至少一個參數建立函數,您可以呼叫它做為自定義函數,以建立數據表中每一列的新數據行和新值。

  1. 若要開啟查詢,請找出先前從 Power Query 編輯器 載入的查詢、選取數據中的儲存格,然後選取 [查詢 > 編輯]。 如需詳細資訊,請參閱在 Excel (Power Query) 中建立、編輯和載入查詢注意   在此範例中,您的查詢需要至少一個 數數據類型的數據行。

  2. 建立「MyHex」自定義函數,如建立及叫用具有 進階編輯器 參數的自定義函數一節所述。

  3. 在查詢中,選取 [新增欄 > 叫用自定義函數]隨即出現 [叫用自定義函數] 對話框。

  4. 在 [新增欄名] 方塊中輸入新的 名稱,例如“HexConvert”。

  5. 從 [函數] 查詢下拉式清單中選取預先定義的自定義函數名稱。 在此範例中,選取 [MyHex]。

  6. 由於自定義函數會參照參數,因此現在會顯示參數。

  7. 選取整 數數據類型的 欄做為函數的參數。 [叫用自定義函數] 對話框

  8. 選取 [確定]

結果

隨即建立新的數據行,顯示您輸入為參數之 [整數] 數據行的十六進位值。

工作表中新的 MyHex 值欄

另請參閱

適用於 Excel 的 Power Query 說明

在 Excel 中建立 Power Query 公式

建立參數查詢

管理查詢

瞭解 Power Query M 函數 (docs.com)

使用自定義函數 (docs.com)

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。