РЕГЗАМЕНИТЬ (REGEXREPLACE) в Excel: замена по шаблону
Возможности !SEMTools
↑ Навигация по задачам в Excel и возможностям надстройки !SEMTools ↑

Функция РЕГЗАМЕНИТЬ в Excel заменяет фрагменты текста, подходящие под регулярное выражение: =РЕГЗАМЕНИТЬ(A2;"\d";"") удалит из ячейки все цифры, =РЕГЗАМЕНИТЬ(A2;"\s+";" ") схлопнет повторяющиеся пробелы, а =РЕГЗАМЕНИТЬ(A2;"(\S+) (\S+)";"$2 $1") поменяет два слова местами. В отличие от ПОДСТАВИТЬ, она меняет не конкретный текст, а всё, что подходит под шаблон, и умеет переставлять части найденного через $1, $2. Функция есть в Excel для Microsoft 365, на английском она называется REGEXREPLACE.

Раздел функцийТекстовые
Название на английскомREGEXREPLACE
Версии ExcelExcel для Microsoft 365 (Windows и Mac)
ВолатильностьНе волатильная
Похожие функцииРЕГТЕСТ, РЕГИЗВЛЕЧЬ, ПОДСТАВИТЬ, ЗАМЕНИТЬ

Синтаксис функции РЕГЗАМЕНИТЬ

=РЕГЗАМЕНИТЬ(текст;шаблон;замена;[вхождение];[учет_регистра])
  • текст — ячейка или строка, в которой заменяем;
  • шаблон — регулярное выражение, описывающее, что заменить;
  • замена — новый текст; пустая строка "" удаляет найденное, $1, $2… подставляют группы в скобках;
  • вхождение — необязательный: 0 (по умолчанию) — заменить все совпадения, 2 — только второе, −1 — только последнее;
  • учет_регистра — необязательный: 0 (по умолчанию) — регистр учитывается, 1 — не учитывается.

Шаблоны пишутся в синтаксисе PCRE2, как и в РЕГТЕСТ и РЕГИЗВЛЕЧЬ. Подробнее о символах и квантификаторах — в статье про регулярные выражения в Excel.

Удалить символы по шаблону

Чтобы удалить фрагменты, укажите пустую замену "". Так одной формулой убирают все цифры, всю латиницу, знаки препинания или всё, кроме нужных символов.

Удаление цифр, латиницы, пунктуации
C2=РЕГЗАМЕНИТЬ(A2;"\d";"")
ABC
1ТекстУдаляемРезультат
2Кабель USB-C 2м, арт. 48213!все цифрыКабель USB-C м, арт. !=РЕГЗАМЕНИТЬ(A2;"\d";"")
3Кабель USB-C 2м, арт. 48213!латиницуКабель - 2м, арт. 48213!=РЕГЗАМЕНИТЬ(A3;"[A-Za-z]";"")
4Кабель USB-C 2м, арт. 48213!всё, кроме цифр248213=РЕГЗАМЕНИТЬ(A4;"[^\d]";"")
5Кабель USB-C 2м, арт. 48213!знаки препинанияКабель USBC 2м арт 48213=РЕГЗАМЕНИТЬ(A5;"[^\sA-Za-zА-Яа-яЁё0-9]";"")

[^\d] — любой символ, кроме цифры, поэтому остаются только цифры. [^\sA-Za-zА-Яа-яЁё0-9] — всё, что не пробел, не буква и не цифра: так удаляются дефис, запятая, точка и восклицательный знак. После удаления могут остаться двойные пробелы — уберите их СЖПРОБЕЛЫ.

В английском Excel: =REGEXREPLACE(A2,"\d","")

Пробелы и мусор в данных

Регулярки хорошо чистят выгрузки: схлопывают пробелы любой длины, убирают их только в начале или конце, заменяют переносы строк.

Пробелы
C2=РЕГЗАМЕНИТЬ(A2;"\s+";" ")
ABCD
1ТекстЗадачаРезультатДлина
2 Москва , ул. Ленина все пробелы → один Москва , ул. Ленина =РЕГЗАМЕНИТЬ(A2;"\s+";" ")21=ДЛСТР(C2)
3 Москва , ул. Ленина только по краямМосква , ул. Ленина=РЕГЗАМЕНИТЬ(A3;"^\s+|\s+$";"")22=ДЛСТР(C3)
4 Москва , ул. Ленина пробел перед запятой Москва, ул. Ленина =РЕГЗАМЕНИТЬ(A4;"\s+,";",")26=ДЛСТР(C4)

Исходная строка — 27 символов. \s+ ловит любые пробельные символы подряд, включая табуляцию и перенос строки; по краям при этом остаётся по одному пробелу. ^\s+|\s+$ — «пробелы в начале ИЛИ в конце», а между словами остаются как есть.

В английском Excel: =REGEXREPLACE(A2,"\s+"," ")

Заменить только N-е или последнее вхождение

Четвёртый аргумент выбирает, какое совпадение заменить. Положительное число считает с начала строки, отрицательное — с конца. ПОДСТАВИТЬ тоже умеет менять N-е вхождение, но только конкретного текста и только с начала.

Какое вхождение заменить
C5=РЕГЗАМЕНИТЬ(A5;"-";"_";-1)
ABC
1ТекстВхождениеРезультат
22026-10-22-отчёт-финал0 — все2026_10_22_отчёт_финал=РЕГЗАМЕНИТЬ(A2;"-";"_";0)
32026-10-22-отчёт-финал1 — первое2026_10-22-отчёт-финал=РЕГЗАМЕНИТЬ(A3;"-";"_";1)
42026-10-22-отчёт-финал2 — второе2026-10_22-отчёт-финал=РЕГЗАМЕНИТЬ(A4;"-";"_";2)
52026-10-22-отчёт-финал-1 — последнее2026-10-22-отчёт_финал=РЕГЗАМЕНИТЬ(A5;"-";"_";-1)

Дефисов в строке четыре. 0 заменяет все, 2 — только второй, −1 — последний, между «отчёт» и «финал».

В английском Excel: =REGEXREPLACE(A5,"-","_",-1)

Переставить и переформатировать: группы $1, $2

Части шаблона в круглых скобках запоминаются, и в замене на них ссылаются как $1, $2 и так далее. Так меняют порядок слов, формат даты или телефона без вспомогательных столбцов.

Группы в замене
C3=РЕГЗАМЕНИТЬ(A3;"(\d{2})\.(\d{2})\.(\d{4})";"$3-$2-$1")
ABC
1ИсходноеЗадачаРезультат
2Иванов Пётримя и фамилия местамиПётр Иванов=РЕГЗАМЕНИТЬ(A2;"(\S+) (\S+)";"$2 $1")
322.10.2026дата ДД.ММ.ГГГГ → ГГГГ-ММ-ДД2026-10-22=РЕГЗАМЕНИТЬ(A3;"(\d{2})\.(\d{2})\.(\d{4})";"$3-$2-$1")
49161234567телефон по маске+7 (916) 123-45-67=РЕГЗАМЕНИТЬ(A4;"(\d{3})(\d{3})(\d{2})(\d{2})";"+7 ($1) $2-$3-$4")
5ivan.petrov@mail.ruскрыть часть e-mailiv***@mail.ru=РЕГЗАМЕНИТЬ(A5;"^([^@]{2})[^@]*";"$1***")

Дата в результате — текст «2026-10-22»; такой формат Excel обычно сам распознаёт как дату при вставке значений. В последней строке остаются первые два символа имени, остальное до @ заменяется звёздочками.

В английском Excel: =REGEXREPLACE(A3,"(\d{2})\.(\d{2})\.(\d{4})","$3-$2-$1")

Маскировать данные: опережающая проверка

Опережающая проверка (?=…) позволяет заменить символ, только если за ним что-то следует, не трогая сам «хвост». Классический пример — скрыть номер карты или телефона, кроме последних четырёх цифр.

Скрыть всё, кроме последних 4 цифр
B2=РЕГЗАМЕНИТЬ(A2;"\d(?=(?:\D*\d){4})";"*")
AB
1НомерМаска
24276 1234 5678 9012**** **** **** 9012=РЕГЗАМЕНИТЬ(A2;"\d(?=(?:\D*\d){4})";"*")
39161234567******4567=РЕГЗАМЕНИТЬ(A3;"\d(?=(?:\D*\d){4})";"*")

\d(?=(?:\D*\d){4}) — «цифра, после которой дальше в строке есть ещё минимум четыре цифры». Пробелы и дефисы шаблон пропускает, поэтому формат номера сохраняется.

В английском Excel: =REGEXREPLACE(A2,"\d(?=(?:\D*\d){4})","*")

Без учёта регистра

По умолчанию регистр учитывается: шаблон «ооо» не найдёт «ООО». Пятый аргумент 1 отключает учёт регистра; если вхождение указывать не нужно, оставьте четвёртый аргумент пустым или поставьте 0.

Регистр букв
C3=РЕГЗАМЕНИТЬ(A3;"ооо ";"";0;1)
ABC
1ТекстФормулаРезультат
2ООО Ромашка, ооо Лютик, Ооо Василёкс учётом регистраООО Ромашка, Лютик, Ооо Василёк=РЕГЗАМЕНИТЬ(A2;"ооо ";"")
3ООО Ромашка, ооо Лютик, Ооо Василёкбез учёта регистраРомашка, Лютик, Василёк=РЕГЗАМЕНИТЬ(A3;"ооо ";"";0;1)

С учётом регистра удалилось только «ооо», без учёта — все три варианта написания.

В английском Excel: =REGEXREPLACE(A3,"ооо ","",0,1)

Если РЕГЗАМЕНИТЬ нет в вашем Excel

В Excel 2010–2024 без подписки Microsoft 365 функция возвращает #ИМЯ?. Тот же синтаксис шаблонов и групп $1, $2 поддерживает REGEXREPLACE из бесплатной надстройки !SEMTools: =REGEXREPLACE(A2;"\d";""). Её необязательные аргументы другие: четвёртый — ЛОЖЬ, чтобы заменить только первое совпадение, пятый — ИСТИНА, чтобы не учитывать регистр. Выбрать N-е или последнее вхождение в ней нельзя, а ретроспективная проверка (?<=…) не поддерживается движком VBScript.

Почему РЕГЗАМЕНИТЬ работает не так — частые ошибки

  • #ИМЯ?. Функции нет в вашей версии Excel — используйте REGEXREPLACE из !SEMTools.
  • Заменилось больше, чем нужно. Точка в шаблоне означает любой символ, а * и + жадные. Экранируйте спецсимволы (\.) и используйте ленивые квантификаторы (.*?).
  • $1 вставляется как текст «$1». В шаблоне нет круглых скобок или номер группы больше их количества.
  • Число превратилось в текст. Результат РЕГЗАМЕНИТЬ — всегда текст; для вычислений добавьте -- перед формулой.
  • Ничего не заменилось в другом регистре. Укажите пятый аргумент 1.

Функция РЕГЗАМЕНИТЬ — частые вопросы

Что делает функция РЕГЗАМЕНИТЬ в Excel?

Заменяет все фрагменты текста, подходящие под регулярное выражение: =РЕГЗАМЕНИТЬ(A2;"\d";"") удалит все цифры.

Как РЕГЗАМЕНИТЬ называется на английском?

REGEXREPLACE. Формула =РЕГЗАМЕНИТЬ(A2;"\d";"") в английском Excel — =REGEXREPLACE(A2,"\d","").

Чем РЕГЗАМЕНИТЬ отличается от ПОДСТАВИТЬ?

ПОДСТАВИТЬ меняет конкретный текст, РЕГЗАМЕНИТЬ — всё, что подходит под шаблон: любые цифры, слова определённой формы, пробелы любой длины. Ещё она умеет переставлять части найденного через $1, $2.

Как заменить только последнее вхождение?

Четвёртым аргументом −1: =РЕГЗАМЕНИТЬ(A2;"-";"_";-1).

Как оставить в ячейке только цифры?

Удалите всё, кроме цифр: =РЕГЗАМЕНИТЬ(A2;"\D";"").

Удалить или заменить символы, слова и фрагменты по регулярному выражению прямо в ячейках, без вспомогательных столбцов, можно в пару кликов с !SEMTools — в любой версии Excel.
!SEMTools решает эту и сотни других задач в пару кликов!

Итоги: функция РЕГЗАМЕНИТЬ в Excel

ЗадачаФормула
Удалить цифры=РЕГЗАМЕНИТЬ(A2;"\d";"")
Оставить только цифры=РЕГЗАМЕНИТЬ(A2;"\D";"")
Схлопнуть пробелы=РЕГЗАМЕНИТЬ(A2;"\s+";" ")
Последнее вхождение=РЕГЗАМЕНИТЬ(A2;"-";"_";-1)
Поменять слова местами=РЕГЗАМЕНИТЬ(A2;"(\S+) (\S+)";"$2 $1")
Excel без 365=REGEXREPLACE(A2;"\d";"") (!SEMTools)

Надеюсь, на этой странице вы нашли то, что искали. РЕГЗАМЕНИТЬ заменяет цепочки вложенных ПОДСТАВИТЬ одной формулой: опишите, что найти, — и укажите, на что заменить.

Статьи, где используется РЕГЗАМЕНИТЬ