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

Posted

技术标签:

【中文标题】Calc中带有空白单元格的范围的条件总和【英文标题】:Conditional sum of range with blank cells in Calc 【发布时间】:2019-01-04 12:21:53 【问题描述】:

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

----------------------
|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 值与字符串 AAA 的 A11 匹配,则该公式将 B2:C5 范围内的每个值相加,总共输出 5。

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

【问题讨论】:

【参考方案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 的 1 列 x 4 行矩阵,判断$A$2:$A$5 中的值是否等于$A11。这乘以ISNUMBER($B$2:$C$5),即TRUE,TRUE;TRUE,TRUE;FALSE,TRUE;TRUE,FALSE的2列x 4行矩阵$B$2:$C$5中的值是否为数字,得到1,1;0,0;0,0;1,0中的值是否为数字的2列x 4行矩阵987654336@ 等于 $A11 并且 $B$2:$C$5 中的值是数字。然后 SUMPRODUCT 将这两个数组 1,1;0,0;0,0;1,0$B$2:$C$5 = 1*B2 + 1*C2 + 0*B3 + 0*C3 + 0*B4 + 0*D4 + 1*B5 + 0*C5 相加。

【讨论】:

奇数。我应该在我的真实电子表格上得到 45 和 3.9,而我得到的是 24 和 0。如果某些单元格在不同的工作表上会有所不同吗?我正在使用=SUMPRODUCT(($'OtherSheet'.$B$2:$B$32=$A3)*ISNUMBER($'OtherSheet'.$K$2:$V$32),($'OtherSheet'.$K$2:$V$32)),其中$A3 与公式在同一张纸上。这是为了获得 45,它在某种程度上是 24。第二组数字在下一个单元格中使用相同的公式,而是使用 $A4 @hiigaran:无法复制。也适用于不同的工作表。您确定与您怀疑的 $'OtherSheet'.$B$2:$B$32=$A3 完全匹配吗?也许有“AAA”与“AAA”或“AAA” - 前导或尾随空格? 好吧,这是一个令人尴尬的解决方案。结果我完全忘记了我的范围在工作表下还有很多行。

以上是关于Calc中带有空白单元格的范围的条件总和的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Excel 列转换为忽略空白单元格的新范围

电子表格 - 基于其他单元格的条件格式单元格

LibreOffice Calc:如何一次突出显示单元格范围的最大值?

检查第一个空白单元格的功能

如何显示多个满足特定条件的单元格的内容?

LibreOffice (Calc) VBA 单元格总和(按索引)