Работа с большими таблицами в Microsoft Excel часто превращается в поиск иголки в стоге сена — особенно когда нужно отыскать не одно значение, а целый список. Вы тратите часы на ручное сканирование строк, рискуете пропустить важные данные или получить неполные результаты. Между тем, в Excel есть как минимум 7 способов найти несколько позиций одновременно — от элементарных до профессиональных.
Эта статья не про банальный Ctrl+F (хотя и он пригодится в модифицированном виде). Мы разберём поиск по списку значений, работу с условным форматированием, применение функций ВПР, ИНДЕКС+ПОИСКПОЗ и ФИЛЬТР, а также автоматизацию через Power Query и VBA. Каждый метод подходит для своих задач — от разового поиска до создания динамических отчётов.
Если вы работаете с прайс-листами, инвентаризационными ведомостями или базами клиентов, умение быстро находить несколько позиций сэкономит вам до 80% времени. Главное — выбрать подходящий инструмент и избежать типичных ошибок, о которых мы тоже расскажем.
1. Базовый поиск через «Найти и заменить» (Ctrl+F)
Да, даже стандартный инструмент Найти (Ctrl+F) можно адаптировать для поиска нескольких значений — если знать пару хитростей. По умолчанию он ищет только одно значение за раз, но с помощью подстановочных знаков и ручного ввода это ограничение обходится.
Чтобы найти несколько позиций подряд:
- Нажмите
Ctrl+Fили перейдите на вкладкуГлавная → Найти и выделить → Найти. - В поле поиска введите первое значение, нажмите
Найти все. - В результатах поиска (внизу окна) нажмите
Ctrl+A, чтобы выделить все найденные ячейки. - Закройте окно поиска — ячейки останутся выделенными.
- Повторите шаги 1–4 для следующего значения, удерживая
Ctrlдля добавления к выделению.
⚠️ Внимание: Этот метод работает только для визуального выделения — вы не сможете сразу скопировать или отфильтровать найденные данные. Для анализа лучше использовать другие способы.
2. Поиск по списку с помощью фильтра
Если вам нужно не просто найти, а отфильтровать строки по нескольким критериям, используйте встроенный фильтр с ручным выбором. Это быстрее, чем искать каждое значение отдельно, и позволяет сразу работать с отобранными данными.
Инструкция:
- 📌 Выделите заголовок столбца, по которому будете искать (например, «Наименование товара»).
- 🔍 Нажмите на стрелку фильтра (▼) в заголовке столбца.
- 📋 В окне фильтра снимите галочку с
(Выделить всё). - 🖱️ Пролистайте список и отметьте галочками нужные значения (удерживайте
Ctrlдля множественного выбора). - 👍 Нажмите
ОК— останутся только строки с выбранными позициями.
💡 Продвинутый трюк: Если список значений большой, в поле поиска фильтра можно ввести часть названия (например, «ноут» для «ноутбук»), и Excel покажет только подходящие варианты.
☑️ Подготовка данных для фильтрации
3. Условное форматирование для визуального поиска
Когда нужно подсветить несколько позиций в таблице, не удаляя остальные данные, поможет условное форматирование. Этот метод идеален для анализа больших массивов, где важно увидеть распределение искомых значений.
Как настроить:
- Выделите диапазон ячеек для поиска (например,
A2:A1000). - Перейдите на вкладку
Главная → Условное форматирование → Создать правило. - Выберите
Форматировать только ячейки, которые содержат. - В поле
Форматировать ячейки, если:выберитезначение равнои введите первое искомое значение. - Нажмите кнопку
Формат, выберите цвет заливки (например, жёлтый) и сохраните правило. - Повторите шаги 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 с несколькими фильтрами (добавляются последовательно).