我在电子表格中具有以下数据:
----------------------
|Event |Value1|Value2|
|AAA |1 |1 |
|BBB |1 |3 |
|BBB | |2 |
|AAA |3 | |
----------------------
我希望计算Value1
和Value2
中所有数字的总和,因此输出为:
--------------
|Type |Total|
|AAA |5 |
|BBB |6 |
--------------
为此,我需要在Total
下的单元格中使用一个公式。但是,当空白单元格存在时,我尝试过的公式不起作用。如果将每个空白单元格都设为0,我会得到理想的结果,但是我的数据集比所提供的示例大得多,并且具有0的单元格会降低可读性。
我尝试过的公式如下所示。假设Event
是A1,而Type
是A10。
=SUMIFS(B2:C5,A2:A5,A11)
现在,如果每个空白单元格都包含零,那么上面显示的输出就是我在此公式中看到的结果。如果来自A2:A5的Event
个值与字符串AAA匹配的A11相匹配,则该公式将对B2:C5范围内的每个值求和,以输出总计5。
问题是,如何在不输入0的情况下忽略空白单元格?我曾考虑过使用N()
或ISBLANK()
,但这些方法都不适用于范围。仅单个单元格。
答案 0 :(得分:1)
即使Calc
中的所有值都是数字,也不清楚=SUMIFS(B2:C5,A2:A5,A11)
版本B2:C5
将在什么版本下工作。根据定义,总和范围和标准范围的大小必须相同。但是这里它们的大小不一样。
但是
B11
中的公式:
=SUMPRODUCT(($A$2:$A$5=$A11)*ISNUMBER($B$2:$C$5),($B$2:$C$5))
应该工作,并且应该与所有电子表格应用程序最兼容。
工作原理:
($A$2:$A$5=$A11)
得到{TRUE;FALSE;FALSE;TRUE}
中的值是否等于$A$2:$A$5
的{{1}}的1列x 4行矩阵。乘以$A11
,即ISNUMBER($B$2:$C$5)
中的值是否为数字的{TRUE,TRUE;TRUE,TRUE;FALSE,TRUE;TRUE,FALSE}
的2列x 4行矩阵,得到{{1 }} $B$2:$C$5
中的值是否等于{1,1;0,0;0,0;1,0}
并且$A$2:$A$5
中的值是数字。然后$A11
得出两个数组$B$2:$C$5
和SUMPRODUCT
= {1,1;0,0;0,0;1,0}
的总和。