rank 函数是表格软件里面非常经典的排名函数,最常见就是 Excel 里面的 RANK 函数,作用是把指定数字在一组数据里面计算出对应的名次,简单来说就是给分数销售额这类数值做排名,它支持降序排名也就是数值越大名次越高,也支持升序排名也就是数值越小名次越高,这个函数在成绩统计业绩考核竞赛计分场景使用频率很高,学习的时候重点掌握参数写法,还有同分同名次这个核心特点,很多新手容易在这个点出错。
基础语法结构
Excel 旧版 RANK 函数语法
RANK number ref order
一共三个参数
number 代表需要计算名次的那个单元格数值
ref 代表参与排名的整组数据区域
order 代表排序方式,填 0 或者省略就是降序,填 1 就是升序
新版 Excel 升级成 RANK.EQ 和 RANK.AVG 两个函数,保留原有 RANK 兼容旧版本文件。
两个新版函数对照表
| 函数名称 | 同分处理规则 | 适用场景 |
|---|---|---|
| RANK.EQ | 同分占用相同名次,后面名次会跳过,比如两个第一名,下一名直接是第三名 | 成绩排名最常用 |
| RANK.AVG | 同分取平均名次,两个第一名,平均名次就是 1.5 | 特殊统计需求 |
实操使用步骤
第一步,打开表格,选中要输出排名结果的单元格。
第二步,输入等号,接着写 RANK,第一个参数选择要排名的目标数值单元格。
第三步,第二个参数选中全部参与排名的数据区域,这个区域一定要加上绝对引用,也就是加美元符号,不然下拉填充公式的时候区域会自动偏移,排名结果出错。
第四步,第三个参数填写排序方式,业绩分数一般填 0,距离时间这类越小越好的数据填 1。
第五步,写完公式按回车得到第一个名次,鼠标下拉填充整列,批量完成全部数据排名。
深度拓展
很多新手踩坑点就是忘记锁定排名区域,下拉之后 ref 区域移动,最后排名全部错乱,这个是 rank 函数最高频错误。rank 函数只支持数值类型数据,如果区域里面存在文本空单元格,计算会出错或者得到异常结果。除了 Excel,WPS 表格也完全支持 rank 函数,Python pandas 里面同样有 rank 方法,逻辑思路一致,但是代码写法和 Excel 表格公式不一样,pandas 的 rank 还可以设置同分是取最小名次最大名次还是平均名次。
总结,rank 函数核心功能就是数值排名,Excel 版本有三个参数,重点记住 ref 区域要绝对引用,order 控制升降序,同分默认同名次,新版区分 RANK.EQ 和 RANK.AVG,下拉填充之前一定要检查引用是否锁定。
【常见问题】
问题 1 rank 函数同分的时候名次会怎么显示
回答 1 默认 rank 函数同分得到相同名次,并且会跳过后面名次,两个并列第一之后,下一个数据名次直接变成第三名。
问题 2 rank 函数下拉填充排名全部乱掉是什么原因
回答 1 是因为 rank 函数里面 ref 排名区域没有做绝对引用,下拉公式的时候区域自动偏移,修正 rank 函数的区域锁定就可以解决。
问题 3 rank 函数 order 参数填 1 代表什么
回答 1 rank 函数 order 参数填写 1 代表升序排名,数值越小排名越靠前,适合用时重量这类越小越优的数据统计。
【免责申明】
本内容仅为表格 rank 函数基础教学讲解,不同版本 Excel WPS 以及 pandas 的 rank 函数细节存在差异,正式业务使用请对照对应软件官方文档确认参数规则。


