Table of contents
这个简短的教程解释了如何通过过滤或用VBA代码删除Excel中的其他每一行。 你还将学习如何删除每第三、第四或任何其他第N行。
在很多情况下,你可能需要删除Excel工作表中的备用行。 例如,你可能想保留偶数周的数据(第2、4、6、8等行),并将所有奇数周的数据(第3、5、7等行)移到另一张工作表中。
一般来说,在Excel中删除每一个其他的行,可以归结为选择交替的行。 一旦选择了这些行,就可以在Excel上划一下 删除 在本文中,你将学习一些技巧,以快速选择和删除Excel中的每一个或每N个行。
如何通过过滤删除Excel中的其他每一行
实质上,在Excel中删除其他每一行的常用方法是这样的:首先,你过滤交替的行,然后选择它们,并一次性删除。 详细步骤如下。
- 在原始数据旁边的空栏中,输入一连串的0和1,你可以通过在第一个单元格输入0,在第二个单元格输入1,然后复制前两个单元格并向下粘贴,直到最后一个有数据的单元格。
或者,你也可以使用这个公式。
=MOD(ROW(),2)
该公式的逻辑非常简单:ROW函数返回当前行号,MOD函数将其除以2并返回四舍五入的余数。
结果,你在所有偶数行中都有0(因为它们被2均匀地除以,没有余数),在所有奇数行中有1。
- 根据你要删除的是偶数还是奇数行,过滤掉1还是0。
要做到这一点,选择你的帮助列中的任何单元格,到 数据 标签> 排序和过滤 组,并点击 过滤器 下拉式过滤器的箭头将出现在所有的标题单元格中。 你点击帮助者列中的箭头按钮,并勾选其中一个方框。
- 0表示删除偶数行
- 1,删除奇数行
在这个例子中,我们要删除数值为 "0 "的行,所以我们要过滤它们。
- 现在所有的 "1 "行都被隐藏了,选择所有可见的 "0 "行,右键点击选择,然后点击 删除行 :
- 上面的步骤给你留下了一个空表,但不要担心,"1 "行仍然在那里。 要使它们再次可见,只需通过点击自动过滤来删除。 过滤器 再一次按下按钮。
- 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编辑器,以常规方式在工作表中插入宏。
- 按Alt + F11打开Visual Basic for Applications窗口。
- 在顶部菜单栏,点击 插入 > 模块 ,并将上述宏粘贴在 模块
- 按F5键运行该宏。
- 会弹出一个对话框,提示你选择一个范围。 选择你的表格,然后点击确定。
完成!所选范围内的其他每一行都被删除。
如何删除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 "行。
- 选择表格中的任何单元格并点击 过滤器 上的按钮。 数据
- 过滤 "帮助 "栏,只显示 "0 "值。
- 选择所有可见的 "0 "行,右键单击并选择 删除行 从上下文菜单中选择。
- 删除过滤器,并删除 "帮助者 "列。
以类似的方式,你可以删除Excel中的第4、5或任何其他N行。
提示:如果你需要删除不相关的数据的行,下面的教程会有帮助:如何根据单元格的值删除行。
我感谢你的阅读,并希望下周在我们的博客上再次见到你。