Textjoin等函数在人工排课中的应用

2019-05-24 14:12徐博龙
电脑知识与技术 2019年9期
关键词:电子表格函数

徐博龙

摘要:在人工排课的过程中,通常需要错开已占用的排课通道,防止课程冲突,而要完成这项工作,如果仅靠人工来做,需要花费很多时间,不仅效率低,且容易出错。该文旨在解决人工排课过程中效率低、出错概率大的问题,介绍使用Textjoin等相关函数解决人工排课中人工计算的问题,帮助一线教务人员利用计算机技术拓宽人工排课的工作思路,提高工作效率。

关键词:教务工作;人工排课;电子表格;函数;数组公式

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2019)09-0088-02

1 问题的提出

在人工排课的实践过程中,常常需要错开其他课程的排课通道,防止同一班级在同一时间段排上多门课程。如果用人工计算已占用时间段、空闲时间段,这样的工作量无疑是烦琐的,且容易出错,往往会造成课程冲突的问题。本例中,要求根据已占用的排课通道,在电子表格中自动计算出《计算机应用基础》课程可排课的时间通道。

2 计算模型的建立

2.1 时间段的规定

本例中规定每周为五天,即周一至周五。每天分为三个上课时间段,即上午、下午、晚上,不限节数。例如:周一上午、周一下午、周一晚上,依此类推。

2.2 列出各課程已占用的时间段(见表1:示例表)

因课程(指全校公共课,以下同)排课的优先级不同,越靠前代表排课的优先级越高,即该课程拥有较优先排课的资格。本例中,仅列出部分课程,它们排课的优先级如下:《公选课》《体育》《思政课》(包括《思想道德修养与法律基础》《形势与政策》两门课)、《职业英语》《大学生健康与心理卫生》《创新创业教育》《计算机应用基础》。可根据具体的情况和根据来增加或删除课程,调整课程排课的优先级,并规定节数。

3 计算步骤的设计思路

首先在J列增加计算辅助列,并在J2:J16中分别填写上周一上午、周一下午、周一晚上,依此类推,至周五晚上。并根据B2:G2的时间通道,在H2中计算出计算机应用基础课程可排课的时间通道。

3.1 合并已占用的时间通道

利用PHONETIC函数合并B2:G2的时间通道,即PHONETIC(B2:G2),得出以下结果:周五下午周三下午周二上午、周四上午周一下午、周三下午周三晚上周四晚上。

3.2 替换分隔符

利用SUBSTITUTE函数将3.1中的结果中的“、”去掉,即SUBSTITUTE(PHONETIC(B2:G2),"、",),得出以下结果:周五下午周三下午周二上午周四上午周一下午周三下午周三晚上周四晚上。

3.3 查找已占用的时间段

利用FIND函数查找已占用的时间段,即FIND($J$2:$J$16,SUBSTITUTE(PHONETIC(B2:G2),"、",)),这个公式需要用数组公式才能实现。但结果为错误值,因为FIND函数有一个特性:如果查找到相关的文本,就是一个数值,否则就是一个错误值。

3.4判断是否存在已占用的时间段

利用IF函数判断是否存在被占用的时间段,即IF(FIND($J$2:$J$16,SUBSTITUTE(PHONETIC(B2:G2),"、",)),"")。此公式可以理解为:如果在SUBSTITUTE(PHONETIC(B2:G2),"、",)里找到$I$2:$I$17相同的文本的,就用""代替。

3.5 判断是否存在计算上的错误

利用IFERROR函数计算是否存在错误,即IFERROR(IF(FIND($J$2:$J$16,SUBSTITUTE(PHONETIC(B2:G2),"、",)),""),$J$2:$J$16),因为IF(FIND($J$2:$J$16,SUBSTITUTE(PHONETIC(B2:G2),"、",)),"",计算结果有错误值,但这些错误值才是没有被占用的时间(通道),所以要用IFERROR代入去。

3.6 进行文本连接,得出所有未占用的时间段

利用TEXTJOIN函数进行结果的文本连接格式,最后得出未占用(可排课)时间段,因在以上的计算过程中存在数组的计算问题,所以本列中需要使用数组公式{}才能计算出最后的结果,数组公式的快捷键为:CTRL+SHIFT+ENTER,即{TEXTJOIN("、",TRUE,IFERROR(IF(FIND($J$2:$J$16,SUBSTITUTE(PHONETIC(B2:G2),"、",)),""),$J$2:$J$16))}。最后得出结果为:周一上午、周一晚上、周二下午、周二晚上、周三上午、周四下午、周五上午、周五晚上。即可在计算出的时间段来进行排课。

4 结束语

以上操作思路,解决了工人排课过程中工作量大、效率低等问题,为一线的教务人员提供解决问题的思路和方法。当然,可以在本列的基本上进行其他的限制和要求,例如:某个时间段不排课,或者将某个时间段细分到节次等。另外,实现本例使用的OFFICE版本是MS OFFICE365或者MS OFFICE2019,WPS OFFICE2016。

参考文献:

[1] Excel Home.Excel 2016函数与公式应用大全[M].北京:北京大学出版社,2018.

[2] 赛贝尔资讯.高效随身查——Excel函数与公式应用技巧[M].北京:清华大学出版社,2018.

[3] 布克科技,文静,胡文凯,等. WPS Office 2016从入门到精通[M].北京:人民邮电出版社,2018.

【通联编辑:王力】

猜你喜欢
电子表格函数
二次函数
二次函数
函数备考精讲
以电子表格为主线的高职院校“大学计算机信息技术”课程的教学探索
浅谈电子表格技术在人事管理中的应用
基于Excel电子表格的体育成绩统计软件设计
浅谈电子表格在档案管理活动中的运用
巧用EXCEL电子表格计算土地面积