Функция РЕГТЕСТ в Excel проверяет, подходит ли текст под регулярное выражение, и возвращает ИСТИНА или ЛОЖЬ: =РЕГТЕСТ(A2;"\d") покажет, есть ли в ячейке хотя бы одна цифра, а =РЕГТЕСТ(A2;"^\d{10}$") — состоит ли она ровно из 10 цифр. Это удобнее, чем ПОИСК и СЧЁТЕСЛИ со звёздочками: шаблон описывает не конкретный текст, а его форму — «телефон», «e-mail», «слово с латиницей». Функция есть только в Excel для Microsoft 365, на английском она называется REGEXTEST.
| Раздел функций | Текстовые |
| Название на английском | REGEXTEST |
| Версии Excel | Excel для Microsoft 365 (Windows и Mac) |
| Волатильность | Не волатильная |
| Похожие функции | РЕГИЗВЛЕЧЬ, РЕГЗАМЕНИТЬ, ПОИСК, СОВПАД |
Синтаксис функции РЕГТЕСТ
=РЕГТЕСТ(текст;шаблон;[учет_регистра])
- текст — ячейка или строка, которую проверяем;
- шаблон — регулярное выражение в кавычках;
- учет_регистра — необязательный: 0 (по умолчанию) — регистр учитывается, 1 — не учитывается.
Функция ищет совпадение в любом месте текста. Чтобы проверить ячейку целиком, привяжите шаблон к началу и концу строки знаками ^ и $. Синтаксис шаблонов — PCRE2, общий для всех трёх функций регулярных выражений Excel; шпаргалка по символам есть в статье про регулярные выражения в Excel.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Текст | Шаблон | Регистр | Результат | Что проверяем |
| 2 | Москва, ул. Тверская 12 | \d | 0 | ИСТИНА=РЕГТЕСТ(A2;B2;C2) | есть цифра |
| 3 | Москва, ул. Тверская 12 | ^[А-ЯЁ] | 0 | ИСТИНА=РЕГТЕСТ(A3;B3;C3) | начинается с заглавной |
| 4 | Москва, ул. Тверская 12 | [a-zA-Z] | 0 | ЛОЖЬ=РЕГТЕСТ(A4;B4;C4) | есть латиница |
| 5 | Москва, ул. Тверская 12 | москва | 0 | ЛОЖЬ=РЕГТЕСТ(A5;B5;C5) | с учётом регистра |
| 6 | Москва, ул. Тверская 12 | москва | 1 | ИСТИНА=РЕГТЕСТ(A6;B6;C6) | без учёта регистра |
| 7 | Москва, ул. Тверская 12 | ^\d+$ | 0 | ЛОЖЬ=РЕГТЕСТ(A7;B7;C7) | только цифры |
Шаблон можно хранить в ячейке — так удобно подбирать его, меняя одну ячейку. «москва» с учётом регистра не найдена, без учёта — найдена. ^\d+$ требует, чтобы вся строка состояла из цифр.
В английском Excel: =REGEXTEST(A2,B2,C2)
Проверка формата: телефон, e-mail, ИНН
Главная сила РЕГТЕСТ — проверка того, что данные введены по правилам. Шаблоны с ^ и $ сравнивают ячейку целиком, поэтому лишний символ в начале или в конце тоже считается ошибкой.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Значение | Телефон? | E-mail? | ИНН? |
| 2 | +7 916 123-45-67 | ИСТИНА=РЕГТЕСТ(A2;"^\+7 \d{3} \d{3}-\d{2}-\d{2}$") | ЛОЖЬ=РЕГТЕСТ(A2;"^[\w.+-]+@[\w-]+(\.[\w-]+)+$") | ЛОЖЬ=РЕГТЕСТ(A2;"^(\d{10}|\d{12})$") |
| 3 | 8 (916) 123-45-67 | ЛОЖЬ=РЕГТЕСТ(A3;"^\+7 \d{3} \d{3}-\d{2}-\d{2}$") | ЛОЖЬ=РЕГТЕСТ(A3;"^[\w.+-]+@[\w-]+(\.[\w-]+)+$") | ЛОЖЬ=РЕГТЕСТ(A3;"^(\d{10}|\d{12})$") |
| 4 | info@semtools.guru | ЛОЖЬ=РЕГТЕСТ(A4;"^\+7 \d{3} \d{3}-\d{2}-\d{2}$") | ИСТИНА=РЕГТЕСТ(A4;"^[\w.+-]+@[\w-]+(\.[\w-]+)+$") | ЛОЖЬ=РЕГТЕСТ(A4;"^(\d{10}|\d{12})$") |
| 5 | info@semtools | ЛОЖЬ=РЕГТЕСТ(A5;"^\+7 \d{3} \d{3}-\d{2}-\d{2}$") | ЛОЖЬ=РЕГТЕСТ(A5;"^[\w.+-]+@[\w-]+(\.[\w-]+)+$") | ЛОЖЬ=РЕГТЕСТ(A5;"^(\d{10}|\d{12})$") |
| 6 | 7707083893 | ЛОЖЬ=РЕГТЕСТ(A6;"^\+7 \d{3} \d{3}-\d{2}-\d{2}$") | ЛОЖЬ=РЕГТЕСТ(A6;"^[\w.+-]+@[\w-]+(\.[\w-]+)+$") | ИСТИНА=РЕГТЕСТ(A6;"^(\d{10}|\d{12})$") |
| 7 | 77070838931 | ЛОЖЬ=РЕГТЕСТ(A7;"^\+7 \d{3} \d{3}-\d{2}-\d{2}$") | ЛОЖЬ=РЕГТЕСТ(A7;"^[\w.+-]+@[\w-]+(\.[\w-]+)+$") | ЛОЖЬ=РЕГТЕСТ(A7;"^(\d{10}|\d{12})$") |
Телефон — строго в виде +7 999 999-99-99; e-mail — имя, @ и домен хотя бы с одной точкой; ИНН — 10 или 12 цифр. Такие формулы удобно ставить в проверку данных: Данные → Проверка данных → Другой, чтобы Excel не давал ввести значение в неверном формате.
В английском Excel: =REGEXTEST(A2,"^\+7 \d{3} \d{3}-\d{2}-\d{2}$")
РЕГТЕСТ в условиях, фильтрах и подсчёте
РЕГТЕСТ возвращает логическое значение, поэтому её вставляют в ЕСЛИ, считают через двойной минус и передают в ФИЛЬТР. Если первым аргументом указать диапазон, функция вернёт массив ИСТИНА/ЛОЖЬ для каждой ячейки.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Товар | Пометка | Задача | Результат | |
| 2 | Чехол iPhone 15 | латиница=ЕСЛИ(РЕГТЕСТ(A2;"[a-zA-Z]");"латиница";"") | Сколько с латиницей | 2=СУММПРОИЗВ(--РЕГТЕСТ(A2:A6;"[a-zA-Z]")) | |
| 3 | чехол для телефона | =ЕСЛИ(РЕГТЕСТ(A3;"[a-zA-Z]");"латиница";"") | С цифрами (ФИЛЬТР) | Чехол iPhone 15=ФИЛЬТР(A2:A6;РЕГТЕСТ(A2:A6;"\d")) | |
| 4 | Кабель USB-C | латиница=ЕСЛИ(РЕГТЕСТ(A4;"[a-zA-Z]");"латиница";"") | зарядка 20 Вт | ||
| 5 | зарядка 20 Вт | =ЕСЛИ(РЕГТЕСТ(A5;"[a-zA-Z]");"латиница";"") | |||
| 6 | Наушники | =ЕСЛИ(РЕГТЕСТ(A6;"[a-zA-Z]");"латиница";"") |
РЕГТЕСТ по диапазону A2:A6 возвращает пять значений ИСТИНА/ЛОЖЬ; двойной минус превращает их в 1 и 0, а СУММПРОИЗВ складывает. ФИЛЬТР оставляет строки, где в названии есть цифра, — результат разливается вниз.
В английском Excel: =SUMPRODUCT(--REGEXTEST(A2:A6,"[a-zA-Z]"))
Выделить ячейки цветом по шаблону
РЕГТЕСТ работает и в условном форматировании: Главная → Условное форматирование → Создать правило → «Использовать формулу». Например, чтобы подсветить строки с некорректным телефоном, выделите A2:A100 и введите формулу =НЕ(РЕГТЕСТ($A2;"^\+7 \d{3} \d{3}-\d{2}-\d{2}$")). Знак $ перед A фиксирует столбец, чтобы правило проверяло одну и ту же колонку во всех строках.
РЕГТЕСТ, ПОИСК и СЧЁТЕСЛИ: что выбрать
| Задача | Без регулярок | С РЕГТЕСТ |
|---|---|---|
| Есть ли в ячейке слово | ЕЧИСЛО(ПОИСК("опт";A2)) | РЕГТЕСТ(A2;"опт";1) |
| Есть ли любая цифра | СЧЁТ(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2))>0 | РЕГТЕСТ(A2;"\d") |
| Ровно 10 цифр | И(ДЛСТР(A2)=10;ЕЧИСЛО(--A2)) | РЕГТЕСТ(A2;"^\d{10}$") |
| Заглавная буква в начале | СОВПАД(ЛЕВСИМВ(A2);ПРОПИСН(ЛЕВСИМВ(A2))) | РЕГТЕСТ(A2;"^[A-ZА-ЯЁ]") |
Для простого поиска слова хватает ПОИСК. РЕГТЕСТ выигрывает, когда важна форма текста: количество символов, их тип и порядок.
Если РЕГТЕСТ нет в вашем Excel
В Excel 2010–2024 без подписки Microsoft 365 функции нет — формула вернёт #ИМЯ?. Тот же результат даёт функция REGEXMATCH из бесплатной надстройки !SEMTools: =REGEXMATCH(A2;"\d"). У неё нет аргумента регистра: регистр учитывается всегда, а для поиска без учёта регистра перечисляйте оба варианта — [Мм]осква. Движок надстройки — VBScript, он не поддерживает ретроспективную проверку (?<=…), остальной базовый синтаксис совпадает.
Почему РЕГТЕСТ работает неправильно — частые ошибки
- #ИМЯ?. Функции нет в вашей версии Excel — используйте REGEXMATCH из !SEMTools.
- ИСТИНА там, где ждали ЛОЖЬ. Шаблон найден в части строки: \d{4} подходит и к «12345». Для проверки ячейки целиком добавьте ^ и $.
- Не находит слово в другом регистре. По умолчанию регистр учитывается — укажите третий аргумент 1.
- Ошибка или неожиданный результат. В шаблоне не экранирован спецсимвол: точку, плюс, скобки и знак вопроса пишите через обратный слэш — \. \+ \(.
- Кавычки внутри шаблона. Двойную кавычку в формуле Excel удваивают: "\""" — шаблон из одной кавычки.
Функция РЕГТЕСТ — частые вопросы
Что делает функция РЕГТЕСТ в Excel?
Проверяет, есть ли в тексте фрагмент, подходящий под регулярное выражение, и возвращает ИСТИНА или ЛОЖЬ: =РЕГТЕСТ(A2;"\d").
Как РЕГТЕСТ называется на английском?
REGEXTEST. Формула =РЕГТЕСТ(A2;"\d") в английском Excel — =REGEXTEST(A2,"\d").
В каких версиях Excel есть РЕГТЕСТ?
В Excel для Microsoft 365 для Windows и Mac. В других версиях используйте REGEXMATCH из надстройки !SEMTools.
Как проверить ячейку на соответствие шаблону целиком?
Привяжите шаблон к началу и концу строки: =РЕГТЕСТ(A2;"^\d{6}$") — ровно шесть цифр.
Как сделать проверку без учёта регистра?
Третьим аргументом 1: =РЕГТЕСТ(A2;"москва";1).
Проверить тысячи ячеек по регулярному выражению, отфильтровать или удалить строки по шаблону можно без формул — в пару кликов с !SEMTools, в любой версии Excel.
!SEMTools решает эту и сотни других задач в пару кликов!
Итоги: функция РЕГТЕСТ в Excel
| Задача | Формула |
|---|---|
| Есть цифра | =РЕГТЕСТ(A2;"\d") |
| Ровно 10 цифр | =РЕГТЕСТ(A2;"^\d{10}$") |
| Без учёта регистра | =РЕГТЕСТ(A2;"москва";1) |
| Посчитать подходящие | =СУММПРОИЗВ(--РЕГТЕСТ(A2:A100;"[a-zA-Z]")) |
| Отфильтровать | =ФИЛЬТР(A2:A100;РЕГТЕСТ(A2:A100;"\d")) |
| Excel без 365 | =REGEXMATCH(A2;"\d") (!SEMTools) |
Надеюсь, на этой странице вы нашли то, что искали. РЕГТЕСТ — самый простой способ проверить форму текста; вместе с РЕГИЗВЛЕЧЬ и РЕГЗАМЕНИТЬ она закрывает почти все задачи с текстом по шаблону.