函数RANK用于返回一个数字在某一列数字中的大小排名,是为数不多的排名函数。但其兼容性极差,仅能支持单纯排名的场景。
例如有两个项目的混合数据,需要按项目排名,RANK无能为力。
分享3个RANK之外的排名方法,可以直接套用。
FILTER+SORT+MATCH
=MATCH(C2,SORT(FILTER(C:C,B:B=B2),,-1,),0)
FILTER()筛选出当前数据所在的项目数据;
SORT(FILTER())对该项目的数据进行排序;
MATCH(SORT(FILTER()))返回当前数据在项目数据中的位置,因为上一步中按降序排列,其位置就是名次。
FILTER+SORT+MATCH
COUNTIFS计数
=COUNTIFS(B:B,B2,C:C,">"&C2)+1
公式的逻辑:统计当前数据对应的项目下,大于当前数据的数字个数,在此基础上加1,即其排名。
第一组条件把统计范围限制在当前数据对应的条件内;
第二组表示大于当前数据;
COUNTIF统计满足以上两个条件的个数。
COUNTIFS计数
SUM
=SUM((B:B=B2)*(C:C>C2))+1
公式的逻辑和COUNTIFS完全一样,此处两个条件改为逻辑表达式。
SUM
函数SUMPRODUCT集合了相乘,求和两个功能,也很受欢迎:
=SUMPRODUCT(--(B:B=B2),--(C:C>C2))+1
综合以上4个公式都比RANK实用,所以RANK只能排第5名。