KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在 Excel 中建立平日/工作日清單?

作者Sun修改日期

本教學將說明如何在 Excel 中快速建立指定日期範圍內的平日(工作日)清單。此類清單對於專案排程、工時表、出勤記錄,或僅於工作日執行的任務規劃尤其實用。以下方法同時提供手動與自動化兩種方式,適用於不同情境及各種 Excel 熟練程度的使用者。

使用自動填充選項列出平日

使用實用工具——Kutools for Excel 列出平日

使用 Excel WORKDAY/WORKDAY.INTL 公式列出工作日

透過 VBA 程式碼自動列出平日/工作日


藍色右箭頭氣泡使用自動填充選項列出平日

在 Excel 中,您可結合自動填滿控制點與填滿平日選項,快速建立平日清單。此方法簡單直接,適合快速產生連續平日清單;但若您需要精確掌控起訖日期,或需納入假日考量,其彈性則較為有限。

1. 在空白儲存格中輸入您的開始日期。例如,在儲存格 A1 中輸入 7/1/2015. 請參閱螢幕截圖:

在 Excel 中輸入起始日期以建立平日清單的螢幕截圖

2. 將滑鼠游標移至儲存格右下角,待填滿控制點(+)出現後,按住並向下拖曳至所需列數。例如,拖曳即可快速列出 22 個平日。

提示:您需預估或計算出確切要填入的平日數量。若不確定,可先填入比所需更多的儲存格,再輕鬆刪除多餘項目!

在 Excel 中拖曳填滿控點以列出日期的螢幕截圖

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

Excel 中顯示「自動填滿選項」功能表並選取「填滿平日」選項的螢幕截圖

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

僅產生平日清單的螢幕截圖

此方法可快速填入連續的平日清單,但不適用於自訂商業規則(例如排除特定假日或非連續的平日區間)。此外,此方法無法直接填入兩個確切日期之間的平日。若有進階需求,請考慮採用下列其中一種自動化方法。


藍色右箭頭氣泡 使用實用工具——Kutools for Excel 列出平日

Kutools for Excel 提供便捷解決方案,透過其插入隨機資料功能,輕鬆在指定日期範圍內產生所有平日(工作日)。此方法高度靈活又省時,特別適合處理大型資料集,或需確保所產生的日期皆為唯一且僅包含平日的情境。對於需要依據精確工作日進行排程或專案規劃的使用者來說,這項功能絕對不容錯過!

Kutools for Excel 提供超過 300 項進階功能,簡化複雜作業,提升創造力與效率。整合 AI 功能,Kutools 能精準自動化各項任務,讓資料管理輕鬆無負擔。Kutools for Excel 的詳細資訊……         免費試用……

1. 選取您要用來產生清單的空白儲存格區域,並確保所選儲存格數量多於預期的平日天數,因為儲存格數量將直接決定可容納的日期數量。請參閱螢幕截圖:

選取儲存格以使用 Kutools 建立平日清單的螢幕截圖

2. 前往 Excel 功能區上的 Kutools 選項卡,點擊插入 > 插入隨機資料,立即體驗高效操作!請參閱螢幕截圖:

3. 在插入隨機資料對話方塊中,切換至日期頁籤,並輸入您所需的日期範圍:於 From 方框中填入最早日期,於 To 方框中填入最晚日期。勾選 Workday,即可將結果限定為平日(週一至週五);勾選 Unique Values,則可避免產生重複日期。操作畫面請參閱下方螢幕截圖:
選取「工作日」選項的「插入隨機資料」對話框螢幕截圖

注意:若專案需包含假日,您須於產生清單後手動移除這些日期,因為內建功能僅會跳過一般週末。

4. 點擊 OKApply,此工具將自動以指定期間內所有符合條件的平日填滿您的選取區域。若選取區域大於可填入的日期數量,部分儲存格可能會留空。

顯示已插入平日且保留空白儲存格的螢幕截圖

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

顯示 Excel「資料」索引標籤及「從最早到最新排序」選項的螢幕截圖

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

顯示 Excel 中平日已從最早到最新排序的螢幕截圖

Kutools for Excel 的插入隨機資料工具不僅支援日期,還能輕鬆產生隨機數字、隨機時間、隨機唯一值、隨機字串及自訂列表的隨機內容!立即深入了解此強大工具。

注意:務必再次確認所產生的日期符合您的條件,特別是當您需要排除特定假日,或日期範圍涵蓋可變的工作週時。

Kutools for Excel-內含超過 300 項 Excel 必備工具,讓您的 Excel 作業更快速、更簡單、更高效!立即下載!

藍色右箭頭氣泡 使用 Excel WORKDAY/WORKDAY.INTL 公式列出工作日

Excel 的 WORKDAYWORKDAY.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—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 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 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用