excel 表格排位函数最常用的是 RANK 函数,作用是给一组数值计算排名位次,也就是算出当前数字在整列数据里面排第几名,做成绩排名 业绩排名 销量排名非常普遍,很多新手使用的时候下拉填充,排名全部一样,根源就是引用的数据区域没有加绝对引用,下拉之后区域跟着偏移,RANK 一共两个核心参数,第一个是需要排名的数值,第二个是用来对比的全部数据区域,第三个可选参数控制升序还是降序,默认是降序,也就是数值越大名次越靠前,填写 1 就改成升序,数值越小名次越靠前,函数公式依旧需要等号开头,输入完成回车之后下拉填充批量生成全部名次。
函数语法说明
基础写法 RANK (要排名的数值,全部对比数据区域,排序方式)
第一个参数 必填,一般填写当前行单元格,例如 B2
第二个参数 必填,全部参与排名的数据范围,例如 B2:B20,这个区域必须加上美元符号做成绝对引用 $B$2:$B$20
第三个参数 可选,0 代表降序,默认省略就是 0,1 代表升序
详细操作步骤
1 打开 excel 表格,选中要输出名次的单元格,比如 C2
2 输入等号,写入 RANK 函数
3 第一个参数选择 B2,逗号,第二个参数选中全部数据区域 B2:B20,按 F4 转换成绝对引用 $B$2:$B$20
4 如果需要升序排名,继续逗号填写 1,不需要就省略
5 完整示例 RANK (B2,$B$2:$B$20) 高分排前面
6 按下回车,得到 B2 对应的名次
7 鼠标放在单元格右下角填充柄,向下拖动,整列批量生成排名
补充新版函数 RANK.EQ 和 RANK.AVG
| 函数名称 | 特点 | 同分处理 |
|---|---|---|
| RANK | 旧版兼容函数 | 同分同名次,下一名跳号,比如两个第 2,下一名直接是 4 |
| RANK.EQ | 新版推荐 | 和旧 RANK 规则一致,同分同名次,下一名跳号 |
| RANK.AVG | 同分取平均名次 | 两个第 2 名,名次显示 2.5 |
深度补充要点
第二个参数一定要使用绝对引用 $B$2:$B$20,这是这个函数最关键知识点,如果不加美元符号,下拉填充的时候,对比区域会自动往下移动,每一行对比范围都变了,排名结果错乱。如果对比区域里面有空单元格或者文字,RANK 会自动忽略,不会报错。如果需要只筛选之后可见单元格做排名,普通 RANK 做不到,需要搭配其他函数组合实现。如果想要同分不跳号,也就是连续排名,不能直接用 RANK,需要使用 SUMPRODUCT 组合公式。RANK 函数只支持数值排名,文本内容不能参与排位计算。
【常见问题】
问题 1 excel 表格排位函数,下拉之后所有名次都一样是什么原因
回答 1 excel 表格排位函数出现这个问题,是第二个参数没有设置绝对引用,下拉填充对比区域没有锁定,改成 $B$2:$B$20 绝对引用,excel 表格排位函数下拉之后名次就会正常变化。
问题 2 excel 表格排位函数,同分之后下一名直接跳号怎么办
回答 1 excel 表格排位函数默认 RANK 和 RANK.EQ 同分同名次,下一名跳号,如果需要平均名次,excel 表格排位函数可以改用 RANK.AVG 函数,同分就会输出平均排位。
问题 3 excel 表格排位函数,可以改成分数越低排名越靠前吗
回答 1 excel 表格排位函数第三个参数填写 1,就是升序排位,数值越小名次越靠前,修改第三个参数之后,excel 表格排位函数就可以实现低分优先排名。
【免责申明】
本文操作基于桌面版 excel 常规版本演示,WPS 表格排位函数逻辑基本一致,旧版本只支持 RANK 函数,RANK.EQ 和 RANK.AVG 新版才支持,本文内容仅供学习参考,不保证所有设备环境下运算结果完全一致。


