Как в Excel задать условие «содержит»: от простых формул до продвинутых приёмов

Почему проверка «содержит» в Excel так востребована?

Вы когда-нибудь пытались найти в огромной таблице все строки, где в комментариях упоминается «срочно», а в номерах заказов есть дефис? Или нужно было выделить красным ячейки с email, где отсутствует символ @? Эти задачи решает одно простое условие — проверка на содержание текста. В Microsoft Excel и Google Таблицах таких способов целых пять, и каждый подходит для разных сценариев.

Например, менеджеру по продажам требуется быстро отфильтровать клиентов из Москвы, бухгалтеру — проверить корректность ИНН, а маркетологу — найти все упоминания бренда в отзывах. Без знания формул типа ЕСЛИ + ПОИСК или ФИЛЬТР на это уйдут часы ручной работы. Эта статья научит вас автоматизировать такие задачи за минуты — от базовых проверок до сложных условий с подстановочными знаками.

Мы разберём не только классические функции вроде НАЙТИ и ПОИСКПОЗ, но и малоизвестные трюки — например, как искать текст с учётом регистра или как комбинировать несколько условий «содержит» в одной формуле. А в конце вас ждёт FAQ с решениями типичных ошибок, которые допускают даже опытные пользователи.

📊 Как часто вы используете условия "содержит" в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда не пробовал

Способ 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: Условное форматирование — визуальная проверка

Если вам не нужны формулы, а достаточно выделить ячейки, содержащие определённый текст, используйте условное форматирование. Это сэкономит время и сделает данные наглядными.

Пошаговая инструкция:

  1. Выделите диапазон ячеек (например, A1:A100)
  2. Перейдите на вкладку Главная → Условное форматирование → Создать правило
  3. Выберите Использовать формулу для определения форматируемых ячеек
  4. Введите формулу: =ПОИСК("срочно";A1) (без ЕСЛИ!)
  5. Задайте цвет заливки или шрифта и нажмите ОК

Примеры правил:

ЦельФормулаФорматирование
Выделить ячейки с опечаткой «адрес» (например, «адресс»)=ИЛИ(ПОИСК("адресс";A1);ПОИСК("адерес";A1))Красный текст
Подсветить заказы с пометкой «VIP»=ПОИСК("VIP";A1)Зелёная заливка
Найти ячейки с двойными пробелами=ПОИСК(" ";A1)Жёлтый фон

Преимущества метода:

  • 🎨 Немедленная визуализация: ошибки видны без анализа каждой ячейки
  • 🔄 Динамическое обновление: форматирование применяется автоматически при изменении данных
  • 📊 Сочетание с фильтрами: можно отфильтровать только выделенные ячейки
⚠️ Внимание: Условное форматирование с формулами не работает в сводных таблицах. Для них используйте фильтры или функции в отдельном столбце.

Способ 5: Фильтр и расширенный фильтр — быстрая выборка

Когда нужно не просто найти, а отфильтровать строки по условию «содержит», используйте стандартный или расширенный фильтр. Это удобно для больших таблиц (10 000+ строк), где формулы тормозят.

Стандартный фильтр:

  1. Выделите заголовки столбцов
  2. Нажмите Данные → Фильтр
  3. Кликните по стрелочке в столбце и выберите Текстовые фильтры → Содержит
  4. Введите искомый текст (например, «Москва») и нажмите ОК

Расширенный фильтр (для сложных условий):

  1. Создайте диапазон условий (например, в ячейках D1:D2 укажите заголовок столбца и текст для поиска)
  2. Перейдите в Данные → Сортировка и фильтр → Расширенный фильтр
  3. Укажите исходный диапазон и диапазон условий
  4. Выберите, куда вывести результат (на месте или в другое место)

Примеры применения:

  • 📅 Анализ продаж: отфильтровать заказы с комментарием «подарок»
  • 📋 Аудит документов: найти все договора с пометкой «продлён»
  • 📈 Сегментация клиентов: выделить компании с названием «ООО»

Типичные ошибки и как их избежать

Даже опытные пользователи Excel допускают ошибки при работе с условием «содержит». Вот TOP-3 критичные ошибки, которые ломают формулы:

  1. Пропущенная проверка на ошибку: если не обернуть ПОИСК или НАЙТИ в ЕЧИСЛО или ЕОШ, формула вернёт #ЗНАЧ! вместо ЛОЖЬ.
  2. Поиск числа как текста: функция ПОИСК("123";A1) не найдёт число 123, если ячейка отформатирована как числовая. Используйте ПОИСК("123";ТЕКСТ(A1;"0")).
  3. Неучтённые пробелы: лишние пробелы в начале/конце ячейки сбивают поиск. Очищайте их функцией СЖПРОБЕЛЫ.

Как проверить формулу на ошибки:

  • 🔍 Используйте Вычислить формулу (Формулы → Зависимости формул → Вычислить формулу)
  • 📌 Разбивайте сложные формулы на части в отдельных ячейках
  • 📊 Тестируйте на небольшом диапазоне данных перед применением ко всей таблице
⚠️ Внимание: Функция ПОИСК не работает с ячейками, содержащими ошибки (#Н/Д, #ДЕЛ/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).