三种RANK函数都没办法搞定的中国式排名的方法

什么是中国式排名?

我们来通过下面的案例来了解一下:三种RANK函数都没办法搞定的中国式排名的方法

C列的排名是使用了RANK函数得到的名次,

RANK函数的用法很简单:=RANK(要排名的数据,参加排名的区域,升序或者降序),(第三参数为0或者忽略,则为降序,非零值,为升序),

D列是中国式排名的结果。直观的看是有些区别,也许你还不明白区别在哪,不要着急,我们按照成绩由高到低排序再看看:

三种RANK函数都没办法搞定的中国式排名的方法

拍完序区别就出来了吧,就是当出现了相同名次的时候,普通的排名会跳过几个名次,C列中没有第3名和第4名,而中国式排名的名次是连续的,这种排名方式更加符合国人的习惯,因此也被称作中国式排名。

那么问题来了,既然使用RANK函数的结果不是中国式排名,要如何才能得到更加符合咱们自己习惯的排名结果呢?今天给大家介绍三种RANK函数都没办法搞定的中国式排名的方法:

一、数据透视表快速排名

选中数据区域单元格,点击插入按钮,插入数据透视表,将透视结果放置在现有工作表中,点击确定:现有工作表的位置一定要选择在透视区域以外的区域存放哦,日常答疑过程中很多小伙伴都会忽略这个细节甚至忘记选择单元格存放位置。

三种RANK函数都没办法搞定的中国式排名的方法

将姓名拉到行标签,成绩拉到值字段:

三种RANK函数都没办法搞定的中国式排名的方法

再拉一次成绩到值区域:

三种RANK函数都没办法搞定的中国式排名的方法

接下来鼠标在F列透视表值区域右键,选择 “降序排列”:

三种RANK函数都没办法搞定的中国式排名的方法

鼠标再选择F列透视表值区域点击右键,点击“值显示方式”-“降序排列”:

三种RANK函数都没办法搞定的中国式排名的方法

出现提示时,直接点击确定:

三种RANK函数都没办法搞定的中国式排名的方法

完成后效果如下图:

三种RANK函数都没办法搞定的中国式排名的方法

进行排版完成后的结果:

三种RANK函数都没办法搞定的中国式排名的方法

整个操作如果熟练的话用不了1分钟就可以搞定了。

完整的操作过程可以参考动画演示:

(家使用软件版本的不同可能略有差异,案例以Excel2010版进行演示。)

三种RANK函数都没办法搞定的中国式排名的方法

二、SUMPRODUCT+COUNTIF的公式方法

方法二用到SUMPRODUCT和COUNTIF这两个函数配合完成,D2中输入公式为:

=SUMPRODUCT((B$2:B$15>=B2)/COUNTIF(B$2:B$15,B$2:B$15))

三种RANK函数都没办法搞定的中国式排名的方法

公式解释:

首先看公式的第一部分内容:B$2:B$15>=B2,判断B2到B15中的成绩是否大于等于当前的B2成绩,如果成立返回TRUE,否则返回FALSE。选中公式的这部分内容,然后按F9即可看到以下结果。

三种RANK函数都没办法搞定的中国式排名的方法

公式的第二部分内容:

COUNTIF(B$2:B$15,B$2:B$15),这是对B2到B15区域的每个成绩进行统计,如B2的97分一共有3个,B5的97分也有3个,B8的99分有1个……依此类推。选中公式的这部分内容,按F9同样可以看到统计结果:

三种RANK函数都没办法搞定的中国式排名的方法

通过以上的运算后,最终得到了两组逻辑值结果,如下图所示:

三种RANK函数都没办法搞定的中国式排名的方法

现在要对两组数据分别一一对应进行计算:

第一个TRUE除以3,第二个FALSE除以1,第三个FALSE除以1……依此类推。在Excel计算中,TRUE相当于1,而FALSE相当于0。运算后最终得到了一组结果,如下图所示:

三种RANK函数都没办法搞定的中国式排名的方法

最后由SUMPRODUCT函数进行求和,得到当前成绩的排名,

其他单元格下拉填充公式即可。

三、IF函数+简单粗暴的方法

首先我们按照成绩进行降序排序:三种RANK函数都没办法搞定的中国式排名的方法

然后在第一个成绩的排名处输入1:

三种RANK函数都没办法搞定的中国式排名的方法

接下来在第二个成绩处输入公式:

=IF(B3=B2,D2,D2+1),下拉即可。

三种RANK函数都没办法搞定的中国式排名的方法

为什么要这样填写呢?

其实很简单,我们只是做了一个判断,比较成绩中的第二个数值与第一个数值是否相等,如果相等就返回与第一个排名一样的排名即“1”,

如果不等就在第一个排名基础上返回“+1”即“1+1”,以此类推!虽然我们多做了一步排序,但是这两步操作的学习成本与上面那一长串难懂的函数相比是不是简单多了?

分享到:

评论抢沙发

评论前必须登录!