如何计算列中具有另一列值的唯一记录

时间:2010-12-31 09:08:15

标签: excel excel-formula counting

我有这个问题:这是我的表

ColA  ColB      
te     Y
te     Y
alo    
te     Y
te     
bb     Y
aa     Y

我想计算ColA中有多少记录,其中B中的值为“Y”,如果A中有两个重复记录,那么也只有一个。 (在这种情况下,te记录我们只计算一次) 非常感谢

1 个答案:

答案 0 :(得分:2)

我不确定是否有一个简单的公式可以达到你想要的效果,尽管它可能采用某种数组公式。

我认为最简单的方法是:

  1. 选择您的数据
  2. 选择数据>过滤器>高级过滤器
  3. 选中仅限唯一记录复选框
  4. 复制到
  5. 中选择要将结果复制到的范围
  6. 现在点击确定
  7. 现在使用标准 = Y =COUNTIF来获取也有Y的唯一记录数

  8. 编辑 - 数组公式解决方案

    我做了一些谷歌搜索,发现了一个网站,展示了如何使用数组公式返回唯一的行。 See here

    我们可以使用它在A列和B列的行中返回所有唯一行,包括列B为空的行。 (我假设您的数据在A2:B8中)

    =SUM(IF(((MATCH(A2:A8&B2:B8,A2:A8&B2:B8,0)) >=(ROW(A2:A8)-(MIN(ROW(A2:A8))-1)))=TRUE,1,0))
    

    一旦我们知道了唯一行的总数,如果我们从该数字中减去B列中的空白(即不等于Y),那么这应该给出了具有Y的唯一行的总数。栏B.我们现在可以按如下方式更新上述公式:

    =SUM(IF(((MATCH(A2:A8&B2:B8,A2:A8&B2:B8,0)) >=(ROW(A2:A8)-(MIN(ROW(A2:A8))-1)))=TRUE,1,0)) - COUNTIF(B2:B8,"<>Y")
    

    C1中键入此公式,然后按CTRL + SHIFT + ENTER,因为这是一个数组公式。

    我对此进行了测试,似乎工作正常。