首页

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时不设置格式,就是为了避开这个重复