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

如何根據 Excel 中的指定日期,計算該日期所屬季度的開始日期或結束日期?

作者Xiaoyang修改日期

處理按季度組織的業務資料、財務記錄或規劃任務時,經常需要根據一組指定日期快速判斷所屬季度的起始日與結束日。例如,您可能希望立即取得試算表中每筆交易或事件對應季度的開頭與截止日期。雖然 Excel 未內建直接實現此功能的函數,但有多種實用方法能讓您高效完成這項工作。以下介紹的技巧將協助您流暢地為每個列出的日期計算出精確的季度邊界,確保報表與分析的一致性及準確性。這些方法特別適用於期間彙總、報告截止日設定,以及將資料對齊至會計季度等情境。所提供的解決方案包含靈活的公式與 VBA 程式碼,無論是快速手動處理或批次自動化需求,皆能輕鬆應對。

根據日期計算季度的開始或結束日期

使用公式根據指定日期計算季度開始日期或結束日期
VBA 巨集:自動為一組日期計算並填入季度開始日與結束日期


藍色右向箭頭氣泡使用公式根據指定日期計算季度開始日期或結束日期

若要快速取得任意指定日期所屬季度的開始日或結束日,您可於 Excel 中使用簡潔公式。此方法無需手動查詢,特別適合用於快速參照關鍵時間區間,尤其適用於規模適中的清單。

以下步驟示範如何運用 Excel 公式高效計算季度邊界。此方法適合偏好純公式解、無需 VBA 或外掛程式,且希望結果能隨資料變動自動更新的工作流程。然而,若資料集包含數千筆記錄,或範圍混雜且動態變化,則自動化或腳本方案可能更具擴充性。

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

1. 點選一個空白儲存格(例如,若您的日期位於 A 欄,可選擇 B2),用來顯示季度的起始日期。
2. 輸入下列公式:

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

3. 按下 Enter 確認後,向下拖曳填滿控點(儲存格右下角的小方塊),即可將公式套用至其他列,自動為 A 欄中每個對應日期計算出該季度的開始日期。
提示:請確認您的儲存格參照正確無誤;例如,若日期位於 A2、A3 等位置,請相應調整。建議將結果儲存格格式設為日期,以確保正確顯示。

使用公式計算季度的開始日期

此公式透過提取日期中的年份並計算該季度的起始月份,最終一律傳回該季度的第一天。

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

1. 選取一個空白儲存格(例如 C2),用來顯示季度結束日期。
2. 輸入下列公式:

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

3. 按下 Enter 以套用。接著,沿著您的資料向下拖曳填滿控點,即可為所有列自動計算季度結束日期。
此公式先找出下一季度的第一天,再減去 1 天,精準得出每個日期所屬季度的實際最後一天。

使用公式計算季度的結束日期

若您的工作表包含大量日期,建議將資料轉換為 Excel 表格,讓公式能自動套用至新增的列。同時,請務必將儲存格格式設定為「日期」,以確保結果正確顯示。

注意事項與提示:
- 上述兩種公式皆假設來源日期為有效的 Excel 日期;若日期格式錯誤或以文字形式儲存,可能導致計算錯誤。
- 若顯示為序號而非日期,請透過「設定儲存格格式」對話方塊,將結果儲存格格式設為「短日期」或「長日期」。
- 若結果不符預期,請檢查您的地區日期設定。
- 若您的組織採用財政年度(即季度起始月份非一月),請務必對公式進行自訂調整。

若您遇到不熟悉的 #VALUE! 錯誤,請檢查來源區域是否包含空白或非日期儲存格。若需對多個日期範圍進行大量更新或自動計算,建議採用下方所述的 VBA 巨集方法。


藍色右向箭頭氣泡 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 設定中已啟用巨集,並檢查工作表是否受保護而阻擋新欄位寫入。
- 如需自訂財政年度(例如季度起始月份非一月),請依需求調整程式碼邏輯。

總結來說,兩種方法都能根據您的工作流程產生季度期間的邊界:小型資料或快速參考建議使用公式;大型或重複性任務則推薦透過巨集自動化處理。若遇到問題或結果不確定,請再次確認日期格式與所選範圍是否正確。無論採用手動或自動計算,一致的資料結構皆有助於降低錯誤機率並提升效率。

kutools for excel AI 的螢幕截圖

透過 KUTOOLS AI 解鎖 Excel 的神奇功能

  • 智慧執行:透過簡易指令,輕鬆執行儲存格操作、分析資料,並建立圖表!
  • 自訂公式:打造專屬公式,讓您的工作流程更順暢!
  • VBA 編碼:輕鬆撰寫並套用 VBA 程式碼,立即提升工作效率!
  • 公式解析:輕鬆掌握複雜公式!
  • 文字翻譯:輕鬆打破試算表中的語言隔閡!
運用 AI 驅動的工具強化您的 Excel 能力。立即下載體驗前所未有的高效!

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