跳至主要内容

如何在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

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


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

最佳办公效率工具

🤖 Kutools AI 助手:基于智能执行生成代码创建自定义公式分析数据并生成图表调用 Kutools 函数等功能,彻底改变数据分析方式…
热门功能查找、高亮或标记重复项 | 删除空行 | 合并不丢失数据的列或单元格 | 四舍五入 ...
高级 LOOKUP多条件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 ....
高级下拉列表快速创建下拉列表 | 从属下拉列表 | 多选下拉列表 ....
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域和列 ...
精选功能网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...)...
排名前 15 的工具集12 种文本 工具添加文本删除特定字符等) | 50 多 种图表 类型甘特图等) | 40 多种实用 公式基于生日计算年龄等) | 19 种插入 工具插入二维码根据路径插入图片等) | 12 种转换 工具小写金额转大写汇率转换等) | 7 种合并与分割 工具高级合并行分割单元格等) | 还有更多...

使用 Kutools for Excel 提升您的 Excel 技能,体验前所未有的高效。 Kutools for Excel 提供超过 300 种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...


Office Tab 将标签式界面引入 Office,让您的工作更加轻松

  • 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读
  • 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
  • 将您的生产力提升 50%,每天为您减少数百次鼠标点击!