excel应用--尬用excel排课表 - 知乎专栏

文章推薦指數: 80 %
投票人數:10人

2020年9月13日更新,在后面↓。

2018年9月30日:更新。

原题是“手工排课表”。

最早(30年前),微软还不存在(或是尚未用到),是用dos下的cced做表格,手工打字(中文 ... 首发于Excel成长课堂无障碍写文章登录/注册2020年9月13日更新,在后面↓。

2018年9月30日:更新。

原题是“手工排课表”。

最早(30年前),微软还不存在(或是尚未用到),是用dos下的cced做表格,手工打字(中文打字机)。

学期首发课表就是打印的,但填课表、排课、调课还是用铅笔、橡皮在打印的空表格里操作,后来求伯君的wps、lotus123、spss也用过。

总之尝试了所有力所能及的、可尝试的方式。

excel的出现,为我的工作带来了改变。

不是说,其他排课的方式不好,而是这个更适合我。

首先,我最高学历的取得远远早于计算机的大量运用时段,且没有时间、机会、耐心、兴趣去掌握更多的计算机知识;用excel,是一个必然。

在我眼里,excel平易近人,待人善良,随和诚恳、准确高效、童叟无欺。

是的,不懂C++,Basic,vba,所有的、听说过没听说过的编程语言、数据库、统统不会,但是excel可以用。

尬用。

我中文系毕业,后来函数用到飞起(大神是真飞,人是超音速,我也飞,喷气式。

)多数是慢慢琢磨的,简单的、常用的我在用,复杂的、冷僻的偶尔也开发一下。

所以神奇的事情发生了,各种函数、数据、统计、分析、计算、匹配、链接、拆分、合并、连接、引用、调用…………构成了我复杂、庞大的课表,足以应付我面临的工作。

2018年9月17日:下面只是开了个头,详细内容容我婉婉道来。

后面的更新还是接着前次更新往下进行,所以您就耐心往下看就是了。

(我每隔两周才会有时间更新)有问题您随时在评论中提问,我胡乱插楼回复您。

下面是正文:(转载就不必了,我估计基本上没人像我这样运作课表,见过我课表的人肯定知道我是谁。

)我先说一下我排课表的特点吧。

手工排课30年。

某中学。

有初中、高中(也有小学,独立他人排课)。

图一:其中一个sheet叫【年级大表】红框是一个年级的班级课表,其他部分是这个年级的所有任课教师的个人课表。

每个年级有这样一个sheet。

初高中共七个年级,同类sheet就有7个。

教师的个人课表和班级课表自动同步。

就是说班级课表变化,老师个人课表里相应的位置就有对应的变化。

这个实际上属于最简单的函数应用。

用if就可以实现。

比如:=IF(C4=$F$13,$G$13,"")意思是如果“六1”班课表的这个位置输入了“数学”那么教六1班数学老师的对应位置就显示“六1”,否则显示空值。

这样设置,最大的好处是,可以实时看到排课效果,有冲突也实时提醒。

班级课表是“手工”输入的。

我说的手工,并不是一个字一个字输入的,是按钮输入的。

类似于下图工具栏安一排按钮,点击输入文字。

(以后说这个怎么来的。

最新更新在2018/11/06,说说这些按钮。

)图二:把这个放入工具栏以上体现了我课表的主要特点,实际课表当然要复杂得多,(我自己把课表表格叫做系统,仅仅是因为简单的称为“课表表格”太笼统了,我这个表格含有40多个sheet,包含了所有与课表有关的内容。

但所谓的系统,不是程序的集合、不是自动排课。

)每次排课(包括初始排课、调整课表、临时调课)只在班级课表里输入外,其他不必再有更多的输入。

所有的sheet都是相互关联的、同步变化的。

使用了各种函数,使各个表格相互关联,形成一个规模不小的系统。

我的“系统“里,有年级组课表(即表一)七个表、教研组课表十六个、各年级班级课表七个、各年级任课老师课表七个、全校课表一个;前全校课表一个(用于标示课表变化情况),……其他辅助表若干。

发课表最初是打印、纸质,然后裁成小方块,发给教师、班主任、年级组长、教研组长,当然还有校领导(每学期初会给所有领导老师发打印课表,时至今日,仍有老师、领导只看纸质课表)。

后来也用社交软件分享,飞信、msn、qq、钉钉、微信。

目前常用的是微信。

18年9月22日以上。

大致说一下课表的结构:上面图1,是基础的排课页面,是一个承前启后的关键,排课调课也是那个页面,一般红框部分完成后,就可以打印&发布课表了。

我把它叫做【年级大表】(每年级一个)【年级大表】之前的是:1人事安排2课程设置3班级设置4专业教室、场地5区级统一教研活动安排6教研组教研活动安排7骨干教师承担培训工作时间安排8新教师接受培训时间安排9兼课领导例会时间安排10任课教师各种回避时间安排……示例:图3:要素信息点:班级设置、课程设置、任课教师设置【年级大表】之后的是:全校课表:图4:全校课表为了打印,把全校课表设置到一张打印页面范围内。

这个,直接打印后呈给各领导。

教研组课表:图5:教研组课表上面这些就是课表的主干了,我复杂的课表就是围绕着这个主干延展的。

(为了您看明白,特意多说一些,其实我的课表里并没有把所有sheet都搞得这么清爽)2018-09-17以上2018-11-06续:关于手工输入其实,并不是真的打字输入,其实是:https://www.zhihu.com/video/1043257697029877760这些按钮大致是如下方式制作的:https://www.zhihu.com/video/1043259021431611392其实在excel早期版本中,这些按钮是可以放在“菜单“里的。

当时还可以编辑按钮颜色和图案。

现在菜单叫“工具栏”按钮也可以放,但不自由,不美观。

我就直接放到表格里了。

(excel2016)制作按钮1.先制作输入这些文字的宏,(其实只录制一个宏即可。

)【开发工具】→录制宏→按提示,给宏命名,把宏指定保存在“个人宏工作簿(这样可以每次打开,宏是可用的)”→在任意单元格输入汉字→停止编辑宏,打开宏编辑页面,看到刚录下的宏是以下样式的:Sub语()''Macro3Macro''ActiveCell.FormulaR1C1="语文"Range("A2").SelectEndSub把它编辑一下:Sub语()ActiveCell.FormulaR1C1="语文"EndSub然后复制粘贴到这条下面,改一下宏名和要输入的字,需要多少条就可以复制多少条。

Sub数()ActiveCell.FormulaR1C1="数学"EndSubSub语()ActiveCell.FormulaR1C1="语文"EndSubSub英()ActiveCell.FormulaR1C1="英语"EndSubSub物()ActiveCell.FormulaR1C1="物理"EndSubSub化()ActiveCell.FormulaR1C1="化学"EndSubSub生()ActiveCell.FormulaR1C1="生物"EndSubSub史()ActiveCell.FormulaR1C1="历史"EndSubSub地()ActiveCell.FormulaR1C1="地理"EndSubSub政()ActiveCell.FormulaR1C1="政治"2.制作按钮:说明一下,【制作按钮】在工具栏“开发工具”里。

(如果工具栏找不到,可以打开它。

方法是在工具栏点右键选择"自定义工具栏"在左边框中找到它,选中。

)【插入】控件分两种,一种是表单控件,一种是ActiveX控件,两种控件都可以用,效果有所不同。

上例是“表单控件”右键,按钮可以【编辑文字】。

右键,通过【设置控件格式】,可以调整字体等设置。

右键,指定宏,指向相应的宏即可。

至此按钮完成。

补充,可能会有几次补充,分几次完成。

先说说前文提到过:实时看到排课效果,有冲突也实时提醒。

是说在年级大表里,班级课表部分,输入或修改课程,直接可以在同视图下的教师个人课表中看到排课效果,冲突也可直接看到。

我通常还在年级大表旁单设一处校验列,实时监测冲突情况,比如下图:校验区示例在U列,把六1班实际课程数目和“课时安排”中的节数相比较,实时提示课程是否准确。

S5的函数式是:=COUNTIF($L$5:$P$13,R5)T5的函数式是:=S5-G5U5的函数式是:=IF(T5=0,"对",IF(T5>0,"多",IF(T5<0,"少",)))这是我为了说明问题,特意选了意义简明的函数。

实际我表格复杂,函数叠套繁琐,外人看了不容易明白。

实际应用时,也不用显示这么多内容,只要一个红点即可,其他列、行可隐藏,或拖开。

这类的校验,在多数的表里都有,不列入打印范围,只做提示。

我的课表,几乎每天都在变化,临时变化较多,每次的变化都会有记录,可回溯。

每次变化都会提示有哪些年级、班级变化,涉及到哪些教师、教室、场地,所有的变化会自动集中展示在一张实时变化的表里,每次调课后只打印&颁发这个表即可。

这个要注意另存新文件。

我设置了一个按钮,点击后,会把现课表复制为文本格式至“前课表”sheet中,然后保存至新文件,新文件名包含修改时间,然后在新文件里修改,改后保存。

(待续)编辑于2020-09-1321:15Excel使用​赞同101​​54条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录Excel成长课堂公众号Office成长课堂微信xueben005EXCEL实战经验谈汇总自己关于excel应用方面的答案。



請為這篇文章評分?