問題的提出
曾經(jīng)在機構(gòu)代課期間擔(dān)任過排課工作,機構(gòu)有10幾,20個校區(qū),分布在市區(qū)內(nèi),因為門面小,每個門面都不能保證給老師排滿一天甚至或半天。這就需要想出一個科學(xué)的辦法,既能滿足校區(qū)的需要,又不能讓教師盡量減少勞頓。
問題的解決
1.收集數(shù)據(jù)
收集各個校區(qū)到彼此之間的時間

2.建立規(guī)則
半小時到達(dá)設(shè)為1,連續(xù)三節(jié)課(倆個倆節(jié)課相連)-1,連續(xù)倆節(jié)課-0.25,中午連續(xù)上課-0.5,中午所有系數(shù)-0.25
| 系數(shù) | 時間 |
|---|---|
| 0.5 | 0-20min |
| 1 | 20-30min |
| 1.25 | 30-40min |
| 1.5 | 40-50min |
| 1.75 | 50-55min |
| 2 | 55-65min |
| 2.25 | 65-75min |
| 2.5 | 75-90min |
3. 數(shù)據(jù)匯總

4. 時間轉(zhuǎn)系數(shù)
? 根據(jù)規(guī)則將時間轉(zhuǎn)化為相應(yīng)系數(shù)
Sub 計算()
'將時間轉(zhuǎn)化為系數(shù)
Dim WshShell As Object
With Sheet2
a = .Range("A65535").End(xlUp).Row
For i = 2 To a
For j = 2 To a
b = .Cells(i, j)
Select Case b
Case 0
Sheet1.Cells(i, j) = 0
Case 1 To 20
Sheet1.Cells(i, j) = 0.5
Case 20 To 30
Sheet1.Cells(i, j) = 1
Case 30 To 40
Sheet1.Cells(i, j) = 1.25
Case 40 To 50
Sheet1.Cells(i, j) = 1.5
Case 50 To 55
Sheet1.Cells(i, j) = 1.75
Case 55 To 65
Sheet1.Cells(i, j) = 2
Case 65 To 75
Sheet1.Cells(i, j) = 2.25
Case 75 To 90
Sheet1.Cells(i, j) = 2.5
End Select
Next j
Next i
End With
Sheet1.Activate
Set WshShell = CreateObject("Wscript.Shell")
WshShell.popup "系數(shù)轉(zhuǎn)化完畢!", 1, "提示", 64
Set WshShell = Nothing
End Sub
轉(zhuǎn)化后時間變?yōu)橄禂?shù)

5. 系數(shù)計算
? 5.1 實例一
| 時間 | A | B | C |
|---|---|---|---|
| A | 0 | 15min | 20min |
| B | 15min | 0 | 20min |
| C | 20min | 20min | 0 |
因為所有時間都少于30分鐘,故系數(shù)均為1
| 系數(shù) | A | B | C |
|---|---|---|---|
| A | 0 | 1 | 1 |
| B | 1 | 0 | 1 |
| C | 1 | 1 | 0 |
假設(shè)某人的路線如下:
| 地點 | 系數(shù)計算 |
|---|---|
| A | 第一節(jié)課沒有跑課系數(shù) |
| B | 0.5: A到B時間小于30min |
| C | 1: B到C時間小于30min |
| C | 0: 原地不動沒有距離 |
| A | 1: C到A時間小于30min |
總系數(shù)為:
連續(xù)倆節(jié)課-0.25,所有中午系數(shù)-0.25,實際總系數(shù)為:
除了計算總系數(shù),還要計算平均系數(shù),以避免課程不多,但是非常跑的情況出現(xiàn)。
故總系數(shù)為2,平均系數(shù)為0.5。既一天付出了2個單位,平均每倆節(jié)課之間平均付出0.5個單位。
? 5.2 實例二
| 時間 | A | B | C |
|---|---|---|---|
| A | 0 | 25min | 60min |
| B | 25min | 0 | 50min |
| C | 60min | 50min | 0 |
根據(jù)規(guī)則轉(zhuǎn)化系數(shù):
| 系數(shù) | A | B | C |
|---|---|---|---|
| A | 0 | 1 | 2 |
| B | 1 | 0 | 1.75 |
| C | 2 | 1.75 | 0 |
假設(shè)某人的路線如下:
| 地點 | 系數(shù)計算 |
|---|---|
| A | 第一節(jié)課沒有跑課系數(shù) |
| C | 2: A到C時間大于55min小于65min |
| B | 上面沒有課 |
總系數(shù)為:
所有中午系數(shù)-0.25,實際總系數(shù)為:
因為只有一次(A到C)是跑課過程,所以平均系數(shù)為
故總系數(shù)為1.75,平均系數(shù)為1.75。既一天付出了1.75個單位,平均每倆節(jié)課之間平均付出1.75個單位。
雖然實例2比實例1的總系數(shù)要低,但是平均值太高,說明這個安排不很合理,課程總量少而跑動很大,應(yīng)根據(jù)教師意愿和個人情況(身體狀況,性別等)斟酌安排或者取消。
?
5.3 實例3
| 時間 | A | B | C | D |
|---|---|---|---|---|
| A | 0 | 25min | 60min | 35min |
| B | 25min | 0 | 50min | 25min |
| C | 60min | 50min | 0 | 35min |
| D | 35min | 25min | 35min | 0 |
根據(jù)規(guī)則轉(zhuǎn)化系數(shù):
| 系數(shù) | A | B | C | D |
|---|---|---|---|---|
| A | 0 | 1 | 2 | 1.25 |
| B | 1 | 0 | 1.75 | 1 |
| C | 2 | 1.75 | 0 | 1.25 |
| D | 1.25 | 1 | 1.25 | 0 |
假設(shè)某人的路線如下:
| 地點 | 系數(shù)計算 |
|---|---|
| A | 第一節(jié)課沒有跑課系數(shù) |
| B | 1: A到C時間大于20min小于30min |
| C | 1.75: B到C時間大于50min小于55min |
| D | 1.25: C到D時間大于30min小于40min |
| A | 1.25: D到A時間大于30min小于40min |
總系數(shù)為:
所有中午系數(shù)-0.25,實際總系數(shù)為:
一共跑課4次,平均系數(shù)為
故總系數(shù)為5.25,平均系數(shù)為1.25。既一天付出了5個單位,平均每倆節(jié)課之間平均付出1.25個單位。
這種課總消耗高,平均消耗高,所有教師都應(yīng)該避免
上面通過三個實例,說了三種情況,分別為:
| 課程安排 | 總系數(shù) | 平均系數(shù) | 新教師 | 老教師 | 吃苦新教師 |
|---|---|---|---|---|---|
| 實例1 | 2(低) | 0.5(低) | ?? | ? | ?? |
| 實例2 | 1.75(低) | 1.75(高) | ? | ? | ?? |
| 實例3 | 5.25(高) | 1.25(高) | ? | ? | ? |
通過上表可以得出結(jié)論:
雙高課程不推薦任何教師
雙低教師推薦老教師上,既能提高收入又不至于太累
-
底高課程對于特別有潛力的吃苦的新教師推薦。
吃苦老教師也不推薦上“低高”課程,這會造成老教師心理不平衡,缺乏認(rèn)同感而離職
- ??表示待定,要根據(jù)情況選擇
? 5.4 計算機實現(xiàn)
這里推薦用Microsoft excel公式實現(xiàn),可以簡單實現(xiàn)上述功能隨時查看,手機電腦端同步。
? 5.4.1 將所有情況分類
| 課程情況 | 系數(shù)變化 |
|---|---|
| 只有1,2節(jié)課相連 | -0.25 |
| 1,2且3,4相連 | -1 |
| 只有1,2,3節(jié)課相連 | -1.5 |
| 只有2,3節(jié)課相連 | -0.75 |
| 1,2且3,4,5節(jié)課相連 | -2 |
| 只有3,4節(jié)課相連 | -0.25 |
| 1,2且4,5節(jié)課相連 | -1 |
| 只有2,3,4節(jié)課相連 | -1.5 |
| 只有4,5節(jié)課相連 | -0.25 |
| 只有3,4,5節(jié)課相連 | -1 |
| 沒有任何課相連 | -0.25 |
5.4.2 將系數(shù)匯總表放入Excelsheet中待查詢,記錄為sheet1
?5.4.3 輸入公式
| 地點(AR) | 系數(shù)計算(AT) | (AU) | (AV) | (AW) |
|---|---|---|---|---|
| A(11) | AT11 | AU11 | AV11 | AW11 |
| B(12) | AT12 | AU12 | AV12 | AW12 |
| C(13) | AT13 | AU13 | AV13 | AW13 |
| C(14) | AT14 | AU14 | AV14 | AW14 |
| A(15) | AT15 | AU15 | AV15 | AW15 |
| (16) | AT16 | AU16 | AV16 | AW16 |
AR16: =IF(SUM(AT12:AT15)-AV16<0,0,SUM(AT12:AT15)-AV16)
AT12: =IFERROR(OFFSET(Sheet1!1,MATCH(AR12,Sheet1!
2:
20,0),MATCH(AR11,Sheet1!
2:
20,0)),0)
AT13: =IFERROR(OFFSET(Sheet1!1,MATCH(AR13,Sheet1!
2:
20,0),MATCH(AR12,Sheet1!
2:
20,0)),0)
AT14: =IFERROR(OFFSET(Sheet1!1,MATCH(AR14,Sheet1!
2:
20,0),MATCH(AR13,Sheet1!
2:
20,0)),0)
AT15: =IFERROR(OFFSET(Sheet1!1,MATCH(AR15,Sheet1!
2:
20,0),MATCH(AR14,Sheet1!
2:
20,0)),0)
AT16: =IFERROR(AQ16/SUM(AW11:AW15),0)
AU11: =IF(AR11=AR12,IF(AND(AR12<>AR13,AR13<>AR14,AR14<>AR15),0.25,0),0)
AU12: =IF(AR11=AR12,IF(AND(AR12<>AR13,AR13=AR14,AR14<>AR15),1,0),0)
AU13: =IF(AND(AR11=AR12,AR12=AR13),IF(AND(AR13<>AR14,AR14<>AR15),1.5,0),0)
AU14: =IF(AR12=AR13,IF(AND(AR11<>AR12,AR13<>AR14,AR14<>AR15),0.75,0),0)
AU15: =IF(AND(AR13=AR14,AR14=AR15),IF(AND(AR11=AR12,AR12<>AR13),2,0),0)
AU16: =IF(AR13=AR14,IF(AND(AR11<>AR12,AR12<>AR13,AR14<>AR15),0.25,0),0)
AV11: =IF(AR11=AR12,IF(AND(AR12<>AR13,AR13<>AR14,AR14=AR15),1,0),0)
AV12: =IF(AND(AR12=AR13,AR13=AR14),IF(AND(AR11<>AR12,AR14<>AR15),1.5,0),0)
AV13: =IF(AR14=AR15,IF(AND(AR11<>AR12,AR12<>AR13,AR13<>AR14),0.25,0),0)
AV14: =IF(AND(AR13=AR14,AR14=AR15),IF(AND(AR11<>AR12,AR12<>AR13),1,0),0)
AV15: =IF(AND(AR11<>AR12,AR12<>AR13,AR13<>AR14,AR14<>AR15),0.25,0)
AV16: =SUM(AU11:AU16,AV11:AV15)
AW12: =IF(AND(AQ12<>"",AQ11<>""),1,0)
AW13: =IF(AND(AQ13<>"",AQ12<>""),1,0)
AW14: =IF(AND(AQ14<>"",AQ13<>""),1,0)
AW15: =IF(AND(AQ15<>"",AQ14<>""),1,0)
公式部分不做講解了,表格已經(jīng)做好了,在百度盤里,進群獲得鏈接
搜素微信號:fanhuadadao110
拉進群分享電子表格