Counta+Filter+Unique公式组合,多条件不重复计数,太简单

志课程 2024-03-05 06:01:48

工作中,不重复计数的问题经常会出来,遇到就很头痛,因为使用的公式较为复杂,需要使用sum+countifs函数组合公式来解决,并且理解起来也偏困难。

1、单条件不重复计数

例如,我们在打卡地点如下,需要快速统计出打卡地点有多少个

因为要不重复计数,所以我们需要使用的公式是:

=SUM(1/COUNTIFS(B2:B9,B2:B9))

其中运用的原理很简单

比如,有N个不重复的数据,分别出现a,b,c...N次

那我们得到的结果就是

1/a*a+1/b*b+1/c*c+...1/N*N

所以不管abc是什么值,每一项都是数字1,最终得到的结果就是N

2、多条件不重复计数

如果我们现在要统计,不同员工的打卡地点数是多少

例如,吕布有3条记录,但是打卡地点只有2个,杭州和长沙,需要得到结果是2

遇到多条件不重复计数,有一个通用的可套用的公式:

=sum(if(条件列=条件值,1/countifs(条件列,条件值,计数列,计数列),0))

所以这里套进去,公式是:

=SUM(IF($A$2:$A$9=D2,1/COUNTIFS($A$2:$A$9,D2,$B$2:$B$9,$B$2:$B$9),0))

还是有点复杂的。

3、新公式Filter+unique+counta自由组合

在面对单条件不重复计数时,如果我们使用

=UNIQUE(B2:B9)

它会提取出来不重复的数据

所以单条件计数,只需要输入公式:

=COUNTA(UNIQUE(B2:B9))

面对多条件不重复计数时,我们可以加一个Filter筛选

=COUNTA(UNIQUE(FILTER(B:B,A:A=D2)))

先把当前员工的信息筛选出来,再去重,最后计数

但是也有一个bug,例如刘备,在左边表格里面根本没有打卡地点,理论上是0的,但用上述公式得到的结果是1,那是因为Filter筛选为空时,会报错,用counta函数对错误值计数时也会显示1

如果我们可以结合countifs直接对员工计数的这个值,是没有去重的,但是它能检验出数字0时,肯定打卡的地点也是0

所以我们两个公式结合一下,最终输入的公式是:

=MIN(COUNTIFS(A:A,D2),COUNTA(UNIQUE(FILTER(B:B,A:A=D2))))

轻松得到了多条件不重复计数的结果

关于这个小技巧,你学会了么?动手试试吧!

0 阅读:0

志课程

简介:感谢大家的关注