将一个班级的学生名单按组分成多列排列,这个需求在设计成绩统计表时会遇到。如图 111‑1为初二(1)班期末考试成绩统计表,按学生座位号分成3组进行排列,现需要统计学生总分的班级排名,该如何操作呢?

图111‑1多列成绩排名表

解决方案

使用RANK函数进行多列数据统一排名。

操作方法

步骤1 选择D3:D17单元格区域,输入下列公式,按<Ctrl+Enter>组合键结束。

=RANK(C3,($C$3:$C$17,$G$3:$G$17,$K$3:$K$17))

步骤2 复制D3:D17单元格区域,粘贴到H3:H17、L3:L17单元格区域。

原理分析

RANK函数多区域数据排名

本例利用RANK函数支持联合引用的特性,将D3:D17、H3:H17、L3:L17三个单元格区域以联合引用运算符(逗号)相隔,并用括号括起来作为RANK函数的ref参数,降序排位统计出学生成绩总分的班级排名。

RANK函数用于返回一个数字在数字列表中的排位。语法如下:

RANK(number,ref,[order])

其中,第1参数number为需要找到排位的数字。第2参数ref为数字列表数组或对数字列表的引用,非数值型值将被忽略。第3参数order为一个指明数字排位方式的数字,如果 order 为 0(零)或省略,则按照降序排列,如果 order 不为零,则按照升序排列。

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

知识扩展

新旧RANK函数差异

在Excel 2010版中,有RANK、RANK.EQ、RANK.AVG三个函数,其语法相同,都可以返回一个数字在数字列表中的排位,区别在于:

1.RANK函数是为了保持与Excel 早期版本的兼容性。

2.如果多个值具有相同的排位,RANK.EQ 函数返回该组数值的最高排位。

3.如果多个值具有相同的排位,RANK.AVG 函数将返回平均排位。

例如,数字列表10、20、30、30、40,如果使用RANK或RANK.EQ函数统计数字的升序排位,则数字30的排位为3,数字40的排位为 5,如果使用RANK.AVG函数统计数字的升序排位,则数字30的排位为3.5(即3、4位的平均值),数字40的排位为 5。

以上便是为大家介绍的有关使用RANK函数进行多列数据统一排名的具体思路及实现,如果你有将一个班级的学生名单按组分成多列排列的需求,那么不妨看看本文,或许会有所帮助。