如何利用excel高效排课?

. 手工排出总课表如图


 


二.建立班课表(空表)


 


 选中班级右侧单元格B2建立下拉菜单


(1)选点数据菜单,数据有效性,在允许中选取序列,在来源框中依次输入班级序号(在英文状态下用逗号分隔),确定


 (2)在星期一第一节单元格(B5)输入函数=IF($B$2="","",VLOOKUP($B$2,总课表!$A$4:$AT$24,COLUMN(),0)) 其中$B$2是班级右边单元格的绝对引用,总课表!$A$4:$AT$24是总课表包括班级序号和课程的所有单元格绝对引用,COLUMN()是返回相应的列数,默认为班级右边一列,0和FLASE相同,意为精确查找  


(3)在星期二第一节单元格(B6)输入函数=IF($B$2="","",VLOOKUP($B$2,总课表!$A$4:$AT$24,COLUMN()+8,0)) ,COLUMN()+8意为星期一已占8列,在此基础上COLUMN()再加8列 


(4)在星期三第一节单元格(B7)输入函数=IF($B$2="","",VLOOKUP($B$2,总课表!$A$4:$AT$24,COLUMN()+16,0))意义同上, 


 (5)在星期四,星期五,星期六第一节依次输入函数(同上),注意=号开始,COLUMN()后面分别加上24,32,40  


(6)同时选中六个第一节用填充炳向右拉,星期六第五节为晚輛复制到星期日晚輛处,COLUMN()后面更改为加上37,同时删除第五节处内容。这样只要在B2处点击下拉菜单中班级,相应的课程表就搞定了。 


三.建立教师课表(空表)

 

 


1) 在C3处设定数据有效性,方法同上,在来源处输入教师名单,可用区域选定的方法


2) 用查找替换的办法建立总课表1,一行科目一行姓名


 


3)建立助表,复制总课表1,清除科目和教师姓名(只保留空表)


 

4)在第一个班第一节B4单元格输入函数=IF(总课表1!B5=教师课表!$C$2,总课表1!B4,""),其含义为总课表教师姓名=教师课表C2时,返回总课表该教师上面的科目,否则返回空值,以此类推,查找出每班周一第一节课


5)在第一个班第一节下一行B5单元格用类似的方法找出教师姓名,同时选中周一第一节单元格向右拉


6)在教师课表周一第一节B5单元格输入=CONCATENATE(助表!B4,助表!B6,助表!B8,助表!B8,助表!B10,助表!B10,助表!B12,助表!B14,助表!B16,助表!B18,助表!B20,助表!B22,助表!B24,助表!B26,助表!B28,助表!B30,助表!B32,助表!B34,助表!B36,助表!B38,助表!B40,助表!B42,助表!B44)意为将各班周一第一次课科目全部内容合并到B5中,用同样的方法将周二各班第一次合并到B7中,以此类推,周三,周四,周五,周六各班第一节合并到B9,B11,B13,B15中


7)用同样方法在B6,B8,B10,B12,B14,B16中把每天第一节各班教师合并到相应的单元格中,同时选中后向右填充,最后把周六第五节两个单元格公式复制到周末晚修单元格中并删除原单元格,


8)这样在C2下拉菜单中只要选定某位老师则相应的课务便展现有你的眼前了。