分享

excel查重技巧:如何用组合函数快速统计重复数据(下)

 部落窝教育BLW 2019-09-03

excel查重技巧:如何用组合函数快速统计重复数据(上)

编按:哈喽,大家好!在前几天的教程中我们通过学习公式求值和F9键,看懂了统计不重复数据的第一种套路。今天我们接着上回所说,继续给大家分享第二种套路。赶紧来看看吧~

*********

数据源照旧,如下图所示,要求统计出不重复的客户数:

在上期我们掌握了破解公式的方法后,今天我们再来看看计算不重复数据个数的第二个公式套路。

套路2:COUNT和MATCH的组合

这个公式的难度就稍微有点大了,一起看看操作过程。

这个公式是数组公式,完成输入后记得按CTRL+SHIFT+回车键,公式两边会自动出现大括号。

公式=COUNT(1/(MATCH(B2:B23,B2:B23,0)=ROW(1:22)))用到了三个函数,COUNT、MATCH和ROW,不管操作还是原理,这个公式都要难于第一个公式。

那么为什么还要介绍这个公式呢?

这是因为在这个公式中,用到的一些思路和方法,会在很多强大的公式中反复遇到的,因此理解第二个套路,有助于提升公式运用的能力。

言归正传,还是用公式求值来破解这个公式的原理吧。

从图中可以看出,首先计算的是MATCH这部分,关于这个函数,之前有详细的教程介绍《MATCH:函数哲学家,找巨人做伴。新出道必学!》,建议先去搞清楚函数的基本功能。

简单来说MATCH有三个参数,查找值、查找区域和查找方式,公式得到的是查找值在查找区域内首次出现的位置,点一下求值就能看到结果。

还是看客户42337,一共出现了五次,MATCH函数得到的结果都是1,说明这个客户首次出现的位置是1。

要强调一下,这个1是查找范围中的位置,我们的查找范围是从第二行开始的。

对于MATCH得到的这一组数据,一定要理解其含义。继续点求值可以得到ROW这部分的结果。

ROW可以得到参数对应的行号,例如ROW(A1),结果就是1,而ROW(1:22),得到的就是前22行的行号,也就是1到22这一组数字。

注意公式MATCH(B2:B23,B2:B23,0)=ROW(1:22)中的范围是不同的,MATCH是2到23行,实际是22行数据,而ROW的范围是以实际数据的行数为依据的。

继续点求值,公式会判断MATCH得到的这一组数据与ROW得到的这一组数据是否一致,结果是一组逻辑值。

从结果可以发现,每个客户首次出现的位置,公式结果就是TRUE。

这里有必要普及一下逻辑值的知识了。

在Excel中有六个比较的符号,=(等于)、>(大于)、<(小于)、>=(大于或等于)、<=(小于或等于)、<>(不等于),本例中用的是等于。

比较的结果就是逻辑值,逻辑值有两个,分别是TRUE和FALSE,TRUE表示结果正确,FALSE表示结果不正确。

例如1>2,这个比较的结果就是FALSE。

逻辑值在和数字进行加减乘除等运算时,TRUE相当于1,FALSE相当于0。

 在这一步计算中,就是用数字1和这一组逻辑值进行计算,当分母为TRUE时,1/1得到1;当分母为FALSE时,1/0会得到错误值,分母为零。

点求值就能看到这个结果。

如果理解了以上原理,最后的结果就很好理解。

因为COUNT只做一件事,统计有几个数字。在这一组结果中,只有五个1是数字,因此最终的结果就是5。

很多时候,1/都用0/代替了,也许这是高手们的一种习惯吧。

当你真正的懂得了公式原理之后,1/和0/将不会再是造成你困扰的原因。

对第二个公式的原理就分析到这了,在这个公式中,用到了很多高级公式常用的技能,例如使用ROW得到一个数组,使用各种比较运算得到一组逻辑值,进而通过对逻辑值的计算得到一些错误值(错误值并不是一点用都没有哦)。而使用0/还是1/,除了一部分特殊情况之外,大多数情况是没有区别的。

好了,对于统计不重复数据个数的两个公式分析就告一段落,如果你还遇到什么无法破解的公式,可以到公众号一起探讨。

****部落窝教育-excel数组函数统计解析****

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多