标题:
用Excel宏命令快速处理学生成绩
[打印本页]
作者:
月上西楼
时间:
2007-8-25 12:13
标题:
用Excel宏命令快速处理学生成绩
在教学管理工作中,学生成绩的处理是一项枯燥烦琐的工作。Excel 2000提供了一个宏命令,利用它可以大大地缩短工作时间,提高工作效率。
准备工作
在完成某年级所有班的成绩录入之后,首先打开班级人数最多的那个成绩文件(例如,该班学生人数为70名)。成绩表中A列为学号(A1内容为“学号”,后同)、B列为姓名、C列为语文、D列为数学、E列为政治、F列为总分、G列为名次。
录制宏命令
单击菜单“工具→宏→录制新宏”,出现“录制新宏”的对话框,输入宏名,如“高一”,选择“保存在”项目中的“个人宏工作簿”,单击?确定?按钮,开始录制宏命令。
1. 计算总分并按“总分”排序
选中单元格C2至E2,单击工具栏上汇总命令“∑”,得出第一个学生的总分。选中F2单元格,拖动填充柄至F71。选中F列中任一有内容的单元格,打开菜单“数据→排序”的对话框,以“总分”为主要关键字递减,以学号为次要关键字递增,单击?确定?按钮。
2. 排名次
排名次一般来说有两种情况,一是从小到大的顺序排序:在G2单元格中输入“1”,G3单元格中输入“2”,选中单元格G2和G3,双击填充柄或拖动填充柄至G71;另一个是要求同分同名次:在G2单元格中输入“=RANK?F2?F?F?”,然后选中单元格G2,双击填充柄或拖动填充柄至G71单元格。如果按第二种情况,还要进行以下操作:选中G列,复制,利用“选择性粘贴”中的“数值”把G列内容复制到G列(或复制到H列后再删除G列,H列自动变为G列)。
3. 计算全班各科平均分
在C72单元格输入“=AVERAGE?C2?C71?”,求出“语文”的平均分。选中C72,拖动填充柄至E72,就求出了所有科目的平均分。求总分平均分时要在F72单元格中输入公式“=SUM?F2?F71?/?COUNTA?B2?B71??”。其中“COUNTA?B2?B71?”是用来计算该班人数,不要使用如“COUNTA?C2?C71?”,以防出错。
4. 计算前N名学生的各科平均分
比如计算前30名学生的各科平均分。在C73单元格中输入“=AVERAGE?C2?C31? ”,求出“语文”前30名的平均分,选中C73单元格,拖动填充柄至F73,就计算出了该班前30名的各科平均分及总分的平均分。
5. 计算达优率、及格率
按前两科的达优分数段为120计算,政治的达优分数段为80计算,在C74单元格中输入“=COUNTIF?C2?C71?″>=120″?/?COUNTA?$B2?$B71???100”,在D74单元格中输入“=COUNTIF?D2?D71?″>=120″?/?COUNTA?$B2?$B71???100”,在E74单元格中输入“=COUNTIF?E2?E71?″>=80″?/?COUNTA?$B2?$B71???100”,就会得出各科达到优秀分数段的百分比;同样,计算及格率时在C75单元格中输入“=COUNTIF?C2?C71?″>=90″?/?COUNTA?$B2?$B71???100”,在D75单元格中输入“=COUNTIF?D2?D71?″>=90″?/?COUNTA?$B2?$B71???100”,在E75单元格中输入“=COUNTIF?E2?E71?″>=60″?/?COUNTA?$B2?$B71???100”,就可以算出各科达到及格分数段的百分比。
6. 计算各分数段的人数
一般按10分一个分数段。以计算语文分数段为例,在C75单元格中输入“=COUNTIF?$C2?$C71?″>=140″?”,D75中输入“=COUNTIF?$C2?$C71?″>=130″?”,……H75单元格中输入“=COUNTIF?$C2?$C71?″>=90″?”,I75单元格中输入“=COUNTIF?$C2?$C71?″<90″?”,就可以求出各分数段的人数。求其他科目时,只需把公式中“C”换成对应的列号即可,如计算政治“>=90”的人数,在H77单元格中输入“=COUNTIF?$E2?$E71?″>=90″?”。
7. 结束录制
单击“停止录制”按钮,宏的录制过程结束。
利用所创建的宏命令
打开第二个班的成绩文件后,选中C72单元格使其成为活动单元格,选择菜单“工具→宏→宏”,出现“宏”对话框,在“宏名”列表框中选择刚建立的宏文件名“高一”,单击?执行?按钮,宏命令就会运行。运行完毕后,第二个班的成绩就计算完了。同样,其他各班的成绩都可以这样来处理。
数据的归类
把各班平均分和各科分数段分别应用“选择性粘贴”中的“数值”复制到对应的工作表或工作簿中,就得到了完整的各班平均分(或者各班前N名的平均分)和各分数段人数的统计表。
在录制“宏命令”的过程中要注意,录制的都是所有成绩文件具有共性的内容。如果是某个文件所特有的,如按“高一·1班成绩”为名来保存文件,就不能出现在录制宏的过程中,否则就会出现错误。录制好宏命令后,在以后的考试成绩处理中,就可以直接用来处理这个年级的成绩文件了。这个宏命令也可以用来处理其他年级的成绩文件,如果科目数量不同或要求不同,按照这一方法再建立一个新的宏命令就可以了。虽然建立宏命令的过程有些麻烦,但是如果能够很好利用的话,会起到事半功倍的效果。
注:本文中有些公式用到“$”,在复制公式时引用范围不会发生变化。如计算达优率时在C74单元格中输入公式后,复制公式至E74,然后再依次修改对应的内容即可。如采用复制公式的方法,在D74中只需把“″>=120″”改为“″>=80″”即可。
欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/)
Powered by Discuz! 6.0.0