跳转至

RANK 函数

1. 函数概述

RANK 函数用于返回某个数值在一组数值中的排名位置。它常用于成绩排行、销售额排行、绩效排行等场景。

  • 排名从 1 开始:最大值通常排名为 1(当按降序排名时)。
  • 如果出现相同数值,这些相同数值会得到相同的排名(并列排名)。
  • RANK 属于“返回名次”的函数,它不会直接生成排序后的列表,而是给出某个值的名次编号。

2. 基础语法

=RANK(number, ref, [order])

3. 参数说明

3.1 number

  • 含义:需要计算排名的目标数值
  • 常见写法:引用某个单元格(例如 B2),也可以直接写常数(例如 90)。

3.2 ref

  • 含义:参与排名的数值区域(一组对比数据)。
  • 常见写法:$B$2:$B$11(建议使用绝对引用,便于向下填充公式时保持范围不变)。

3.3 [order](可选)

  • 含义:指定排名方式(升序或降序)。
  • 取值规则:

    • 0 或省略:按降序排名(最大值排名为 1)
    • 1:按升序排名(最小值排名为 1)

4. 基础用法示范

下面以“成绩排名”为例,假设数据如下:

  • A列:姓名
  • B列:成绩(需要排名)
  • C列:名次(用 RANK 计算)

数据范围为 B2:B11

4.1 默认降序排名(成绩越高名次越靠前)

C2 输入:

=RANK(B2,$B$2:$B$11)

含义说明:

  • B2:当前这一行的成绩
  • $B$2:$B$11:所有参与排名的成绩范围
  • 省略 [order]:默认降序,所以最高分排名为 1

将公式向下填充到 C11,即可得到每个人的名次。


4.2 指定升序排名(数值越小名次越靠前)

如果你希望“数值越小名次越前”(例如:用时排名,耗时越短越靠前),在 C2 输入:

=RANK(B2,$B$2:$B$11,1)

含义说明:

  • 1 表示升序:最小值排名为 1

同样向下填充即可得到升序名次。


4.3 并列排名的表现(同分同名次)

ref 区间内出现相同数值时,RANK 会给这些相同数值返回相同排名。

例如:两个人都是 95 分,在降序排名下这两个人都会得到同一个名次(例如都为第 2 名)。


4.4 固定排名区域,批量计算更规范

为了让公式更适合批量填充,推荐:

  • number 用相对引用(如 B2
  • ref 用绝对引用(如 $B$2:$B$11

示例:

=RANK(B2,$B$2:$B$11,0)

说明:

  • 0 可写可不写,写出来有助于阅读与规范化(明确是降序排名)

5. 总结

  • RANK 的核心用途是:返回某个数值在指定区域中的名次
  • 语法结构清晰:=RANK(number, ref, [order])
  • 默认是降序排名(最大值第 1),传入 1 则为升序排名(最小值第 1)。
  • 出现相同数值时会产生并列排名(同值同名次)。
  • 实际工作中建议将 ref 写成绝对引用,便于向下填充公式并保持排名范围稳定。