Как в Excel сделать подбор по содержимому: 5 способов с примерами

Что такое подбор по содержимому и зачем он нужен

Работа с большими таблицами в Microsoft Excel часто превращается в поиск иголки в стоге сена — особенно когда нужно быстро найти ячейки с определённым текстом, числом или фрагментом данных. Подбор по содержимому (или автоподбор) — это инструмент, который автоматически выделяет или фильтрует ячейки, соответствующие заданным критериям. Например, вы можете мгновенно найти все строки с упоминанием "Москва" в столбце "Город" или числа больше 1000 в финансовом отчёте.

В отличие от ручного поиска (Ctrl + F), подбор по содержимому позволяет не только находить данные, но и динамически фильтровать их, оставляя на экране только релевантные строки. Это экономит время при анализе отчётов, работе с базами клиентов или инвентаризации. Более того, инструмент интегрирован с другими функциями Excel — например, условным форматированием или сводными таблицами, что расширяет его возможности.

В этой статье мы разберём 5 способов настройки подбора по содержимому — от базовых до продвинутых, включая скрытый метод с использованием Power Query для обработки данных из внешних источников. Вы узнаете, как применять фильтры к тексту, числам, датам, а также как комбинировать несколько условий для точного поиска.

Способ 1: Быстрый фильтр (автофильтр)

Самый простой способ отфильтровать данные по содержимому — использовать встроенный Автофильтр. Он доступен во всех версиях Excel (начиная с 2007) и работает даже с большими таблицами (до 1 млн строк). Чтобы включить его:

  1. Выделите диапазон данных (включая заголовки столбцов).
  2. Перейдите на вкладку Данные → нажмите Фильтр (или используйте горячие клавиши Ctrl + Shift + L).
  3. Нажмите на стрелку в заголовке столбца, по которому нужно выполнить подбор.
  4. В выпадающем меню выберите Текстовые фильтры (или Числовые фильтры, если данные числовые) → Содержит....

В открывшемся окне введите искомый фрагмент текста (например, "ООО") и нажмите ОК. Excel скрывает все строки, не соответствующие критерию. Чтобы сбросить фильтр, снова нажмите на стрелку в заголовке и выберите Удалить фильтр.

Выделить диапазон с заголовками|

Включить фильтр (Ctrl+Shift+L)|

Выбрать столбец для поиска|

Указать условие "Содержит..."|

Применить и проверить результат-->

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

  • 🔹 Работает без формул и макросов.
  • 🔹 Поддерживает частичное совпадение (например, поиск "ов" найдёт "Иванов", "Петров").
  • 🔹 Можно комбинировать несколько условий (например, "содержит 'Москва' И не содержит 'ул.'").
⚠️ Внимание: Если в таблице есть пустые ячейки в первом столбце, Excel может неправильно определить диапазон данных. Перед применением фильтра заполните пробелы или выделите диапазон вручную.

Способ 2: Расширенный фильтр для сложных условий

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

  • 📌 Фильтровать данные на месте или копировать результаты в другое место.
  • 📌 Использовать логические операторы (И, ИЛИ).
  • 📌 Применять подстановочные знаки (* — любое количество символов, ? — один символ).

Пример: найдём все строки, где в столбце A (ФИО) есть "Иванов", а в столбце B (Город) — "Санкт-Петербург".

  1. Создайте над таблицей диапазон критериев (например, в ячейках D1:E2):

D1: ФИО | E1: Город

D2: Иванов | E2: Санкт-Петербург

  1. Выделите исходную таблицу (включая заголовки).
  2. Перейдите на вкладку ДанныеРасширенный фильтр.
  3. В поле Исходный диапазон укажите адрес таблицы (например, $A$1:$C$100).
  4. В поле Диапазон условий укажите адрес критериев (например, $D$1:$E$2).
  5. Выберите Фильтровать список на месте и нажмите ОК.
Диапазон критериевПример значенияРезультат
текст*овИванов, Петров, Сидоров
?текстМария, Анна (но не Иван)
>1000>5000Числа больше 5000
<>значение<>МоскваВсе города, кроме Москвы

Способ 3: Условное форматирование для визуального подбора

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

Инструкция:

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

Примеры формул для разных условий:

  • 🔢 Поиск числа больше 100: =A1>100
  • 📅 Даты старше 2023 года: =ГОД(A1)<2023
  • 📌 Текст начинается с "А": =ЛЕВСИМВ(A1)="А"

Автофильтр|

Расширенный фильтр|

Условное форматирование|

Формулы (ПОИСК, ФИЛЬТР)|

Не пользуюсь-->

⚠️ Внимание: Формулы в условном форматировании должны возвращать ИСТИНА/ЛОЖЬ. Если формула выдаёт ошибку (например, #ЗНАЧ! при поиске в пустой ячейке), используйте ЕЧИСЛО или ЕНД для обработки исключений.

Способ 4: Функции ПОИСК, ФИЛЬТР и ДВССЫЛ

Для автоматизации подбора по содержимому можно использовать формулы Excel. Они полезны, когда нужно динамически извлекать данные или создавать отчёты на основе критериев.

1. Функция ФИЛЬТР (Excel 365 и 2021)

Самый современный способ — функция ФИЛЬТР, которая возвращает динамический массив отфильтрованных данных. Пример:

=ФИЛЬТР(A2:B100; (A2:A100="Иванов") + (B2:B100="Москва"); "Нет данных")

Эта формула вернёт все строки, где в столбце A указано "Иванов" или в столбце B — "Москва".

2. Функция ПОИСК для проверки содержимого

Чтобы проверить, содержит ли ячейка текст, используйте:

=ЕСЛИ(ЕЧИСЛО(ПОИСК("ов";A1)); "Есть совпадение"; "Нет")

3. Динамический диапазон с ДВССЫЛ

Если критерии поиска хранятся в отдельных ячейках, можно создать динамическую формулу:

=ФИЛЬТР(A2:B100; (A2:A100=D1) * (B2:B100=D2); "")

где D1 и D2 — ячейки с искомыми значениями.

Как объединить несколько условий в одной формуле?

Используйте операторы * (логическое И) и + (логическое ИЛИ). Например:

=ФИЛЬТР(A2:B100; (A2:A100="Иванов") (B2:B100="Москва") + (A2:A100="Петров") (B2:B100="СПб"); "")

Эта формула вернёт строки, где либо Иванов из Москвы, либо Петров из Санкт-Петербурга.

Способ 5: Power Query для внешних данных

Если данные импортируются из внешних источников (например, SQL, CSV или веб-страниц), для подбора по содержимому удобно использовать Power Query (доступен в Excel 2016 и новее). Этот инструмент позволяет:

  • 📤 Фильтровать данные при импорте.
  • 🔄 Обновлять результаты автоматически.
  • 🛠 Преобразовывать текст (например, приводить к нижнему регистру перед поиском).

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

  1. Импортируйте данные: ДанныеПолучить данные → выберите источник.
  2. В открывшемся редакторе Power Query выделите столбец для фильтрации.
  3. Нажмите на стрелку в заголовке столбца → Текстовые фильтрыСодержит....
  4. Введите искомый текст и нажмите ОК.
  5. Нажмите Закрыть и загрузить, чтобы применить фильтр.

Преимущество Power Query в том, что фильтр сохраняется в запросе и применяется при каждом обновлении данных. Например, если вы еженедельно импортируете отчёт из , не нужно заново настраивать подбор — достаточно обновить запрос.

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

Даже опытные пользователи Excel сталкиваются с проблемами при настройке подбора по содержимому. Вот самые распространённые ошибки и их решения:

ОшибкаПричинаРешение
Фильтр не находит данные, которые есть в таблицеРегистр букв или скрытые символы (пробелы, неразрывные пробелы)Используйте СЖПРОБЕЛЫ или ПЕЧСИМВ для очистки данных. Пример: =ПОИСК(СЖПРОБЕЛЫ(" текст ");A1)
Расширенный фильтр возвращает пустой результатНеверно указан диапазон критериев или формулаПроверьте, чтобы заголовки в диапазоне критериев совпадали с заголовками таблицы. Используйте абсолютные ссылки ($A$1)
Условное форматирование не работаетФормула возвращает ошибку для пустых ячеекДобавьте проверку на ошибки: =ЕСЛИОШИБКА(ПОИСК("текст";A1);0)
Функция ФИЛЬТР выдаёт #ИМЯ?Не поддерживается в вашей версии ExcelИспользуйте альтернативы: ИНДЕКС/ПОИСКПОЗ или ДВССЫЛ

Советы для точного поиска:

  • 🔍 Для поиска точного совпадения (без частичных вхождений) используйте =A1="точный текст".
  • 🔍 Чтобы игнорировать регистр, преобразуйте текст в нижний регистр: =ПОИСК(НИЖНРЕГ("Текст");НИЖНРЕГ(A1)).
  • 🔍 Для поиска по нескольким критериям в одной ячейке используйте И/ИЛИ: =И(ЕЧИСЛО(ПОИСК("слово1";A1)); ЕЧИСЛО(ПОИСК("слово2";A1))).

FAQ: Ответы на частые вопросы

Можно ли сделать подбор по содержимому в Excel Online?

Да, но с ограничениями. В Excel Online доступны базовые фильтры (Автофильтр) и условное форматирование, но нет Расширенного фильтра и функции ФИЛЬТР. Для сложных задач используйте настольную версию Excel или Power Query.

Как найти ячейки, которые НЕ содержат определённый текст?

Используйте одно из решений:

  • В Автофильтре: выберите Текстовые фильтрыНе содержит....
  • В формуле: =ЕСЛИ(ЕОШ(ПОИСК("текст";A1)); "Нет совпадения"; "Есть").
  • В Расширенном фильтре: в диапазоне критериев укажите <>текст.
Почему фильтр не работает с кириллицей?

Проблема может быть связана с кодировкой файла или скрытыми символами. Попробуйте:

  1. Скопировать данные в Блокнот и обратно в Excel (удалит непечатаемые символы).
  2. Использовать формулу =ПЕЧСИМВ(A1), чтобы проверить наличие скрытых символов.
  3. Сохранить файл в формате .xlsx (не .csv), если данные импортированы.
Можно ли автоматизировать подбор по содержимому с помощью VBA?

Да, с помощью макросов можно создавать пользовательские фильтры. Пример кода для поиска ячеек с текстом "Иванов":

Sub FindCells()

Dim rng As Range, cell As Range

Set rng = Sheets("Лист1").UsedRange

For Each cell In rng

If InStr(1, cell.Value, "Иванов", vbTextCompare) > 0 Then

cell.Interior.Color = RGB(255, 200, 150) ' Подсветка

End If

Next cell

End Sub

Чтобы запустить макрос, нажмите Alt + F8, выберите FindCells и нажмите Выполнить.

Как сохранить отфильтрованные данные в новый файл?

Есть два способа:

  1. Копирование результатов: После применения фильтра выделите видимые строки (нажмите Ctrl + Shift + * для выбора только видимых ячеек), скопируйте их и вставьте в новый файл.
  2. Power Query: При импорте данных настройте фильтры в Power Query, затем загрузите результаты в новую книгу (Закрыть и загрузить в...Новая книга).