Excel 空白单元格小计

Excel 空白单元格小计

我的 Excel 数据如下

10
15
12

3
2

5
3

我希望它返回如下小计

10
15
12
    37
3
2
    5
5
3
    8

有没有办法在 Excel 中实现这一点?

答案1

一个可能有一定用处并且可能更加通用的替代方法(也可以避免在没有手边/容易重新创建的情况下出现“怪物”)是将更多熟悉的操作串联在一起。

假设:ColumnA是‘备用’;值在ColumnBRow1包含标签,并且C1其中包含某些内容(例如‘总和’)。

需要识别值“块”,因此过滤A:C,取消勾选(Blanks)B输入“v”A2并复制到最后一个蓝色行号。

选择A1:C{last blue row number},删除过滤器(如果需要分组),在每个更改处用“(A 列)”进行小计,使用函数:“Sum”,将小计添加到:勾选“Sum” OK,。

删除空白行(例如通过过滤ColumnA),然后删除ColumnA

选择ColumnB,查找内容:',B',替换为:',A',单击Replace All

总计为奖金。

答案2

我想出了这个怪物,但它工作得很好,你可以直接把它复制下来:

=IF(ISBLANK(A4),SUBTOTAL(9,OFFSET(B4,IFERROR(MATCH(0,$B$1:B3,-1),1)-ROW(),-1,ROW()-IFERROR(MATCH(0,$B$1:B3,-1),1),1)),"")

这是我的原文(德语):

=WENN(ISTLEER(A4);TEILERGEBNIS(9;BEREICH.VERSCHIEBEN(B4;WENNFEHLER(VERGLEICH(0;$B$1:B3;-1);1)-ZEILE();-1;ZEILE()-WENNFEHLER(VERGLEICH(0;$B$1:B3;-1);1);1));"")

因此,当 A 列中的单元格为空时,进行求和,将上述值相加,直到最后一次求和或为 1。

如果论坛不清楚,请随时询问具体信息。

编辑

用伪代码/解释代码来说:

IF(ISBLANK(A4),SUBTOTAL(),"")

如果A列当前行的单元格为空,则计算小计,否则不显示任何内容。

SUBTOTAL(9,RANGE)

使用 sum 函数 (9) 根据给定的范围创建小计

RANGE = OFFSET(B4,ROWS,COLS,HEIGHT,WIDTH)

小计的范围是通过基于单元格 B4 偏移/跨越范围来创建的。

在这个 B4 具体例子中,这就像写作:

OFFSET(B4,-3,-1,3,1)

因此,创建一个范围,该范围位于 B4 上方 3 行(-3)处,左侧 1 列(-1),并且向下/高 3 行,宽 1 列。

为了计算 -3 和 3(它们将根据 A 列中两个空单元格之间的行而不同),我们使用以下命令:

IFERROR(MATCH(0,$B$1:B3,-1),1)-ROW()

ROW()-IFERROR(MATCH(0,$B$1:B3,-1)

除符号外,基本都相同。

MATCH(0,$B$1:B3,-1)在 b 列中搜索大于 0 的任何内容(-1 表示更大),从第一个单元格到当前单元格的前一个单元格($B$1:B3)。

因为这会导致第一个小计出现错误,所以IFERROR提供 1 来纠正这个问题。

因此,当您在 B4 中时,您将搜索 B4 上方是否有任何值,假设这是一个小计,如果找不到任何值,则使用 1 作为行。1-4 = -3;4-1=3 就这样。

答案3

您可以尝试另一种更短的公式:

可以通过增加“$A$1000”来增加要计算的最大行数,使用 A2 作为第一行:

=IF(A2="",SUM($A$1:$A$1000)-SUM(A3:$A$1000)-SUM($B$1:N2),"")

答案4

我想到了另一个解决同一问题的解决方案:

在此处输入图片描述

使用=if(isblank(a2),H1+1,H1+0)H2 中的公式和 H1 中的 1 解决了这个问题,然后使用简单的字幕得到了解决方案。

相关内容