excel 有条件去重统计个数?

有W列和Y列,两列数据

目的是:统计【当Y列数据为B2单元格时,W列中有多少条数据,如果W列有多条重复值,则只算一条】

我有看了很多大神的函数,试着自己写了,但是都报错:
=SUMPRODUCT(($Y$10:$Y$1000=B2)*(1/COUNTIF($W$10:$W$1000,$W$10:$W$1000)))

o(╥﹏╥)o不知道什么原因

本问题不知是否完全理解了提问人的意图,是不是这样的?当A列数据等于D列的数据时,A列对应的B列数据有多少个不重复的。如果理解没错的话,本问题既可以用公式来解决,也可以用数据透视表来解决,当然还可以用VBA(但对于本问题没必要去用VBA)。而数据透视表是最简单的,不过得2013以上版本(有不重复计数的功能)

公式方法,如图

E2=COUNT(0/(MATCH(D2&$B$1:$B$16,$A$1:$A$16&$B$1:$B$16,)=ROW($1:$16)))

同时按Ctrl+Shift+Enter三键输入数组公式,下拉

2. 数据透视表方法,因为数据透视表必须要有标题行(字段),如图,为了保留公式方法的结果,将AB列的数据复制到HI列,且在第1行插入标题。光标定位到数据中任意单元格,插入——数据透视表,弹出插入数据透视表对话框。这里特别要注意的是:一定要勾选“将此数据添加到数据模型”,否则后面不显示“非重复计数”的选项。

选择将数据透视表插入到“现有工作表”,并选择一个起始位置。将AA拖到行字段,BB拖到数据汇总字段,一般会对数据进行求和(也可能是计数)。右击,选择“数值汇总依据”,选择“其他选项”,弹出的对话框中选择“非重复计数”,即可得到 要求的结果追问

我不太知道你这些字母分别是代表什么值哦,也不太了解这个函数的意思,所以能否帮我看一下我这个函数为什么不能用呢?
我要统计的是有条件地去重统计数量,比如:有11条数据,其中有2条数据都是同一个人的,所以只算一条,所以结果应该是10,不是9也不是11.

我看了很多大神的函数,试着自己写了,但是都报错:

=SUMPRODUCT(($Y$10:$Y$1000=B2)*(1/COUNTIF($W$10:$W$1000,$W$10:$W$1000)))

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-29
你选的公式,不适合你的问题,用以下公式:
=COUNT(0/(MATCH(B2&"|"&W10:W2000,Y10:Y2000&"|"&W10:W2000,0)=ROW(Y10:Y2000)-9))
数组公式,输入公式,不要回车,直接按Ctrl+Shift+回车,代替回车键结束输入。
如果还不成功,那么自行百度:Excel 数组公式,学会怎么输入即可。
第2个回答  2019-12-29

模拟了几行数据写的数组公式,其中加了分隔符是为了公式更健壮。如果实际数据不需要分隔符,可以去掉公式中的 &|

=COUNT(1/(($A$1:$A$8=A1)*(MATCH($A$1:$A$8&"|"&$B$1:$B$8,$A$1:$A$8&"|"&$B$1:$B$8,)=ROW($1:$8))))

本回答被网友采纳
相似回答