由总表自动生成班级、教师课程表

由总表自动生成班级、教师课程表
由总表自动生成班级、教师课程表

课程表:由总表自动生成班级、教师课程表(适合学校教务处排课)

用公式制作了一个学校或年级部使用的排课表,适用用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个区域,便于想找课程及班级的信息。

请各位高手给进一步完善和改进公式设置。

欢迎大家提出进一步的改进意见!

相关主题
相关文档
最新文档