如何在一组数据之后自动插入空白行

我在下面创build了一个与Excel表类似的示例表,它可以用来说明这个问题。 我想简单地在column1中的每个不同的数据之后添加一行(最简单的方法,使用excel,谢谢)。

_

当前表:

column1 | column2 | column3 ---------------------------------- A | small | blue A | small | orange A | small | yellow B | med | yellow B | med | blue C | large | green D | large | green D | small | pink 

_

希望桌子

注意:每个不同列之后的空白行

 column1 | column2 | column3 ---------------------------------- A | small | blue A | small | orange A | small | yellow B | med | yellow B | med | blue C | large | green D | large | green D | small | pink 

这正是你所要求的,检查行,并在列A中的每个更改插入一个空的空行:

 sub AddBlankRows() ' dim iRow as integer, iCol as integer dim oRng as range set oRng=range("a1") irow=oRng.row icol=oRng.column do ' if cells(irow+1, iCol)<>cells(irow,iCol) then cells(irow+1,iCol).entirerow.insert shift:=xldown irow=irow+2 else irow=irow+1 end if ' loop while not cells (irow,iCol).text="" ' end sub 

我希望你能开始,让我们知道!

菲利普

弄清楚了。

步骤1

在column1的左侧放置一个新列,然后复制并粘贴以下公式

= B2 = B3

= B3 = B4

= B4 = B5

一直到底部(假设B列在原始问题中是列1)。

此公式评估下一行是否为column1中的新值。 取消结果,你将会有TRUE或FALSE。 将这些结果复制并粘贴为值,然后将“FALSE”replace为零,将“TRUE”replace为0.5

第2步

然后将这个只填满0.5的列添加到列1中,这将产生下表:

  newcolumn0 | column1 ("B") | column2 | column3 ----------------------------------------------------- | 1 | small | blue | 1 | small | orange 1.5 | 1 | small | yellow | 2 | med | yellow 2.5 | 2 | med | blue 3.5 | 3 | large | green | 4 | large | green 4.5 | 4 | small | pink 

第3步

最后,复制并粘贴column1中值的正下方newcolumn0的值,然后按column1对表进行sorting,并且在column1的每个不同的整数之间应该有一个空行,表中的内容如下所示:

  newcolumn0 | column1 ("B") | column2 | column3 --------------------------------------------------------------- | 1 | small | blue | 1 | small | orange 1.5 | 1.5 | | | 1 | small | yellow | 2 | med | yellow | 2 | med | blue 2.5 | 2.5 | | | 3 | large | green 3.5 | 3.5 | | | 4 | large | green | 4 | small | pink 4.5 | 4.5 | | 

替代解决scheme(仍然没有VBA)

  1. 把值1列1,行2(假设这是A2)
  2. 把这个公式放在A3 =IF(B3=B2,A2,A2+1)并复制+粘贴这个公式到第二列的其余部分
  3. 然后将第1列中的所有值复制并粘贴到一个新的临时excel表中,删除重复项,然后将0.5添加到所有数字中,然后将这些值粘贴到原始电子表格中低于第1列中数据的值上,将所有数据粘贴到值,然后按该列进行sorting,删除临时excel表

select你的数组,包括列标签,DATA> Outline -Subtotal,在column1的每一个变化中,使用函数Count,将小计增加到:column3,勾选Replace current subtotals和Summary below data,OK。

筛选并selectColumn1,文本筛选器,包含…,计数,确定。 select除标签外的所有可见内容并删除内容。 删除filter,如果需要,取消组合行。

如果数据不是连续的(1 2 3 4,但是5 7 3 1 5),那么这将不起作用,因为在这种情况下,您无法对其进行分类。

以下是我如何解决这个问题:

列每个数字之间需要包含5行的初始数据 – 5 4 6 8 9

列B – 1 2 3 4 5(最后一个数字表示您需要在列A中的数字之间的空行数)在列B中复制粘贴1-5,只要列A中有数字。

跳转到D列,在D1types1中。在D2中input这个公式 – =IF(B2=1,1+D1,D1)将其拖动到与列B相同的长度。

返回C列 – 在C1单元格中键入此公式 – =IF(B1=1,INDIRECT("a"&(D1)),"") 。 把它拖下来,我们完成了。 现在在C列中,我们有与A列相同的数字序列,分别由4行分布。

只是一个想法,如果你知道类别,上面提到的小,中,大…

在工作表的底部,制作只有小,中,大的3行,将字体更改为白色,然后进行sorting,以便按字母sorting,在每个部分之间放置一个空行。

  1. 在表格“Control”左边插入一列
  2. 将数据编号为1到1000(假设有1000行)
  3. 将关键字段复制到另一个工作表并删除重复项
  4. 在第1000条logging之后,将唯一的行项目复制到主工作表
  5. 在“控制”列中,将数字1001添加到所有唯一logging
  6. 对数据进行sorting(包括添加的logging),首先在关键字段上,然后在“控制”
  7. 添加一个空白行(在关键字段和“控制”中添加数据)

我在Excel中有一个很大的文件来处理共同基金单位的买卖。 工作表中的行数超过4000.我没有VBA的经验,并希望使用基本的Excel。 从上面提出的解决scheme中,我试图解决这个问题(自动插入空行),方法如下:

  1. 我根据控制字段sorting我的文件
  2. 我在文件中添加了一列
  3. 我使用“IF”function来确定控制数据何时发生变化。
  4. 如果有变化,结果将显示“是”,否则显示“否”
  5. 然后我筛选了数据,将所有“是”项目分组
  6. 我复制了共同基金名称,对开号码等(没有财务数据)
  7. 然后我删除了filter并重新sorting文件。 结果是在所需的地方添加了一行。 (这不完全是一个空白的行,因为如果它是完全空白的,sorting不会将行放在所需的位置。)
  8. sorting后,您可以轻松删除所有值以获得完全空白的行。

读者也可以尝试这种方法。