Skip to main content

如何在Excel中刪除重複項但保留其餘的行值?

Author: Sun Last Modified: 2025-07-21

在日常數據處理中,Excel的「刪除重複項」功能經常會刪除整行,這可能會破壞其他列的數據和整個工作表結構。本文介紹了幾種方法,僅清除指定列中的重複值,同時保留每行的其他數據,包括使用公式的篩選器、VBA代碼和Kutools外掛程式。每個解決方案都附有典型的使用案例、優點和注意事項,以幫助您快速選擇最適合需求的方法。

remove duplicates keep rest-sample1  remove duplicates keep rest-sample2

使用篩選刪除重複項但保留其餘行值(3步驟)

使用VBA刪除重複項但保留其餘行值(4步驟)

使用Kutools for Excel刪除重複項但保留其餘行值(2步驟)good idea3


使用篩選刪除重複項但保留其餘行值

一個可靠的保持數據結構並清除重複值的方法是將簡單公式與Excel的篩選功能結合起來。此方法特別適用於希望視覺化識別並選擇性地從單列中刪除重複項的情況,確保每行的其他信息不受影響。該技術適用於中小型數據集,並讓用戶完全掌控刪除過程。

1. 選擇數據範圍旁邊的一個空白單元格(例如,如果您的數據從A2開始,則選擇D2),並輸入公式: =A3=A2該公式比較每個單元格與其上方的單元格,以標記重複項。拖動填充柄向下應用公式到其餘行。請參見截圖:
enter a formula and drag it to fill other cells

2. 接下來,選擇整個數據範圍,包括新增的公式列,然後點擊 數據 > 篩選 以啟用篩選功能。這樣可以讓您篩選出被標記為重複項的行。
click Data > Filter to enable Filter feature

3. 點擊 篩選圖示 在公式列(例如,D列)中,從下拉列表中僅選擇 TRUE所有重複條目(除最後一次出現之外)將顯示出來。
check TURE from the drop down list

4. 點擊 確定後,所有已識別的重複值將顯示出來。選擇這些重複單元格並按下 刪除 鍵,以清除它們而不影響其行中的其他單元格。這會在刪除指定列中的重複值時保留行數據結構。請參閱下面的截圖:
select all of the duplicate values, press Delete key to remove them

提示:請小心選擇僅重複單元格而不是整行,以便僅移除目標值。

5. 要恢復正常視圖,請再次點擊 數據 > 篩選 以禁用篩選。如果不再需要,可刪除或清除輔助公式列。現在,指定列中的重複項已經消失,所有其他行值保持不變。
Click Data > Filter to disable Filter

優點: 無需VBA或外掛程式;步驟清晰且手動錯誤易於糾正。
缺點: 並非完全自動化——涉及手動清理;對於非常大的數據集效率較低。


使用VBA刪除重複項但保留其餘行值

VBA提供了一種更自動化的從列中刪除重複項的方法,同時保持同一行的所有其他數據不受影響。這種方法非常適合處理重複清理任務,特別是在處理大量數據或需要頻繁進行刪除程序時。使用VBA可以減少手動錯誤並節省時間,但最適合熟悉Excel基本腳本的用戶。

1. 按 Alt + F11 打開Microsoft Visual Basic for Applications編輯器窗口。

2. 在VBA窗口中,轉到插入 > 模塊,然後將以下代碼複製並粘貼到新模塊中。該代碼從您選擇的範圍中刪除重複值,但保留行中的所有其他信息:

VBA:刪除重複項但保留其餘行值

Sub RemoveDuplicates()
'UpdatebyExtendoffice20160918

    Dim xRow As Long
    Dim xCol As Long
    Dim xrg As Range
    Dim xl As Long
    On Error Resume Next
    Set xrg = Application.InputBox("Select a range:", "Kutools for Excel", _
                                    ActiveWindow.RangeSelection.AddressLocal, , , , , 8)

    xRow = xrg.Rows.Count + xrg.Row - 1
    xCol = xrg.Column
    'MsgBox xRow & ":" & xCol
    Application.ScreenUpdating = False
    For xl = xRow To 2 Step -1
        If Cells(xl, xCol) = Cells(xl - 1, xCol) Then
            Cells(xl, xCol) = ""
        End If
    Next xl
    Application.ScreenUpdating = True
    
End Sub

copy and paste the code into the module

3. 要運行腳本,按 F5 或點擊 運行 按鈕。對話窗口將提示您選擇要刪除重複值的範圍。然後點擊 確定 確認。
vba code to select a range to remove duplicate values from

4. 宏將執行並刪除指定範圍內的重複值,在其位置留下空白單元格,而所有其他行內容均保留。這有效地保留了您的工作表結構。
the duplicate values have been removed from selection

優點: 對大型或重複數據集非常高效;最大限度減少手動工作。
缺點: 需要啟用宏並具備VBA的基本知識;編輯通常是不可逆的,因此建議在備份上操作。


使用Kutools for Excel刪除重複項但保留其餘行值

如果您安裝了Kutools for Excel,您可以簡化從範圍或列中刪除重複項的過程,同時保留行的其他數據。Kutools提供了直觀且高效的重複數據處理功能,特別適合需要經常清理Excel數據列表的用戶。

Kutools for Excel 提供超過 300 種進階功能,簡化複雜任務,提升創造力與效率。 結合 AI 能力,Kutools 能夠精準自動化任務,讓數據管理變得輕而易舉。Kutools for Excel 的詳細資訊...免費試用...

安裝Kutools for Excel後,您可以根據數據和偏好使用以下兩種方法之一:

方法1:合併相同儲存格(2步驟)

1. 突出顯示您希望去重的重複值。然後,導航至 Kutools > 合併與分割 > 合併相同儲存格這將把連續的重複值合併到單一儲存格中,方便清除所有除了第一個實例外的重複項。
click Merge Same Cells feature of kutools

2. 合併後,選擇合併的儲存格,前往 主頁 > 合併與居中 > 取消合併儲存格 將其恢復為標準儲存格。重複項現在將顯示為空白儲存格,並且每個組只保留唯一值。
click Home > Merge & Center > Unmerge Cells to split them

結果將類似於以下範例,其中重複項已被刪除,並且行的其他值得以保留:
get the result

 

方法2:選擇重複和唯一儲存格(4步驟)

1. 選擇您要刪除重複值的整個列表或範圍。點擊 Kutools > 選擇 > 選擇重複和唯一儲存格.
click Select Duplicate & Unique Cells feature of kutools

2. 在 選擇重複和唯一儲存格 對話框中,選擇 重複值(除第一次出現外)規則 部分。這將突出顯示所有第一次出現之後的重複實例。
check Duplicates (Except1st one) option in the Rule section

3. 點擊 確定提示框將通知您選擇了多少重複儲存格。再次使用 確定.
a dialog pops out to remind you how many duplicates have been selected

4. 只需按Delete鍵即可刪除這些選中的重複值,其餘行數據保持不變。

press Delete key to remove the selected duplicate values

優點: 不需要公式或編碼;非常快捷且用戶友好;支持批量操作。
缺點: 需要額外安裝。


總結和故障排除:上述每個解決方案都提供了一種實際的方法來刪除重複值,同時保持行數據完整。篩選和公式方法適合透明、逐步的手動處理;VBA對於批處理或重複清理很有價值;Kutools為常使用者提供了便捷、流暢的操作。始終仔細檢查選擇的範圍,在批量操作前製作備份副本,並選擇符合您工作流程和對公式或代碼舒適度的解決方案。如果遇到遺漏重複項或意外數據丟失等問題,請檢查輔助列的準確性,驗證排序,並在刪除前確認選擇正確。

最佳辦公效率工具

🤖 Kutools AI 助手:基於智能執行方式革新數據分析:智能執行   |  生成代碼  |  創建自訂公式  |  分析數據並生成圖表  |  調用 Kutools 函數
熱門功能查找、標記重複值或識別重複項   |  刪除空行   |  合併列或單元格而不丟失數據   |   四捨五入無需公式 ...
高級 LOOKUP多條件 VLookup    多值 VLookup  |   多表查找   |   模糊查找 ....
高級下拉列表快速創建下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
列管理器添加特定數量的列  |  移動列  |  切換隱藏列的可見狀態  |  比較區域和列 ...
特色功能網格聚焦   |  設計檢視   |   增強編輯欄    工作簿與工作表管理器   |  資源庫(自動文本)   |  日期提取器   |  合併資料   |  加密/解密儲存格    按列表發送電子郵件   |  超級篩選   |   特殊篩選(篩選粗體/斜體/刪除線...) ...
頂級 15 種工具集12 個文本工具添加文本刪除特定字符、...)   |   50+ 圖表 類型甘特圖、...)   |   40+ 實用 公式基於生日計算年齡、...)   |   19 個插入工具插入QR碼根據路徑插入圖片、...)   |   12 個轉換工具金額轉大寫匯率轉換、...)   |   7 個合併與分割工具高級合併行分割儲存格、...)   |   ... 還有更多

使用 Kutools for Excel 提升您的 Excel 技巧,體驗前所未有的高效。 Kutools for Excel 提供超過 300 種高級功能來提高生產力並節省時間。  點擊這裡獲取您最需要的功能...


Office Tab 將標籤式界面帶到 Office,讓您的工作更加輕鬆

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
  • 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
  • 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!