之前做Excel数据统计的时候,总被排名错乱的问题折腾,反复试错后才摸透排序函数rank怎么用,大部分出错都是没分清两种排名规则。
最开始天真以为rank函数直接输入公式就能出结果,随便拉数据就行,根本没留意参数细节。当时在统计班级学生的考试分数排名,几十个学生成绩有不少并列分数,套用基础rank公式后,排名直接乱套,并列名次之后的序号直接断层,看着特别别扭。
排序函数rank基础实操用法
rank函数的核心语法特别简单,就是RANK(数值,数据区域,排序方式),我一直记不住第三个参数的含义,踩了无数次坑。第三个参数填0或者省略,就是降序排序,数值越大排名越靠前,适合分数、业绩这类数据统计;填1就是升序排序,数值越小排名越高,一般用于耗时、误差这类越小越好的数据。
那次班级排名的原始数据里,有两个学生都是92分,用默认降序公式计算后,两个人都排第3,紧接着的下一名学生直接变成第5,跳过了第4名。当时不知道问题出在哪,反复核对数据、重输公式,折腾半个多小时,还是一样的断层结果。
这是rank函数自带的默认规则,遇到并列数据会占用相同名次,自动跳过后续序号。
排序函数rank并列排名优化用法
日常工作里很多场景不想要跳空排名,比如绩效考核、成绩公示,所有人名次必须连贯,这时候基础rank公式就不够用了。后来才反应过来,需要搭配COUNTIF函数优化,修正并列排名的断层问题。
我当时查了办公软件官方的函数适配规则,用嵌套公式解决了这个问题,公式是RANK(A2,$A$2:$A$50,0)+COUNTIF($A$2:A2,A2)-1。这个公式的逻辑很直白,先用rank算出基础排名,再用countif统计当前数据之前的重复次数,抵消掉跳空的名次空缺。
| 排名公式类型 | 并列排名效果 | 适用场景 |
|---|---|---|
| 基础RANK公式 | 名次重复、后续序号跳空 | 数据排序仅做对比,无需连贯名次 |
| RANK+COUNTIF嵌套公式 | 名次并列、后续序号连贯 | 成绩、绩效公示等正式统计场景 |
改完公式重新计算后,两个92分的学生依旧并列第3,下一名学生顺延为第4,整个排名序列完全连贯,终于符合了公示要求。这也是我最常用、最实用的rank排序用法,没有复杂操作,适配绝大多数日常统计需求。
很多人用不好rank,全是卡在绝对引用上。
填充公式的时候,如果数据区域不用美元符号锁定,下拉过程中数据区域会不断偏移,排名结果全部失真。我前期一半的错误,都是因为偷懒没加绝对引用,白白浪费很多核对时间。不管是基础公式还是嵌套公式,核心数据区域必须锁定,只让统计数值单元格随下拉变动。
折腾完这次排名统计,再也没在rank函数上栽过跟头。简单的函数,细节漏洞真的能毁掉一整份数据表。
后来每次做数据排名,都会先确定是否需要连贯名次,再选择对应公式,不用再反复修改纠错。