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))