跳至主要内容

如何在Excel中删除重复项但保留其余行的值?

Author: Sun Last Modified: 2025-07-31

在日常数据处理中,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 后,您可以根据数据和偏好使用以下两种方法之一:

方法一:合并相同单元格(2个步骤)

1. 高亮显示您希望去重的重复值。然后,导航至 Kutools > 合并与分割 > 合并相同单元格。这将把连续的重复值合并到一个单元格中,便于清除除第一个实例之外的所有内容。
click Merge Same Cells feature of kutools

2. 合并后,选择合并的单元格,转到 开始 > 合并与居中 > 取消合并单元格 将其恢复为标准单元格。重复项现在将显示为空白单元格,每个组仅保留唯一值。
click Home > Merge & Center > Unmerge Cells to split them

结果将类似于下面的示例,其中重复项已被删除并且其余行值得以保留:
get the result

 

方法二:选择重复项和唯一单元格(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

优点: 无需公式或编码;非常快捷且用户友好;支持批量操作。
缺点: 需要额外安装。


总结与故障排除:上述每个解决方案都提供了在Excel中删除重复值的同时保留其余行数据的有效方法。筛选器与公式方法适合透明、分步的手动处理;VBA适用于批处理或重复清理;而Kutools为常规用户提供了便捷、简化的操作。始终仔细检查所选范围,在批处理操作前备份文件,并选择与您的工作流程及公式或代码熟练度相匹配的解决方案。如果您遇到遗漏重复项或意外数据丢失的问题,请检查辅助列是否准确,验证排序,并在删除前确认您的选择正确无误。

最佳 Office 办公效率工具

🤖 Kutools AI 助手:基于智能执行,彻底革新数据分析 生成代码创建自定义公式分析数据并生成图表调用 Kutools Functions
热门功能:查找、选中项的背景色或标记重复项|删除空行|合并列或单元格且不丢失数据|四舍五入(无公式)...
高级 LOOKUP多条件查找 (VLookup)多值查找 (VLookup)多表查找 (VLookup Across Multiple Sheets)模糊查找 (Fuzzy Lookup)...
高级下拉列表快速创建下拉列表依赖型下拉列表多选下拉列表...
列管理器添加指定数量的列移动列切换隐藏列的可见状态比较区域及列...
特色功能网格聚焦设计视图增强编辑栏工作簿 & 工作表管理器资源库(自动文本)|日期提取合并数据加密/解密单元格按列表发送电子邮件超级筛选特殊筛选(筛选粗体/倾斜/删除线等)...
热门15 大工具集12 款文本工具添加文本删除特定字符等)50+ 种图表 类型甘特图等)40+ 实用公式基于生日计算年龄等)19 款插入工具插入二维码按路径插入图片等)12 种转换工具小写金额转大写汇率转换等)7 款合并与分割工具高级合并行分割单元格等)...更多精彩等你发现
使用 Kutools,支持您的首选语言——包括英语、西班牙语、德语、法语、中文及40 多种其他语言!

用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...


Office Tab 为 Office 带来标签式界面,让你的工作更加轻松

  • 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
  • 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
  • 办公效率提升50%,每天帮你减少上百次鼠标点击!