Процедуры из статьи доступны в !SEMTools Lite и Pro.
Извлечь дату из текста в Excel нужно, когда она спрятана внутри строки: «Договор от 12.03.2025 № 45», «Счёт 2025-10-28», выгрузка банка или CRM. Короткий ответ для Excel 365: =РЕГИЗВЛЕЧЬ(A2;"\d{2}[./-]\d{2}[./-]\d{4}"). В остальных версиях выручат готовые процедуры с шаблонами дат, которые достают дату прямо на месте.
Извлечь дату из текста регулярным выражением
Дата в тексте — это шаблон: две цифры, разделитель, две цифры, разделитель, четыре цифры. Такие шаблоны описывают регулярные выражения. В Excel 365 есть функция РЕГИЗВЛЕЧЬ (REGEXEXTRACT):
=РЕГИЗВЛЕЧЬ(A2;"\d{2}[./-]\d{2}[./-]\d{4}")
Формула находит в A2 первую дату вида ДД.ММ.ГГГГ с точкой, косой чертой или дефисом. Для формата ГГГГ-ММ-ДД шаблон меняется на «\d{4}[./-]\d{2}[./-]\d{2}». В Excel 2010–2021 та же функция есть в бесплатной версии !SEMTools под именем REGEXEXTRACT.
| A | B | |
|---|---|---|
| 1 | Текст | Дата |
| 2 | Договор от 12.03.2025 № 45 | 12.03.2025=РЕГИЗВЛЕЧЬ(A2;"\d{2}[./-]\d{2}[./-]\d{4}") |
| 3 | Счёт 2025-10-28, оплатить до 2025-11-05 | #Н/Д=РЕГИЗВЛЕЧЬ(A3;"\d{2}[./-]\d{2}[./-]\d{4}") |
| 4 | Поставка 01/09/2024 | 01/09/2024=РЕГИЗВЛЕЧЬ(A4;"\d{2}[./-]\d{2}[./-]\d{4}") |
| 5 | Акт 15-07-2025 | 15-07-2025=РЕГИЗВЛЕЧЬ(A5;"\d{2}[./-]\d{2}[./-]\d{4}") |
| 6 | С 01.10.2025 по 31.10.2025 | 01.10.2025=РЕГИЗВЛЕЧЬ(A6;"\d{2}[./-]\d{2}[./-]\d{4}") |
| 7 | Версия 1.02.2025 | #Н/Д=РЕГИЗВЛЕЧЬ(A7;"\d{2}[./-]\d{2}[./-]\d{4}") |
«2025-10-28» шаблон ДД.ММ.ГГГГ не находит, для него нужен второй шаблон; «1.02.2025» с одной цифрой дня не находит ни один.
Превратить извлечённую дату в настоящую
Результат регулярки — текст. Чтобы считать и сортировать, переведите его в дату: =ДАТАЗНАЧ(B2) (функция ДАТАЗНАЧ) понимает «12.03.2025» в русской версии Excel. Даты через косую черту и дефис надёжнее пересобрать: =ДАТА(ПРАВСИМВ(B2;4);ПСТР(B2;4;2);ЛЕВСИМВ(B2;2)). Другой путь — «Данные» → «Текст по столбцам» → формат «ДМГ».
Без регулярных выражений: ПСТР и ПОИСК
Если дата всегда стоит после одних и тех же слов («от », «Срок: »), её можно вырезать функциями ПСТР и ПОИСК: =ПСТР(A2;ПОИСК("от ";A2)+3;10). Способ хрупкий: стоит в тексте появиться «от» раньше даты — и формула вернёт мусор.
Извлечь даты из текста в 2 клика
В !SEMTools есть два готовых шаблона: «ИЗВЛЕЧЬ» → «Символы» → «По REGEX-паттерну» → «Готовые паттерны:» → «Даты» → «в формате DDMMYYYY» или «в формате YYYYMMDD». Выделите столбец с текстом и нажмите нужный: в ячейках останутся только даты.
- DDMMYYYY находит ДД.ММ.ГГГГ, ДД/ММ/ГГГГ и ДД-ММ-ГГГГ; YYYYMMDD — ГГГГ-ММ-ДД, ГГГГ.ММ.ДД и ГГГГ/ММ/ДД.
- День и месяц должны быть двузначными, год — начинаться на 1 или 2. «1.02.2025» не найдётся.
- Из ячейки берётся первая дата: из «С 01.10.2025 по 31.10.2025» останется 01.10.2025. Время после даты отбрасывается.
- Ячейки без даты становятся пустыми. Результат — текст, его можно перевести в дату способами из раздела выше.
- Текст меняется на месте: если исходные строки нужны, обработайте копию столбца. В бесплатной версии обрабатывается часть ячеек.
Если нужно не извлечь, а найти строки с датами или удалить даты из текста, те же регулярные выражения работают в процедурах поиска и удаления, см. регулярные выражения в Excel.
Почему дата из текста не извлекается
- Дата с одной цифрой дня или месяца («1.2.2025»). Расширьте шаблон: «\d{1,2}[./-]\d{1,2}[./-]\d{4}».
- Год из двух цифр («12.03.25»). Шаблон с \d{4} его не видит; используйте «\d{2}[./-]\d{2}[./-]\d{2,4}» и проверьте результат.
- После перевода в дату день и месяц поменялись местами. Дата в тексте была американской (ММ/ДД/ГГГГ): соберите её через ДАТА, указав части в правильном порядке.
- РЕГИЗВЛЕЧЬ нет в списке функций. Она есть только в Excel 365; в других версиях используйте REGEXEXTRACT из !SEMTools.
Дата из текста: частые вопросы
Как вытащить дату из текста в Excel?
В Excel 365 — формулой =РЕГИЗВЛЕЧЬ(A2;"\d{2}[./-]\d{2}[./-]\d{4}"). Во всех версиях — готовым паттерном !SEMTools «Даты в формате DDMMYYYY».
Как извлечь несколько дат из одной ячейки?
РЕГИЗВЛЕЧЬ с третьим аргументом 1 вернёт все совпадения; готовые паттерны !SEMTools берут только первую дату.
Как превратить извлечённый текст в дату?
Функцией ДАТАЗНАЧ или через «Данные» → «Текст по столбцам» с форматом ДМГ.
Достать даты, e-mail, телефоны и домены из текста по готовым шаблонам, прямо в исходных ячейках и без регулярок: !SEMTools.
!SEMTools решает эту и сотни других задач в пару кликов!
Итоги: как извлечь дату из текста
Надеюсь, вы нашли здесь то, что искали, и смогли извлечь дату из текста. В Excel 365 хватает РЕГИЗВЛЕЧЬ, в других версиях — готовых паттернов, а результат потом переводится в настоящую дату. Из полученной даты можно вытащить её части: день из даты, месяц из даты, год из даты, день недели по дате, первый день месяца, последний день месяца, номер недели, квартал по дате, номер дня в году, високосный ли год. Все способы собраны в разделе извлечь из даты в Excel.
