Работа с большими таблицами в Microsoft Excel часто требует одновременной фильтрации данных по нескольким критериям. Например, вам нужно найти все продажи конкретного товара за определённый квартал, или вывести сотрудников из одного отдела с зарплатой выше средней. В таких случаях фильтрация по одному столбцу не даст нужного результата — требуется комбинировать условия.
В этой статье мы разберём 5 способов, как отфильтровать два столбца одновременно: от базового автофильтра до расширенных техник с формулами. Вы узнаете, как избежать распространённых ошибок (например, когда фильтр «съедает» часть данных), как сохранить результаты фильтрации в новую таблицу, и почему иногда проще использовать Промежуточные итоги, чем сложные формулы. Все методы протестированы в Excel 2019–2026 и Microsoft 365, но большинство из них работает и в старых версиях (начиная с Excel 2010).
Если вы никогда не пользовались фильтрами в Excel, начните с первого раздела — там объяснены основы. Опытным пользователям будет полезен раздел про расширенный фильтр с несколькими условиями или динамические массивы (для Excel 365).
1. Базовый способ: автофильтр для двух столбцов
Самый простой метод — использовать встроенный автофильтр. Он подходит, если вам нужно отобрать данные по двум столбцам с условиями типа «равно», «больше/меньше», «содержит» и т. д.
Как это работает:
- 📌 Выделите любую ячейку в таблице (или всю таблицу клавишами
Ctrl+A). - 🔍 Перейдите на вкладку
Данные→ нажмитеФильтр(или используйте горячие клавишиCtrl+Shift+L). - 📊 В заголовках столбцов появятся стрелки фильтра. Нажмите на стрелку в первом столбце, выберите условие (например, «Текст содержит») и введите значение.
- 🔄 Повторите шаг 3 для второго столбца. Excel автоматически применит оба фильтра.
Пример: у вас есть таблица продаж с колонками Товар и Дата. Чтобы найти все продажи ноутбуков за январь 2026, сначала отфильтруйте столбец Товар по слову «ноутбук», затем столбец Дата по диапазону «01.01.2026–31.01.2026».
⚠️ Внимание: Автофильтр работает по принципу логического «И». Это значит, что будут показаны только строки, которые одновременно удовлетворяют обоим условиям. Если вам нужно логическое «ИЛИ» (например, «товар А или товар Б»), используйте расширенный фильтр (раздел 3).
2. Фильтрация по цвету или значкам условного форматирования
Если в вашей таблице используются цветовая заливка или значки условного форматирования (например, зелёные/красные стрелки), можно фильтровать данные по этим параметрам. Это удобно для визуального анализа.
Инструкция:
- Примените автофильтр (как в разделе 1).
- Нажмите на стрелку фильтра в нужном столбце.
- Выберите
Фильтр по цвету→Заливка ячейки(илиЦвет текста,Значки). - Укажите цвет или значок для фильтрации.
Пример: у вас в столбце Прибыль ячейки с отрицательными значениями выделены красным, а с положительными — зелёным. Чтобы увидеть только убыточные продажи за определённый регион, сначала отфильтруйте столбец Регион по названию, затем столбец Прибыль по красному цвету.
| Тип фильтрации | Когда использовать | Ограничения |
|---|---|---|
| Автофильтр по значению | Простые условия («равно», «больше», «содержит») | Не поддерживает формулы |
| Фильтр по цвету | Данные с условным форматированием | Цвета должны быть применены до фильтрации |
| Фильтр по значкам | Таблицы с иконками (стрелочки, флажки и т. д.) | Не работает с пользовательскими значками |
3. Расширенный фильтр для сложных условий
Если автофильтр не справляется (например, нужно применить более двух условий или использовать логическое «ИЛИ»), используйте расширенный фильтр. Этот метод позволяет:
- 🔄 Фильтровать данные по нескольким критериям в разных комбинациях.
- 📤 Сохранять результаты в новое место (не перезаписывая исходную таблицу).
- 📊 Использовать формулы в качестве условий.
Как настроить расширенный фильтр:
- Создайте диапазон условий (обычно над или рядом с таблицей). Например, если фильтруете по столбцам
A(«Товар») иB(«Цена»), в ячейкахD1:E2укажите:D1: Товар | E1: ЦенаD2: Ноутбук | E2: >1000
Здесь
D1:E1— заголовки,D2:E2— условия. - Выделите исходную таблицу (включая заголовки).
- Перейдите в
Данные→Расширенный фильтр. - В поле
Исходный диапазонпроверьте, что указаны все данные. - В поле
Диапазон условийукажите$D$1:$E$2(или ваш диапазон с критериями). - Выберите
Фильтровать список на местеилиСкопировать результат в другое место(указав адрес для вывода). - Нажмите
OK.
Пример для логического «ИЛИ»: если нужно найти строки, где Товар = "Ноутбук" или Цена > 5000, создайте такой диапазон условий:
D1: Товар | E1: Цена
D2: Ноутбук | E2:
D3: | E3: >5000
Пустые ячейки в условиях означают «любое значение».
Что делать, если расширенный фильтр не работает?
1. Проверьте, совпадают ли заголовки в диапазоне условий с заголовками исходной таблицы (вплоть до регистра и пробелов).
2. Убедитесь, что в диапазоне условий нет пустых строк между критериями.
3. Если используете формулы в условиях, они должны возвращать ИСТИНА/ЛОЖЬ (например, =И(A2="Ноутбук"; B2>1000)).
4. Для дат используйте формат ДД.ММ.ГГГГ (Excel может не распознать текстовые даты типа "январь 2026").
4. Фильтрация с помощью формул (ФИЛЬТР, FILTER)
В Excel 365 и Excel 2021 появилась функция ФИЛЬТР (англ. FILTER), которая позволяет фильтровать данные динамически — результат обновляется автоматически при изменении исходных данных.
Синтаксис функции:
=ФИЛЬТР(массив; включить; [если_пусто])
массив— диапазон данных для фильтрации.включить— условие (или массив условий) для каждой строки.[если_пусто]— значение, которое будет показано, если нет совпадений (необязательно).
Пример: отфильтруем таблицу с продажами (A1:C10) по двум столбцам — Товар (A2:A10) и Цена (B2:B10), оставив только ноутбуки дороже 50 000 ₽:
=ФИЛЬТР(A2:C10; (A2:A10="Ноутбук")*(B2:B10>50000); "Нет данных")
Особенности:
- 🔹 Формула возвращает динамический массив — если исходные данные изменятся, результат обновится.
- 🔹 Для нескольких условий используйте оператор
*(логическое «И») или+(логическое «ИЛИ»). - 🔹 Если нужно отфильтровать по частичному совпадению, используйте
ПОИСКилиНАЙТИ:=ФИЛЬТР(A2:C10; (ПОИСК("Ноут"; A2:A10)>0)*(B2:B10>30000))
5. Фильтрация с помощью сводных таблиц
Если вам нужно не только отфильтровать данные, но и проанализировать их (например, посчитать суммы или средние значения), удобнее использовать сводные таблицы. Они позволяют:
- 📈 Группировать данные по нескольким критериям (например, «Товар + Регион»).
- 🔍 Фильтровать по нескольким полям одновременно (через
ФильтрыиНастройки полей). - 📊 Строить динамические графики на основе отфильтрованных данных.
Как создать сводную таблицу с фильтрацией по двум столбцам:
- Выделите исходную таблицу (включая заголовки).
- Перейдите в
Вставка→Сводная таблица. - В открывшемся окне выберите, куда поместить таблицу (новый лист или текущий).
- В панели
Поля сводной таблицыперетащите: - Поле для фильтрации (например,
Товар) в областьФильтры. - Второе поле (например,
Дата) в областьСтрокиилиСтолбцы. - Поле для анализа (например,
Сумма) в областьЗначения.
Пример: у вас есть данные о продажах по регионам и категориям товаров. Чтобы увидеть продажи электроники в Москве за 2026 год, добавьте в фильтры поля Категория (выберите «Электроника») и Год (выберите «2026»), а в строки — поле Регион (оставив только «Москва»).
⚠️ Внимание: Если в исходных данных есть пустые ячейки или ошибки (например, #Н/Д), сводная таблица может отображать их как отдельные категории. Перед созданием сводной таблицы обязательно очистите данные от ошибок с помощью функции ЕСЛИОШИБКА.
6. Продвинутые техники: Power Query и VBA
Для автоматизации фильтрации (например, если данные обновляются ежедневно) можно использовать:
Power Query (Get & Transform)
Инструмент Power Query позволяет создавать многоступенчатые фильтры и сохранять их как часть процесса загрузки данных. Преимущества:
- 🔄 Автоматическое обновление при изменении источника.
- 📊 Возможность объединять данные из нескольких таблиц перед фильтрацией.
- 🛠️ Поддержка сложных условий (например, фильтрация по регулярным выражениям).
Как фильтровать два столбца в Power Query:
- Выделите таблицу →
Данные→Из таблицы/диапазона(откроется редактор Power Query). - Выберите первый столбец → нажмите на стрелку фильтра → укажите условие.
- Повторите для второго столбца.
- Нажмите
Закрыть и загрузить, чтобы вернуть отфильтрованные данные в Excel.
VBA (макросы)
Если вам нужно автоматизировать фильтрацию (например, по нажатию кнопки), напишите макрос. Пример кода для фильтрации по двум столбцам:
Sub FilterTwoColumns()
Dim ws As Worksheet
Set ws = ActiveSheet
With ws.Range("A1").CurrentRegion
.AutoFilter Field:=1, Criteria1:="Ноутбук" ' Фильтр по 1-му столбцу
.AutoFilter Field:=3, Criteria1:=">1000", Operator:=xlAnd ' Фильтр по 3-му столбцу
End With
End Sub
Чтобы использовать этот макрос:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert→Module). - Закройте редактор и назначьте макрос на кнопку (вкладка
Разработчик→Вставить→Кнопка).
Убедитесь, что таблица имеет заголовки
Проверьте номера столбцов (Field:=1 — первый столбец)
Отключите автофильтр перед запуском макроса (если он уже применён)
Сохраните файл как .xlsm (с поддержкой макросов)-->
FAQ: Частые вопросы о фильтрации двух столбцов
Можно ли отфильтровать два столбца так, чтобы условия были «ИЛИ» (а не «И»)?
Да, для этого используйте расширенный фильтр с несколькими строками условий (как показано в разделе 3) или функцию ФИЛЬТР с оператором +. Например:
=ФИЛЬТР(A2:C10; (A2:A10="Ноутбук")+(B2:B10>50000))
Это вернёт строки, где или товар — ноутбук, или цена больше 50 000.
Почему после фильтрации пропадают некоторые строки?
Вероятные причины:
- 🔸 В данных есть скрытые символы (пробелы, переносы строк). Используйте
СЖПРОБЕЛЫдля очистки. - 🔸 Условия фильтра слишком строгие (например, поиск по «Ноутбук» не находит «ноутбук» из-за регистра).
- 🔸 В таблице есть объединённые ячейки — они могут сбивать автофильтр.
Решение: проверьте данные на ошибки или используйте Условное форматирование, чтобы выделить ячейки, не попадающие под фильтр.
Как сохранить отфильтрованные данные в новую таблицу?
Способы:
- В расширенном фильтре выберите
Скопировать результат в другое местои укажите адрес. - Скопируйте видимые ячейки после фильтрации: выделите таблицу →
Alt+;(выделяет только видимые ячейки) →Ctrl+C→ вставьте в новое место. - В Excel 365 используйте функцию
ФИЛЬТР— она автоматически обновляет результат.
Можно ли фильтровать данные по двум столбцам в Google Таблицах?
Да, в Google Sheets доступны те же методы:
- 📌 Автофильтр:
Данные→Создать фильтр. - 📌 Функция FILTER (аналог
ФИЛЬТРв Excel):=FILTER(A2:C10; (A2:A10="Ноутбук")*(B2:B10>1000)) - 📌 Query (мощный аналог Power Query):
=QUERY(A1:C10; "SELECT * WHERE A = 'Ноутбук' AND B > 1000")
Как убрать фильтр, если он завис или не снимается?
Если кнопка Очистить в фильтре не работает:
- Попробуйте нажать
Данные→Фильтр(это отключит фильтр полностью). - Если не помогло, выделите таблицу и нажмите
Ctrl+Shift+L. - В крайнем случае скопируйте данные в новый лист (
Ctrl+A→Ctrl+C→ создайте новый лист →Ctrl+V).