如何仅使用本机公式知道Excel或Google Spreadsheet中列的第一个空白单元格

假设A2,A3,A4被填充。 A5,A6是空的。 A7-10被填满。

有没有办法知道A5是A2之后的第一个空白单元?

例如,

A1 | =sum(...) A2 | 3 A3 | 4 A4 | 1 A5 | A6 | =sum(...) A7 | 2 A8 | 5 A9 | 7 A10| 10 

我们可以使用什么公式replace“…”,以便将下面的单元求和直到下一个空白单元? 即。 A1 sum(A2:A4)上的公式可以通过复制粘贴在A6上重新使用sum(A7:A10)吗?

这是我的失败尝试的故事。

所以起始行很容易得到。 刚刚放在A2 。 对于最后一行,Google Spreadsheet不会将""与空单元格等同起来。 所以sum(A2:index(match("",A2:A)))将不起作用。

无论内容如何,​​带数组input的isblank()都会给出单个输出FALSE 。 所以sum(A2:index(match(TRUE,isblank(A2:A))))将不起作用。

我能做些什么来使它工作?

在行1中列标题后跟一个空白行,列A中的示例数据,被1个或多个空白单元格中断…

  1. 在列B中find每个组的最上面一行

    B3: =AND(NOT(ISBLANK(A3)),ISBLANK(A2))

  2. 在列C中build立一个组值

    C3: =IF(AND(NOT(ISBLANK(A3)),ISBLANK(A2)),C2+1,C2)

  3. 为D列中的每个组build立一个条件总和

    D3: =sumif($C$3:$C$25,C3,$A$3:$A$25)

  4. 在E栏中结合以上所有内容

    E3: =if(AND(NOT(ISBLANK(A3)),ISBLANK(A2)),sumif($C$3:$C$25,C3,$A$3:$A$25),"")

在每一步之后,从第3行复制公式直到表的结尾。 注意SUMIF()函数的绝对地址。

毕竟这一切都可以让你满意,你可以扔掉B列和D列,只是为了说明我们是如何build立起来的,而不是用在最后的公式中。

在这里输入图像说明

在任何单元格中,您需要求和函数,范围将从公式开始一行,并在find第一个空白单元格时结束。 如果是的话,这应该工作:

 =sum(indirect("A"&row()+1&":A"&MIN(ArrayFormula(filter(row(indirect("A"&row()+1&":A")); indirect("A"&row()+1&":A")=""))))) 

这个公式可以简单地复制粘贴。