教你用rank函数做不到的排名方法。
有朋友留言说想了解一下中国式排名。今天,我们来谈谈什么是中国式排名。
看到上面的新闻,相信很多同学都会有一个疑问。
什么是中国式排名?
我们来看看下面这个案例:
列C的秩是通过使用秩函数获得的秩,
RANK函数的用法很简单:
=RANK(要排序的数据、参与排序的区域、升序或降序)
(如果第三个参数为0或忽略,则按降序排列,非零值按升序排列),
D列是中文排名的结果。直觉上,有一些不同,
可能你还是不明白区别。别急,我们按照成绩从高到低的顺序来看看:
序列之后,区别就出来了。
即出现相同排名时,普通排名会跳过几个排名,
C列没有3、4名,而中国式排名是连续的。
这种排名方式比较符合中国人的习惯,所以也叫中国式排名。
那么问题来了,既然使用RANK函数的结果不是中国式排名,
怎样才能得到一个更符合自己习惯的排名结果?
今天我要介绍三种RANK函数做不到的中国式排名方法:
1.数据透视表的快速排序
选择数据区域单元格,然后单击插入按钮。
插入数据透视表,将透视结果放入现有工作表中,然后单击确定:
现有工作表的位置必须存储在透视区域之外。
在日常回答过程中,很多朋友会忽略这个细节,甚至忘记选择电池存放位置。
将名称拉至行标签,将分数拉至值字段:
再次将分数拉到数值区域:
接下来,在F列的透视表值区域单击鼠标右键,选择“降序”:
然后选择F列透视表的数值区域,右键单击“数值显示方式”-“降序”:
出现提示时,直接点击确定:
完成后,效果如下:
排版后的结果:
如果熟练的话,整个操作不到1分钟就可以完成。
完整的操作过程可以参考动画演示:
(家里用的软件不同版本可能会有细微差别。案例在Excel2010中进行了演示。)
二、SUMPRODUCT+COUNTIF的公式法
其次,使用两个函数SUMPRODUCT和COUNTIF来完成该方法,
D2输入的公式是:
= sum product((B $ 2:B $ 15 & gt;= B2)/COUNTIF(B$2:B$15,B$2:B$15))
公式解释:
首先来看公式的第一部分:
B $ 2:B $ 15 & gt;=B2
判断从B2到B15的分数是否大于等于当前的B2分数,如果是则返回TRUE,否则返回FALSE。选择公式的这一部分,然后按F9查看以下结果。
公式的第二部分:
COUNTIF(2文莱元:15文莱元,2文莱元:15文莱元)
这是把B2的每一项成就都算到B15,
比如B2三个97分,B5三个97分,B8一个99分& # 8230;…诸如此类。
选择公式的这一部分并按F9查看统计结果:
经过上述运算,最终得到两组逻辑值结果,如下图所示:
现在,计算两组一一对应的数据:
第一个真除以3,第二个假除以1,第三个假除以1 & # 8230;…诸如此类。
在Excel计算中,TRUE等于1,FALSE等于0。
运算后,最终得到一组结果,如下图所示:
最后通过SUMPRODUCT函数求和得到当前得分的排名,
其他单元格下拉以填充公式。
三、IF函数+简单粗暴的方法
首先我们按照成绩降序排列:
然后在第一级的等级处输入1:
接下来,输入二年级的公式:
=IF(B3=B2,D2,D2+1),直接放下就行了。
为什么要这样填?
其实很简单。我们刚刚做出了判断,
比较分数中的第二个值是否等于第一个值,
如果相等,则返回与第一个排序相同的排序,即“1”,
如果它不等待,将基于第一个排名返回“+1”或“1+1”,以此类推!
尽管我们在分类上多做了一步,
但是这两步的学习成本不是比上面那一长串莫名其妙的函数简单多了吗?!