在Excel中对空白单元格之间的数字求和

h9a6wy2h  于 2023-08-08  发布在  其他
关注(0)|答案(2)|浏览(150)

我在Excel中有一列数字。在此列中,任何数字后面都可以有空白单元格,但一行中永远不会有两个空白单元格。我想计算这些空白单元格之间的数字之和,在每个空白单元格之后,计数器基本上重置,函数计算空白单元格之间的另一组数字之和。我想让空白单元格之间的数字表现得像它自己的系统一样,也就是说,被空白单元格干扰的一组数字的累积和不会影响下一组数字。
所附的图像基本上给出了一个更好的例子。B2:B6是A2:A6的和,然后A8:A10是B8:B10的和,最后B7:B15是A7:A15的和。即使我不断地向A列添加数字和空白单元格,这个公式也应该有效。
理想情况下,我希望公式在我使用的Excel电子表格中,但它也可以在VBA中。谢谢!Screenshot for my Excel sheet example
我尝试添加一个中间列,在其中进行累积求和。在B2上,公式为=IF(ISBLANK(A2), "", IF(ISBLANK(A1), A2, B1 + A2))
这基本上是检查上一个和下一个单元格是否为空,如果不是,则取列B上的前一个单元格和行A上引用的单元格之和。这是非常简单的,但我还没有能够decifer如何复制这个累计和的最后一个值到上面的所有其他单元格。

h79rfbju

h79rfbju1#


的数据
将此公式复制到B2,按CTRL + SHIFT + ENTER并向下拖动。
根据您的需求定制A2:$A$1000

=IF(A2="";"";IF(ISNUMBER(B1);B1;SUM(A2:INDEX(A2:$A$1000;MATCH(TRUE;(A2:$A$1000="");0)))))

字符串
数组公式只对每个块的第一个数字进行计算,并复制到其他块

voj3qocg

voj3qocg2#

如果输入范围为A2:A12,则这是不使用CSE:

=LET(x,A2:A12,
     n,SCAN(1,x,LAMBDA(a,v,IF(ISNUMBER(v),a,a+1))),
     IF(ISNUMBER(x),BYROW(n,LAMBDA(r,SUM(FILTER(x,n=r)))),""))

字符串
(if您有最新版本的Excel)
可能有更优雅的方法,但我无法让SUMIF()LET()函数中工作。

相关问题