作者garyyeng2 (狗棉被)
看板Office
標題[算表] 客服8人輪三班 班表
時間Mon Mar 18 19:28:35 2019
軟體:Excel
版本:2007
https://i.imgur.com/PYuOGUN.png
更新附上班表檔案
https://drive.google.com/file/d/1tquh7O9ESvs_aHmfis5sZstRrBvwKtUr/view
過完年四個人離職,現在剩下八人,班表變得超難排
想了幾個小時都排不出來
共有早班、晚班、夜班 三種
藍色部門4人+紅色部門4人 共8人
班別 代稱 上班時間
早班 早 07:00~15:00
小夜班 晚 15:00~23:00
大夜班 夜 隔日23:00~07:00(例:4/15夜班,需在4/14的23:00上班)
條件一:每天早班、晚班、夜班,藍色部門跟紅色部門至少要各有一人上班
但有兩個人例外:
Ash上班時,同時段紅色部門的同仁可不用上班
(例:Ash 4/1上早班,紅色部門4/1早班就不用排人)
Johnny上班時,同時段藍色部門的同仁可不用上班
(例:Johnny 4/1上晚班,藍色部門4/1晚班就不用排人)
也就是當一天人最少的情況下,可排4人就足夠,只有Ash跟Johnny可以這樣。
條件二:Jack 4/1-4/7的休假不能調整,每人4月各有10天假期隨意安排。
條件三:同一人不能上完大夜班接早班,其他條件都可以。
條件四:最多連續上六天,不能連上七天班。
Edward、Allen 3月底已經連上四天、Mark 3月底已經連上五天,Jack月初又連休.......
實在排不出來...,請問是否有什麼方法或函數可以寫得出來?
如果這題無解,可以先從條件四刪除,那應該就可以了吧?
謝謝大家
另外我在對岸論壇找到的自動排班Excel檔案無法使用,
會顯示 陣列索引超出範圍,我在想是不是因為對岸是簡體字開發的關係,
可否有人能將它改成可使用的狀態,這樣也許會造福許多人。
https://drive.google.com/file/d/1S6EEe4GJfkNTtGwxeaTveLWsGrbn0D_r/view
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.230.109.244
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Office/M.1552908517.A.B32.html
1F:→ Tokaku: 空集合,因為6*30=180班,強者2*2*20=80,4*20=80,你還 03/18 23:08
2F:→ Tokaku: 欠20班 03/18 23:08
3F:→ Tokaku: 沒事我看錯了,這題可能要用vba暴力破解。 03/18 23:12
4F:→ soyoso: 個人覺得可以用vba來協助,但不要回什麼"暴力破解"之類的 03/18 23:23
5F:→ soyoso: ,不然我請問什麼是"暴力破解"?巨集不就是方法、手段嗎? 03/18 23:23
先感謝你們的回覆
但是我不懂VBA,請問我該怎麼做比較好? 謝謝你們
6F:→ soyoso: 以原文的說明來看,我會以迴圈,接著判斷if抓出這八位內誰 03/19 00:09
7F:→ soyoso: 是當天可排進去的(這方面要以條件1~4來看),再來抓出後就 03/19 00:09
8F:→ soyoso: 是隨機rnd或工作表函數randbetween抓出某一位,當然也有可 03/19 00:09
9F:→ soyoso: 能在排班下會遇到條件1~4都無法滿足的情況,那就要重新執 03/19 00:09
10F:→ soyoso: 行上述步驟。 03/19 00:09
11F:→ soyoso: 判斷上誰可以安排上因為條件一的關係,有可能於每個班別隨 03/19 00:18
12F:→ soyoso: 機抓出後又要排除該同部門的同仁 03/19 00:18
不知道so大願不願意示範呢? 因為真的無法的情況下條件4也可以捨棄,再跟公司報加班
附上我原本的班表檔案,願意附上P幣以示誠意!
https://drive.google.com/file/d/1tquh7O9ESvs_aHmfis5sZstRrBvwKtUr/view
※ 編輯: garyyeng2 (36.230.109.244), 03/19/2019 01:04:29
13F:→ soyoso: 如來看原文條件的話, 03/19 08:32
14F:→ soyoso: 條件1,三個班別,一天人最少的情況下,可排4人就足夠,那 03/19 08:32
15F:→ soyoso: 怎麼排?是指任意班別排二位?如果當天5~8位員工都沒有休 03/19 08:32
16F:→ soyoso: 假的情況呢? 03/19 08:32
17F:→ soyoso: 條件2,每人各有10天假期,但檔案內除ash和johnny外,任6 03/19 08:32
18F:→ soyoso: 人並無寫到休假日期,這無法模擬,應該會有規則每天只能有 03/19 08:32
19F:→ soyoso: 多少人休假之類的。 03/19 08:32
20F:→ soyoso: 條件4,表格上需要有某些資料,於b欄前增加6欄,以4月份來 03/19 08:32
21F:→ soyoso: 看的話,就是3/26~3/31人員的班別,這樣才能於4/1時判斷: 03/19 08:32
22F:→ soyoso: A)前六天的連續出勤情況,B)3/31是否大夜班,這是條件三所 03/19 08:32
23F:→ soyoso: 寫的不能上完大夜班接早班。 03/19 08:32
24F:→ soyoso: 以上是個人覺得要先確定的,其他先進要協助的話,也會比較 03/19 08:32
25F:→ soyoso: 清楚 03/19 08:32
26F:推 ahwii: 試看看線性規劃 03/19 13:24
28F:→ ahwii: 限制式的設定有些問題,你比較清楚,自己設看看 03/19 15:46
29F:→ ahwii: 外掛程式下載SOLVER 03/19 15:47
感謝各位大大 尤其是so大
結果我太沒慧根,真是對不起各位,樓上ah大的線性規劃我也不會使用(有打開來看過了)
只好一天一天慢慢看慢慢核對,把班表排完了,到時候五月的部分可能要慢慢研究了.....
https://i.imgur.com/vJ2Uzjr.jpg
附上最後排完的班表,真的好醜呀.....
有些同事上到三種班,大家幾乎都加班一天,我真的排不出來了....
※ 編輯: garyyeng2 (1.160.112.86), 03/20/2019 00:13:38