依據共用欄位合併 Excel 檔案意味著使用 VLOOKUP、XLOOKUP、Power Query 或 ETL 流程——這是一項資料列層級的對齊工作,工作表堆疊工具無法安全地推斷出來。「依據欄位合併 Excel 檔案」這個說法通常描述的是以某個鍵(例如 EmployeeID 或 OrderID)將兩個表格對齊,並產生一個資料列在兩個輸入之間相符的單一合併表格。Merge Excel Files 解決的是另一個不同且更狹隘的問題:它會將二到十個本機 .xlsx 活頁簿組合成一個可下載的活頁簿,同時將每個來源工作表保留為各自標示清楚的索引標籤。不會附加任何資料列、不會對齊標頭,也不會推斷任何業務綱要。儲存的儲存格值會在瀏覽器中讀取,並以來源活頁簿與工作表名稱作為前綴,重新寫入為新的工作表,讓重複的內容保持區隔清楚。本文將說明何時該使用以欄位為基礎的合併、何時堆疊工作表就已足夠,以及如何在可預期的限制下執行本機合併。

「依欄位合併 Excel 檔案」通常代表什麼
當試算表作者搜尋以欄位為基礎的合併時,他們通常想像的是兩個結構相容的表格——例如 Customers 表格與 Orders 表格——它們共用一個鍵欄位(例如 CustomerID)。目標是資料列層級的對齊:將第二個表格中的欄位拉進第一個表格中相符的資料列,或產生一個長格式的資料集,將每筆訂單與對應的客戶記錄連接起來。Excel 內建了幾種成熟的做法來處理這個任務。
VLOOKUP 和較新的 XLOOKUP 會從查詢範圍中回傳單一欄位,這對臨時性的合併來說堪用,但當需要從次要表格帶回多個欄位到主要表格時,就會變得笨拙。INDEX/MATCH 提供同樣的結果,但對左側查詢與欄位位置有更高的彈性。Power Query(取得與轉換)提供一個專屬的「合併查詢」步驟,讓你選擇合併鍵、合併種類(左外部合併、右外部合併、內部合併、反合併、完整合併),以及要帶過來的欄位,並在需要重新整理時將結果具體化為新查詢。在 Excel 之外,Python 的 pandas、SQL JOIN 與專門的 ETL 工具在較大的資料集上扮演相同的角色。
所有這些工作流程都假定有共用的鍵、兩個表格之間已知的關聯性,以及目標綱要。檔案層級的合併工具無法得知這些資訊。要求工作表合併工具在未告知欄位的情況下「依欄位合併」,無異於猜測——而在生產資料集中猜測,是不該發揮創意的地方。這就是為什麼 Merge Excel Files 刻意保持明確:它只是打包活頁簿,並不會合併表格。
當堆疊工作表才是真正的任務
有時候正確的做法根本不是資料列層級的合併。典型的情境是一個包含每月銷售活頁簿的資料夾——January.xlsx、February.xlsx、March.xlsx——每個都帶有相同的 Sales 工作表,分析師希望並排檢視。另一個情境是跨區域交接:每個區域一個活頁簿,各自帶有 Revenue、Costs 與 Headcount 索引標籤。還有一種情境是開發人員從建置流程匯出了十個 .xlsx 檔案,需要一份單一的封存活頁簿來進行程式碼審查,而不必重建任何公式。
在上述每一種情況中,欄位並沒有「對應」——這些活頁簿彼此獨立,使用者只是希望將它們蒐集到單一檔案中,並保留可追溯的來源。當以欄位為基礎的合併會造成誤導時,堆疊工作表也是安全的選擇:如果兩個工作表剛好共用「ID」這個標頭,卻儲存了不同的實體,VLOOKUP 會在無聲無息中產生錯誤的對應。將每個來源工作表保留為各自的索引標籤,能保留資料來源的可追溯性,並讓讀者自行決定下游該如何組合。
| 情境 | 合適的工具類別 | 原因 |
|---|---|---|
| 將每月的 .xlsx 報表合併為單一封存檔 | 工作表堆疊合併 | 獨立的工作表,沒有共用鍵,可追溯性很重要 |
| 依 CustomerID 將 Customer 欄位拉進 Orders 表格 | VLOOKUP / XLOOKUP / Power Query | 以已知鍵進行的資料列層級合併 |
| 堆疊 CI 工作產出的十個 .xlsx 匯出檔以供審查 | 工作表堆疊合併 | 不假設綱要;不保留任何公式 |
| 將 Orders 資料列與 Customer 資料列合併為單一長表格 | Power Query 合併查詢或 pandas concat | 綱要刻意共用,資料列依標頭堆疊 |
| 將一份易讀的活頁簿交給非技術利害關係人 | 工作表堆疊合併 | 易於瀏覽,加上前綴的索引標籤本身就具有說明效果 |
本機合併工具的運作方式
Merge Excel Files 完全在瀏覽器中執行。頁面會從每個選定的活頁簿讀取儲存的工作表值,並根據來源活頁簿與工作表指派一個相容於 Excel 的唯一工作表名稱,然後將一個全新的、僅含資料的 .xlsx 檔案寫入並提供下載。不會上傳任何內容到伺服器、不需要帳號、不會呼叫任何 API,裝置上的原始檔案也不會被修改。此工具不會產生雲端分享連結,也不會在使用者自身的瀏覽器工作階段之外保留任何資料。
輸出刻意只包含資料。該工具讀取的是 Excel 儲存活頁簿時寫入的儲存格值——也就是 Power Query 匯入工作表時看到的同一批位元組——並從這些值產生新的活頁簿。它不會計算公式、執行巨集、開啟超連結、重新整理外部連線,或檢查內嵌內容。公式、圖表、影像、註解、條件式規則、命名範圍、驗證、隱藏工作表狀態、列印設定、保護、合併儲存格的版面配置,以及活頁簿中繼資料都不會包含在輸出中。公式的快取儲存值可能會以一般資料的形式保留下來,但該公式本身在 下載的活頁簿中並不構成計算合約。當上述任何呈現功能具有意義時,請保留來源活頁簿。
合併 2 到 10 個本機 .xlsx 檔案
- 選擇二到十個本機 .xlsx 活頁簿,合併大小不得超過 20 MB。請依希望被處理的順序選取檔案——結果中的工作表順序會遵循此順序,再依每個活頁簿內部原本的工作表順序排列。
- 確認每個來源工作表都應該保留為各自的僅含資料的索引標籤。請勿預期資料列會被附加、標頭會被對齊;此工具會將獨立的工作表收集到單一活頁簿中,並維持其原樣。
- 選擇合併活頁簿。瀏覽器會將每個輸入驗證為經典的單片磁碟 OOXML ZIP 套件——最多 2,000 個項目,且每個檔案宣告的展開資料不得超過 50 MB——然後在本機讀取儲存的值。
- 下載產生的 .xlsx 檔案。合併結果最多可包含 50 個工作表,每個來源工作表的儲存格數量上限受定址儲存格限制,產生的檔案大小上限為 20 MB。
- 在目的試算表程式中開啟下載檔案一次。檢查加上前綴的索引標籤名稱——瀏覽器會將來源活頁簿與工作表名稱以分隔符號結合、移除不安全的字元、強制遵守 Excel 的工作表名稱長度限制,並在名稱可能衝突時加上數字後綴。
- 在分享合併後的活頁簿之前,先抽查幾個儲存值與來源檔案進行比對。這是抓出選檔錯誤或輸入損毀的最快方式。
限制、錯誤,以及輸出工作表的命名方式
此工具刻意設有限制,好讓單一瀏覽器分頁能可預期地完成作業。輸入必須是經典、未加密、未含巨集的 .xlsx 套件。舊版 .xls 檔案、含巨集的 .xlsm 套件、加密的活頁簿、多片磁碟的 ZIP、格式錯誤的 ZIP、Zip64 套件、超大套件,或任何超過個別檔案或合併上限的套件,都會以錯誤中止,而不會產生部分合併結果。
命名規則是相當值得了解的實用特性之一。兩個分別命名為 Team.xlsx 與 Quarter.xlsx 的活頁簿,若各自包含一個名為 Data 的工作表,並不會默默互相覆蓋。瀏覽器會從來源活頁簿名稱與來源工作表名稱衍生出每個輸出索引標籤名稱,加上分隔符號、移除工作表名稱中 Excel 禁止的字元、修剪至 Excel 的長度限制,並在結果名稱可能衝突時加上數字後綴。這帶來了可追溯的來源依據——你可以一眼看出每個索引標籤來自哪個活頁簿,不必再次開啟來源檔案。
| 屬性 | 數值 |
|---|---|
| 最少輸入檔案數 | 2 |
| 最多輸入檔案數 | 10 |
| 合併輸入大小上限 | 20 MB |
| 每個檔案的項目數上限(ZIP 項目) | 2,000 |
| 每個檔案的展開資料上限 | 50 MB |
| 最多輸出工作表數 | 50 |
| 最大輸出檔案大小 | 20 MB |
| 支援的輸入格式 | 經典、未加密、未含巨集的 .xlsx |
| 輸出格式 | 僅含資料的 .xlsx |
| 處理位置 | 僅限瀏覽器——不上傳、不呼叫 API |
如果目的試算表應用程式顯示出陌生的索引標籤名稱,這通常是瀏覽器的衝突處理後綴在發揮作用。如果索引標籤完全消失,最可能的原因是其中一個來源檔案未通過個別檔案的 ZIP 檢查,導致合併在寫入輸出前中止。遇到這種情況,請修復或重新匯出該來源活頁簿,並以較少的檔案數重新執行合併。
不在本工具範圍內的欄位對應工作流程
當真正的任務是以欄位為基礎的合併時,請使用適合該工作的工具。Power Query 的合併查詢步驟是 Excel 內部最容易找到的選項:將兩個表格匯入為查詢、開啟其中之一、點選合併查詢、在每個表格中挑選合併鍵欄位、選擇合併種類,並決定要從次要表格帶過來哪些欄位。結果是一個新查詢,會在重新整理時具體化為合併後的表格,不需維護任何 VLOOKUP 公式。
對於想以程式碼處理相同工作的開發人員,pandas 提供 DataFrame.merge,帶有明確的 on、left_on、right_on 與 how 參數,能乾淨地對應到 SQL 合併語意。當來源資料已經在資料庫中時,SQL 是最自然的選擇。XLOOKUP 與 VLOOKUP 適用於現有活頁簿中的臨時合併;當合併必須在數十個活頁簿之間重現,或需要對合併正確性進行稽核時,它們並不合適。
Merge Excel Files 適合用在希望將獨立的工作表打包成單一易讀的封存檔,並保留清楚的來源依據、在瀏覽器中處理且無需上傳任何內容的情境。當需求是依共用鍵對齊表格時,它無法取代 VLOOKUP、XLOOKUP、Power Query 或 ETL 流程。
Auditing the Merged Workbook Before Sharing
A short verification pass is worth the few minutes it takes. Open the merged workbook in the destination spreadsheet app, count the tabs against the expected total (the sum of worksheets across the selected workbooks, capped at 50), and confirm the prefixed tab names. Pull up two or three representative cells and compare them against the source workbook — the output is written from the stored cell values read from each source workbook, without formula recalculation.
If the merged workbook is part of a handoff to a stakeholder, leave a short note in your own documentation explaining that the file is data-only: charts, conditional formatting, formulas, validation, and macro logic live in the original workbooks. Stakeholders who open the file expecting pivot-table refreshes or live formulas will otherwise assume the output is a full-fidelity clone. For internal review pipelines, this is rarely a problem because reviewers care about the data, not the presentation.
For dependable use, start with a small representative set — two or three files — download it, and inspect the prefixed tab names and stored values before scaling up to the full bundle. That habit catches a wrong file selection or a corrupted input at the cheapest possible moment, and it gives you a known-good baseline to compare the larger run against.
If you're weighing options, How to Join Two Excel Sheets in Excel: Methods Compared covers this in detail.
If you're weighing options, How to Get an Excel Column by Its Number and Export It covers this in detail.