EXCEL中A列有很多重复的名字,对应着B列有很多数字,如何统计这些名字大于0的情况下不重复的个数

(A 列) ( B列)
姓名 分数
张三 60
张三 55
李四 0
李四 22
王五 88
张三 0
王五 0
王五 60

C2输入
=IF(COUNTIF(A$2:A2,A2)=1,SUMPRODUCT(N(A:A=A2)*(B:B>0)),"")
按【CTRL+SHIFT+回车】
然后下拉复制公式即可
为了提高运算速度,建议你将A:A、B:B修改为你实际的行数区域,如A$2:A$100追问

qy1219no2:你好,能帮我讲讲此公式的含义吗?谢谢!

追答

公式的意思就是统计B列中大于0对应的A列同名字的个数。

追问

你好!我想问COUNTIF(A$2:A2,A2)=1,SUMPRODUCT(N(A:A=A2)*(B:B>0)),"")中每个数组的意思,谢谢!

追答

countif()函数是统计某一个值出现的次数的函数。
sumproduct()函数是计算元素乘积之和的函数。
n()函数是判断参数是否是数字型字符或是否是TRUE,如果是,返回1,如果不是返回0。
详细请参阅EXCEL帮助。

追问

我试了试,还是不行,我能不能加你qq,向你请教?

追答

留下你的QQ,我联系你

追问

582594683

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-06
要求不高的话
1 排序B列
2 复制非零的A列
3 删选A列,直接数数
第2个回答  2011-12-06
C2=INDEX(A2:A15,MATCH(,COUNTIF(E$1:E1,A2:A15),)) ctrl+shift+enter结束 向下填充
相似回答