重點摘要
- 先將 Excel 主資料整理成單一標題列、一列一筆紀錄的清單格式。
- 流程依序完成啟動 Excel、讀取資料、取得區域、篩選、寫入及儲存。
- 建議先用兩個區域與少量資料建立原型,確認正確後再擴大處理。
- 輸出後必須比對檔案數、資料筆數與金額總計,不能只看流程成功。
- OneDrive 或 SharePoint 同步路徑可能造成檔案互動問題,正式執行前需測試。
Power Automate Desktop 可以把一份包含多個區域的 Excel 銷售主資料,自動拆成北區、中區、南區等多個活頁簿。這類流程適合每週或每月重複製作分區報表的人員,重點是先準備標準資料,再分段建立、測試與核對輸出。
這個自動拆分流程適合什麼情境?
當來源資料固定包含「區域」欄位,而你需要為每個區域建立獨立檔案時,就適合使用這個流程。它能減少人工篩選、複製、貼上與另存新檔,但不適合欄位名稱經常改變或區域值尚未標準化的資料。
示範情境
營運人員有一份完整銷售資料,欄位包含日期、銷售員、產品、區域與銷售金額。每月底要依五個區域分別建立活頁簿,交給各區主管檢查。人工處理容易漏列、貼錯工作表或使用錯誤檔名,因此改用桌面流程執行。
預期產出為五個 Excel 檔案,每個檔案只包含一個區域的紀錄。這是示範情境,不代表所有企業都使用相同欄位或分類規則。
前置條件要準備什麼?
開始建立流程前,應先準備軟體、測試資料及輸出資料夾。初次測試請使用資料複本,避免流程尚未穩定就覆寫正式檔案。
- Windows 電腦與可正常登入的 Power Automate Desktop。
- 可正常開啟 Excel 活頁簿的桌面版 Excel。
- 一份測試用主資料,例如
sales-master.xlsx。 - 一個空白輸出資料夾,例如
D:\PAD-Test\Output。 - Excel 第一列為唯一標題列,資料中間沒有整列空白。
- 「區域」欄位值已統一,例如只使用北區、中區、南區,不混用多餘空白。
建議測試資料欄位如下:
| 日期 | 銷售員 | 產品 | 區域 | 銷售金額 |
|---|---|---|---|---|
| 2026/09/01 | 王小明 | A001 | 北區 | 12000 |
| 2026/09/01 | 李小華 | B002 | 中區 | 8500 |
| 2026/09/02 | 陳小美 | C003 | 南區 | 6300 |
如何用 Power Automate Desktop 拆分 Excel?
新手應把流程分成八個可單獨驗證的階段。以下說明的是穩定的設計邏輯;不同版本的動作名稱與欄位位置可能略有差異,請以目前安裝版本為準。
① 📁 建立輸入與輸出路徑變數
- 開啟 Power Automate Desktop,建立新的桌面流程。
- 加入「設定變數」動作,建立
%SourceFile%,值為測試活頁簿完整路徑。 - 再建立
%OutputFolder%,值為輸出資料夾完整路徑。 - 加入「如果資料夾不存在」的判斷;若不存在,就使用建立資料夾動作產生它。
醒目提醒:不要把真實使用者名稱或桌面路徑寫死在多個動作中。集中放在變數內,未來搬到其他電腦時只需修改一次。
② 📗 啟動 Excel 並開啟主資料
- 從 Excel 動作群組拖入「啟動 Excel」。
- 選擇開啟現有文件,指定
%SourceFile%。 - 測試階段可先讓 Excel 視窗顯示,方便觀察;流程穩定後再評估是否隱藏。
- 保留動作產生的 Excel 執行個體變數,例如
%ExcelInstance%。
執行到這一步時,應該只開啟正確的測試活頁簿,而且沒有跳出修復或格式警告。
③ 📊 從工作表讀取完整資料表
- 加入讀取 Excel 工作表的動作。
- 讀取方式選擇工作表中已使用的儲存格範圍,或指定明確的資料範圍。
- 將第一列視為欄位名稱。
- 將結果儲存為資料表變數,例如
%SalesData%。
先在流程變數窗格查看 %SalesData.RowsCount% 或實際顯示的列數,確認沒有把空白列與重複標題列讀進來。
④ 🧹 建立不重複的區域清單
流程需要知道要輸出哪些區域。可從 %SalesData% 取出「區域」欄,再移除空白與重複值;若企業區域固定,也可先建立清單變數,例如北區、中區、南區、東區與海外區。
對新手而言,先使用固定清單較容易理解;正式流程若分類會增減,再改為從資料動態取得不重複值。
⑤ 🔁 逐一處理每個區域
- 加入「For each」動作。
- 迭代值指定區域清單,當前項目命名為
%CurrentRegion%。 - 在迴圈內加入資料表篩選邏輯,只保留區域等於
%CurrentRegion%的列。 - 將結果儲存為
%RegionData%。 - 若
%RegionData%沒有資料,就略過這一次迴圈,不建立空白檔案。
篩選前應先移除區域文字前後空白。否則「中區」與「中區 」可能產生不同結果,造成漏分或多出檔案。
⑥ 🆕 建立區域活頁簿並寫入資料
- 在迴圈內加入另一個「啟動 Excel」,選擇建立空白文件。
- 將新的執行個體命名為
%OutputExcel%,避免與來源活頁簿混淆。 - 使用「寫入 Excel 工作表」把
%RegionData%寫入 A1。 - 確認輸出包含欄位名稱;若讀寫動作沒有自動帶入標題,先建立標題列再寫入資料。
- 視需要調整欄寬,但不要把純美化放在核心資料驗證之前。
⑦ 💾 依區域命名、儲存並關閉
- 建立輸出檔名,例如
%CurrentRegion%_銷售資料.xlsx。 - 將
%OutputFolder%、路徑分隔符號與檔名組合成完整路徑。 - 使用「關閉 Excel」或儲存動作,將
%OutputExcel%儲存到完整路徑。 - 若檔案已存在,明確選擇覆寫、加日期時間或停止流程,不能讓結果取決於臨時跳出的視窗。
檔名若來自資料內容,應先排除 \ / : * ? " < > | 等 Windows 檔名不允許的字元。
⑧ 🔒 關閉來源活頁簿並記錄結果
- 迴圈結束後關閉
%ExcelInstance%。 - 因為來源檔沒有修改,選擇不儲存變更。
- 記錄完成時間、來源筆數、分類數量及輸出資料夾。
- 顯示完成訊息,讓使用者知道檔案位置與產出數量。
如何確認拆分結果正確?
流程顯示「完成」只代表動作沒有回報錯誤,不代表資料一定正確。正式使用前,至少執行下列五項核對。
① 🔢 比對輸出檔案數
來源資料有五種有效區域,輸出資料夾就應該有五個檔案。若多一個空白分類,先檢查來源欄位是否含空白、錯字或前後空格。
② ➕ 比對資料總筆數
把所有輸出檔的資料筆數相加,應等於主資料筆數。計算時不要把標題列算進紀錄筆數。
③ 💰 比對關鍵數值總計
加總所有區域檔案的銷售金額,再與來源主檔總計比較。筆數相同但金額不同,可能代表數值欄位被轉成文字或寫入時發生截斷。
④ 🔍 抽查第一筆與最後一筆
各選一個區域,核對輸出檔第一筆、最後一筆及任意中間紀錄,確認欄位沒有位移,日期及數字格式也沒有誤判。
⑤ 🔁 測試第二次執行
不清空輸出資料夾再執行一次,確認既有檔案的處理規則符合預期。若每次都多產生一批無法辨識的檔案,就要重新設計命名或覆寫邏輯。
常見錯誤與排除方式
Excel 檔案找不到或無法開啟
先顯示 %SourceFile% 的完整值,確認副檔名、空白與權限。若檔案位於 OneDrive 或 SharePoint 同步資料夾,Microsoft 提醒電腦版 Power Automate 透過 COM 操作時可能遇到相容性問題;可先建立本機複本處理,再同步回去。
輸出檔只有標題、沒有資料
檢查 %CurrentRegion% 與來源資料中的區域值是否完全一致,特別注意全形/半形空白、大小寫與隱藏字元。先把目前區域及篩選後筆數顯示出來,比直接重建流程更容易定位問題。
Excel 執行個體越開越多
通常是輸出活頁簿建立在迴圈內,但關閉動作放在迴圈外。應確保每次建立 %OutputExcel% 後,都在同一次迴圈中儲存並關閉。
執行中途失敗後檔案被鎖定
在錯誤處理區加入關閉 Excel 的動作,並記錄失敗的區域與檔案路徑。開發階段也要保留可見視窗,確認是否有未處理的另存新檔或覆寫對話方塊。
哪些情況需要改用其他方法?
如果只是依欄位產生彙總報表,不一定要拆成多個檔案,可先考慮樞紐分析或 Power Query。若資料量很大、來源來自資料庫或流程需要多人同時使用,應評估 Power BI、雲端流程或資料庫處理,而不是讓單一桌面流程承擔所有工作。
| 情境 | 較適合的方法 |
|---|---|
| 固定在同一個 Excel 活頁簿內處理 | VBA、Power Query 或 Office Scripts |
| 需要跨多個本機檔案與資料夾 | Power Automate Desktop |
| 資料量大且來源為資料庫 | 資料庫查詢、ETL 或 Power BI |
| 需要雲端排程與多人協作 | Power Automate 雲端流程 |
常見問題
不會寫程式也能完成 Excel 拆分嗎?
可以。Power Automate Desktop 提供預建 Excel、迴圈與檔案動作,但仍要先理解資料表、變數、篩選條件及錯誤處理。建議先用兩個區域與十筆測試資料練習。
區域數量改變後需要修改流程嗎?
如果流程使用固定區域清單,就要更新清單;若流程從主資料動態取得不重複區域,通常不需要,但仍要排除空白與不合法檔名字元。
可以保留原始活頁簿的格式嗎?
可以先準備格式範本,複製範本後再寫入各區域資料。單純把資料表寫進空白活頁簿,通常不會自動完整複製原始格式、公式或列印設定。
可以讓 Power Automate Desktop 執行現有 VBA 巨集嗎?
可以使用「執行 Excel 巨集」動作,但要確認活頁簿允許巨集、巨集名稱正確,並先檢查組織的巨集安全性政策。
延伸閱讀
- Power Automate 自動化實戰主題指南
- Excel VBA、Office Scripts 與 Power Automate Desktop 完整比較
- Microsoft Excel 職場必學技巧
- 倍增 Power Automate Desktop 自動化超能力課程
參考來源
- Microsoft Learn(繁體中文):電腦版 Power Automate 的 Excel 動作參考
- Microsoft Learn(繁體中文):桌面流程簡介
- Microsoft Learn(繁體中文):在 Excel 活頁簿上執行巨集
- 本文另依課程逐字稿與實務操作經驗整理;實際動作名稱、介面與帳號功能請以 Microsoft 最新文件為準。

