核心结论前置,Excel 里面 rank 函数作用是对一组数值进行排名,基础公式写法是 RANK (要排名的数字,整组数据区域,排序方式),这个函数最核心特点就是相同数值会得到相同名次,并且会占用后续名次,比如两个并列第一名,下一名就直接变成第三名,很多新手出错都是因为数据区域没有加绝对引用,下拉填充公式的时候选区会自动偏移,最后排名结果全部错乱,rank 函数第三个参数是可选参数,写 0 或者省略就是降序排名,数值越大排名越靠前,写 1 就是升序排名,数值越小排名越靠前,这个函数是成绩统计 销售业绩排名最常用的函数,除了传统 RANK,新版 Excel 还有 RANK.EQ 和 RANK.AVG,RANK.EQ 和老版本 RANK 功能完全一致,RANK.AVG 遇到并列数值会返回平均名次,这个是很多人不知道的进阶知识点。
函数基础语法原理
函数完整语法
RANK (number, ref, [order])
number 必选参数,就是当前需要计算排名的那个单元格数值
ref 必选参数,参与排名的全部数据所在单元格区域,这个区域必须锁定,一般加上美元符号绝对引用
order 可选参数,排序类型,0 代表降序,省略默认就是 0,1 代表升序
为什么需要绝对引用,当你把公式向下拖拽填充,普通相对引用的 ref 区域会跟着下移,原本应该对比全部成绩,结果变成只对比后面一部分数据,排名就错误,所以 ref 区域要写成 $A$2:$A$10 这种锁定形式。
| 函数名称 | 并列名次处理方式 | 适用场景 |
|---|---|---|
| RANK | 并列同名次,跳号,两个第 1,下一个是第 3 | 老版本 Excel,成绩排名 |
| RANK.EQ | 和 RANK 完全一样,并列同名次跳号 | 新版 Excel 推荐替代 RANK |
| RANK.AVG | 并列取平均名次,两个第 1,平均名次是 1.5 | 需要平均排名统计场景 |
实操详细步骤
第一步,准备数据源,比如 A 列是学生成绩,A2 到 A10 是全部成绩,想要在 B 列生成排名
第二步,点击 B2 单元格,输入基础降序公式 =RANK (A2,$A$2:$A$10,0)
第三步,检查公式里面 ref 区域,确认已经加上美元符号绝对引用 $A$2:$A$10
第四步,按下回车,B2 就会算出 A2 这个成绩对应的名次
第五步,鼠标放在 B2 单元格右下角,出现黑色十字填充柄,向下拖拽填充整列,所有成绩排名自动生成
第六步,如果需要升序排名,比如数值越小排名越靠前,把第三个参数改成 1,公式变成 =RANK (A2,$A$2:$A$10,1)
进阶补充要点
如果想要解决并列名次不跳号,也就是两个并列第一,下一名仍然是第二名,单纯 rank 函数做不到,这种情况需要搭配 COUNTIF 组合公式,也就是传统中国式排名,公式思路是统计大于当前数值的个数再加 1。
注意事项,rank 函数会自动忽略区域里面的文本和空单元格,只识别数字进行排名,如果区域里面存在错误值,rank 函数也会返回错误结果。
WPS 表格里面 rank 函数用法和 Excel 完全一致,公式写法不需要改动。
最终结论
rank 函数排名核心就是记住三个参数,待排名单元格,锁定的全部数据区域,排序方式,最容易踩坑的就是忘记给数据区域加绝对引用,下拉之后排名错乱,新版 Excel 优先可以使用 RANK.EQ,效果和旧版 rank 相同,如果需要平均并列名次就选择 RANK.AVG,遇到需要中国式连续排名,就要额外搭配 COUNTIF 改写公式。
【常见问题】
问题 1 rank 函数下拉排名错乱是什么原因
回答 1 rank 函数下拉排名错乱,绝大多数原因是 ref 数据区域没有加绝对引用,填充的时候选区发生偏移,修改成带美元符号的绝对引用区域,rank 函数排名就可以正常计算。
问题 2 rank 函数并列之后为什么会跳名次
回答 1 rank 函数本身设计逻辑就是并列同名次并且跳号,出现两个第一名之后下一名直接是第三名,如果不想跳号,就不能只使用 rank 函数,需要改用中国式排名组合公式。
问题 3 rank 函数第三个参数 0 和 1 有什么区别
回答 1 rank 函数第三个参数 0 代表降序,数值越大排名越靠前,省略参数默认就是 0,参数 1 代表升序,数值越小排名越靠前,做业绩排名一般使用 rank 函数降序也就是参数 0。
【免责申明】
本内容基于 Excel 与 WPS 通用版本讲解,不同版本函数名称和兼容特性会有细微差别,公式仅作为教学参考,实际使用请结合自己软件版本验证结果。


