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

在幾秒內從文字字串提取日期(3 種簡單方法)

作者Xiaoyang修改日期

處理匯入資料、報表,或從電子郵件與文件複製的內容時,日期通常嵌入於長段文字字串中,而非儲存在獨立的儲存格內。若要依日期排序記錄、計算截止日、建立時間軸,或執行其他基於日期的分析,您必須先將這些日期從周圍文字中提取出來。當文本中包含多種日期格式,或同一句子出現多個日期時,這項任務更具挑戰性。本指南將介紹幾種實用方法,協助您在 Excel 中輕鬆從文字字串提取日期。

從文字中提取日期

在 Excel 中從文字字串提取日期

結論


使用公式從文字字串提取日期(Excel 365)

若您使用的是 Excel 365,可善用 TEXTSPLIT、FILTER、LET 與 REGEXTEST 等現代函數,動態提取日期。

  1. 選取一個空白儲存格,作為顯示提取日期的位置。
  2. 輸入下列公式:
    =LET(
    t,A2,
    arr,TEXTSPLIT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(t,","," "),"."," "),":"," "),CHAR(10)," ")," "),
    FILTER(arr,REGEXTEST(arr,"\d{1,4}[-/]\d{1,2}[-/]\d{1,4}"))
    )
  3. 按下 Enter,即可從第一個儲存格取得結果。
  4. 接著,向下拖曳填滿控點,將公式套用至其他儲存格,提取出的日期便會自動填入相鄰儲存格。
    透過公式從文字字串中提取日期

這個公式是如何運作的?

LET(t, A2, ……):
將儲存格 A2 中的文字存入變數 t,讓公式更簡潔、易讀!

SUBSTITUTE(。。。):
將逗號、句號、冒號、換行等標點符號替換為空格,讓文字更容易分割。

TEXTSPLIT(。。。, “ “):
根據空格將清理後的文字分割為多個片段(字詞或區段),並儲存於 arr 中。

REGEXTEST(arr,“\d{1,4}【-/】\d{1,2}【-/】\d{1,4}“):
檢查 arr 中的每個片段是否符合日期格式,例如:03/15/2024 或 2024-05-12.

FILTER(。。。):
僅傳回符合日期格式的內容片段,並自動移除其他不符項目。

優勢

  • 完全動態且自動更新
  • 無需編寫程式碼
  • 可從單一儲存格提取多個日期
  • 直接在 Excel 中運作

限制

  • 需搭配 Excel 365 使用(支援 TEXTSPLIT、FILTER 與 REGEXTEST 等現代函數)。
  • 僅在日期以空格或常見分隔符號(如逗號、句點、冒號或換行符)分隔時,辨識效果最佳。
    若日期直接與其他字元相連(例如 Date(03/15/2026) 或 abc 2026-05-12xyz),可能無法正確分離,導致提取失敗。
  • 無法驗證日期是否符合邏輯。
    正規表示式僅檢查格式,並不會判斷日期本身的正確性。
    例如,以下無效的日期仍可能被誤判為有效:
    99/99/9999、2024-13-40、1234/56/78.
  • 不會標準化日期格式。
    提取結果將保留原始格式(例如 03/15/2024、2024-05-12、12-17-2023)。
  • 可能遺漏部分有效的日期格式。
    僅支援以「/」或「-」作為分隔符的日期。以下格式無法識別:
    2024.05.12、2024 年 3 月 15 日、March 15, 2024、20240512.
    因此,對於下列情況支援有限:包含內嵌空格的日期(例如 2024/06/22)、包覆於複雜標點符號中的日期、真實日期驗證,以及結果格式的一致性。

使用使用者自訂函數從文字字串提取日期

即使無法使用 Excel 365 的功能,您仍可透過建立使用者自訂函數(UDF)達成相同效果。此方法賦予您更精細的控制權,無需仰賴複雜公式,就能輕鬆從混亂或非結構化的文字中提取日期。

請依照下列步驟在 Excel 中建立並使用使用者自訂函數:

  1. 按下 Alt + F11,立即開啟 Visual Basic 編輯器!
  2. 點選插入> 模組 建立新模組。將下列程式碼複製貼上至模組視窗:
    Function ExtractDates(ByVal txt As String) As String
        Dim re As Object
        Dim matches As Object
        Dim m As Object
        Dim result As String
        Set re = CreateObject("VBScript.RegExp")
        With re
            .Global = True
            .IgnoreCase = True
            .Pattern = "(\d{1,4}\s*[-/]\s*\d{1,2}\s*[-/]\s*\d{1,4})"
        End With
        If re.test(txt) Then
            Set matches = re.Execute(txt)
            For Each m In matches
                If result = "" Then
                    result = Trim(m.Value)
                Else
                    result = result & ", " & Trim(m.Value)
                End If
            Next m
        End If
        ExtractDates = result
    End Function
  3. 關閉編輯器並返回工作表。在空白儲存格中輸入下列公式:
    =ExtractDates(A2)
  4. 向下拖曳填滿控點,即可將函數套用至其他儲存格,並自動提取每個儲存格中的所有日期。
    透過 VBA 程式碼從文字字串中提取日期

優勢

  • 從單一儲存格提取多個日期
  • 處理不規則格式(例如日期內部含空格)
  • 比公式更強大且靈活
  • 適用於複雜且混亂的文字資料

限制:

  • 需要具備基本 VBA 知識
  • 檔案必須儲存為 .xlsm 格式
  • 此方法僅支援以「/」或「——」作為分隔符的日期格式;其他格式(例如 2024.05.12、March 15, 2024 或 20240512)可能無法正確識別或提取。
  • 無法驗證日期是否符合邏輯。例如,下列無效值仍可能被識別為日期:
    99/99/9999、2024-13-40、1234/56/78.

使用 KUTOOLS AI 的 Cell Aide 從文字字串提取日期

若您經常處理混亂或非結構化資料,公式往往會迅速變得複雜、難以維護且不可靠——特別是在面對多種或不規則日期格式時。透過 KUTOOLS AI 的 Cell Aide,您只需輸入簡單的自然語言指令,即可輕鬆提取日期——無需公式、無需編碼,更無需擔心格式限制!它能自動辨識各種日期格式,快速解析複雜文字,並在幾秒內提供準確結果,大幅提升工作效率。

KUTOOLS AI 還能辨識「下週一」、「明天」、「三天前」等相對日期表述。

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

下載並安裝 Kutools for Excel 後,請依照下列步驟操作:

  1. 點選 Kutools>KUTOOLS AI>Cells Aide,請參見螢幕截圖:
    按一下以開啟 Kutools AI 功能
  2. Cells AI All-in-One Aide 對話方塊中,指定下列選項:
    1. (1)在源區域範圍框中,選取包含您要處理文字字串的儲存格;
    2. (2)按一下提示詞庫下拉式清單,並選取提取日期作為預先定義的提示。
    3. (3)在提示內容方塊中,根據您的需求檢閱或修改提示。
      例如,您可以指定:
      • 提取所有日期資訊
      • 包含模糊日期,例如「下週一」、「明天」或「3 天前」
      • 將結果轉換為標準格式格式,例如 YYYY-MM-DD
    4. (4)按一下產生按鈕,KUTOOLS AI 將立即分析所選數據,並在右側結果面板中顯示提取出的日期。
      在對話方塊中設定選項
  3. 取得結果後,點選插入至範圍按鈕,並選取一個空白儲存格來放置提取的日期,最後點選確定
    選取一個儲存格以放置結果

結果

所有偵測到的日期(包含標準格式與模糊表述)都會自動提取,並顯示於指定的儲存格中。
透過 Kutools AI 從文字字串中提取日期

優勢

  • 無需公式或編寫程式碼
  • 適用於複雜且不規則的文字
  • 支援自然語言提示
  • 輕鬆提取多個日期

限制

  • 需要安裝 Kutools
  • 可能需要 AI 配置(API 密鑰等)
  • 取決於 AI 解讀的準確度

立即試用 KUTOOLS AI for Excel

運用簡單的自然語言,輕鬆從雜亂的儲存格文字中提取日期、公式、名稱及其他關鍵資訊。KUTOOLS AI 的 Cell Aide 助您更快速處理複雜的 Excel 任務——無需撰寫公式或 VBA 程式碼。


結論

在 Excel 中,從文字字串提取日期有多種方法,具體取決於您的資料複雜度與工作流程需求。本指南將介紹三種高效實用的方法,每種皆有其獨特優勢。

  • 若您使用的是 Excel 365,公式提供了一種動態且內建的解決方案,最適合處理結構化資料與簡單情境。
  • 對於更複雜或不規則的文字,使用者自訂函數(UDF)是更理想的選擇,能提供更高的彈性與掌控力,尤其適用於從單一儲存格中提取多個日期的情境。
  • 若您偏好更快速、更直覺的操作體驗,建議使用 KUTOOLS AI 的 Cell Aide——只需用自然語言,即可輕鬆提取日期,無需公式或編碼。

選擇最適合您情境的方法,即可高效提取並管理文字中的日期資訊,節省寶貴時間,同時提升資料準確性。