Как поставить два фильтра в Excel: 3 рабочих способа с примерами

Почему стандартный фильтр в Excel ограничивает возможности пользователей

Работа с большими массивами данных в Microsoft Excel часто требует одновременного применения нескольких условий фильтрации. Однако стандартный инструмент Фильтр (доступный через Данные → Фильтр) позволяет использовать только одно условие для каждого столбца. Это создаёт проблемы, когда нужно, например, отобразить записи, где Цена > 1000 и одновременно Дата доставки = "2026" или Статус = "В обработке".

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

Важно: все инструкции актуальны для Excel 2019–2026 (включая Microsoft 365) и Excel Online. Для старых версий (2016 и ранее) некоторые функции могут отсутствовать.

📊 Какой инструмент Excel вы используете чаще?
Фильтр
Сводные таблицы
Формулы
Power Query
Другой

Способ 1: Расширенный фильтр — как применить два условия к одной таблице

Расширенный фильтр — встроенный инструмент Excel, который позволяет задавать несколько критериев для одного или нескольких столбцов. В отличие от стандартного фильтра, здесь условия можно комбинировать через логические операторы И (AND) и ИЛИ (OR).

Пример задачи: нужно отфильтровать товары, где Категория = "Электроника" и (Цена > 5000 или Склад = "Москва"). Для этого:

  1. Создайте диапазон критериев над или рядом с таблицей. Скопируйте туда заголовки столбцов, по которым будете фильтровать (например, Категория, Цена, Склад).

  2. Под заголовками укажите условия:

    =Электроника
    

    >5000

    Москва

    Важно: условия для оператора ИЛИ пишутся в одной строке под разными столбцами, а для И — в разных строках.

  3. Перейдите в Данные → Сортировка и фильтр → Расширенный фильтр.

  4. В окне настройки укажите:

    • 📍 Исходный диапазон — ваша таблица с данными (включая заголовки).
    • 📌 Диапазон критериев — ячейки с условиями (включая заголовки).
    • 🖥️ Поместить результат — выберите на другом месте и укажите ячейку для вывода отфильтрованных данных.

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

Заголовки в таблице и критериях совпадают|Условия для "ИЛИ" записаны в одной строке|Диапазон критериев включает заголовки|Нет пустых строк между условиями-->

Способ 2: Функция ФИЛЬТР (FILTER) — динамическая фильтрация без макросов

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

Синтаксис функции:

=ФИЛЬТР(массив; (условие1) * (условие2); [если_пусто])

Где:

  • 📊 массив — диапазон данных для фильтрации (например, A2:D100).
  • 🔍 условие1 условие2 — логические выражения, соединённые оператором умножения () для И или сложения (+) для ИЛИ.
  • ⚠️ [если_пусто] — значение, которое будет выведено, если нет совпадений (необязательно).

Пример: отфильтруем строки, где Регион = "Сибирь" и Продажи > 100:

=ФИЛЬТР(A2:D100; (B2:B100="Сибирь") * (D2:D100>100); "Нет данных")

⚠️ Внимание: Функция ФИЛЬТР работает только в динамических массивах. В старых версиях Excel (2019 и ранее) она недоступна — используйте ИНДЕКС + ПОИСКПОЗ или Power Query.

Для оператора ИЛИ замените * на +:

=ФИЛЬТР(A2:D100; (B2:B100="Сибирь") + (B2:B100="Дальний Восток"); "Нет данных")

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

Для трёх и более условий "И" используйте цепочку умножений:

=ФИЛЬТР(A2:D100; (B2:B100="Сибирь")  (D2:D100>100)  (C2:C100<>"Архив"); "Нет данных")

Для "ИЛИ" — цепочку сложений. Чтобы избежать ошибок, группируйте условия скобками.

Способ 3: Power Query — профессиональная фильтрация для больших данных

Power QueryExcel 2016 и новее) — это инструмент для ETL-процессов (извлечение, преобразование, загрузка данных). Он позволяет применять несколько фильтров последовательно, а также сохранять шаги обработки для повторного использования.

Алгоритм работы:

  1. Выделите таблицу и перейдите в Данные → Получить данные → Из таблицы/диапазона.

  2. В открывшемся редакторе Power Query выберите столбец, по которому нужно фильтровать, и нажмите на стрелку в заголовке.

  3. Задайте первое условие (например, Текстовые фильтры → Равно → Электроника).

  4. Нажмите Добавить фильтр по этому столбцу и выберите второе условие (например, Числовые фильтры → Больше → 5000).

  5. В выпадающем меню И/ИЛИ выберите нужный оператор.

  6. Нажмите Закрыть и загрузить, чтобы вернуть отфильтрованные данные в Excel.

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

  • 🔄 Возможность сохранять шаги и обновлять данные одним кликом.
  • 📊 Поддержка многокритериальной фильтрации с любым количеством условий.
  • 🔗 Интеграция с внешними источниками (SQL, CSV, веб-страницы).

⚠️ Внимание: При работе с Power Query исходные данные не изменяются — результат выводится на новый лист. Чтобы обновить фильтрацию после изменения исходной таблицы, нажмите Данные → Обновить все.

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

Выбор метода зависит от версии Excel, объёма данных и частоты обновлений. В таблице ниже — ключевые отличия:

Критерий Расширенный фильтр Функция ФИЛЬТР Power Query
Версия Excel 2007–2026 365, 2021 2016–2026
Динамическое обновление ❌ Нет (нужно запускать вручную) ✅ Да ✅ Да (через "Обновить все")
Сложные условия (И/ИЛИ) ✅ Да ✅ Да ✅ Да
Работа с большими данными (>100к строк) ⚠️ Медленно ⚠️ Зависит от ПК ✅ Быстро
Сохранение шагов ❌ Нет ❌ Нет (только в формуле) ✅ Да

Для разовых задач подойдёт расширенный фильтр, для динамических отчётовФИЛЬТР, а для регулярной обработки больших данныхPower Query.

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

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

  1. Ошибка #1: Расширенный фильтр не показывает результаты.
    Причина: Несовпадение заголовков в таблице и диапазоне критериев.
    Решение: Проверьте регистр, пробелы и символы в названиях столбцов. Используйте ТРИМ для удаления лишних пробелов:

    =ТРИМ(A1)

  2. Ошибка #2: Функция ФИЛЬТР возвращает #ЗНАЧ!.
    Причина: Размер массива не совпадает с размером условий.
    Решение: Убедитесь, что диапазоны в формуле имеют одинаковое количество строк:

    =ФИЛЬТР(A2:D100; (B2:B100="Да") * (C2:C100>10)); "Ошибка"

  3. Ошибка #3: Power Query не сохраняет фильтры после обновления.
    Причина: Изменён источник данных (например, добавлены новые столбцы).
    Решение: Откройте редактор Power Query и обновите шаги вручную или пересоздайте запрос.

Если вы работаете с сводными таблицами, помните: они поддерживают несколько фильтров по умолчанию. Достаточно перетащить поля в область Фильтры и настроить условия через выпадающее меню.

Практические примеры: фильтрация в реальных задачах

Рассмотрим три типичных бизнес-задачи, где требуется двойная фильтрация:

  1. Задача 1: Отчёт по продажам.
    Условие: Показать сделки, где Менеджер = "Иванов" и (Сумма > 5000 или Статус = "Оплачено").
    Решение: Используйте ФИЛЬТР с комбинацией * и +:

    =ФИЛЬТР(A2:E100; (B2:B100="Иванов") * ((D2:D100>5000) + (E2:E100="Оплачено")); "Нет данных")

  2. Задача 2: Анализ запасов на складах.
    Условие: Найти товары, где Количество < 10 и (Категория = "Электроника" или Поставщик = "ABC").
    Решение: Настройте расширенный фильтр с двумя строками критериев:

    =Электроника
    <10
    

    ABC

  3. Задача 3: Мониторинг задач в проекте.
    Условие: Вывести задачи, где Дата завершения > сегодня и (Приоритет = "Высокий" или Ответственный = "Петров").
    Решение: В Power Query добавьте два фильтра к столбцу Приоритет с оператором ИЛИ.

Для визуализации результатов используйте условное форматирование (например, подсветку строк, соответствующих критериям). Выделите отфильтрованные данные и примените правило через Главная → Условное форматирование → Создать правило.

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

Можно ли применить два фильтра к одной колонке (например, цена от 1000 до 5000)?

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

>=1000
<=5000

Или функцию ФИЛЬТР:

=ФИЛЬТР(A2:D100; (C2:C100>=1000) * (C2:C100<=5000); "Нет данных")

Почему после применения расширенного фильтра пропадают данные?

Вероятные причины:

  • 🔹 В диапазоне критериев есть пустые строки между условиями.
  • 🔹 Заголовки в таблице и критериях не совпадают (проверьте пробелы и регистр).
  • 🔹 В исходных данных есть объединённые ячейки.

Решение: очистите форматирование (выделите таблицу → Главная → Очистить → Очистить форматы) и проверьте заголовки.

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

Способы:

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

Работает ли двойная фильтрация в Google Sheets?

Да, в Google Таблицах есть аналоги:

  • 🔹 =FILTER — полный аналог функции ФИЛЬТР из Excel.
  • 🔹 Query — мощный инструмент для сложных запросов (аналог Power Query):
    =QUERY(A1:D100; "SELECT * WHERE B = 'Да' AND (C > 10 OR D = 'Активен')"; 1)

Расширенного фильтра в классическом виде нет, но его заменяет Query.

Можно ли автоматизировать двойную фильтрацию через VBA?

Да, пример макроса для расширенного фильтра:

Sub AdvancedFilterExample()

Dim ws As Worksheet

Set ws = ActiveSheet

ws.Range("A1:D100").AdvancedFilter _

Action:=xlFilterInPlace, _

CriteriaRange:=ws.Range("F1:G2"), _

Unique:=False

End Sub

Где F1:G2 — диапазон с критериями. Для динамического обновления используйте событие Worksheet_Change.