基于不同范围的多个条件的EXcel COUNT值

我有一个Excel电子表格,包含特定产品之间的所有可能的组合,例如aa, ab, ac, ba, bb, bc, ca, cb and cc 。 根据这些组合,计算一个值并与历史值进行比较。 两个值相减,结果为-1,0或1。

现在,在另一个电子表格中,我列出了所有的产品(这里是a,b和c),对于每个产品,我想知道产品有多less个-1,0和1的产品是组合中的第二个产品,例如我想知道有多less… -b的结果为0。

我的第一个想法是使用一个简单的COUNTIF ,用减法运算范围: COUNTIF(RANGE:0) 。 当然,这里给出了所有0的范围,而不考虑产品。 然后,我尝试了SUM(IF(AND("range of the second product"="b";"range of the subtraction result"=0);1)) ,但是这会产生#N/A 我不确定接下来要做什么。

在其他一些相关主题中,build议使用基于http://www.cpearson.com/excel/ArrayFormulas.aspx的数组

因此,我尝试了公式{=COUNT(("2ndproductrange"="b") * ("resultrange"<0))} ,但是这返回了总行数。 具有{=COUNTIF(("2ndproductrange"="b")*("resultrange");<0)}变体不是有效的公式。

这听起来对我来说,您正在尝试执行匹配2个不同标准的COUNT操作。 正如你注意到的, COUNTIF公式采用单一的标准,那么有一个COUNTIFS公式需要多个。 这就是我认为它会与你的示例范围看起来像:

 =COUNTIFS(2ndproductrange;"b";resultrange;"<0") 

一个具体的例子如下:

  ABCDEFG --------------------------------------------------------- Historical Value Product Countifs abc 1 c <0 1 2 0 -1 a 0 0 1 1 -1 b >0 1 2 1 1 b 1 b 0 c -1 b 0 b 1 a 

在上面的例子中公式是:

 =COUNTIFS($B:$B;"a";$A:$A;"<0") =COUNTIFS($B:$B;"b";$A:$A;"<0") =COUNTIFS($B:$B;"c";$A:$A;"<0") =COUNTIFS($B:$B;"a";$A:$A;"0") =COUNTIFS($B:$B;"b";$A:$A;"0") =COUNTIFS($B:$B;"c";$A:$A;"0") =COUNTIFS($B:$B;"a";$A:$A;">0") =COUNTIFS($B:$B;"b";$A:$A;">0") =COUNTIFS($B:$B;"c";$A:$A;">0") 

对于那些使用逗号的人来说,作为他们的列表分隔符语言环境,相同的公式将是:

 =COUNTIFS($B:$B,"a",$A:$A,"<0") =COUNTIFS($B:$B,"b",$A:$A,"<0") =COUNTIFS($B:$B,"c",$A:$A,"<0") =COUNTIFS($B:$B,"a",$A:$A,"0") =COUNTIFS($B:$B,"b",$A:$A,"0") =COUNTIFS($B:$B,"c",$A:$A,"0") =COUNTIFS($B:$B,"a",$A:$A,">0") =COUNTIFS($B:$B,"b",$A:$A,">0") =COUNTIFS($B:$B,"c",$A:$A,">0")