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

  • Share This
Michael Brown

这个简短的教程解释了如何通过过滤或用VBA代码删除Excel中的其他每一行。 你还将学习如何删除每第三、第四或任何其他第N行。

在很多情况下,你可能需要删除Excel工作表中的备用行。 例如,你可能想保留偶数周的数据(第2、4、6、8等行),并将所有奇数周的数据(第3、5、7等行)移到另一张工作表中。

一般来说,在Excel中删除每一个其他的行,可以归结为选择交替的行。 一旦选择了这些行,就可以在Excel上划一下 删除 在本文中,你将学习一些技巧,以快速选择和删除Excel中的每一个或每N个行。

    如何通过过滤删除Excel中的其他每一行

    实质上,在Excel中删除其他每一行的常用方法是这样的:首先,你过滤交替的行,然后选择它们,并一次性删除。 详细步骤如下。

    1. 在原始数据旁边的空栏中,输入一连串的0和1,你可以通过在第一个单元格输入0,在第二个单元格输入1,然后复制前两个单元格并向下粘贴,直到最后一个有数据的单元格。

      或者,你也可以使用这个公式。

      =MOD(ROW(),2)

      该公式的逻辑非常简单:ROW函数返回当前行号,MOD函数将其除以2并返回四舍五入的余数。

      结果,你在所有偶数行中都有0(因为它们被2均匀地除以,没有余数),在所有奇数行中有1。

    2. 根据你要删除的是偶数还是奇数行,过滤掉1还是0。

      要做到这一点,选择你的帮助列中的任何单元格,到 数据 标签> 排序和过滤 组,并点击 过滤器 下拉式过滤器的箭头将出现在所有的标题单元格中。 你点击帮助者列中的箭头按钮,并勾选其中一个方框。

      • 0表示删除偶数行
      • 1,删除奇数行

      在这个例子中,我们要删除数值为 "0 "的行,所以我们要过滤它们。

    3. 现在所有的 "1 "行都被隐藏了,选择所有可见的 "0 "行,右键点击选择,然后点击 删除行 :

    4. 上面的步骤给你留下了一个空表,但不要担心,"1 "行仍然在那里。 要使它们再次可见,只需通过点击自动过滤来删除。 过滤器 再一次按下按钮。

    5. C列中的公式为剩余的行重新计算,但你不再需要它了。 现在你可以安全地删除帮助列。

    结果,我们的工作表中只剩下偶数周,奇数周已经不存在了!"。

    提示:如果你想把其他每一行都移到其他地方,而不是完全删除它们,首先复制被过滤的行并粘贴到一个新的位置,然后再删除被过滤的行。

    如何用VBA删除Excel中的备用行

    如果你不愿意把时间浪费在一个琐碎的任务上,比如删除Excel工作表中的每一行,下面这个VBA宏可以为你自动完成这个过程。

    Sub Delete_Alternate_Rows_Excel() Dim SourceRange As Range Set SourceRange = Application.Selection Set SourceRange = Application.InputBox("范围:" , "选择范围" , SourceRange.Address, Type :=8) If SourceRange.Rows.Count>= 2 Then Dim FirstCell As Range Dim RowIndex As Integer Application.ScreenUpdating = False For RowIndex = SourceRange.Rows.Count - (SourceRange.Rows.Count Mod 2) To 1第2步 Set FirstCell = SourceRange.Cells(RowIndex, 1) FirstCell.EntireRow.Delete Next Application.ScreenUpdating = True End If End Sub

    如何使用宏来删除Excel中的其他每一行

    通过Visual Basic编辑器,以常规方式在工作表中插入宏。

    1. 按Alt + F11打开Visual Basic for Applications窗口。
    2. 在顶部菜单栏,点击 插入 > 模块 ,并将上述宏粘贴在 模块
    3. 按F5键运行该宏。
    4. 会弹出一个对话框,提示你选择一个范围。 选择你的表格,然后点击确定。

    完成!所选范围内的其他每一行都被删除。

    如何删除Excel中的第N行

    在这项任务中,我们将扩展我们用来删除其他每一行的过滤技术。 不同之处在于过滤所基于的公式。

    MOD(ROW()- m , n )

    在哪里?

    • m 是第一个有数据的单元格的行号减去1。
    • n 是你要删除的第N行

    假设你的数据从第2行开始,你想删除每3行。 因此,在你的公式中 n 等于3,而 m 等于1(第2行减去1)。

    =mod(row() - 1, 3)

    如果我们的数据从第3行开始,那么 m 这种修正是为了从数字1开始,按顺序对各行进行编号。

    该公式所做的是将一个相对的行数除以3,然后返回除法后的余数。 在我们的例子中,每第三行的结果都是0,因为每第三行的数字都除以3,没有余数(3,6,9,等等)。

    而现在,你执行已经熟悉的步骤来过滤 "0 "行。

    1. 选择表格中的任何单元格并点击 过滤器 上的按钮。 数据
    2. 过滤 "帮助 "栏,只显示 "0 "值。
    3. 选择所有可见的 "0 "行,右键单击并选择 删除行 从上下文菜单中选择。
    4. 删除过滤器,并删除 "帮助者 "列。

    以类似的方式,你可以删除Excel中的第4、5或任何其他N行。

    提示:如果你需要删除不相关的数据的行,下面的教程会有帮助:如何根据单元格的值删除行。

    我感谢你的阅读,并希望下周在我们的博客上再次见到你。

    Michael Brown is a dedicated technology enthusiast with a passion for simplifying complex processes using software tools. With more than a decade of experience in the tech industry, he has honed his skills in Microsoft Excel and Outlook, as well as Google Sheets and Docs. Michael's blog is dedicated to sharing his knowledge and expertise with others, providing easy-to-follow tips and tutorials for improving productivity and efficiency. Whether you're a seasoned professional or a beginner, Michael's blog offers valuable insights and practical advice for getting the most out of these essential software tools.