excel中怎么排名次:用RANK.EQ避开同分挤占名次

excel中怎么排名次:用RANK.EQ避开同分挤占名次

上周整理部门月度绩效表,对着七十多条员工得分卡了半小时,才彻底摸透excel中怎么排名次,之前一直混用老函数,表格乱到没法直接上交。

最开始随手用的是网上随便搜到的RANK函数,把公式粘贴到单元格下拉填充,看着数字瞬间出来还以为万事大吉。当时只核对了前二十行数据,没留意中间有三组同分的绩效分数,直接保存发给了人事。不到十分钟就被打回,人事截图里两个92分的员工,一个排第7,一个排第9,凭空跳过了第8名。

很简短的一行。

人事原话是绩效排名必须并列同名次,空缺后续顺位,这是公司统一的报表规范,不能用挤占式排名。盯着表格愣了两分钟,才反应过来旧版RANK是默认挤占名次,这是零设置自带的逻辑,不是公式输错了数字。

翻之前存的零散表格模板,发现两年前做学生成绩排名也踩过一模一样的雷,当时嫌麻烦直接手动改数字,最后还改错了两个位次。那次为了省事跳过函数学习,反倒花了四十分钟人工校对,越改越乱,总分一样的人前后名次颠来倒去,眼睛看花好几次。这次不想再手动补救,索性对着出错单元格逐参数拆解。

后来才反应过来,excel2019及之后版本自带的RANK.EQ才是适配日常办公的,和旧RANK表面输入格式完全一致,细微差别藏在默认排序逻辑里。实际输入只需要写=RANK.EQ(B2,$B$2:$B$71,0),第三个参数填0代表降序,分数越高排名越靠前,绝对引用必须锁定数据区域,之前就是漏加美元符号,下拉后区域偏移,叠加了同分错误,双重问题堆在一起。

当时直接在原错误表格里替换函数重算,没有清空原有数据。替换完立刻看到两组92分全部显示第7名,下一位91分自动顺延到第9名,完全贴合人事要求。但又发现新瑕疵,表格里有三个空白单元格,是当月请假无绩效的人员,RANK.EQ会把空白默认当成0分排在末尾,打乱整体观感。试过直接隐藏空白行,结果后续筛选数据时隐藏行会随机外露,反而影响报表使用。

最后临时用一个很笨的修补方式,在公式外层套了IF判断,=IF(B2="","无绩效",RANK.EQ(B2,$B$2:$B$71,0))。没有用更精简的数组公式,一是当时临近下班没时间钻研嵌套写法,二是部门所有同事excel版本参差不齐,数组公式低版本打开会直接报错,稳妥优先于精简。改完全表只花了六分钟,全程没有借助网页教程,都是之前零散踩坑攒下的碎片信息串到了一起。

下班关机前余光扫到屏幕右下角,排名列整齐没有跳位,空白单元格统一标注无绩效。当晚躺床上只记得一个细节,当初第一次学排名时,分不清EQ后缀的意义,白白浪费两次手动改表的时间。

(字数1124)