excel 给成绩排名首选 RANK 函数,可以自动计算名次,同分自动同名次,是班级成绩表最常用方案,如果需要分班级单独排名,就改用 SUMPRODUCT 多条件排名,最容易出错的地方就是下拉公式的时候没有锁定分数区域,引用范围发生偏移,导致排名结果错乱,RANK 最后一个参数写 0 代表降序,分数越高名次越靠前,是成绩排名默认规则。
两种排名方案对照表
| 方案 | 函数公式 | 特点 | 适用场景 |
|---|---|---|---|
| 全班统一排名 | =RANK(B2,$B$2:$B$20,0) | 简单快速,同分并列 | 全班总分排名 |
| 分班内部排名 | =SUMPRODUCT(($A$2:$A$20=A2)*($B$2:$B$20>B2))+1 | 增加班级匹配条件 | 每个班单独排名 |
详细操作步骤
第一步,假设姓名在 A 列,成绩在 B 列,排名结果放在 C2 单元格。
第二步,在 C2 输入公式 = RANK (B2,$B$2:$B$20,0)
第三步,公式里面 $B$2:$B$20 是绝对引用,下拉填充的时候,整个成绩统计区域不会移动,末尾的 0 代表降序,高分排前面。
第四步,按下回车,得到第一名学生名次,鼠标点住 C2 单元格右下角填充柄,向下拖动,整列成绩排名就全部自动生成。
第五步,如果是分班级排名,A 列是班级,B 列是分数,C2 输入 SUMPRODUCT 公式,实现同一个班级内部做成绩排名,不会跨班级混排。
第六步,RANK 默认同分并列,并列之后下一名会跳号,比如两个人并列第 2,下一名就是第 4,如果要求名次连续不跳号,需要更换嵌套公式。
第七步,排名完成之后,如果不想保留公式,可以选中排名列复制,右键选择性粘贴为数值。
深度补充要点
如果成绩区域里面有空单元格或者文本内容,RANK 函数会报错,需要提前清理无效数据。
除了函数动态排名,也可以选中成绩列,点击数据选项卡,选择降序排序,然后手动填充 12345 序号,这个是静态排名,修改分数之后排名不会自动更新,适合一次性打印成绩单。
绝对引用符号下拉之后区域变成 B3:B21,排名范围错位,结果直接错误。
相关 FAQ
问题 1 excel 咋给成绩排名,下拉之后排名全部错乱怎么办
回答:excel 咋给成绩排名出错,大多是没有加绝对引用B2:B$20 锁定区域,重新下拉,就可以正确完成 excel 成绩排名。
问题 2 excel 咋给成绩排名,同分为什么名次跳号
回答:excel 咋给成绩排名,RANK 默认同分并列排名,并列之后下一名自动跳号,如果需要连续名次不跳号,需要修改嵌套公式,不再使用基础 RANK 做 excel 成绩排名。
问题 3 excel 咋给成绩排名,能不能按班级分开排名
回答:excel 咋给成绩排名,基础 RANK 只能整组统一排名,分班内部排名要用 SUMPRODUCT 多条件公式,增加班级匹配条件,实现各班独立 excel 成绩排名。
免责声明:本文基于桌面版 excel 常规版本讲解,排名规则请按照学校教务要求选择,本文不承担排名计算错误相关责任。


