KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Извлечение дат из текстовых строк за секунды (3 простых способа)

АвторСяоянДата изменения

При работе с импортированными данными, отчётами или текстом, скопированным из писем и документов, даты часто оказываются встроены в длинные текстовые строки вместо того, чтобы располагаться в отдельных ячейках. Чтобы сортировать записи по дате, рассчитывать сроки, строить временные шкалы или проводить другой анализ на основе дат, сначала необходимо извлечь эти даты из окружающего текста. Это может быть непросто, особенно если текст содержит разные форматы дат или несколько дат в одном предложении. В этом руководстве мы рассмотрим несколько практических методов извлечения дат из текстовых строк в 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) или abc2026-05-12xyz), она может быть распознана некорректно и не будет извлечена.
  • Не проверяет логическую корректность даты.
    Регулярное выражение анализирует только формат, а не реальную валидность даты.
    Например, следующие некорректные значения всё равно могут быть распознаны как даты:
    99/99/9999, 2024-13-40, 1234/56/78.
  • Не приводит формат даты к единому стандарту.
    Извлечённые результаты сохраняют исходные форматы (например, 03/15/2024, 2024-05-12, 12-17-2023).
  • Может пропускать некоторые допустимые форматы дат.
    Поддерживаются только даты с разделителями «/» или «-». Форматы, подобные следующим, не распознаются:
    2024,05.12, 15 Mar 2024, 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.

Извлечение дат из текстовых строк с помощью Cell Aide от KUTOOLS AI

Если вы часто работаете с неструктурированными или «грязными» данными, формулы быстро превращаются в сложные, трудно поддерживаемые и ненадёжные конструкции — особенно при работе с несколькими или нестандартными форматами дат. С помощью Cell Aide от KUTOOLS AI вы можете извлекать даты с помощью простых инструкций на естественном языке — без формул, без программирования и без необходимости беспокоиться об ограничениях форматов. Инструмент автоматически распознаёт различные шаблоны дат, легко справляется со сложным текстом и выдаёт точные результаты всего за несколько секунд, значительно повышая вашу эффективность.

KUTOOLS AI также распознаёт даты, включая относительные выражения вроде «следующий понедельник», «завтра» и «3 дня назад».

Kutools для Excelпредлагает более 300 расширенных функций для упрощения сложных задач, повышая креативность и эффективность.Интегрирован с возможностями ИИ, Kutools автоматизирует задачи с высокой точностью, делая управление данными простым и удобным.Подробная информация о Kutools для Excel…         Бесплатная пробная версия…

После загрузки и установки Kutools для Excel выполните следующие действия:

  1. Выберите Kutools > KUTOOLS AI > Cells Aide. См. скриншот:
    щелкните, чтобы открыть функцию Kutools AI
  2. В диалоговом окне Cells AI All-in-One Aideукажите следующие параметры:
    1. (1) В поле диапазона Исходный диапазонвыберите ячейки, содержащие текстовые строки, которые необходимо обработать;
    2. (2) Нажмите раскрывающийся список Библиотека подсказоки выберите предустановленный запрос «Извлечь дату».
    3. (3) В поле «Содержимое запроса» просмотрите или измените запрос в соответствии с вашими потребностями.
      Например, вы можете указать:
      • Извлеките всю информацию о датах
      • Включая неопределённые даты, такие как «следующий понедельник», «завтра» или «3 дня назад»
      • Преобразуйте результаты в формат Стандартный формат, например ГГГГ-ММ-ДД
    4. (4) Нажмите кнопку «Сгенерировать». KUTOOLS AI проанализирует выбранные данные и отобразит извлечённые даты на панели результатов справа.
      настройка параметров в диалоговом окне
  3. После получения результата нажмите кнопку Вставить в диапазон, выберите пустую ячейку для размещения извлечённых дат и нажмите OK.
    выберите ячейку для размещения результата

Результат

Все обнаруженные даты — включая стандартные и неопределённые выражения — будут извлечены и отображены в указанных ячейках.
извлечение даты из текстовой строки с помощью Kutools AI

Преимущества

  • Не требует формул или программирования
  • Работает со сложными и нестандартными текстами
  • Поддерживает естественно-языковые запросы
  • Легко извлекает несколько дат

Ограничения

  • Требуется установка Kutools
  • Может потребоваться Конфигурация ИИ (Ключ API и т.д.)
  • Зависит от точности интерпретации ИИ

Попробуйте KUTOOLS AI для Excel уже сегодня

Извлекайте даты, формулы, имена и другую ключевую информацию из неструктурированного текста в ячейках с помощью простых запросов на естественном языке. Cell Aide от KUTOOLS AI ускоряет решение сложных задач в Excel — без необходимости писать формулы или код VBA.


Заключение

Извлечь даты из текстовых строк в Excel можно несколькими способами — всё зависит от сложности ваших данных и требований рабочего процесса. В этом руководстве мы рассмотрели три эффективных метода, каждый со своими преимуществами.

  • Если вы используете Excel 365, формулы предлагают динамическое и встроенное решение, идеально подходящее для структурированных данных и простых сценариев.
  • Для более сложного или неструктурированного текста лучше подходит пользовательская функция (UDF). Она обеспечивает большую гибкость и контроль, особенно при извлечении нескольких дат из одной ячейки.
  • Если вы цените скорость и удобство, воспользуйтесь Cell Aide от KUTOOLS AI: извлекайте даты с помощью естественного языка — без формул и программирования.

Выбрав метод, наиболее подходящий именно для вашей ситуации, вы сможете эффективно извлекать и управлять информацией о датах в тексте — экономя время и повышая точность данных.