火星科技网您的位置:首页 >百科经验 > 常识百科 >

excel 中 rank 函数的使用方法 排名计算详解

导读 excel 中 rank 函数核心作用是给数值在指定数据区域里面计算排名,支持降序也就是数值越大排名越高,也支持升序也就是数值越小排名越高

excel 中 rank 函数核心作用是给数值在指定数据区域里面计算排名,支持降序也就是数值越大排名越高,也支持升序也就是数值越小排名越高,这个函数是成绩排名 销售额排名最常用的统计函数,很多新手使用 rank 的时候,下拉填充公式之后排名全部错乱,根源就是排名的数据区域没有做绝对引用,区域跟着下拉发生偏移,rank 函数遇到相同数值的时候,会给出相同名次,并且会跳过后面对应的名次,比如两个第一名,下一名直接是第三名,这个是 rank 本身的内置规则,新版 excel 还推出 rank eq 和 rank avg 两个衍生函数,用来解决同分排名之后名次处理方式不一样的问题,下面讲解函数语法,基础案例,绝对引用操作,同分排名特性,新旧函数对比还有易错细节。

函数基础语法

rank 要排名的数值 排名的数据区域 排序方式

参数说明

第一个参数 要排名的数值,一般是当前行的单元格,比如 B2

第二个参数 排名参照的全部数据区域,比如 B2 B20,这个区域必须包含所有参与排名的数据

第三个参数 排序方式,是可选参数,填写 0 或者省略,代表降序,数值越大排名越靠前,填写 1 代表升序,数值越小排名越靠前

返回结果 就是这个数值在区域内对应的排名数字

基础操作步骤 降序成绩排名

这个是最常见场景,分数越高名次越靠前

1 准备数据表,B 列是考试分数,C 列准备存放排名结果

2 在 C2 单元格输入公式 rank B2 B2 B20 0

3 这里重点处理引用,把参照区域改成绝对引用,公式修改为 rank B2 B$2 B$20 0

4 按下回车,得到 B2 这个分数对应的第一名或者对应名次

5 鼠标放在 C2 单元格右下角,变成十字填充柄,向下拖动填充整列,每一行自动计算对应分数排名

6 如果想要升序排名,比如耗时越短排名越高,就把第三参数改成 1,公式写成 rank B2 B$2 B$20 1

同分排名规则深度说明

rank 函数遇到两个完全相同的数值,会分配同一个排名,并且占用后续名次,举例说明,区域里面有两个 95 分,都是第 1 名,那么下一个分数对应的排名直接变成第 3 名,不会出现第 2 名,这个就是传统 rank 的默认逻辑,如果业务需要同分之后名次连续,比如两个第一名,下一名是第二名,就不能继续使用老版 rank,要改用其他公式方案

rank eq 与 rank avg 新版衍生函数

excel365 还有高版本 excel 新增这两个函数,专门细分同分处理逻辑

rank eq 同分的时候,和老版 rank 逻辑一致,同分同名次,跳过后续名次

rank avg 同分的时候,会取同分占用名次的平均值,比如两个第一名,名次就是 1.5,适合需要平均分排名的统计场景

语法格式和老 rank 保持一致,rank eq 数值 区域 排序方式

rank avg 数值 区域 排序方式

老版 rank 和新版衍生函数对比表

函数同分处理逻辑适用场景版本要求
rank同分同名次,跳过后续名次传统考试排名全部 excel 版本兼容
rank eq同分同名次,跳过后续名次替代老 rank,官方推荐新写法高版本 excel
rank avg同分取平均名次特殊统计分析高版本 excel

重要注意事项

1 第二个参数的数据区域必须锁定,也就是加上美元符号,不锁定下拉之后区域会变成 B3 B21 B4 B22,参照范围移位,排名结果全部错误,这是 rank 最高频错误

2 rank 只识别数值,区域里面如果是文本 空单元格,会自动忽略,不参与排名计算

3 如果区域里面存在错误值,比如 N/A VALUE,rank 函数会直接返回错误,需要提前清理错误值

4 跨工作表排名的时候,参照区域要带上工作表名称,同时依旧需要绝对引用锁定区域

5 如果需要实现同分不跳号,连续排名,可以搭配 countif 辅助公式,不再单独依靠 rank 函数

【常见问题】

问题 1 excel 中 rank 函数下拉之后排名全部乱掉是什么原因

回答 1 excel 中 rank 函数下拉排名错乱,绝大多数情况是参照的数据区域没有做绝对引用,下拉填充的时候排名参照区域跟着单元格下移,使用 excel 中 rank 函数的时候,必须把排名区域加上美元符号锁定,这样向下填充 excel 中 rank 函数的参照范围才能保持不变

问题 2 excel 中 rank 函数同分为什么会跳过名次

回答 2 excel 中 rank 函数本身设计规则就是同分共享同一个名次,同时占用后面的排名序号,两个第一名之后直接第三名,使用 excel 中 rank 函数如果业务要求名次连续不跳号,就不能继续使用传统 excel 中 rank 函数,需要搭配 countif 写复合公式

问题 3 excel 中 rank 函数第三参数 0 和 1 有什么区别

回答 3 excel 中 rank 函数第三参数省略或者写 0 是降序,数值越大排名越靠前,写 1 是升序,数值越小排名越靠前,使用 excel 中 rank 函数的时候,要根据业务需求选择排序方式,比如销售额排名一般用 0,比赛用时排名一般用 1

问题 4 excel 中 rank 函数和 rank eq 能不能通用

回答 4 excel 中 rank 函数是旧版兼容函数,rank eq 是新版官方推荐替代函数,同分排名逻辑和 excel 中 rank 函数完全一样,但是低版本 excel 不支持 rank eq,如果文件需要发给旧版本打开,就继续使用 excel 中 rank 函数,避免打开之后出现名称错误

【免责申明】

本文操作基于微软 excel 常规版本演示,rank eq rank avg 仅高版本 excel 支持,本文仅作为函数学习参考,不承担因公式引用错误造成排名统计失误相关责任。