如何在现有行之间插入n个空行

时间:2017-05-24 05:09:53

标签: excel

有人可以建议我在现有数据之间插入n个空白行的程序或公式吗?

例如: 我有从A1到A50的数据,现在我在每行之间插入了n行空白行。

输入:

enter image description here

必需的输出:

enter image description here

3 个答案:

答案 0 :(得分:1)

考虑这个截图: enter image description here

在单元格C3中输入要在列A的单元格之间插入的行数。此单元格的范围名称为" RowsToInsert"。或者,您可以在下面的公式中使用$C$3

细胞E2中的公式是

=INDEX(A:A,CEILING(ROW(A1)/(RowsToInsert+1),1))

或手动输入第一个值。 E3中的公式如下,复制下来:

=IF(CEILING(ROW(A2)/(RowsToInsert+1),1)=CEILING(ROW(A1)/(RowsToInsert+1),1),"",INDEX(A:A,CEILING(ROW(A2)/(RowsToInsert+1),1)))

更改单元格C3中的值时,会相应地添加空行。根据需要将公式复制下来。然后复制E列并使用Paste Special>要粘贴结果的值。

答案 1 :(得分:0)

我会使用VBA来实现您的需求,这就是我建议的代码

Dim n As Long 'number of blanks
Dim dataLen As Long ' number of used rows
Dim currentRow As Long
Dim i, j As Long

dataLen = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
n = 3 'number of blanks
currentRow = 2 'start insert at row 2

For i = 1 To dataLen
    For j = 1 To n
    Sheet1.Rows(currentRow).Insert
    Next j

    currentRow = currentRow + n + 1 'offset the next row to start insertion 
Next i

答案 2 :(得分:0)

使用公式我想这会有点复杂。 这是你想要的吗? = IF(ROW(B1) - (9 * TRUNC(ROW(B1)/ 9,0))= 1,"一个",IF(ROW(B1) - (9 * TRUNC(ROW(B1 )/ 9,0))= 4" 2",IF(ROW(B1) - (9 * TRUNC(ROW(B1)/ 9,0))= 7,"三&# 34;,"")))