Excel中处理排名问题,并非一定要用排名函数

函数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名。