rank函数是排名函数。rank函数最常用的是求某一个数值在某一区域内的排名。
rank函数语法形式:rank(number,ref,[order])
函数名后面的参数中number为需要求排名的那个数值或者单元格名称(单元格内必须为数字),ref为排名的参照数值区域,order的为0和1,默认不用输入,得到的就是从大到小的排名,若是想求倒数第几,order的值请使用1。
下面给出几个rank函数的范例:
示例1:正排名
此例中,我们在b2单元格求20这个数值在a1:a5区域内的排名情况,我们并没有输入order参数,不输入order参数的情况下,默认order值为0,也就是从高到低排序。此例中20在a1:a5区域内的正排序是1,所以显示的结果是1。
示例2:倒排名
此例中,我们在上面示例的情况下,将order值输入为1,发现结果大变,因为order值为1,意思是求倒数的排名,20在a1:a5区域内的倒数排名就是4。
示例3:求一列数的排名
在实际应用中,我们往往需要求某一列的数值的排名情况,例如,我们求a1到a5单元格内的数据的各自排名情况。我们可以使用单元格引用的方法来排名:=rank(a1,a1:a5),此公式就是求a1单元格在a1:a5单元格的排名情况,当我们使用自动填充工具拖拽数据时,发现结果是不对的,仔细研究一下,发现a2单元格的公式居然变成了=rank(a2,a2:a6)这超出了我们的预期,我们比较的数据的区域是a1:a5,不能变化,所以,我们需要使用$符号锁定公式中a1:a2这段公式,所以,a1单元格的公式就变成了=rank(a1,a$1:a$5)。
如果你不记得此函数如何使用,你可以点击插入函数,类别选择全部,然后任意选择下方的一个函数名,然后按键盘上的r键,你很快就可以找到rank函数了,三个参数的用法如上所述。
如果你想求a列数据的倒数排名你会吗?参考例3和例2,很容易更过资料可以参考excel教程专题。
以下是补充:
当班主任,总免不了要给学生排个名次什么的。比如如图1所示成绩表,如果需要保持原表的姓名顺序不变并给所有学生排定名次的话,那么以往的一个可行做法是:先利用工具栏中的[自动求和]按钮计算出每个学生的总分,然后点击菜单命令数据,打开排序对话框,主要关键字选择总分,并选中右侧的降序单选项。点击[确定]按钮,就可以实现将所有人的成绩按总分以降序排列了。
之后要做的就是在名次列中手工依次输入每名学生的成绩。如果数据量比较大时,可以先输入1、2、3后,选中这三个单元格,然后把鼠标移到单元格右下角的小方块上,待鼠标变成十字形后向下拖动,自动产生数字。
最后,点击菜单命令数据,打开排序对话框。这次以编号为主要关键字,并选中右侧的升序单选项。此时才出现我们想要的结果。
不过,这个办法还是有些麻烦,主要表现在两个方面:
1.完成全部的排序工作要分别以总分和编号为关键字进行两次排序。如果不幸在数据表中忘记设置编号列,那么第一次排序之后,想再回到原来的序列顺序麻烦就大了(呵呵,您也甭笑,当初我就多次遇到过这种事,可谓前车之鉴)。
2.最麻烦的是排名次。以总分为关键字排好序后,需要人工填入名次,这当然会很麻烦。虽然,您可以使用填充柄自动输入数列的功能完成快速输入,但这也会带来另外一个麻烦,那就是如果总分相同,按通常的情况,他们的名次应该是相同的,不过,自动填充功能是不会做到这一点的。所以还需要手工修改有关的名次。如果有成百上千的数据,岂不会弄得头都大了?
现在,我们来看看如何更快、更好地排出这个无规律的数列。
1.在总分列的f2单元格输入=sum(c2:e2),然后按下回车键,第一个学生的总分就会计算出来了。
2.在名次列的g2单元格输入=rank(f2,$f$2:$f$7),然后按下回车键,第一位学生的名次也就出来了。怎么,名次不对?不要紧,往后看。对了,还要说一句,那就是上面公式中那个$f$7是总分栏中的最后一个数据的位置,实际中可以根据表格中的实际情况来填写。
3.选中f2和g2单元格,然后拖动填充柄向下至最后一个单元格,看到了吗?所有人的总分和名次都在瞬间完成了(如图2)。而且更妙的是,按照这种方法,如果总分相同,名次也是相同的。数据越多,这种方法就越能体现出它的优势。试试看吧!
最后要提醒的是,在用于排名次的=rank(f2,$f$2:$f$7)公式中,可千万不要忽略了符号$呀!名次到底能不能排得准确无误,它可是起到很重要的作用呢。