如何在 Excel 中删除每隔一行或每 N 行

17 Mar 2025 | 6 分钟阅读

在您的 Excel 生涯中,会遇到很多情况需要删除工作表中的隔行。例如,您被要求分享隔月的数据(包含一月、三月、五月、七月、九月和十一月数据的行),并希望将剩余的数据转移到另一个工作表中。

完成此项任务的简单方法是选择工作表中的每个隔行,然后一键删除它们。虽然这种方法通常有效,但在本教程中,我们还将介绍其他可以快速选择并删除隔行或每 N 行的技术。

涵盖的主题

  1. 使用筛选方法在 Excel 中删除隔行
  2. 使用 VBA 在 Excel 中删除隔行的步骤
  3. 在 Excel 中删除每 N 行

使用筛选方法在 Excel 中删除隔行

删除隔行最快捷简单的方法是筛选出这些行,选中它们,然后一起删除。 请执行以下步骤,使用筛选方法在 Excel 中删除隔行:

  1. 打开工作表,在原始数据旁边选择一个空列。添加一个辅助列,我们将在其中输入一系列的 0 和 1(这有助于筛选出奇数行或偶数行)。只需在第一个单元格中输入 0,在第二个单元格中输入 1,然后快速向下拖动到最后一个单元格,它会自动为您填充剩余的序列。

    您也可以选择使用下面给出的公式。

上述公式的解释非常简单。Excel 的 ROW 函数返回当前行号,MOD 函数将行号除以 2 并返回余数(四舍五入为整数)。

How to Delete every other row or every Nth row in Excel
  1. 要筛选偶数行,请点击“数据”选项卡 > 点击“数据”-> 筛选选项。
    How to Delete every other row or every Nth row in Excel
  2. 您会注意到在标题单元格的顶部会出现下拉筛选箭头。您只需点击辅助列中的箭头按钮,就会看到以下选项:
    • 0 用于删除偶数行
    • 1 用于删除奇数行

选择“0 删除每一行”的选项。

How to Delete every other row or every Nth row in Excel
  1. 由于在我们的例子中,我们被要求删除偶数值,因此我们将选择值为“0”的行,然后进行筛选。
    How to Delete every other row or every Nth row in Excel
  2. 结果,所有值为 1 的行都将被隐藏。因此,我们将选择可见的 0 行,然后点击“删除行”选项。
    How to Delete every other row or every Nth row in Excel
  3. 完成上述步骤后,表格看起来是空的,但别担心,值为“1”的行仍然存在。
    How to Delete every other row or every Nth row in Excel
  4. 为了让剩余的数据再次可见,我们将通过再次点击筛选按钮来移除筛选选项。
    How to Delete every other row or every Nth row in Excel

注意:一旦您取消筛选行,您可能会再次看到 0 和 1 的序列,因为应用于 C 列的公式会为剩余的行重新计算模数,但我们的工作已经完成,所以我们不再需要它了。

  1. 删除辅助列,因为它已不再有用。
  2. 删除隔行后,您将得到筛选后的数据。
    How to Delete every other row or every Nth row in Excel

很简单,不是吗?让我们转到下一种技术,我们将使用 VBA 编码来删除隔行。

如何使用 VBA 在 Excel 中删除隔行

如果您对编码感兴趣,并喜欢使用高级 Excel,您也可以使用 Excel VBA 并通过宏来创建自己的表单。当您为别人创建表格时,这也很有用;您的用户可能不知道在哪里找到“表单”按钮。此外,许多人仍然不知道 Microsoft Excel 中存在这样的功能。为了更突出这个功能,您可以直接在 VBA 宏中编写代码,并在 Excel 工作表上直接放置一个特殊按钮来运行该宏。

请按照以下步骤操作。

  1. 转到“开发工具”选项卡->点击“Visual Basic”窗口。
    How to Delete every other row or every Nth row in Excel
  2. 这将打开编辑器窗口,点击“插入”->“模块”。
  3. 要在您的 Excel 窗口中打开数据输入表单,请输入以下代码。

代码

完成程序编写后,下一步是运行 VBA 代码。让我们看看如何在 Excel 工作表中运行已创建的宏。

如何在 Excel 中使用宏删除隔行

以下是借助 VBA 编辑器在 Excel 工作表中插入宏的步骤:

  1. 转到“开发工具”选项卡->点击“Visual Basic”窗口。
    How to Delete every other row or every Nth row in Excel
  2. 这将打开编辑器窗口。
  3. 点击运行选项卡或直接按 F5 快捷键来运行宏。
    How to Delete every other row or every Nth row in Excel
  4. 将出现一个对话框窗口,询问范围,快速输入您表格中需要删除隔行的范围,并提示您选择一个范围。点击“确定”按钮。
    How to Delete every other row or every Nth row in Excel
  5. 结果,您 Excel 表格中选定范围的隔行将被删除。

快速又简单,对吧!

到目前为止,在本教程中,我们介绍了删除隔行的不同方法,那么如果我们想在 Excel 工作表中删除第 N 行该怎么办呢?

在 Excel 中删除每 N 行的步骤

删除每 N 行,是删除隔行筛选技术的升级版。只需对上述 mod 公式稍作修改,我们就可以将筛选技术扩展到删除每 n 行。公式如下所示:

其中

  • m 表示第一个带数据单元格的行号 - 1
  • n 表示您想从工作表中删除的第 N 行的数字

示例 1:假设您有以下数据(从第 2 行开始),并被要求删除每第 4 行。

我们将使用上述公式,其中 n 等于 4,m 等于 1。

因此,公式变为

以下是借助 VBA 编辑器在 Excel 工作表中插入宏的步骤:

  1. 打开工作表,在原始数据旁边选择一个空列。添加一个辅助列,我们将在其中应用公式来得到一系列余数(这有助于筛选出每第 4 行)。
    How to Delete every other row or every Nth row in Excel
  2. 应用以下公式并向下拖动填充单元格。

上述公式会将行号除以 4,并在每次除法后在选定的单元格中返回余数。例如,在我们的案例中,每除到第四行时它会返回零,因为每第 4 行都能被 4 整除(4、8、12 等)。

  1. 选择辅助列。转到“数据”->“筛选”。
    How to Delete every other row or every Nth row in Excel
  2. 您会注意到在标题单元格的顶部会出现下拉筛选箭头。您只需点击辅助列中的箭头按钮,取消选中所有其他选项,只选择“0 以删除每第 4 行”的选项。
    How to Delete every other row or every Nth row in Excel
  3. 它会筛选出单元格,并显示输入数据为 0 的行。选择可见的单元格,右键单击并从弹出窗口中选择“删除行”。
    How to Delete every other row or every Nth row in Excel
  4. 上述步骤会让您的表格变空。要使剩余的数据可见,请从辅助列中移除筛选,并最终删除该列。
    How to Delete every other row or every Nth row in Excel
  5. 您将得到如下所示的输出,其中您已经删除了工作表的每第 4 行。
    How to Delete every other row or every Nth row in Excel

遵循类似的技术,您可以在 Microsoft Excel 中删除每第 6 行、第 7 行或任何其他第 N 行。