合併欄位相同的 Excel 檔案時,可以將每個來源工作表保留為各自命名的分頁,並下載成單一 .xlsx 活頁簿,整個過程在本地端完成,只處理資料,保留資料來源的可追溯性,既不需要上傳檔案,也不會重新計算公式,或附加來自無關資料表的列。當多個活頁簿以相同欄位儲存資料時,最直覺的做法是把每個範圍複製到同一張主表中,然後把記錄垂直堆疊起來。當每一列真的屬於同一個邏輯資料表時,這種做法是可行的;但只要其中一個活頁簿是每日匯出、一個是每週摘要、一個是各地區的彙總,堆疊起來就會立刻出錯:它會產生一個像是「科學怪人」的資料表,其中的列從未共用同一個定義。「合併」這個詞較安全的詮釋,是將各個獨立的工作表集中到同一個活頁簿中,在每個分頁前加上來源活頁簿的前綴,讓下游使用者自行決定要如何組合、以何種方式組合。Merge Excel Files 瀏覽器工具正是採用這種詮釋:它會讀取兩個到十個本地端 .xlsx 活頁簿中已儲存的儲存格值,並寫入一個全新的純資料活頁簿,每個來源工作表都會成為標示清楚的分頁,整個過程都不需要離開瀏覽器。

how to merge excel files with same columns
如何在本地合併欄位相同的 Excel 檔案

「合併相同欄位的活頁簿」實際上的意義

「合併」是試算表詞彙中意義最被過度使用的動詞之一。在 Excel 自己的介面裡,這個詞指的是一種簡報操作:將多個儲存格合併成一個顯示用的儲存格;在 Power Query 中,它指的是將欄位相同的資料表的列附加起來;在日常對話中,它則是指把每個工作表塞進同一份交付檔。這三種概念解決三種不同的問題,產生三種不同的輸出,所以當你決定要合併時,首要任務是先指明你實際需要的是哪一種。

如果你的目標是把每日銷售檔、每週銷售檔和各地區銷售檔組合成一套連續的記錄集,你想要的不是工作表合併,而是列層級的附加,最好透過 Power Query 或資料庫載入來完成。如果你的目標是跨檔案對齊相同的欄位標頭並調和差異,你需要的是欄位比對,這本身就是一個需要小心處理的工作流程。然而,如果你的目標只是不想再同時處理十個視窗中的十個分頁,把這些分頁集中到同一個活頁簿裡以便檢視,並保留每個分頁來自哪個特定來源檔的事實,那麼工作表合併就是合適的工具。Merge Excel Files 工具正是為這第三種情況所設計。

合併欄位相同的 Excel 檔案:本地端工作流程

  1. 在一般的桌面瀏覽器中開啟 Merge Excel Files 頁面,準備兩個到十個本地端的 .xlsx 活頁簿,其合併後的大小不超過 20 MB。僅接受傳統的 OOXML ZIP;舊版 .xls、啟用巨集的 .xlsm、加密檔或多磁碟套件會在任何內容被讀取之前就被拒絕。
  2. 依照你希望被處理的順序選擇這些活頁簿。順序很重要,因為結果分頁的順序會依照選取順序,接著是各活頁簿內原本的工作表順序。
  3. 確認每個來源工作表在合併後的活頁簿中應該各自保留為獨立的純資料分頁。這是明確的預期行為:並沒有一個「堆疊列」的勾選框,因為那是屬於列合併工具處理的不同操作。
  4. 選擇合併動作。瀏覽器會將每個被選取的檔案驗證為具有上限、條目不超過 2,000 筆、宣告的展開資料不超過 50 MB 的傳統 .xlsx ZIP,然後在本地讀取已儲存的儲存格值。
  5. 合併完成後下載產生的 .xlsx 檔案。新的活頁簿最多可包含 50 個工作表,且本身上限為 20 MB,因此在一般機器上這個操作具有可預期的邊界。
  6. 在目的地的試算表應用程式中開啟結果,並檢查加上前綴的工作表名稱。每個分頁名稱會以分隔符組合來源活頁簿名稱與來源工作表名稱,並去除不安全字元,在產生名稱會發生衝突時附加數字後綴。

為什麼加上前綴的工作表名稱對可追溯性很重要

合併後的活頁簿是否值得信賴,完全取決於它的分頁名稱。如果兩個來源活頁簿都包含一個名為「Data」的工作表,一個天真的聯集操作會悄悄覆寫其中一個,或者更糟——產生兩個標籤完全相同的分頁,讓下游工具無法區分。Merge Excel Files 工具會從來源活頁簿加上來源工作表名稱,並以分隔符連接,以此衍生出每個輸出的分頁名稱。來自 Team.xlsx 的 Data 工作表會變成分頁,名稱設計上讓其來源一目了然,而來自 Quarter.xlsx 的 Data 工作表則會成為明顯不同的分頁,而不會與之發生衝突。如果去除不安全字元並強制套用 Excel 工作表名稱長度限制後,衍生出的名稱仍然衝突,工具會附加數字後綴,以確保名稱保持唯一。

當你開啟合併後的檔案時,所帶來的可見好處是:你可以立即回答兩個問題——這個資料是從哪裡來的,以及它在原活頁簿中的哪個位置?這個來源可追溯性會跟著檔案一起傳遞,當合併後的活頁簿交付給審閱者、稽核人員或從未看過來源檔的隊友時,這件事就格外重要。

合併後的活頁簿保留與刻意捨棄了什麼

合併後的活頁簿刻意設計為純資料。瀏覽器會讀取已儲存的儲存格值,並依這些值寫入新的工作表;它不會計算公式、執行巨集、開啟超連結、重新整理外部連線、執行指令稿,或檢查嵌入的內容。這種狹隘的範圍正是讓結果可預期的原因:你完全清楚自己會得到什麼,也清楚原始檔案完全未被動過。下表總結了這個契約。

面向會帶入合併後的活頁簿不會帶入合併後的活頁簿
已儲存的儲存格值會,包含公式的快取已儲存值,以一般資料的形式公式運算式本身並非一項計算契約
工作表結構依選取順序再依原本順序,為每個來源工作表輸出一個分頁隱藏工作表狀態、分頁顏色與保護設定
工作表名稱以來源為基礎,衝突時附加分隔符與數字後綴當原始外觀名稱會發生衝突或包含不安全字元時,就不會採用
儲存格格式無數值格式、字型、顏色、框線、條件式規則、合併儲存格版面
欄與列的版面不保留任何原始幾何配置欄寬、列高、凍結窗格、列印設定、命名範圍
嵌入內容無圖表、影像、註解、執行緒註解、超連結、資料驗證、篩選
活頁簿層級的功能無巨集、外部連線、活頁簿中繼資料、保護
磁碟上的來源檔完全不動不會以任何方式被修改

只要被捨棄的功能帶有重要意義,就請保留原始活頁簿。合併後的檔案是一種結構化的本地端交付物,並不是宣稱多個活頁簿共用同一個相容的資料表設計。

限制、驗證檢查與可預期的失敗模式

這個合併作業設有邊界,以便在一般瀏覽器上行為可預期。你可以選擇兩個到十個非空白的 .xlsx 檔案,其合併大小不超過 20 MB。在讀取任何活頁簿內容之前,每個檔案必須通過傳統單磁碟 OOXML ZIP 檢查:條目不超過 2,000 筆,宣告的展開資料不超過 50 MB。合併結果最多可包含 50 個工作表,每個來源工作表受到定址儲存格上限的限制,且產生的 .xlsx 檔案本身也上限為 20 MB。

不符合這些規則的檔案會停止處理並回傳明確的錯誤,而不是產生一份不完整的合併結果。被拒絕的類別包括 Zip64 封存檔、加密活頁簿、多磁碟套件、毀損的檔案、舊版 .xls 二進位檔、啟用巨集的 .xlsm 活頁簿、超過大小限制的檔案,以及任何會讓結果超出其自身上限的輸入。為了穩定使用,建議先從少量具代表性的檔案組開始,下載合併後的檔案,並在目的地試算表程式中開啟一次。檢查加上前綴的分頁名稱與已儲存的值,再進行分享;這個單一步驟的驗證,正是把「工具顯示成功」轉化為「交付內容正確」的關鍵。

這個方法不適合用於哪些工作

欄位相同的活頁簿並不一定適合放到同一個合併後的檔案中。如果你需要在檔案之間對齊相同的欄位標頭並調和差異,你正在進行的是欄位比對,這屬於逐列對接的問題。如果你需要在合併後移除重複的列,那就是去重。如果你需要將結構相同的資料表中的記錄堆疊成一張主表,那就是列附加,最適合在 Power Query、資料庫載入或專門的列合併工具中處理。對於真正任務是上述其中一項鄰接操作的讀者,瀏覽器端的欄位比對工作流程涵蓋了一條不同的決策路徑,並採用相同的本地檔案姿態。本工具不會修復損壞的活頁簿、不會保留視覺化報表、不會轉換舊版 Excel 格式、不會選取工作表子集、不會移除重複的分頁,也不會驗證商業匯入。它提供一條明確、設有邊界的本地端路徑,將分散的 Excel 活頁簿轉為單一純資料、具可追溯工作表名稱的活頁簿——對於你可能想到的「合併」的其他定義,它都不介入。