有很多人都希望我做一個 Excel 排班表的工具,不過說真的,要用 Excel 直接弄出一個自動排班表的工具是很有難度的,與其這樣,一般來說,如果需要安排「排休」的班表,最大難點在於找出「希望休假」的衝突,比如每天只能休二個人,一天一定要有六個人上班,那麼,我們在安排休假時,重點就是找出大家希望的休假有沒有衝突,再去重新安排休超過二個人的日期,所以不如,我們就來製作一個方便查看休假安排衝突的工具吧。
Excel 教學 – 安排班表排休計算工具
首先以下圖為例,我們要做的是,一共有員工十人,每個人每月可以安排休假八天,當月每天多只能有二個人休假,既然沒辦法弄出自動排班表的工具,那就像下表一樣,至少可以計算出每天的休假人數以及顯示休假名單吧,這麼一來,只要看休假人數大於 2 的,再去安排超過的那天,排去小於 2 的天數就好,是不是就方便很多。
首先,我們先打好員工清單,跟大家的休假日期,然後打上當月的日程,比如 12 月,以我為例是在 K2:K32 打上 12/1~12/31(用下拉的方式就可以)。
接下來我們先計算休假人數,這個簡單,只要用 COUNTIF 這函數來計算就好,公式如下:
=COUNTIF($B$2:$I$11,K2)
放在 L2 欄位後往下拖曳延伸公式。
只有顯示休假人數當然是不夠的,因為只知道人數沒有用,假設 12/2 休四人超過預設的二人,那麼就還要去找誰休了 12/2,所以在 M2 可以再加個休假名單有誰,公式如下:
=TEXTJOIN(“, “, TRUE, IF($B$2:$I$11=K6, $A$2:$A$11, “”))
利用 TEXTJOIN 跟 IF 就可以在 M2 顯示出休假名單,然後一樣往下拖曳,就可以看到每天的休假名單囉,這麼一來,你就可以依據超過休假人數的天數,看是誰想要休同一天的再去調整就好,至少比對來對去方便很多。
如果你想要減少人數或增加,做法都一樣,要改就是二個公式,比如人數減掉二個,休假如果減少或增加都可以。
COUNTIF 的比對範圍就是全選整個休假日期。
而休假名單顯示的公式,裡面原本的 B:I 還有 A 的範圍,都只要依照你的名單跟休假範圍去調整就可以囉,大家快去試試吧。