核心结论就是 excel 利用 RANK 函数排名次,标准公式写法是 = RANK (要排名的数值,全部数值区域,排序方式),第三个参数写 0 就是降序,数值越大名次越高,写 1 就是升序,数值越小名次越高,下拉填充批量生成名次,做成绩排名、销售业绩排名、积分排名非常常用,微软 Excel 和 WPS 表格都支持这个函数,重点注意下拉的时候数值区域要加绝对引用,不然排名结果会错乱。
为什么要用 RANK 排名次
手动排序之后名次很容易因为新增数据就乱掉,RANK 函数可以自动计算名次,相同分数会得到相同名次,比如两个人都是第一名,下一名直接跳到第三名,也就是大家熟悉的并列排名,适合成绩表、业绩表这类需要保留原行顺序,同时显示名次的表格。
RANK 函数基础语法
=RANK (number,ref,[order])
number:需要计算名次的单元格,比如 B2
ref:全部参与排名的数据范围,比如 B2:B20
order:可选参数,0 或者省略 = 降序(高分排前面),1 = 升序(低分排前面)
详细操作步骤(降序高分在前,最常用)
例子:B 列是分数,C 列用来输出名次
1 点击 C2 单元格
2 输入公式 =RANK (B2,$B$2:$B$20,0)
重点说明:$B$2:$B$20 是绝对引用,下拉填充的时候,整个排名区域不会变成 B3:B21,这个是最关键的一步
3 按下回车,C2 就算出 B2 对应的名次
4 鼠标移动到 C2 单元格右下角填充柄,双击或者下拉填充到最后一行,全部名次自动生成
如果想要升序排名(数值越小名次靠前),把末尾的 0 改成 1
公式:=RANK (B2,$B$2:$B$20,1)
新版函数说明
新版 Excel 有 RANK.EQ 和 RANK.AVG
RANK.EQ 和老版 RANK 功能完全一样,并列同名次
RANK.AVG 并列的时候取平均名次,比如两个人并列第 1,名次会显示 1.5,普通成绩排名一般不用这个
并列排名特点
RANK 默认并列同分同名次,比如
分数 95 名次 1
分数 95 名次 1
分数 90 名次 3
不会出现 1、1、2 这种连续名次,如果想要同分之后名次不跳号,需要搭配 COUNTIF 做改良排名公式
改良公式:=RANK (B2,$B$2:$B$20)+COUNTIF ($B$2:B2,B2)-1
效果就是同分之后下一名是 2,适合特殊排名需求
深度补充知识点
第一 如果排名区域里面有空白单元格,RANK 会自动忽略空白,但是如果单元格是文本,公式会报错 N/A,提前清理文本内容。
第二 跨工作表排名,写法 = RANK (B2,Sheet1!$B$2:$B$20,0),跨表区域记得加工作表名称和感叹号。
第三 笔记本电脑不需要特殊快捷键,直接输入B2:BB:$B,整列引用适合持续追加数据的台账。
第五 WPS 表格 RANK 函数参数和微软 Excel 完全一致,公式可以直接通用。
最终总结
excel 利用 RANK 排名次,核心公式 = RANK (B2,$B$2:$B$20,0),一定要给排名区域加上绝对引用,0 代表降序高分在前,1 代表升序低分在前,自带并列同名次,如果需要同分不跳名次就搭配 COUNTIF 改良公式。
【相关 FAQ】
问题 1 excel 利用 rank 排名次,下拉之后名次全部错乱是什么原因
回答 1 excel 利用 rank 排名次,名次错乱基本是排名区域没有加绝对引用B2:BB2:BB:$B,后续新增数据自动纳入排名计算。
【免责申明】
本教程基于微软 Excel 原生函数编写,WPS 表格运算逻辑大体一致,不同版本函数名称存在细微差别,教程仅用于办公学习参考,不保证特殊企业定制版本全部适配,因公式引用设置错误造成排名结果偏差,相关后果由使用者自行承担。


