7 способов найти несколько позиций в Excel — от фильтров до Power Query

Работа с большими таблицами в Microsoft Excel часто превращается в поиск иголки в стоге сена — особенно когда нужно отыскать не одно значение, а целый список. Вы тратите часы на ручное сканирование строк, рискуете пропустить важные данные или получить неполные результаты. Между тем, в Excel есть как минимум 7 способов найти несколько позиций одновременно — от элементарных до профессиональных.

Эта статья не про банальный Ctrl+F (хотя и он пригодится в модифицированном виде). Мы разберём поиск по списку значений, работу с условным форматированием, применение функций ВПР, ИНДЕКС+ПОИСКПОЗ и ФИЛЬТР, а также автоматизацию через Power Query и VBA. Каждый метод подходит для своих задач — от разового поиска до создания динамических отчётов.

Если вы работаете с прайс-листами, инвентаризационными ведомостями или базами клиентов, умение быстро находить несколько позиций сэкономит вам до 80% времени. Главное — выбрать подходящий инструмент и избежать типичных ошибок, о которых мы тоже расскажем.

1. Базовый поиск через «Найти и заменить» (Ctrl+F)

Да, даже стандартный инструмент Найти (Ctrl+F) можно адаптировать для поиска нескольких значений — если знать пару хитростей. По умолчанию он ищет только одно значение за раз, но с помощью подстановочных знаков и ручного ввода это ограничение обходится.

Чтобы найти несколько позиций подряд:

  1. Нажмите Ctrl+F или перейдите на вкладку Главная → Найти и выделить → Найти.
  2. В поле поиска введите первое значение, нажмите Найти все.
  3. В результатах поиска (внизу окна) нажмите Ctrl+A, чтобы выделить все найденные ячейки.
  4. Закройте окно поиска — ячейки останутся выделенными.
  5. Повторите шаги 1–4 для следующего значения, удерживая Ctrl для добавления к выделению.

⚠️ Внимание: Этот метод работает только для визуального выделения — вы не сможете сразу скопировать или отфильтровать найденные данные. Для анализа лучше использовать другие способы.

📊 Как часто вы ищете несколько значений в Excel одновременно?
Ежедневно
Несколько раз в неделю
Редко, но методы пригодятся
Никогда не приходилось

2. Поиск по списку с помощью фильтра

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

Инструкция:

  • 📌 Выделите заголовок столбца, по которому будете искать (например, «Наименование товара»).
  • 🔍 Нажмите на стрелку фильтра (▼) в заголовке столбца.
  • 📋 В окне фильтра снимите галочку с (Выделить всё).
  • 🖱️ Пролистайте список и отметьте галочками нужные значения (удерживайте Ctrl для множественного выбора).
  • 👍 Нажмите ОК — останутся только строки с выбранными позициями.

💡 Продвинутый трюк: Если список значений большой, в поле поиска фильтра можно ввести часть названия (например, «ноут» для «ноутбук»), и Excel покажет только подходящие варианты.

☑️ Подготовка данных для фильтрации

Выполнено: 0 / 4

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

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

Как настроить:

  1. Выделите диапазон ячеек для поиска (например, A2:A1000).
  2. Перейдите на вкладку Главная → Условное форматирование → Создать правило.
  3. Выберите Форматировать только ячейки, которые содержат.
  4. В поле Форматировать ячейки, если: выберите значение равно и введите первое искомое значение.
  5. Нажмите кнопку Формат, выберите цвет заливки (например, жёлтый) и сохраните правило.
  6. Повторите шаги 3–5 для каждого следующего значения, выбирая разные цвета.

⚠️ Внимание: Условное форматирование не заменяет фильтрацию — оно только визуализирует данные. Для дальнейшей работы с найденными ячейками используйте сортировку по цвету (Данные → Сортировка → Сортировать по цвету ячейки).

Метод Преимущества Недостатки Когда использовать
Ctrl+F + ручное выделение Быстро, не требует настройки Только визуальный поиск, нет фильтрации Разовые проверки небольших таблиц
Фильтр по списку Мгновенная фильтрация, можно копировать результаты Неудобно при большом количестве критериев Анализ средних и больших таблиц
Условное форматирование Визуализация распределения данных Не заменяет фильтрацию, ограничение по цветам Отчёты, где важно увидеть «карту» данных

4. Поиск с помощью функций ВПР, ИНДЕКС+ПОИСКПОЗ и ФИЛЬТР

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

Способ 1: ВПР для одного критерия

Функция ВПР ищет значение в первом столбце диапазона и возвращает данные из указанного столбца. Например, чтобы найти цены на список товаров:

=ВПР(A2; $D$2:$F$100; 2; ЛОЖЬ)

где:

- A2 — искомое значение (название товара),

- $D$2:$F$100 — диапазон поиска (столбец D — названия, столбец E — цены),

- 2 — номер столбца с результатом (цены во втором столбце диапазона).

Способ 2: ИНДЕКС+ПОИСКПОЗ для гибкого поиска

Эта комбинация мощнее ВПР, так как позволяет искать по любому столбцу и возвращать данные из любого другого. Формула для поиска цены товара «Ноутбук»:

=ИНДЕКС($E$2:$E$100; ПОИСКПОЗ("Ноутбук"; $D$2:$D$100; 0))

Способ 3: ФИЛЬТР (Excel 365 и 2021) для нескольких критериев

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

=ФИЛЬТР(A2:C100; (B2:B100="Электроника")+(B2:B100="Бытовая техника"); "Не найдено")
Почему ВПР может возвращать #Н/Д?

Ошибка #Н/Д появляется, если искомое значение отсутствует в первом столбце диапазона, или диапазон не зафиксирован абсолютными ссылками ($), или в четвёртом аргументе указано ЛОЖЬ (точный поиск), а данных нет. Чтобы избежать ошибок, используйте ЕСЛИОШИБКА:

=ЕСЛИОШИБКА(ВПР(A2; $D$2:$F$100; 2; ЛОЖЬ); "Нет данных")

5. Поиск через Power Query (для больших данных)

Когда таблица содержит десятки тысяч строк, а критериев поиска больше пяти, ручные методы становятся неэффективными. Здесь на помощь приходит Power Query — инструмент для преобразования и анализа данных, встроенный в Excel 2016 и новее.

Алгоритм действий:

  • 📊 Выделите исходную таблицу и перейдите на вкладку Данные → Получение данных → Из таблицы/диапазона.
  • 🔄 В открывшемся редакторе Power Query выберите столбец для фильтрации (например, «Категория»).
  • 📝 Нажмите на стрелку (▼) в заголовке столбца и снимите галочки со всех значений, кроме нужных (удерживайте Ctrl для множественного выбора).
  • 💾 Нажмите ОК, затем Закрыть и загрузить — результаты появятся на новом листе.

🔹 Преимущество Power Query: Вы можете сохранить запрос и обновлять данные одним кликом, если исходная таблица изменится. Кроме того, здесь доступны сложные фильтры (например, поиск по частичному совпадению или регулярным выражениям).

6. Автоматизация поиска с помощью VBA

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

Пример кода для поиска значений из списка (диапазон H2:H10) в столбце A и копирования найденных строк на новый лист:

Sub FindMultipleValues()

Dim wsSource As Worksheet, wsResult As Worksheet

Dim rngSearch As Range, rngCriteria As Range

Dim cell As Range, crit As Range

Dim lastRow As Long, i As Long

' Настройка листов

Set wsSource = ThisWorkbook.Sheets("Лист1") ' Источник данных

Set wsResult = ThisWorkbook.Sheets.Add(After:=Sheets(Sheets.Count))

wsResult.Name = "Результаты поиска"

' Диапазон поиска (столбец A)

lastRow = wsSource.Cells(wsSource.Rows.Count, "A").End(xlUp).Row

Set rngSearch = wsSource.Range("A2:A" & lastRow)

' Диапазон критериев (столбец H)

Set rngCriteria = wsSource.Range("H2:H10")

' Копирование заголовков

wsSource.Rows(1).Copy wsResult.Rows(1)

' Поиск и копирование строк

i = 2 ' Начальная строка для результатов

For Each crit In rngCriteria

For Each cell In rngSearch

If cell.Value = crit.Value Then

cell.EntireRow.Copy wsResult.Rows(i)

i = i + 1

End If

Next cell

Next crit

MsgBox "Поиск завершён! Найдено " & (i - 2) & " строк.", vbInformation

End Sub

⚠️ Внимание: Перед запуском макроса включите поддержку VBA (Файл → Параметры → Настроить ленту → Разработчик) и сохраните файл в формате .xlsm (с поддержкой макросов).

7. Продвинутые приёмы: поиск с частичным совпадением и регулярные выражения

Иногда нужно найти позиции, где искомое значение является частью текста (например, все артикулы, начинающиеся на «ART-2023»). Для этого подойдут:

  • 🔎 Подстановочные знаки в фильтрах или ВПР:
    • текст — любые символы до и после (например, ноут найдёт «ноутбук», «ноутбуки», «ультрабук»).
    • текст* — начинается с (например, ART*).
    • *текст — заканчивается на.
  • 📜 Регулярные выражения в Power Query (например, для поиска email или телефонных номеров).
  • 🔢 Функция ПОИСК в формулах:
    =ЕСЛИ(ЕЧИСЛО(ПОИСК("ноут"; A2)); "Есть"; "Нет")

Важно: Подстановочные знаки в ВПР работают только при четвёртом аргументе ИСТИНА (приблизительный поиск), что может давать ложные срабатывания. Для точного поиска с частичным совпадением используйте ИНДЕКС+ПОИСКПОЗ с функцией ПОИСК.

FAQ: Частые вопросы о поиске нескольких позиций в Excel

Можно ли искать несколько значений в ВПР без дублирования формул?

Нет, ВПР ищет только одно значение за раз. Чтобы найти несколько позиций, используйте:

  • Массив критериев с ИНДЕКС+ПОИСКПОЗ (требует настройки).
  • Функцию ФИЛЬТР в Excel 365 (возвращает все совпадения).
  • Power Query для больших данных.

Как найти строки, где хотя бы одно из нескольких значений присутствует в ячейке?

Используйте комбинацию функций ИЛИ и ПОИСК:

=ЕСЛИ(ИЛИ(ЕЧИСЛО(ПОИСК("значение1"; A2)); ЕЧИСЛО(ПОИСК("значение2"; A2))); "Есть"; "Нет")

Для больших списков критериев удобнее создать отдельный столбец с проверкой или использовать Power Query.

Почему фильтр не показывает все нужные значения?

Возможные причины:

  • В данных есть скрытые символы (пробелы, переносы строк). Используйте =ПЕЧСИМВ(A2) для очистки.
  • Фильтр применён к не тому диапазону (проверьте границы таблицы).
  • Включён режим «Только уникальные значения» в настройках фильтра.
  • Данные в столбце имеют разный формат (текст vs число). Преобразуйте формат ячеек.

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

Способы экспорта:

  • После фильтрации скопируйте видимые ячейки (Alt+; для выделения) и вставьте в новый файл.
  • В Power Query после фильтрации нажмите Закрыть и загрузить в → Новая книга.
  • Используйте VBA-макрос для автоматического создания файла с результатами.

Можно ли искать по нескольким столбцам одновременно?

Да, для этого подходят:

  • Расширенный фильтр (Данные → Сортировка и фильтр → Расширенный фильтр) с указанием нескольких критериев.
  • Функция ФИЛЬТР (Excel 365) с условиями по нескольким столбцам:
    =ФИЛЬТР(A2:C100; (B2:B100="Категория1")+(C2:C100="Подкатегория2"); "Нет данных")
  • Power Query с несколькими фильтрами (добавляются последовательно).