Excel排序非常方便,在排名次时用起来特别顺手。笔者现总结利用Execl排名时的四种操作方法:
把成绩录入完后,使用“自动求和”功能计算出每个人的总分,并单击“数据” →排序,以“总分”为主“关键字”按“降序”排列。接着在H1单元格输入“名次”二字(如图1)。
一、 序列填充法
1.在H2单元格中输入1,然后把鼠指针指向H2单元格的四框上单击,让H2单元格为选中状态,或者单击一下其它任意单元格,再返回来单击H2单元格(不然接下来的填充→序列为灰色不可用)。
2.查出总共多少人。
3.单击“编辑”→填充→序列(如图2),在打开的“序列”对话框中,“序列产生在”项选“列”;“类型”项选“等差序列”;步长值1;终止值输入总人数12;最后单击“确定”按钮完成(如图3)。
二、 托选填充法
1.左键拖选法:
在H2单元格中输入1,H3单元格中输入2,然后用鼠标把H2和H3单元格拖选上(如图4),接着把鼠标指针指向H3单元格右下角,当鼠标指针变成黑色实线加号时,按住左键向下拖动到H13单元格后放手。
2.右键拖选法:
在H2单元格中输入1,把鼠标指针指向H2单元格右下角,当鼠标指针变成黑色实线加号时,按住右键向下拖动到H13单元格后放手,这时屏幕上会弹出一个快捷菜单(如图5),左键单击“以序列方式填充”(也可以单击“序列”项,再按照序列填充法完成)。
三、 函数判断法
1.排位函数RANK():
在H2单元格输入公式:=RANK(G2,G:G),接着把鼠标指针指向H2单元格右下角,当鼠标指针变成黑色实线加号时,按住左键向下拖动将公式向下复制到H13单格后放手(如图6)。
RANK函数是返回一个数值在一组数值中的排位。数值的排位是与数据清单中其他数值的相对大小(如果数据清单已经排过序了,则数值的排位就是它当前的位置)。其语法为:RANK(number,ref,order)其中:number为需要找到排位的数,ref为包含一组数的数组或引用(ref中的非数值型数据将被忽略),order为一指明排位方式的数,order为0或省略时按降序排位,order不为0时按升序排位。
这个公式中number是指G2单元格中的431分;ref指的是G列这些分数;order省略没有。也就是说公式的最终意思是按照降序计算G2单元格中的431分在G列这组分数中所排的位置。
如果RANK 函数中ref 所引用的区域中有重复数,则函数返回相同的排位数,但重复数的存在将影响后续数值的排位。也就是说如果分数相同名次相同,随后的名次将空缺。如这里400出现两次,其排位为4,而395分的排位为6(没有排位为5的数值)。
2.条件函数IF():
在H2单元格直接输入1,在H3单元格输入公式: =IF(G3=G2,H2,H2+1) 接着把鼠标指针指向H3单元格右下角,当鼠标指针变成黑色实线加号时,按住左键向下拖动将公式向下复制到H13单格后放手(如图7)。
IF函数用于执行真假值判断后,根据逻辑测试的真假值返回不同的结果,因此`函数也称之为条件函数。可以使用函数 IF 对数值和公式进行条件检测。它的语法为IF(logical_test,value_if_true,value_if_false)。
其中Logical_test表示计算结果为 TRUE 或 FALSE 的任意值或表达式。此参数可使用任何比较运算符。Value_if_true显示在logical_test 为 TRUE 时返回的值,Value_if_true 也可以是其他公式。Value_if_false 显示在logical_test 为 FALSE 时返回的值。Value_if_false 也可以是其他公式。也就是说如果第一个参数logical_test返回的结果为真的话,则执行第二个参数Value_if_true的结果,否则执行第三个参数Value_if_false的结果。
IF函数可以嵌套七层,用 value_if_false 及 value_if_true 参数可以构造复杂的检测条件。这个公式中logical_test是G3=G2, value_if_true是H2,value_if_false是H2+1。意思是G3单元格中的分数与G2单元格中的分数是否相同,如果相同,则显示H2单元格值,也就是我们填入的1,如果不同,则显示H2+1,也就是2。
用这种方法排的名次不会出现空缺,相同分数的排名仍然相同。
四、公式法
在H2单元格直接输入1,在H3单元格输入公式:=H2+(G3<G2)接着把鼠标指针指向H3单元格右下角,当鼠标指针变成黑色实线加号时,按住左键向下拖动将公式向下复制到H13单格后放手(如图8)。
公式“=H2+(G3<G2)”的作用是:如果该单元格中的分数小于它上面单元格中的分数,则其名次比上一个单元格的值增加1;如果该单元格中的分数等于上面单元格中的分数,则其名次等于上一个单元格的名次。
公式中“=”为赋值命令,其作用是将计算结果填在这个单元格内,“H2”是我们先手工输入的1;“+”为加法运算;(G3<G2)为逻辑运算语句,其作用是用来计算G列中G3和G2两个单元格中的分数的大小直接进行比较的运算结果,如果G3单元格中的分数比G2单元格中的分数小,运算结果为“1”,否则为“0”。这样在按照递减顺序进行排序的分数序列中,当G3单元格中的分数比G2单元格中的分数小时,H3单元格的值为H2单元格中的值再加上1,即为上一个名次的值加1;而当G3单元格中的时间和G2单元格中的时间相等时,H3单元格的值为H2单元格中的值再加上0,即这2个名次相同。
这种直接使用公式法同使用IF函数一样,名次不会出现空缺,相同分数的排名仍然相同。