【问题标题】:EXcel COUNT values based on multiple conditions in different rangesEXcel COUNT 值基于不同范围内的多个条件
【发布时间】:2015-08-17 20:38:36
【问题描述】:

我有一个 Excel 电子表格,其中包含某些产品之间的所有可能组合,例如a-a, a-b, a-c, b-a, b-b, b-c, c-a, c-b and c-c。基于这些组合,计算一个值并将其与历史值进行比较。这两个值相减,得到 -1、0 或 1。

现在,在另一个电子表格中,我列出了所有产品(所以这里是 a、b 和 c),对于每个产品,我想知道该产品有多少个 -1、0 和 1结果当它是组合中的第二个产品时,例如我想知道有多少 ...-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。我不确定接下来要尝试什么。

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

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

【问题讨论】:

  • 回到您的SUM(IF... 想法,尝试=SUM(IF(productrange = product b, IF(subtractionrange = 0, product column, 0), 0)) 并在编辑单元格时按CTRL-SHIFT-ENTER。
  • 也许我遗漏了一些东西,但听起来你只想要一个简单的 COUNTIFS 具有多个条件和范围

标签: arrays excel count multiple-conditions


【解决方案1】:

在我看来,您正在尝试执行匹配 2 个不同标准的 COUNT 操作。正如您所指出的,COUNTIF 公式采用单个标准,还有一个 COUNTIFS 公式采用多个标准。这是我“认为”您的示例范围的样子:

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

一个具体的例子如下:

       A               B       C       D        E   F   G
---------------------------------------------------------
Historical Value    Product        Countifs     a   b   c
       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")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-22
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    相关资源
    最近更新 更多