深度正文
在 Excel 里面按成绩排名,最主流的方法就是使用 RANK 系列函数自动计算名次,成绩改动之后排名会自动更新,也可以手动排序把整张表按成绩从高到低重新排列,函数排名是保留原始行顺序,只新增名次列,手动排序是直接调整整行位置,两种方式可以根据需求选择,适合学生成绩表、考试总分排名,同分可以选择跳号排名或者不跳号排名,满足不同考试统计规则。
一、RANK 函数自动按成绩排名(推荐)
1 假设成绩放在 B 列,B2 是第一位学生成绩,排名列放在 C 列
2 在 C2 单元格输入公式 =RANK (B2,$B$2:$B$50,0)
3 参数说明:B2 是当前学生成绩,$B$2:$B$50 是全部成绩区域,末尾 0 代表降序,分数越高名次越靠前
4 按下回车得到第一名学生名次,鼠标移动到单元格右下角填充柄,下拉填充整列,全部学生自动生成排名
5 如果需要分数越低排名越靠前,把末尾参数改成 1,也就是升序排名
二、新版 RANK.EQ 函数写法
1 公式 =RANK.EQ (B2,$B$2:$B$50,0)
2 效果和旧版 RANK 一致,同分同名次,下一名会跳号,比如两个第 1 名,下一名直接是第 3 名
3 新版 Excel 优先推荐使用这个函数,兼容性更好
三、同分不跳号自定义排名
1 如果考试规则要求同分同名次,下一名不跳号,使用 SUMPRODUCT 公式
2 公式 =SUMPRODUCT (($B$2:$B$50>B2)1)+1
3 两个学生同为第一名,下一名仍然是第 2 名,适合竞赛类成绩排名
四、手动排序按成绩重排表格
1 选中成绩列任意有数据单元格
2 切换到数据选项卡,点击降序按钮
3 排序提醒选择扩展选定区域,保证姓名其他列数据跟着成绩一起移动
4 确认排序,整张成绩表直接按照成绩从高到低重新排列,这种是静态排序,后续成绩修改不会自动更新名次
方案对比表格
| 方式 | 核心特点 | 同分规则 | 适用场景 |
|---|---|---|---|
| RANK 函数 | 自动计算名次 | 同分跳号 | 常规考试总分排名 |
| RANK.EQ | 新版标准函数 | 同分跳号 | 新版 Excel 标准统计 |
| SUMPRODUCT | 自定义排名 | 同分不跳号 | 竞赛排名 |
| 手动降序排序 | 整表重排行顺序 | 无自动名次列 | 临时查看成绩榜单 |
补充注意事项
按成绩排名的时候,成绩区域一定要加美元符号做绝对引用,如果没有锁定区域,下拉填充的时候统计范围会偏移,排名全部错乱,如果成绩单元格是文本格式数字,RANK 函数识别失败,要提前把单元格改成数值格式,空成绩单元格会被函数忽略,建议把缺考成绩统一标记,避免排名统计异常,函数排名不会改变原来学生行的顺序,如果需要榜单直接按名次排好,需要搭配 SORT 函数动态排序。
相关 FAQ
问题 1 excel 按成绩排名同分之后为什么名次跳号
回答 1 excel 按成绩排名使用 RANK 或者 RANK.EQ,默认同分同名次,下一名自动跳号,如果学校要求同分之后下一名不跳号,改用 SUMPRODUCT 公式实现自定义排名规则。
问题 2 excel 按成绩排名下拉之后名次全部错乱怎么办
回答 1 excel 按成绩排名下拉之后名次错乱,是成绩统计区域没有绝对引用,没有添加美元符号锁定范围,把区域改成 $B$2:$B$50 这种绝对引用,再下拉填充即可正常计算。
问题 3 excel 按成绩排名能不能同时保留原始顺序并且自动更新名次
回答 1 excel 按成绩排名可以保留原始学生行顺序,使用 RANK 函数新增排名列,修改成绩之后名次自动刷新,不会打乱原来表格行的排列顺序。
免责声明
本文操作基于微软 Excel 常规版本编写,老旧版本仅支持 RANK 函数,RANK.EQ 为新版函数,WPS 表格兼容环境函数逻辑基本一致,本文仅作操作教学参考,不保证所有软件环境按成绩排名功能表现完全一致。
