|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本人用公式偿试制作了一个学校或年级部使用的排课表,适用用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个区域,便于想找课程及班级的信息。
请各位高手给进一步完善和改进公式设置。
欢迎大家提出进一步的改进意见!
[ 本帖最后由 chenqh06 于 2011-3-24 15:55 编辑 ]
补充内容 (2014-10-22 15:35):
应网上朋友的要求,编制了20个班级的课程表,网友在使用时可以隐藏多余的班级列。
补充内容 (2014-10-22 16:10):
20个班级课程表系统附件在120楼,欢迎各位下载、欢迎各位指正![/b] |
评分
-
7
查看全部评分
-
|