SoftOrbits 的Excel 試算表比對與合併工具在同一個視窗中兼具 Excel 檔案合併與比對功能。它先把整個資料夾的活頁簿合併成一個檔案,再顯示同一張表格兩個版本之間的變更。檔案由程式本身讀取,執行工作的電腦上不必安裝 Excel。
下載試算表比對與合併工具,把活頁簿拖曳到清單中,或加入整個資料夾。CSV 匯出檔可以和活頁簿放在同一批次中。清單中設定的順序就是寫入的順序。
「依順序」會把第 1 欄放在第 1 欄下方。「依標題」則依欄位標題而不是位置來比對欄位。欄位不同的檔案仍會落在正確位置,結果會保留所有檔案中出現過的每一欄。
將舊檔放在左側,新檔放在右側。兩個表格會同步捲動。變更的值用一種顏色,變更的公式用另一種顏色,新增或消失的列也各有自己的顏色。圖例就在表格旁邊。
將輸出檔命名為 .xlsx 或 .csv,副檔名決定格式。差異可以匯出為填上底色的 XLSX、可供指令碼讀取的 CSV 清單,或可列印的 HTML 或 PDF 報告。
根據 Microsoft 的文件,Power Query 只有在檔案具有「相同的結構和相同的副檔名」時才能合併。在 r/excel 上,有位使用者花了大約三個小時,試圖合併兩個標題略有不同的檔案。試算表比對與合併工具不需要這類設定。加入檔案,選擇依順序或依標題,然後按下按鈕即可。
根據 Microsoft 的支援頁面,Excel 只有在 Microsoft 365 Apps 企業版中才附有內建的試算表比對 ("Spreadsheet Compare")。個人版、家用版、商務版和專業版訂閱都不包含此功能,而且 Inquire 增益集必須手動啟用。本程式可搭配任何 Office 版本執行,電腦上沒有 Office 也能使用。
瀏覽器比對工具會要求您上傳檔案。若是薪資數字或客戶價目表,在許多公司光這一點就沒得談了。試算表比對與合併工具在您的電腦上執行,將輸出寫在來源檔案旁邊,不上傳任何東西,也不需要帳號。
比對檢視會標示變更的值、公式和格式,以及新增或消失的列、新增或移除的欄,以及新增或移除的工作表。九個類別都有名稱並分別計數,可用「上一個」和「下一個」逐一瀏覽。
依標題比對時,會建立批次中所有標題的聯集,並統一大小寫、去除前後空格。標題為空的欄位依位置比對。同一個檔案中出現兩次的標題會保留為兩欄,因為合併它們會把兩種不同的東西混在一起。
無法讀取的活頁簿會在報告中單獨列一行,批次中的其他檔案則繼續處理。Excel 每張工作表最多允許 1,048,576 列,因此會超過此上限的合併會停止並顯示訊息。使用 1904 日期系統的活頁簿會在讀入時轉換,避免日期偏移四年。
五十個各有 10,000 列的活頁簿,8.64 秒就能合併成 500,001 列,記憶體峰值為 220 MB。隨著檔案增加,記憶體用量呈線性成長。一對各 100,000 列的工作表,6.56 秒即可比對完成。這些數字來自我們自己的測試。
XLSX 匯出檔保留底色,並把圖例放在獨立的工作表中,因此沒有本程式的人也能在 Excel 中開啟。CSV 匯出檔不論介面語言為何,都使用固定的英文標題:Sheet、RowLeft、RowRight、Cell、OldValue、NewValue、Type。也可產生用於列印的 HTML 或 PDF 報告。
由列數或某一欄的值決定在哪裡分割。每個部分都會重複標題列,檔名中的序號會補零,讓檔案總管依 01、02、10 而不是 1、10、2 的順序排列,程式也不會讓分割出的檔案覆寫正在分割的原始檔案。
月底一到,就有十幾份分公司匯出檔,而且格式各不相同。把它們合併成一張工作表來做樞紐分析,再將本月價目表與上個月的比對,只看有變更的部分。
CRM 和倉儲系統分批匯出資料,一次四十個 CSV 檔,分隔符號則由來源系統自行決定。把它們合併,或者反過來,將主表分割成每個分公司一個檔案後再寄出。
兩個設定活頁簿,一個來自 UAT,一個來自正式環境。它們有共用的鍵值欄,依此對齊列,差異比對幾秒內就有答案。接著,差異的 CSV 清單可以直接交給指令碼處理。
只會寫入 .xlsx 和 .csv。不讀取舊的二進位格式,請先在任何試算表程式中將其另存為 .xlsx。