说到Excel求名次这事儿,我跟你讲,这绝对不是敲个函数就完事那么简单。这里面的门道,深了去了。你以为是技术活?不,有时候,这简直是门办公室心理学。
每次领导甩过来一个表,轻飘飘一句:“小李,把这个业绩给大家排个名,五分钟后给我。” 我的内心戏就开始上演了。五分钟?他根本不知道,一个简单的“排名”,背后藏着多少暗流涌动,藏着多少个“坑”。
新手上路,十有八九第一个想到的就是 RANK.EQ 函数。没错,就是那个最根正苗红、教科书里第一个教的玩意儿。
用法?简单粗暴。=RANK.EQ(要排名的那个单元格, 整个排名的区域, [排序方式])
你看,就三个参数。第一个,你要给谁排座次,就点谁的单元格,比如C2。第二个,跟谁比?当然是跟所有人比,你就框选整个业绩列,比如C2:C100。第三个参数,0或者不填,就是降序,数字越大越牛逼,名次越靠前,卖得多的排第一,这最常用。要是填个1,那就是升序,跑得越慢的名次越靠前,适合搞什么成本控制排名。
一个回车。搞定。
你美滋滋地选中第一个单元格,鼠标往右下角一放,变成个小黑十字,双击!唰的一下,一整列的名次都出来了。成就感爆棚,对不对?
但是,等等! 你很快就会发现不对劲。
你拖完公式,定睛一瞧,怎么回事?前几个还对,拉到下面,名次开始乱套,甚至冒出一串火星文一样的#N/A!
这就是你掉进的第一个,也是最经典的一个坑:绝对引用。
当你把C2的公式=RANK.EQ(C2, C2:C100, 0)往下拉到C3的时候,Excel很“智能”地帮你把公式变成了=RANK.EQ(C3, C3:C101, 0)。看到没?排名的那个人变了,这没问题。但那个作为“参照物”的整个区域,它也跟着往下跑了!本来是大家都在C2:C100这个固定的池子里比赛,现在每个人比赛的池子都不一样了,这不全乱套了嘛!
怎么办?记住那个神圣的按键:F4。
在你输入完那个区域C2:C100之后,别犹豫,直接按下F4键。它会瞬间给这个区域加上美元符号$,变成$C$2:$C$100。这个符号,就是给这片区域下了个“定身咒”,告诉Excel:“听着,待会儿我不管怎么拖动复制这个公式,这个范围,你一个子儿都不许给我动!”
这下再一拖,整个世界都清净了。排名,妥了。
你以为这就结束了?天真。更大的“幺蛾子”还在后头。
你把排好名的表交上去,领导扫了一眼,指着屏幕问:“诶,小李,你看,这两个人业绩一样,都是95分,并列第3名。这没问题。但……为什么没有第4名?直接从第3跳到第5了?”
你凑过去一看,可不是嘛!表格里赫然显示着:1,2,3,3,5,6……
这就是 RANK.EQ 这个函数的“脾气”。它在处理并列排名的时候,逻辑是这样的:有两个第3名,那么他们就占了第3和第4这两个位置。所以,下一个人,就只能从第5名开始排。这在搞学术、搞统计的时候,非常严谨,非常科学。
但这合理吗?放办公室里,这简直就是灾难。老板能答应吗?同事能服气吗?明明我前面就三个人,凭什么我排第五?这会直接影响到奖金、评优,甚至是团队的和谐。
所以,领导要的,根本不是这种“国际标准”排名。他要的是那种非常接地气的、我们称之为“中国式排名”的东西:1,2,3,3,4,5……并列就算了,后面的人名次给我顺延,别给我跳着走!
这时候,RANK家族的另一个成员 RANK.AVG 也救不了你。它更奇葩,遇到并列的,它会取名次的平均值。比如两个并列第3,它会给你算出两个2.5名。你敢把这个交给老板看?他估计会觉得你在消遣他。
怎么办?放弃函数,手动一个一个填?几十个人还好,几百上千人呢?你今天就别想下班了。
这时候,就得请出真正的大神级操作了。这招一出手,办公室里看你的眼神都会不一样。
忘掉RANK吧,我们需要一种全新的思路,一种更符合“中国宝宝体质”的排名逻辑。
我当时就在想,排名这玩意儿,不就是看有多少人比你牛逼嘛,把比你牛逼的人数数出来,再加个1,不就是你自己的位置了?
基于这个朴素的想法,一个更强大的函数组合浮出水面:COUNTIFS。
对,你没看错,一个用来计数的函数,居然能用来搞排名。
公式长这样:=COUNTIFS(业绩列, ">"&当前业绩单元格) + 1
让我给你拆解一下这个公式的魔力所在:
COUNTIFS($C$2:$C$100, ">"&C2) + 1
COUNTIFS:这是一个多条件计数函数,但我们这里只用一个条件。$C$2:$C$100:还是那个业绩范围,老规矩,用F4锁定它,这是我们的“比赛池”。">"&C2:这就是精髓了!">"是个大于号,用引号包起来,表示这是个文本条件的开头。&是个连接符。C2就是那个人的业绩。整个连起来的意思就是,帮我数一数,在整个业绩列里,有多少个数字是“大于C2单元格里的这个数字”的。换句话说,就是“有多少人业绩比他高”。+ 1:这步是画龙点睛。数出来了有N个人比他牛,那他自己不就是第 N+1 名嘛!
就这么简单的一个逻辑转换,完美解决了并列排名后名次跳跃的问题。
我们来模拟一下:
假设分数是100, 98, 95, 95, 92。
* 对于100分:比他高的人是0个。0 + 1 = 1。他是第1名。
* 对于98分:比他高的人是1个(100分那个)。1 + 1 = 2。他是第2名。
* 对于第一个95分:比他高的人是2个(100, 98)。2 + 1 = 3。他是第3名。
* 对于第二个95分:比他高的人还是2个(100, 98)。2 + 1 = 3。他也是第3名。
* 对于92分:比他高的人是4个(100, 98, 95, 95)。4 + 1 = 5。他是……等等,不对!
你看,激动了,差点又掉坑里。用COUNTIFS的这个基础玩法,它解决了跳名次的问题,但是是另一种方式的跳。它会把并列的人数也算进去。应该是1, 2, 3, 3, 5。这不是我们想要的1, 2, 3, 3, 4。
别急,别急,刚才那个思路是对的,只是公式需要微调。真正的“中国式排名”高手,用的是这个:
=SUMPRODUCT(($C$2:$C$100>C2)/COUNTIF($C$2:$C$100, $C$2:$C$100)) + 1
这个公式有点面目狰狞,结合了SUMPRODUCT和COUNTIF,它的核心思想是把每个比当前值大的数值,除以这个数值在整个列表里出现的次数,从而消除重复计数带来的影响。说实话,这个公式对新手太不友好了,解释起来也费劲。
所以,我们回到COUNTIFS,换个更巧妙的玩法,也是我个人最推荐的,特别是当有第二排序规则的时候。
比如,业绩相同,那就看谁入职早,谁排前面。
这时候,你的排名公式,就成了一个艺术品:
=COUNTIFS(业绩列, ">"&当前业绩) + COUNTIFS(业绩列, 当前业绩, 入职日期列, "<"&当前入职日期) + 1
看懂了吗?这个公式分成了两段加一个1:
COUNTIFS($C$2:$C$100, ">"&C2):这部分和刚才一样,先数数有多少人单凭业绩就稳稳压你一头的。COUNTIFS($C$2:$C$100, C2, $D$2:$D$100, "<"&D2):这是神来之笔。这个COUNTIFS有两个条件。第一个条件$C$2:$C$100, C2的意思是“在业绩分跟你相同的人里面”,第二个条件$D$2:$D$100, "<"&D2的意思是“入职日期比你早(日期数值更小)的人有几个”。+ 1:最后,把自己加上。
整个公式翻译成大白话就是:我的名次 = 纯业绩比我高的人数 + 业绩跟我一样但入职比我早的人数 + 我自己这个人。
这一下,就彻底解决了所有问题。不管多少人并列,只要他们的入职日期不一样,就一定能排出个独一无二的名次。如果连入职日期都一样……那你可以再加上第三、第四排序条件,比如年龄、工号,无限套娃下去。
掌握了这一招,你就不再是一个只会用RANK.EQ的“表弟表妹”。你成了一个能真正“解决问题”的人。当别人还在为并列排名和跳号抓耳挠腮时,你已经优雅地敲下这行复杂的公式,一键搞定,深藏功与名。
所以你看,Excel求名次,哪是单纯的拉个公式。它是在考验你对数据逻辑的理解,考验你解决实际问题的能力,甚至,是在帮你修炼一颗在复杂规则下保持清晰头脑的强大心脏。下次再有人让你“五分钟排个名”,你可以微微一笑,问他:“老板,要哪种排法?国际标准的,还是咱们接地气,带次要排序规则的?”
那一刻,你在他眼里的段位,就不一样了。
【excel的名次怎么求】相关文章:
那个绿色三角。12-13
excel怎么随机公式12-13
excel怎么选择筛选12-13
手机excel怎么打字12-13
excel怎么移动批注12-13
excel怎么增加筛选12-13
excel的名次怎么求12-13
Excel文件删除怎么恢复12-13
excel表格符号怎么替换12-13
excel怎么设置字体方向12-13
excel表格序号怎么设置12-13
excel分页线怎么删除12-13
excel怎么快速输入数字12-13