制作完成的課程表如圖:
知識點:利用Excel數據關聯和規則公式完成指定數據排序
應用環境:學校課程表編排、員工任務、值班安排等
每個學期,學校教務處教師最頭疼的一件工作就是編制課程表。一般學校的課程表至少包括給領導的全校總課程表、學生的班級課程表和教師用的課程表三種。三種課程表數據密切相關,修改任何一張課程表都将影響到另兩張表格,因此編輯時很難兼顧。為此,作者利用Excel 2007輕松解決了這個問題,制作過程如下。
1.創建工作表
打開Excel 2007,創建七個工作表,分别重命名為:教師與班級、教師安排、總課程表、教師課程總表、班級課程總表、教師課程表打印、班級課程表打印(如圖)
“教師與班級”工作表是學校的教師名單和班級名單(如圖)
“教師安排”工作表是各班級的任課教師(如圖)
2總課程表編制
切換到“總課程表”工作表設計總課程表格,表中包括全部班級的課程安排和每節課的教師。總課程表外觀(如圖)
選中B4,單擊“數據”選項卡的“數據有效性”圖标,在“數據有效性”窗口的允許下拉列表中選擇“序列”,輸入來源為“=教師安排!$A$3:$A$17”(不含引号),确定完成設置。在B5輸入公式=IFERROR(VLOOKUP(B4,教師安排!$A:$S,ROW(B4)/2,FALSE),“”),并設置填充色為淺藍作為與學科行的區分。然後選中B4:B5進行複制,再選中B4:BD39區域進行粘貼即可。
現在選中B4單擊下拉按鈕選擇學科,下面的B5單元格就會自動顯示上課的教師名,其他單元格也是一樣。如此一來安排課程就簡單多了吧,隻要用鼠标單擊選擇即可。
3.總課程表限制提醒
編制總課程表時總有各種附加條件限制,比如:一個教師不能同時上兩班的同一節課,操場太小全校隻能有兩班同時上體育課,電腦室隻有1間不能有兩班同時上電腦課等等。要在排課中兼顧這些要求顯然不容易。對此可設置條件格式,讓它在違反限制時自動變色提示,事情就簡單多了。
選中B4:BD39,在“開始”選項卡中單擊“條件格式”選擇“新建規則”,在“新建規則”窗口中選擇規格類型為“使用公式确定要設置格式的單元格”,并輸入公式=AND(COUNTIF(B:B,B4)>1,MOD(ROW(),2)=1)(圖3)。再單擊“格式”按鈕,在彈出窗口中設置字體顔色為紅色。确定後,當同一節課中有兩班出現同一老師同時,兩班中這位老師的名字都會變成紅色,你可以及時決定看要更換哪班的課程。
同樣再選中B4:BD39設置“條件格式”,但輸入的公式改成=AND(COUNTIF(B:B,B4)>2,C1=“體育”),文字顔色改成綠色。即可在同時上體育課超過2班時變成綠色。電腦課的設置公式則是=AND(COUNTIF(B:B,B4)>1,C1=“電腦”)顔色改成藍色。如果你還有課時等其他限制要求隻要像這樣繼續疊加設置條件格式即可。
注:必須從B4拖動到BD39選中B4:AJBD39,或先選中B4再按住Shift鍵單擊BD39進行選中才行。若你從BD39拖動到B4選中,雖然選中區域相同但條件格式的公式就不同了,得把公式中的B全部改成BD,B4改成BD39。
4.分離教師、班級課程
再來就是要從總課程表中分離出班級、教師的課程了。切換到“班級課程總表”(如圖)建立好表格結構。
在C2輸入公式=OFFSET(總課程表!B$2,ROW()*2-2,)
選中C2複制再選中C2:BE19進行粘貼,即可看到各班的課程總表。
切換到“教師課程總表”工作表中同樣設計好表格的行列标題(如圖)
在A2單元格輸入公式:=教師課程表打印!K2
在B2單元格輸入公式:=VLOOKUP(教師課程表打印!$K$2,教師與班級!$A$1:$B$100,2)
在C2輸入公式:=IFERROR(INDEX(總課程表!$A:$A,MATCH($B$2,總課程表!B:B,0)-1),"")
選中C2複制再選中C2:BE2進行粘貼,即可自動顯示教師“課程表打印!K2”單元格老師的周一到周五的課程了。
5.制作教師課程表和班級課程表
首先建立課程表結構(如圖),教師課程表同班級課程表的結構是一樣的。
切換到教師課程表打印工作表,在C3單元格輸入公式:=VLOOKUP(教師課程表打印!$K$2,教師課程總表!$A$1:$BE$2,3),公式的使用方法在前兩篇文章中已經作過介紹,不在贅述。
請參閱:
EXCEL制作的通知書,成績和評語自動填充,方便快捷
EXCEL制作的小升初畢業生登記表,全自動填充,包括照片
在需要排出課程的單元格輸入公式:=VLOOKUP(教師課程表打印!$K$2,教師課程總表!$A$1:$BE$2,n),隻需要給n賦值就可以了!
類似的切換到班級課程表打印工作表,在C3單元格輸入公式:=VLOOKUP(班級課程表打印!$K$2,班級課程總表!$A$2:$BE$19,n),必須根據需要給n賦值,确定該單元格的課程。其他有課程的單元格公式類似。
打印教師課程表和班級課程表前先要設置打印區域,在這兩個工作表中選擇A1:I17區域,在頁面布局→打印區域中設置打印區域。A1:I17以外的區域在打印時不打印。
到此基本算完成制作過程,如果要打印教師課程表,就切換到教師課程表打印工作表,在K2單元格輸入該教師在教師與班級工作表中的序号就可以打印出該教師的課程表了。班級課程表的打印方法類似。
6.批量打印教師課程表
輸入一個序号打印出一個教師的課程表,有多少名教師需要操作多少次,麻煩。為解決這個問題,請在EXCEL開發工具中插入命令按鍵,并把下列代碼粘貼到命令按鈕的單擊事件中:
Private Sub CommandButton1_Click()
For i = Range("k6") To Range("k7")
Range("k2") = i
ActiveSheet.PrintOut
Next
End Sub
保存關閉,返回到EXCEL界面。現在就可以批量打印了。
批量打印時,先輸入開始序号,再輸入結束序号,然後點擊批量打印按鈕,就按照你設置的序号開始打印。
最後,由于本人水平有限,不妥或需要改進之處,敬請同仁批評指正。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!