[算表] 客服8人輪三班 班表

看板Office作者 (狗棉被)時間7年前 (2019/03/18 19:28), 7年前編輯推噓1(1028)
留言29則, 3人參與, 7年前最新討論串1/1
軟體: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://www.ptt.cc/bbs/Office/M.1552908517.A.B32.html

03/18 23:08, 7年前 , 1F
空集合,因為6*30=180班,強者2*2*20=80,4*20=80,你還
03/18 23:08, 1F

03/18 23:08, 7年前 , 2F
欠20班
03/18 23:08, 2F

03/18 23:12, 7年前 , 3F
沒事我看錯了,這題可能要用vba暴力破解。
03/18 23:12, 3F

03/18 23:23, 7年前 , 4F
個人覺得可以用vba來協助,但不要回什麼"暴力破解"之類的
03/18 23:23, 4F

03/18 23:23, 7年前 , 5F
,不然我請問什麼是"暴力破解"?巨集不就是方法、手段嗎?
03/18 23:23, 5F
先感謝你們的回覆 但是我不懂VBA,請問我該怎麼做比較好? 謝謝你們

03/19 00:09, 7年前 , 6F
以原文的說明來看,我會以迴圈,接著判斷if抓出這八位內誰
03/19 00:09, 6F

03/19 00:09, 7年前 , 7F
是當天可排進去的(這方面要以條件1~4來看),再來抓出後就
03/19 00:09, 7F

03/19 00:09, 7年前 , 8F
是隨機rnd或工作表函數randbetween抓出某一位,當然也有可
03/19 00:09, 8F

03/19 00:09, 7年前 , 9F
能在排班下會遇到條件1~4都無法滿足的情況,那就要重新執
03/19 00:09, 9F

03/19 00:09, 7年前 , 10F
行上述步驟。
03/19 00:09, 10F

03/19 00:18, 7年前 , 11F
判斷上誰可以安排上因為條件一的關係,有可能於每個班別隨
03/19 00:18, 11F

03/19 00:18, 7年前 , 12F
機抓出後又要排除該同部門的同仁
03/19 00:18, 12F
不知道so大願不願意示範呢? 因為真的無法的情況下條件4也可以捨棄,再跟公司報加班 附上我原本的班表檔案,願意附上P幣以示誠意! https://drive.google.com/file/d/1tquh7O9ESvs_aHmfis5sZstRrBvwKtUr/view ※ 編輯: garyyeng2 (36.230.109.244), 03/19/2019 01:04:29

03/19 08:32, 7年前 , 13F
如來看原文條件的話,
03/19 08:32, 13F

03/19 08:32, 7年前 , 14F
條件1,三個班別,一天人最少的情況下,可排4人就足夠,那
03/19 08:32, 14F

03/19 08:32, 7年前 , 15F
怎麼排?是指任意班別排二位?如果當天5~8位員工都沒有休
03/19 08:32, 15F

03/19 08:32, 7年前 , 16F
假的情況呢?
03/19 08:32, 16F

03/19 08:32, 7年前 , 17F
條件2,每人各有10天假期,但檔案內除ash和johnny外,任6
03/19 08:32, 17F

03/19 08:32, 7年前 , 18F
人並無寫到休假日期,這無法模擬,應該會有規則每天只能有
03/19 08:32, 18F

03/19 08:32, 7年前 , 19F
多少人休假之類的。
03/19 08:32, 19F

03/19 08:32, 7年前 , 20F
條件4,表格上需要有某些資料,於b欄前增加6欄,以4月份來
03/19 08:32, 20F

03/19 08:32, 7年前 , 21F
看的話,就是3/26~3/31人員的班別,這樣才能於4/1時判斷:
03/19 08:32, 21F

03/19 08:32, 7年前 , 22F
A)前六天的連續出勤情況,B)3/31是否大夜班,這是條件三所
03/19 08:32, 22F

03/19 08:32, 7年前 , 23F
寫的不能上完大夜班接早班。
03/19 08:32, 23F

03/19 08:32, 7年前 , 24F
以上是個人覺得要先確定的,其他先進要協助的話,也會比較
03/19 08:32, 24F

03/19 08:32, 7年前 , 25F
清楚
03/19 08:32, 25F

03/19 13:24, 7年前 , 26F
試看看線性規劃
03/19 13:24, 26F

03/19 15:45, 7年前 , 27F
03/19 15:45, 27F

03/19 15:46, 7年前 , 28F
限制式的設定有些問題,你比較清楚,自己設看看
03/19 15:46, 28F

03/19 15:47, 7年前 , 29F
外掛程式下載SOLVER
03/19 15:47, 29F
感謝各位大大 尤其是so大 結果我太沒慧根,真是對不起各位,樓上ah大的線性規劃我也不會使用(有打開來看過了) 只好一天一天慢慢看慢慢核對,把班表排完了,到時候五月的部分可能要慢慢研究了..... https://i.imgur.com/vJ2Uzjr.jpg
附上最後排完的班表,真的好醜呀..... 有些同事上到三種班,大家幾乎都加班一天,我真的排不出來了.... ※ 編輯: garyyeng2 (1.160.112.86), 03/20/2019 00:13:38
文章代碼(AID): #1SZu3bio (Office)
文章代碼(AID): #1SZu3bio (Office)