电脑技术学习

Excel 2002在学生成绩统计中的应用

dn001

  在学校的教学过程中,对学生成绩的处理是必不可少的,为了在教学中提高成绩,我们需要对学生的考试成绩进行认真的分析,这就要求我们算出与之相关的一些数值:像每一个同学的总分及班名次、级名次,各科分数的平均分,各科的优秀率及及格率等等,如果用Excel来处理这些数据则非常简单,下面就我在实际工作中的一点儿经验,简单谈一谈用Excel处理学生成绩。亰

  一、排列名次

  要用到RANK函数,它是Excel中计算序数的主要工具,它的语法为:RANK(Number,Ref,Order),其中Number为参与计算的数字或含有数字的单元格,Ref是对参与计算的数字单元格区域的绝对引用,Order是用来说明排序方式的数字(如果Order为零或省略,则以降序方式给出结果,反之按升序方式)。例如:在E2:E50单元格区域中存放着某一个班的总分,那么计算总分名次的方法是:在F2单元格中输入“=RANK(E2,$E$2:$E$50)”按回车键可算出E2单元格内总分在班内的名次,我们再选定F2单元格,把鼠标指针移 动到填充柄上按下鼠标左键向下拖动鼠标即可算出其他总分在班内的名次。

  在计算的过程中我们需要注意两点:首先当RANK函数中的Number不是一个数时,其返回值为“#VALUE!”,影响美观。另外,Excel有时将空白单元格当成是数值“0”处理,造成所有成绩空缺者都是最后一名,看上去也很不舒服。此时,可将上面的公式“=RANK(E2,$E$2:$E$50)”改为“=IF(ISNUMBER(E2),RANK(E2,$e$2:$E$50),"")”。其含义是先判断E2单元格里面有没有数值,如果有则计算名次,没有则空白。其次当使用RANK函数计算名次时,相同分数算出的名次也相同,这会造成后续名次的空缺,但这并不影响我们的工作。同样的道理,我们也可以算出一个学生的总分在年级内的名次以及各科的班名次和年级名次,但是必须注意参与计算的数字单元格区域不一样。

  二、求各种分数

  求总分:主要用SUM函数,其语法格式为SUM(Ref),此处Ref为参与计算的单元格区域。例如:SUM(B2:E2)是表示求B2、C2、D2、E2四个单元格内数字的和。另外还用到SUMIF函数,语法格式为SUMIF(Range,Criteria,Sum_range),其功能是根据指定条件对若干单元格求和,参数Range表示引用,用于条件判断的单元格区域。Criteria表示数字、表达式或文本,指出哪些单元格符合被相加求和的条件。Sum_range表示引用,需要求和的实际单元格。注意:Criteria如果是文本,那么引号应该是半角的,而不是全角的,否则会出错!

  求平均分:用AVERAGE函数,其语法格式为AVERAGE(Ref),此处Ref为参与计算的单元格区域。例如AVERAGE(F2:F50)是求F2:F50区域内数字的平均值。默认情况下,Excel 2002会忽略掉空白的单元格,但是它不忽略数值为0的单元格,要想忽略数值为0的单元格需要用到COUNTIF函数,其语法为COUNTIF(Range,Criteria),其含义是计算某个区域中满足给定条件的单元格数目。本例求F2:F50的平均分,如果忽略数值为0的单元格可以这样计算:SUM(F2:F50)/COUNTIF(F2:F50,"<>0")。另外如果要求去掉几个最高分和几个最低分然后取平均分的话,用到LARGE和SMALL函数,其语法格式为LARGE(array,k),含义是返回数组中第k个最大值,SMALL(array,k)的含义是返回数组中第k个最小值。如果我们求F2:F50中去掉两个最高分和两个最低分之后的平均分可以这样计算:“SUM(F2:F50)-LARGE(F2:F50,1)-LARGE(F2:F50,2)-SMALL(F2:F50,1)-SMALL(F2:F50,2))/COUNTIF(F2:F50-4)”。

  求最高分、最低分:MAX和MIN函数,语法格式分别为MAX(Ref)和MIN(Ref),如上例中求F2:F50的最高分和最低分,应该这样:MAX(F2:F50)和MIN(F2:F50)。

  三、求及格率、优秀率

  求及格率:及格率即一个班级中某一科大于等于60分的比例,例如:B2:B50中是某一个班的语文成绩,可以这样求及格率:COUNTIF(B2:B50,">=60")/COUNT(B2:B50)。

  求优秀率:例如:B2:B50存放的是初一一班的语文期末考试成绩,B2:B500存放的是初一全年级语文考试的成绩,如果规定全年级20%的学生为优秀,那么初一一班语文的优秀率应该这样计算:“COUNTIF(B2:B50,">="&&LARGE(B2:B500,INT(0.2COUNT(B2:B500))))/COUNT(B2:B50)”,其中LARGE(B2:B500,INT(0.2COUNT(B2:B500)))所求的是全年级语文分数前20%中最低的一个同学的分数,COUNTIF(B2:B50,">="&&LARGE(B2:B500,INT(0.2*COUNT(B2:B500))))则是求出了初一一班语文高于或等于这个同学分数的人数,最后再除以初一一班的总人数COUNT(B2:B50),所得就是初一一班的语文优秀率,如果想求其他班其他科目的优秀率,道理都是一样。

  (山东省博兴县实验中学 王其金)