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

Работа с большими таблицами в Microsoft Excel часто превращается в поиск иголки в стоге сена — особенно когда нужно отфильтровать данные по двум и более критериям одновременно. Стандартный автофильтр справляется с простыми задачами, но что делать, если вам требуется двойная фильтрация? Например, показать только продажи конкретного менеджера за последний квартал и с суммой заказа выше 50 000 ₽.

В этой статье разберём три профессиональных метода создания двойного фильтра: от базового сочетания автофильтра с ручной сортировкой до автоматизированных решений с формулами ФИЛЬТР() и макросами. Каждый способ проиллюстрирован скриншотами и примерами из реальных бизнес-задач — от учёта товаров на складе до анализа финансовых отчётов.

Важно: все инструкции актуальны для Excel 2013–2026 и Office 365. Если вы работаете в Google Таблицах, часть функций может отличаться — об этом мы тоже упомянем в соответствующих разделах.

📊 Какой версии Excel вы пользуетесь?
Excel 2013-2019
Excel 2021/2026
Office 365
Google Таблицы
Другая

1. Способ №1: Комбинация автофильтра и ручной сортировки

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

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

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

Excel автоматически применит логическое И между фильтрами — то есть покажет только строки, соответствующие обоим условиям одновременно.

Ограничения метода

Этот способ работает только для двух критериев в разных столбцах. Если вам нужно:

  • 🔹 Применить фильтр по двум условиям в одном столбце (например, "Цена > 10000 И Цена < 50000"),
  • 🔹 Использовать более двух критериев одновременно,
  • 🔹 Сохранить фильтр для повторного использования,

— переходите к следующему способу.

2. Способ №2: Расширенный фильтр (для сложных условий)

Расширенный фильтр (Данные → Сортировка и фильтр → Дополнительно) позволяет задавать несколько условий в одном столбце, а также сохранять результаты фильтрации в отдельном диапазоне. Это идеальный инструмент для работы с большими массивами данных, где требуется гибкость.

Пример задачи: отфильтровать заказы, где:

  • 📅 Дата попадает в диапазон "01.01.2026–31.03.2026",
  • 💰 Сумма заказа > 50 000 ₽,
  • 📍 Регион доставки — "Москва" или "Санкт-Петербург".

Для этого:

  1. Создайте диапазон условий (например, в ячейках A1:C3) с заголовками, совпадающими с исходной таблицей:
ДатаСуммаРегион
>=01.01.2026>50000Москва
<=31.03.2026Санкт-Петербург

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

Далее:

  1. Перейдите в Данные → Сортировка и фильтр → Дополнительно.
  2. В поле "Исходный диапазон" укажите вашу таблицу (например, $A$1:$D$1000).
  3. В поле "Диапазон условий" выберите созданный вами диапазон с критериями.
  4. Укажите, куда вывести результат (можно в ту же таблицу или на другой лист).
  5. Нажмите OK.

Создать диапазон условий с точными заголовками|Проверить формат дат (DD.MM.YYYY)|Указать абсолютные ссылки ($A$1) в диапазонах|Выделить место для вывода результата-->

⚠️ Внимание: Если в диапазоне условий указать несуществующее значение (например, "Регион = Марс"), Excel вернёт пустой результат без ошибки. Всегда проверяйте корректность критериев!

3. Способ №3: Формула ФИЛЬТР() для динамической фильтрации (Excel 365 и 2021)

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

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

=ФИЛЬТР(массив; (условие1) * (условие2); "Нет данных")

Где:

  • массив — диапазон данных для фильтрации,
  • условие1 * условие2 — логическое умножение (И),
  • "Нет данных" — сообщение, если ничего не найдено.

Пример: отфильтруем товары категории "Электроника" с ценой > 20 000 ₽:

=ФИЛЬТР(A2:D100; (B2:B100="Электроника") * (C2:C100>20000); "Нет подходящих товаров")

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

Как эмулировать ФИЛЬТР() в Excel 2016?

Используйте формулу массива (вводится через Ctrl+Shift+Enter):

=ИНДЕКС($A$2:$D$100; НЕОШИБКА(ПОИСКПОЗ(1; (($B$2:$B$100="Электроника")*($C$2:$C$100>20000))*СТРОКА($A$2:$A$100)-СТРОКА($A$2)+1; 0)); "")

Обратите внимание: в Excel 2016 эта формула требует ручного подтверждения массива (Ctrl+Shift+Enter).

4. Автоматизация двойного фильтра с помощью VBA

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

Пример кода для фильтрации по двум столбцам (например, "Категория = Мебель" И "Цена > 15000"):

Sub DoubleFilter()

Dim ws As Worksheet

Set ws = ActiveSheet

With ws.Range("A1").CurrentRegion

.AutoFilter Field:=2, Criteria1:="Мебель" ' Столбец B (Категория)

.AutoFilter Field:=3, Criteria1:=">15000" ' Столбец C (Цена)

End With

End Sub

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

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код в модуль (вкладка Insert → Module).
  3. Закройте редактор и назначьте макрос на кнопку или горячую клавишу.
⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов), иначе код не будет работать!

5. Двойной фильтр в сводных таблицах

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

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

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

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

  • 📊 Визуальное представление отфильтрованных данных,
  • 🔄 Возможность быстро менять критерии фильтрации,
  • 📈 Автоматическое обновление при изменении исходных данных.

Недостаток: сводные таблицы требуют предварительной настройки и не подходят для одноразовых задач.

6. Частые ошибки и как их избежать

Даже опытные пользователи Excel сталкиваются с проблемами при настройке двойного фильтра. Вот самые распространённые ошибки и способы их решения:

ОшибкаПричинаРешение
Фильтр не находит данные, которые есть в таблицеНесовпадение форматов (например, число хранится как текст)Используйте функцию ЗНАЧЕН() для преобразования форматов
Расширенный фильтр возвращает пустой результатОпечатка в диапазоне условий или неверные заголовкиПроверьте точное совпадение заголовков в исходной таблице и диапазоне условий
Формула ФИЛЬТР() выдаёт #ИМЯ?Функция не поддерживается в вашей версии ExcelОбновите Excel или используйте альтернативу (ИНДЕКС+ПОИСКПОЗ)
Макрос не применяет фильтрНе указан лист или диапазонДобавьте в код явное указание листа: Worksheets("Лист1").Range(...)

Если фильтр работает неправильно, проверьте:

  • 🔍 Форматы данных: даты должны быть в формате ДД.ММ.ГГГГ, числа — не как текст.
  • 🔍 Регистр: фильтр чувствителен к регистру ("Москва" ≠ "москва").
  • 🔍 Скрытые символы: пробелы или непечатаемые символы могут мешать фильтрации.

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

Выбор метода зависит от вашей задачи, версии Excel и уровня подготовки. Вот сравнительная таблица:

МетодСложностьГибкостьАвтоматизацияПодходит для
Автофильтр + сортировкаНизкаяНетОднократная фильтрация, небольшие таблицы
Расширенный фильтр⭐⭐ВысокаяЧастичноСложные критерии, большие данные
Функция ФИЛЬТР()⭐⭐Очень высокаяДаExcel 365/2021, динамические данные
Макросы VBA⭐⭐⭐ЛюбаяДаПовторяющиеся задачи, автоматизация
Сводные таблицы⭐⭐СредняяДаАналитика, группировка данных

Для большинства пользователей оптимальным решением будет расширенный фильтр — он сочетает гибкость и простоту. Если вы работаете в Excel 365, переходите на ФИЛЬТР() — это будущее анализа данных.

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

Можно ли сделать двойной фильтр в Google Таблицах?

Да, в Google Таблицах двойной фильтр настраивается аналогично Excel:

  1. Выделите данные и нажмите Данные → Создать фильтр.
  2. Примените первый критерий в выпадающем списке столбца.
  3. Примените второй критерий в другом столбце.

Для сложных условий используйте функцию FILTER() (аналог ФИЛЬТР() в Excel 365).

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

Используйте расширенный фильтр:

  1. Создайте диапазон условий.
  2. В настройках расширенного фильтра укажите "Скопировать результат в другое место".
  3. Выберите верхнюю левую ячейку на новом листе как место вывода.

Или используйте формулу =ФИЛЬТР() на другом листе, ссылаясь на исходные данные.

Почему фильтр не работает с датами?

Чаще всего проблема в формате ячеек:

  • Убедитесь, что столбец с датами имеет формат Дата (а не Текст или Общий).
  • В диапазоне условий используйте формат ДД.ММ.ГГГГ (например, >=01.01.2026).
  • Проверьте, нет ли в данных "текстовых" дат (например, "1 января" вместо 01.01.2026).

Для исправления выделите столбец → Формат ячеек → Дата.

Можно ли применить двойной фильтр к данным на другом листе?

Да, но с оговорками:

  • В автофильтре и расширенном фильтре нужно сначала скопировать данные на один лист.
  • В формуле ФИЛЬТР() можно ссылаться на другой лист: =ФИЛЬТР(Лист2!A2:D100; ...).
  • В сводных таблицах укажите источник данных с другого листа при создании.
Как убрать двойной фильтр после применения?

Способы сброса фильтра:

  • Для автофильтра: нажмите Данные → Фильтр (или Ctrl+Shift+L) ещё раз.
  • Для расширенного фильтра: нажмите Данные → Сортировка и фильтр → Очистить.
  • Для сводных таблиц: нажмите кнопку "Очистить фильтры" в панели инструментов.
  • Для формулы ФИЛЬТР(): просто удалите формулу или измените условия.