利用RANK巧排名次(1)

  • 格式:doc
  • 大小:101.50 KB
  • 文档页数:3

利用RANK巧排名次(1)

第一,先排序,再定名次

这是大家用得比较普遍的方法。统计好每名学生的总成绩后,以总成绩为关键字对整个工作表进行降序排序。然后在“名次”一列第一名学生所在单元格手工输入“1”,再向下填充即可得到全班所有学生的成绩排名。用这个办法,优点是方便,缺点也非常明显,就是如果有分数相同的学生,则不能分辨出并列名次,如图1中,董舒和潘姬两位同学总分都是463分,应该是并列第10名,但潘姬同学却不幸被排成第11名,被挤出了“十强”行列。

图1

如果将上图中J列单元格用IF函数加以控制一下,也可以实现标出并列名次,但如果总分相同的人比较多的话,公式会比较复杂,不便于记忆。因此,我们推荐用第二个方法来

实现排序。

第二,用RANK函数排序

仍以上面的工作表为例,在J2单元格输入“=RANK(I2,I$2:I$31)”并回车,然后向下填充至J31单元格,即可完成排名(图2)。我们看到,不仅总分相同的董舒和潘姬两位同学都是第10名,而且后面的名次自动跳过了第11名,接到第12名,这也是符合我们排名规则的。另外,用RANK排名时,不必事先以“总分”为关键字进行排序,也能得到正确的排名。

图2

下面简单介绍一个RANK函数:

RANK函数的主要功能是返回一个数字在数字列表中相对于其他数值的大小排位,其格式如下:

RANK(数值,引用范围,排序方式)

其中“数值”为要排序的单元格地址,“引用范围”为参与排序的所有数据所在的范围,“排序方式”为“0”时为升序(即最大值为的序号“1”),为“1”时为降序,省略时默认为升序。

1.应用Rank函数进行排位

用光标选定D4单元格后输入“=RANK(C4,$C$4:$C$26)”按回车键后便可计算出第一记录的“名次”。将光标移到E3单元格填充柄上变成细十字形光标后,按下鼠标左键往下拖(公式复制),就可将所部门的“名次”计算出来(说明:以上公式中$C$4:$C$26是指绝对引用C4到C26单元格区域)。

虽然Rank函数已将所有的部门按积分的高低进行名次排列,但在相同名次的后面的名次却没有达到我们的要求。如在本例中有两个第1名而后面出现的并不是我们期待的第2名而是第3名。为此,我们还得巧妙地应用排序功能来补充完成Rank函数尚未完成的工作。

2.增加关键字段

为了保证各部门位置不变,我们可以借助增加关键字段再将其隐藏的方法来处理,具体操作如下:分别选定第D列和第F列点击“插入”菜单并单击“列”后便可自动增加2列(图2)。选定D3单元格输入一个新字段名“序列”,再选定D4单元格并输入1,将光标移到在D4单元格填充柄上变成细十字形光标后按住“Ctrl键”不放,并按下鼠标左键往下拖至D26后松开,这时在D4到D26出现从1到23的序列填充。将E3单元格的字段名改为“名次1”并在F3单元格输入字段名“名次”。

3.根据需要进行相关排序 将光标选定在表格内任一单元格内,点击“数据”菜单→“排序”→在“主要关键字”下拉框内选定“名次1”并选定“递增”单选钮→确定。在F4单元格内输入1后将光标选定在F5单元格后输入“=IF(E4=E5,F4,F4+1)”,按回车键,然后依照上述方法将F5的公式复制到F26。为了还原有各部门的相关位置,依照前面排序方法再进行一次排序,但“主要关键字”则必须改为按“序列”字段进行递增排序。可是这时却发现经排序后的前几个记录却以“#VALUE!”的形式出现,这是因为“名次”字段的公式计算结果经排序后产生错误的缘故,为此,必须在“序列”字段排序之前将“名次”字段的公式计算结果转为数值常量后再进行排序。操作如下:选定E4到E26单元格区域→单击工具栏上复制命令按钮→点击“编辑”菜单→选定“选择性粘贴”→在弹出的对话框内选定“数值”单选钮确定后即可。最后依次选定D列、E列→点击“格式”菜单→列→隐藏“列”便可得到我们所要的效果了。