在 Excel 中比對兩個清單是否相符,無需撰寫公式,只要將每個欄位匯出為每行一個項目,再透過一個工具在本機執行比對,即可一次取得五種標準集合視圖。輸出結果是一份帶有標籤的報告,涵蓋同時出現在兩個清單中的項目、各自清單中獨有的項目,以及完整合併的聯集,所有項目皆根據您選取的區分大小寫政策,從每一行的純文字計算而來。由於比對過程從不離開瀏覽器,客戶、員工或產品識別資訊都能維持隱私。對於只需要查看相符項目、不想學習 VLOOKUP、INDEX/MATCH、COUNTIF 或 XLOOKUP 的 Excel 使用者而言,這種做法能將試算表問題轉化為簡單的貼上操作。一旦 List A 和 List B 各包含一筆經過修剪且非空白的行,比對規則即為逐行相等:只有當某一行的鍵值在另一份清單中也出現(前後空白已修剪,且依設定決定是否區分大小寫),該行才會被納入交集。同一組經過正規化的輸入會同時餵入五種標準集合視圖,因此從原始 Excel 欄位到可行動的共用與獨有清單,只需一次本機處理即可完成。

兩個清單之間怎樣算相符
比對兩個清單聽起來很直觀,但規則取決於您將什麼視為一個項目。在試算表的一個欄位中,一個儲存格就是一個項目,但儲存格內也可能包含逗號、空格、嵌入的換行、混合大小寫,或先前貼上作業所遺留的雜字元。「Compare Two Lists」工具將每個非空、已修剪的行視為恰好一個集合成員,藉以簡化這個問題。行內的空白會保留;只有行首與行尾的空白會被移除。CRLF 與單獨的 CR 行結尾會在比對前正規化為 LF,因此無論是從 Windows 上的 Excel 匯出的清單,還是從 Mac 貼上的清單,都能產生相同的成員鍵。
集合術語為比對規則提供了一個精確的名稱。當某行的鍵同時出現在兩個清單中時,它屬於交集;當鍵只出現在 A 而不在 B 時,它屬於僅 A 集合;依此類推。該工具使用穩定的對映結構而非原生 JavaScript Set 方法,以維持跨瀏覽器行為的可預測性,同時仍遵循 Python 標準程式庫與 MDN JavaScript Set 參考文件中對於集合類型的標準語意。實際上的意義是,此工具的行為如同教科書中的集合:相同的輸入行會產生相同的成員鍵、重复項目會合併為單一成員,而結果中顯示的拼寫以首次出現的版本為準。
由於成員判定是以行為基礎,會產生兩個實際的影響。首先,結果中項目的順序就是它們在 List A 中首次出現的順序,再加上 List B 中新增的成員,因為此工具不會進行排序。其次,大小寫屬於政策設定,並非隨機行為:預設情況下,Apple 與 apple 共享同一個成員鍵,但若啟用區分大小寫比對,它們就會被視為不同的成員。在按下「比對」之前,為您的資料選擇正確的政策是最重要的決定。
將 Excel 欄位轉為以行為基礎的格式
Excel 將每個值儲存在儲存格中,但比對工具讀取的是行。銜接這個落差是第一個動手操作的步驟,以下提供三種不會遺失資料的可靠做法。
最快的方法是直接貼上。在 Excel 中選取單一欄位,按下 Ctrl+C(Mac 上為 Cmd+C),然後貼到工具的其中一個文字區中。Excel 的剪貼簿格式會保留每個儲存格一行,因此文字區會自動接收每行一個項目。對第二個欄位重複同樣動作,貼到另一個文字區即可。
第二種方法是匯出。將每個欄位分別儲存或匯出為 .txt 或 .csv 檔。CSV 匯出檔可以在任何文字編輯器中開啟;複製第一個欄位的各列,貼到 List A,然後將第二個欄位複製到 List B。如果儲存格內包含嵌入的換行(由 Excel 中的 Alt+Enter 產生),請在匯出前先將其清除,因為比對工具會將每個實體行視為一個項目。關於如何在不損及其他間距的前提下移除這些嵌入換行的簡短操作說明,請參閱清理 Excel 換行符號的指南。
第三種方法是範圍轉欄位技巧。在 Excel 中複製一個垂直範圍,然後使用「選擇性貼上 > 轉置」,依據您的原始版面將列轉為欄、或將欄轉為列。完成轉置後,前文介紹的直接貼上方法同樣適用。
無論您選擇哪種方式,都不要貼上包含多個並排欄位的整個試算表範圍,因為產生的文字區內各值之間會包含 Tab 字元,而工具會將 Tab 視為每行的一部分,導致產生外觀相同、實際上卻是不同的字串,造成幽靈成員鍵。
使用 Compare Two Lists 執行比對
兩個清單都貼上後,比對本身只需幾個明確的步驟。
- 在瀏覽器中開啟Compare Two Lists。找到標示為 List A 與 List B 的兩個文字區。
- 將第一個 Excel 欄位貼到 List A,第二個欄位貼到 List B。每個文字區都必須每行一個項目。
- 選擇是否讓字母大小寫影響成員判定。一般英文清單維持區分大小寫關閉;若您的資料將 Apple 與 apple 視為不同的識別碼,則將其開啟。
- 點擊「比對」。五個帶有標籤的面板會一次顯示出來:In both、Only in A、Only in B、Union,以及 Either not both。
- 檢查每個面板,確認是否包含您預期找到的項目,並確認空白的區段會顯示破折號而非區段遺失。
- 點擊「Copy all results」將帶有標籤的報告複製到剪貼簿。若剪貼簿寫入失敗,請依照畫面上顯示的手動複製指示操作,不要直接假設成功。
- 在將報告視為最終依據之前,請根據您的目的地系統驗證逐行比對的政策。若您的下游工具以不同的方式正規化大小寫或修剪空白,請以相符的政策重新執行。
比對完成後再編輯任一文字區會清除先前的結果,因此如果您需要調整單一值,請重新貼上修正後的清單並再次比對。沒有任何還原步驟可以恢復先前的執行結果,這種設計讓本機邏輯保持簡潔,但也代表比對的可重現性來自輸入內容本身,而非來自隱藏的歷史紀錄。
如何解讀五個結果區段
五個面板各自對應一種標準集合運算。這些標籤遵循Python 標準程式庫以及 MDN 上的 JavaScript Set 方法中對內建集合類型的相同定義,因此名稱的行為符合開發者或資料分析師的預期。
| 面板 | 集合名稱 | 所包含的內容 |
|---|---|---|
| In both | 交集(Intersection) | 成員鍵同時出現在 List A 與 List B 中的項目 |
| Only in A | A \ B(有向差集) | 存在於 List A 但不存在於 List B 的項目 |
| Only in B | B \ A(有向差集) | 存在於 List B 但不存在於 List A 的項目 |
| Union | A ∪ B | List A 中的每一個相異項目,再加上 List B 中的新成員 |
| Either not both | 對稱差(Symmetric difference) | 僅出現在其中一個清單的項目 |
聯集包含相符項目與獨有項目。對稱差排除相符項目,僅保留合併後的有向獨有項目。若只想查看相符項目,請閱讀 In both 面板。若想查看單一來源中獨有的項目,請閱讀 Only in A 或 Only in B 面板。
請看一個簡單的範例:List A 包含 apple、banana、pear,而 List B 包含 banana、peach。In both 面板顯示 banana。Only in A 面板顯示 apple 與 pear。Only in B 面板顯示 peach。Union 面板列出 apple、banana、pear、peach。Either not both 面板列出 apple、pear、peach。這與 Python 中對集合類型以及 MDN 所參考的 Set 方法所描述的標準語意一致:聯集包含任一或兩者皆有的成員,交集包含共通成員,對稱差包含僅出現於單一集合的成員。
每個面板內部的順序遵循首次出現規則。In both 與 Union 保留 List A 中首次出現的拼寫與順序。Only in A 保留 A 的順序。Only in B 保留 B 的順序。Either not both 依序接在 Only in A 之後,再接 Only in B。此工具不會依字母排序、依數值排序,或依出現頻率重新排列。
區分大小寫與決定成員判定的規則
區分大小寫是最常改變結果的單一設定。預設情況下,工具會將字母大小寫折疊為成員判定基準:Apple 與 apple 共享同一個鍵,因此會被視為同一個項目。在共用與聯集結果中顯示的拼寫,以 List A 中首次出現的版本為準。如果您開啟區分大小寫,這兩種拼寫就會成為不同的成員,您會在每個拼寫首次出現的面板中同時看到它們。
這對 Excel 資料來說很關鍵,因為貼上的文字常常繼承了公式、查找或手動輸入所產生的大小寫混合。像 ABC-100 與 abc-100 這樣的 SKU 欄位,在預設模式下會被合併,在區分大小寫模式下則會保持區分。從 CRM 匯入的姓名欄位若帶有不一致的大小寫,在啟用區分大小寫模式時,可能會隱藏真正的相符項目。
其他正規化規則是固定的,且與去重複一致。每行前後的空白會被修剪;行內的空白會保留。CRLF 與單獨的 CR 行結尾會轉為 LF。空白行會被刪除。重复的鍵保留首次顯示的拼寫與原始順序。規範去重複的政策同時規範所有五種集合運算,因此您在各面板中看到的內容在內部是一致的。
如果您的下游系統以不同的方式處理空白、大小寫或標點,請在將比對結果視為最終依據之前,先採用相同的政策。此工具僅比對經過正規化的精確行鍵;它無法辨識 Unicode 易混淆字元、網域別名或數值範圍。
常見的 Excel 清單比較工作
一旦輸入資料採用逐行格式,同一套流程就能涵蓋各式各樣的 Excel 工作。
- 電子郵件名單:將行銷名單貼到 List A,將封鎖名單貼到 List B,即可看出哪些地址同時出現在兩者中、只出現在 A、或只出現在 B,而且完全不需要撰寫 COUNTIF 公式。
- 庫存識別碼:將本週的 SKU 欄位貼到 A,上週的貼到 B,就能找出新增或移除的 SKU。
- 關鍵字研究:比較兩個從不同工具匯出的關鍵字清單,找出共有詞彙、缺口以及完整的聯集。
- 與會者名單:將報名名單貼到 A,將簽到名單貼到 B。「兩者皆有」顯示實際出席者;「只出現在 B」顯示未報名的臨時出席者;「只出現在 A」顯示缺席者。
- 遷移檢查:將來源系統的識別碼貼到 A,目的地的識別碼貼到 B;對稱差異會標示出在遷移過程中遺失的紀錄。
- 白名單維護:將現有的白名單貼到 A,新候選名單貼到 B;「只出現在 B」就是可供審核的候選清單。
這些本質上都是同一個操作:兩個以行為單位的清單,一次比較,五個標記輸出。過去每個工作都得重複撰寫五條 Excel 公式的成本消失了,因為這個工具一次就能產生全部五種檢視結果。
工具所遵守的限制以及刻意不做的事
此工具有兩項硬性限制:每個輸入必須少於一百萬個 UTF-16 程式碼單位,以及少於 50,000 行。兩個清單會以同樣的方式進行標準化;一旦超過任一限制,或兩個標準化後的清單皆為空,工具會明確回傳錯誤,並且不會產生任何部分輸出。這些上限確保了分割、映射儲存、面板繪製和剪貼簿寫入的行為都是可預期的。
此工具刻意保持範圍精簡。它不會剖析 CSV、不會以逗號分割、不會標準化 Unicode、不會去除標點符號、不會以數值方式比較數字、不會解析網址,也不會進行模糊比對。它不是資料庫聯結、試算表合併器、差異檢視工具、模糊重複資料刪除器、安全存取控制驗證器,或對帳服務。它不認識別名、等效網域、Unicode 易混淆字元、數值範圍,或商業身分。在所選的大小寫規則下,一個實體行就是一個字面項目。
隱私是設計上的限制,而非事後考量。沒有任何輸入或結果會被上傳、儲存、記錄到比較服務,或傳送給 AI 模型。剖析、集運算、繪製與剪貼簿寫入全部都在當前分頁中於本機完成。如果你的 Excel 資料屬於敏感資料,這種純本機運作的行為正是貼上並比較比每次執行都會回傳遙測資訊的雲端附加元件更安全的原因之一。
對於此工具無法涵蓋的工作,正確的下一步是先預先清理資料再重新執行。如果你需要 CSV 剖析,請先依照欄位轉逗號清單指南將資料標準化為每行一個項目。如果你需要數值比較,請先以數值方式排序,並以前導零重新格式化,讓字串能夠對齊。如果你需要模糊比對,此工具無法誠實地呈現結果,這就是改用其他方法的訊號。