Работа с большими таблицами в Microsoft Excel часто превращается в поиск иголки в стоге сена — особенно когда нужно отфильтровать данные по двум и более критериям одновременно. Стандартный автофильтр справляется с простыми задачами, но что делать, если вам требуется двойная фильтрация? Например, показать только продажи конкретного менеджера за последний квартал и с суммой заказа выше 50 000 ₽.
В этой статье разберём три профессиональных метода создания двойного фильтра: от базового сочетания автофильтра с ручной сортировкой до автоматизированных решений с формулами ФИЛЬТР() и макросами. Каждый способ проиллюстрирован скриншотами и примерами из реальных бизнес-задач — от учёта товаров на складе до анализа финансовых отчётов.
Важно: все инструкции актуальны для Excel 2013–2026 и Office 365. Если вы работаете в Google Таблицах, часть функций может отличаться — об этом мы тоже упомянем в соответствующих разделах.
1. Способ №1: Комбинация автофильтра и ручной сортировки
Начнём с самого простого метода, который не требует знания формул или VBA. Этот подход подходит для одноразовой фильтрации небольших таблиц (до 10 000 строк). Его главный плюс — скорость настройки, минус — необходимость повторять действия при изменении исходных данных.
Алгоритм действий:
- Выделите диапазон данных (включая заголовки столбцов).
- Перейдите на вкладку
Данные→Фильтр(или нажмитеCtrl+Shift+L). - Откройте выпадающий список в первом столбце, который нужно отфильтровать, и выберите критерий (например, "Товар = Ноутбук").
- Затем откройте фильтр во втором столбце и примените второй критерий (например, "Цена > 30000").
Excel автоматически применит логическое И между фильтрами — то есть покажет только строки, соответствующие обоим условиям одновременно.
Ограничения метода
Этот способ работает только для двух критериев в разных столбцах. Если вам нужно:
- 🔹 Применить фильтр по двум условиям в одном столбце (например, "Цена > 10000 И Цена < 50000"),
- 🔹 Использовать более двух критериев одновременно,
- 🔹 Сохранить фильтр для повторного использования,
— переходите к следующему способу.
2. Способ №2: Расширенный фильтр (для сложных условий)
Расширенный фильтр (Данные → Сортировка и фильтр → Дополнительно) позволяет задавать несколько условий в одном столбце, а также сохранять результаты фильтрации в отдельном диапазоне. Это идеальный инструмент для работы с большими массивами данных, где требуется гибкость.
Пример задачи: отфильтровать заказы, где:
- 📅 Дата попадает в диапазон "01.01.2026–31.03.2026",
- 💰 Сумма заказа > 50 000 ₽,
- 📍 Регион доставки — "Москва" или "Санкт-Петербург".
Для этого:
- Создайте диапазон условий (например, в ячейках
A1:C3) с заголовками, совпадающими с исходной таблицей:
| Дата | Сумма | Регион |
|---|---|---|
| >=01.01.2026 | >50000 | Москва |
| <=31.03.2026 | Санкт-Петербург |
Обратите внимание: условия для одного столбца пишутся в одной строке (логическое И), а для разных строк — логическое ИЛИ.
Далее:
- Перейдите в
Данные → Сортировка и фильтр → Дополнительно. - В поле "Исходный диапазон" укажите вашу таблицу (например,
$A$1:$D$1000). - В поле "Диапазон условий" выберите созданный вами диапазон с критериями.
- Укажите, куда вывести результат (можно в ту же таблицу или на другой лист).
- Нажмите
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. В более старых версиях используйте комбинацию ИНДЕКС+ПОИСКПОЗ или макросы.
Используйте формулу массива (вводится через Ctrl+Shift+Enter): Обратите внимание: в Excel 2016 эта формула требует ручного подтверждения массива (Ctrl+Shift+Enter).Как эмулировать ФИЛЬТР() в Excel 2016?
=ИНДЕКС($A$2:$D$100; НЕОШИБКА(ПОИСКПОЗ(1; (($B$2:$B$100="Электроника")*($C$2:$C$100>20000))*СТРОКА($A$2:$A$100)-СТРОКА($A$2)+1; 0)); "")
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
Как использовать:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте код в модуль (вкладка
Insert → Module). - Закройте редактор и назначьте макрос на кнопку или горячую клавишу.
⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов), иначе код не будет работать!
5. Двойной фильтр в сводных таблицах
Сводные таблицы (Вставка → Сводная таблица) предлагают альтернативный способ двойной фильтрации с визуальным интерфейсом. Этот метод особенно полезен для анализа данных, где нужно группировать и фильтровать одновременно.
Пошаговая инструкция:
- Создайте сводную таблицу на основе вашего диапазона.
- Перетащите поля, по которым нужно фильтровать, в область
Фильтры(например, "Регион" и "Категория товара"). - В области
Значенияразместите данные для анализа (например, "Сумма продаж"). - Используйте выпадающие списки в сводной таблице для применения двойного фильтра.
Преимущества этого метода:
- 📊 Визуальное представление отфильтрованных данных,
- 🔄 Возможность быстро менять критерии фильтрации,
- 📈 Автоматическое обновление при изменении исходных данных.
Недостаток: сводные таблицы требуют предварительной настройки и не подходят для одноразовых задач.
6. Частые ошибки и как их избежать
Даже опытные пользователи Excel сталкиваются с проблемами при настройке двойного фильтра. Вот самые распространённые ошибки и способы их решения:
| Ошибка | Причина | Решение |
|---|---|---|
| Фильтр не находит данные, которые есть в таблице | Несовпадение форматов (например, число хранится как текст) | Используйте функцию ЗНАЧЕН() для преобразования форматов |
| Расширенный фильтр возвращает пустой результат | Опечатка в диапазоне условий или неверные заголовки | Проверьте точное совпадение заголовков в исходной таблице и диапазоне условий |
| Формула ФИЛЬТР() выдаёт #ИМЯ? | Функция не поддерживается в вашей версии Excel | Обновите Excel или используйте альтернативу (ИНДЕКС+ПОИСКПОЗ) |
| Макрос не применяет фильтр | Не указан лист или диапазон | Добавьте в код явное указание листа: Worksheets("Лист1").Range(...) |
Если фильтр работает неправильно, проверьте:
- 🔍 Форматы данных: даты должны быть в формате
ДД.ММ.ГГГГ, числа — не как текст. - 🔍 Регистр: фильтр чувствителен к регистру ("Москва" ≠ "москва").
- 🔍 Скрытые символы: пробелы или непечатаемые символы могут мешать фильтрации.
7. Сравнение методов: какой выбрать?
Выбор метода зависит от вашей задачи, версии Excel и уровня подготовки. Вот сравнительная таблица:
| Метод | Сложность | Гибкость | Автоматизация | Подходит для |
|---|---|---|---|---|
| Автофильтр + сортировка | ⭐ | Низкая | Нет | Однократная фильтрация, небольшие таблицы |
| Расширенный фильтр | ⭐⭐ | Высокая | Частично | Сложные критерии, большие данные |
| Функция ФИЛЬТР() | ⭐⭐ | Очень высокая | Да | Excel 365/2021, динамические данные |
| Макросы VBA | ⭐⭐⭐ | Любая | Да | Повторяющиеся задачи, автоматизация |
| Сводные таблицы | ⭐⭐ | Средняя | Да | Аналитика, группировка данных |
Для большинства пользователей оптимальным решением будет расширенный фильтр — он сочетает гибкость и простоту. Если вы работаете в Excel 365, переходите на ФИЛЬТР() — это будущее анализа данных.
FAQ: Ответы на частые вопросы
Можно ли сделать двойной фильтр в Google Таблицах?
Да, в Google Таблицах двойной фильтр настраивается аналогично Excel:
- Выделите данные и нажмите
Данные → Создать фильтр. - Примените первый критерий в выпадающем списке столбца.
- Примените второй критерий в другом столбце.
Для сложных условий используйте функцию FILTER() (аналог ФИЛЬТР() в Excel 365).
Как сохранить отфильтрованные данные в новый лист?
Используйте расширенный фильтр:
- Создайте диапазон условий.
- В настройках расширенного фильтра укажите "Скопировать результат в другое место".
- Выберите верхнюю левую ячейку на новом листе как место вывода.
Или используйте формулу =ФИЛЬТР() на другом листе, ссылаясь на исходные данные.
Почему фильтр не работает с датами?
Чаще всего проблема в формате ячеек:
- Убедитесь, что столбец с датами имеет формат
Дата(а неТекстилиОбщий). - В диапазоне условий используйте формат
ДД.ММ.ГГГГ(например,>=01.01.2026). - Проверьте, нет ли в данных "текстовых" дат (например, "1 января" вместо
01.01.2026).
Для исправления выделите столбец → Формат ячеек → Дата.
Можно ли применить двойной фильтр к данным на другом листе?
Да, но с оговорками:
- В автофильтре и расширенном фильтре нужно сначала скопировать данные на один лист.
- В формуле ФИЛЬТР() можно ссылаться на другой лист:
=ФИЛЬТР(Лист2!A2:D100; ...). - В сводных таблицах укажите источник данных с другого листа при создании.
Как убрать двойной фильтр после применения?
Способы сброса фильтра:
- Для автофильтра: нажмите
Данные → Фильтр(илиCtrl+Shift+L) ещё раз. - Для расширенного фильтра: нажмите
Данные → Сортировка и фильтр → Очистить. - Для сводных таблиц: нажмите кнопку "Очистить фильтры" в панели инструментов.
- Для формулы ФИЛЬТР(): просто удалите формулу или измените условия.