excel 有条件去重统计个数?

2024-12-29 08:24:15
推荐回答(3个)
回答1:

本问题不知是否完全理解了提问人的意图,是不是这样的?当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拖到数据汇总字段,一般会对数据进行求和(也可能是计数)。右击,选择“数值汇总依据”,选择“其他选项”,弹出的对话框中选择“非重复计数”,即可得到 要求的结果

回答2:

你选的公式,不适合你的问题,用以下公式:
=COUNT(0/(MATCH(B2&"|"&W10:W2000,Y10:Y2000&"|"&W10:W2000,0)=ROW(Y10:Y2000)-9))
数组公式,输入公式,不要回车,直接按Ctrl+Shift+回车,代替回车键结束输入。
如果还不成功,那么自行百度:Excel 数组公式,学会怎么输入即可。

回答3:

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

=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))))