在 excel 姓名分数排名排序,就是姓名和分数两列绑定在一起,按照分数高低做排序,同时也可以用 RANK 函数自动生成排名序号,日常学生成绩表是最典型场景,核心要点是排序的时候一定要扩展选定区域,不然只单独把分数列排序,姓名和分数就会错位,这个是最常见踩坑错误,一共分两种需求,第一种是直接把整张表格按分数从高到低重新排列行顺序,第二种是保持原来表格行顺序不变,新增一列用 RANK 函数计算每个人的排名,两种方法可以按需选择,分数相同的时候 RANK 默认会并列同名次,后续名次会跳号,如果需要连续不跳号排名,还要用到改进公式。
两种方案对照表
| 方案 | 特点 | 优点 | 缺点 |
|---|---|---|---|
| 排序功能重排表格 | 整行跟着分数移动 | 表格直接按名次排好 | 原始行顺序被打乱 |
| RANK 函数生成排名列 | 原表格不动,新增排名 | 保留原始顺序 | 只是显示名次,行不会自动调换 |
详细操作步骤
方法一 数据排序 按分数高低重排姓名分数
1 表格结构:A 列姓名,B 列分数,从第二行开始录入数据,第一行是表头
2 选中整个数据区域,包含表头,例如 A1:B10
3 点击顶部数据选项卡,点击排序按钮
4 在排序窗口,主要关键字选择分数这一列,次序选择降序,就是分数高排在最上面
5 勾选数据包含标题,这样表头不会参与排序
6 点击确定,整行数据会一起移动,姓名和分数保持对应,完成姓名分数排名排序
方法二 RANK 函数自动生成排名,不改变原表顺序
1 新增 C 列作为排名列,C2 单元格输入公式 = RANK (B2,B$2:B$10,0)
2 参数解释:B2 是当前这个人分数,B$2:B$10 是全部分数区域,美元符号锁定区域,下拉的时候区域不会偏移,最后一个参数 0 代表降序,分数越高排名越靠前
3 按下回车,鼠标下拉填充,每一行就自动算出对应姓名的分数排名
4 如果分数相同,会并列同名次,比如两个人都是 90 分,都是第 2 名,下一个就是第 4 名
5 如果想要同分连续排名不跳号,可以使用 SUMPRODUCT 组合公式实现
进阶补充要点
排序的时候如果只选中 B 列分数,没有扩展区域,就会只把分数排序,姓名还留在原来位置,姓名和分数配对错乱,一定要注意扩展选定区域。升序就是分数从小到大,降序就是分数从高到低,成绩表一般使用降序。如果需要多条件排序,比如同分之后再按姓名排序,可以在排序窗口添加次要关键字,选择姓名列。新版 excel365 还可以使用 SORT 动态数组函数,一键输出排序后的姓名分数结果,公式自动溢出。RANK 函数老版本 excel 就支持,兼容性很好。如果分数里面有空单元格,RANK 计算会出错,需要提前清理空值。
【相关 FAQ】
问题 1 excel 姓名分数排名排序,排序之后姓名和分数错位怎么办
回答 1 excel 姓名分数排名排序,出现错位是排序的时候没有扩展选定区域,只单独排序分数列,下次排序选中完整数据区域,勾选数据包含标题,整行同步移动就不会错位。
问题 2 excel 姓名分数排名排序,RANK 同分为什么名次跳号
回答 2 excel 姓名分数排名排序,RANK 默认并列排名,同分同名次,后面名次会跳过,如果需要连续排名,需要改用 SUMPRODUCT 组合公式实现不跳号排名。
问题 3 excel 姓名分数排名排序,能不能同分之后按姓名再排序
回答 3 excel 姓名分数排名排序,可以设置次要关键字,主关键字是分数降序,次要关键字选择姓名,同分情况下自动按照姓名排序。
【免责申明】
本内容仅为 excel 成绩表排序函数教学参考,不同版本 excel 函数功能基本一致,计算结果请自行核验,本内容不对成绩统计结果承担相关责任。


