利用Excel数据透视表自动生成课程表
课程表是学校最基本的教学管理依据,课程表形成的传统方法是先安排好原始数据,再设计好表格的固定格式,一项项往表里填内容。上百张课表的形成都要人工录入或人工粘贴复制,既繁琐又容易出差错,而且不利于检索查询。笔者介绍一种方法,在原始数据录入后利用“数据透视表”,可以实现课表生成的自动化。
一、功能
1. 一张“数据透视表”仅靠鼠标移动字段位置,即可变换出各种类型的课表,例如:班级课表。每班一张一周课程表。可选框内选择不同的学院和班号,即可得到不同班的课表。按教师索引。即每位教师一周所有的信息。按时间索引,即每天每节课有哪些教师来、上什么课。按课程索引。课程带头人可能只关心和自己有关的内容。按学院索引。可能只需要两三项数据,了解概况。按本专科索引。按楼层索引。专家组听课时顺序走过每个教室,需要随时随地查看信息。按教室或机房索引。安排房间时要随时查看。
2. 字段数量的选择是任意的,即表格内容可多可少,随时调整。
3. 任何类型的表都能够实现连续打印或分页打印。如班级课表可以连续显示,也可快速、自动生成每班一张;某部门所有教师的课表可以汇总在一张表上,也可每个老师一页纸,分别打印。
4. 遇到调课,只要更改原始表,再重新透视一次,可在瞬间完成,就意味着所有表的数据都已更新。而传统的方法必须分别去改班级表、教室表、机房表、教师表……稍有疏忽就可能遗漏。
5. 所有的表都不用设计格式,能够自动形成表格,自动调整表格大小,自动合并相同数据单元格。
二、建立数据库
规范数据库的建立是满足查询、检索、统计功能的基本要求。
1. 基本字段:班级、星期、节次、课程、地点、教师。
2. 可选字段:学院、班级人数、学生类别、金工实习周次、教师单位、地点属性、备注字段名横向排列形成了“表头”,每个字段名下是纵向排列的数据。
3. 库中的数据必须规范。如“地点”中不能出现除楼号、房间号以外的任何文字(包括空格);“课程”中必须是规范的课程名,不允许有“单、双”等字样。建议上机课增加一个字段“上机”,而不是在课程名中增添“上机”说明,后者不利于课程检索。
4. 库中的每条数据清单的每个格只要存在数据就必须填满。不允许因为与上一行数据相同就省略了,更不能合并单元格。
5. 增加的整条记录在库中的位置可以任意。如规律课表的课程只有8节,某班增加“9~10节”或双休日上课,新增记录则可插在该班其他课的末尾,也可附在库的最底端。无论在什么位置,都不影响透视后的效果。
三、做数据透视表
在选择透视范围时要包含全部原始数据库,如果录制“宏”,最好比原始表多增加若干行,以备增加记录用。但字段的数量可根据需要选择。把选中的字段分别放置在表的“行字段”中,在每个字段名上双击,弹出“字段设置”框,选择“无”,即形成了显示美观的透视表。
1. 用鼠标拖动各字段,重新安排左右顺序、上下位置(指行字段与页字段之间的转换),或在可选框内选中所需,即可形成各种各样的新表。
2. 常用的班级课表可排好纸张版面、页眉页脚,专门供原始打印。“班级”字段最好放在“页字段”中,以便于每班打印1张。在“班级”字段的可选框内选择各班,即可显示出所有的班级课表。每班课表的大小是自动调整的,如 “节次”中的数据项只有8节,遇到增添“9~10节”课程的情况,表格会在7~8节后自动增加1行,把9~10节的内容填进去,下一个班则可自动恢复正常。既可以设置为无课显示空格,也可以设成无课不显示,即有哪节显示哪节。
3. 需要强调的是,以后每调一次课必须在原始库中改,而不允许在透视表中直接改。新库形成后,再重新生成新的透视表。此时原来的旧透视表则可以删去,以新表为准。如果重新打印,需要在新表上重新排版。以上方法经过一段时间的实践,在课表的查询检索方面发挥了巨大作用,尤其在频繁调课时省却了更改所有表数据的过程,准确高效,是办公自动化不可多得的好工具