Board logo

标题: Excel中排名用函数会更简单 [打印本页]

作者: 月上西楼    时间: 2007-9-25 14:16     标题: Excel中排名用函数会更简单

  当班主任,总免不了要给学生排个名次什么的。比如如图1所示成绩表,如果需要保持原表的姓名顺序不变并给所有学生排定名次的话,那么以往的一个可行做法是:先利用工具栏中的[自动求和]按钮计算出每个学生的总分,然后点击菜单命令“数据→排序”,打开“排序”对话框,“主要关键字”选择“总分”,并选中右侧的“降序”单选项。点击[确定]按钮,就可以实现将所有人的成绩按总分以降序排列了。
  之后要做的就是在名次列中手工依次输入每名学生的成绩。如果数据量比较大时,可以先输入1、2、3后,选中这三个单元格,然后把鼠标移到单元格右下角的小方块上,待鼠标变成十字形后向下拖动,自动产生数字。

  最后,点击菜单命令“数据→排序”,打开“排序”对话框。这次以“编号”为主要关键字,并选中右侧的“升序”单选项。此时才出现我们想要的结果。

  不过,这个办法还是有些麻烦,主要表现在两个方面:

  1. 完成全部的排序工作要分别以“总分”和“编号”为关键字进行两次排序。如果不幸在数据表中忘记设置“编号”列,那么第一次排序之后,想再回到原来的序列顺序麻烦就大了(呵呵,您也甭笑,当初我就多次遇到过这种事,可谓前车之鉴)。

  2. 最麻烦的是排名次。以总分为关键字排好序后,需要人工填入名次,这当然会很麻烦。虽然,您可以使用填充柄自动输入数列的功能完成快速输入,但这也会带来另外一个麻烦,那就是如果总分相同,按通常的情况,他们的名次应该是相同的,不过,自动填充功能是不会做到这一点的。所以还需要手工修改有关的名次。如果有成百上千的数据,岂不会弄得头都大了?

  现在,我们来看看如何更快、更好地排出这个无规律的数列。

  1. 在“总分”列的F2单元格输入“=SUM(C2:E2)”,然后按下回车键,第一个学生的总分就会计算出来了。



图1 原始成绩表



  2. 在“名次”列的“G2”单元格输入“=RANK(F2,$F$2F$7)”,然后按下回车键,第一位学生的名次也就出来了。怎么,名次不对?不要紧,往后看。对了,还要说一句,那就是上面公式中那个“$F$7”是“总分”栏中的最后一个数据的位置,实际中可以根据表格中的实际情况来填写。

  3. 选中F2和G2单元格,然后拖动填充柄向下至最后一个单元格,看到了吗?所有人的总分和名次都在瞬间完成了(如图2)。而且更妙的是,按照这种方法,如果总分相同,名次也是相同的。数据越多,这种方法就越能体现出它的优势。试试看吧!



图2 排好序的表



  最后要提醒的是,在用于排名次的“=RANK(F2,$F$2F$7)”公式中,可千万不要忽略了符号“$”呀!名次到底能不能排得准确无误,它可是起到很重要的作用呢。




欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/) Powered by Discuz! 6.0.0