只要將每一列視為一行,把其中一個欄位貼到 List A、另一個欄位貼到 List B,再使用 Compare Two Lists,就能在單次本機執行中回傳五個標示清楚的區塊——共通項目、只出現在 A 的項目、只出現在 B 的項目、聯集,以及對稱差集——完全不需要撰寫任何公式,就能比較兩個 Excel 清單中的重複項目。Excel 內建的條件式格式設定、COUNTIF 以及 XLOOKUP 雖然能標示單一欄位內的相符項目,但要在不同活頁簿、CSV 匯出檔或供應商清單之間比較兩個欄位時,通常意味著必須建立輔助欄、將範圍複製到新工作表,再逐列檢視每一筆結果。本工具以直接的貼上並比較的工作流程取代這整套設定,且無論是 SKU 庫存、電子郵件訂閱名單、與會者名冊,或任何其他需要清理的、以行為基礎的識別碼清單,行為都完全一致。集合的語意遵循 MDN 的 JavaScript Set 參考文件以及 Python 內建集合類型所各自記錄的標準聯集與交集定義,因此標籤與大多數試算表教學內容一致。所有運算皆完全在您的瀏覽器中執行;任何輸入或結果都不會被上傳、儲存,或傳送至任何比較服務。

在兩個 Excel 清單之間,什麼才算重複
在兩個清單的比較中,重複代表同一個識別碼同時出現在兩個欄位中。本工具將每個去除空白後的非空行視為一個集合成員,因此 A2 儲存格中的內容會直接與 B2、B3 等儲存格中的內容進行比較。在進行任何比較之前,系統會將 CRLF 與單獨的 CR 行尾標準化為 LF、修剪每一行、捨棄空白列,並保留重複鍵第一次出現的拼寫。在預設的大小寫不敏感模式下,Apple 與 apple 會共用同一個成員鍵,並以工具最先看到的拼寫為準。若 Apple 先出現在 List A,則即使 List B 中只有 apple,共同結果與聯集結果仍會顯示 Apple。將切換鈕切換為大小寫敏感模式後,這兩行就會成為兩個各自獨立的成員,並產生各自的結果。
本工具僅比較經過標準化的字面行內容,因此有幾項常見於 Excel 的假設需要事先確認。它不會剖析 CSV、不會分割逗號、不會標準化 Unicode、不會對數值進行數值比較、不會解析 URL,也不會執行模糊比對。這代表 100 與 100.0 會被視為不同的成員,café 與 cafe 會被視為不同的成員,[email protected] 與 [email protected]/ 也會被視為不同的成員。若您的識別碼因草率的匯入作業而帶有尾端空白,修剪步驟會將其移除,但內部的空白字元會完全依照原始內容保留。建議在使用結果作為最終依據前,先檢視大小寫原則以及任何額外的標準化規則——例如使用 Remove Accents 工具去除變音符號,或另外以獨立步驟修正標點符號——尤其是當下游系統本身也帶有標準化規則時。
比較前該如何準備您的 Excel 清單
大多數「工具給我錯誤答案」的問題都來自試算表端,而非比較端。在貼上任何內容之前,請先完成下列 Excel 專屬的準備步驟。
- 確認兩個範圍。決定哪個 Excel 欄位或範圍是 List A、哪個是 List B。兩者可以來自同一張工作表、不同工作表、不同活頁簿,或一個活頁簿搭配一個 CSV。
- 從要貼上的資料中移除標題列。標題列只是另一行文字,因此若 List A 與 List B 中各有一個相同的標題,會被視為重複項目。請刪除標題、將資料排序使標題排除於範圍之外,或使用 Excel 的篩選功能僅複製資料列。
- 選擇性地合併各欄內部的重複項目。Excel 的「資料 > 移除重複」指令可先清理單一欄位。本工具也會自動去重,但事先清理能讓貼回工作表後的輸出更易於閱讀。
- 若識別碼對空白敏感,請修剪多餘空白。Excel 的 TRIM 函數或尋找與取代功能可標準化空白字元;本工具會修剪外部空白,但不會處理內部空白。
- 將每個欄位以純文字形式複製。選取 A 欄的儲存格,按下 Ctrl+C,然後貼到 List A 方塊中。對 B 欄重複相同步驟貼到 List B。請避免帶入公式、格式設定或合併儲存格參照;本工具只會看到字面上的行文字。
- 若比較涵蓋多個檔案,請先合併來源。當兩個清單分散於不同的匯出檔,而非兩個欄位時,請先依照 三步驟本機合併指南等本機工作流程將其合併成單一檔案,再繼續進行貼上並比較的步驟。
在 Compare Two Lists 中執行比較
兩個清單準備就緒後,比較本身是一套簡短且固定的流程。
- 在瀏覽器中開啟 Compare Two Lists。
- 將每行一個項目貼入 List A 方塊。這通常來自第一個範圍或工作表的 A 欄。
- 將每行一個項目貼入 List B 方塊。這通常來自第二個範圍、工作表、活頁簿或匯出檔的 A 欄。
- 選擇字母大小寫是否會影響成員判定。對於電子郵件清單、姓名以及大多數識別碼集合,請保持大小寫不敏感。對於 SKU 代碼、產品金鑰,或任何大小寫具有意義的資料,請開啟大小寫敏感模式。
- 點擊「Compare」並檢視五個標示清楚的區塊:In both、Only in A、Only in B、Union,以及 Either not both。
- 複製標示清楚的報告,並對照目的地系統的字面行原則進行驗證。Excel 會將每一行貼到單一欄位中的單一儲存格,因此結果行能乾淨地對應回試算表中的列,以便進行進一步的篩選、格式設定或 VLOOKUP 作業。
編輯任一文字方塊都會清除先前的結果,因此請先複製任何想保留的區塊,再調整輸入內容。若兩個標準化後的清單皆為空,或任一清單超過 50,000 行或一百萬個程式碼單位的上限,工具會回傳明確的錯誤,而非部分結果。
五個結果區塊的意義
這五個區塊對應到標準的集合運算,每一個回答的清理問題略有不同。下表摘要說明每個區塊的內容及其最佳使用時機。
| 區塊標籤 | 集合運算 | 包含內容 | 最佳用途 |
|---|---|---|---|
| In both | 交集 | 同時出現在兩個清單中的項目 | 找出真正的重複項目與共用客戶 |
| Only in A | 僅 A 的方向差集 | 出現在 A 但不在 B 中的項目 | 識別在 B 中缺少、以利移轉的資料記錄 |
| Only in B | 僅 B 的方向差集 | 出現在 B 但不在 A 中的項目 | 顯示新加入的項目或供應商新增項目 |
| Union | 聯集 | 兩個清單中所有不重複的項目 | 建立主清單並確認涵蓋範圍 |
| Either not both | 對稱差集 | 出現在 A 或 B 但不同時在兩者中的項目 | 稽核兩個來源之間出現的任何分歧 |
為了更具體說明,假設 List A 包含 apple、banana、pear,List B 包含 banana、peach。在大小寫不敏感模式下,共同結果為 banana,僅 A 的結果為 apple 與 pear,僅 B 的結果為 peach,聯集為 apple、banana、pear、peach,對稱差集為 apple、pear、peach。本工具不會排序,因此順序依首次出現的位置而定:A 中的值會先出現在聯集中,接著才是 B 中的新值。這種可預期的順序讓您能輕鬆地以肉眼對照原始 Excel 範圍來驗證結果。
將清理後的結果帶回 Excel
標示清楚的報告為純文字格式,並以 LF 分隔值,因此能乾淨地貼回 Excel 中,每筆結果佔一列。點擊任一區塊、複製、切換回您的活頁簿、點擊目的地儲存格,再按下 Ctrl+V。每行會落入單一欄位中的獨立儲存格,您可以在該處進行排序、篩選、標色,或將其饋回 VLOOKUP 與 XLOOKUP 公式。一個實用的模式是將「Only in A」貼到 List A 旁邊的新欄位,以便標示出在 B 中缺少的資料列;或是將「Only in B」貼到 List B 旁邊,以標記在第二個來源中新加入的項目。
若您也需要保留區塊標籤與對應的值,請改用「Copy all results」。這會以固定順序產生五個大寫標題——In both、Only in A、Only in B、Union、Either not both——每個標題下方接著以 LF 分隔的值。空白的區塊會包含一個破折號,使缺席狀態在貼回 Excel 後仍清楚可見。剪貼簿的成功訊息僅在寫入確認後才會顯示;若瀏覽器拒絕剪貼簿存取,工具會改為回傳手動複製指示,而不會假裝複製成功。
需要事先考量的限制與邊緣情況
本工具刻意保持範圍精簡,以維持可預測的行為。每個輸入以一百萬個 UTF-16 程式碼單位以及 50,000 列為上限;這兩項限制可確保分割、對應運算、算繪以及剪貼簿輸出都能保持快速。本工具不進行排序,因此輸出順序雖然穩定,但反映的是 List A 中首次出現的順序,再加上 List B 中的新項目——這在您需要保留時序線索時相當實用,但在您需要字母排序輸出時則較不實用(若此點很重要,請先使用文字排序工具)。它並非資料庫連接、試算表合併工具、差異檢視器、模糊去重工具、安全存取控制驗證器,或對帳服務,且不具備別名、等效網域、Unicode 易混淆字元、數值範圍或商業身分識別的相關知識。
在依賴結果前,務必檢查的實務邊緣情況包括:從 Windows Excel 與 Mac Excel 複製時混合的行尾(會自動標準化)、識別碼字串中的尾端逗號(會以字面保留)、數值識別碼的前導零(由於行內容不會被剖析為數字,因此會予以保留),以及包含字面「null」字樣或看似空白的內部空白字元的識別碼(除非經修剪去除,否則會被視為真實成員)。若您的下游 Excel 工作表使用 SUMIF 或 COUNTIF 等函數來計算成員數,請記住本工具的輸出為每行一個成員,因此每一行會對應到一個儲存格、一列,以及任何標準 Excel 公式中的一個數值或文字計數。
如需更深入的說明,請參閱 在 Excel 中擷取電子郵件網域:公式與更乾淨的清單。