函数功能
RANK.EQ函数表示返回一个数字在数字列表中的排位,其大小与列表中的其他值相关。如果多个值具有相同的排位,则返回该组数值的最高排位。
函数语法
RANK.EQ(number,ref,[order])
参数解释
number:表示要查找其排位的数字。
ref:表示数字列表数组或对数字列表的引用。ref中的非数值型值将被忽略。
order:可选。表示指定数字的排位方式的数字。
表6-1为函数的value参数与返回值。
值为0:FALSE ,按columnName的降序排名。如果value等于columnName中的最
高数字,则RANK.EQ为1
值为1 :TURE,按columnName的升序排名。如果value等于columnName中的最
低数字,则RANK.EQ为1
实例1 为学生考试成绩排名次
表格中统计了学生成绩,要求对每位学生的成绩排名次,即得到C列的结果。
➊ 选中C2单元格,在公式编辑栏中输入公式:
=RANK.EQ(B2,$B$2:$B$11,0)
按“Enter”键得出第一位学生的成绩在所有成绩中的名次。
➋ 选中C2单元格,拖动右下角的填充柄向下复制公式(至最后一名学生结束),即可批量得出每位学生成绩的名次,如图1所示。
图1
公式解析
=RANK.EQ(B2,$B$2:$B$11,0)
判断B2单元格中的值在B2:B11单元格区域中的数字列表中的排名。
提示
因为后面要依次判断各个值的排名,而用于排名查询的数字列表是始终不改变的,因此需要使用绝对引用方式。
实例2 对不连续单元格排名次
表格中按月份统计了销售额,其中包括季度小计,要求通过公式返回指定季度的销售额在4个季度中的名次。
选中E2单元格,在公式编辑栏中输入公式:
=RANK.EQ(B9,(B5,B9,B13,B17))
按“Enter”键得出2季度的销售额在4个季度中的排名,如图2所示。
图2
公式解析
①这里列出将用于排名查询的数组。因为是不连续的,所以逐一列举出来。
②返回B2在步骤①数组中的排位。
实例3 解决当出现相同名次时默认名次数的问题
使用RANK.EQ函数进行排位时,当出现相同名次时,则会少一个名次。例如出现两个第5名,则会自动省去名次6,要解决这一问题,可以按如下方法设置公式。
在表格C列中可以看到出现了两个第5名,而少了第6名。选中D2单元格,在公式编辑栏中输入公式:
=RANK.EQ(B2,$B$2:$B$11)+COUNTIF($B$2:B2,B2)-1
按“Enter”键,然后向下复制公式。可以看到出现相同名次时,先出现的排在前,后出现的排在后,如图4所示。
图4
公式解析
①得出B2单元格中的值在B2:B11单元格区域中的排名。
②判断B2在$B$2:B2单元格中出现的次数
③ 如果只出现过一次,用步骤①加上步骤②值减去1,仍然为原来
的值,如果出现不止一次,用步骤①加上步骤②值减去1,则排位名次增长。