Работа с большими таблицами в Microsoft Excel часто требует одновременного применения нескольких условий фильтрации. Но что делать, если стандартный автофильтр ограничивает вас одним критерием? На практике пользователям нужно фильтровать данные по двум и более параметрам одновременно — например, отображать только продажи конкретного менеджера за последний квартал и с суммой заказа выше 10 000 ₽.
В этой статье мы разберём 5 проверенных способов, как в Excel сделать два фильтра (и больше) на одном листе: от базовых функций до продвинутых техник с формулами. Вы узнаете, как комбинировать условия, сохранять фильтры для повторного использования и избежать типичных ошибок. Все методы работают в Excel 2013–2026 и Excel Online, а пошаговые инструкции подойдут даже новичкам.
Особое внимание уделим расширенному фильтру — малоизвестному инструменту, который позволяет создавать сложные многоуровневые условия. А для любителей автоматизации покажем, как применять фильтры через Power Query и макросы. Готовы оптимизировать работу с данными? Начнём с самого простого!
1. Стандартный автофильтр: как применить два условия
Самый быстрый способ отфильтровать данные по двум параметрам — использовать встроенный автофильтр. Он доступен на вкладке Данные → Фильтр (или сочетание клавиш Ctrl+Shift+L). Рассмотрим на примере таблицы с продажами:
Допустим, вам нужно отобразить только заказы от клиента «ООО Ромашка» и с суммой больше 5 000 ₽. Для этого:
- Выделите заголовки столбцов и включите фильтр.
- Нажмите на стрелку в столбце «Клиент» и выберите «ООО Ромашка».
- Далее откройте фильтр в столбце «Сумма» и в разделе
Числовые фильтрывыберите «больше…», укажите значение5000.
Теперь таблица покажет только строки, соответствующие обоим условиям. Важно: если вы выберете в первом фильтре несколько значений (например, двух клиентов), то во втором фильтре условия будут применяться ко всем выбранным строкам.
🔹 Ограничение метода: автофильтр не позволяет сохранять комбинации условий для повторного использования. Если вам нужно регулярно применять одни и те же фильтры, лучше использовать расширенный фильтр (о нём — в следующем разделе).
⚠️ Внимание: Если после применения второго фильтра таблица становится пустой, проверьте, есть ли в данных строки, соответствующие одновременно обоим условиям. Например, если вы фильтруете по клиенту «А» и дате «01.01.2026», но у этого клиента не было заказов в этот день, результат будет пустым.
2. Расширенный фильтр: сложные условия в отдельном диапазоне
Расширенный фильтр — это мощный инструмент для создания многоуровневых условий, которые нельзя задать через стандартный автофильтр. Например, вам нужно отобразить:
- 📌 Заказы клиентов «ООО Ромашка» или «ИП Васильев»
- 📌 И при этом сумма заказа должна быть от 3 000 до 10 000 ₽
- 📌 И дата — не раньше 01.06.2026
Для этого:
- Создайте диапазон условий (например, в ячейках
F1:H3). В первой строке укажите заголовки столбцов, по которым будете фильтровать (они должны совпадать с заголовками исходной таблицы!). - Во второй строке запишите условия для первой группы (например, «ООО Ромашка» в столбце «Клиент» и «>=3000» в столбце «Сумма»).
- В третьей строке — условия для второй группы (например, «ИП Васильев» в столбце «Клиент» и «<=10000» в столбце «Сумма»).
- Перейдите на вкладку
Данные → Сортировка и фильтр → Расширенный фильтр. - В поле
Исходный диапазонукажите вашу таблицу (например,A1:D100), а в полеДиапазон условий— созданные условия (F1:H3). - Выберите опцию
Скопировать результат в другое местои укажите ячейку, куда вывести отфильтрованные данные.
📌 Пример диапазона условий:
| Клиент | Сумма | Дата |
|---|---|---|
| ООО Ромашка | >=3000 | >=01.06.2026 |
| ИП Васильев | <=10000 |
В этом примере фильтр вернёт заказы либо от «ООО Ромашка» с суммой ≥3 000 ₽ после 01.06.2026, либо от «ИП Васильев» с суммой ≤10 000 ₽ (без привязки к дате).
Скопируйте заголовки столбцов в отдельный диапазон|Проверьте совпадение названий столбцов|Укажите условия в строках под заголовками|Выделите исходную таблицу и диапазон условий|Выберите опцию "Скопировать результат" для сохранения данных-->
⚠️ Внимание: Если в диапазоне условий оставить пустую ячейку (как в примере выше для даты во второй строке), Excel проигнорирует это условие для данной группы. Это удобно, когда нужно комбинировать разные наборы критериев.
3. Фильтрация по цвету или значкам условного форматирования
Если в вашей таблице используются цветовая заливка ячеек или значки условного форматирования (например, зелёные/красные стрелки), можно фильтровать данные по этим параметрам. Это полезно для визуального анализа — например, чтобы быстро найти все строки с «красными» (проблемными) значениями.
Как это работает:
- 🎨 Примените к столбцу условное форматирование (вкладка
Главная → Условное форматирование). Например, установите правило: если сумма заказа > 15 000 ₽, заливка ячейки — красная. - 🔍 Включите фильтр для этого столбца и в выпадающем списке выберите
Фильтр по цвету → Красная заливка. - 📊 Теперь таблица покажет только строки с красными ячейками (сумма > 15 000 ₽).
🔹 Продвинутый приём: комбинируйте фильтр по цвету с другими условиями. Например, сначала отфильтруйте по клиенту, а затем — по цвету значка в столбце «Статус оплаты».
📌 Этот метод работает только если цвет или значок были добавлены через Условное форматирование. Ручная заливка ячеек (через «Заливка») для фильтрации не подходит!
4. Использование формул для динамической фильтрации
Для гибкой фильтрации можно использовать формулы массива или функции вроде ФИЛЬТР (в Excel 365 и Excel 2021). Этот способ позволяет создавать динамические таблицы, которые автоматически обновляются при изменении исходных данных.
🔹 Пример 1: Функция ФИЛЬТР (Excel 365)
Допустим, у вас есть таблица в диапазоне A1:D100, и вы хотите отобразить заказы клиента «ООО Ромашка» с суммой > 5 000 ₽. Введите в пустую ячейку (например, F1) формулу:
=ФИЛЬТР(A2:D100; (A2:A100="ООО Ромашка")*(C2:C100>5000); "Нет данных")
Где:
A2:D100— исходный диапазон;(A2:A100="ООО Ромашка")*(C2:C100>5000)— условия (клиент И сумма);"Нет данных"— сообщение, если ничего не найдено.
🔹 Пример 2: Формулы массива (для старых версий Excel)
Введите в ячейку F2 формулу:
=ЕСЛИОШИБКА(ИНДЕКС($A$2:$D$100; НАИМЕНЬШИЙ(ЕСЛИ(($A$2:$A$100="ООО Ромашка")*($C$2:$C$100>5000); СТРОКА($A$2:$A$100)-1); СТРОКА(A1)); КОЛОНКА(A1)); ""); "")
Затем протяните формулу вправо и вниз. Чтобы она заработала, нажмите Ctrl+Shift+Enter (в Excel 2019 и старше).
5. Фильтрация через Power Query: для больших данных
Если вы работаете с крупными таблицами (тысячи строк), стандартные фильтры могут тормозить. В этом случае удобно использовать Power Query — инструмент для преобразования и фильтрации данных, встроенный в Excel 2016 и новее.
Как применить два фильтра через Power Query:
- Выделите вашу таблицу и перейдите на вкладку
Данные → Из таблицы/диапазона(илиПолучить данные → Из таблицы/диапазонав Excel 2016). - В открывшемся редакторе Power Query выберите столбец, по которому нужно фильтровать (например, «Клиент»).
- Нажмите на стрелку в заголовке столбца и снимите галочки со всех значений, кроме нужных (например, оставьте только «ООО Ромашка»).
- Повторите шаг 3 для второго столбца (например, отфильтруйте «Сумма» по условию «больше 5000»).
- Нажмите
Закрыть и загрузить— отфильтрованные данные появятся на новом листе.
🔹 Преимущества метода:
- ⚡ Быстро работает даже с миллионом строк;
- 🔄 Сохраняет шаги фильтрации — можно обновлять данные одним кликом;
- 📊 Позволяет комбинировать фильтры с другими преобразованиями (например, группировкой).
⚠️ Внимание: После загрузки данных через Power Query они становятся статической таблицей. Чтобы обновить фильтры при изменении исходных данных, нажмите правой кнопкой на таблицу и выберите Обновить.
Как сохранить запрос Power Query для повторного использования?
Чтобы не настраивать фильтры заново, сохраните запрос:
1. В редакторе Power Query нажмите Файл → Закрыть и загрузить в….
2. Выберите опцию Только создать соединение.
3. Теперь ваш запрос доступен в панели Запросы и соединения (вкладка Данные). Чтобы применить его снова, кликните правой кнопкой по запросу и выберите Загрузить в….
6. Макросы для автоматической фильтрации
Если вам нужно регулярно применять одни и те же фильтры, имеет смысл автоматизировать процесс с помощью макросов. Например, можно создать кнопку, которая будет фильтровать таблицу по заданным критериям в один клик.
🔹 Пример макроса для двух фильтров:
Допустим, вам нужно отфильтровать таблицу по клиенту «ООО Ромашка» и дате после 01.01.2026. Откройте редактор VBA (Alt+F11) и вставьте следующий код:
Sub ApplyDoubleFilter()
Dim ws As Worksheet
Set ws = ActiveSheet
' Очищаем предыдущие фильтры
If ws.AutoFilterMode Then ws.AutoFilterMode = False
' Применяем фильтр по клиенту и дате
ws.Range("A1:D100").AutoFilter Field:=1, Criteria1:="ООО Ромашка"
ws.Range("A1:D100").AutoFilter Field:=4, Criteria1:=">01.01.2026", Operator:=xlAnd
End Sub
Где:
Field:=1— номер столбца (1 = «Клиент»);Field:=4— номер столбца (4 = «Дата»);Operator:=xlAnd— условия применяются одновременно (И).
🔹 Как запустить макрос:
- Нажмите
Alt+F8, выберите макросApplyDoubleFilterи кликнитеВыполнить. - Чтобы создать кнопку для макроса, перейдите на вкладку
Разработчик → Вставить → Кнопка(если вкладки нет, включите её вФайл → Параметры → Настройка ленты).
FAQ: Частые вопросы о фильтрах в Excel
Можно ли в Excel применить фильтр по трём и более условиям?
Да, для этого подойдут:
- 📌 Расширенный фильтр — позволяет задавать неограниченное количество условий в отдельном диапазоне;
- 📌 Формулы (например,
ФИЛЬТРв Excel 365); - 📌 Power Query — удобен для сложных многоуровневых фильтров.
Стандартный автофильтр ограничивает вас только одним условием на столбец, но вы можете комбинировать фильтры по разным столбцам.
Почему после применения второго фильтра данные пропадают?
Это происходит, если нет строк, соответствующих обоим условиям одновременно. Например, вы фильтруете по клиенту «А» и дате «01.01.2026», но у этого клиента не было заказов в этот день.
🔹 Решение:
- Проверьте, есть ли в исходных данных строки, удовлетворяющие обоим критериям;
- Используйте расширенный фильтр с условием
ИЛИ(разместите критерии в разных строках).
Как сохранить отфильтрованные данные в новую таблицу?
Есть три способа:
- Копирование: выделите видимые строки (нажмите
Alt+;), скопируйте (Ctrl+C) и вставьте на новый лист; - Расширенный фильтр: в настройках выберите опцию
Скопировать результат в другое место; - Power Query: загрузите отфильтрованные данные на новый лист через
Закрыть и загрузить в….
Можно ли фильтровать данные по нескольким листам одновременно?
Нет, стандартные фильтры Excel работают только в пределах одного листа. Однако вы можете:
- 📌 Объединить данные с нескольких листов в одну таблицу (через
Power Queryили формулы); - 📌 Использовать сводные таблицы с источником данных из нескольких листов;
- 📌 Написать макрос, который будет последовательно фильтровать каждый лист.
Как убрать фильтр, если он завис или не снимается?
Если стандартное отключение фильтра (Данные → Фильтр) не работает, попробуйте:
- Выделите любую ячейку в таблице и нажмите
Ctrl+Shift+L; - Перейдите на вкладку
Главная → Редактирование → Очистить → Очистить фильтры; - Если фильтр применён через
Power Query, обновите запрос или удалите таблицу; - В крайнем случае закройте и снова откройте файл (несохранённые данные будут потеряны!).