Calc 中空白单元格范围的条件总和

Conditional sum of range with blank cells in Calc

我在电子表格中有以下数据:

----------------------
|Event |Value1|Value2|
|AAA   |1     |1     |
|BBB   |1     |3     |
|BBB   |      |2     |
|AAA   |3     |      |
----------------------

我想计算 Value1Value2 中所有数字的总和,所以我有一个输出:

--------------
|Type  |Total|
|AAA   |5    |
|BBB   |6    |
--------------

为此,我需要在 Total 下的单元格中添加一个公式。但是,当存在空白单元格时,我尝试过的公式不起作用。如果我在每个空白单元格中都放一个 0,我会得到想要的结果,但我的数据集比提供的示例大得多,并且让那么多单元格为 0 会降低可读性。

我试过的公式如下所示。假设Event是A1,Type是A10。

=SUMIFS(B2:C5,A2:A5,A11)

现在,如果每个空白单元格都包含一个零,上面显示的输出将是我用这个公式看到的。如果 A2:A5 中的 Event 值与 A11(字符串 AAA)匹配,则公式对 B2:C5 范围内的每个值求和,输出总数为 5.

所以问题是,我怎样才能忽略空白单元格而不在其中输入 0?我考虑过使用 N()ISBLANK(),但它们都不适用于范围。仅单个细胞。

不清楚 Calc 版本 =SUMIFS(B2:C5,A2:A5,A11) 是否有效,即使 B2:C5 中的所有值都是数字。根据定义,总和范围和标准范围必须具有相同的大小。但是这里他们的大小不一样。

但是

B11中的公式:

=SUMPRODUCT(($A:$A=$A11)*ISNUMBER($B:$C),($B:$C))

应该可以工作,而且应该与所有电子表格应用程序最兼容。

工作原理:

($A:$A=$A11)得到{TRUE;FALSE;FALSE;TRUE}的1列x 4行矩阵,判断$A:$A中的值是否等于$A11。这个乘以withISNUMBER($B:$C)是一个2列x 4行的矩阵{TRUE,TRUE;TRUE,TRUE;FALSE,TRUE;TRUE,FALSE}判断$B:$C中的值是否为数值,得到一个2列x 4行的矩阵{1,1;0,0;0,0;1,0} $A:$A 中的值是否等于 $A11$B:$C 中的值是否为数字。然后 SUMPRODUCT 对这两个数组 {1,1;0,0;0,0;1,0}$B:$C = 1*B2 + 1*C2 + 0*B3 + 0*C3 + 0*B4 + 0*D4 + 1*B5 + 0*C5.

求和