数据集:
A|B
1|a
2|b
3|c
Formula:
=SUMPRODUCT((B1:B3={"a";"b"}))
sumproduct 在那里返回 NA。我不明白为什么。我希望它返回2。
如果我将 c 添加到条件中,它会正确返回 3。
我缺少什么?
您正在将大小为 1x3 的数组与大小为 1x2 的数组进行比较,这是不允许的。 (如果比较两个垂直数组,它们的大小必须相同。这就是为什么当您添加时问题就解决了"c"
到公式。)
您需要将 1x3 数组与2x1 array.
这个表达式:
B1:B3={"a";"b"}
Returns:
{TRUE;TRUE;#N/A}
SUMPRODUCT
无法处理逻辑(TRUE
/FALSE
) 值,因此您必须加 0、乘以 1 或执行双负运算符才能更改为数值数组。
所以这:
--(B1:B3={"a";"b"})
Returns:
{1;1;#N/A}
表演SUMPRODUCT
在此仍会返回#N/A
因为数组包含#N/A
.
但如果你这样做:(注意逗号而不是分号)
B1:B3={"a","b"}
现在你得到:
{TRUE,FALSE;FALSE,TRUE;FALSE,FALSE}
请注意,这将返回一个 2x3 数组。
执行双负运算符,您将得到:
{1,0;0,1;0,0}
现在表演SUMPRODUCT
将返回 2,如您所料。
您需要的最终公式是:
= SUMPRODUCT(--(B1:B3 = {"a","b"}))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)