RANK函数用于计算一个数字在数字列表中的排位。数字的排位是其大小与列表中其他值的比值(如果列表已排过序,则数字的排位就是它当前的位置)。RANK函数的语法如下:


RANK(number,ref,order)

其中,number参数为需要找到排位的数字。ref参数为数字列表数组或对数字列表的引用,ref参数中的非数值型参数将被忽略。order参数为一数字,指明排位的方式,如果order参数为0(零)或省略,Excel对数字的排位是基于ref参数为按照降序排列的列表;如果order参数不为零,Excel对数字的排位是基于ref参数为按照升序排列的列表。下面通过实例详细讲解该函数的使用方法与技巧。

打开“RANK函数.xlsx”工作簿,切换至“Sheet1”工作表,本例中的原始数据如图18-85所示。该工作表中记录了一组数据,要求计算出指定数值在数据集中的排位。具体的操作步骤如下。

Excel 计算数字排位:RANK函数详解-Excel22

图18-85 原始数据

STEP01:选中A8单元格,在编辑栏中输入公式“=RANK(A3,A2:A6,1)”,用于计算5.8在上表中的排位,输入完成后按“Enter”键返回计算结果,如图18-86所示。

STEP02:选中A9单元格,在编辑栏中输入公式“=RANK(A2,A2:A6,1)”,用于计算11.6在上表中的排位,输入完成后按“Enter”键返回计算结果,如图18-87所示。

Excel 计算数字排位:RANK函数详解-Excel22

图18-86 计算5.8的排位

Excel 计算数字排位:RANK函数详解-Excel22

图18-87 计算11.6的排位

函数RANK对重复数的排位相同。但重复数的存在将影响后续数值的排位。例如,在一列按升序排列的整数中,如果整数10出现两次,其排位为5,则11的排位为7(没有排位为6的数值)。

由于某些原因,用户可能使用考虑重复数字的排位定义。在前面的示例中,用户可能要将整数10的排位改为5.5。这可通过将下列修正因素添加到按排位返回的值来实现。该修正因素对于按照升序计算排位(顺序=非零值)或按照降序计算排位(顺序=0或被忽略)的情况都是正确的。

重复数排位的修正因素=[COUNT(ref)+1–RANK(number,ref,0)–RANK(number,ref,1)]/2。

在上面的示例中,RANK(A2,A1:A5,1)等于3。修正因素是(5+1–2–3)/2=0.5,考虑重复数排位的修改排位是3+0.5=3.5。如果数字仅在ref出现一次,由于不必调整RANK,因此修正因素为0。