首页 >> 生活常识 >

问excel 名次排名怎么弄 函数实操完整教程

2026-11-06 13:54:10

答

在 excel 里面做名次排名,核心是使用 rank 系列函数,最基础就是 rank 函数,可以对一列分数或者数值自动生成排名,同时还有 rank.eq 和 rank.avg 两个新版函数,用来处理同分排名的不同规则,除了函数排名之外,也可以借助排序功能实现可视化排名,很多新手做 excel 名次排名出错,主要是没有锁定数据区域,下拉填充之后引用范围发生偏移,还有不清楚同分的时候排名序号该怎么设置,excel 名次排名底层逻辑,就是拿当前单元格的数值,和整列全部数值做对比,统计有多少个数值比它更大,再计算出对应的名次,支持升序排名和降序排名,降序就是数值越大名次越靠前,升序就是数值越小名次越靠前,理解这个逻辑之后,就可以根据业务需求选择对应的排名方式。

第一种 rank 函数 基础名次排名

rank 是最经典的排名函数,适合绝大多数普通分数排名场景,也就是高分排第一名的需求。

基础公式

=RANK (B2,$B$2:$B$20,0)

公式解释,B2 是当前要排名的单元格,$B$2:$B$20 是全部参与排名的数据区域,这里一定要加美元符号锁定区域,最后面的数字 0 代表降序排名,数字 1 代表升序排名。

操作步骤

第一步 点击排名结果列的第一个单元格,也就是 C2 单元格

第二步 输入上面 rank 公式,把里面的数据区域改成自己表格实际范围

第三步 按下回车,得到第一条数据的名次

第四步 鼠标移动到单元格右下角,光标变成黑色十字填充柄,下拉填充整列,所有数据就全部生成名次

重点注意

如果不加美元符号锁定区域,下拉的时候,B2:B20 会自动变成 B3:B21,每一行的对比范围都会偏移,最终排名全部错乱,这个是新手最高频错误。

第二种 rank.eq 函数 同分同名次

rank.eq 是新版 excel 替换传统 rank 的函数,规则和旧版 rank 完全一致,遇到同分的时候,两个数据占用同一个名次,后面的数据名次会跳号,比如两个第一名,下一个直接是第三名。

公式

=RANK.EQ (B2,$B$2:$B$20,0)

适用场景

考试成绩,竞赛打分,业务积分排名,这种业务上认可同分并列名次,后续名次跳号的场景。

第三种 rank.avg 函数 同分平均名次

rank.avg 和 rank.eq 最大区别,就是同分的时候,会计算并列位置的平均名次,比如两个第一名,两个同分的名次都显示 1.5,不会出现跳号,适合统计分析类表格,需要连续名次不跳号的场景。

公式

=RANK.AVG (B2,$B$2:$B$20,0)

适用场景

科研数据统计,实验数据排序,需要平均位次计算,不希望名次跳空的表格。

第四种 排序方式实现名次排名

如果不需要公式自动更新,只是临时生成排名序号,可以直接用排序功能,排序之后手动填写序号,或者排序之后填充 123 连续编号。

操作步骤

第一步 选中全部数据区域,包含对应的姓名和分数

第二步 点击顶部数据选项卡,选择排序

第三步 主要关键字选择分数那一列,次序选择降序

第四步 排序完成之后,在旁边辅助列填充连续序号 1,2,3 作为名次

缺点说明

这个方法是静态排名,后续原始分数修改之后,名次不会自动刷新,需要重新排序,适合一次性统计报表。

第五种 中国式排名 同分不跳号

rank 系列函数有一个短板,同分并列之后后面名次会跳号,很多国内业务需要中国式排名,也就是同分同名次,但是下一名次不跳号,比如两个第一名,下一个就是第二名,这个 rank 原生函数做不到,需要搭配 countif 组合公式。

中国式排名公式

=SUMPRODUCT ((B$2:B$20>B2)/COUNTIF (B$2:B$20,B$2:B$20))+1

公式原理,统计比当前数值大的不重复数值个数,再加 1,就可以实现同分并列,名次连续不跳号。

操作步骤

第一步 在排名单元格输入这个组合公式

第二步 锁定数据区间,下拉填充整列

第三步 检查同分数据,确认名次不会跳号

各类排名方法对比表格

方法适用场景优点缺点
rank通用普通排名兼容性好,旧版 excel 支持同分之后名次跳号
rank.eq新版 excel 标准排名官方推荐函数,规则和 rank 一致同分之后名次跳号
rank.avg同分需要平均位次同分计算平均名次结果会出现小数名次
排序填充序号一次性静态排名操作简单不用记公式数据改动不会自动更新
中国式排名公式国内业务同分不跳号名次连续,符合国内习惯公式复杂,理解难度高

特殊情况处理要点

第一 空单元格和文本单元格,如果排名区域里面有空单元格,rank 函数会自动忽略空单元格,但是如果单元格里面是文本,函数会报错,需要提前清理文本内容。

第二 并列名次重复,rank.eq 同分之后跳号,如果业务不接受跳号,就更换成中国式排名公式。

第三 筛选状态排名,如果表格开启筛选,普通 rank 函数还是会统计全部行包含隐藏行,想要只针对可见行排名,需要搭配 subtotal 或者动态数组函数处理。

第四 重复数值,countif 在中国式排名公式里面,就是专门解决重复数值,避免重复数值重复计数,保证排名准确。

第五 升序排名,把公式最后参数改成 1,就变成数值越小名次越靠前,比如用时排名,跑步秒数越小名次越高,就使用升序。

总结

普通高分在前排名,优先 rank 或者 rank.eq 函数,记得锁定数据区域,下拉填充,如果同分需要平均位次,选择 rank.avg,如果业务要求同分并列但是后面名次不跳号,就使用中国式排名组合公式,如果只是临时一次性排名,可以直接排序之后填充序号,做 excel 名次排名的时候,重点留意区域锁定,同分规则,还有升序降序参数,这三点把控好,排名结果就不会出错。

【常见问题】

问题 1 excel 名次排名怎么弄,下拉之后名次全部错乱

回答 1 excel 名次排名怎么弄出现下拉错乱,核心原因是数据区域没有加美元符号锁定,下拉填充的时候对比范围自动偏移,修改公式,把排名区域改成绝对引用,重新下拉,就可以修正 excel 名次排名错乱的问题。

问题 2 excel 名次排名怎么弄,同分之后下一名直接变成第三名

回答 2 excel 名次排名怎么弄出现名次跳号,是因为使用 rank 或者 rank.eq 函数,这个函数本身规则就是同分并列之后跳号,如果不想跳号,需要更换中国式排名公式,实现 excel 名次排名同分之后名次连续。

问题 3 excel 名次排名怎么弄,想要分数越小名次越高

回答 3 excel 名次排名怎么弄想要小数值排前面,修改 rank 函数最后一个参数,把 0 改成 1,也就是升序排名,数值越小对应的名次越靠前,适合计时类数据完成 excel 名次排名。

问题 4 excel 名次排名怎么弄,有没有不用函数的办法

回答 4 excel 名次排名怎么弄可以不用函数,选中全部数据,进入数据选项卡执行降序排序,排序完成之后填充连续数字作为名次,这种是静态 excel 名次排名,原始分数变动之后名次不会自动更新。

【免责申明】

本文教程基于主流 excel 版本编写,rank.avg rank.eq 新版函数在旧版 excel 不支持,中国式排名组合公式运算量较大,数据行数很多的时候计算速度变慢,操作前建议备份原始表格,本文仅作为技术参考,不承担因操作失误带来的数据错误相关责任。

 

相关阅读

最新文章