免費軟體與線上工具1,417影音、圖片與 PDF9153C 開箱評測895生活、旅遊與遊戲798iPhone 與 Mac546LINE 與社群533Google 服務464Windows 與電腦451Android 手機402Office 教學380網路新知372AI 工具117
Office 教學

Excel 教學 - 製作一個輔助安排班表排休計算的工具,休假衝突一目瞭然

在 Excel 製作排休計算工具,只需用 COUNTIF 函數計算每日休假人數,再透過 TEXTJOIN 與 IF 函數列出休假名單,就能輕鬆找出排休衝突並進行調整。

為什麼不用 Excel 寫自動排班表?

有很多人都希望我做一個 Excel 排班表的工具,不過說真的,要用 Excel 直接弄出一個自動排班表的工具是很有難度的。一般來說,如果需要安排「排休」的班表,最大的難點在於找出「希望休假」的衝突。

比如規定每天只能休二個人,一天一定要有六個人上班,那麼我們在安排休假時,重點就是找出大家希望的休假日期有沒有衝突,再去重新安排休超過二個人的日期。所以不如我們就來製作一個方便查看休假安排衝突的工具吧!

Excel 排休計算工具製作步驟

首先以下圖為例,我們要做的是:一共有員工十人,每個人每月可以安排休假八天,當月每天最多只能有二個人休假。既然沒辦法弄出自動排班表的工具,那就像下表一樣,至少可以計算出每天的休假人數以及顯示休假名單。這麼一來,只要看休假人數大於 2 的日期,再去安排超過的那天,把假排去小於 2 的天數就好,是不是就方便很多。

Excel 排休計算工具完成結果預覽

步驟一:建立員工休假資料與當月日程

首先,我們先在 Excel 中打好員工清單,以及大家的休假日期,然後在旁邊打上當月的日程。比如 12 月,以我為例就是在 K2:K32 的儲存格打上 12/1~12/31(用滑鼠下拉的方式就可以快速填滿)。

輸入員工清單、休假日期與當月日程

步驟二:使用 COUNTIF 計算每日休假人數

接下來我們先計算每天的休假人數,這個很簡單,只要用 COUNTIF 這個函數來計算就好。請在 L2 欄位輸入以下公式:

=COUNTIF($B$2:$I$11,K2)

輸入完成後,只要點選 L2 欄位右下角往下拖曳延伸公式,就能算出每一天的休假人數了。

在 L2 欄位輸入 COUNTIF 公式計算人數

步驟三:利用 TEXTJOIN 顯示每日休假名單

只有顯示休假人數當然是不夠的,因為只知道人數沒有用。假設 12/2 休四人超過預設的二人,那麼就還要去找誰休了 12/2。所以在 M2 欄位可以再加個「休假名單有誰」,請輸入以下公式:

=TEXTJOIN(", ", TRUE, IF($B$2:$I$11=K6, $A$2:$A$11, ""))

利用 TEXTJOIN 跟 IF 函數就可以在 M2 顯示出休假名單,然後一樣往下拖曳延伸公式,就可以看到每天的休假名單囉!這麼一來,你就可以依據超過休假人數的天數,看是誰想要休同一天的再去調整就好,至少比對來對去方便很多。

在 M2 欄位輸入 TEXTJOIN 公式顯示名單

如何根據實際需求調整排休公式?

如果你想要減少或增加每天允許的休假人數,做法都一樣,要改的就是這二個公式。比如人數減掉二個,休假如果減少或增加都可以自行調整。

在 COUNTIF 的公式中,比對範圍就是全選整個休假日期的區塊。

調整 COUNTIF 比對範圍的說明

而休假名單顯示的公式,裡面原本的 B:I 還有 A 的範圍,都只要依照你的實際員工名單跟休假範圍去調整就可以囉,大家快去試試看這個實用的排班輔助工具吧!

調整 TEXTJOIN 名單範圍的說明

常見問題

Excel 可以做自動排班表嗎?

用 Excel 直接製作全自動排班表難度很高,建議改為製作「排休衝突計算工具」,找出哪些日期的休假人數超過限制,再手動調整會更有效率。

如何在 Excel 計算每天有幾個人休假?

可以使用 COUNTIF 函數,將比對範圍設定為所有員工的休假日期區塊,條件設定為當天的日期,就能計算出該日期的休假總人數。

怎麼在 Excel 顯示同一天休假的所有員工名單?

可以結合 TEXTJOIN 與 IF 函數,判斷員工休假日期是否符合當天日期,若符合則列出員工姓名,即可顯示完整的休假名單。

(本文於 2026 年 10 月更新:補充步驟說明與常見問題)

這篇收錄在「Excel 教學總整理」,同一主題的其他教學都依小主題整理在那裡。