去重计数,即去除重复值后统计数量。
解决这类问题的传统做法的1/COUNTIF.涉及COUNTIF的数组运用以及一些数学原理,对初学者不太友好。
=SUM(1/COUNTIF(B2:B11,B2:B11))
UNIQUE去重计数
OFFICE 2021版本推出专业的去重函数UNIQUE.用法也是简单粗暴:
注意现在wps最新版也可以用这个函数了
=UNIQUE(B2:B11)
去除重复后再用COUNTA计数,即实现了最简单的去重计数。
=COUNTA(UNIQUE(B2:B11))
按条件去重计数
直接去重后计数是最简单的需求,更多时候还需要按条件去重计数.按条件筛选这个工作可以交给OFFICE 2021版本推出专业筛选函数FILTER.
套路:COUNTA(UNIQUE(FILTER(被统计项,(条件1)*(条件2)……)))
FILTER按条件筛选,UNIQUE去除重复,COUNTA计数。
如,在上述案例的基础上添加一个条件,求单笔销售额大于80的人数。
=COUNTA(UNIQUE(FILTER(B2:B11,C2:C11>80)))
避坑专区
COUNTA+UNIQUE+FILTER的套路运行一段时间后被证实有缺陷。
如下案例中,并没有满足条件的数据,公式仍返回1.
=COUNTA(UNIQUE(FILTER(B2:B11,C2:C11>80)))
很明显问题出在COUNTA上,没有满足条件的数据时UNIQUE返回错误值,COUNTA仍然对错误值进行计数,因为它的工作是对非空单元格计数。
解决方案1:用IFERROR+ROWS代替COUNTA.
=IFERROR(ROWS((UNIQUE(FILTER(B2:B11,C2:C11>80)))),0)
解决方案2:用LEN+COUNT代替COUNTA.
=COUNT(LEN((UNIQUE(FILTER(B2:B11,C2:C11>80)))))
新函数FILTER+UNIQUE筛选去重这一组合不得不说是一次飞跃,你就说香不香吧?
至于缺陷,老函数COUNTA的缺陷,关我新函数什么事?
联系客服