2025年7月1日 星期二

【Excel教學】如何使用Power Query將多列相同資料合併到單一儲存格?

您是否經常需要將同一個客戶或項目的多筆訂單、備註或其他文字資料,整理成一列並用逗號分隔?過去,這可能需要複雜的陣列公式,或是撰寫VBA程式碼才能實現。

現在,透過Excel內建的強大工具—Power Query,您無需撰寫任何程式碼,只需幾個點擊,就能輕鬆完成這項任務,並且未來資料更新時,只要一鍵「重新整理」即可!

今天,我們將跟隨影片的教學,一步步學習如何使用Power Query,將多列資料合併到單一儲存格中。

範例與資源


操作步驟詳解

我們將從一份原始訂單資料開始,目標是將每個「購買者」的所有「訂單編號」合併到同一格,並以逗號分隔。

原始資料範例:
| 訂單編號 | 購買日期 | 購買者 |
| :--- | :--- | :--- |
| A001 | 3/27/2024 | 宋江 |
| A002 | 3/27/2024 | 宋江 |
| A003 | 3/27/2024 | 宋江 |
| A004 | 3/27/2024 | 公孫勝 |
| ... | ... | ... |

步驟一:將資料載入 Power Query 編輯器

  1. 首先,點擊您資料範圍內的任何一個儲存格。

  2. 前往Excel頂端功能區的 [資料] 索引標籤。

  3. 在「取得及轉換資料」區塊中,點選 [從表格/範圍]

  4. Excel會跳出一個「建立表格」的視窗,請確認範圍是否正確,並勾選 [我的表格有標題],然後按下 [確定]

這樣,您的資料就會被載入到 Power Query 編輯器視窗中。

步驟二:使用「群組依據」功能

我們的目標是依據「購買者」來群組資料。

  1. 在 Power Query 編輯器中,點選 [購買者] 這一欄的欄位標題,將其選取。

  2. 點選 [常用] 索引標籤下的 [群組依據] 功能。

  3. 在「群組依據」的設定視窗中,進行以下設定:

    • 群組依據:保持為「購買者」。

    • 新資料行名稱:輸入一個您想要的名稱,例如「合併訂單」。

    • 運算:從下拉選單中選擇 [加總]

    • 資料行:選擇您要處理的欄位,這裡是 [訂單編號]

  4. 按下 [確定]

完成後,您會發現「合併訂單」欄位中顯示的都是「Error」。這是正常的!因為「訂單編號」是文字,無法進行數學上的「加總」運算。接下來就是最關鍵的一步。

步驟三:修改 M 語言公式,將加總改為文字合併

Power Query 的每一步操作都會在頂端的「資料編輯列」中產生對應的 M 語言公式。我們需要手動修改它。

  1. 在資料編輯列中,找到剛剛產生的公式,它看起來會像這樣:

    Generated m
    = Table.Group(上一個步驟, {"購買者"}, {{"合併訂單", each List.Sum([訂單編號]), type nullable number}})
  2. 我們需要修改兩個地方:

    • 將 List.Sum 改成 Text.Combine

    • Text.Combine 函數需要兩個參數:要合併的清單([訂單編號])和分隔符號。我們在後面加上分隔符號,例如 ","

  3. 修改後的公式片段如下:

    • 原始each List.Sum([訂單編號])

    • 修改為each Text.Combine([訂單編號], ",")

    將公式修改完後,按下 Enter 鍵。

瞧!錯誤消失了,所有的訂單編號都已經被正確地合併在一起。

步驟四:關閉並載入結果

資料處理完畢後,就可以將它載回 Excel 工作表了。

  1. 點擊左上角的 [關閉並載入] 下拉選單。

  2. 選擇 [關閉並載入至...]

  3. 在「匯入資料」視窗中,選擇您希望放置結果的方式:

    • 選擇 [表格]

    • 選擇 [現有工作表],並指定一個您想放置表格的儲存格位置(例如 G1)。

  4. 按下 [確定]

最終的合併結果就會出現在您的工作表上,並且右側會顯示「查詢與連線」窗格。

驗證與重新整理

Power Query 最棒的地方在於它的動態更新能力。

  1. 回到您的 原始資料 表格。

  2. 新增一筆資料,或修改現有資料(例如,將某位購買者的訂單改為另一人)。

  3. 回到剛剛產生的 結果表格,在表格上按一下右鍵,選擇 [重新整理]

您會發現結果表格會立刻根據您對原始資料的變更而自動更新,完全不需要重複上述所有步驟!


總結

透過 Power Query 的「群組依據」功能,搭配手動修改 M 語言公式(將 List.Sum 換成 Text.Combine),我們成功地建立了一個自動化的資料合併流程。這不僅大大提升了工作效率,也確保了資料的準確性。從此以後,您再也不用為了合併文字而頭痛了!



【Excel教學】如何使用Power Query將多列相同資料合併到單一儲存格?

您是否經常需要將同一個客戶或項目的多筆訂單、備註或其他文字資料,整理成一列並用逗號分隔?過去,這可能需要複雜的陣列公式,或是撰寫VBA程式碼才能實現。 現在,透過Excel內建的強大工具—Power Query,您無需撰寫任何程式碼,只需幾個點擊,就能輕鬆完成這項任務,並且未來資...