excel想每隔n行删1行,别傻乎乎手动数行删,最稳的方法是在数据右边加个辅助列,用公式把要删的行标出来,筛选完一次性批量删。本次操作环境是microsoft excel 365,下面示例里默认间隔n设为12,要是你需要每隔5行、8行或者20行删1行,直接改公式里对应的数字就行。
第一步:插入辅助列
在现有数据最右边插一列,列名随便填“辅助列”或者“删除标记”都可以。这一步不用纠结格式,主要是给后面的公式留个专门的区域,辅助列尽量紧挨着最后一列原始数据,后面做筛选的时候能和原表自动联动,不容易出错。

第二步:输入间隔标记公式
点进辅助列第一条数据对应的单元格,输入 =IF(MOD(ROW()-1,12)=0,"Delete","Keep"),输完往下拉填充整列。这个公式逻辑很简单:拿当前行号减1之后除以12,余数等于0的行就标成Delete,剩下的都返回Keep。公式里的 12 就是你设定的间隔行数,想每隔8行删1行就把12改成8,要每隔20行删就改成20。

第三步:筛选出Delete标记
选中全部数据区域,点开辅助列表头的筛选按钮,只保留 Delete,把 Keep 的勾选取消。筛选完页面上只会显示所有待删除的行,如果筛出来的行数明显和你预期的对不上,先退回到第二步检查公式,看看起始行是不是对应上了你第一条数据的行位置。

第四步:删除筛选后的整行
筛选结果不要改动,直接框选所有当前可见的数据行,去顶部「开始」选项卡的「删除」菜单里,点「删除工作表行」。注意别直接按键盘上的Delete键,那样只会清掉单元格里的内容,空行还留在表里没删掉。删完之后取消筛选,行号会自动连续,之前要去掉的间隔行就都清干净了。

要是你原表的第一条数据不是从第2行开始的,公式里ROW()后面的减数也要对应调整:第一条数据在第3行,就把 ROW()-1 改成 ROW()-2;第一条数据在第5行,就改成 ROW()-4。先确认第一条要删的行正好落在12、24、36这种间隔位置上,再批量删行,结果就不会出错。











