徐博龍
摘要:在人工排課的過(guò)程中,通常需要錯(cuò)開(kāi)已占用的排課通道,防止課程沖突,而要完成這項(xiàng)工作,如果僅靠人工來(lái)做,需要花費(fèi)很多時(shí)間,不僅效率低,且容易出錯(cuò)。該文旨在解決人工排課過(guò)程中效率低、出錯(cuò)概率大的問(wèn)題,介紹使用Textjoin等相關(guān)函數(shù)解決人工排課中人工計(jì)算的問(wèn)題,幫助一線(xiàn)教務(wù)人員利用計(jì)算機(jī)技術(shù)拓寬人工排課的工作思路,提高工作效率。
關(guān)鍵詞:教務(wù)工作;人工排課;電子表格;函數(shù);數(shù)組公式
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)09-0088-02
1 問(wèn)題的提出
在人工排課的實(shí)踐過(guò)程中,常常需要錯(cuò)開(kāi)其他課程的排課通道,防止同一班級(jí)在同一時(shí)間段排上多門(mén)課程。如果用人工計(jì)算已占用時(shí)間段、空閑時(shí)間段,這樣的工作量無(wú)疑是煩瑣的,且容易出錯(cuò),往往會(huì)造成課程沖突的問(wèn)題。本例中,要求根據(jù)已占用的排課通道,在電子表格中自動(dòng)計(jì)算出《計(jì)算機(jī)應(yīng)用基礎(chǔ)》課程可排課的時(shí)間通道。
2 計(jì)算模型的建立
2.1 時(shí)間段的規(guī)定
本例中規(guī)定每周為五天,即周一至周五。每天分為三個(gè)上課時(shí)間段,即上午、下午、晚上,不限節(jié)數(shù)。例如:周一上午、周一下午、周一晚上,依此類(lèi)推。
2.2 列出各課程已占用的時(shí)間段(見(jiàn)表1:示例表)
因課程(指全校公共課,以下同)排課的優(yōu)先級(jí)不同,越靠前代表排課的優(yōu)先級(jí)越高,即該課程擁有較優(yōu)先排課的資格。本例中,僅列出部分課程,它們排課的優(yōu)先級(jí)如下:《公選課》《體育》《思政課》(包括《思想道德修養(yǎng)與法律基礎(chǔ)》《形勢(shì)與政策》兩門(mén)課)、《職業(yè)英語(yǔ)》《大學(xué)生健康與心理衛(wèi)生》《創(chuàng)新創(chuàng)業(yè)教育》《計(jì)算機(jī)應(yīng)用基礎(chǔ)》??筛鶕?jù)具體的情況和根據(jù)來(lái)增加或刪除課程,調(diào)整課程排課的優(yōu)先級(jí),并規(guī)定節(jié)數(shù)。
3 計(jì)算步驟的設(shè)計(jì)思路
首先在J列增加計(jì)算輔助列,并在J2:J16中分別填寫(xiě)上周一上午、周一下午、周一晚上,依此類(lèi)推,至周五晚上。并根據(jù)B2:G2的時(shí)間通道,在H2中計(jì)算出計(jì)算機(jī)應(yīng)用基礎(chǔ)課程可排課的時(shí)間通道。
3.1 合并已占用的時(shí)間通道
利用PHONETIC函數(shù)合并B2:G2的時(shí)間通道,即PHONETIC(B2:G2),得出以下結(jié)果:周五下午周三下午周二上午、周四上午周一下午、周三下午周三晚上周四晚上。
3.2 替換分隔符
利用SUBSTITUTE函數(shù)將3.1中的結(jié)果中的“、”去掉,即SUBSTITUTE(PHONETIC(B2:G2),"、",),得出以下結(jié)果:周五下午周三下午周二上午周四上午周一下午周三下午周三晚上周四晚上。
3.3 查找已占用的時(shí)間段
利用FIND函數(shù)查找已占用的時(shí)間段,即FIND($J$2:$J$16,SUBSTITUTE(PHONETIC(B2:G2),"、",)),這個(gè)公式需要用數(shù)組公式才能實(shí)現(xiàn)。但結(jié)果為錯(cuò)誤值,因?yàn)镕IND函數(shù)有一個(gè)特性:如果查找到相關(guān)的文本,就是一個(gè)數(shù)值,否則就是一個(gè)錯(cuò)誤值。
3.4判斷是否存在已占用的時(shí)間段
利用IF函數(shù)判斷是否存在被占用的時(shí)間段,即IF(FIND($J$2:$J$16,SUBSTITUTE(PHONETIC(B2:G2),"、",)),"")。此公式可以理解為:如果在SUBSTITUTE(PHONETIC(B2:G2),"、",)里找到$I$2:$I$17相同的文本的,就用""代替。
3.5 判斷是否存在計(jì)算上的錯(cuò)誤
利用IFERROR函數(shù)計(jì)算是否存在錯(cuò)誤,即IFERROR(IF(FIND($J$2:$J$16,SUBSTITUTE(PHONETIC(B2:G2),"、",)),""),$J$2:$J$16),因?yàn)镮F(FIND($J$2:$J$16,SUBSTITUTE(PHONETIC(B2:G2),"、",)),"",計(jì)算結(jié)果有錯(cuò)誤值,但這些錯(cuò)誤值才是沒(méi)有被占用的時(shí)間(通道),所以要用IFERROR代入去。
3.6 進(jìn)行文本連接,得出所有未占用的時(shí)間段
利用TEXTJOIN函數(shù)進(jìn)行結(jié)果的文本連接格式,最后得出未占用(可排課)時(shí)間段,因在以上的計(jì)算過(guò)程中存在數(shù)組的計(jì)算問(wèn)題,所以本列中需要使用數(shù)組公式{}才能計(jì)算出最后的結(jié)果,數(shù)組公式的快捷鍵為:CTRL+SHIFT+ENTER,即{TEXTJOIN("、",TRUE,IFERROR(IF(FIND($J$2:$J$16,SUBSTITUTE(PHONETIC(B2:G2),"、",)),""),$J$2:$J$16))}。最后得出結(jié)果為:周一上午、周一晚上、周二下午、周二晚上、周三上午、周四下午、周五上午、周五晚上。即可在計(jì)算出的時(shí)間段來(lái)進(jìn)行排課。
4 結(jié)束語(yǔ)
以上操作思路,解決了工人排課過(guò)程中工作量大、效率低等問(wèn)題,為一線(xiàn)的教務(wù)人員提供解決問(wèn)題的思路和方法。當(dāng)然,可以在本列的基本上進(jìn)行其他的限制和要求,例如:某個(gè)時(shí)間段不排課,或者將某個(gè)時(shí)間段細(xì)分到節(jié)次等。另外,實(shí)現(xiàn)本例使用的OFFICE版本是MS OFFICE365或者M(jìn)S OFFICE2019,WPS OFFICE2016。
參考文獻(xiàn):
[1] Excel Home.Excel 2016函數(shù)與公式應(yīng)用大全[M].北京:北京大學(xué)出版社,2018.
[2] 賽貝爾資訊.高效隨身查——Excel函數(shù)與公式應(yīng)用技巧[M].北京:清華大學(xué)出版社,2018.
[3] 布克科技,文靜,胡文凱,等. WPS Office 2016從入門(mén)到精通[M].北京:人民郵電出版社,2018.
【通聯(lián)編輯:王力】