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

Почему стандартный поиск не подходит для нескольких значений

Вы когда-нибудь пытались найти в Excel сразу несколько слов или чисел, но получали результаты только по одному критерию? Стандартная функция НАЙТИ или инструмент Ctrl+F работают с единственным условием — это их главный недостаток при анализе больших таблиц. Представьте: у вас список из 10 000 строк с данными о продажах, и нужно выделить все записи, где встречаются одновременно "Москва", "2026" и сумма больше 50 000 ₽. Вручную это займёт часы.

К счастью, в Excel есть как минимум 5 способов искать несколько значений сразу — от элементарных до профессиональных. Некоторые методы требуют знания формул, другие обходятся без них. В этой статье разберём каждый вариант с практическими примерами, чтобы вы могли выбрать оптимальный для своей задачи. А ещё покажем, как автоматизировать процесс, чтобы не повторять поиск вручную при обновлении данных.

Ключевой момент: выбор метода зависит от цели. Если нужно просто выделить строки — подойдёт условное форматирование. Если требуется извлечь данные — понадобятся функции ФИЛЬТР или Power Query. Если важна позиция значений — поможет ПОИСКПОЗ с массивами.

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

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

Как это работает:

  • 🔍 Выделяем диапазон данных (например, A1:D1000).
  • 🎨 Переходим на вкладку Главная → Условное форматирование → Создать правило.
  • 📝 Выбираем тип правила "Использовать формулу для определения форматируемых ячеек".
  • 💡 Вводим формулу типа =И(ЕЧИСЛО(ПОИСК("Москва";A1)); ЕЧИСЛО(ПОИСК("2026";B1)); C1>50000) (где A1, B1, C1 — столбцы с искомыми данными).

Важно: формула должна возвращать ИСТИНА для ячеек, которые нужно выделить. Используйте $A1 для фиксации столбца, но не строки, чтобы правило применялось ко всему диапазону.

Тип данных Пример формулы Пояснение
Текст =И(ЕЧИСЛО(ПОИСК("текст1";A1)); ЕЧИСЛО(ПОИСК("текст2";B1))) Ищет оба слова в разных столбцах
Числа =И(A1>100; B1<500) Ищет значения в диапазоне
Дата =И(A1>=ДАТА(2026;1;1); A1<=ДАТА(2026;12;31)) Фильтр по периоду

⚠️ Внимание: Условное форматирование не работает с динамическими массивами (например, результатами функции ФИЛЬТР). Для таких случаев используйте Power Query.

Способ 2: Функция ФИЛЬТР для извлечения данных

Если вам нужно не просто выделить, а извлечь строки, соответствующие нескольким критериям, используйте функцию ФИЛЬТР (доступна в Excel 365 и Excel 2021). Она возвращает динамический массив, который автоматически обновляется при изменении исходных данных.

Базовый синтаксис:

=ФИЛЬТР(

диапазон_данных;

(условие1) (условие2) ...;

"Не найдено"

)

Пример: извлечём все строки, где в столбце A есть "Москва", в столбце B — "2026", а в столбце C сумма больше 50 000:

=ФИЛЬТР(

A2:D1000;

(A2:A1000="Москва") (B2:B1000="2026") (C2:C1000>50000);

"Нет данных"

)

Убедитесь, что ваша версия Excel поддерживает динамические массивы (365 или 2021)

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

Используйте * для логического И, + для логического ИЛИ

Задайте текст для пустого результата (например, "Нет данных")-->

Преимущество: результат автоматически обновляется при изменении исходных данных. Недостаток: не работает в старых версиях Excel (2019 и ранее).

Excel 365 (подписка)|Excel 2021|Excel 2019|Excel 2016 или старше-->

Способ 3: Продвинутый поиск с ПОИСКПОЗ и ИНДЕКС

Для пользователей старых версий Excel (до 2019 года) или тех, кто предпочитает классические формулы, подойдёт комбинация ПОИСКПОЗ + ИНДЕКС. Этот метод требует больше усилий, но даёт гибкость в обработке результатов.

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

  1. Создайте вспомогательный столбец с формулой, которая проверяет все условия. Например:
    =И(ЕЧИСЛО(ПОИСК("Москва";A2)); B2="2026"; C2>50000)

    Эта формула вернёт ИСТИНА или ЛОЖЬ для каждой строки.

  2. Используйте ПОИСКПОЗ, чтобы найти номера строк с ИСТИНА:
    =ПОИСКПОЗ(ИСТИНА; D2:D1000; 0)

    (где D2:D1000 — диапазон со вспомогательной формулой).

  3. Примените ИНДЕКС, чтобы извлечь данные по найденным строкам:
    =ИНДЕКС(A2:C1000; ПОИСКПОЗ(ИСТИНА; D2:D1000; 0); 0)

⚠️ Внимание: Если условиям соответствует несколько строк, ПОИСКПОЗ вернёт только первую. Чтобы извлечь все совпадения, понадобится формула массива (вводится с Ctrl+Shift+Enter в старых версиях).

Формула массива для нескольких результатов

=ИНДЕКС($A$2:$C$1000; НАЙТИ(ИСТИНА; --($D$2:$D$1000=ИСТИНА); СТРОКА($A$2:$A$1000)-МИН(СТРОКА($A$2:$A$1000))+1); )

Вводится как формула массива (в Excel 365 автоматически, в старых версиях — Ctrl+Shift+Enter).

Способ 4: Power Query для сложных запросов

Если вам нужно искать несколько значений в больших наборах данных (от 100 000 строк) или комбинировать условия из разных таблиц, Power Query станет лучшим решением. Этот инструмент встроен в Excel 2016 и новее (вкладка Данные → Получить данные).

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

  1. Выделите исходные данные и нажмите Данные → Из таблицы/диапазона (или Получить данные → Из других источников → Пустая запрос).
  2. В редакторе Power Query примените фильтры:
    • 🔄 Выберите столбец → Фильтры текста → Содержит → введите первое значение.
    • 🔄 Повторите для других столбцов (удерживайте Ctrl, чтобы добавить несколько фильтров).
    • 🔄 Для числовых условий используйте Фильтры чисел → Больше/Меньше.
  • Нажмите Закрыть и загрузить, чтобы вернуть отфильтрованные данные на новый лист.
  • Плюсы: обрабатывает миллионы строк, поддерживает соединение таблиц, сохраняет шаги фильтрации для повторного использования. Минусы: требует изучения интерфейса Power Query.

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

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

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

    • 📊 Выделите исходные данные и создайте сводную таблицу (Вставка → Сводная таблица).
    • 🔧 Перетащите нужные столбцы в области Строки, Столбцы и Значения.
    • 🔍 Используйте Фильтры, чтобы задать несколько условий:
      • Выберите столбец в области Фильтры.
      • Нажмите на стрелку фильтра → Фильтры по значению или Фильтры по метке.
      • Задайте условия (например, "содержит 'Москва' И '2026'").

    Пример: нужно найти сумму продаж в Москве за 2026 год по товарам категории "Электроника":

    1. Поместите Город и Категория в Строки.
    2. Поместите Сумма в Значения (опция Сумма).
    3. Добавьте Год в Фильтры и выберите "2026".
    4. Добавьте Город в Фильтры и выберите "Москва".

    ⚠️ Внимание: Сводные таблицы не обновляются автоматически при изменении исходных данных. Не забывайте нажимать Обновить (правая кнопка мыши на таблице → Обновить).

    Сравнение методов: какой выбрать?

    Выбор способа зависит от задачи, объёма данных и версии Excel. Ниже таблица поможет определиться:

    Метод Подходит для Плюсы Минусы Версия Excel
    Условное форматирование Визуальный поиск Быстро, не требует формул Не извлекает данные Любая
    Функция ФИЛЬТР Извлечение динамических данных Автообновление, гибкие условия Только Excel 365/2021 365, 2021
    ПОИСКПОЗ + ИНДЕКС Сложные условия в старых версиях Работает везде, точный контроль Сложный синтаксис Любая
    Power Query Большие данные, регулярные отчёты Обрабатывает миллионы строк Требует обучения 2016 и новее
    Сводные таблицы Анализ с агрегацией Группировка, фильтры, расчёты Не автообновляется Любая

    Если вам нужно найти несколько значений в таблице более 100 000 строк, Power Query — единственный надёжный вариант: он не тормозит и сохраняет настройки фильтров.

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

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

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

    Как искать значения с учётом регистра?

    Стандартные функции ПОИСК и НАЙТИ регистрозависимы, но для точного поиска используйте:

    =И(НЕ(ЕОШ(ПОИСК("Москва";A1))); НЕ(ЕОШ(ПОИСК("2026";B1))))

    Здесь ЕОШ проверяет ошибку (если текст не найден). Для ФИЛЬТР используйте ТОЧНОЕ или СОВПАД.

    Почему ФИЛЬТР возвращает ошибку #ЗНАЧ?

    Ошибка возникает, если:

    • Диапазоны в условиях разной длины (например, A2:A100 и B2:B99).
    • Используете ИЛИ вместо И (замените * на +).
    • В данных есть ошибки (#Н/Д, #ДЕЛ/0!). Обработайте их функцией ЕОШ.

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

    Если использовали ФИЛЬТР или Power Query:

    1. Скопируйте отфильтрованные данные (Ctrl+C).
    2. Создайте новый файл и вставьте как Значения (правая кнопка → Специальная вставка → Значения).
    3. Для Power Query: нажмите Закрыть и загрузить в... → выберите Новая книга.

    Можно ли искать значения по шаблону (например, "Товар_*")?

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

    • ? — любой одиночный символ (например, "Товар?" найдёт "Товар1", "ТоварА").
    • — любая последовательность (например, "Товар" найдёт "Товар_2026", "Товар_премиум").

    Пример для ФИЛЬТР:

    =ФИЛЬТР(A2:B100; ЕЧИСЛО(ПОИСК("Товар*"; A2:A100)))