EXCEL每隔20行自动加一个空行可以做到吗?

2024-12-03 20:05:13
推荐回答(5个)
回答1:

EXCEL每隔20行自动加一个空行可以做到吗?
题目转述:
在excel中,第n+20*i行之前插入空行, n为固定值n=1~20,i=0,1,2,3,...
答:
以下公式中的n与m,视需要改成合适的数值。
方法一:
第一步:公式
在一个辅助列第一格输入函数:
=if (20-mod (-row(), 20)=n,"任意字符"," ")
然后下拉或选中整列,按ctrl-D向下填充复制公式。
此时,每隔20格出现一个非空格字符,其他为空格。

第二步:生成用作标记的单元格。
然后选中此列,复制,在新列或就在本列选择性贴入为值。
再选中此列,ctrl-H将空格替换为无

第三步:定位到标记单元格,插入空行。
然后选中此列,ctrl-G或F5定位,定位条件为常量,再用菜单-插入-新行。
注:快键:ctrl+shift+加号键,即插入新单元格或新行,选择插入新行即可。
对应的菜单功能是插入-单元格。也可以用右键-插入。

方法二:利用公式生成辅助列,再选择性贴入为编号列,对编号列排序。
注:注意选择性贴入不是必须的,但是利于恢复原序。当然为了保险起见,可以先建一个从1开始递增的辅助列,用于记录原序。
题:
比如数据区的末行为第m行, 仍然是第n+20*i行之前插入空行, n为固定值n=1~20,i=0,1,2,3,...
解法说明:
在辅助列输入公式:
=if(row()>m, n+20*row(A1)-20,row())
然后下拉或选中整列,按ctrl-D向下填充复制公式。
再选择性贴入为编号列,对编号列排序-递增为排列依据。

方法三:利用数据填充生成编号列,对编号列排序。
方法三,推荐 matador_ciao 的方法,并可用公式实现,从而即是方法二。
方法四:利用宏。现编现用的;集成为工具集的插件,等等。
这些方法,楼上很多朋友都讲到了。

略。我相信还可以改进、生成很多新方法和算法。所以抛砖引玉了。

回答2:

在原表做序号1、2、3.....。在下边接着做20.1、40.1、60.1......都可以下拉自动生成。光标在序号列任意格,点排序(升序)按钮,20.1、40.1等序号,就插在20、40等行的后面了。就插入空行了。

回答3:

1、如果数据在A:D列,那么在E列输入以下公式,然后向下填充公式
=INT(ROW(A20)/20)
2、然后在数据区域的下方空行,按1、2、3……填充序列;
3、复制E列,“选择性粘贴”为“数值”;
4、对E列升序排序,并扩展选定区域,即可实现每20行插入一个空行的效果;
5、根据需要删除辅助列,即可。

回答4:

可以的,方法有很多种,一种是编号排序把空行插入,一种是标记要插入行的地方通过定位插入行,还有就是利用函数

回答5:

以下的VBA代码,实现的功能是,在EXCEL表格中,每隔20行就自动插入新的一个空行。
Dim MyStr() As StringDim MyInsertRowCount '定义变量,每隔多少行插入空行
MyInsertRowCount = 20'
Dim j
j = 0
For i = 1 To Sheet1.UsedRange.Rows.Count
If (i Mod MyInsertRowCount = 0) Then
ReDim Preserve MyStr(i / MyInsertRowCount)
MyStr((i / MyInsertRowCount) - 1) = i
End If
Next i
For Each MyStri In MyStr
If (Trim(MyStri) <> "") Then
Sheet1.Rows(MyStri 1 j).Insert
End If
j = j 1
Next
End Sub