欢迎大家来到IT世界,在知识的湖畔探索吧!
举个工作中的例子来说明,下表是公司业务员拜访客户明细表,因为是演示示例,所以这里只保留了需要计算的3个字段,其它更多的数据字段全进行了删除,然后我们需要对每个业务员进行统计,拜访了多少个客户?
1、费时费力费人的筛选大法
如果使用筛选的方法来计算的话,首先我们筛选吕布的拜访明细,可以看出来,吕布拜访的客户数为3
如果用筛选的方法,每天要统计的话,每天都得加班了!
2、公式法:基础:不重复计数
比如,我们第1个需求,公司30个业务员,想知道有多少业务员出去进行拜访了?
这个时候,只需要对A列的业务员进行不重复计数就可以了
我们用的公式方法是:
=COUNTA(UNIQUE(A:A))-2
为什么是减2?首先我们用UNIQUE公式进行去重,得到唯一值,然后减掉标题字段的名称,以及A列数据下方的空白值
如果不想减2的话,也可以输入公式:
=COUNTA(UNIQUE(A2:A12)),但是这样的话数据有新增,公式也要重新修改。
3、双条件,不重复计数
如果说我们需要计算出每个业务员,拜访的客户数量,这个时候,我们需要再套用FILTER公式,首先把每位员工的客户名称给筛选出来,然后再用UNIQUE进行去重,最后使用COUNTA公式,所以我们使用的公式是:
=COUNTA(UNIQUE(FILTER(C:C,A:A=E2)))
记个笔记,双条件不重复计数,万能通用公式:
=COUNTA(UNIQUE(FILTER(计数列,条件列=条件)))
但是这个公式有一个BUG,那就是如果用这个公式来计算周瑜,它结果也会是1,但是拜访明细表里面没有数据,理论上应该是0
造成这个的原因是FILTER筛选不到周瑜的数据,然后UNIQUE会返回一个错误值,#VALUE!
但是COUNTA公式对错误值是可以进行计数的,所以结果为1
4、双条件,不重复计数遇到空值时的优化
我们使用的公式是:
=SUM(–ISTEXT(UNIQUE(FILTER(C:C,A:A=E2))))
因为这里统计的非重复信息是文本信息,所以可以用SUM(–ISTEXT())来代替COUNTA,
如果统计的非重复信息是数字信息的时候,可以用COUNT来代替COUNTA
多条件不重复计数
如果说我们还需要加一个时间条件,我们要统计3月2号以后拜访的不重复的客户数量
那我们输入的公式是:
=SUM(–ISTEXT(UNIQUE(FILTER(C:C,(A:A=E2)*(B:B>=DATE(2023,3,2))))))
其实就是在FILTER公式里面多条件筛选的使用了,如果更多的条件,继续*条件
关于今天的这个小技巧,你学会了么?动手试试吧!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/56924.html