用微软Excel一步到位制作学生成绩通知单
对于教师来说每次考试后整理学生成绩都不是一件轻松的事情。通常收回的学生试卷并不可能按已有成绩表中的顺序排列,因此每次用Excel输入成绩前都得先把试卷按记录表中的顺序进行整理排列,之后才能顺次输入,这自然是很麻烦的。实际上最快速的录入方法应该是按试卷的顺序在Excel中逐个输入学号和分数,由电脑按学号把成绩填入成绩表相应学生的记录行中。在Excel中实现这个要求并不难。
首先我们得有一张Excel成绩记录表,然后在成绩记录表侧增加四列(J:N),并输入列标题。
1.表格设置
选中Excel表格的J1,单击菜单“数据/有效性”,在“设置”选项卡中单击“允许”的下拉列表选择“序列”,在“来源”中输入=$C$1:$H$1。选中K列右击选择“设置单元格格式”,在“设置单元格格式”窗口“数字”选项卡的“分类”中选中“文本”,确定设置为文本格式。
2.输入公式
选中J2输入公式=IF(ISERROR(VLOOKUP(A2,L:M,2,FALSE)),"",VLOOKUP(A2,L:M,2,FALSE)),按A2的学号在L:M查找并显示相应的分数,如果没找到出现错误则显示为空。
在Excel表格的L2输入公式=VALUE("2007"&LEFT(K2,3)),提取K2数据左起三位数并在前面加上2007,然后转换成数值。由于同班学生学号前面部分一般都是相同的,为了加快输入速度我们不需要全部输入,只要输入学号的最后三位数即可,然后L2公式就会自动为提取的数字加上学号前相同的部分“2007”显示完整学号。接着在M2输入公式=VALUE(MID(K2,4,3)),提取Excel表格的K2数据从第4位以后的3个数字(即分数)并转成数值。最后选中J2:L2单元格区域,拖动其填充柄向下复制填充出与学生记录相同的行数。
注:Excel的VALUE函数用于将提取的文本转成数值。如果学号中有阿拉伯数字以外的字符,如2007-001或LS2007001,则学号就不再是数字格式而变成文本格式了,此时L2的公式就不必再转成数值了,应该改成="2007"&LEFT(K2,3),否则会出错。
3.防止重复
选中Excel表格的K列单击菜单“格式/条件格式”,在“条件格式”窗口的条件1的下拉列表中选择“公式”并输入公式=L1=2007,不进行格式设置。然后单击“添加”按钮,添加条件2,设置公式为=COUNTIF(L:L,L1)>1,单击后面的“格式”按钮,在格式窗口的“图案”选项卡中设置底纹为红色,确定完成设置。
这样,当在Excel表格的L列中出现两个相同学号时,就会变成红色显示。按前面的公式设置,当K列为空时L列将显示为“2007”,因此前面条件1的当L1=2007时不设置格式,就是为了避开这个重复。
4.录入成绩
需要输入成绩时,先单击Excel表格的J1后的下拉按钮,从下拉列表中选择要输入的列标题(如:期中),再选中K1输入第一个学生的学号和成绩00159,回车,后面的L1、M1就会显示学生的学号2007001、分数59,同时分数会自动填写到学号为2007001行的J列单元格。继续输入第二个学生学号分数008112,回车,如此重复即可完成全部学生的成绩录入。在输入时如果学号出现重复,则输入的单元格和与其重复的单元格会同时以红色显示,提醒你输入可能出错了。
由于Excel表格的学号和成绩是按试卷顺序输入的,因此可以很方便地查出到底哪一个输入值是错误的。全部输入完成后,只要选中J列进行复制,再选中保存“期中”成绩的E列,右击选择“选择性粘贴”,在弹出的窗口中单击选中“数值”选项,确定即可把J列显示的成绩以数值方式粘贴到E列。
这样,只要顺次在Excel表格中输入学号分数后回车就可以轻松完成成绩录入。至于新增用于输入的J:M列内容,平时不需要录入成绩时可选中J:M列右击选择“隐藏”将其隐藏起来。等需要时再拖动选中I:N列右击选择“取消隐藏”即可恢复。当然你也可以一开始就把这4列的内容建立保存在其他Excel工作表中,那就可以完全不影响原表了,不过笔者认为还是放在同一表中会比较直观。