哎呀,手上握着一堆沉甸甸的成绩单,密密麻麻的数字晃得人眼花,光看分数还不行,得知道谁是第一,谁又得加把劲儿,这个名次啊,可是个大问题。手动去比?算了吧,几十个人、几门课,眼睛都看瞎了不说,保不齐手一抖就数错了,那不得闹笑话?所以,祭出我们的神器——Excel,这玩意儿排名次,简直小菜一碟,而且,嘿嘿,方法还不少,看你怎么折腾。
最直接、最傻瓜、也是大家最常用的,多半是那个叫 RANK.EQ 的函数。听着挺专业,其实就是告诉你,在某个范围里,某个数字排第几。语法长这样:=RANK.EQ(需要排名的单元格, 排名的范围, [排序方式])。举个例子,你的总分在 B2 单元格,所有人的总分都在 B2:B50 这个区域,你想排个高分第一的名次,那公式就是 =RANK.EQ(B2, B$2:B$50, 0)。注意那个 B$2:B$50 里的美元符号,这是个绝对引用,干啥用的?就是当你把这个公式往下拖,复制给其他同学的时候,那个用来比较的分数范围(B2到B50)不会跟着动,永远框死在那一块儿,不然可就乱套了。最后的那个 0 或者省略不写,意思是降序,也就是高分排前面;你要是想看谁分数最低倒数第一(比如跑步比赛什么的),那就填个 1,升序。
这 RANK.EQ 好是好,简单直接。但是,人生哪有一帆风顺,尤其在考试这事儿上,分数完全一样的情况可太常见了!两个、三个,甚至更多人考了同一个分数,这时候 RANK.EQ 就犯愁了,它会给这几个人同样的名次,比如都是并列第三。然后呢?问题来了,按理说,并列第三后面应该跟着第五了,跳过第四。RANK.EQ 默认就是这么干的。有时候我们没意见,并列就并列呗。但有时候,就想要个连续的名次,哪怕分数一样,也得有个先后,比如按学号排个微小的先后。或者说,虽然并列了第三,但你统计前十名的时候,并列第三占了俩名额,下一个应该是第五,这前十名到底是包含了第十还是第十一?这就有点让人纠结了。
所以,针对并列,还有个兄弟函数叫 RANK.AVG。它处理并列的方式稍微有点不同,它会给出并列名次的平均值。比如三个人并列第三,RANK.AVG 会算出 (3+4+5)/3 = 4,给他们三个都排第四。老实说,这个我是不大用,感觉更糊涂了,哪个老师统计名次用平均值当名次的?太怪了。所以并列这事儿,RANK.EQ 那种处理方式(跳过后面的名次)反而更符合我们通常的理解。
那要是就想要一个绝对不会并列的、连续的名次呢?哪怕分数一样,也得排出个一二三四五来。这就需要点技巧了,不能光靠 RANK 函数单打独斗。一个比较常见的“歪门邪道”组合拳是 RANK.EQ 加上 COUNTIF。怎么弄?先用 RANK.EQ 排出基础名次,这个名次可能会有并列。然后,对于那些分数一样的,我们需要一个额外的判断条件来区分他们。比如,如果分数一样,就看看他们在表格里出现的顺序,或者他们的学号。
假设我们的分数在 B 列,学号在 A 列,从第2行开始。你可以在 C 列先用 RANK.EQ 排出基础名次:=RANK.EQ(B2, B$2:B$50, 0)。这个 C 列的名次是有可能并列的。现在我们要在 D 列生成最终不并列的名次。怎么弄?对于分数相同的,谁先出现谁名次靠前一点?或者谁学号小谁靠前?咱们采取简单粗暴的,看看在当前单元格(比如 B2)之前,有多少个分数跟它一样,但行号比它小。这个可以用 COUNTIF 函数来数。公式大概长这样:=COUNTIF(B$2:B2, B2)。注意 B$2:B2 这个范围,它随着你向下拖动,上面的行号固定 (B$2),下面的行号 (B2) 变化,这样它就动态地统计从 B2 到当前行的区域里,有多少个值等于当前单元格 (B2) 的值。
好了,现在我们有两个信息了:一个是基础名次(可能并列),另一个是当前分数在所有跟它一样的分数中,是第几个出现的(从1开始数)。把这两结合起来,就能得到一个不并列的名次了。最终公式可以这么写:=RANK.EQ(B2, B$2:B$50, 0) + COUNTIF(B$2:B2, B2) - 1。
拆开看:
RANK.EQ(B2, B$2:B$50, 0):这是基础名次,如果三个人都是并列第三,那他们这里都显示 3。
COUNTIF(B$2:B2, B2):对于第一个出现那个得并列分数的,这个公式结果是 1;对于第二个出现的,结果是 2;第三个是 3,以此类推。
把这两个加起来:第一个并列第三的人,基础名次 3 + 出现次数 1 = 4。第二个并列第三的人,基础名次 3 + 出现次数 2 = 5。第三个…… 3 + 3 = 6。
等等,这不对啊,并列第三,后面应该是第四、第五啊!不是第四、第五、第六。所以,要减去 1。
最终:第一个并列第三:3 + 1 - 1 = 3。第二个并列第三:3 + 2 - 1 = 4。第三个并列第三:3 + 3 - 1 = 5。
看,这样就完美了!并列第三的人,他们的名次被顺着排成了 3、4、5,不会跳名次,而且因为 COUNTIF 里范围的动态性,只要分数一样,先在表里出现的就排在前面。当然,如果你想按学号排,那就把 COUNTIF 的判断条件和范围改成学号列 A。比如 COUNTIFS(B$2:B$50, B2, A$2:A$50, "<"&A2) 这种更复杂的,用来数分数跟你一样但学号比你小的有几个,然后加到 RANK.EQ 结果上。不过 COUNTIF(B$2:B2, B2)-1 这种方法利用了表格本身的顺序,其实是最简单也最常用的处理并列且要求名次连续的办法。
除了这些函数,还有个最“笨”,但有时候最直观的方法——排序。先把你的分数列选中,然后点数据选项卡里的排序,按总分降序排列。排完之后,总分最高的就在最上面了。然后在旁边一列手动或者用一个简单的序列填充功能,填上 1、2、3、4…… 这不也是名次嘛!这种方法特别适合需要人工检查或者处理少量数据的情况。而且排序后,分数一样的学生会挨在一起,更容易看出并列情况,然后再决定怎么给他们排先后(比如按学号在排序时加一个次要关键字排序)。不过,如果原始数据的顺序不能被打乱,或者你需要经常更新数据、自动刷新名次,那排序就不如函数来得方便了。
话说回来,排名次这事儿,看着简单,里头的门道还真不少。用哪个函数,怎么处理并列,是想要跳跃名次还是连续名次,这都得根据你的具体需求来定。没有最好的方法,只有最适合你的方法。所以啊,别死记硬背公式,理解它为啥那么写,遇到问题了才知道怎么变通,这才是玩转 Excel 的精髓,你说是不是?别光盯着一个分数看,名次这东西,有时候比分数本身更能说明问题,它告诉你,你跟别人比,大概站在哪个位置。然后,才知道下一步该往哪儿努力。Excel 只是工具,怎么用它,用它来做什么,这才是关键。
【excel成绩名次怎么做】相关文章:
excel怎么做图表分析12-05
把CAD图塞进Excel?这问题,听着就有点拧巴。12-05
excel怎么输入时间格式12-05
Excel表格只读模式,这烦人的家伙!到底怎么才能摆脱它?12-05
series在excel里面怎么用12-05
excel成绩名次怎么做12-05
excel指数函数怎么输入12-05
怎么交换excel两列数据12-05
excel打印太小怎么办12-05
excel表格怎么导成图片12-05
excel表格很卡怎么办12-05
excel格式刷怎么连续用12-05