Почему проверка «содержит» в Excel так востребована?
Вы когда-нибудь пытались найти в огромной таблице все строки, где в комментариях упоминается «срочно», а в номерах заказов есть дефис? Или нужно было выделить красным ячейки с email, где отсутствует символ @? Эти задачи решает одно простое условие — проверка на содержание текста. В Microsoft Excel и Google Таблицах таких способов целых пять, и каждый подходит для разных сценариев.
Например, менеджеру по продажам требуется быстро отфильтровать клиентов из Москвы, бухгалтеру — проверить корректность ИНН, а маркетологу — найти все упоминания бренда в отзывах. Без знания формул типа ЕСЛИ + ПОИСК или ФИЛЬТР на это уйдут часы ручной работы. Эта статья научит вас автоматизировать такие задачи за минуты — от базовых проверок до сложных условий с подстановочными знаками.
Мы разберём не только классические функции вроде НАЙТИ и ПОИСКПОЗ, но и малоизвестные трюки — например, как искать текст с учётом регистра или как комбинировать несколько условий «содержит» в одной формуле. А в конце вас ждёт FAQ с решениями типичных ошибок, которые допускают даже опытные пользователи.
Способ 1: Функция ЕСЛИ + ПОИСК — универсальное решение
Самый популярный дуэт функций для проверки содержания — ЕСЛИ (или IF в английской версии) в паре с ПОИСК (SEARCH). Эта комбинация работает в 90% случаев, потому что:
- 🔹 Ищет текст без учёта регистра (например, найдёт и «Мoskva», и «москВА»)
- 🔹 Позволяет указать любой фрагмент, а не только целое слово
- 🔹 Возвращает логическое значение (
ИСТИНА/ЛОЖЬ), которое можно использовать в других формулах
Базовый синтаксис:
=ЕСЛИ(ЕЧИСЛО(ПОИСК("искомый_текст"; ячейка))); "Да"; "Нет")
Пример: проверим, содержит ли ячейка A2 слово «ургентно»:
=ЕСЛИ(ЕЧИСЛО(ПОИСК("ургентно"; A2))); "Срочный заказ"; "Обычный заказ")
Где это пригодится:
- 📊 Сегментация данных: разделить клиентов на VIP и стандартных по наличию метки в комментарии
- 📧 Проверка email: найти адреса без
@или с опечатками - 📦 Логистика: отфильтровать заказы с пометкой «хрупкое» для особой упаковки
Почему не работает ПОИСК с кириллицей в английской версии Excel?
В английской версии Excel функция SEARCH (аналог ПОИСК) по умолчанию ищет только латиницу. Чтобы искать кириллицу, используйте =ЕСЛИ(ЕЧИСЛО(НАЙТИ("текст";A1)));"Да";"Нет") — FIND (НАЙТИ) работает с любыми символами, но учитывает регистр.
Способ 2: Функция НАЙТИ — когда важен регистр
Если вам нужно найти текст с точным учётом регистра (например, отличать «Иванов» от «иванов»), замените ПОИСК на НАЙТИ (FIND в английской версии). Эта функция строже:
- 🔎 Ищет точное совпадение по регистру: «М» ≠ «м»
- ❌ Возвращает ошибку
#ЗНАЧ!, если текст не найден (обязательно оборачивайте вЕЧИСЛО) - ⚡ Работает быстрее
ПОИСКдля больших таблиц (на 10-15%)
Пример: проверим, начинается ли ФИО в ячейке B2 с заглавной буквы:
=ЕСЛИ(ЕЧИСЛО(НАЙТИ(ЛЕВСИМВ(B2;1); "[A-ZА-Я]"))); "Корректно"; "Ошибка")
Кейсы для НАЙТИ:
- 🔠 Проверка форматов: найти артикулы, где третья буква должна быть заглавной (например,
ABC-123) - 📛 Валидация документов: проверить, что серия паспорта написана заглавными буквами
- 📝 Анализ текстов: подсчитать упоминания бренда с правильной капитализацией
⚠️ Внимание: Если вы ищете текст на кириллице в английской версии Excel,FINDможет не сработать. Используйте=ЕСЛИ(ЕОШ(ПОИСК("текст";A1)));"Нет";"Да")— это обратная логика, но надёжнее.
Способ 3: Подстановочные знаки (* и ?) — гибкий поиск
Когда нужно найти текст по шаблону, а не точному совпадению, используйте подстановочные знаки:
*(звёздочка) — заменяет любое количество символов (включая ноль)?(вопросительный знак) — заменяет один любой символ
Примеры формул с подстановочными знаками:
| Задача | Формула | Пример результата |
|---|---|---|
Найти все email с доменом @gmail.com | =ЕСЛИ(ЕЧИСЛО(ПОИСК("*"&"@gmail.com";A1)));"Gmail";"Другой") | Для user@gmail.com → "Gmail" |
| Проверить, что номер телефона начинается с +7 | =ЕСЛИ(A1="+7*";"Россия";"Иностранный") | Для +79123456789 → "Россия" |
Найти все артикулы формата ABC-XXX (3 буквы, дефис, 3 цифры) | =ЕСЛИ(И(ДЛСТР(A1)=7;ПОИСК("??:-???";A1));"Корректно";"Ошибка") | Для KLM-123 → "Корректно" |
Где это незаменимо:
- 📞 Очистка баз данных: найти все телефоны без кода страны (
+7*) - 🏷️ Категоризация товаров: выделить артикулы определённого формата (
SKU-????) - 📂 Поиск по шаблону: найти все файлы с расширением
.xlsxв списке (*.xlsx)
Ищем символ @: =ЕЧИСЛО(ПОИСК("@";A1))
Проверяем домен: =ЕЧИСЛО(ПОИСК(".ru";A1)) или .com
Исключаем пробелы: =НЕ(ЕЧИСЛО(ПОИСК(" ";"A1")))
Проверяем длину: =ДЛСТР(A1)>5-->
Способ 4: Условное форматирование — визуальная проверка
Если вам не нужны формулы, а достаточно выделить ячейки, содержащие определённый текст, используйте условное форматирование. Это сэкономит время и сделает данные наглядными.
Пошаговая инструкция:
- Выделите диапазон ячеек (например,
A1:A100) - Перейдите на вкладку
Главная → Условное форматирование → Создать правило - Выберите
Использовать формулу для определения форматируемых ячеек - Введите формулу:
=ПОИСК("срочно";A1)(безЕСЛИ!) - Задайте цвет заливки или шрифта и нажмите
ОК
Примеры правил:
| Цель | Формула | Форматирование |
|---|---|---|
| Выделить ячейки с опечаткой «адрес» (например, «адресс») | =ИЛИ(ПОИСК("адресс";A1);ПОИСК("адерес";A1)) | Красный текст |
| Подсветить заказы с пометкой «VIP» | =ПОИСК("VIP";A1) | Зелёная заливка |
| Найти ячейки с двойными пробелами | =ПОИСК(" ";A1) | Жёлтый фон |
Преимущества метода:
- 🎨 Немедленная визуализация: ошибки видны без анализа каждой ячейки
- 🔄 Динамическое обновление: форматирование применяется автоматически при изменении данных
- 📊 Сочетание с фильтрами: можно отфильтровать только выделенные ячейки
⚠️ Внимание: Условное форматирование с формулами не работает в сводных таблицах. Для них используйте фильтры или функции в отдельном столбце.
Способ 5: Фильтр и расширенный фильтр — быстрая выборка
Когда нужно не просто найти, а отфильтровать строки по условию «содержит», используйте стандартный или расширенный фильтр. Это удобно для больших таблиц (10 000+ строк), где формулы тормозят.
Стандартный фильтр:
- Выделите заголовки столбцов
- Нажмите
Данные → Фильтр - Кликните по стрелочке в столбце и выберите
Текстовые фильтры → Содержит - Введите искомый текст (например, «Москва») и нажмите
ОК
Расширенный фильтр (для сложных условий):
- Создайте диапазон условий (например, в ячейках
D1:D2укажите заголовок столбца и текст для поиска) - Перейдите в
Данные → Сортировка и фильтр → Расширенный фильтр - Укажите исходный диапазон и диапазон условий
- Выберите, куда вывести результат (на месте или в другое место)
Примеры применения:
- 📅 Анализ продаж: отфильтровать заказы с комментарием «подарок»
- 📋 Аудит документов: найти все договора с пометкой «продлён»
- 📈 Сегментация клиентов: выделить компании с названием «ООО»
Типичные ошибки и как их избежать
Даже опытные пользователи Excel допускают ошибки при работе с условием «содержит». Вот TOP-3 критичные ошибки, которые ломают формулы:
- Пропущенная проверка на ошибку: если не обернуть
ПОИСКилиНАЙТИвЕЧИСЛОилиЕОШ, формула вернёт#ЗНАЧ!вместоЛОЖЬ. - Поиск числа как текста: функция
ПОИСК("123";A1)не найдёт число123, если ячейка отформатирована как числовая. ИспользуйтеПОИСК("123";ТЕКСТ(A1;"0")). - Неучтённые пробелы: лишние пробелы в начале/конце ячейки сбивают поиск. Очищайте их функцией
СЖПРОБЕЛЫ.
Как проверить формулу на ошибки:
- 🔍 Используйте
Вычислить формулу(Формулы → Зависимости формул → Вычислить формулу) - 📌 Разбивайте сложные формулы на части в отдельных ячейках
- 📊 Тестируйте на небольшом диапазоне данных перед применением ко всей таблице
⚠️ Внимание: ФункцияПОИСКне работает с ячейками, содержащими ошибки (#Н/Д,#ДЕЛ/0!). Предварительно обработайте их функциейЕОШ.
FAQ: Ответы на частые вопросы
Как найти ячейки, которые НЕ содержат определённый текст?
Используйте формулу с отрицанием: =ЕСЛИ(ЕОШ(ПОИСК("текст";A1)));"Не содержит";"Содержит") или =ЕСЛИ(ПОИСК("текст";A1)=0;"Не содержит";"Содержит") (в новых версиях Excel).
Можно ли искать текст с учётом регистра в Google Таблицах?
Да, используйте функцию REGEXMATCH с флагом чувствительности к регистру: =REGEXMATCH(A1; "(?i)текст") (без учёта регистра) или =REGEXMATCH(A1; "Текст") (с учётом).
Как подсчитать количество ячеек, содержащих текст?
Используйте формулу массива: =СУММ(--(ЕЧИСЛО(ПОИСК("текст";A1:A100)))). В новых версиях Excel можно просто: =СЧЁТЕСЛИ(A1:A100;"текст").
Почему ПОИСК не находит кириллицу в английской версии Excel?
В английской версии функция SEARCH (ПОИСК) может игнорировать кириллицу. Замените её на =ЕСЛИ(ЕОШ(FIND("текст";A1)));"Нет";"Да") или используйте REGEX-функции, если доступны.
Как искать текст в формулах (например, в результатах ВПР)?
Сначала извлеките текст из формулы в отдельную ячейку (например, =ТЕКСТ(ВПР(...);"0")), затем применяйте ПОИСК. Или используйте =ПОИСК("текст";ФОРМУЛАТЕКСТ(A1)) (доступно в Excel 365).