把 Excel 欄貼進 Remove Duplicate Lines 工具,會在瀏覽器本機去重,保留每一筆重複行的第一次出現,並回報精確的輸入、保留與移除計數。此工具最多處理一百萬個 UTF-16 碼元——也就是大致等於普通文字一個字元的 JavaScript 字串單位——因此典型工作表裡有數萬個儲存格的欄也能輕鬆放得下。行會依來源順序比較,演算法只附加它尚未見過的第一行,再用換行邊界把存活下來的行接起來。沒有任何東西離開此頁:分割、建鍵、計數與輸出產生都在目前分頁執行,因此客戶標籤或 SKU 匯出這類敏感清單不會進到任何伺服器。行導向的去重器可與 Excel 內建的「移除重複項目」指令並用,因為內建功能在活頁簿內部運作,而且只就地編輯工作表。它不會給你一份可貼進另一個工具的可攜清單,不會精確顯示刪了多少列,也不提供依兩端空白或字母大小寫做正規化比較。專用的文字工具補上這些缺口,同時原樣保留第一次出現的內容,包含大小寫與周圍空白,因此保留行可以複製回 Excel,或用在別處。

how to remove duplicate lines in excel sheet
如何在 excel 工作表移除重複行

Excel 內建「移除重複項目」實際做了什麼

Excel 內建的「移除重複項目」指令位於資料索引標籤,會掃描選定範圍、在活頁簿內比較儲存格,並刪除每個重複列,只留下選定範圍內第一次出現的項目。當你只需要清理工作表本身、想依多欄組合去重,而且資料已經排成連續表格時,它很管用。它不會給你的是可攜的清理清單、可供核對的逐步移除計數,或可依大小寫與兩端空白調整的比較規則。此指令刪除後也會重排工作表,因此參照特定列號的下游公式會位移。行級去重器藉由處理從工作表複製出來的文字來補足內建指令,活頁簿保持不動,並產出可貼到任何地方的清單。

為工具準備好 Excel 欄

多數 Excel 清理工作從單一欄開始:客戶電子郵件的允許清單、SKU 代碼欄、檔名清單,或從廣告活動管理員匯出的關鍵字清單。要把該欄移進 Remove Duplicate Lines 工具,在 Excel 選取儲存格,在 Windows 用 Ctrl+C 或在 macOS 用 ⌘+C 複製,再貼進工具的輸入區。每個儲存格會變成輸入裡的一行,因為複製時儲存格是用換行接起來的。你也可以複製整段範圍,若你先用分隔符把該列的儲存格串起來,工具會把每一列當成一行;或者只貼單一欄,完全跳過串接。

有幾則實務準備技巧特別適用於 Excel 資料。第一,若你的欄含有回傳空白字串的公式,請貼上值而不是公式,讓工具看到顯示文字,而不是公式文字。在複製到剪貼簿之前,先在 Excel 用複製,再選選擇性貼上 → 值。第二,若某些儲存格因匯入方式而含有前導或尾隨空白,請決定那些空白對你的去重是否有意義。工具的「忽略兩端空白」選項只從比較鍵剝除它們,不從保留行剝除,因此第一次出現會保住原始間距。第三,若資料在儲存格內使用分號或定位字元,那不會改變行邊界——只有歸位字元與換行字元會。若你還需要在工作表內依大小寫差異找出重複,另有 大小寫轉換工作流程 可在複製前幫你正規化文字。

逐步從 Excel 清單移除重複行

  1. 在瀏覽器開啟 Remove Duplicate Lines 工具。確認輸入欄是空的,以便清掉任何舊結果。
  2. 在 Excel 選取你要去重的欄或清單。若要依值而不是公式去重,請選擇複製,再在暫存儲存格做選擇性貼上 → 值,然後從那裡複製。
  3. 用 Ctrl+V 或 ⌘+V 把複製的值貼進輸入欄。每個儲存格會變成輸入裡的一行。
  4. 挑選比較模式:嚴格(每個字元都參與)、忽略英文字母大小寫(只把比較鍵轉成小寫),以及忽略兩端空白(修剪鍵兩端的空白與定位字元)。選項可以合併使用。
  5. 執行去重。工具會回報輸入行數、保留計數與移除計數,讓你核對結果。
  6. 從輸出區複製保留行,並以值貼回 Excel。若要覆寫原始欄,請用選擇性貼上 → 值;若要並排比較,請貼進新欄。
  7. 在你用眼檢查過清理清單,並確認第一次出現規則保留了你真正想留下的那些列之前,維持原始工作表不動。

在嚴格、忽略大小寫與忽略兩端空白之間做選擇

這三個比較選項可以合併,但每一個都只影響比較鍵,絕不影響保留行本身。使用忽略大小寫時,鍵會用瀏覽器的英文地區小寫作業轉成小寫,但第一次出現的原始拼字與大小寫會在輸出裡精確保留。使用忽略兩端空白時,鍵會在兩端修剪,但第一筆保留行不會被修剪——前後墊了空白的行會連空白一起留下。兩個選項合併時,先修剪、再轉小寫。

比較模式相等性比對時納入的內容輸出中維持不變的內容最適合
嚴格大小寫、前導與尾隨空白、定位字元、標點、Unicode 字元、內部間距全部空白或大小寫可能帶有意義的資料集
忽略英文字母大小寫除了英文 A–Z 大小寫以外的所有字元第一次出現的大小寫一般英文清單、大小寫混用的標籤、不分大小寫的去重
忽略兩端空白除了前導與尾隨空白和定位字元以外的所有字元第一次出現的兩端空白因複製貼上而帶有多餘空白的匯入欄
兩個選項一起除了大小寫與兩端空白以外的所有字元第一次出現的原始大小寫與兩端空白英文文字實務上不分大小寫、也不分修剪的清理

「忽略大小寫」選項不是變音折疊、音譯、Unicode 正規化、模糊比對、詞幹還原,或具語言意識的定序。德文銳 s(ß)不會自動當成兩個字母 ss。若你的 Excel 欄含有帶變音的字母,而你需要它們與無變音形式相符,請在去重前先跑過獨立的去變音步驟。

計數、邊界與保留行如何回報

去重之後,工具在結果面板回報三個計數:輸入含有多少行、保留了多少、移除了多少。對任何非空輸入,保留計數加上移除計數等於輸入計數,因此這三個數字一律對得上。輸出依來源順序顯示精確的保留行,絕不排序或打亂。讓工具針對你的特定輸入產出那些數字,不要自己手算。

行邊界會跨作業系統偵測。Windows CRLF、經典 Mac 歸位字元,以及 Unix 換行字元都算一個邊界,而且 CRLF 一對不算兩個。輸出會正規化成換行,因為結果是新組出來的字串。輸入末尾的結尾邊界會在去重前建立最後一個空行,遵循與任何其他邊界相同的分割規則,因此空白行是有效值。在嚴格模式下,第一個空行會留下,之後的空行是重複;使用修剪比較時,只有空白的行與空行共用空鍵,因此只留下第一個。若最終輸出不要空白值,請把結果再跑一次獨立的空行移除。

邊界情況工具如何處理對計數的影響
行與行之間的 Windows CRLF算一個邊界,不是兩個每個可見列算一行
同一次貼上混用 CR、LF 與 CRLF每一段字元連續都算一個邊界可見列仍對得上 Excel 裡的可見列
貼上內容末尾的結尾換行去重前建立最後一個空行輸入與保留計數可能出現一筆額外空白值
來源欄裡的空白儲存格變成輸入裡的空白行第一個空白留下;之後的空白在同一比較鍵下移除

演算法依來源順序處理行,絕不排序。它為每一行建立一個比較鍵,檢查已經見過的鍵的 Set,只附加第一個未見過的行,再用換行把保留值接起來。它不會再搜尋輸出、合併相似值、計算詞頻,或推斷標題列。此操作對輸入與所選選項是確定性的,這就是為什麼兩次執行在相同輸入與相同設定下會產出相同的保留行。

何時不該依賴行級去重

當每個關注的儲存格都是一個邏輯值,而且該值已經獨自佔一列、周圍沒有引號或跳脫時,行級去重是合適的。當 Excel 資料是真正的資料庫表格,應由客戶 ID 或訂單編號這類穩定識別碼驅動去重、而不是可見標籤時,它就是錯的工具。兩列有不同 ID、但顯示的電子郵件相同,就商業目的而言不是重複,即使它們一行對一行看起來一樣。對那些情況,請在 Excel 內用由識別碼組成的輔助欄去重,或在來源資料庫裡做。

此工具也不剖析 CSV 引號、JSON 陣列、程式碼語法,或特定地區慣例的紀錄。若你的 Excel 儲存格含有加引號的 CSV 字串、加引號的 JSON 值,或內嵌分隔符的行,請原樣複製,但要明白去重是對包含引號在內的可見文字操作。它不會更動原始 Excel 檔或任何資料庫,而且在你選擇覆寫之前,會讓剪貼簿上的原始輸入保持不動。刪除來源資料前請確認比較規則,並在清理清單核實之前,維持原始活頁簿可用。

若你正在權衡選項,在 Excel 不靠公式對調姓與名 有詳細說明。