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

how to merge excel files based on column
如何在瀏覽器中依欄位合併 Excel 檔案

「依欄位合併 Excel 檔案」通常代表什麼

當試算表作者搜尋以欄位為基礎的合併時,他們通常想像的是兩個結構相容的資料表——例如,一個 Customers 資料表和一個 Orders 資料表——共享一個關鍵欄位,例如 CustomerID。目標是資料列層級的對齊:從第二個資料表將欄位拉到第一個資料表的對應資料列,或產生一個長格式資料集,將每筆訂單與其客戶記錄進行連結。Excel 提供了幾種成熟的方式來處理這項任務。

VLOOKUP 和較新的 XLOOKUP 會從查找範圍中回傳單一欄位,這適用於一次性的合併,但當需要將次要資料表的多個欄位對應到主要資料表時,就會變得笨拙。INDEX/MATCH 提供相同的結果,但在左側查找和欄位位置方面更具彈性。Power Query(取得與轉換)提供一個專屬的「合併查詢」步驟,可讓您選擇合併鍵、合併類型(左外部、右外部、內部、反向、完全),以及要帶入的欄位,然後將結果具體化為一個可依需求重新整理的新查詢。在 Excel 之外,Python 的 pandas、SQL JOIN 和專用的 ETL 工具可在較大的資料集上達成相同目的。

所有這些工作流程都假設有一個共享鍵、兩個資料表之間已知的關聯性,以及一個目標綱要。檔案層級的合併工具無法得知上述任何一項。在不告知欄位的情況下,要求工作表合併工具「根據某個欄位進行合併」就是一種猜測——而在正式資料集中猜測,正是最不該發揮創意的地方。這就是為什麼合併 Excel 檔案刻意保持明確:它只會打包活頁簿,而不會合併資料表。

何時堆疊工作表才是真正的任務

有時候正確的做法根本不是資料列層級的合併。一個典型的情境是一個資料夾中裝著每月銷售活頁簿——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綱要有意共用,資料列依標頭堆疊
將一個可讀的活頁簿交付給非技術利害關係人工作表堆疊合併易於瀏覽,加上前綴的分頁具有自我說明性

本機合併工具的運作方式

合併 Excel 檔案完全在瀏覽器中執行。頁面會從每個選定的活頁簿讀取儲存的工作表值,根據來源活頁簿和工作表指派一個 Excel 安全的工作表名稱,然後將一個全新的、僅含資料的 .xlsx 檔案作為下載產出。不會上傳任何內容到伺服器,不需要帳號,不會進行任何 API 呼叫,裝置上的原始檔案也不會被修改。該工具不會產生雲端分享連結,也不會在使用者自己的瀏覽器工作階段之外保留任何資料。

輸出刻意僅含資料。該工具會讀取 Excel 在儲存活頁簿時寫入的儲存格值——也就是 Power Query 匯入工作表時所見的相同位元組——並從這些值產生新的活頁簿。它不會計算公式、執行巨集、開啟超連結、重新整理外部連線,或檢查嵌入的內容。公式、圖表、影像、註解、條件式規則、命名範圍、驗證、隱藏工作表狀態、列印設定、保護、合併儲存格的版面配置,以及活頁簿中繼資料都不會包含在輸出中。公式的快取儲存值可能會以一般資料的形式保留下來,但公式本身在已下載的活頁簿中並非計算合約。當上述任何呈現功能具有意義時,請保留來源活頁簿。

合併 2 到 10 個本機 .xlsx 檔案

  1. 選擇兩到十個本機 .xlsx 活頁簿,其總大小不超過 20 MB。依照您希望它們被處理的順序選取檔案——結果中的工作表順序會依此順序,然後是每個活頁簿內部原有的工作表順序。
  2. 確認每個來源工作表都應保留為各自的僅含資料分頁。不要預期資料列會被附加或標頭會被對齊;該工具會將獨立的工作表收集到單一活頁簿中,並維持它們的獨立狀態。
  3. 選擇合併活頁簿。瀏覽器會將每個輸入驗證為一個經典的單一磁碟 OOXML ZIP 套件——每個檔案最多 2,000 個項目,宣告的展開資料不超過 50 MB——然後在本機讀取儲存的值。
  4. 下載產生的 .xlsx 檔案。合併結果最多可包含 50 個工作表,每個來源工作表受定址儲存格上限的限制,而產生的檔案上限為 20 MB。
  5. 在目的端試算表程式中開啟下載檔案一次。檢查加上前綴的分頁名稱——瀏覽器會將來源活頁簿和工作表名稱以分隔符號結合,移除不安全的字元,強制套用 Excel 的工作表名稱長度限制,並在名稱可能衝突時加上數字後綴。
  6. 在分享合併後的活頁簿之前,抽查幾個儲存的值並與來源檔案進行比對。這是抓取選檔錯誤或損毀輸入最快速的方法。

限制、錯誤,以及輸出工作表的命名方式

該工具刻意設定上限,以便單一瀏覽器分頁能可預期地完成操作。輸入必須為經典、未加密且未啟用巨集的 .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 適用於現有活頁簿內的一次性合併;當合併必須在數十個活頁簿之間可重現,或需要對合併正確性進行稽核時,它們就不是合適的工具。

當目標是將獨立的工作表打包成一個單一、可讀的封存檔,並保留清楚的來源追蹤路徑,且全程在瀏覽器中處理、不上傳任何資料時,合併 Excel 檔案就是合適的工具。它無法取代 VLOOKUP、XLOOKUP、Power Query 或 ETL 流程,當需求是在共享鍵上對齊資料表時。

在分享合併後的工作簿之前進行稽核

短短幾分鐘的驗證流程絕對值得。請在目的端的試算表應用程式中開啟合併後的工作簿,比對分頁數量與預期總數(所選工作簿中各工作表的總和,上限為 50),並確認加上前綴詞的分頁名稱。隨意挑選兩到三個具有代表性的儲存格,與來源工作簿進行比對——輸出內容是直接從各來源工作簿讀取的儲存格值寫入,並未經過公式重新計算。

如果合併後的工作簿是要交付給利害關係人,請在你自己的文件中留下一段簡短說明,解釋此檔案僅含資料:圖表、設定格式化的條件、公式、驗證規則與巨集邏輯皆保留在原始工作簿中。否則,當利害關係人開啟檔案、預期可以重新整理樞紐分析表或看到即時公式時,可能會誤以為輸出內容是完整且完全等同的複製品。對於內部審查流程而言,這通常不是問題,因為審查者重視的是資料本身,而非呈現方式。

為了確保使用上穩妥無誤,請先從一組小型且具代表性的工作簿開始——兩到三個檔案即可——下載後檢查加上前綴詞的分頁名稱與儲存值,再擴大規模處理完整的工作簿組合。這個習慣能夠在最省力的時機點及早發現檔案選錯或輸入檔案損毀等問題,同時也能為你建立一個已知良好的基準,方便與後續較大規模的執行結果進行比對。