如何解决Excel统计学生成绩时的四个难题?

如何解决Excel统计学生成绩时的四个难题?

一、前言
 
对于教师而言,经常需要用Excel进行学生成绩统计,会被一些常见问题难祝碰到的难题主要有:如何统计不同分数段人数、如何在保持学号不变前提下进行排名、如何将百分制转换成不同分数段与如何用红色显示不及格的分数等,本文着重对这些问题的解决方法与技巧加以分析和讨论。
 
本文假设读者已对Excel的基本操作已经有一定基础,已经掌握如何进行求和、求平均和如何使用自动填充柄进行复制公式等操作,本文对这些一般性操作不做详细介绍,仅对一些难度较大的操作技巧进行讨论。
 
二、Excel统计学生成绩时的四个难题
 
假设在统计学生成绩时,我们需要统计出如图1所示的相关结果。
 
如何解决Excel统计学生成绩时的四个难题?
 
图1学生成绩统计所需要的结果图
 
这里,假设学号、姓名、成绩等列及行15都已经事先输好,需要让Excel统计其他的相关数据结果。这时,成绩统计中主要难解决的问题及它们在图中的位置如下:
 
问题1:如何统计不同分数段的学生人数?(图中A16~E16)
 
问题2:如何在保持学号顺序不变的前提下进行学生成绩名次排定?(图中F2~F13)
 
问题3:如何将百分制转换成不同的等级分?(图中“等级1”与“等级2”列)
 
问题4:如何使不及格的分数以红色显示?(图中红色显示部分,即第12行)
 
三、解决统计学生成绩时的四个难题的方法
 
下面,针对上面提出的四个难题分别讨论解决的方法与技巧。
 
1、统计不同分数段的学生人数
 
统计不同分数段的学生人数是非常常见的需求,其所需结果如图1中A16~E16所示。这里,假设需要统计90~100、80~89、70~79、60~69及低于60分五个不同分数段的人数。
 
通常,统计不同分数段最好的方法是利用COUNTIF(X,Y)函数。其中有两个参数,第一个参数X为统计的范围,一般最好用绝对引用;第二个参数Y为统计条件,要加引号。
 
对于小于60分的人数只要用一个COUNTIF( )函数,如在E16单元格中输入公式:=COUNTIF($C$2:$C$13,"<60")。
 
对于其他在两个分数之间的分数段的人数统计,需要用两个COUNTIF( )函数相减。如在A16单元格中输入公式:=COUNTIF($C$2:$C$13,"<=100")-COUNTIF($C$2:$C$13,"<90"),即用小于等于100的人数减去小于90的人数。
 
如果要统计80~89、70~79与60~69分数段的人数,只要利用自动填充柄将该公式复制到右边三个单元格,再把"<=100"与"<90"作相应的修改,就可以得到正确的结果。
 
2.保持学号顺序不变的前提下进行成绩排名
 
学生成绩排定在学生成绩统计中经常用到。特别要强调的是,这里所谈的方法不是一般的排序,因为那样会使学生的学号顺序发生变化。这里所需要的是在保持学号顺序不变的情况下进行学生成绩名次排定的功能,其所需结果如图1中F2~F13所示。
 
要进行保持学号顺序不变的情况下进行学生成绩名次的排定,最好使用RANK(X,Y,Z)函数。其中有三个参数,第一个参数X为某个学生的成绩所在单元格;第二个参数Y为整个班级成绩所在的区域;第三个参数Z是可选的,表示统计方式,若省写或写0,则成绩高的名次靠前,一般都使用这种方式,如果写1,则成绩高的名次靠后,这种情况一般较少用。
 
为了在保持学号顺序不变的前提下进行学生成绩名次排定,可以在F2单元格中输入公式:=RANK(C2,$C$2:$C$13,0),然后,利用自动填充柄将其复制到下方的几个单元格。注意,这里$C$2:$C$13用的是绝对地址,是为了保证公式在复制时此处不变,因为作为第二个参数,这里都是指整个班级成绩所在的区域,这个区域是相同的。
 
3、将百分制转换成不同的等级分
 
将百分制转换成不同的等级分有多种不同的划分方法,其所需结果如图1中“等级1”与“等级2”列所示。这里,“等级1”列是将百分制的分数转换成A(90~100)、B(80~89)、C(70~79)、D(60~69)与E(低于60)五个等级;“等级2”列是将百分制的分数转换成优(90~100)、良(75~89)、中(60~74)与不及格(低于60)四个等级。具体使用哪种等级划分方法可根据实际情况自己确定。
 
在百分制转换成不同的等级分时,一般使用IF(X,Y,Z)函数。其中有三个参数,第一个参数X为条件,不能加引号;第二个参数为条件成立时的结果,如果是显示某个值,则要加引号;第三个参数为条件不成立时的结果,如果是显示某个值,同样要加引号。该函数可以嵌套,即在第二个或第三个参数处可以再写一个IF函数。
 
为了得到“等级1”列所要的等级结果,可以在D2单元格中输入公式:=IF(C2>=90,"A",IF(C2>=80,"B",IF(C2>=70,"C",IF(C2>=60,"D","E")))),然后,利用自动填充柄将其复制到下方的几个单元格。
 
为了得到“等级2”列所要的等级结果,可以在E2单元格中输入公式:=IF(C2>=90,"优",IF(C2>=75,"良",IF(C2>=60,"中","不及格"))),然后,利用自动填充柄将其复制到下方的几个单元格。
 
4、使不及格的分数以红色显示
 
统计学生成绩时经常需要将不及格的分数用红色显示,其结果如图1中红色显示部分(如第12行)。
 
使不及格的分数以红色显示需要使用“格式”菜单中的“条件格式”命令。该命令会弹出一个对话框,其中要求确认条件与相应的格式。
 
对于“成绩”列,可先选中C2:C13,然后使用“格式”菜单中的“条件格式”命令,在弹出的对话框中,左边使用默认的“单元格数值”,中间选“小于”,右边填写60,然后单击右边的“格式”按钮,从中选择红色,最后单击两次“确定”按钮。
 
对于“等级1”列,可先选中D2:D13,然后使用“格式”菜单中的“条件格式”命令,在弹出的对话框中,左边使用默认的“单元格数值”,中间选“等于”,右边填写E,然后单击右边的“格式”按钮,从中选择红色,最后单击两次“确定”按钮。“等级2”列类似。
 
对于其他的一些统计计算要求,如怎样计算各分数段的百分比、如何计算机优良率与合格率等功能,应该比较简单,本文此处不赘述。