Если после применения фильтра в Microsoft Excel вы видите не те строки, которые ожидали, или фильтр вообще не срабатывает — проблема в 90% случаев кроется в неправильно заданных критериях или неверно выделенном диапазоне. Например, при попытке отобразить только строки с суммой продаж > 10000 программа может проигнорировать часть данных, если в диапазоне есть пустые ячейки или объединённые столбцы. Даже стандартный автофильтр (Данные → Фильтр) требует предварительной проверки структуры таблицы: отсутствие скрытых строк, корректные заголовки и однородные форматы данных (числа не должны храниться как текст).
В этой статье разберём 7 рабочих методов фильтрации — от базового выпадающего списка до расширенного фильтра с несколькими условиями и формулами. Особое внимание уделим типичным ошибкам: почему фильтр "не видит" часть строк, как исправить сбой при работе с датами или почему результаты фильтрации не обновляются после изменений в таблице. Все инструкции актуальны для Excel 2016–2023 и Microsoft 365, включая веб-версию.
1. Автофильтр: быстрое решение для начинающих
Автофильтр — самый простой способ отобрать строки по одному критерию. Он подходит для таблиц с заголовками и позволяет фильтровать данные прямо в выпадающем списке столбца. Чтобы включить его:
- Выделите любую ячейку в таблице (обязательно с заголовками).
- Перейдите на вкладку
Данные→Фильтр(или нажмитеCtrl+Shift+L). - Нажмите на стрелку в заголовке столбца, по которому нужно фильтровать.
В выпадающем меню доступны опции:
- 🔍 Текстовый фильтр: содержит, не содержит, начинается с, заканчивается на.
- 📊 Числовой фильтр: больше, меньше, топ-10, выше среднего.
- 🗓️ Фильтр по дате: сегодня, вчера, следующий месяц, пользовательский диапазон.
- 🎯 Фильтр по цвету: если ячейки окрашены условным форматированием.
⚠️ Внимание: если после применения фильтра строки не отображаются, проверьте:
⚠️ Внимание: Автофильтр игнорирует скрытые строки. Перед фильтрацией нажмите
Главная → Формат → Отменить скрытие.
2. Расширенный фильтр: несколько условий одновременно
Когда автофильтра недостаточно — например, нужно отобразить строки, где одновременно выполнены условия "Город = Москва" и "Сумма > 5000" — используйте расширенный фильтр. Он позволяет:
- 📌 Задавать несколько критериев в отдельном диапазоне.
- 📤 Копировать отфильтрованные данные в другое место листа.
- 🔄 Использовать формулы в качестве условий (например,
=И(A2="Да"; B2>100)).
Пошаговая инструкция:
- Создайте диапазон критериев (например, в ячейках
D1:E2):D1: Город | E1: СуммаD2: Москва | E2: >5000
- Выделите исходную таблицу (включая заголовки).
- Перейдите в
Данные → Сортировка и фильтр → Дополнительно. - В поле "Диапазон условий" укажите адрес критериев (
$D$1:$E$2). - Выберите "Фильтровать список на месте" или "Скопировать результат в другое место".
⚠️ Внимание: если расширенный фильтр возвращает пустой результат, проверьте:
⚠️ Внимание: Критерии должны быть записаны точно так же, как заголовки столбцов (с учётом регистра и пробелов). Например, если в таблице столбец называется "Город ", а в критериях вы указали "Город" (без пробела), фильтр не сработает.
| Тип условия | Пример записи | Результат |
|---|---|---|
| Текстовое равенство | =Москва или просто Москва |
Строки, где столбец равен "Москва" |
| Числовой диапазон | >5000 или <>1000 |
Строки с суммой больше 5000 или не равной 1000 |
| Несколько значений (ИЛИ) |
|
Строки, где город — Москва или Санкт-Петербург |
| Формула | =И(A2="Да"; B2>100) |
Строки, где одновременно выполнены оба условия |
3. Фильтрация по цвету или значкам условного форматирования
Если в таблице применено условное форматирование (например, красный цвет для просроченных задач или зелёные стрелки для роста продаж), можно фильтровать строки именно по этим визуальным маркерам. Это полезно для:
- 📅 Отбора строк с просроченными датами (выделены красным).
- 📈 Анализа трендов (например, только ячейки с зелёной стрелкой "вверх").
- 🚨 Быстрого поиска ошибок (ячейки с жёлтой заливкой).
Как применить:
- Включите автофильтр (
Ctrl+Shift+L). - Нажмите на стрелку в заголовке столбца с условным форматированием.
- Выберите
Фильтр по цвету→Цвет заливки(илиЦвет шрифта,Значки). - Отметьте нужный цвет или значок.
⚠️ Внимание: если опция "Фильтр по цвету" неактивна, проверьте:
⚠️ Внимание: Условное форматирование должно быть применено ко всему столбцу, а не к отдельным ячейкам. Если правила форматирования заданы только для части диапазона, фильтр их "не увидит".
Как фильтровать по нескольким цветам одновременно?
Чтобы отобразить строки с красной или жёлтой заливкой, примените автофильтр, затем в выпадающем меню столбца выберите Фильтр по цвету → Цвет заливки и отметьте оба цвета, удерживая Ctrl.
4. Фильтр с формулами: гибкие условия
Когда стандартных критериев недостаточно, используйте формулы в расширенном фильтре. Например, можно отобрать:
- 📌 Строки, где дата в столбце
A— последний день месяца. - 🔍 Строки с email, содержащим "@company.com".
- 📊 Строки, где сумма в столбце
Bна 20% больше, чем в столбцеC.
Пример: отфильтруем строки, где в столбце D (даты) указан последний день квартала.
- Создайте диапазон критериев с заголовком (например,
D1: "Дата"). - В ячейку
D2введите формулу:=И(МЕСЯЦ(D2)=3; ДЕНЬ(D2)=31)(для 1 квартала; для других кварталов измените месяц и день).
- Выделите исходную таблицу и запустите расширенный фильтр, указав
$D$1:$D$2как диапазон условий.
Важно: формулы в критериях должны возвращать ИСТИНА или ЛОЖЬ. Если формула выдаёт ошибку (например, #ЗНАЧ!), фильтр пропустит строку.
1. Проверьте, что все ячейки в столбце имеют одинаковый формат (даты как даты, числа как числа).
2. Убедитесь, что в критериях использованы абсолютные ссылки (например, $D$1).
3. Тестируйте формулу отдельно (в любой ячейке) перед применением в фильтре.
4. Для текстовых данных используйте НАЙТИ() или ПОИСК() вместо простого сравнения.
-->
5. Фильтрация по частичному совпадению (подстроке)
Чтобы найти строки, где текст в ячейке содержит определённое слово или символ, используйте:
- 🔎 Автофильтр: выберите "Текст содержит..." и введите фрагмент.
- 📝 Расширенный фильтр: используйте подстановочные знаки (
*,?) или функцииПОИСК().
Примеры критериев для расширенного фильтра:
| Задача | Критерий | Пример |
|---|---|---|
| Начинается с "А" | =А* или =НАЧИСТРОК(A2; "А") |
"Александр", "Альфа" |
| Содержит "ова" | =ова или =ЕСЛИ(ЕНАЙТИ("ова"; A2); ИСТИНА; ЛОЖЬ) |
"Иванова", "Королёва" |
| Заканчивается на "в" | =*в или =ПРАВСИМВ(A2; 1)="в" |
"Петров", "Сидоров" |
⚠️ Внимание: подстановочные знаки (*, ?) работают только в текстовых критериях. Для чисел или дат используйте формулы.
6. Типичные ошибки и как их исправить
Даже опытные пользователи сталкиваются с проблемами при фильтрации. Вот самые частые:
- 🚫 Фильтр не показывает все строки:
- Проверьте, нет ли скрытых строк в исходной таблице.
- Убедитесь, что диапазон данных не содержит пустых столбцов между заголовками.
- Обновите фильтр клавишей
F9или переключитесь на другой лист и обратно.
- 🔄 Фильтр не обновляется после изменений:
- Отключите автоматический пересчёт формул (
Формулы → Параметры вычислений → Автоматически). - Проверьте, не стоят ли в таблице структурированные ссылки (используйте абсолютные адреса).
- Отключите автоматический пересчёт формул (
- 🗃️ Фильтр игнорирует часть данных:
- Преобразуйте диапазон в умную таблицу (
Ctrl+T), чтобы избежать проблем с границами. - Проверьте формат ячеек: числа не должны храниться как текст, а даты — как числа.
- Преобразуйте диапазон в умную таблицу (
7. Продвинутые приёмы: фильтрация по нескольким листам и динамические диапазоны
Для работы с большими данными или динамически изменяющимися таблицами используйте:
- 📂 Фильтрация по нескольким листам:
- Объедините данные с разных листов в одну таблицу с помощью
Power Query(Данные → Получить данные → Из других источников → Пустая запрос). - Используйте
3D-ссылки(например,=СУММ(Лист1:Лист3!B2)), но помните, что фильтровать можно только текущий лист.
- Объедините данные с разных листов в одну таблицу с помощью
- 🔄 Динамические именованные диапазоны:
- Создайте именованный диапазон с формулой:
=СМЕЩ(Лист1!$A$1;0;0;СЧЁТЗ(Лист1!$A:$A);СЧЁТЗ(Лист1!$1:$1))(автоматически расширяется при добавлении строк/столбцов).
- В расширенном фильтре ссылайтесь на это имя вместо фиксированного адреса.
- Создайте именованный диапазон с формулой:
Для автоматизации фильтрации можно записать макрос:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте код:
Sub ApplyFilter()Sheets("Лист1").Range("A1").AutoFilter Field:=3, Criteria1:=">1000"
End Sub
(фильтрует 3-й столбец по значению > 1000).
- Запустите макрос клавишей
F5.
FAQ: Ответы на частые вопросы
Как отфильтровать строки по двум условиям одновременно (например, город = Москва И сумма > 5000)?
Используйте расширенный фильтр:
- Создайте диапазон критериев с двумя строками (заголовки должны совпадать с таблицей).
- В первой строке под заголовками укажите условия для "И":
Город | СуммаМосква | >5000
- Примените фильтр через
Данные → Дополнительно.
Для условия "ИЛИ" разместите критерии в одной строке:
Город | Сумма
Москва | >5000
Питер |
Почему после фильтрации остаются пустые строки?
Это происходит, если:
- В исходной таблице есть пустые ячейки в фильтруемом столбце.
- Столбец содержит скрытые символы (пробелы, неразрывные пробелы). Используйте
=ПЕЧСИМВ(A2)=A2, чтобы их найти. - Фильтр применён к объединённым ячейкам (разъедините их перед фильтрацией).
Решение: очистите данные (Данные → Очистка → Удалить пробелы) или примените фильтр только к непустым ячейкам.
Можно ли сохранить отфильтрованные данные в новый файл?
Да, двумя способами:
- Копирование результатов:
- Примените фильтр.
- Выделите видимые строки (
Alt+;). - Скопируйте (
Ctrl+C) и вставьте в новый файл.
- Экспорт через Power Query:
- Выгрузите данные в
Power Query(Данные → Из таблицы/диапазона). - Примените фильтры в редакторе.
- Экспортируйте в новый файл (
Главная → Закрыть и загрузить в → Новая книга).
- Выгрузите данные в
Как убрать фильтр, если кнопка "Очистить" не работает?
Попробуйте эти методы:
- Нажмите
Ctrl+Shift+L(переключает фильтр). - Выделите любую ячейку таблицы и нажмите
Alt+D+F+F(горячие клавиши для сброса фильтра). - Если фильтр "завис", перейдите на другой лист и обратно — иногда это сбрасывает состояние.
- В крайнем случае закройте и снова откройте файл (сохраните изменения!).
Почему фильтр по датам показывает неверные строки?
Проблема возникает, если:
- Дата хранится как текст (например, "01.01.2023" вместо настоящей даты). Проверьте формат ячейки (
Ctrl+1). - Используется американский формат дат (месяц/день/год вместо день/месяц/год). Измените региональные настройки Excel.
- В критериях указан некорректный диапазон (например, "31.02.2023" — такой даты не существует).
Решение: преобразуйте текст в даты с помощью ДАТАЗНАЧ() или Power Query.