跳至主要内容

如何根据一列中的重复项删除行?

Author: Kelly Last Modified: 2025-07-31

在 Excel 中,使用“数据”选项卡上的“删除重复项”功能来删除重复的行是一项简单的任务。然而,仅基于某一列中的重复值删除整行的过程可能并不那么显而易见。本文介绍了几种简单的方法,以高效处理这种情况,确保您的数据保持准确和简洁。当为报告、分析准备数据,或者您需要根据特定标准保留唯一记录时,基于特定列中的重复项删除行是非常重要的。以下方法包括内置的 Excel 功能、公式、VBA 选项以及 Kutools for Excel 提供的解决方案,使用户能够根据自己的情境和工作流需求选择最合适的方法。每种方法都根据任务复杂性、数据量和个人对 Excel 工具的熟练程度提供了独特的优势。


使用“删除重复项”功能基于一列中的重复项删除行

此方法专注于利用 Excel 的“删除重复项”功能,轻松删除在特定列中包含重复条目的整行。这是最快的解决方案之一,适用于数据已经整理好且您希望删除每个重复值的所有但保留一个的情况。

  1. 选择要基于一列中的重复项删除行的区域,然后点击 数据 > 删除重复项

  2. 在弹出的 删除重复项 对话框中,仅勾选包含要用作删除整行依据的重复值的列旁边的框,并点击 确定 按钮。

    注意:请仔细检查所选列。只有被勾选的列才会评估重复项。如果您误勾选了额外的列,可能无法删除所有预期的重复项。

  3. 随后出现的对话框将显示找到并删除的重复值的数量。单击“确定”完成并关闭对话框。该消息提供有关删除的重复行数量和剩余唯一行数的反馈,供您参考。

优点: 对于简单任务速度快,无需加载项或公式,保留每个重复项的首次出现。
缺点: 从删除的行中移除所有列,无法在删除前“查看”标记的重复项。


使用 Kutools for Excel 基于一列中的重复项删除行

通过 Kutools for Excel 的“选择重复项与唯一单元格”工具,您可以基于列中的所有重复值删除行,并只保留具有唯一值的行。此外,该工具还提供了灵活的选择,可以选择删除包含重复项的行(除了其首次出现之外)或删除所有包含首次出现的重复行。此方法特别适合需要快速管理重复项并比原生 Excel 功能提供更多控制的用户。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...
  1. 选择包含要用作行删除依据的重复值的列,然后点击 Kutools > 选择 > 选择重复项与唯一单元格.

    提示:建议仅选择要检查重复项的列,以避免跨无关数据进行意外删除。

  2. 在打开的 选择重复项与唯一单元格 对话框中,请勾选 重复项(除第一个外) 选项或 所有重复项(包括第一个) 选项作为您需要的内容,在 规则 部分。然后,勾选 选择整行 选项,并点击 确定 按钮。

    参数解释:
    重复项(除第一个外): 保留第一个出现的项。其他所有重复行都将被选定以供删除。
    所有重复项(包括第一个): 选择列中包含重复值的所有行,包括第一次出现的项。

  3. 如下所示的对话框会弹出,显示基于选定列中的重复值选定的行数。点击“确定 ”按钮关闭它。

  4. 点击 开始 > 删除 > 删除工作表行 以删除包含重复值的选定行。至此,您已根据指定列中的重复值删除了所有行。

    A screenshot of deleting selected rows in Excel via Home > Delete Sheet Rows option

    提示:建议在删除之前保存文件的备份。已删除的行在执行主要后续操作或保存/关闭文件后无法通过撤销恢复。

原始数据:
A screenshot of original dataset in Excel before removing duplicate rows

删除重复项后的结果:

  • 如果选择 重复项(除第一个外) 选项:
    Results after removing duplicates except the first occurrence in Excel

  • 如果选择 所有重复项(包括第一个) 选项:
    Results after removing all duplicates including the first occurrence in Excel

优点: 灵活的选择和预览,可以删除全部或仅某些重复项,保留控制权。
缺点: 需要安装。


使用 VBA 代码基于列中的重复项删除行

此方法采用 VBA 宏自动遍历所选的数据范围,并在特定列中发现重复值时删除整行。该解决方案特别适用于处理大型数据集或重复清理任务,并比手动方法提供了更多的自动化。在运行 VBA 代码之前,始终备份您的工作簿,因为宏所做的更改无法轻松撤销。

  1. 点击 开发者 > Visual Basic 打开 Microsoft Visual Basic for Applications 编辑器窗口。如果您没有看到开发者选项卡,可以通过文件 > 选项 > 自定义功能区启用它。
  2. 在 VBA 编辑器中,点击 插入 > 模块 创建一个新的代码模块,然后将以下代码粘贴到模块窗口中:
Sub DeleteRowsWithDuplicateInColumn()
    Dim rng As Range
    Dim i As Long, j As Long
    Dim lastRow As Long
    Dim colNum As Long
    Dim ws As Worksheet
    Dim dict As Object
    On Error Resume Next
    Set ws = ActiveSheet
    Set rng = Application.InputBox("Select your data range (including column headers)", "KutoolsforExcel", ws.UsedRange.Address, Type:=8)
    If rng Is Nothing Then Exit Sub
    colNum = Application.InputBox("Enter the column number to check for duplicates (e.g.,2 for column B):", "KutoolsforExcel", 1, Type:=1)
    Set dict = CreateObject("Scripting.Dictionary")
    lastRow = rng.Rows.Count
    For i = lastRow To 2 Step -1
        If dict.Exists(rng.Cells(i, colNum).Value) Then
            rng.Rows(i).EntireRow.Delete
        Else
            dict.Add rng.Cells(i, colNum).Value, 1
        End If
    Next i
End Sub

3。输入代码后,点击 Run button 按钮以执行代码。系统提示时,选择您的数据范围(包括标题),然后输入要检查重复项的列号(例如,输入 2 表示 B 列)。

该宏将自动从下至上循环遍历数据,删除在指定列中找到重复值的任何行,同时保留每个唯一值的首次出现。

警告在运行宏之前始终备份您的工作表,以防止不可逆的数据丢失。

使用 Excel 公式和辅助列识别并删除包含重复项的行

如果您更喜欢基于公式的解决方案,可以使用辅助列标记重复值,然后手动删除标记的行。当您希望在删除之前直观地检查哪些行是重复项时,这种方法非常理想,并且提供了更高的透明度,尽管有些步骤是手动的。

1. 在数据表中添加一个新的辅助列(例如,在 D 列),并在数据旁边的一个空白单元格(例如 D2)中输入以下公式:

=COUNTIF($A$2:$A2,A2)>1

2. 将此公式复制或填充到辅助列中的所有相关行。结果为 TRUE 表示重复项,FALSE 表示首次出现。

3. 对包括辅助列在内的数据范围应用筛选功能。然后筛选辅助列中的TRUE值——这些是重复行(非首次出现)。

4. 选择筛选后的行并使用 开始 > 删除 > 删除工作表行 将它们从表格中删除。之后可以根据需要删除或隐藏辅助列。

5. 删除重复行后,点击 筛选 取消筛选并显示隐藏的数据。

标记所有重复值,包括其首次出现:在辅助列中使用以下公式:

=COUNTIF($A$2:$A$24,A2)>1

向下填充后,所有在指定范围内多次出现的记录都将返回 TRUE,无论位置如何。如上所述进行筛选和删除将删除所有包含重复值的行,只留下唯一项。

优点: 不需要加载项或宏,允许在删除前进行视觉检查。
缺点: 需要手动步骤进行删除,对于非常大的数据集效率较低。

基于一列中的重复项删除行,并合并/求和/平均/计数已删除行中的值

如果您想基于特定列中的重复值删除整个行,并希望保留这些重复项中的数据,请尝试使用 Kutools for Excel 的高级合并行工具。该工具使您能够高效地删除在选定列中有重复条目的行,同时对其他列中来自已删除行的数据执行合并、求和、平均或计数等操作,从而维护数据集的完整性和实用性。当您的业务流程要求在去重后汇总相关数据时,这种方法尤其适用,例如合并销售记录或交易日志。

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...
  1. 选择要基于一列中的重复项删除行的区域,然后点击 Kutools > 合并与拆分 > 高级合并行

  2. 在打开的 高级合并行 对话框中,例如,我们将基于“水果”列中的重复值删除行。此外,我们将在“价格”列中合并价格信息,并在“数量”列中计算每种水果的总金额。请按照以下步骤执行过程:
    1. 在对话框的列列表部分中,找到并选择包含要删除行的重复值的“水果”列,然后从操作下拉列表中选择主键
    2. 选择我们将合并与指定列中的重复项关联的所有值的“价格”列。然后从合并部分的操作下拉列表中选择一个分隔符。
    3. 选择将根据指定列中的重复项应用计算(求和、平均、计数等)的“数量”列。然后从 计算组的操作下拉列表中选择求和选项。

     

  3. 点击确定按钮。现在,所有行都基于指定列中的重复项删除,同时其他列也同时进行了合并或计算。


演示:在 Excel 中基于一列中的重复项删除行

 
Kutools for Excel:超过 300 种实用工具触手可及!永久免费享受 AI 功能!立即下载!

相关文章:

在 Excel 中统计一列中的重复值

在 Excel 中删除重复行并只保留最高值

在 Excel 中隐藏重复行

最佳 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%,每天帮你减少上百次鼠标点击!