由总表自动生成班级、教师课程表.doc
如有侵权,请联系网站删除,仅供学习与交流由总表自动生成班级、教师课程表【精品文档】第 3 页课程表:由总表自动生成班级、教师课程表(适合学校教务处排课)用公式制作了一个学校或年级部使用的排课表,适用用12个班以下。 其中全部用查找引用函数公式(没有用VBA),方便使用者修改其中的内容。 在总课程表中选择了各班的课程后会自动出现老师名字,总表中利用数据有效性直观显示冲突的排课。 在班级课程表中选择不同的班级就会自动出现班级课程。教师个人课程表中选择不出的老师名字也可以生成个个课程表,显示上课班级及代课科目,同时统计该教师个人周课时数。请下载时下载下面的最新版本。在教师个人课程表中定义了2个名称公式和目的如下:次数=COUNTIF(OFFSET(zou1,ROW(教师课程表!1:1)*2,(COLUMN(教师课程表!A:A)-1)*12,),教师课程表!$E$2)这个公式主要是通过COUNTIF求在总表中周1到周5的同一个课时里,某个老师的名字出现的次数。注意zou1也是一个定义的名称总表中。 如果一个课时出现某个老师名字次数为0,肯定没他的课程。如果出现1次,就返回名字上面的课程及班级。如果出现2次以上,就是排课出错,有冲突了。 序列=CHOOSE(1;2;3,OFFSET(zou1,教师课程表!$B3*2,VLOOKUP(教师课程表!D$3,"一",0;"二",1;"三",2;"四",3;"五",4;"六",5,2,0)*12,),OFFSET(zou1,教师课程表!$B3*2-1,VLOOKUP(教师课程表!D$3,"一",0;"二",1;"三",2;"四",3;"五",4;"六",5,2,0)*12,),OFFSET(zou1,VLOOKUP(教师课程表!D$3,"一",0;"二",1;"三",2;"四",3;"五",4;"六",5,2,0)*12,) 关于CHOOSE函数各位了解一下就可以了,这个公式的目的是抽出相应的3个区域,便于想找课程及班级的信息。请各位高手给进一步完善和改进公式设置。欢迎大家提出进一步的改进意见!