Skip to main content

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

如何在 Excel 中篩選出今天之前或之後的所有日期單元格?

Author Xiaoyang Last modified

在本文中,我們將逐步探討如何在 Excel 工作表中篩選出今天之前或之後的所有日期單元格。管理與分析時間敏感的數據是一個常見的需求,特別是在處理日誌、排程、項目時間表或追蹤截止日期時。透過日期進行有效篩選可以讓您專注於特定時間內相關的記錄,從而提升工作流程和決策的準確性。


使用篩選功能篩選出今天之前或之後的所有日期單元格

Excel 的內建篩選功能提供了一種簡單的方法來識別並顯示今天之前或之後的日期。這種方法直觀且不需要任何公式或 VBA 程式碼,非常適合希望快速篩選當前資料集而不使用公式或 VBA 的用戶。

1. 選擇包含日期的列,然後前往「資料」標籤並點擊功能區上的「篩選」。您應該會看到每個列標題旁出現篩選箭頭,如下所示:

a screenshot of enabling the Filter function

2. 點擊日期列標題的下拉箭頭。將滑鼠懸停在「日期篩選器」上,然後根據需求選擇「之前」「之後」。例如,選擇「之前」以找到早於今天的日期。

a screenshot of specifying the filter condition

3自訂自動篩選 對話框中,點擊 日期提取器 a screenshot of a calendar icon 圖示以打開日曆。點擊 今天 按鈕以快速設定今天的日期。

a screenshot of picking today's date in the calendar

4. 點擊「確定」。Excel 將篩選您的數據,僅顯示符合指定條件(今天之前或之後)的行,如下所示:

a screenshot showing the original data and the filtered data

此方法對於中等大小的表格效率很高且易於使用,因為不需要高級技能。然而,如果您的數據更新或條件改變,則需要手動重複該過程。

⚠️ 注意:如果您的日期列包含文字或未格式化為正確的 Excel 日期,則「日期篩選器」下的篩選選項可能不會出現。


使用 VBA 程式碼篩選出今天之前或之後的所有日期單元格

如果您需要反覆篩選數據或希望針對大型數據集自動化此過程,使用 VBA 程式碼是一種非常實用的方法。對於分析師、報告自動化或任何經常需要根據今天的日期篩選的工作流程來說,這尤其有用。使用 VBA,您可以一鍵應用篩選,避免重複的手動篩選操作。請注意,使用 VBA 將要求您以支持宏的方式保存工作簿(.xlsm 格式),並且某些用戶可能由於宏安全設置而無法訪問。

1. 按住 ALT + F11 鍵以打開 Microsoft Visual Basic for Applications 視窗。

2. 在編輯器中,點擊「插入」>模組,然後將以下程式碼之一粘貼到模組窗口中。

VBA 程式碼:篩選出今天之前的所有日期單元格:

Sub FilterDateBeforeToday()
    Dim xLastRow As Long
    Dim xRg As Range
    On Error Resume Next
    Set xRg = Application.InputBox("Please select filtered column:", "KuTools for Excel", Selection.Address, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    ActiveSheet.AutoFilterMode = False
    If xRg.Count = 1 Then Set xRg = xRg.CurrentRegion
    xRg.AutoFilter 1, "<" & CDbl(Date)
    Application.ScreenUpdating = True
End Sub

VBA 程式碼:篩選出今天之後的所有日期單元格:

Sub FilterDateAfterToday()
    Dim xLastRow As Long
    Dim xRg As Range
    On Error Resume Next
    Set xRg = Application.InputBox("Please select filtered column:", "KuTools for Excel", Selection.Address, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    ActiveSheet.AutoFilterMode = False
    If xRg.Count = 1 Then Set xRg = xRg.CurrentRegion
    xRg.AutoFilter 1, ">" & CDbl(Date)
    Application.ScreenUpdating = True
End Sub

3. 複製並粘貼以上程式碼之一後,按下 F5 鍵運行程式碼。將出現一個提示框,允許您選擇包含日期的範圍或列。務必僅選擇相關的數據範圍,並確保您的日期為正確的 Excel 日期格式,以避免程式碼錯誤。

a screenshot of selecting the date range after running the VBA code

4. 點擊「確定」執行篩選。根據所選程式碼,所有日期在今天之前或之後的行將自動顯示,其他所有行將被隱藏。

⚠️ 注意:基於 VBA 的篩選最大限度地減少用戶交互,並且適用於簡單和高級需求。但是,在應用 VBA 之前始終要保存數據,並仔細檢查所選範圍,以免意外篩選掉重要的行。如果遇到錯誤,請確保所有日期值均為有效日期——非日期條目可能會導致宏故障。為了持續方便,考慮將宏分配給按鈕以便一鍵篩選。


使用 Excel 公式輔助列篩選出今天之前或之後的所有日期單元格

另一個多用途解決方案是添加一個帶有 Excel 公式的輔助列來標記今天之前或之後的日期。此方法在定義和調整篩選條件方面提供了極大的靈活性,特別適合於動態表格、複雜篩選或當您希望進一步分析標記數據時。與原地篩選不同,輔助列方法可讓您視覺化地標記行,然後應用 Excel 的篩選工具獲取更多自定義控制。此技術易於實現,並非常適合於追蹤截止日期、逾期任務或監控即將到來的事件。

1. 在日期列旁插入一個新列。假設您的日期位於 A 列,從 A2 區域開始。在新的輔助列(假設為 B 列)中,在 B2 填入以下公式以標記今天之前的日期:

=A2<TODAY()

該公式將返回 TRUE 表示今天之前的日期,否則返回 FALSE

如果您想標記今天之後的日期(即未來的日期),請在 B2 使用以下版本:

=A2>TODAY()

2. 將公式向下拖動至輔助列以評估數據集中的所有行。如果數據從第 2 行開始,只需選擇 B2,將游標移動到右下角直到它變成小黑加號,然後雙擊以自動填充所有行。

3. 現在,輔助列中每行都會顯示 TRUEFALSE。選擇新輔助列的標題並從「數據」標籤啟用篩選(如果尚未啟用)。點擊下拉箭頭並按 TRUE 篩選,以僅查看符合條件的行(根據所使用的公式,今天之前或之後)。

💡 提示:為避免混淆,請根據篩選邏輯為輔助列命名,例如「Before_Today」或「After_Today」。如果您需要按特定條件篩選(例如,僅在移動窗口內的日期),請根據需要調整公式。始終檢查您的日期列是否僅包含有效的 Excel 日期,因為空白或非日期條目可能會影響 TRUE/FALSE 的結果。

ℹ️ 附加說明:

• 這種基於公式的篩選方法在查看、排序或進一步分析數據時特別有用,而且不會丟失原始信息。它還支持基於 TRUE/FALSE 值的靈活條件格式和匯總計算,儘管需要額外的一列。這種方法的透明性和可重用性通常超過了這一小小的不便。

• 如果您的表格經常更新,只需在新增行時重新應用或延長公式即可。如果排序或篩選未如預期工作,請仔細檢查日期列中是否有空白或不一致的條目,並根據需要重新計算輔助公式(如果計算設置為手動,則點擊「公式」>「立即計算」)。


最佳 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 天全功能試用 — 無需註冊、無需信用卡
  • 最超值 — 一次購買,節省單獨外掛費用