如何在 Excel 中建立平日/工作日清單?
本教學將說明如何在 Excel 中快速建立指定日期範圍內的平日(工作日)清單。此類清單對於專案排程、工時表、出勤記錄,或僅於工作日執行的任務規劃尤其實用。以下方法同時提供手動與自動化兩種方式,適用於不同情境及各種 Excel 熟練程度的使用者。
使用實用工具——Kutools for Excel 列出平日
使用 Excel WORKDAY/WORKDAY.INTL 公式列出工作日
使用自動填充選項列出平日
在 Excel 中,您可結合自動填滿控制點與填滿平日選項,快速建立平日清單。此方法簡單直接,適合快速產生連續平日清單;但若您需要精確掌控起訖日期,或需納入假日考量,其彈性則較為有限。
1. 在空白儲存格中輸入您的開始日期。例如,在儲存格 A1 中輸入 7/1/2015. 請參閱螢幕截圖:

2. 將滑鼠游標移至儲存格右下角,待填滿控制點(+)出現後,按住並向下拖曳至所需列數。例如,拖曳即可快速列出 22 個平日。
提示:您需預估或計算出確切要填入的平日數量。若不確定,可先填入比所需更多的儲存格,再輕鬆刪除多餘項目!

3. 完成拖曳後,點擊選取範圍附近出現的小型自動填充選項按鈕,在彈出功能表中選取填滿平日。Excel 將僅以平日(星期一至星期五)填滿範圍,並自動跳過週末。

現在,您應該能在工作表中看到從 2015 年 7 月 1 日起算的連續 22 個平日。

此方法可快速填入連續的平日清單,但不適用於自訂商業規則(例如排除特定假日或非連續的平日區間)。此外,此方法無法直接填入兩個確切日期之間的平日。若有進階需求,請考慮採用下列其中一種自動化方法。
使用實用工具——Kutools for Excel 列出平日
Kutools for Excel 提供便捷解決方案,透過其插入隨機資料功能,輕鬆在指定日期範圍內產生所有平日(工作日)。此方法高度靈活又省時,特別適合處理大型資料集,或需確保所產生的日期皆為唯一且僅包含平日的情境。對於需要依據精確工作日進行排程或專案規劃的使用者來說,這項功能絕對不容錯過!
1. 選取您要用來產生清單的空白儲存格區域,並確保所選儲存格數量多於預期的平日天數,因為儲存格數量將直接決定可容納的日期數量。請參閱螢幕截圖:

2. 前往 Excel 功能區上的 Kutools 選項卡,點擊插入 > 插入隨機資料,立即體驗高效操作!請參閱螢幕截圖:
3. 在插入隨機資料對話方塊中,切換至日期頁籤,並輸入您所需的日期範圍:於 From 方框中填入最早日期,於 To 方框中填入最晚日期。勾選 Workday,即可將結果限定為平日(週一至週五);勾選 Unique Values,則可避免產生重複日期。操作畫面請參閱下方螢幕截圖:
注意:若專案需包含假日,您須於產生清單後手動移除這些日期,因為內建功能僅會跳過一般週末。
4. 點擊 OK 或 Apply,此工具將自動以指定期間內所有符合條件的平日填滿您的選取區域。若選取區域大於可填入的日期數量,部分儲存格可能會留空。

5。(選用)若要將產生的日期依時間順序排列,請先選取已填入的日期範圍,前往資料選項卡,然後點擊由舊到新排序,即可讓您的清單井然有序!

產生的清單將依序顯示您自訂範圍內的所有工作日,並按時間由早到晚排序。

Kutools for Excel 的插入隨機資料工具不僅支援日期,還能輕鬆產生隨機數字、隨機時間、隨機唯一值、隨機字串及自訂列表的隨機內容!立即深入了解此強大工具。
注意:務必再次確認所產生的日期符合您的條件,特別是當您需要排除特定假日,或日期範圍涵蓋可變的工作週時。
Kutools for Excel-內含超過 300 項 Excel 必備工具,讓您的 Excel 作業更快速、更簡單、更高效!立即下載!
使用 Excel WORKDAY/WORKDAY.INTL 公式列出工作日
Excel 的 WORKDAY 與 WORKDAY.INTL 函數,能讓您以程式設計方式輕鬆產生兩個日期之間的連續工作日清單。WORKDAY 預設自動跳過週末(星期六與星期日),而 WORKDAY.INTL 更支援自訂週末設定,並可納入假日日期。若您希望自動化人資排班或薪資計算等流程,同時確保精準無誤,此方法極具彈性且不容錯過!
為方便起見,以下是使用公式建立動態工作日清單的逐步操作說明:
1. 在儲存格 A1 中輸入您的開始日期,例如:7/1/2015;並在儲存格 B1 中輸入您的結束日期,例如:7/31/2015.
2. 在儲存格 C1 中輸入下列公式,即可依序取得工作日清單:
=IF(WORKDAY($A$1,ROW(A1)-1,$B$2)<=$B$1,WORKDAY($A$1,ROW(A1)-1,$B$2),"") 參數說明:
- $A$1: 開始日期(絕對參照)
- ROW(A1)-1: 為每一列遞增工作日編號
- $B$2: 選用,包含需排除之假日日期的範圍(請在 B2:B10 或其他所需範圍中輸入您的假日日期,若不需要則留空)
- $B$1: 結束日期清單的終點(確保序列在您選定的終點停止)
3. 向下拖曳儲存格 C1 中的公式,直到儲存格顯示空白為止,清單將自動填入所有工作日(排除週末及所列假日)。
提示:
- 若需自訂週末(例如僅將星期日視為週末),請考慮使用 WORKDAY.INTL 函數,該函數可透過設定週末參數,靈活指定哪些日期視為週末(詳情請參閱 Excel 說明文件)。
- 務必將您的假日日期維護在一個明確且獨立的範圍內,以免不慎納入工作日序列中。
- 若無需考慮假日,您可直接在公式中省略選用的假日範圍。
常見錯誤:若您遇到 #NUM! 錯誤,或預期顯示日期的位置卻呈現空白,請檢查起始日與結束日是否有效,並確認所使用的假日清單(若有)僅包含日期(不含文字或其他資料)。
透過 VBA 程式碼自動列出平日/工作日
若您需要在任意範圍內自動生成完整的平日(工作日)清單,自訂 VBA 巨集能輕鬆實現此流程。此方法特別適合進階 Excel 使用者,或當您需在不同資料集上頻繁重複執行此作業時使用。透過 VBA,您還可靈活納入自訂的每週工作模式、假日設定,並將結果輸出至工作表中的任意位置。
1. 按一下開發人員工具>Visual Basic,開啟 Microsoft Visual Basic for Applications 視窗;接著,點選插入> 模組,並將下列程式碼貼到模組中:
Sub ListBusinessDays()
Dim StartDate As Date
Dim EndDate As Date
Dim r As Integer
Dim ws As Worksheet
Dim currDate As Date
Dim Holidays As Range
On Error Resume Next
Set ws = ActiveSheet
StartDate = Application.InputBox("Enter start date:", "KutoolsforExcel", Type:=2)
EndDate = Application.InputBox("Enter end date:", "KutoolsforExcel", Type:=2)
Set Holidays = Application.InputBox("Select range for holidays (optional, press Cancel if none):", "KutoolsforExcel", Type:=8)
On Error GoTo 0
r = 1
For currDate = StartDate To EndDate
If Weekday(currDate, vbMonday) <= 5 Then ' Monday = 1, Friday = 5
If Holidays Is Nothing Then
ws.Cells(r, 3).Value = currDate
r = r + 1
Else
If Application.CountIf(Holidays, currDate) = 0 Then
ws.Cells(r, 3).Value = currDate
r = r + 1
End If
End If
End If
Next
End Sub 2. 按一下
按鈕,或按下 F5 以執行程式碼。系統將提示您輸入清單的起始日期與結束日期,並可選擇要排除的假日日期範圍(若無需排除,直接按「取消」即可)。巨集隨即會在目前工作表的 C 欄中自動填入每個工作日,並跳過週末(週六與週日)及您指定的假日。
注意事項與疑難排解:
- 若日期未顯示,請確認您輸入的日期有效,且格式正確。
- 若未指定假日範圍,系統將列出起始日至結束日期間的所有平日。
- 結果一律從 C 欄開始。若要變更輸出位置,請調整程式碼中的
ws.Cells(r,3)。
最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……
Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!
- 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
- 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
- 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!
所有 Kutools 增益集,一個安裝程式
Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用