什么是中国式排名?
在排名计算方法中,中国人的习惯是,无论有几个并列第2名,之后的排名仍应该是第3名,即并列排名不占用名次。
例如:对数列{3,2,2,1}从大到小进行排名,按国际通行的惯例是{第一名,第二名,第二名,第四名},比如奥运会某场比赛出现并列银牌,则不发铜牌;而按中国式排名,结果是{第一名,第二名,第二名,第三名}。
那么,在EXCEL 公式中,如何实现中国式排名呢?
如下图,统计万和专卖店第一季度的销售情况,列出产品销售量的排名。
如果使用RANK函数,可以轻松实现排名。公式=RANK(C3,$C$3:$C$14),但是遇到有相同名次时,下一名的名次不连续,如并列第5名,下一名就变成第7名了。
中国式排名就是避免出现类似这样的情况。如下图:
下面列举了七个中国式排名公式,大家可以选择喜欢的来使用。
排名公式1:
=SUMPRODUCT((C$3:C$14>=C3)/COUNTIF(C$3:C$14,C$3:C$14))
排名公式2:
=SUM(--IF(FREQUENCY($C$3:$C$14,$C$3:$C$14)>0,$C$3:$C$14>C3)) 1
排名公式3:
=SUM((C$3:C$14>=C3)/COUNTIF(C$3:C$14,C$3:C$14))
排名公式4:
=SUM(IF($C$3:$C$14<=C3,"",1/(COUNTIF($C$3:$C$14,$C$3:$C$14)))) 1 排名公式5: =SUMPRODUCT(N(IF(FREQUENCY($C$3:$C$14,$C$3:$C$14),$C$3:$C$14,0)>=C3))
排名公式6:
=SUM(--(FREQUENCY($C$3:$C$14,IF($C$3:$C$14>=C3,$C$3:$C$14))>0))
排名公式7:
=SUM(--IF($C$2:$C$14>=C3,MATCH($C$2:$C$14,$C$2:$C$14,)=ROW($C$2:$C$14)-1))
以上七个公式中,建议使用公式1,比较简单易理解,以下对公式1进行简单的分析。稍微有点复杂,喜欢简单套用的同志可以忽略。公式解释如下:
=SUMPRODUCT((C$3:C$14>=C3)/COUNTIF(C$3:C$14,C$3:C$14))
①C$3:C$14>=C3的运算结果得到:{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE},就是每一个数都大于或等于C3.
意思就是找到大于等于C3的数,返回逻辑值。如果大于等于就是真,小于等于就是假(逻辑值参与运算的时候FALSE=0,TRUE=1)
②COUNTIF(C$3:C$14,C$3:C$14)的运算结果得到:{1;1;1;2;2;2;1;1;1;1;2;1}。
意思就是求出C$3:C$14的每个数据在C$3:C$14的全部数据中有几个相同的。
③(C$3:C$14>=C3)/COUNTIF(C$3:C$14,C$3:C$14):运算结果为:{1;1;1;0.5;0.5;0.5;1;1;1;1;0.5;1},这样两个0.5加起来就是1,这样就做到相同分数只计算一次排名。
这也是大家所说的中国式排名,在中国人的习惯中,无论有几个并列第2 名,之后的排名仍应该是第3 名,即并列排名不占用名次。
评论 (0)