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

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

В этой статье мы разберём каждый метод подробно: когда его применять, какие подводные камни ждут новичков, и как автоматизировать процесс для регулярного использования. Вы узнаете, как найти несколько значений в одном столбце, выделить их цветом, извлечь в отдельный список и даже сравнить данные из разных таблиц. Все примеры протестированы в Excel 2019–2023 и Microsoft 365, но большинство способов работают и в старых версиях.

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

1. Поиск через стандартный фильтр (самый простой способ)

Фильтр — это первый инструмент, к которому стоит обратиться, если нужно быстро найти несколько значений в столбце. Он не требует знания формул и работает даже в самых старых версиях Excel.

Как применить:

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

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

  • ⚡ Быстрота — подходит для разовых задач.
  • 🔄 Гибкость — можно комбинировать условия (И/ИЛИ).
  • 📊 Визуальность — отфильтрованные данные остаются в контексте таблицы.
⚠️ Внимание: Фильтр скрывает строки, но не удаляет их. Если вы скопируете отфильтрованные данные, в буфер обмена попадут только видимые ячейки. Чтобы избежать ошибок, всегда проверяйте количество строк после фильтрации.

Пример: вам нужно найти всех сотрудников из отделов "Маркетинг" и "Продажи". Фильтр справится с этой задачей за 3 клика, тогда как формулы потребуют дополнительных столбцов или массивов.

📊 Какой инструмент Excel вы используете чаще для поиска данных?
Фильтры
Формулы (VLOOKUP/XLOOKUP)
Условное форматирование
Power Query
Другой

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

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

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

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

Совет: чтобы не создавать правило для каждого значения отдельно, используйте формулу в условном форматировании. Например, для поиска значений "Да" и "Нет" в столбце B:

=ИЛИ(B2="Да"; B2="Нет")

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

  • 🎨 Наглядность — выделенные цвета сразу бросаются в глаза.
  • 🔄 Динамичность — форматирование обновляется автоматически при изменении данных.
  • 📌 Гибкость — можно комбинировать условия (например, выделить значения >100 и содержащие текст "Ургентно").
⚠️ Внимание: Условное форматирование не изменяет сами данные, а только их отображение. Если вы экспортируете таблицу в PDF или печатаете, цвета сохранятся, но в других форматах (например, CSV) — нет.

3. Формулы для поиска нескольких значений (VLOOKUP, XLOOKUP, INDEX+MATCH)

Когда нужно не просто найти, а извлечь данные в отдельный список (например, для дальнейшего анализа), на помощь приходят формулы. Рассмотрим три самых эффективных подхода.

3.1. VLOOKUP для поиска по одному критерию

VLOOKUP — классическая формула для вертикального поиска, но она имеет ограничение: ищет только одно значение за раз. Однако её можно обернуть в IFERROR или CHOOSEROWS (в новых версиях Excel), чтобы обработать несколько критериев.

Пример: найти цену для артикулов "A100" и "B200" из таблицы:

=ЕСЛИОШИБКА(ВПР("A100"; A2:B100; 2; ЛОЖЬ); ВПР("B200"; A2:B100; 2; ЛОЖЬ))

3.2. XLOOKUP — современная альтернатива

XLOOKUP (доступен с Excel 2019 и Microsoft 365) лишён многих недостатков VLOOKUP. Он умеет искать в любом направлении и возвращать несколько результатов через массив.

Пример: извлечь все цены для списка артикулов в диапазоне D2:D5:

=XLOOKUP(D2:D5; A2:A100; B2:B100; "Не найдено"; 0; 1)

3.3. INDEX+MATCH для сложных условий

Комбинация INDEX+MATCH — самая гибкая. Она позволяет искать по нескольким критериям одновременно (например, найти цену товара "A100" в регионе "Москва").

Пример: найти значение на пересечении строки с "A100" и столбца "Цена":

=ИНДЕКС(B2:D100; ПОИСКПОЗ("A100"; A2:A100; 0); ПОИСКПОЗ("Цена"; B1:D1; 0))

Сравнение формул:

ФормулаПоддержка нескольких критериевНаправление поискаОбработка ошибокСовместимость
VLOOKUP❌ НетТолько влево→вправоТребует IFERRORВсе версии
XLOOKUP✅ Да (через массивы)ЛюбоеВстроеннаяExcel 2019+
INDEX+MATCH✅ ДаЛюбоеТребует IFERRORВсе версии
⚠️ Внимание: Формулы массива (например, XLOOKUP с диапазоном) в старых версиях Excel требуют подтверждения клавишами Ctrl+Shift+Enter. В новых версиях это не нужно.

☑️ Подготовка к использованию формул

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

4. Функция FILTER (динамический поиск в Excel 365)

Функция FILTER — революционное novelty для пользователей Excel 365, которое позволяет извлекать несколько значений по критериям без вспомогательных столбцов. Она возвращает динамический массив, который автоматически обновляется при изменении исходных данных.

Синтаксис:

=FILTER(диапазон_для_фильтрации; (условие1) * (условие2); "Сообщение_если_ничего_не_найдено")

Примеры использования:

  • 📋 Извлечь все строки, где в столбце A значение "Да", а в столбце B > 100:
    =FILTER(A2:C100; (A2:A100="Да") * (B2:B100>100); "Нет данных")
  • 🔍 Найти сотрудников из отдела "IT" с зарплатой > 50 000:
    =FILTER(Table1; (Table1[Отдел]="IT") * (Table1[Зарплата]>50000); "")

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

  • 🔄 Динамичность — результат обновляется в реальном времени.
  • 📊 Совместимость с другими функциями массива (например, SORT, UNIQUE).
  • 🚀 Производительность — работает быстрее, чем VLOOKUP в больших таблицах.

Ограничения:

  • ❌ Доступна только в Excel 365 и Excel 2021.
  • ❌ Не работает с закрытыми книгами (требуется открытый файл).
Как обойти ограничение FILTER в старых версиях Excel?

В Excel 2016 и ранее можно эмулировать FILTER с помощью комбинации INDEX + AGGREGATE. Например:

=ИНДЕКС($A$2:$C$100; НАИМЕНЬШИЙ(ЕСЛИ(($A$2:$A$100="Да")*($B$2:$B$100>100); СТРОКА($A$2:$A$100)-1); СТРОКА(A1)); )
Важно: это формула массива — подтверждайте её Ctrl+Shift+Enter.

5. Power Query для сложного поиска и трансформации данных

Если вам нужно не только найти несколько значений, но и преобразовать их (например, объединить данные из разных файлов, очистить дубликаты или изменить формат), Power Query — идеальный инструмент. Он встроен в Excel с 2016 года и доступен через вкладку ДанныеПолучить данные.

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

  1. Выделите исходную таблицу и нажмите ДанныеИз таблицы/диапазона (или Получить данныеИз файла, если данные внешние).
  2. В открывшемся редакторе Power Query выберите столбец, по которому нужно фильтровать.
  3. Нажмите на стрелочку в заголовке столбца и снимите галочки со всех значений, кроме нужных (или используйте Текстовые фильтрыРавно).
  4. При необходимости добавьте дополнительные шаги трансформации (например, удаление столбцов, замена значений).
  5. Нажмите Закрыть и загрузить, чтобы вернуть данные в Excel.

Преимущества Power Query:

  • 🔄 Автоматизация — запрос можно обновлять одним кликом (ДанныеОбновить все).
  • 📂 Работа с большими данными — обрабатывает миллионы строк без тормозов.
  • 🔗 Объединение источников — можно связать данные из Excel, CSV, баз данных или API.

Пример: вам нужно найти все заказы клиента "Иванов" за 2023 год из таблицы в 50 000 строк. В Power Query это займёт 2–3 минуты, тогда как формулы или фильтры могут зависнуть.

⚠️ Внимание: После загрузки данных через Power Query они становятся статичными. Чтобы обновить результаты при изменении исходной таблицы, используйте кнопку Обновить все или настройте автоматическое обновление (Свойства связиОбновлять каждые N минут).

6. Поиск с помощью сводных таблиц

Сводные таблицы часто ассоциируются с агрегацией данных (суммы, средние), но они также отлично подходят для поиска нескольких значений с группировкой. Например, можно быстро увидеть все продажи по выбранным регионам или категориям товаров.

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

  1. Выделите исходную таблицу (включая заголовки).
  2. Перейдите на вкладку ВставкаСводная таблица.
  3. В открывшемся окне выберите, куда поместить сводную таблицу (на новый лист или в текущий).
  4. В панели Поля сводной таблицы перетащите нужный столбец в область Строки (например, "Категория").
  5. Нажмите на стрелочку рядом с названием поля и выберите только те значения, которые нужно отобразить (например, "Электроника" и "Одежда").
  6. При необходимости добавьте другие поля в Значения (например, сумму продаж).

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

  • 📊 Интерактивность — можно разворачивать/сворачивать группы данных.
  • 🔍 Фильтрация на лету — достаточно снять/поставить галочки в списке значений.
  • 📈 Визуализация — данные можно сразу преобразовать в диаграмму.

Пример: у вас есть таблица продаж с колонками "Регион", "Товар", "Сумма". С помощью сводной таблицы за 30 секунд можно увидеть суммарные продажи по товарам "Ноутбук" и "Смартфон" в регионах "Москва" и "Санкт-Петербург".

Совет: чтобы сохранить фильтрацию для будущего использования, настройте Срезы (Анализ сводной таблицыВставить срез). Они позволяют быстро переключаться между наборами значений.

7. Макросы и VBA для автоматизации поиска

Если вам регулярно приходится искать несколько значений по сложным критериям, имеет смысл автоматизировать процесс с помощью VBA. Например, можно написать макрос, который:

  • Ищет значения из списка в другом листе.
  • Копирует найденные строки в новую таблицу.
  • Отправляет результаты по email.

Пример кода для поиска нескольких значений в столбце A и копирования соответствующих строк в лист Результаты:

Sub FindMultipleValues()

Dim wsSource As Worksheet, wsResult As Worksheet

Dim searchRange As Range, cell As Range

Dim searchValues As Variant, i As Long

Dim lastRow As Long, pasteRow As Long

' Настройте здесь

Set wsSource = ThisWorkbook.Sheets("Данные") ' Лист с исходными данными

Set wsResult = ThisWorkbook.Sheets("Результаты") ' Лист для результатов

searchValues = Array("Значение1", "Значение2", "Значение3") ' Что искать

' Очистка листа с результатами

wsResult.Cells.ClearContents

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

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

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

pasteRow = 1

For Each cell In searchRange

For i = LBound(searchValues) To UBound(searchValues)

If cell.Value = searchValues(i) Then

cell.EntireRow.Copy wsResult.Cells(pasteRow, 1)

pasteRow = pasteRow + 1

Exit For

End If

Next i

Next cell

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

End Sub

Как использовать:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (InsertModule).
  3. Настройте имена листов и искомые значения в массиве searchValues.
  4. Запустите макрос нажатием F5.

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

  • ⚡ Скорость — обрабатывает большие данные быстрее, чем формулы.
  • 🤖 Автоматизация — можно запускать по расписанию или по событию (например, при открытии файла).
  • 📂 Гибкость — можно интегрировать с другими офисными приложениями (например, отправлять результаты в Outlook).
⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов) и убедитесь, что в настройках безопасности разрешено выполнение макросов (ФайлПараметрыЦентр управления безопасностьюПараметры центра...Настройки макросов).

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

Можно ли искать несколько значений в Google Таблицах?

Да, все описанные методы (кроме Power Query и VBA) работают и в Google Sheets. Вместо FILTER в Excel 365 там используется =FILTER(A2:B100; REGEXMATCH(A2:A100; "Значение1|Значение2")). Также в Google Таблицах есть аналог XLOOKUP=XLOOKUP (с 2020 года).

Как найти несколько значений в Excel Online?

В веб-версии Excel доступны фильтры, условное форматирование и базовые формулы (VLOOKUP, INDEX+MATCH). Функции FILTER и XLOOKUP работают только в Excel 365 на настольных ПК. Power Query и VBA в онлайн-версии недоступны.

Почему VLOOKUP не находит несколько значений?

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

  • Формулу массива с INDEX+SMALL (для старых версий Excel).
  • Функцию FILTER (Excel 365).
  • Сводную таблицу или Power Query.
Как искать значения с учётом регистра?

Excel по умолчанию игнорирует регистр при поиске. Чтобы учитывать регистр:

  • Используйте формулу =EXACT(A2; "Текст") в условном форматировании.
  • В Power Query добавьте столбец с функцией Text.Lower или Text.Upper для нормализации данных.
  • В VBA используйте StrComp(cell.Value, "Текст", vbBinaryCompare) = 0.
Можно ли искать значения по частичному совпадению?

Да, для этого используйте подстановочные знаки:

  • В фильтрах: введите часть_текста (например, ов найдёт "Иванов", "Петров").
  • В формулах: =XLOOKUP("" & D2 & ""; A2:A100; B2:B100).
  • В Power Query: Text.Contains([Столбец], "часть_текста").