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

如何在 Excel 中列出指定月份的所有日期?

作者Siluvia修改日期

當您在 Excel 中處理以日期為基礎的資料時,經常需要建立特定月份每一天的清單——例如用於規劃、排程、報表或追蹤用途。雖然 Excel 的「以數列填滿」功能非常適合此任務,但要確保清單不會超出該月份的最後一天卻是一大挑戰,尤其各月份天數本就不同。如果您需要一種能精準自動產生符合任何指定月份天數之日期清單的方法,本文提供多種實用解決方案,適用於各種 Excel 技能程度與應用情境。

使用公式在指定月份中列出所有日期

VBA 程式碼-自動產生一個月的所有日期

Excel 內建方法-以數列填滿功能


使用公式在指定月份中列出所有日期

公式是一種靈活、以儲存格為基礎的解決方案,適合任何需要列出單一月份所有日期的使用者。此方法能自動生成並填入日期,無需手動計算天數;當您需要為不同月份建立多個工作表時,尤其理想。請依照下列步驟操作:

1. 首先,在空白儲存格中輸入目標月份的第一天。例如,在儲存格 A2 中輸入 2016/7/1. 您可依需求使用目標月份與年份。

2. 點選開始日期下方的儲存格(此處為儲存格 )A3),輸入下列公式後按下 Enter

=IF(A2="","",IF(MONTH(A 2+1)<>MONTH(A2),"",A 2+1))

顯示在指定月份第一天下方輸入公式的螢幕截圖

此公式會判斷是否應遞增日期,一旦超出起始月份的範圍,對應儲存格將自動保持空白——即使您向下拖曳超過該月的最後一天,也不會顯示任何額外日期。

3. 接下來,請確保結果儲存格以日期格式顯示。選取剛才輸入公式的儲存格,然後前往開始 > 數字格式 下拉式選單 > 短日期。此步驟至關重要——若儲存格格式為「一般」或「數字」,您將只看到序列號,而非實際日期!

顯示在 Excel 中設定儲存格格式以顯示日期的過程之螢幕截圖

4. 選取包含公式的儲存格後,向下拖曳填滿控點(位於儲存格右下角的小方塊),並拖曳超過該月預期的天數—例如 7 月可安心拖曳至少 31 列。無論拖曳多遠,日期僅會填入屬於指定月份的儲存格,絕不溢出至下個月。

顯示使用填滿控點在 Excel 中列出指定月份所有日期的螢幕截圖


VBA 程式碼-自動產生指定月份的所有日期

對於希望避免手動輸入公式(特別是在重複或多工作表中建立日期清單)的使用者,簡單的 VBA 巨集能自動化整個流程。當您只需幾次點擊就能快速產生可自訂的日期序列時,此方法尤其實用。透過 VBA,系統會提示您輸入目標月份與年份,程式碼將立即為您生成所有相關日期。

1. 按一下 開發人員工具>Visual Basic ,開啟Microsoft Visual Basic for Applications 編輯器。在 VBA 編輯器中,按一下插入>模組,並將下列程式碼貼到新建的模組中:

Sub ListAllDatesOfMonth()
    Dim y As Integer
    Dim m As Integer
    Dim startDate As Date
    Dim endDate As Date
    Dim i As Integer
    Dim xTitleId As String
    Dim destCell As Range
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    y = Application.InputBox(prompt:="Please enter the year (e.g.2023)", Title:=xTitleId, Type:=1)
    If y = 0 Then Exit Sub
    
    m = Application.InputBox(prompt:="Please enter the month number (1-12)", Title:=xTitleId, Type:=1)
    If m = 0 Then Exit Sub
    
    Set destCell = Application.InputBox(prompt:="Select the starting cell for your dates", Title:=xTitleId, Type:=8)
    If destCell Is Nothing Then Exit Sub
    
    startDate = DateSerial(y, m, 1)
    endDate = DateSerial(y, m + 1, 0)
    
    For i = 0 To endDate - startDate
        destCell.Offset(i, 0).Value = startDate + i
    Next i
    
    destCell.Resize(endDate - startDate + 1, 1).NumberFormat = "yyyy/m/d"
End Sub

2. 按一下 執行執行按鈕按鈕(或按下)F5 ),並依照提示輸入年份、月份,以及選擇日期應開始填入的儲存格。

注意事項與提示:

  • 輸入月份時,請以數字表示:1 代表 1 月,2 代表 2 月,依此類推。
  • 所有生成的日期均以「yyyy/m/d」格式顯示。如有需要,您可於 NumberFormat 欄位中調整日期格式。
  • 若您輸入有誤,或想重新建立清單,只需再次執行巨集即可。
  • 當您經常需要建立日期清單或自動化重複性報表時,此解決方案正是您的最佳選擇。

Excel 內建方法-以數列填滿功能

另一種直接的 Excel 內建方法是使用以數列填滿功能,輕鬆列出一整月的所有日期——特別適合不熟悉公式或 VBA 的使用者!只要明確定義步進值(1 天),並指定終止值為目標月份的最後一天,就能快速為任何月份建立精確的日期清單。

  1. 在空白儲存格中輸入指定月份的第一天(例如,在 )A2 輸入 2023/4/1,即代表 2023 年 4 月 1 日)。請確保 Excel 能正確辨識您輸入的內容為日期;如有疑慮,可直接在儲存格中使用 =DATE(2023,4,1) 明確指定日期。
  2. 選取起始儲存格(A2),接著前往開始 > 填滿 > 數列……,即可開啟「數列」對話方塊。
  3. 在「數列」對話方塊中:
    • 若要讓日期以直欄方式呈現,請選擇;若要以橫列方式呈現,請選擇
    • 類型設為日期
    • 日期單位設為
    • 步進值設為 1(每日遞增)。
    • 終止值中,輸入目標月份的最後一天。例如,若為 2023 年 4 月,請輸入 2023/4/30.
  4. 按一下確定,Excel 將自動在所選儲存格範圍內填入從指定月份第一天到最後一天的所有日期!

優點與注意事項

  • 此方法無需記憶或手動編輯公式。
  • 您需手動輸入每個月份的起始與結束日期。
  • 若您輸入的終止值有誤,清單可能會不完整,或包含多餘的日期。請務必仔細核對結束日期,特別是在 2 月及閏年時。
  • 填滿數列後,如有需要,可透過開始> 數字格式,將所有儲存格設定為日期格式。

上述每種解決方案皆有其獨到優勢:公式具備動態特性,且能輕鬆複製至其他月份;VBA 可實現一鍵自動化,適合大規模重複使用;而以數列填滿則是偶爾執行時快速達成視覺化效果的理想選擇。若操作時遇到問題,請先確認輸入的日期格式正確且可被系統辨識;使用 VBA 時,務必啟用巨集並選取有效的儲存格範圍。若需處理更複雜的排程需求(例如包含週末、國定假日或特定工作日),則可能需要額外的公式邏輯或進一步調整 VBA 程式碼。

最佳 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 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用