Функция РЕГЗАМЕНИТЬ в Excel заменяет фрагменты текста, подходящие под регулярное выражение: =РЕГЗАМЕНИТЬ(A2;"\d";"") удалит из ячейки все цифры, =РЕГЗАМЕНИТЬ(A2;"\s+";" ") схлопнет повторяющиеся пробелы, а =РЕГЗАМЕНИТЬ(A2;"(\S+) (\S+)";"$2 $1") поменяет два слова местами. В отличие от ПОДСТАВИТЬ, она меняет не конкретный текст, а всё, что подходит под шаблон, и умеет переставлять части найденного через $1, $2. Функция есть в Excel для Microsoft 365, на английском она называется REGEXREPLACE.
| Раздел функций | Текстовые |
| Название на английском | REGEXREPLACE |
| Версии Excel | Excel для Microsoft 365 (Windows и Mac) |
| Волатильность | Не волатильная |
| Похожие функции | РЕГТЕСТ, РЕГИЗВЛЕЧЬ, ПОДСТАВИТЬ, ЗАМЕНИТЬ |
Синтаксис функции РЕГЗАМЕНИТЬ
=РЕГЗАМЕНИТЬ(текст;шаблон;замена;[вхождение];[учет_регистра])
- текст — ячейка или строка, в которой заменяем;
- шаблон — регулярное выражение, описывающее, что заменить;
- замена — новый текст; пустая строка "" удаляет найденное, $1, $2… подставляют группы в скобках;
- вхождение — необязательный: 0 (по умолчанию) — заменить все совпадения, 2 — только второе, −1 — только последнее;
- учет_регистра — необязательный: 0 (по умолчанию) — регистр учитывается, 1 — не учитывается.
Шаблоны пишутся в синтаксисе PCRE2, как и в РЕГТЕСТ и РЕГИЗВЛЕЧЬ. Подробнее о символах и квантификаторах — в статье про регулярные выражения в Excel.
Удалить символы по шаблону
Чтобы удалить фрагменты, укажите пустую замену "". Так одной формулой убирают все цифры, всю латиницу, знаки препинания или всё, кроме нужных символов.
| A | B | C | |
|---|---|---|---|
| 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","")
Пробелы и мусор в данных
Регулярки хорошо чистят выгрузки: схлопывают пробелы любой длины, убирают их только в начале или конце, заменяют переносы строк.
| A | B | C | D | |
|---|---|---|---|---|
| 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-е вхождение, но только конкретного текста и только с начала.
| A | B | C | |
|---|---|---|---|
| 1 | Текст | Вхождение | Результат |
| 2 | 2026-10-22-отчёт-финал | 0 — все | 2026_10_22_отчёт_финал=РЕГЗАМЕНИТЬ(A2;"-";"_";0) |
| 3 | 2026-10-22-отчёт-финал | 1 — первое | 2026_10-22-отчёт-финал=РЕГЗАМЕНИТЬ(A3;"-";"_";1) |
| 4 | 2026-10-22-отчёт-финал | 2 — второе | 2026-10_22-отчёт-финал=РЕГЗАМЕНИТЬ(A4;"-";"_";2) |
| 5 | 2026-10-22-отчёт-финал | -1 — последнее | 2026-10-22-отчёт_финал=РЕГЗАМЕНИТЬ(A5;"-";"_";-1) |
Дефисов в строке четыре. 0 заменяет все, 2 — только второй, −1 — последний, между «отчёт» и «финал».
В английском Excel: =REGEXREPLACE(A5,"-","_",-1)
Переставить и переформатировать: группы $1, $2
Части шаблона в круглых скобках запоминаются, и в замене на них ссылаются как $1, $2 и так далее. Так меняют порядок слов, формат даты или телефона без вспомогательных столбцов.
| A | B | C | |
|---|---|---|---|
| 1 | Исходное | Задача | Результат |
| 2 | Иванов Пётр | имя и фамилия местами | Пётр Иванов=РЕГЗАМЕНИТЬ(A2;"(\S+) (\S+)";"$2 $1") |
| 3 | 22.10.2026 | дата ДД.ММ.ГГГГ → ГГГГ-ММ-ДД | 2026-10-22=РЕГЗАМЕНИТЬ(A3;"(\d{2})\.(\d{2})\.(\d{4})";"$3-$2-$1") |
| 4 | 9161234567 | телефон по маске | +7 (916) 123-45-67=РЕГЗАМЕНИТЬ(A4;"(\d{3})(\d{3})(\d{2})(\d{2})";"+7 ($1) $2-$3-$4") |
| 5 | ivan.petrov@mail.ru | скрыть часть e-mail | iv***@mail.ru=РЕГЗАМЕНИТЬ(A5;"^([^@]{2})[^@]*";"$1***") |
Дата в результате — текст «2026-10-22»; такой формат Excel обычно сам распознаёт как дату при вставке значений. В последней строке остаются первые два символа имени, остальное до @ заменяется звёздочками.
В английском Excel: =REGEXREPLACE(A3,"(\d{2})\.(\d{2})\.(\d{4})","$3-$2-$1")
Маскировать данные: опережающая проверка
Опережающая проверка (?=…) позволяет заменить символ, только если за ним что-то следует, не трогая сам «хвост». Классический пример — скрыть номер карты или телефона, кроме последних четырёх цифр.
| A | B | |
|---|---|---|
| 1 | Номер | Маска |
| 2 | 4276 1234 5678 9012 | **** **** **** 9012=РЕГЗАМЕНИТЬ(A2;"\d(?=(?:\D*\d){4})";"*") |
| 3 | 9161234567 | ******4567=РЕГЗАМЕНИТЬ(A3;"\d(?=(?:\D*\d){4})";"*") |
\d(?=(?:\D*\d){4}) — «цифра, после которой дальше в строке есть ещё минимум четыре цифры». Пробелы и дефисы шаблон пропускает, поэтому формат номера сохраняется.
В английском Excel: =REGEXREPLACE(A2,"\d(?=(?:\D*\d){4})","*")
Без учёта регистра
По умолчанию регистр учитывается: шаблон «ооо» не найдёт «ООО». Пятый аргумент 1 отключает учёт регистра; если вхождение указывать не нужно, оставьте четвёртый аргумент пустым или поставьте 0.
| A | B | C | |
|---|---|---|---|
| 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) |
Надеюсь, на этой странице вы нашли то, что искали. РЕГЗАМЕНИТЬ заменяет цепочки вложенных ПОДСТАВИТЬ одной формулой: опишите, что найти, — и укажите, на что заменить.
Статьи, где используется РЕГЗАМЕНИТЬ
- Извлечь числа из текста ячеек в Excel
- Удалить знаки препинания в Excel
- Как разделить текст и цифры в Excel
- Кавычки-ёлочки в Excel
- Парсинг сайтов в Excel
- Регулярные выражения в Excel
- Удалить слова по их содержимому
- Удалить латиницу из текста в Excel
- Удалить цифры из текста в ячейках Excel
- Удалить последний символ / N символов в конце ячеек Excel