String Excel总和(如果不是空字符串)

String Excel总和(如果不是空字符串),string,excel,null,is-empty,sumifs,String,Excel,Null,Is Empty,Sumifs,我想对B列中与A列中非空单元格对应的所有单元格求和。然而,在Excel中,术语“not empty”有点含糊不清:如果一个单元格包含一个公式,但结果是一个空字符串,即=if(1=0,1,”),则认为它不是空的,即使结果基本上是空的 但是,我想排除这些单元格 显然,首先要尝试的是 =SUMIF(A:A,"<>",B:B) =SUMIF(A:A,”,B:B) 但这不起作用,因为操作员只会说一个单元格是空的,如果它确实是:空的。如果其中有一个公式,如=If(1=0,1,“”),则视为“

我想对B列中与A列中非空单元格对应的所有单元格求和。然而,在Excel中,术语“not empty”有点含糊不清:如果一个单元格包含一个公式,但结果是一个空字符串,即=if(1=0,1,”),则认为它不是空的,即使结果基本上是空的

但是,我想排除这些单元格

显然,首先要尝试的是

=SUMIF(A:A,"<>",B:B)
=SUMIF(A:A,”,B:B)
但这不起作用,因为操作员只会说一个单元格是空的,如果它确实是:空的。如果其中有一个公式,如=If(1=0,1,“”),则视为“非空”,如上所述

在我的谷歌历险记中,我还了解到“=”与上面公式中的“”相反,但据我所知,这对我没有帮助

使我的问题更具挑战性的是,我想在B列中包含与A列中的文本和数字条目对应的单元格

我可以想出各种“变通”的方法,但实际上我正在寻找一种解决方案,在这种解决方案中,我不必向我的数据中添加另一列,也可以让我的数据保持原样


谢谢

对于空字符串,
COUNTIF
/
SUMIF
的行为我同意

您可以尝试:

=SUM(SUMIF(A:A,{“*”,“>=0”},B:B))

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


=SUM(SUMIF)(A:A,{“*”,“>=0”,”我试图用一个
CUBEVALUE
公式做类似的事情,它可以返回“”,而不是0

为了得到
SUM
和加法(
+
),我使用
=VALUE(“0”&CUBEVALUE(uglyforumlahere))
而不是使用
IF
语句检查
CUBEVALUE(uglyforumlahere))
的计算结果是否为“”,如果没有,则必须重复
CUBEVALUE(uglyforumlahere))


我也在其中抛出了一个
IFNA()
,因此最终结果是
=VALUE(“0”&IFNA(CUBEVALUE(uglyforumlahere),0))

那么
=SUMIF(A:A,“,B:B)+SUMIF(A:A,”,B:B)
呢?出于性能原因,设置行限制如$A$1:$A$500或任何范围都可能是明智的。@Scott Holtzman COUNTIF(S)/SUMIF是非常特殊的,因为使用整列引用不会影响计算性能。因此,由于只有A1:B2包含这两列中的数据,构造之间的计算时间差=SUMIF(A1:A2,“,B1:B2)和=SUMIF(A:A,”,B:B)可以忽略不计。很高兴认识@XORLX-谢谢!谢谢!这是非常彻底的。