【问题标题】:Count if one column contains and unique in another计算一列是否包含并且在另一列中是唯一的
【发布时间】:2015-02-18 12:43:10
【问题描述】:

我试图弄清楚如何计算一列中的唯一值,而另一列包含某个值。例如,我想计算第 2 列 = yes 的唯一值。所以结果应该是 4

Column 1 | Column 2
value1      yes
value2      yes
value2      no
value2      no
value3      yes
value3      yes
value4      yes
value5      no

我可以解决这个问题:=COUNTIF(B="yes") 但仅此而已。

【问题讨论】:

    标签: excel excel-formula pivot-table countif array-formulas


    【解决方案1】:

    你可以使用这个数组公式

    =SUM(IF(FREQUENCY(IF(B2:B10="Yes",IF(A2:A10<>"",MATCH(A2:A10,A2:A10,0))),ROW(A2:A10)-ROW(A2)+1),1))

    CTRL+SHIFT+ENTER 确认,这样你就可以在公式周围得到像 { 和 } 这样的花括号

    【讨论】:

      【解决方案2】:

      最简单的可能是使用数据透视表(Excel 2013):

      【讨论】:

      • 好答案,我不明白价值和是/否之间的联系,但现在我明白了..
      【解决方案3】:

      你可以用 countif 来做到这一点,通过使用

      =COUNTIF($A$1:A1;A1) 
      

      假设您的“第一个”值在 A1 上并填写公式。它会在您填写时扩展范围,因此第一个值被计为 1,如果向下有另一个命中,则将其计为 >=2,因此如果您想获得结果为 YES 或 NO,那么您可以添加 if 函数如下 -

      =IF(COUNTIF($A$1:A1;A1)<2;"YES";"NO")
      

      你应该得到这样的结果

      a   YES
      b   YES
      c   YES
      s   YES
      v   YES
      b   NO
      x   YES
      s   NO
      a   NO
      d   YES
      v   NO
      

      这就是你要找的吗?

      【讨论】:

      • 不,我实际上是在寻找输出 4
      • 所以你想计算某个范围内的YES答案? =countif(A:A;"YES") 够吗?
      • 当然你需要将 A:A 范围更改为你的值范围。
      • 我计算 YES 值,其中 valueN 是唯一的。所以我计数 value1, value2,value3 & value4 一次(但不是它们的重复项),我 计数 valu5,因为它是一个否
      • 首先,你需要得到唯一的,你可以通过使用答案中的公式得到,然后用countif(A:A;"YES")计算是的
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多