在 Excel 中建立 Power Query 公式

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

附註: Power Query 在 Excel 2016 中稱為「取得及轉換」。此處所提供的資訊適用於兩者。 若要深入了解,請參閱 Excel 2016 中的取得及轉換

若要在 Excel 中建立 Power Query 公式,您可以使用 [查詢編輯器資料編輯列][進階編輯器]。 「查詢編輯器」是隨附於 Power Query 的工具,可讓您在 Power Query 中建立資料查詢與公式。 這些公式是使用「Power Query 公式語言」建立。 您可以使用許多 Power Query 公式來探索、合併及調整資料。 若要進一步瞭解完整的 Power Query 公式,請參閱 Power Query 公式類別

現在,讓我們建立簡單公式,然後再建立進階公式。

建立簡單公式

以簡單公式為例,讓我們使用 Text.Proper() 公式將文字值轉換為正確的大小寫。

  1. [POWER QUERY] 功能區索引標籤上,選擇 [從其他來源] > [空的查詢]

    [Power Query] 功能區
  2. [查詢編輯器資料編輯列]中,輸入 = Text.Proper("text value"),並按下 Enter 或選擇輸入圖示。 公式編輯器

  3. Power Query 會在公式結果窗格中顯示您的結果。

  4. 若要在 Excel 工作表中查看結果,選擇 [關閉並載入]

結果在工作表中看起來像這樣:

Text.Proper

您也可以在 [查詢編輯器] 中建立進階查詢公式。

建立進階公式

以進階公式為例,讓我們使用公式組合將欄中的文字轉換為正確的大小寫。 您可以使用「Power Query 公式語言」,將多個公式合併成包含資料集結果的查詢步驟。 您可以將結果匯入 Excel 工作表中。

附註: 本主題簡介進階 Power Query 公式。 若要進一步瞭解 Power Query 公式,請參閱瞭解 Power Query 公式

例如,假設您有一個內含產品名稱的 Excel 表格,而您想要將名稱轉換為正確的大小寫。

原始表格看起來像這樣:

與前段距離

而您想要產生的表格看起來像這樣:

與後段距離

現在就讓我們透過查詢公式步驟來變更原始表格,將 [產品名稱] 欄中的值變成正確的大小寫。

使用進階編輯器的進階查詢範例

若要清空原始資料表,您可以使用 [進階編輯器] 來建立查詢公式步驟。 讓我們建立每個查詢公式步驟,以示範如何建立進階查詢。 完整的查詢公式步驟如下所列。 當您建立進階查詢時,請遵循此程序:

  • 建立一系列查詢公式步驟,開頭為 let 陳述式。 請注意,「Power Query 公式語言」會區分大小寫。

  • 每個查詢公式步驟都會根據名稱參照步驟,也就是依據前一個步驟。

  • 使用 in 陳述式輸出查詢公式步驟。 一般而言,最後一個查詢步驟會做為 in 的最終資料集結果。

步驟 1:開啟進階編輯器

  1. [POWER QUERY] 功能區索引標籤上,選擇 [從其他來源] > [空的查詢]

  2. [查詢編輯器] 中,選擇 [進階編輯器]

    進階編輯器

  3. [進階編輯器] 隨即顯示。

    進階編輯器 2

步驟 2:定義原始來源

[進階編輯器] 中:

  1. 使用 let 陳述式,指派 Source = Excel.CurrentWorkbook() 公式。 此步驟會使用 Excel 表格做為資料來源。 如需 Excel.CurrentWorkbook() 公式的詳細資訊,請參閱 Excel.CurrentWorkbook

  2. 指派 Sourcein 結果。

    let Source =
    Excel.CurrentWorkbook(){[Name="Orders"]}[Content]
    in Source
  3. 您的進階查詢在 [進階編輯器] 中看起來像這樣。

    進階編輯器 3
  4. 若要查看工作表中的結果:

    1. 按一下 [完成]

    2. 在 [查詢編輯器] 功能區中,按一下 [關閉並載入]

步驟 1 - 進階編輯器

結果在工作表中看起來像這樣:

步驟 1 - 結果

步驟 3:將第一列上移至標題

若要將 [產品名稱] 欄中的值轉換為正確的文字,您必須先將第一列上移為欄標題。 您可以在 [進階編輯器] 中執行此動作:

  1. 新增 #"First Row as Header" = Table.PromoteHeaders() 公式至查詢公式步驟,並參照做為資料來源的 Source。 如需 Table.PromoteHeaders() 公式的詳細資訊,請參閱 Table.PromoteHeaders

  2. 指派 #"First Row as Header" 至 in 結果。

    let
        Source = Excel.CurrentWorkbook(){[Name="Orders"]}[Content],
        #"First Row as Header" = Table.PromoteHeaders(Source)
    in
        #"First Row as Header"

結果在工作表中看起來像這樣:

步驟 3 - 結果

步驟 4:將欄中的每個值變更正確的大小寫

若要將每個 [產品名稱] 欄中的值轉換為正確的文字,您可以使用 Table.TransformColumns(),並參照 "First Row as Header” 查詢公式步驟。 您可以在 [進階編輯器] 中執行此動作:

  1. 新增 #"Capitalized Each Word" = Table.TransformColumns() 至查詢公式步驟,並參照 #"First Row as Header" 做為資料來源。 如需 Table.TransformColumns() 公式的詳細資訊,請參閱 Table.TransformColumns

  2. 指派 #"Capitalized Each Word"in 結果。

let
    Source = Excel.CurrentWorkbook(){[Name="Orders"]}[Content],
    #"First Row as Header" = Table.PromoteHeaders(Source),
    #"Capitalized Each Word" = Table.TransformColumns(#"First Row as Header",{{"ProductName", Text.Proper}})
in
    #"Capitalized Each Word"

最後的結果會將 [產品名稱] 欄中的每個值變更為正確的大小寫,在工作表中看起來像這樣:

步驟 4 - 結果

您可以使用「Power Query 公式語言」來建立簡單到進階的資料查詢,以探索、合併並調整資料。 若要進一步瞭解 Power Query,請參閱 Microsoft Power Query for Excel 說明

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×