Работа с датами в Microsoft Excel — одна из самых востребованных задач при анализе данных.hether вы ведете учет продаж, планируете проекты или анализируете временные ряды, умение быстро отфильтровать данные по периодам экономит часы работы. Но стандартный автофильтр часто ограничивает пользователей базовыми опциями вроде "равно", "больше" или "меньше". А что если нужно выбрать только рабочие дни, исключить выходные или отобразить данные за последнюю неделю текущего месяца?
В этой статье мы разберем 5 профессиональных способов фильтрации по датам — от элементарных до продвинутых, включая скрытые фишки Excel 365 и Excel 2021. Вы узнаете, как настроить динамические фильтры, которые автоматически обновляются при изменении текущей даты, как работать с нестандартными периодами (например, "последние 30 дней без выходных") и почему иногда Фильтр по цвету спасает там, где обычные методы бессильны.
Особое внимание уделим типичным ошибкам: почему Excel не видит даты в формате "дд.мм.гггг", как исправить сбой при фильтрации по диапазону и что делать, если после применения фильтра часть данных исчезает безвозвратно (и как её вернуть за 2 клика).
Для наглядности все инструкции сопровождаются скриншотами из Excel 2019 и Excel Online, а в конце статьи вас ждет FAQ с решениями 90% проблем, связанных с фильтрацией дат.
1. Базовый автофильтр: как включить и настроить
Начнем с азов — стандартного автофильтра, который доступен во всех версиях Excel начиная с 2007 года. Этот метод подходит для простых задач: отобразить данные за конкретный день, месяц или год.
Чтобы активировать автофильтр:
- Выделите заголовок столбца с датами (или всю таблицу, удерживая
Ctrl+A). - Перейдите на вкладку
Данные→ нажмитеФильтр(или используйте горячие клавишиCtrl+Shift+L). - Рядом с заголовком столбца появится стрелка фильтра — кликните по ней.
В выпадающем меню вы увидите несколько вкладов:
- 📅 Фильтры по дате — здесь можно выбрать готовые периоды ("Завтра", "На этой неделе", "В следующем квартале" и т.д.).
- 🔍 Текстовые фильтры — несмотря на название, работает и с датами (опции "равно", "больше", "между").
- 🎨 Фильтр по цвету — полезно, если даты выделены условным форматированием.
Пример: чтобы отобразить продажи за март 2026 года, выберите во вкладке Фильтры по дате → Между и укажите диапазон с 01.03.2026 по 31.03.2026.
⚠️ Внимание: Если в выпадающем списке фильтра даты отображаются как пятизначные числа (например, 45341 вместо 01.03.2026), значит Excel воспринимает их как текст. Исправьте формат ячеек: выделите столбец →Главная→Формат ячеек→ выберите категориюДата.
2. Расширенный фильтр: гибкие условия для сложных задач
Автофильтр ограничен одним условием за раз. Если нужно отфильтровать данные по нескольким критериям одновременно (например, даты за последний квартал и сумма продаж больше 10 000), используйте расширенный фильтр.
Алгоритм действий:
- Создайте диапазон условий — отдельную область с заголовками столбцов и критериями. Например:
A1: "Дата" | B1: "Сумма"A2: ">01.01.2026" | B2: ">10000"
- Перейдите на вкладку
Данные→Сортировка и фильтр→Дополнительно. - В окне настроек укажите:
- 📍 Исходный диапазон — ваша таблица с данными.
- 📌 Диапазон условий — ячейки с критериями (в нашем примере A1:B2).
- ✅ Отметьте
Скопировать результат в другое место, если нужно сохранить отфильтрованные данные отдельно.
Преимущество метода: можно комбинировать до 127 условий (ограничение Excel) и использовать формулы в критериях. Например, чтобы отобразить данные за последние 7 дней, введите в ячейку условия:
=И(Дата>=СЕГОДНЯ()-7; Дата<=СЕГОДНЯ())
Создать отдельный диапазон условий|Проверить формат дат в исходных данных|Убедиться, что заголовки столбцов совпадают|Задать абсолютные ссылки на ячейки с критериями (если нужно)-->
⚠️ Внимание: Расширенный фильтр не обновляется автоматически при изменении данных. После редактирования таблицы повторно запустите фильтрацию вручную или используйте Таблицы Excel (см. раздел 4).
3. Фильтрация по динамическим периодам (сегодня, вчера, этот месяц)
Часто требуется отображать данные за текущий день, неделю или месяц — причем так, чтобы фильтр обновлялся автоматически при открытии файла. Для этого используйте формулы в критериях фильтра.
Способы реализации:
- 📅 Сегодня: в ячейке условия укажите
=СЕГОДНЯ(). - 📆 Этот месяц:
=И(МЕСЯЦ(Дата)=МЕСЯЦ(СЕГОДНЯ()); ГОД(Дата)=ГОД(СЕГОДНЯ())). - 📈 Последние 30 дней:
=Дата>=СЕГОДНЯ()-30. - 🏢 Рабочие дни (пн-пт):
=И(ДЕНЬНЕД(Дата)<>7; ДЕНЬНЕД(Дата)<>1)(где 7=воскресенье, 1=понедельник в некоторых локалях).
Пример настройки:
- Создайте таблицу с данными (например, столбцы "Дата", "Продавец", "Сумма").
- Добавьте строку условий над таблицей с формулой (например, в ячейке A1:
=СЕГОДНЯ()-7для "последней недели"). - Примените автофильтр и выберите
Фильтры по дате→Настраиваемый фильтр→ укажите ячейку с формулой.
Для автоматического обновления используйте именованные диапазоны:
- Выделите ячейку с формулой (например,
=СЕГОДНЯ()). - Перейдите на вкладку
Формулы→Присвоить имя→ назовите диапазон (например, "Сегодня"). - В критериях фильтра ссылайтесь на это имя вместо ячейки.
4. Использование таблиц Excel для умной фильтрации
Преобразуйте ваш диапазон данных в умную таблицу Excel (Ctrl+T), и вы получите расширенные возможности фильтрации:
- 🔄 Автоматическое обновление фильтров при изменении данных.
- 📊 Срезы (Slicers) — визуальные кнопки для быстрой фильтрации.
- 🔍 Фильтр по нескольким значениям (в отличие от обычного автофильтра).
Как создать срез для фильтрации по датам:
- Выделите таблицу и перейдите на вкладку
Вставка→Срез. - В окне выберите столбец с датами и нажмите
ОК. - Настройте отображение среза: количество столбцов, стиль кнопок.
- Чтобы группировать даты по месяцам/квадралам, кликните правой кнопкой по срезу →
Настройка среза→Группировка дат.
Преимущество срезов: они интерактивны и позволяют фильтровать данные в несколько кликов. Например, можно создать отдельные срезы для года, квартала и месяца — и комбинировать их.
| Тип фильтра | Подходит для | Ограничения |
|---|---|---|
| Автофильтр | Простые условия ("больше", "между") | Одно условие за раз, нет динамики |
| Расширенный фильтр | Сложные критерии, формулы | Не обновляется автоматически |
| Срезы (Slicers) | Интерактивная фильтрация, группировка | Требует преобразования в таблицу |
| Формулы в условии | Динамические периоды ("сегодня", "этот месяц") | Сложно настраивать новичку |
Как сбросить все фильтры сразу?
Чтобы убрать все фильтры в таблице, нажмите Данные → Фильтр (отключит автофильтр) или используйте горячие клавиши Alt+D+F+F (в английской версии Excel). Если фильтры применены к таблице (Ctrl+T), кликните по стрелке фильтра и выберите Удалить фильтр из столбца.
5. Фильтрация по нестандартным периодам (рабочие дни, четные недели)
Иногда требуется отфильтровать данные по нетривиальным условиям:
- 📅 Только четные/нечетные недели (например, для графика дежурств).
- 🏭 Рабочие дни без праздников (исключая 1 мая, 8 марта и т.д.).
- 📈 Дани за аналогичный период прошлого года (например, март 2023 vs март 2026).
Для таких задач комбинируйте вспомогательные столбцы с формулами и расширенным фильтром. Примеры:
Четные недели:
=ЕСЛИ(НЕДЕЛЯ(Дата)/2=ЦЕЛОЕ(НЕДЕЛЯ(Дата)/2); "Четная"; "Нечетная")
Затем отфильтруйте по значению "Четная".
Исключение праздников:
- Создайте отдельный список праздничных дат в другом листе.
- Добавьте вспомогательный столбец с формулой:
=ЕСЛИ(ИЛИ(ДЕНЬНЕД(Дата;2)>5; СЧЁТЕСЛИ(Праздники!A:A;Дата));"Выходной";"Рабочий")где
Праздники!A:A— столбец с праздничными датами. - Отфильтруйте по значению "Рабочий".
Аналогичный период прошлого года:
=ДАТА(ГОД(Дата)-1; МЕСЯЦ(Дата); ДЕНЬ(Дата))
Затем примените фильтр по диапазону дат.
⚠️ Внимание: При работе с большими массивами данных (10 000+ строк) вспомогательные столбцы с формулами могут замедлить производительность. В таких случаях используйте Power Query (см. раздел 6) или сводные таблицы.
6. Power Query: фильтрация дат для больших данных
Если вы работаете с большими объемами данных (от 50 000 строк), стандартные фильтры Excel начинают тормозить. В этом случае используйте Power Query — инструмент для обработки и трансформации данных, встроенный в Excel 2016+ и Excel 365.
Пошаговая инструкция:
- Выделите вашу таблицу и перейдите на вкладку
Данные→Из таблицы/диапазона(в группеПолучить и преобразовать). - В открывшемся окне Power Query выберите столбец с датами → кликните по стрелке фильтра.
- Выберите нужный период (например,
Послеи укажите дату) или создайте пользовательский фильтр с формулой на языке M:= Date.IsInPreviousNDays([Дата], 30)(отобразит данные за последние 30 дней).
- Нажмите
Закрыть и загрузить, чтобы вернуть отфильтрованные данные в Excel.
Преимущества Power Query:
- ⚡ Обрабатывает миллионы строк без зависаний.
- 🔄 Сохраняет шаги фильтрации — при обновлении данных достаточно кликнуть
Обновить все. - 📅 Поддерживает сложные условия (например, "даты, которые приходятся на третий четверг месяца").
Пример кода на M для фильтрации по рабочим дням текущего месяца:
let
Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
ФильтрДаты = Table.SelectRows(Источник, each
Date.Month([Дата]) = Date.Month(DateTime.LocalNow()) and
Date.Year([Дата]) = Date.Year(DateTime.LocalNow()) and
Date.DayOfWeek([Дата]) <> Day.Sunday and
Date.DayOfWeek([Дата]) <> Day.Saturday
)
in
ФильтрДаты
Типичные ошибки и как их исправить
Даже опытные пользователи сталкиваются с проблемами при фильтрации дат. Вот TOP-5 ошибок и их решения:
1. Даты отображаются как числа (45341 вместо 01.03.2026)
- 🔹 Причина: Ячейки имеют общий или текстовый формат.
- 🔹 Решение: Выделите столбец →
Главная→Формат ячеек→ выберитеДата. Если не помогает, используйте формулу=ДАТАЗНАЧ(ТЕКСТ)для преобразования.
2. Фильтр не находит даты в диапазоне
- 🔹 Причина: В данных есть скрытые символы (пробелы, переносы строк) или неверный разделитель (точка vs косая черта).
- 🔹 Решение: Очистите данные с помощью
=ПЕЧСИМВ(СЖПРОБЕЛЫ(A1))и проверьте региональные настройки (Файл→Параметры→Язык).
3. Фильтр применяется, но данные не обновляются
- 🔹 Причина: Включен режим
Ручной пересчетили данные подтягиваются из внешнего источника. - 🔹 Решение: Нажмите
Формулы→Вычислить сейчас(F9) или обновите соединение (Данные→Обновить все).
4. Исчезли данные после фильтрации
- 🔹 Причина: Применен фильтр с жестким условием (например, "равно 01.01.2026", но такой даты в данных нет).
- 🔹 Решение: Проверьте критерии фильтра или сбросьте его (
Данные→Фильтр→ снять галочку). Если данные пропали безвозвратно, воспользуйтесьCtrl+Zили откройте предыдущую версию файла (Файл→Сведения→Управление книгой).
5. Срезы (Slicers) не работают
- 🔹 Причина: Данные не преобразованы в таблицу (
Ctrl+T) или срез связан с удаленным столбцом. - 🔹 Решение: Преобразуйте диапазон в таблицу и пересоздайте срез. Если срез "серый" — проверьте, не скрыт ли столбец с данными.
FAQ: Ответы на частые вопросы
Как отфильтровать даты по кварталам?
Создайте вспомогательный столбец с формулой:
=ОКРУГЛВВЕРХ(МЕСЯЦ(А2)/3;0)
где A2 — ячейка с датой. Затем отфильтруйте по номеру квартала (1, 2, 3 или 4).
Для группировки по кварталам в сводной таблице: кликните правой кнопкой по дате → Группировать → выберите Кварталы.
Можно ли фильтровать по времени (часам, минутам)?
Да, но Excel воспринимает время как часть даты. Чтобы отфильтровать только по часам:
- Добавьте вспомогательный столбец с формулой
=ЧАС(А2). - Примените фильтр по этому столбцу (например, "больше 17" для вечернего времени).
Для фильтрации по интервалу (например, с 9:00 до 18:00) используйте:
=И(ЧАС(А2)>=9; ЧАС(А2)<=18)
Как сохранить отфильтрованные данные в новый файл?
Способ 1: Скопируйте видимые ячейки (Alt+; → Ctrl+C) и вставьте в новую книгу.
Способ 2: Используйте расширенный фильтр с опцией Скопировать результат в другое место (см. раздел 2).
Способ 3: В Power Query отфильтруйте данные и загрузите их в новую книгу (Закрыть и загрузить в...).
Почему при фильтрации даты сбиваются на 4 года?
Это известная ошибка Excel, связанная с переходом на григорианский календарь. В некоторых версиях даты до 01.03.1900 отображаются со сдвигом на 4 года и 1 день.
Решение: обновите Excel до последней версии или используйте формулу для коррекции:
=ЕСЛИ(Дата<ДАТА(1900;3;1);ДАТА(ГОД(Дата)+4;МЕСЯЦ(Дата);ДЕНЬ(Дата)+1);Дата)
Как фильтровать даты в Google Таблицах?
В Google Sheets процесс аналогичен Excel, но есть нюансы:
- 📌 Автофильтр включается через
Данные→Создать фильтр. - 📌 Для динамических дат используйте
=TODAY()вместоСЕГОДНЯ(). - 📌 Расширенный фильтр называется
Фильтр по условиюи поддерживает регулярные выражения.
Пример фильтра для "последней недели":
=AND(A2>=TODAY()-7; A2<=TODAY())