Excel函数用处大。用Excel表格做了学生考试成绩汇总表,格式如图1所示。需要根据C列中相应科目的成绩排出名次,并将结果放到E列相应的单元格中。
排定名次要使用RANK函数,其语法是“RANK(number,ref,order)”其中,参数“number”是需要找到排位的数字;而参数“ref”则是数字列表的引用;第三个参数如果省略则是按降序排列,这正是我们需要的。比如公式“=RANK(A3,A2:A6)”的意思就是要得到A3单元格数据在A2:A6单元格数据中的排名。
显然,在本例中要使用RANK函数,但有一个问题是必须要解决的。假设我们要针对语文学科的总分来排名次。学生们的语文总成绩分布在C2、C5、C8、C11……等单元格中,所处单元格区域并不连续,每3行有一个成绩。怎样才能将它们选中,并作为排名的区域呢?
这个问题也曾经困扰了不少excel初学者,其实可以利用求余数函数和定义名称的办法使问题得到顺利解决。不过,有些准备工作是要做的。
还是以语文成绩的排名为例。
先将D列的数据复制到别的位置,等准备工作完成后再粘贴回来。
先选中D2单元格,输入公式“=1/(MOD(ROW(),3)-2)”,回车后即可发现出现“#DIV/0!”的错误提示。拖动该单元格填充句柄向下至D16,则会从D2单元格开始,每3行出现相同的错误提示,其它各行均为数字。
点击功能区“开始”选项卡“编辑”功能组“查找和选择”按钮,在弹出的菜单中点击“定位条件”命令,打开“定位条件”对话框。选中“公式”单选项,并只保留选中随后出现的“错误”复选项,如图2所示。确定后就可以发现,凡是出现错误的提示的单元格就处于被选中状态了。
现在点击功能区“插入-名称-定义”按钮,在打开的“新建名称”对话框的“名称”输入框中输入“语文”。确定关闭对话框,或者直接在名称栏直接输入“语文”。
以后只要我们在名称框中输入“语文”,回车,就可以再次选中D列中全部语文学科对应的单元格了,如图所示。
按照上面的方法,只要能让错误提示分别出现在相应学科所在行,那么就可以利用定位条件来选中它们。因为语文学科所处的单元格所在行除以3的余数为2,所以我们采用公式“=1/(MOD(ROW(),3)-2)”制造了除数为0的错误提示。那么数学、英语等其它学科则可以分别根据其行数除以3的余数不同,重复上面的操作过程,只是将公式分母中“-2”分别变成“-0”、、“-1”就可以了。将所到的各学科区域分别以“数学”、“英语”等名称命名。
但准备工作仅仅做这些还是不够的。因为我们排出的名次应该放在E列而不是D列。所以我们还要在再用上面的方法在E列中选中各学科对应的区域,并分别以“语文排名”、“数学排名”、“英语排名”等名称命名,以便将来在这些区域中输入不同的公式。
至此,我们的准备工作才算是完成了。现在我们可以将临时放到别处的总分粘贴回D列单元格中了,再剩下的事儿就是用RANK函数排名的问题了。咱还是先根据语文成绩排名吧。
先在名称栏输入“语文排名”,回车,将E列语文学科所对应的单元格全部选中,此时E2单元格会处于被激活状态。我们只要在编辑栏输入公式“=RANK(E2,语文)”,并按下“Ctrl+Enter”就可以在全部选中的单元格中输入公式并得到名次结果了。最后的结果如图1所示。
其它学科的名次排定依此法办理。够简单吧?
至此,我们针对各学科的排名工作就算是大功告成了。
|