Excel总和,如果不是空string

我想总结列B中的所有单元格,对应于列A中不是空的单元格。 但是,在Excel中,术语“不为空”有点含义:如果一个单元格包含一个公式,但结果是一个空string,即= IF(1 = 0,1,“”),则认为它不是空的尽pipe结果本质上是没有的。

但是,我想排除这样的细胞。

首先要尝试的是明显的事情

=SUMIF(A:A,"<>",B:B) 

但是这是行不通的,因为操作符<>只是表示一个单元格是空的,如果它完全是空的。 如果存在一个公式,如= IF(1 = 0,1,“”),则如上所述,它被认为是“非空的”。

在我的Google冒险游戏中,我也学到了“=”是上面公式中“<>”的逆转,但是这并不能帮助我,就我所知。

是什么让我的问题更具挑战性是我想包括单元格B列中的文本和数字条目列A …

我可以想出各种方法来“解决”,但我实际上是在解决scheme之后,我不必向数据添加另一列,并且可以将数据保留原样。

谢谢!

我同意的COUNTIF(S) / SUMIF(S)的行为对于空string是一种令人沮丧的触摸。

你可以试试:

=SUM(SUMIF(A:A,{"?*",">=0"},B:B))

如果A列中的数字严格为非负数,或者如果不是,则:

=SUM(SUMIF(A:A,{"?*",">=0","<0"},B:B))

或者,你可以切换到SUMPRODUCT ,这不会受到空string的模糊处理:

=SUMPRODUCT(0+(A1:A15<>""),B1:B15)

尽pipe这与COUNTIF(S) / SUMIF(S) ,不能随意引用任意多个单元格,而不会损害性能(因此我select了15行的上部行引用):实际上,在SUMPRODUCT使用整个列引用是一个灾难性的想法。

问候

我试图做一个类似的CUBEVALUE公式可以返回“”而不是0。

为了得到SUM和加法( + ),我用=VALUE("0" & CUBEVALUE(uglyforumlahere))而不是使用IF语句来检查CUBEVALUE(uglyforumlahere))是否评估为“”,然后不得不重复CUBEVALUE(uglyforumlahere))如果没有。

我也在那里扔了一个IFNA() ,所以最终的结果是=VALUE("0" & IFNA(CUBEVALUE(uglyforumlahere),0))