繁体   English   中英

Excel COUNT()vs COUNTIF()与数组

[英]Excel COUNT() vs COUNTIF() with arrays

我认为这应该是一个简单的问题,但由于某种原因,我无法在任何地方找到解决方案。

我在excel中有一个冗长的公式,最终会返回一个由四个项组成的数组 - 即{1,2,0,0}。 我想计算结果数中有多少大于零。

当我在这个结果上使用=COUNT({1,2,0,0})时,我得到了预期的答案4.但是当我尝试使用=COUNTIF({1,2,0,0}, ">0")它弹出一个错误,说我的公式有问题。

有什么我做错了吗? COUNTIF()是否有等效的数组?

看来COUNTIF函数仅适用于范围,而COUNT函数可以使用数组。

尝试一下SUMPRODUCT 下面是我用来测试公式的示例的略微扩展形式。 它基本上检查数组中的每个值是否大于0,如果是,则为其赋值1.然后SUMPRODUCT通过并将所有1加起来给出大于0的值的总数。

=SUMPRODUCT(IF({1,0,3,0,5,0,0,6,9,9,0,7,0}>0,1,0))

可能最简洁的方法是将验证检查返回的TRUEFALSE值转换为INT函数的数字。 TRUE转换为1FALSE转换为0 然后SUM的1和0。

=SUM(INT({1,2,0,0}>0))

或者正如Barry Houdini指出的那样,您可以使用以下方法将布尔值强制转换为int:

=SUM(({1,2,0,0}>0)*1)

要么:

=SUM(({1,2,0,0}>0)+0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM