excel 用来排名最基础首选函数是 RANK 函数,它可以快速对一组数值计算名次,分数越高名次越靠前,同分的时候会得到相同名次,并且后面名次自动跳号,如果业务需求是同分不跳号,或者需要班级分组排名,就不能只依靠 RANK,需要改用 SUMPRODUCT 函数实现自定义排名逻辑,新版 excel 还新增 RANK.EQ 和 RANK.AVG 两个细分排名函数,很多新手分不清这几个排名函数的差别,经常选错之后名次规则不符合学校或者公司考核要求,RANK 是兼容旧版本的通用写法,RANK.EQ 和它规则一致,RANK.AVG 是同分取平均名次,日常成绩单考核表很少使用,掌握每个排名函数的语法参数,还有绝对引用锁定区域,是下拉填充不报错的关键,下面分层讲解各个排名函数用法,参数说明,进阶分组排名还有函数对比。
RANK 基础排名函数
函数语法 RANK 数值 引用区域 排序方式
第一个参数 数值,就是当前这一行需要计算排名的单元格
第二个参数 引用区域,就是全部参与排名的数据范围,这个区域一定要加绝对引用锁定
第三个参数 排序方式,填 0 代表降序,数值越大排名越靠前,也就是默认成绩排名,填 1 代表升序,数值越小排名越靠前
示例 总分在 C2 到 C30,D2 单元格输入公式 =RANK (C2,$C$2:$C$30,0)
输入回车得到第一名学生名次,鼠标拖动填充柄下拉,整列全部学生排名就自动生成
核心特点 同分同名次,下一名跳号,比如两个人并列第 3,下一位直接是第 5 名
RANK.EQ 和 RANK.AVG 新版排名函数
RANK.EQ
语法和 RANK 完全一样,排名规则和 RANK 相同,同分同名次并且跳号,属于新版 excel 推荐写法,旧版 excel 没有这个函数,如果表格需要发给旧版本用户打开,就继续使用 RANK
公式示例 =RANK.EQ (C2,$C$2:$C$30,0)
RANK.AVG
这个函数特点是同分的时候,名次取平均值,比如两个并列第 3 名,这个函数会返回 3.5,适合特殊统计场景,学生成绩排名一般不用这个函数,因为名次会出现小数,不符合常规习惯
公式示例 =RANK.AVG (C2,$C$2:$C$30,0)
SUMPRODUCT 函数 实现特殊排名
RANK 系列函数不支持分组排名,想要实现班级内部排名,同分连续编号不跳名,就使用 SUMPRODUCT 函数
基础同分不跳名排名公式 =SUMPRODUCT (($C$2:$C$30>C2)1)+1
逻辑是统计大于当前成绩的总人数,再加一,同分名次一样,但是后面名次不会跳号
班级内分组排名,A 列是班级,C 列是总分
公式 =SUMPRODUCT (($A$2:$A$30=A2)($C$2:$C$30>C2))+1
公式同时判断班级匹配,并且成绩更高的人数,计算本班内部名次,不会跨班级参与排名
排名函数对比表格
| 函数名称 | 同分规则 | 是否支持分组排名 | 版本兼容 |
|---|---|---|---|
| RANK | 同分同名次,后续跳号 | 不支持 | 全部 excel 版本 |
| RANK.EQ | 同分同名次,后续跳号 | 不支持 | 新版 excel |
| RANK.AVG | 同分取平均名次,会出现小数 | 不支持 | 新版 excel |
| SUMPRODUCT | 可自定义,支持同分不跳名分组排名 | 支持 | 全部 excel 版本 |
操作注意要点
第一 排名函数里面的引用区域必须加美元符号做绝对引用,如果不加,下拉填充的时候,排名区域会跟着偏移,最后所有名次计算错误
第二 如果排名区域里面有空单元格或者文本,排名函数会忽略空单元格,但是混入文字有可能出现报错,提前清理无效内容
第三 如果表格后续新增数据,记得扩大排名函数里面的引用范围,新增行才会纳入排名计算
第四 如果想要排名之后源数据修改,名次自动更新,排名函数本身是动态计算,只要原始数值变动,名次就会自动刷新
【常见问题】
问题 1 excel 用什么函数用来排名,下拉之后名次全部出错怎么办
回答 1 excel 用什么函数用来排名,首选 RANK 函数,下拉出错基本是排名区域没有做绝对引用,没有锁定数据范围,修改公式把排名区域加上美元符号,重新下拉填充,排名函数就可以正常计算名次
问题 2 excel 用什么函数用来排名,可以做班级内部排名吗
回答 2 excel 用什么函数用来排名,普通 RANK 排名函数不能跨条件分组排名,想要班级内部排名,选择 SUMPRODUCT 排名函数,增加班级匹配条件,就可以实现本班独立排名,不会跨班对比
问题 3 excel 用什么函数用来排名,同分之后不想跳名次应该选哪个
回答 3 excel 用什么函数用来排名,RANK 系列排名函数同分之后会跳名次,想要同分连续编号,就使用 SUMPRODUCT 排名函数,修改公式逻辑,实现同分并列但是后续名次不跳号
问题 4 excel 用什么函数用来排名,RANK.EQ 和原来的 RANK 有什么区别
回答 4 excel 用什么函数用来排名,RANK.EQ 排名函数规则和 RANK 一致,同分同名次跳号,区别是 RANK 兼容全部旧版本 excel,RANK.EQ 属于新版函数,旧版 excel 打开会识别失败,跨版本文件优先使用 RANK 排名函数
【免责申明】
本文教程基于常规 excel 版本操作演示,不同版本 excel 函数支持情况存在差异,函数语法逻辑通用,仅用于表格排名计算学习参考,实际业务排名规则请按照单位或者学校要求选择对应排名函数,计算前建议核对原始数据,本教程不对排名统计错误承担相关责任。


