若要一次性比較兩個 Excel 清單,請將每個儲存格以一行一個項目的方式貼入 比較兩個清單 工具,選擇您的大小寫政策,工具就會依固定順序輸出五個檢視——同時存在於兩者、僅在 A 中、僅在 B 中、聯集,以及僅存在於其中一者(對稱差)——螢幕面板與複製的文字皆由同一組陣列驅動。每行去除前後空白後的非空行會被視為一個集合成員,讀取前 CRLF 與 CR 行尾符號會統一轉為 LF,操作依循 Python 內建 set types 參考資料獨立紀錄的標準集合語意。整個比較流程都在瀏覽器本地端執行,無需上傳、不留記錄,也未使用人工智慧,當清單內含不希望外洩的客戶電子郵件、白名單或庫存識別碼時,這一點格外重要。

Excel 內建多種比較清單的方式——設定格式化的條件、VLOOKUP、INDEX-MATCH、XLOOKUP——但每一種都只能回答一個狹隘的問題。一種用填滿顏色標示符合項目,另一種則為每條公式回傳單一查詢值。沒有任何一種能同時產出可複製的報告,列出聯集、共同項目、僅 A 的項目、僅 B 的項目以及對稱差。接下來的章節會逐一說明每種方法能給出什麼、缺少什麼,以及將兩個 Excel 欄位轉為五段式本地報告的具體步驟。

how to use excel to compare two lists
使用 Excel 比較兩個清單並取得標記式報告

Excel 內建比較方法的實際回傳結果

Excel 提供多種比較兩個清單的方式,選擇哪一種通常取決於您需要回答的單一問題。

  • 使用重複值規則的設定格式化的條件 會以填滿顏色標示出現在兩份清單中的儲存格,但無法產出可複製的符合清單。
  • 公式 =IF(A2=B2,"Match","Difference") 在兩列順序一致時,會將每列標為符合或差異;只有在兩份清單位於相同的列順序時才有用。
  • XLOOKUP 為每個查詢公式回傳一筆結果,因此適合作為以索引欄進行逐列符合檢查,但無法作為整體清單的成員檢視。
  • INDEX-MATCH 與 VLOOKUP 是較舊的替代方案,在單一索引欄的成員檢查上行為相同。
  • Spreadsheet Compare 是僅限 Windows 的工具,會標示兩個活頁簿版本之間的更動,而非兩個扁平清單之間的成員關係。

上述方法都無法一次回答所有問題:哪些項目同時存在於兩份清單、哪些僅存在於 A、哪些僅存在於 B、聯集長什麼樣、對稱差長什麼樣。面對這五個檢視中的每一個,您通常需要個別的公式欄、個別的樞紐分析表,或個別的 Power Query 合併。「比較兩個清單」工具能在同一輪處理中,採用同一套大小寫政策並產生一份可複製的報告,一次給出全部五項結果。

將您的 Excel 欄位轉為兩份以行為基礎的乾淨清單

在任何比較執行之前,每個輸入都必須是一行一項目的清單。Excel 中單一欄內的儲存格本來就是這種排列方式,因此這個工具可以說是天然合適。

  1. 在 Excel 中選取第一欄的項目,如果您有標頭也請一併選入。
  2. 按下 Ctrl+C,然後開啟像記事本這樣的純文字編輯器,按下 Ctrl+V。
  3. 將該檔案另存為 list-a.txt,或直接貼入 List A 文字框。
  4. 針對第二欄重複同樣的步驟,貼入 List B。
  5. 如果您的清單很短,可以直接把每一欄貼入對應的文字框——每行一個儲存格是唯一規則。

工具在讀取任何內容之前,會先將 CRLF 與 CR 行尾符號統一為 LF,因此無論是從 Windows 或 Mac 貼上的資料都會落到同一個位置。每行會去除前後空白、空白行會被捨棄,重複的鍵會保留第一次出現的拼法與順序。如果一份清單超過一百萬個 UTF-16 碼元或超過 50,000 行,工具會回傳明確的錯誤,而非不完整的結果,這能讓您清楚地知道應當先把輸入切分。

從兩個 Excel 清單產生五段式報告

  1. 在瀏覽器中開啟「比較兩個清單」工具。
  2. 將第一個 Excel 欄位貼入 List A,每行一個項目。
  3. 將第二個 Excel 欄位貼入 List B,每行一個項目。
  4. 選擇是否讓大小寫改變成員關係——關閉時 Apple 與 apple 視為同一項目,開啟時則視為不同的成員。
  5. 點擊「比較」並檢視五個標記段落:同時存在於兩者(交集)、僅在 A 中、僅在 B 中、聯集,以及僅存在於其中一者(對稱差)。
  6. 點擊「複製結果」將全部五個段落依固定順序放上剪貼簿,接著把報告貼入 Excel、文字檔或工單中。
  7. 對照目的端系統驗證逐行字面政策——特別是當下游工作表在匯入時會去除前導零、將文字視為數字或摺疊大小寫時。

螢幕面板與複製的報告皆由同一組陣列驅動,因此您看到的內容就是實際寫入剪貼簿的內容。空白段落會顯示一條長破折號,讓「不存在」這件事在貼上後仍然看得出來。剪貼簿成功訊息只會在系統確認複製完成後才出現,這代表一旦瀏覽器拒絕剪貼簿權限,便會立刻顯示手動備援方案,而不是假裝成功。

五個檢視如何對應到您的試算表資料

這五個段落採用標準的集合運算名稱。聯集 包含出現在任一或兩者清單中的所有成員,依 A 中首次出現的順序排序,再加上 B 中新成員。同時存在於兩者 包含兩份清單共有的成員。A-only 與 B-only 屬於方向性差異——出現在其中一份清單但未出現在另一份的項目。僅存在於其中一者 即對稱差:恰好只出現在兩份清單之一的成員。

段落集合名稱意義
同時存在於兩者交集同時出現在 List A 與 List B 中的項目
僅在 A 中A-only 差異在 A 中但不在 B 中的項目
僅在 B 中B-only 差異在 B 中但不在 A 中的項目
聯集聯集A 中所有項目,加上 B 中新加入的項目
僅存在於其中一者對稱差恰好只出現在兩份清單之一的項目

請試想工具內建的操作範例。假設 List A 為 apple、banana、pear,List B 為 banana、peach。在任一種大小寫政策下,共同結果都是 banana;A-only 是 apple 與 pear;B-only 是 peach;聯集是 apple、banana、pear、peach;對稱差則是 apple、pear、peach。這裡的算術就是成員檢查本身,不會由清單衍生出任何數字,因此頁面上每個值都能從輸入重新驗證。

大小寫政策、重複項目與逐行字面規則

有三條規則主導所有輸出,且一致適用於全部五個段落。

  • 一個實體行就是一個字面項目。 行內的空白會被保留;只會去除行首行尾的空白。工具不會解析 CSV、不會以逗號切分、不會正規化 Unicode、不會移除標點符號,也不會以數值方式比較數字。在 Excel 中顯示為 SKU-001 的列,在報告中也會保持為 SKU-001。
  • 大小寫區分是一個統一的全域選擇。 預設為不區分大小寫,此時 Apple 與 apple 共用同一個成員鍵,並以第一次出現的拼法為準。當區分大小寫開啟時,這兩行會被視為不同成員,可能分別落入 A-only 或 B-only。
  • 重複項目保留首次出現的拼法與順序。 若 apple 首次出現在 List A,而 APPLE 後續出現在同一份清單中,則在不分大小寫的比較下會被摺疊為單一鍵,報告採用 apple。

當目的端系統擁有不同正規化規則時,這些規則最為關鍵。例如 Excel 允許數值儲存格顯示為 0007,但底層數值其實是整數 7。由於工具只能看到您貼上的字面文字,它無法還原儲存格在試算表中原有的格式。在把任何結果視為定論之前,請再次檢查大小寫政策與行首行尾空白。

限制、錯誤,以及本工具不會做的事

工具的契約刻意設得很窄,讓輸出保持可預測。

  • 每份輸入上限一百萬個 UTF-16 碼元與 50,000 行。 超過任一上限會回傳明確錯誤,不會給出部分結果。
  • 兩側正規化後的清單皆為空 同樣會回傳錯誤,而非五個空白段落,以避免悄悄造成混淆。
  • 編輯任一文字框 都會清除先前的結果,因此在貼上新內容後,舊報告不會殘留。
  • 無上傳、無儲存、無人工智慧介入。 解析、集合運算、渲染與剪貼簿寫入都在本地端進行,任何資料都不會離開目前分頁。
  • 無模糊比對。 工具不會辨識別名、等價網域、Unicode 易混淆字元、數值範圍或商業身分。僅會對正規化後的逐行字面鍵進行精確比對。
  • 無排序。 輸出依 List A 中首次出現的順序,再接續 List B 中新加入的成員;對於產生穩定差異相當有用,但若您預期為字母順序,則具有風險。

若需要試算表端相關清單作業的指引,從 Excel 比較兩個清單的差異 指南介紹了另一個處理重疊清單的工作流程,而 一次取得五個檢視 指南則從不同角度聚焦同一組五項輸出。「比較兩個清單」工具本身是產生這份報告的唯一位置。