如何在 Excel 中删除重复项,同时保留空白行?
在 Excel 中,删除重复项功能提供了一种便捷方式,可从列表中清除重复值。然而,当您的列表包含空白行时,常会遇到一个棘手问题:标准功能会一并删除这些空白行,通过填补空隙破坏原始数据结构。若这些空白行用作逻辑分隔符或格式用途,这种情况往往会带来麻烦。
如果您希望删除重复项,同时完全保留所有空白行不变,这里有几种高效方法。这些方案能在不影响空白行的前提下清理列表,助您实现更专业的数据管理,并维持工作表的视觉结构。以下针对不同场景,为您介绍在 Excel 中达成此目标的多种解决方案。
删除重复使用公式和删除重复保留空白行
要删除重复项并保留空白行,可先借助辅助列识别并标记空白行,再使用 Excel 内置的“删除重复项”功能。这种组合方法既能确保保留唯一值,又不会影响任何现有的空白行。如果您倾向于采用以手动操作为主、集成度高的 Excel 工作流,并希望保留可见的辅助列,此方案尤为适用。
步骤 1. 在相邻列中(例如,若数据从 A1 开始,则从 B1 开始),输入以下公式以标记空白行:
=IF(LEN(TRIM(A1))=0,ROW(),"") 此公式用于检测 A1 单元格是否为空或仅包含空格:若满足条件,则显示当前行号;否则留空。将公式向下拖动至列表中所有条目旁,即可自动标记每个空白行。
注意:如果您的数据跨越多列,请根据需要调整引用(例如使用 )A1 或 B1)。使用 TRIM 可确保仅含空格的单元格也被视为空白。
步骤 2. 选择原始数据列和新的辅助列,然后转到数据> 删除重复。在弹出的对话框中,仅勾选原始列(而非辅助列)的复选框,即可基于目标数据识别重复项。

提示:请确保所选数据包含辅助列,但仅将原始数据列设为删除重复项的“关键”列,以免误删由辅助列标记的空白行。
步骤 3. 将弹出通知,显示已删除的重复值数量。单击确定即可确认并关闭提示。
此时,列表将显示所有唯一值以及原有的空白行。如不再需要,可删除辅助列。
适用场景:当您希望仅使用标准 Excel 函数且数据较为简单时,推荐此方法。若数据频繁更新,此方法并非全自动,需重复执行操作步骤。此外,删除重复项前务必备份数据——文件保存并关闭后,该操作将无法撤销!
故障排除:如果空白行仍被删除,请仔细检查辅助公式是否已正确标记所有空白行,并确认在对话框中仅将主列设为“删除重复”键。
使用选择重复/唯一单元格的选择并高亮重复项
Kutools for Excel 的选择重复/唯一单元格工具特别适用于在删除前直观识别重复项,且默认保留空白行。如果您希望在删除前手动审核重复项,或仅需高亮显示以便进一步处理,此解决方案非常出色。
1. 选择包含数据的区域(包括空白行),然后点击 Kutools > 选择 > 选择重复/唯一单元格。
2. 在选择重复/唯一单元格对话框中,于“规则”下选择重复项(除首个外)。您还可勾选填充背景颜色和填充字体颜色复选框,即可自动以自选颜色高亮重复项。
提示:若要选择整行重复数据,请选中完整的数据区域(而非仅单列),并相应地应用该工具。
3. 单击确定,将弹出对话框,报告已找到并选中的重复单元格或行数。单击确定即可关闭。
现在,列表中的重复项已被高亮显示,便于您按需手动删除,且不会影响任何空白行。
优势:更灵活、无风险,支持删除前审核;空白行默认不受影响。当您需要更强的视觉控制,或需逐项处理重复内容时,此方法尤为实用。
注意:如需批量删除重复项,可对高亮行区域进行排序或筛选,同时保留原始工作表的视觉结构。
Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取
演示:使用 Kutools for Excel 的选择重复/唯一单元格
VBA 宏:自动删除重复但保留空白行
对于需要频繁自动删除重复项、同时保留所有空白行的用户来说,使用 VBA 宏是一种高效实用的选择。借助宏,无论列表如何变化,您都能一键完成数据清理,且无需依赖辅助列。如果您的工作表结构保持一致,并希望获得一种可重复执行、兼顾性能与准确性的解决方案,此方法尤为理想。
注意:运行任何宏之前,请务必保存工作表的副本,因为操作一旦执行将难以撤销。
1. 转到开发工具 > Visual Basic。在 VBA 编辑器中,单击插入 > 模块,然后将下方代码粘贴到新模块窗口中:
Sub RemoveDuplicatesKeepBlankRows()
Dim ws As Worksheet
Dim lastRow As Long
Dim dict As Object
Dim cell As Range
Dim checkRange As Range
Dim i As Long
Set ws = ActiveSheet
Set dict = CreateObject("Scripting.Dictionary")
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
Set checkRange = ws.Range("A1:A" & lastRow)
Application.ScreenUpdating = False
For i = lastRow To 1 Step -1
Set cell = ws.Cells(i, 1)
If Trim(cell.Value) = "" Then
' Blank row, do nothing and keep row
Else
If dict.Exists(cell.Value) Then
cell.EntireRow.Delete
Else
dict.Add cell.Value, True
End If
End If
Next i
Application.ScreenUpdating = True
End Sub 2. 要运行代码,请单击
按钮,或在选中模块时按 F5. 宏将立即扫描第一列(A 列),删除重复值,同时保留所有原有空白行于原始位置。
工作原理:宏从指定列的底部向上遍历,自动识别最后一个非空单元格,智能适应不同长度的列表,在删除重复值的同时完整保留所有空白行。
参数与提示:
- 如果您的数据位于其他列,请将
Cells(i,1)中的列号更改为对应值(例如,B 列为 2,C 列为 3)。 - 该宏从第最后一行行向上运行,防止行移位干扰删除过程。
- 任何仅包含空格的单元格也会被视为空白。如果您只想识别真正的空单元格,请将
Trim(cell.Value) = ""替换为cell.Value = ""。
故障排除:如果宏未按预期运行,请检查目标列中是否存在合并单元格、隐藏行或意外的数据类型。
最适合:重复性清理操作、处理大型数据集,或在自动化工作流中运行宏的场景。
Excel 公式/高级筛选:提取唯一值同时保留空白行
如果您希望从原始数据中提取唯一值列表,同时保留空白行在原始位置,可以使用带条件公式的高级筛选,或巧妙运用 Excel 公式构建全新列表。当您需要为报表或进一步分析创建一个独立的去重列表,并完整保留包含空行在内的原始布局时,这种方法尤为实用。
您可使用以下公式构建唯一值列表,同时保留空白行在原始位置。以下是更简便的方法:
1. 在新列中(例如 B1)使用以下公式(假设您的原始数据位于 A1:A100):
=IF(TRIM(A1)="","",IF(COUNTIF(A$1:A1,A1)=1,A1,"")) 2. 将此公式向下拖动至所有数据行。唯一项将保留在其原始位置,重复项的后续出现将显示为空白,而原本空白的行也将保持空白。
注意事项:请确保数据中不含隐藏值或前导/尾随空格,以免影响唯一性判断。TRIM 函数可有效防范此类问题。对于旧版 Excel,可能需要调整处理方法,或借助辅助列配合手动筛选。
适用场景:创建新报表、并排对比数据列表,或为后续处理准备好已清理的数据。此方法同样适合希望仅使用公式、无需 VBA 或插件的用户。
最佳办公效率工具
| 🤖 | KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 高级 LOOKUP:多条件 VLookup | 多值 VLookup | 跨多工作表 VLookup | 模糊查找…… | |
| 高级下拉列表:快速创建下拉列表 | 级联下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列…… | |
| 特色功能:网格聚焦 | 设计视图 |增强编辑栏 | 工作簿和表管理器 | 资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表发送邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 精选 15 工具集:12 文本工具(添加文本,删除特定字符,……)| 50+ 图表 类型(甘特图,……)| 40+ 实用公式(基于生日计算年龄,……)| 19 插入工具(插入二维码,从路径插入图片,……)| 12 转换工具(小写金额转大写,汇率转换,……)| 7 合并和拆分工具(高级合并行,分割单元格,……)|……更多 |
使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……
Office Tab 为 Office 带来标签式界面,让您的工作更轻松
- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读。
- 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
- 将您的工作效率提升 50%,每天减少数百次鼠标点击!
所有 Kutools 插件,一个安装程序
Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。
- 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
- 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
- 协同效果更佳— 在多个 Office 应用中实现高效协同
- 30 天全功能试用— 无需注册,无需信用卡
- 超值之选— 比单独购买插件更省钱