Excel如何用公式计算排名(Excel怎样计算排名)
又到年末了,各种排名估计也要开始进行了,什么销售绩效,考试分数等等,当然,虽然我们现在不提倡考试分数的排名,不过大家心里肯定多少还是会有一个比较。那今天就来看看排名的方法和类型 - 中国式排名和国际式排名。
在排名计算方法中,中国人的习惯是,无论有几个并列第2名,之后的排名仍应该是第3名,即并列排名不占用名次。
而国际通行的惯例是{第一名,第二名,第二名,第四名}
那先说简单的,国际式排名,为什么说它最简单呢?是因为直接就可以用Excel中的函数Rank就能轻松实现,并列排名需要占用名次,如下:
关于这个公式就不做过多的解释了,再来看中国式排名,用Rank就不行了,我们可以怎么实现呢?
第一种方法:函数组合
公式:
=SUM((B2<=$B$2:$B$15)/COUNTIF($B$2:$B$15,$B$2:$B$15))
当然这里你把SUM换成SUMPRODUCT也是成立的,中间都应用了数组的方法,而Sumproduct本身就是个数组函数。对这个公式不理解的留言再解释吧。简单的小提示,选中公式中的部分,直接按F9可以看到单步计算结果。如:
先选中B2<=$b$2:$b$15,按下f9;再选中countif($b$2:$b$15,$b$2:$b$15),再按下f9就可以达到上面的效果,自己再分析一下。< p="">
第二种方法:数据透视表的值显示方式
选中数据源,插入数据透视表,然后将字段Name拖入到行中,Score拖入到值中,如:
在求和项:Score区域点击鼠标右键,弹出菜单中选择值显示方式下的降序排列,如:
弹出对话框中保持基本字段默认,直接点击确定:
结果如下:
第三种方法:Power Query (难度较高)
对Power Query感兴趣的小伙伴和想提升Excel技能的可以尝试一下,为什么说难度较高呢,因为它不能通过简单的界面操作完成,而是要深入学习一些M函数才能实现。
最终函数是:
= Table.AddColumn(更改的类型, "中国式排名", each Table.RowCount(Table.Distinct(Table.SelectRows(源,(x)=>x[Score]>[Score]),"Score")) 1)
所以在用PQ之前,必须先理解一下:
Table.RowCount
Table.Distinct
Table.SelectRows
(x)=>x
分别是什么意思?
当然,PQ也可以通过这个函数来实现国际式排名,毕竟在PQ中没有RANK函数。
最近在录制Power Query的课程,从基础到进阶,希望一系列的教程可以帮助你有所提升,毕竟界面的操作只能发挥全部能力的20%,另外80%的能力都要通过M函数来实现。如果你愿意继续学习,那么可以点击下方直达课程链接,后续会有相关介绍。