Гид по технологиям

Регулярные выражения в Excel: REGEXTEST, REGEXEXTRACT, REGEXREPLACE

10 min read Excel Обновлено 13 Dec 2025
REGEX в Excel: REGEXTEST, REGEXEXTRACT, REGEXREPLACE
REGEX в Excel: REGEXTEST, REGEXEXTRACT, REGEXREPLACE

Таблица Excel с логотипом рядом и функцией 'Regex' над логотипом.

Быстрые ссылки

  • Как использовать REGEXTEST

  • REGEXEXTRACT: найти фрагменты текста

  • Обработка данных с помощью REGEXREPLACE

Регулярные выражения (REGEX) — это шаблоны для поиска и работы с текстом: проверка соответствия, извлечение частей строки и создание новых строк на основе шаблонов. Из-за своей выразительности и множества токенов они могут выглядеть сложными. В этой статье вы найдёте упрощённые объяснения, практические примеры для Excel и готовые шаблоны, которые можно вставить и адаптировать.

Важно: функции REGEX доступны в Excel для подписчиков Microsoft 365 (Windows, Mac и веб). Если у вас старая версия Excel, часть функционала может быть недоступна — в разделе «Альтернативы» описаны обходы.

Ключевые идеи

  • REGEXTEST возвращает TRUE/FALSE для проверки шаблона.
  • REGEXEXTRACT извлекает подстроки по шаблону; возвращает одиночный результат или массив.
  • REGEXREPLACE формирует новую строку, заменяя соответствия на указанный шаблон замены.

Важно: при работе с табличным форматом Excel учтите особенности «спиллов» (spilled arrays). Если вы используете массивные результаты, применяйте формулы в обычных диапазонах, а не в форматированных таблицах.

Как использовать REGEXTEST

Эта функция проверяет, соответствует ли строка заданному шаблону. Возвращает TRUE, если соответствует, и FALSE — если нет. Идеально подходит для валидации форматов: SKU, номера заказа, кодов товара и т. п.

Синтаксис

REGEXTEST(a,b,c)

где

  • a (обязательно) — текст, значение или ссылка на ячейку, которую нужно проверить;
  • b (обязательно) — шаблон регулярного выражения для проверки;
  • c (необязательно) — 0 для чувствительности к регистру, 1 для нечувствительности.

Пример: проверка структуры кода товара

В таблице есть список кодов продуктов, которые должны соответствовать строгой структуре.

Список кодов продуктов в Excel.

Правильный код содержит:

  • обозначение размера в нижнем регистре: “xs”, “s”, “m”, “l”, “xl”;
  • одно- или двузначный код материала;
  • три заглавные буквы — код страны производства;
  • дефис между частями.

В ячейке B2 вводим:

=REGEXTEST([@Code],"[xs|s|m|l|xl]-[0-9]{1,2}-[A-Z]{3}",0)

Пояснения к шаблону:

  • [@Code] — структурная ссылка на столбец с кодами;
  • [xs|s|m|l|xl] — перечисление вариантов для размера (в примере автор использует вертикальную черту как «или»);
  • [0-9]{1,2} — одна или две цифры для кода материала;
  • [A-Z]{3} — ровно три заглавные буквы для кода страны;
  • - — дефисы как разделители;
  • 0 — указание на чувствительность к регистру.

После применения формулы выясняется, что только два кода валидны (TRUE). Ошибки в невалидных кодах: две заглавные буквы вместо трёх, лишняя цифра и использование заглавной буквы для размера.

Результат проверки кодов товара в Excel.

Частые ошибки при использовании REGEXTEST

  • Неправильное использование символьных классов: запись [xs|s|m] не эквивалентна (xs|s|m). В сложных случаях лучше применять явные группы: (xs|s|m|l|xl).
  • Ошибки с экранированием спецсимволов: если символ имеет особое значение (точка, плюс, скобки), его нужно экранировать \. и т. п.
  • Неправильные ожидания по поводу чувствительности к регистру — проверьте аргумент c.

REGEXEXTRACT: извлечение фрагментов текста

Эта функция возвращает части текста в ячейке по шаблону. Полезна для разбиения имени и фамилии, извлечения телефона, кода и т. д.

Синтаксис

REGEXEXTRACT(d,e,f,g)

где

  • d (обязательно) — текст/ссылка, из которого извлекают;
  • e (обязательно) — шаблон для извлечения;
  • f (необязательно) — 0: первый матч; 1: все матчи как массив; 2: группы из первого матча;
  • g (необязательно) — 0: чувствительность к регистру; 1: нечувствительно.

Примечание: в форматированных таблицах Excel массивные результаты (spilled arrays) обрабатываются аккуратно — при использовании f=1 лучше работать в обычных диапазонах.

Пример: разделение имени и телефона

Есть список клиентов, где в ячейке A2 содержатся имя, фамилия и номер телефона. Нужно выделить имя, фамилию и номер в отдельные столбцы.

Список имён и телефонов в Excel.

Для извлечения имён используем в B2:

=REGEXEXTRACT(A2,"[A-Z][a-z]+",1)

Объяснение:

  • [A-Z][a-z]+ — слово, начинающееся с заглавной буквы, за которой следуют строчные буквы; + означает «один или более символов»;
  • аргумент 1 говорит Excel вернуть все совпадения как массив (первое слово — имя, второе — фамилия).

После Enter Excel создаёт спилловый диапазон и извлекает имя и фамилию в B2 и C2.

Имя и фамилия извлечены в отдельные столбцы.

Для телефона используем в D2:

=REGEXEXTRACT(A2,"[0-9()]+ [0-9-]+")

Здесь шаблон разбит на две части:

  • [0-9()]+ — код в скобках (например, (495));
  • пробел;
  • [0-9-]+ — оставшаяся часть номера с дефисами.

Excel извлечёт номер, и формулу можно протянуть вниз.

Телефон извлечён из смешанной строки в Excel.

Альтернативы: для простых случаев Excel предоставляет TEXTSPLIT и Flash Fill; их проще применять, но они менее гибкие при сложных шаблонах.

Обработка данных с помощью REGEXREPLACE

REGEXREPLACE создаёт новую строку на основе шаблона замены. Несмотря на слово “replace” в названии, оригинальная ячейка не изменяется — функция возвращает результат в целевой ячейке.

Синтаксис

REGEXREPLACE(h,i,j,k,l)

где

  • h (обязательно) — исходный текст/ссылка;
  • i (обязательно) — шаблон, который нужно заменить;
  • j (обязательно) — текст замены (может содержать ссылки на группы вида $1, $2);
  • k (необязательно) — номер вхождения для замены (по умолчанию заменяются все);
  • l (необязательно) — 0 для чувствительности к регистру, 1 для нечувствительности.

Пример: перестановка имени и фамилии

Есть столбец с «Имя Фамилия», и нужно получить «Фамилия, Имя».

Список имён и пустой столбец для перевёрнутого варианта.

В B2 вводим:

=REGEXREPLACE([@Client name],"([A-Z][a-z]+) ([A-Z][a-z]+)","$2, $1")

Пояснения:

  • В шаблоне ([A-Z][a-z]+) используются группы, которые улавливают имя и фамилию;
  • В строке замены $2, $1 меняет порядок групп и добавляет запятую с пробелом;
  • Долларовые ссылки $1, $2 относятся к захваченным группам; без $ Excel вернёт буквальные символы 2, 1.

При применении формулы к таблице Excel автоматически заполнит все строки в столбце B.

Полученные две формы имени: исходная и перевёрнутая.

Шпаргалка по основным токенам регулярных выражений

Ниже — практическая карта часто используемых символов. Она ориентирована на типичные задачи в Excel.

ТокенЗначениеПримерОписание
.любой символ (кроме новой строки)a.b → “acb”Подбирает любой одиночный символ
^начало строки^ABCПозиционный якорь: начало строки
$конец строки123$Позиционный якорь: конец строки
[]символьный класс[A-Za-z0-9]Любой символ внутри скобок
[^]отрицание в классе[^0-9]Любой символ, кроме перечисленных
{n,m}квантификатор[0-9]{2,4}от n до m повторений
+один или более[a-z]+по крайней мере один символ
*ноль или болееab*ноль или более b после a
?ноль или одинcolou?rопциональный символ
()группа/захват(ABC)Позволяет ссылаться как $1, $2
альтернативы(catdog)Соответствует cat или dog
\экранирование.()Используется для специальных символов

Примечание: синтаксис регулярных выражений может немного отличаться в разных реализациях. Этот список — для быстрых операций в Excel и общих задач.

Полезные шаблоны (копировать и адаптировать)

  • Электронная почта (упрощённый вариант): [A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}
  • Телефон (пример для формата +7 (999) 123-45-67): \+?\d{1,3} ?\(?\d{1,4}\)?[ -]?\d{1,4}[ -]?\d{1,4}
  • Дата (формат YYYY-MM-DD): \d{4}-\d{2}-\d{2}
  • SKU (пример: ab-12-XYZ): ([a-z]{1,2})-(\d{1,2})-([A-Z]{3})
  • IP-адрес (IPv4, упрощённо): \b(?:\d{1,3}\.){3}\d{1,3}\b

Используйте эти шаблоны как стартовую точку и дорабатывайте под свои данные.

Когда регулярные выражения не подходят

  • Очень большие объёмы данных: сложные регулярные выражения влетают в производительность; рассмотрите парсинг на стороне сервера или Power Query.
  • Сильно нечёткие данные: если структура данных плохо предсказуема, REGEX будет давать много ложных совпадений — лучше ручная проверка или алгоритмы очистки.
  • Задачи, требующие восстановления контекста (семантика): REGEX работает в лексическом пространстве и не «понимает» смысл.

Альтернативные подходы в Excel

  • TEXTSPLIT / TEXTBEFORE / TEXTAFTER — для простого разделения строк по разделителю;
  • Flash Fill — быстр для типовых преобразований при единообразных шаблонах;
  • Power Query — мощный инструмент для сложной очистки и трансформаций с визуальными шагами;
  • Надстройки и скрипты Office Scripts / VBA — если нужно автоматизировать вне формул.

Методология внедрения регулярок в рабочие листы (мини-метод)

  1. Исследуйте данные: выберите репрезентативные примеры и исключения.
  2. Напишите упрощённый паттерн и протестируйте его на паре строк с REGEXTEST.
  3. Разработайте шаблон для REGEXEXTRACT или REGEXREPLACE и проверьте на нескольких строках.
  4. Протестируйте граничные случаи: пустые строки, неожиданные символы, неверный регистр.
  5. Добавьте документированную формулу/шаблон и комментарий в таблице.
  6. Автоматизируйте и мониторьте: при ошибках фиксируйте примеры и корректируйте.

Отладка и советы

  • Используйте REGEXTEST как первый шаг: он быстрее показывает, попадает ли строка в диапазон шаблона.
  • Разбивайте сложные шаблоны на части: сначала проверьте одну группу, затем всё вместе.
  • Для сложных преобразований возьмите режим пошаговой отладки: временные столбцы с промежуточными результатами.
  • Тестируйте с крайними примерами: очень длинными строками, строками с несколькими совпадениями и пустыми ячейками.

Критерии приёмки

  • Все шаблоны покрывают >95% ожидаемых случаев по рабочей выборке (если доступны метрики) или соответствуют принятым правилам формата;
  • Формулы документированы в отдельном столбце или комментарии;
  • Для каждой формулы добавлен тестовый набор примеров с ожидаемым результатом;
  • При изменении источника данных есть план регрессионного тестирования шаблонов.

Ролевые чек-листы перед внедрением

Аналитик данных:

  • Проверить репрезентативность тестовой выборки;
  • Составить набор примеров и антипримеров;
  • Настроить автоматические проверки с REGEXTEST.

Бухгалтер / офисный пользователь:

  • Убедиться, что шаблоны не затрагивают числовые поля и форматирование;
  • Использовать REGEXREPLACE с черновой копией данных;
  • Документировать изменения в колонке комментариев.

Разработчик / инженер данных:

  • Оценить производительность при больших объёмах;
  • Рассмотреть Power Query или серверный парсинг для масштабной обработки;
  • Добавить логирование ошибок и тесты.

Шпаргалка: Ошибки и их исправления

  • Неверный результат (нет совпадений): проверьте экранирование \. и корректность границ ^ и $.
  • Ожидали массив, получили одно значение: проверьте аргумент f в REGEXEXTRACT и формат ячеек (таблица vs обычный диапазон).
  • Замена не срабатывает: убедитесь, что группы в шаблоне захвачены скобками, и что в строке замены используются $1, $2.

Примеры тест-кейсов

  • Ввод: "m-2-UK" — ожидаем результат REGEXTEST = FALSE (только две заглавные буквы в коде страны).
  • Ввод: "xl-714-AUS" — ожидаем FALSE (три цифры в материале вместо 1–2).
  • Ввод: "s-12-USA" — ожидаем TRUE.

Ментальные модели и эвристики

  • “Разбей и проверь”: сначала проверяйте мелкие группы, затем объединяйте.
  • “Чётко задавай границы”: используйте ^ и $ для строгих соответствий, если нужно полное совпадение.
  • “Минимизируй жадность”: для извлечения коротких фрагментов используйте ленивые квантификаторы, если они поддерживаются, или уточняйте класс символов.

Таблица совместимости и миграции

  • Microsoft 365 (Windows, Mac, Web) — поддержка функций REGEX в актуальных выпусках;
  • Старые версии Excel — функции REGEX могут отсутствовать; используйте Power Query, VBA или внешнюю обработку;
  • Google Sheets — имеет собственные функции REGEXMATCH, REGEXEXTRACT, REGEXREPLACE с похожим синтаксисом, но возможны различия в деталях реализации.

Пример рабочего процесса (Mermaid)

flowchart TD
  A[Начало: описать задачу] --> B{Нужна ли проверка формата?}
  B -- Да --> C[Использовать REGEXTEST]
  B -- Нет --> D{Нужно извлечь данные?}
  D -- Да --> E[Использовать REGEXEXTRACT]
  D -- Нет --> F{Нужно преобразовать строки?}
  F -- Да --> G[Использовать REGEXREPLACE]
  F -- Нет --> H[Использовать TEXTSPLIT / Flash Fill / Power Query]
  C --> I[Тест → развернуть на диапазон]
  E --> I
  G --> I
  I --> J[Документировать и мониторить]

Безопасность и конфиденциальность

При обработке персональных данных (телефоны, e‑mail, адреса) убедитесь, что вы соблюдаете внутренние политики безопасности и требования законодательства о защите данных. Регулярные выражения не «маскируют» данные автоматически — для обезличивания применяйте однозначные правила и храните исходные данные в защищённых местах.

Быстрый чек-лист перед публикацией листа с REGEX

  • Сохранить резервную копию исходных данных;
  • Добавить комментарии к основным формулам;
  • Прогнать тестовый набор с граничными примерами;
  • Проверить работу в разных средах (веб/десктоп);
  • Обучить коллег краткому гайду использования и отката.

Резюме

Регулярные выражения в Excel — мощный инструмент для валидации, извлечения и преобразования строк. Начинайте с простых шаблонов, тестируйте через REGEXTEST, извлекайте массивы с REGEXEXTRACT и выполняйте преобразования через REGEXREPLACE. Включайте в рабочие листы документацию, тесты и план отката — это уменьшит риск ошибок и упростит сопровождение.


Регулярные выражения полезны не только в Excel: они пригодятся при очистке вставленного текста из PDF, пакетном переименовании файлов, форматировании валюты, удалении HTML‑тегов и многих других задачах по автоматизации.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Настройки AirPods: обнаружение уха и двойное касание
Гайды

Настройки AirPods: обнаружение уха и двойное касание

Удалить сохранённые Wi‑Fi сети на Mac
Mac

Удалить сохранённые Wi‑Fi сети на Mac

Открыть сайт по расписанию в Windows
Windows

Открыть сайт по расписанию в Windows

Как выделить больше RAM для Roblox
Игры

Как выделить больше RAM для Roblox

Найти ключ восстановления BitLocker в Windows 11
Windows

Найти ключ восстановления BitLocker в Windows 11

Как обрезать видео в Windows 11 — быстро и просто
Видео

Как обрезать видео в Windows 11 — быстро и просто