Skip to main content

Kutools for Office — 一套工具,五種功能。完成更多工作。

如何根據Excel中的給定日期計算季度開始日期或結束日期?

Author Xiaoyang Last modified

在處理按季度組織的業務數據、財務記錄或計劃任務時,通常需要確定給定日期列表中每個季度的開始或結束日期。例如,您可能需要快速檢索電子表格中每筆交易或事件的季度開始和結束日期。Excel 並未提供直接的函數來實現此目的,但有一些實用的方法可以讓您高效地執行此操作。以下介紹的方法將幫助您無縫計算每個列出日期的季度邊界,確保報告和分析的一致性和準確性。這些步驟對於基於期間的摘要、報告截止日期或與財政季度對齊的數據尤其有價值。討論的解決方案包括公式和 VBA 代碼,滿足快速手動處理和批量自動化需求。

calculate quarter start or end date based on date

使用公式根據給定日期計算季度的開始日期或結束日期
VBA 宏:自動計算並填寫一系列日期的季度開始和結束日期


arrow blue right bubble 使用公式根據給定日期計算季度的開始日期或結束日期

要獲取任何給定日期的季度開始或結束日期,您可以使用 Excel 中簡單的公式。這對於快速引用關鍵時間段而無需手動查找非常有用,特別是在需要將計算應用於合理大小的列表時效果最佳。

以下步驟演示了如何使用 Excel 公式高效計算季度邊界。這種方法非常適合希望避免使用 VBA 或外掛解決方案,並且偏好使用公式的工作流程,因為這樣可以在數據變更時動態更新結果。然而,對於包含數千個條目或混合/動態範圍的數據集,自動化或腳本選項可能會提供更好的可擴展性。

根據日期計算季度開始日期:

1. 點擊您希望顯示季度開始日期的空白單元格,例如,如果您的日期在 A 列,則點擊 B2 單元格。
2. 輸入以下公式:

=DATE(YEAR(A2),FLOOR(MONTH(A2)-1,3)+1,1)

3. 按下 Enter 確認。然後拖動填充柄(單元格右下角的小方塊)向下應用公式到其他行。這將計算 A 列中每個相應日期的季度開始日期。
提示:確保您的單元格引用正確;例如,根據日期所在位置使用 A2、A3 等。建議將結果單元格格式化為日期以正確顯示。

calculate the start date of a quarter with a formula

該公式通過從日期中提取年份並計算季度開始的正確月份,始終返回相應季度的第一天。

根據日期計算季度結束日期:

1. 選擇您希望顯示季度結束日期的空白單元格,例如 C2。
2. 輸入以下公式:

=DATE(YEAR(A2),((INT((MONTH(A2)-1)/3)+1)*3)+1,1)-1

3. 按下 Enter 應用。沿著您的數據拖動填充柄以計算所有行的季度結束日期。
該公式找到下一個季度的第一天並減去 1,因此返回每個日期的實際季度最後一天。

calculate the end date of a quarter with a formula

如果您的工作表包含許多日期,考慮將數據轉換為 Excel 表格,以便公式自動應用於新行。此外,確保單元格格式化為“日期”以正確顯示結果。

注意事項和提示:
- 這兩個公式假設源日期是有效的 Excel 日期。錯誤或文本格式的日期可能會導致錯誤。
- 如果您看到的是序列號而不是日期,請通過“設定單元格格式”對話框將結果單元格格式化為“短日期”或“長日期”。
- 如果遇到意外結果,請檢查您的區域日期設置。
- 如果您的組織季度不是從一月開始,調整公式以適應財政年度季度。

如果您遇到不熟悉的 #VALUE! 錯誤,檢查源範圍內是否有空或非日期單元格。對於批量更新或跨不同日期範圍的自動計算,您可以考慮下面描述的 VBA 宏方法。


arrow blue right bubble VBA 宏:自動計算並填寫一系列日期的季度開始和結束日期

如果您經常需要計算大量或可變日期範圍的季度開始和結束日期,VBA 宏可以實現快速和自動處理。此方法在大型電子表格中有效,支持動態數據範圍,並有助於減少手動輸入和錯誤。但是,它確實需要啟用宏,並且在嚴格的安全策略環境中可能不適用。

優勢: 自動化整個過程,適用於大型數據集,支持動態範圍,並最小化手動風險。
限制: 需要啟用宏的工作簿和基本的 VBA 編輯器知識;一些組織可能限制宏的使用。

按照以下步驟設置和使用宏:

1. 按下 Alt + F11 打開 Microsoft Visual Basic for Applications 編輯器。
2. 在 VBA 窗口中,點擊 插入 > 模塊 創建一個新模塊。
3. 將以下 VBA 代碼複製並粘貼到模塊窗口中:

Sub FillQuarterStartEndDates()
    Dim rng As Range
    Dim cell As Range
    Dim startCol As Long
    Dim endCol As Long
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select the date range to process:", xTitleId, rng.Address, Type:=8)
    
    If rng Is Nothing Then Exit Sub
    
    startCol = rng.Columns(rng.Columns.Count).Column + 1
    endCol = rng.Columns(rng.Columns.Count).Column + 2
    
    ' Add headers if necessary
    If rng.Rows(1).Row = 1 Or rng.Offset(-1, 0).Cells(1, 1).Value = "" Then
        rng.Cells(1, rng.Columns.Count + 1).Value = "Quarter Start Date"
        rng.Cells(1, rng.Columns.Count + 2).Value = "Quarter End Date"
    End If
    
    For Each cell In rng
        If IsDate(cell.Value) Then
            ' Quarter start date
            cell.Offset(0, rng.Columns.Count).Value = DateSerial(Year(cell.Value), ((Int((Month(cell.Value) - 1) / 3)) * 3) + 1, 1)
            
            ' Quarter end date
            cell.Offset(0, rng.Columns.Count + 1).Value = DateSerial(Year(cell.Value), (Int((Month(cell.Value) - 1) / 3) + 1) * 3 + 1, 1) - 1
        Else
            cell.Offset(0, rng.Columns.Count).Value = "N/A"
            cell.Offset(0, rng.Columns.Count + 1).Value = "N/A"
        End If
    Next cell
End Sub

4. 返回 Excel。選擇您要處理的日期單元格範圍。
5. 按下 F5 鍵或點擊 運行 按鈕。
6. 在對話框中,確認或選擇您要計算的確切日期範圍,然後點擊確定。
該宏將自動插入兩列——一列用於季度開始日期,另一列用於季度結束日期——緊挨著所選範圍,填入計算結果,或對任何非日期條目標記為“N/A”。

注意:
- 在運行宏之前,始終備份您的數據,以防意外覆蓋。
- 宏會識別無效或空單元格並將其標記為“N/A”,以便您輕鬆發現問題。
- 如果遇到任何錯誤或宏無法運行,確保在 Excel 設置中啟用了宏,並檢查沒有受保護的工作表阻止寫入新列。
- 若要自定義從一月以外的月份開始的財政年度的季度邏輯,您需要相應調整代碼。

總之,這兩種方法都可以根據您的特定工作流程生成季度期限邊界。考慮使用公式進行快速參考和小數據,並使用宏解決方案來自動化較大或重複的任務。如果遇到問題或不確定的結果,請仔細檢查日期格式和範圍選擇。一致的數據結構無論是手動還是自動計算都能減少錯誤並提高效率。

a screenshot of kutools for excel ai

使用 Kutools AI 解鎖 Excel 的魔法

  • 智能執行:執行單元格操作、分析數據並創建圖表——所有這些都由簡單的指令驅動。
  • 自訂公式:生成量身定制的公式,簡化您的工作流程。
  • VBA 編碼:輕鬆編寫和實現 VBA 代碼。
  • 公式解釋:輕鬆理解複雜的公式。
  • 文本翻譯:打破電子表格中的語言障礙。
通過人工智能工具增強您的 Excel 能力。立即下載,體驗前所未有的效率!

最佳 Office 生產力工具

🤖 Kutools AI 助手:以智能執行為基礎,革新數據分析 生成程式碼 創建自訂公式 分析數據並生成圖表 調用 Kutools 增強函數
熱門功能查找、選取項目的背景色或標記重複值刪除空行合併列或單元格且不遺失數據四捨五入(免公式)...
高級 LOOKUP多條件 VLookup多值 VLookup多表查找模糊查找...
高級下拉列表快速創建下拉列表 依賴型下拉列表 多選下拉列表...
列管理器添加指定數量的列移動列切換隱藏列的顯示狀態比較區域及列...
精選功能網格聚焦 設計檢視 增強編輯欄 工作簿及工作表管理器 資源庫(快捷文本) 日期提取器 合併資料 加密/解密儲存格 按列表發送電子郵件 超級篩選 特殊篩選(篩選粗體/傾斜/刪除線...)...
15 大工具集12 項文本工具添加文本刪除特定字符…)50+ 儀表 類型甘特圖等)40+ 實用 公式基於生日計算年齡等)19 項插入工具插入QR码根據路徑插入圖片等)12 項轉換工具金額轉大寫匯率轉換等)7 項合併與分割工具高級合併行分割儲存格等)...及更多
使用 Kutools,語言任你選 — 支援英語、西班牙語、德語、法語、中文及超過40 種語言!

運用 Kutools for Excel,全面提升您的 Excel 技能,體驗前所未有的高效。 Kutools for Excel 提供超過300 項進階功能,讓您提升工作效率、節省時間。 點此尋找您最需要的功能...


Office Tab 為 Office 帶來分頁介面,讓您的工作更加輕鬆簡單

  • 在 Word、Excel、PowerPoint 中啟用分頁編輯與閱讀
  • 在同一視窗的新分頁中打開與創建多份文件,而非開啟新視窗。
  • 提升您的生產力50%,每日可幫您減少數百次鼠標點擊!

所有 Kutools 外掛,一次安裝

Kutools for Office 套裝整合了 Excel、Word、Outlook 和 PowerPoint 的外掛,外加 Office Tab Pro,非常適合需要跨 Office 應用程式協同作業的團隊。

Excel Word Outlook Tabs PowerPoint
  • 全合一套裝 — Excel、Word、Outlook及 PowerPoint 外掛 + Office Tab Pro
  • 一鍵安裝,一份授權 — 幾分鐘完成設置(支援 MSI)
  • 協同運作更順暢 — Office 應用間無縫提升生產力
  • 30 天全功能試用 — 無需註冊、無需信用卡
  • 最超值 — 一次購買,節省單獨外掛費用