Работа с большими массивами данных в Microsoft Excel часто требует точечного анализа — когда нужно выделить строки, соответствующие сразу двум критериям из разных столбцов. Например, найти все заказы клиента «Иванов» за январь 2026 или вывести товары категории «Электроника» с ценой выше 10 000 ₽. Стандартный фильтр по одному столбцу здесь не поможет — потребуются более гибкие инструменты.
Многие пользователи ошибочно считают, что для такой задачи нужны формулы или макросы. На деле в 90% случаев достаточно встроенных функций Excel без программирования. В этой статье разберём все способы — от базового автофильтра до расширенных техник с ФИЛЬТР() и Power Query. Вы узнаете, как комбинировать условия «И»/«ИЛИ», сохранять результаты на новый лист и автоматизировать процесс.
Перед тем как приступить, проверьте версию вашего Excel:
- 🔹 Excel 2016–2019: поддерживает автофильтр и расширенный фильтр, но без динамических массивов.
- 🔹 Excel 365/2021: доступны функции
ФИЛЬТР(),УНИК()и Power Query. - 🔹 Excel для Mac: некоторые функции (например,
ФИЛЬТР()) работают только в последних версиях.
1. Базовый способ: автофильтр с условиями «И»
Самый простой метод — использовать стандартный автофильтр с последовательным применением критериев. Он подходит, если вам нужно отобразить строки, где одновременно выполняются оба условия (логическое «И»).
Допустим, у вас таблица с продажами, и требуется показать только те строки, где:
- 📌 Регион = «Москва»
- 💰 Сумма заказа >
50 000 ₽
Алгоритм действий:
- Выделите любую ячейку в таблице (например,
A1). - Перейдите на вкладку
Данные→ нажмитеФильтр(или используйте горячие клавишиCtrl+Shift+L). - Откройте выпадающий список в первом столбце (например, «Регион») и выберите нужное значение («Москва»).
- Откройте выпадающий список во втором столбце («Сумма заказа») →
Числовые фильтры→Больше→ введите50000.
Excel автоматически применит оба условия как логическое «И» — отобразятся только строки, соответствующие одновременно и региону, и сумме.
⚠️ Внимание: Если после фильтрации вы скопируете видимые строки (например,Ctrl+C), в буфер обмена попадут все данные таблицы, включая скрытые. Чтобы копировать только отфильтрованные строки, используйтеAlt+;(выделение видимых ячеек).
2. Расширенный фильтр: гибкие условия и вывод на другой лист
Когда нужно сохранить результаты фильтрации отдельно или применить сложные критерии (например, «ИЛИ»), поможет расширенный фильтр. Этот инструмент позволяет:
- 📋 Использовать несколько условий для одного столбца (например, «Москва» или «Санкт-Петербург»).
- 📤 Выводить отфильтрованные данные на другой лист или диапазон.
- 🔄 Применять формулы в качестве критериев.
Рассмотрим пример. У нас есть таблица с данными о сотрудниках:
| ФИО | Отдел | Зарплата | Дата найма |
|---|---|---|---|
| Иванов П.С. | Маркетинг | 75 000 | 12.05.2020 |
| Петрова А.И. | IT | 120 000 | 03.11.2019 |
| Сидоров К.Л. | Маркетинг | 85 000 | 18.07.2021 |
| Алексеева Т.Н. | IT | 110 000 | 22.01.2020 |
Задача: вывести на новый лист всех сотрудников отдела «Маркетинг» с зарплатой больше 80 000 ₽.
Шаг 1. Создайте диапазон критериев. Например, в ячейках F1:G2 введите:
F1: Отдел | G1: Зарплата
F2: Маркетинг | G2: >80000
Шаг 2. Перейдите на вкладку Данные → Расширенный фильтр.
Шаг 3. В окне настроек:
- 📍 Исходный диапазон: выделите всю таблицу (например,
A1:D5). - 🎯 Диапазон условий: укажите
F1:G2. - 📄 Поместить результат в диапазон: выберите ячейку на новом листе (например,
A1). - ✅ Отметьте
Скопировать результат в другое место.
Excel создаст на новом листе таблицу с отфильтрованными данными. Главное преимущество этого метода — результат не зависит от исходной таблицы (её можно изменять без потери фильтра).
Как применить условие "ИЛИ" в расширенном фильтре?
Для условия "ИЛИ" критерии для одного столбца размещают в разных строках. Например, чтобы отфильтровать сотрудников из "Маркетинга" или "IT", диапазон критериев будет:
F1: Отдел
F2: Маркетинг
F3: IT
3. Фильтрация по двум столбцам с формулой ФИЛЬТР() (Excel 365/2021)
В последних версиях Excel появилась революционная функция ФИЛЬТР(), которая позволяет отбирать данные по нескольким критериям без вспомогательных столбцов. Синтаксис:
=ФИЛЬТР(массив; включить; [если_пусто])
Разберём на примере. Допустим, у вас таблица с заказами:
| ID | Клиент | Товар | Сумма | Дата |
|---|---|---|---|---|
| 1001 | ООО "Ромашка" | Ноутбук | 45 000 | 12.01.2026 |
| 1002 | ИП Сидоров | Монитор | 18 000 | 15.01.2026 |
| 1003 | ООО "Ромашка" | Клавиатура | 3 500 | 18.01.2026 |
Нужно вывести все заказы клиента «ООО "Ромашка"» на сумму более 10 000 ₽.
Формула будет такой:
=ФИЛЬТР(
A2:E4; // Исходная таблица
(B2:B4="ООО ""Ромашка""") * (D2:D4>10000); // Условия
"Нет данных" // Сообщение, если ничего не найдено
)
Обратите внимание:
- 🔢 Условия перемножаются (
*) — это эквивалент логического «И». - 📌 Для текста с кавычками внутри используйте двойные кавычки (
""Ромашка""). - 🔄 Функция возвращает динамический массив — результат обновляется автоматически при изменении исходных данных.
⚠️ Внимание: ФункцияФИЛЬТР()доступна только в Excel 365 и Excel 2021. В более ранних версиях используйте комбинациюИНДЕКС()+ПОИСКПОЗ()илиДВССЫЛ().
4. Фильтрация с помощью условного форматирования
Если вам нужно не скрывать строки, а визуально выделить ячейки, соответствующие двум критериям, используйте условное форматирование. Этот метод полезен для быстрого анализа без изменения структуры данных.
Пример: выделим красным цветом все строки, где:
- 📅 Дата доставки просрочена (сегодня > даты в ячейке).
- 🚚 Статус = «В обработке».
Инструкция:
- Выделите диапазон таблицы (например,
A2:E100). - Перейдите на вкладку
Главная→Условное форматирование→Создать правило. - Выберите
Использовать формулу для определения форматируемых ячеек. - Введите формулу:
=И($D2где
$D2— столбец с датой,$E2— со статусом. - Нажмите
Формат→ выберите цвет заливки (например, красный) →ОК.
Теперь все строки, соответствующие обоим условиям, будут подсвечены. Главный плюс метода — данные остаются доступными для других операций (сортировки, фильтрации).
Зафиксированы ли ссылки на столбцы ($D2, $E2)?|Формула возвращает ИСТИНА/ЛОЖЬ?|Выделен весь диапазон таблицы?|Указан правильный стиль форматирования?-->
5. Фильтрация через Power Query (для больших данных)
Если вы работаете с крупными таблицами (тысячи строк) или нужно автоматизировать фильтрацию при обновлении данных, используйте Power Query (вкладка Данные → Из таблицы/диапазона).
Преимущества метода:
- ⚡ Обрабатывает миллионы строк без замедления.
- 🔄 Автоматически обновляет результаты при изменении исходных данных.
- 📊 Позволяет комбинировать фильтрацию с другими преобразованиями (объединение таблиц, замена значений).
Пример: отфильтруем в таблице с продажами товары категории «Электроника», проданные в 2026 году.
Шаг 1. Преобразуйте исходную таблицу в «умную таблицу» (Ctrl+T).
Шаг 2. Перейдите на вкладку Данные → Из таблицы/диапазона (откроется редактор Power Query).
Шаг 3. В редакторе:
- Выберите столбец «Категория» → нажмите на стрелочку фильтра → снимите все галочки, кроме «Электроника».
- Выберите столбец «Дата» →
Фильтры даты/времени→Год→2026. - Нажмите
Закрыть и загрузить→ выберитеНовый лист.
Power Query создаст отдельную таблицу с отфильтрованными данными. Чтобы обновить её при изменении исходников, кликните правой кнопкой по таблице → Обновить.
Как объединить несколько условий в Power Query?
В редакторе Power Query перейдите на вкладку Домой → Дополнительно → Расширенный редактор. Здесь можно вручную отредактировать код M, добавив несколько фильтров через and. Пример:
Table.SelectRows(#"Предыдущий шаг", each ([Категория] = "Электроника") and Date.Year([Дата]) = 2026)6. Автоматизация фильтрации с помощью макросов
Если вам приходится регулярно применять одни и те же фильтры, макросы сэкономят время. Например, можно создать кнопку, которая будет фильтровать данные по двум столбцам в один клик.
Рассмотрим макрос для фильтрации таблицы по:
- 📌 Столбцу B (значение = «Да»).
- 📅 Столбцу D (дата > текущей).
Код макроса:
Sub FilterByTwoColumns()
Dim ws As Worksheet
Set ws = ActiveSheet
' Очищаем предыдущие фильтры
If ws.AutoFilterMode Then ws.AutoFilterMode = False
' Применяем фильтр по двум столбцам
With ws.Range("A1").CurrentRegion
.AutoFilter Field:=2, Criteria1:="Да" ' Столбец B
.AutoFilter Field:=4, Criteria1:=">" & Date, Operator:=xlAnd
End With
End Sub
Как использовать:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert→Module). - Вернитесь в Excel, на вкладке
РазработчикнажмитеМакросы→ выберитеFilterByTwoColumns→Выполнить.
Для удобства можно назначить макрос на кнопку:
- 🖱️ Перейдите на вкладку
Разработчик→Вставить→Кнопка. - 📍 Нарисуйте кнопку на листе → присвойте ей макрос
FilterByTwoColumns.
⚠️ Внимание: Макросы работают только в файлах с расширением .xlsm (с поддержкой макросов). При открытии такого файла Excel может показать предупреждение о безопасности — разрешите выполнение макросов, если файл из надёжного источника.
7. Частые ошибки и как их избежать
При фильтрации по двум столбцам пользователи часто сталкиваются с типичными проблемами. Разберём самые распространённые:
| Ошибка | Причина | Решение |
|---|---|---|
| Фильтр не применяется | Данные не в формате таблицы или есть пустые строки/столбцы | Преобразуйте диапазон в таблицу (Ctrl+T) или удалите пустые ячейки |
| Не работает условие «ИЛИ» в расширенном фильтре | Критерии для одного столбца записаны в одной строке | Разместите условия для «ИЛИ» в разных строках одного столбца |
Функция ФИЛЬТР() возвращает #ИМЯ? |
Неправильный синтаксис или отсутствует функция в вашей версии Excel | Проверьте версию Excel (должна быть 365/2021) и синтаксис формулы |
| Условное форматирование не работает | Не зафиксированы ссылки на столбцы ($A1 вместо A1) | Используйте абсолютные ссылки на столбцы ($A1) |
Ещё одна распространённая проблема — фильтрация по датам. Excel может воспринимать даты как текст, если они введены в нестандартном формате. Перед фильтрацией проверьте формат ячеек:
- Выделите столбец с датами.
- Нажмите
Ctrl+1(или правая кнопка →Формат ячеек). - Выберите категорию
Датаи укажите нужный формат (например,14.03.2026).
FAQ: Ответы на частые вопросы
Можно ли отфильтровать данные по двум столбцам в Google Таблицах?
Да, в Google Sheets доступны те же методы:
- 🔹 Автофильтр: работатет аналогично Excel (меню
Данные→Создать фильтр). - 🔹 Функция
FILTER(): синтаксис идентиченФИЛЬТР()в Excel 365. - 🔹 Query: мощная функция для сложных запросов, аналогична SQL. Пример:
=QUERY(A1:E100; "SELECT * WHERE B = 'Да' AND D > date '"&TEXT(TODAY();"yyyy-mm-dd")&"'"; 1)
Как сохранить отфильтрованные данные в новый файл?
Способы:
- Скопируйте видимые строки (
Alt+;→Ctrl+C) и вставьте в новый файл. - Используйте расширенный фильтр с выводом на новый лист, затем сохраните лист как отдельный файл (
Правка→Переместить/скопировать→Новая книга). - В Power Query после фильтрации нажмите
Закрыть и загрузить в→ выберитеНовая книга.
Почему после фильтрации пропали некоторые строки?
Возможные причины:
- 🔸 В данных есть скрытые символы (пробелы, переносы строк). Используйте
СЖПРОБЕЛЫ()илиПЕЧСИМВ()для очистки. - 🔸 Формат ячеек не соответствует критериям (например, числа хранятся как текст). Преобразуйте формат с помощью
ЗНАЧЕН(). - 🔸 В расширенном фильтре неправильно указан диапазон условий. Проверьте, что заголовки столбцов в критериях совпадают с исходной таблицей.
Как отфильтровать данные по двум столбцам с частичным совпадением?
Для поиска по части текста (например, все email с доменом @gmail.com) используйте:
- 🔹 В автофильтре: выберите
Текстовые фильтры→Содержит→ введите часть текста. - 🔹 В формуле:
=ФИЛЬТР(A2:B100; (ПОИСК("@gmail.com"; B2:B100)>0) * (C2:C100="Активен"); "Не найдено") - 🔹 В расширенном фильтре: в критериях используйте подстановочные знаки (
@gmail.com).
Можно ли фильтровать по цвету ячейки?
Да, для этого:
- Примените условное форматирование для окраски ячеек.
- Используйте фильтр по цвету:
- Откройте выпадающий список фильтра в столбце.
- Выберите
Фильтр по цвету→Фильтр по цвету ячейки→ укажите нужный цвет.
Ограничение: фильтрация по цвету работает только для ручного форматирования или условного форматирования, применённого до включения фильтра.