Microsoft.Office.Excel中的函数之统计函数RANK

马上进入期末,考试排名是必不可少的了。虽然说得分不能说明一切,但是一个较好的得分,更前的排名,往往要比低分靠后要好的多。而在Excel中也有对应的函数RANK来进行相应的排序操作。

一、函数定义

RANK函数,它是一个统计函数。目前仅保留为兼容函数,新的函数为RANK.AVG、RANK.EQ,但目前RANK函数依然是适用的,兼容Excel2007及后续的版本,后期再介绍2个新函数。RANK函数的用法是返回一列数字的数字排位,数字的排位是其相对于列表中其他值的大小。

语法

RANK(number,ref,[order])

RANK 函数语法具有下列参数:

Number    必需。 要找到其排位的数字。

Ref    必需。 数字列表的数组,对数字列表的引用。 Ref 中的非数字值会被忽略。

Order    可选。 一个指定数字排位方式的数字。

如果 order 为 0(零)或省略,Microsoft Excel 对数字的排位是基于 ref 为按照降序排列的列表。

如果 order 不为零,Microsoft Excel 对数字的排位是基于 ref 为按照升序排列的列表。RANK函数将重复的数是当成同样的排位的,且重复的数字会占据相应的排位。例如:在按大小排序的整数列表中,如果数字5出现两次,当排位为5,则6的排位为7(即会没有排位为 6 的数值)。

二、实践应用

下面以一个简单的排序来说明一下实际的应用。某次考试中10个同学的得分后,需要对同学的成绩进行排名。

表格中有10个同学,每个同学的成绩是不一样的,使用RANK函数,在D2格输入公式:

=RANK(C2,$C$2:$C$11,0) 或者=RANK(C2,$C$2:$C$11,)

前面提到order 参数为 0(零)或省略,是按降序排列的,所以这里可以输入为0或者直接省略。然后再把公式下拉,得到了10个同学的排名。

图1.Excel对成绩按降序排列

再使用升序排序的话,输入的公式为

=RANK(C2,$C$2:$C$11,1)

得到10个同学的排名。

图2.Excel对成绩按升序排列

可以看到,当2个同学的成绩都是61分的时候,是并列为第1,但是没有了第二名,而是63分为第三名了。

同样,RANK函数中Ref参数同样支持多个区域,可以对多区域进行排序。

如图所示:

图3.RANK支持对多区域排序

在这里,计算的公式如下:


=RANK(C2,($C$2:$C$11,$H$2:$H$11),0)
=RANK(C2,($C$2:$C$11,$H$2:$H$11),1)​

即设定了Ref为($C$2:$C$11,$H$2:$H$11),即2个区域来排序。

函数相对而言是毕竟容易理解的,多实践几次,相信会有收获。