Excel SumProduct(如果列为空)

Excel SumProduct(如果列为空),excel,Excel,我试图计算一个由3列组成的SUMPRODUCT 我的细胞公式是 =SUMPRODUCT(((E5:E14)-(I5:I14))*F5:F14) 我需要删除“I”中单元格值为空或Null的列,当前公式认为0表示Null。我如何使用公式来完成一件事,您可以尝试使用以下公式: =SUMPRODUCT(--(I5:I14<>""),E5:E14-I5:I14,F5:F14) =SUMPRODUCT(--(I5:I14“”),E5:E14-I5:I14,F5:F14) 检查列I中的单元

我试图计算一个由3列组成的
SUMPRODUCT

我的细胞公式是

=SUMPRODUCT(((E5:E14)-(I5:I14))*F5:F14)

我需要删除“I”中单元格值为空或Null的列,当前公式认为0表示Null。我如何使用公式来完成一件事,您可以尝试使用以下公式:

=SUMPRODUCT(--(I5:I14<>""),E5:E14-I5:I14,F5:F14)
=SUMPRODUCT(--(I5:I14“”),E5:E14-I5:I14,F5:F14)

检查列
I
中的单元格是否为空,如果为空,则返回0;否则,返回1。然后运行您的计算,但每当遇到空的
I
时,您的乘积将乘以0,并有效地从总和中删除。在这里,我们用逗号分隔数组-这些是在计算乘积时乘以的。
--
强制
I5:I14”“
计算的结果返回1或0,然后乘以其余的值。

您想要的结果是什么?在上面的公式中,看起来0值基本上将被忽略,因为它将被0减去(尽管如果在
SUMPRODUCT
中使用多个数组,它将被0相乘,则不会出现这种情况)。我需要忽略“I”列值为null或空的行。使用上面的公式,我得到62((5-1)*1+(2-0)*21)。这不是您想要的吗?另外,由于您使用的是
SUMPRODUCT
,您可以取出
*
,并用逗号替换它(以表示两个不同的数组)。不,我需要完全排除第二行,并具有(5-1)*5=20,我可以有其他行,如果列I中的单元格为null或为空,我需要从计算中删除该行。我不应该将null或为空视为0哦,糟糕,这完全有道理。我将发布一个答案-看看这是否有帮助。@Greens将其添加到了答案中-它确保您的值为1和0,以便乘法为0rks与预期一致(
TRUE
=1,
FALSE
=0)。非常感谢。学到了一些东西new@Greens一点问题都没有,祝你一切顺利-你的配方肯定很接近。