excel按条件去重统计个数
发布网友
发布时间:2022-04-22 05:14
我来回答
共3个回答
热心网友
时间:2022-05-12 20:57
本问题不知是否完全理解了提问人的意图,是不是这样的?当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)))
热心网友
时间:2022-05-12 22:15
你选的公式,不适合你的问题,用以下公式:
=COUNT(0/(MATCH(B2&"|"&W10:W2000,Y10:Y2000&"|"&W10:W2000,0)=ROW(Y10:Y2000)-9))
数组公式,输入公式,不要回车,直接按Ctrl+Shift+回车,代替回车键结束输入。
如果还不成功,那么自行百度:Excel 数组公式,学会怎么输入即可。
热心网友
时间:2022-05-12 23:50
模拟了几行数据写的数组公式,其中加了分隔符是为了公式更健壮。如果实际数据不需要分隔符,可以去掉公式中的 &|
=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))))