RANK函数是一个求排名的函数,求出一个数字在指定数据区域中的排名。
语法
=RANK(数字,数据区域,排名方式)
数字:可以是一个数字,也可以是单元格引用;
数据区域:把第一个参数在单元格区域里面作比较;
排名方式:有降序和升序两种,降序用0表示,升序用1表示。省略默认降序排名。
示例
对学生成绩进行排名 =RANK(B2,B:B) 第三个参数省略,默认降序排名。
上图例中,第四名有两个71分,第五名没有,接下来第六名有两个,没有了第七名,接下来又是第八名。这个就是RANK函数的特点,当里面有两个第四名的时候,第五名名额就被占用了,接下来从第六名开始,这个是美式排名。
它不符合中国人的排名习惯,中国习惯排名应该怎么做呢?
1、使用SUM函数排名
对学生成绩进行排名 =SUM(--($B$2:$B$9>B2))+1 Ctrl+Shift+Enter3键退出
($B$2:$B$9>B2):对区域内的数据比较大小判断,分别返回TRUE或者FALSE值数组。
--($B$2:$B$9>B2):两个负号是对返回的数组转化为可以计算的数值0或者1,也可以使用乘1或者N函数。
2、使用SUMPRODUCT函数排名
对学生成绩进行排名=SUMPRODUCT((B2<$B$2:$B$9)*1)+1
其中数组“B2<$B$2:$B$9”符合条件得分别返回TRUE或者FALSE值数组,
(C2<$C$2:$C$8)*1 将数组返回的“TRUE”转换成“1”,原理同单条件计数中的两个负号的作用,也可以使用N函数。
+1 时候因为实际第一名返回的值是0,+1更符合排名逻辑。