Регулярные выражения (RegEx) в Excel: новые функции и интеграция с ПРОСМОТРХ (XLOOKUP)
Регулярные выражения (RegEx) — мощный инструмент для работы с текстовыми шаблонами — теперь доступны прямо в Excel. Эта функция открывает новые возможности для обработки, очистки и извлечения данных, особенно при работе с неструктурированной информацией.
Три новые функции — REGEXTEST, REGEXEXTRACT и REGEXREPLACE — позволяют проверять, извлекать и заменять текст по сложным шаблонам. Более того, RegEx теперь интегрирован в ПРОСМОТРХ (XLOOKUP) и ПОИСКПОЗX (XMATCH), что делает поиск данных невероятно гибким.
Новые функции RegEx в Excel
Excel представил три основные функции для работы с регулярными выражениями:
REGEXTEST(текст, шаблон)— проверяет, соответствует ли текст заданному шаблону, возвращаяИСТИНА (TRUE)илиЛОЖЬ (FALSE).REGEXEXTRACT(текст, шаблон, [режим_возврата], [режим_совпадения])— извлекает часть текста, соответствующую шаблону.REGEXREPLACE(текст, шаблон, замена, [режим_совпадения])— заменяет текст, соответствующий шаблону, на указанную строку.
Проверка шаблонов с REGEXTEST
Функция REGEXTEST идеально подходит для быстрой проверки наличия определённых символов или паттернов в ячейке. Например, чтобы проверить, содержит ли текст цифры, используйте:
=REGEXTEST(А2, "\d") (=REGEXTEST(A2, "\d"))
Эта формула вернёт ИСТИНА (TRUE), если в ячейке A2 есть хотя бы одна цифра. Её можно комбинировать с ФИЛЬТР (FILTER) для фильтрации строк по шаблону.
Извлечение данных с REGEXEXTRACT
REGEXEXTRACT позволяет извлекать конкретные данные из строки. Например, чтобы получить первое число из текста:
=REGEXEXTRACT(А2, "\d+") (=REGEXEXTRACT(A2, "\d+"))
Здесь \d означает цифру, а + — одну или несколько цифр. Для извлечения нескольких групп (например, ширины и высоты из строки «1280x720») используйте скобки:
=REGEXEXTRACT(А2, "(\d+)x(\d+)", 2) (=REGEXEXTRACT(A2, "(\d+)x(\d+)", 2))
Замена текста с REGEXREPLACE
Функция REGEXREPLACE полезна для маскировки или очистки данных. Например, чтобы скрыть часть номера социального страхования:
=REGEXREPLACE(А2, "\d{3}-\d{2}", "***-**") (=REGEXREPLACE(A2, "\d{3}-\d{2}", "***-**"))
Основы синтаксиса RegEx
Вам не нужно быть программистом, чтобы освоить RegEx. Вот краткий справочник по основным конструкциям:
- Символы:
.— любой символ;\.— точка. - Наборы символов:
[abc]— a, b или c;[A-Z]— любая заглавная буква. - Начало и конец:
^— начало строки;$— конец строки. - Квантификаторы:
*— ноль или более раз+— один или более раз?— ноль или один раз{3}— ровно три раза{2,4}— от двух до четырёх раз
- Специальные классы:
\d— цифра;\w— буква или цифра;\s— пробельный символ.
Практический пример: очистка неразрывных пробелов
Данные, импортированные из веб-источников, часто содержат неразрывные пробелы (ASCII 160), которые не удаляются функцией СЖПРОБЕЛЫ (TRIM)(). Используйте RegEx для их очистки:
=REGEXREPLACE(А2, "\s", " ") (=REGEXREPLACE(A2, "\s", " "))
Эта формула заменяет все пробельные символы (включая неразрывные пробелы) на обычные пробелы.
RegEx в ПРОСМОТРХ (XLOOKUP) и ПОИСКПОЗX (XMATCH)
Теперь RegEx можно использовать в функциях поиска! В ПРОСМОТРХ (XLOOKUP) и ПОИСКПОЗX (XMATCH) появился новый режим совпадения — 3 (RegEx ПОИСКПОЗ (Match)).
Пример: поиск записей по частичному совпадению почтового индекса. Вы можете динамически создавать шаблоны для разных регионов, используя ВЫБОР (CHOOSE)() или таблицы подстановки.
Заключение
Регулярные выражения — один из самых мощных инструментов, добавленных в Excel за последние годы. Они позволяют эффективно обрабатывать, очищать и извлекать данные, а интеграция с ПРОСМОТРХ (XLOOKUP) и ПОИСКПОЗX (XMATCH) делает поиск невероятно гибким. Освоение RegEx требует практики, но результат — значительное повышение производительности и новые возможности для работы с текстом.