跳至主要内容

删除 Excel 中的空行:4 种简单方法

根据您的需求,通过排序、公式和 VBA,快速删除多余行。
· 5分钟 阅读

使用 AI 探索

在 Excel 中,空行常见于从其他系统导出数据、无意中留出空白,或合并不同工作表时。这些空白会干扰数据排序、筛选和分析等关键任务。它们会拖慢您的进度,而且一不小心还可能导致错误。

本文将向您展示删除这些空行的四种不同方法。

快速答案:删除一行空白行

要在 Excel 中删除一行空白行:

  1. 选中要删除的行。要选择多行,请按住Ctrl 并逐一单击。

  2. 右键单击并选择删除。

  3. 在弹出窗口中,选择上移单元格。

在 Excel 中删除空行。

删除 Excel 空行的方法

下面分步骤介绍几种可用于删除空行的方法,并配有清晰示例,帮助您快速上手。

方法一:使用 COUNTA() 仅删除完全空白的行

COUNTA() 函数用于统计区域内非空单元格的数量。我们可以用它来识别完全空白的行。这在避免删除包含部分数据的行时特别有用。

具体步骤如下:

  1. 在数据集旁创建一个辅助列。在首个单元格中输入 =COUNTA(A2:C2)=0。

  2. 向下拖动复制公式。若整行为空,则显示 True;若包含任意非空值,则显示 False。

  3. 现在选中显示 True 的单元格,转到开始选项卡,单击删除工作表行,一次性删除整行。

在 Excel 中使用 COUNTA() 函数删除整行空白行。

方法二:使用 FILTER() 进行基于公式的数据清理

FILTER() 函数不会直接删除行。它会在单独的区域返回一份不含空白的新数据版本。这样您可以保留原始数据,同时在干净视图中处理。但请注意,FILTER() 仅适用于 Excel 365 和 Excel 2021。

这里我有一个包含空行的数据集,为清理空行,使用以下公式(请根据您的数据调整区域):

=FILTER(A2:A10, NOT(ISBLANK(A2:A10)))

该公式中:

  • FILTER() 从满足条件的区域返回数据。

  • A2:A10 为被筛选的区域。

  • ISBLANK(A2:A10) 用于检查空单元格。

  • NOT(...) 反转结果,因此仅返回 A 列中的非空单元格并跳过空白。

此方法一次只适用于一列。如果您处理多列,需要调整公式,选中新的列并水平拖动复制。

在 Excel 中使用 FILTER() 公式删除空行。

方法三:通过排序将空行推到末尾

在 Excel 中排序 会基于一个或多个列的值重新排列数据。例如,将姓名列按 A 到 Z 排序,会在保持每行数据对应关系不变的前提下,让全表按字母顺序排列。

当您对某一列进行排序时,Excel 会把所有空行移动到工作表底部。这样您可以轻松滚动到底部,一次性删除它们。

操作步骤如下:

  1. 选择您的数据。
  2. 转到数据选项卡并单击排序。
  3. 在排序对话框中,选择任意一列(不要选择仅包含数字的列),保持其他设置不变,单击确定。
  4. Excel 将按升序排序数据,并把空行推到末尾。
  5. 选中这些空行,右键单击并删除它们。

为保留原始顺序,可在排序前添加一个索引列。删除空行后,再按索引排序以恢复原始布局,最后删除索引列。

方法四:使用 VBA 自动删除空行

VBA(Visual Basic for Applications) 可以自动化许多 Excel 任务,包括同时删除多行空白。简单做法如下:

  • 按 Alt + F11 打开Visual Basic 编辑器。

  • 单击插入 > 模块 创建新模块。

  • 将以下代码粘贴到模块中:

Sub DeleteBlankRows()
    Dim rng As Range
    Dim row As Range

    On Error Resume Next
    Set rng = ActiveSheet.UsedRange

    For Each row In rng.Rows
        If Application.WorksheetFunction.CountA(row) = 0 Then
            row.Delete
        End If
    Next row
End Sub

在 Excel 中通过 VBA 编辑器删除整行空白。

关闭编辑器并按 Alt + F8 运行名为 DeleteBlankRows 的宏。它只会删除所有单元格都为空的行,不会影响仅有部分单元格为空的行。

运行宏以删除 Excel 中的空行。

不同方法对比

下面这张简表可帮助您快速对比上述方法的差异。

方法最佳用途优点缺点
COUNTA()删除完全为空的行非常准确,可保护部分填充的行需要多做几步
FILTER()获得干净列表且不删除原始数据可自动更新一次仅能处理一列,除非修改。
排序并删除当不关心顺序时批量删除空行对长表格非常快速会改变原始行序,需要创建索引作为辅助列
VBA 宏在大型文件中即时删除完全空白的行极快,可自动处理超大数据集需要使用 VBA 编辑器,对初学者不太友好

结语

开始删除之前,请记住,有些空行可能是有意为之,例如用于分隔部分、提升可读性。此时更好的做法可能是隐藏这些行或使用条件格式。请始终选择最适合您的数据与目标的方法。

如果您想全面提升 Excel 技能,可以看看 Data Analysis in Excel 或 Data Visualization in Excel 等课程。它们能帮助您掌握真正用得上的技能。

Laiba Siddiqui

作者

Laiba Siddiqui

我是内容策略专家,热衷于将复杂主题化繁为简。我曾帮助 Splunk、Hackernoon 和 Tiiny Host 等公司为其受众打造兼具吸引力与信息量的内容。

Excel 常见问题

我可以使用条件格式来高亮 Excel 中的空行吗?

可以,您可以使用条件格式仅识别完全空白的行。操作如下:

  • 选择您要检查的行范围。
  • 转到开始 > 条件格式 > 新建规则。
  • 选择使用公式确定要设置格式的单元格。
  • 输入此公式(根据表格调整范围):=COUNTA($A2:$C2)=0
  • 设置一种格式(如填充颜色),然后单击确定。

现在,只有完全空白的行会被高亮显示。

如何使用 COUNTBLANK() 函数识别并删除 Excel 中的空行?

COUNTBLANK() 只能识别完全空白的行。使用方法如下:

  • 添加一个辅助列,在首个单元格输入 =COUNTBLANK(A2:D2)

  • 向下复制该公式。

  • 现在对辅助列应用筛选,将其筛选为仅显示计数等于总列数(如 4)的行。

  • 选中并删除筛选出的行。

  • 如不再需要,删除辅助列。

空白行与包含不可见字符的行有区别吗?

是的,包含不可见字符(如空格或不可打印字符)的行并非真正的空白,可能需要额外清理。

我可以使用 Power Query 删除 Excel 中的空行吗?

可以。步骤如下:

  • 将您的区域加载到 Power Query(数据 > 从表/区域)。
  • 在Power Query 编辑器窗口,转到开始 > 删除行 > 删除空白行。
  • 单击关闭并加载。

这样将删除空白行,其它空单元格将保持不变。

提示: 如果您不想改变原始格式,请避免使用此方法。

主题