打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【公式解惑】计算不重复个数

COUNTIF函数的第二参数和第一参数的单元格区域相同时,会依次计算每个元素出现的次数。运用COUNTIF函数,可以统计数据区域中的不重复个数。

公式为:

=SUMPRODUCT(1/COUNTIF(A1:A10,A1:A10))


这是一个十分常用的统计不重复数据个数的公式。其中包含了一个简单的数学逻辑:任意一个数据重复出现N次,N个1/N的和值为1。

***********

公式中“COUNTIF(A1:A10,A1:A10)”部分是数组计算,运算过程相当于:

=COUNTIF(A1:A10,A2)

=COUNTIF(A1:A10,A3)

……

=COUNTIF(A2:A10,A10)

COUNTIF函数分别统计A2:A10单元格区域中每个元素出现的次数。返回内存数组结果为:

{4;4;2;4;4;4;4;2;4;4}

再使用1除以返回的内存数组,得到以下结果:

{0.25;0.25;0.5;0.25;0.25;0.25;0.25;0.5;0.25;0.25}

***********

用1除,即相当于计算COUNTIF函数所返回内存数组的倒数。为便于理解,把这一步的结果中的小数部分使用分数代替,结果为:

{1/4;1/4;1/2;1/4;1/4;1/4;1/4;1/2;1/4;1/4}

***********

如果单元格的值在区域中是唯一值,这一步的结果是1。

如果重复出现两次,这一步的结果就有两个1/2。

如果单元格的值在区域中重复出现3次,结果就有3个1/3…

即每个元素对应的倒数合计起来结果仍是1。

最后用SUMPRODUCT函数求和,得出不重复的人员总数。

***********

这种解法有一个副作用,就是使用1/N的除法运算会产生浮点误差,有时候会产生莫名错误,可以使用ROUND函数进行修约。

***********

最后再给一个MATCH函数的用法:

=SUMPRODUCT(1*(MATCH(A1:A10,A1:A10,0)=ROW(1:10)))

你能试着解释一下吗?

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【Excel分享】统计超过18位的文本型数字个数
Excel重复值的这些坑,你都爬出来了吗?
【Excel教程】如何用函数统计不重复数据的个数?两种方法教你快速搞定
Excel中的统计函数:COUNTIF的3大高阶功能
excel中统计关键词的个数的实例及应用
Excel技巧应用篇:求出某区域内不重复数据的个数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服