Excel COUNT()与COUNTIF()与数组

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

我在Excel中有一个冗长的公式,最终返回一个包含四个项目的数组,即{1,2,0,0}。 我想统计有多less个结果数字大于零。

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

有什么我做错了吗? 有一个相当于COUNTIF()的数组吗?

看来COUNTIF函数只能在范围上工作,而COUNT函数可以利用一个数组。

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

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

可能最简单的方法就是将validation检查返回的TRUEFALSE值转换为具有INTfunction的数字。 TRUE转换为1FALSE转换为0 。 然后SUM那些1和0的。

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

或者像Barry Houdini指出的那样,您可以通过以下方式将boolean强制为int:

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

要么:

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