Работа с датами в Microsoft Excel — одна из самых востребованных задач при анализе данных.hether вы ведете учет продаж, планируете проекты или анализируете временные ряды, умение быстро отфильтровать данные по датам экономит часы ручной работы. Но как правильно настроить фильтр, чтобы он работал точно и без ошибок?
В этой статье мы разберем 5 способов фильтрации дат — от базового автофильтра до расширенных условий с формулами. Вы узнаете, как отобрать записи за конкретный день, неделю, месяц или произвольный период, а также научитесь избегать типичных ошибок при работе с датами в формате текста. Все инструкции подходят для Excel 2010-2023 и Excel Online.
Особое внимание уделим скрытой проблеме Excel — неявному преобразованию форматов дат, из-за которой фильтры могут работать непредсказуемо. Вы получите чек-лист для проверки корректности данных перед фильтрацией.
1. Базовый автофильтр: как включить и использовать
Автофильтр — самый простой способ отобрать данные по датам. Он подходит для 90% задач и работает во всех версиях Excel. Вот как его активировать:
- Выделите заголовок столбца с датами (включая название столбца).
- Перейдите на вкладку
Данные→ нажмитеФильтр(или используйте горячие клавишиCtrl+Shift+L). - Рядом с названием столбца появится значок воронки — кликните по нему.
В выпадающем меню вы увидите все уникальные даты из столбца. Но гораздо удобнее использовать встроенные фильтры по периодам:
- 📅 Фильтры по дате: "Завтра", "На этой неделе", "В прошлом месяце" и т.д.
- 🔍 Пользовательский фильтр: для произвольных диапазонов (например, с 15.05.2023 по 30.06.2023).
- 📊 Фильтр по цвету: если даты выделены условным форматированием.
Важный нюанс: автофильтр учитывает только видимые ячейки. Если в вашей таблице есть скрытые строки, они не будут участвовать в фильтрации. Чтобы это исправить, сначала снимите все скрытия через Главная → Формат → Скрыть/отобразить.
2. Фильтрация по диапазону дат: пользовательские настройки
Когда нужно отобрать данные за произвольный период (например, с 10 по 20 число каждого месяца), используйте пользовательский фильтр:
- Активируйте автофильтр (как в предыдущем разделе).
- Кликните по воронке в столбце с датами → выберите
Фильтры по дате→Пользовательский фильтр. - В открывшемся окне укажите условия:
- Первое поле: "больше или равно" → введите начальную дату
- Второе поле: "меньше или равно" → введите конечную дату
Пример настройки для фильтрации за II квартал 2023 года:
больше или равно: 01.04.2023
меньше или равно: 30.06.2023
| Тип фильтра | Пример условия | Результат |
|---|---|---|
| Равен | =15.05.2023 | Только записи за 15 мая |
| Больше | >31.12.2022 | Все записи с 2023 года |
| Между | 01.01.2023 И 31.03.2023 | I квартал 2023 года |
| Первые 10... | Первые 5 по дате | 5 самых ранних записей |
⚠️ Внимание: Если при вводе даты в поле фильтра Excel выдает ошибку "#ЗНАЧ!", проверьте формат ячейки. Дата должна храниться какДата, а не какТекстилиОбщий.
3. Расширенный фильтр: для сложных условий
Когда нужно отфильтровать данные по нескольким критериям одновременно (например, дата + категория + сумма), используйте расширенный фильтр:
- Создайте диапазон условий над или рядом с вашей таблицей. Например:
A1: "Дата" | B1: "Категория" | C1: "Сумма"
A2: ">01.01.2023" | B2: "Одежда" | C2: ">1000"
- Выделите исходную таблицу (включая заголовки).
- Перейдите на вкладку
Данные→Сортировка и фильтр→Дополнительно. - В окне расширенного фильтра укажите:
- Исходный диапазон — ваша таблица
- Диапазон условий — ячейки с критериями (A1:C2 в примере)
- Отметьте "Скопировать результат в другое место", если нужно сохранить отфильтрованные данные отдельно
Преимущество этого метода — возможность комбинировать несколько условий по разным столбцам. Например, можно отобрать продажи одежды за 2023 год на сумму больше 1000 рублей.
Заголовки в диапазоне условий совпадают с заголовками таблицы|
Дата введена в формате даты, а не текста|
Диапазон условий не пересекается с исходной таблицей|
Указано правильное направление фильтрации (на месте или копирование)-->
⚠️ Внимание: Если в диапазоне условий указать дату в формате15/05/2023(через косую черту), Excel может воспринять её как текст. Всегда используйте формат15.05.2023или15-мая-2023.
4. Фильтрация по неделям, месяцам и годам
Excel позволяет фильтровать даты не только по точным значениям, но и по группированным периодам:
- 📅 По годам: выберите в автофильтре "Фильтры по дате" → "Все даты в периоде" → "2023"
- 📆 По месяцам: тот же путь, но выберите конкретный месяц (например, "Июнь")
- 📇 По неделям: используйте функцию
НЕДЕЛЯ()в дополнительном столбце, затем фильтруйте по номерам недель
Для фильтрации по дню недели (например, только понедельники) добавьте вспомогательный столбец с формулой:
=ТЕКСТ(A2; "dddd")
Где A2 — ячейка с датой. Затем отфильтруйте этот столбец по значению "понедельник".
Как Excel хранит даты?
Excel хранит даты как последовательные числа, где 1 января 1900 года = 1, 2 января 1900 = 2 и так далее. Когда вы вводите "15.05.2023", программа преобразует её в число 45055. Это объясняет, почему иногда даты отображаются как числа — просто включен неверный формат ячейки.
Для квартальной фильтрации используйте формулу:
=МЕСЯЦ(A2)/3+1
Она вернет номер квартала (1-4), по которому можно фильтровать.
5. Фильтр по датам с помощью формул
Когда стандартные фильтры не подходят, используйте формулы в дополнительных столбцах. Например, чтобы отобрать записи за последние 30 дней:
- Добавьте новый столбец с формулой:
=ЕСЛИ(A2>=СЕГОДНЯ()-30; "Да"; "Нет")Где
A2— ячейка с датой. - Отфильтруйте новый столбец по значению "Да".
Другие полезные формулы для фильтрации:
| Задача | Формула | Пример результата |
|---|---|---|
| Дата в текущем месяце | =И(A2>=ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ());1); A2<=ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ())+1;0)) |
TRUE для мая 2023 |
| Будние дни (пн-пт) | =ДЕНЬНЕД(A2)<6 |
TRUE для понедельника |
| Четные/нечетные дни | =ЧЕТН(ДЕНЬ(A2)) |
TRUE для 2,4,6... чисел |
⚠️ Внимание: ФормулыСЕГОДНЯ()иТДАТА()пересчитываются при каждом открытии файла. Если вам нужна фиксированная дата (например, "на 01.01.2023"), используйте конкретное значение вместо функции.
6. Типичные ошибки и как их избежать
Даже опытные пользователи сталкиваются с проблемами при фильтрации дат. Вот TOP-5 ошибок и их решения:
- 🚫 Дата как текст: Если даты выровнены по левому краю или при фильтрации появляются числа вместо дат, преобразуйте столбец в формат даты через
Формат ячеекили функциюДАТАЗНАЧ(). - 🚫 Пустые ячейки: Автофильтр игнорирует пустые ячейки. Чтобы их показать, снимите все фильтры или используйте расширенный фильтр с условием "<>"" (не равно пустоте).
- 🚫 Несовпадение форматов: Если в одном столбце смешаны форматы (15.05.2023 и 15/05/2023), Excel воспринимает их как разные значения. Приведите все даты к единому формату.
- 🚫 Скрытые символы: Иногда даты содержат невидимые пробелы или символы переноса. Используйте
СЖПРОБЕЛЫ()для очистки. - 🚫 Локальные настройки: В разных странах разные форматы дат. Если файл создан в США, дата "05/12/2023" может означать 5 декабря (USA) или 12 мая (Russia). Проверьте региональные настройки в
Файл → Параметры → Язык.
Для проверки корректности дат используйте этот чек-лист:
Все ячейки имеют формат "Дата"|
Нет пустых ячеек в фильтруемом диапазоне|
Дата отображается выровненной по правому краю|
При двойном клике на ячейку формат не меняется на "Общий"|
Тестовая фильтрация по одной дате работает корректно-->
Если после всех проверок фильтр по-прежнему работает неправильно, попробуйте преобразовать данные в таблицу Excel (Ctrl+T). Встроенные таблицы часто лучше обрабатывают фильтрацию по датам.
7. Альтернативные способы: сводные таблицы и Power Query
Для больших наборов данных (10 000+ строк) стандартные фильтры работают медленно. В таких случаях используйте:
- 📊 Сводные таблицы:
- Выделите исходные данные.
- На вкладке
ВставкавыберитеСводная таблица. - Перетащите поле с датой в область "Строки".
- Кликните правой кнопкой по дате в сводной таблице →
Группировать→ выберите период (дни, месяцы, кварталы).
- Выделите данные →
Данные→Из таблицы/диапазона. - В редакторе Power Query выберите столбец с датой →
Преобразовать→Дата. - Используйте фильтры в интерфейсе Power Query (они работают быстрее, чем в Excel).
- Нажмите
Закрыть и загрузить.
Преимущество сводных таблиц — возможность группировки дат по нестандартным периодам. Например, можно сгруппировать данные по:
- 📅 Фискальным кварталам (ноябрь-январь и т.д.)
- 📆 Двухнедельным периодам
- 📇 Пользовательским диапазонам (например, "высокий сезон" и "низкий сезон")
- Дата хранится как текст (проверьте формат ячейки).
- В данных есть скрытые символы (используйте
=ЧИСТ()для очистки). - Дата выходит за пределы диапазона Excel (до 31.12.9999).
- Применен другой фильтр в другом столбце, который исключает эти строки.
- Создайте диапазон условий (как в разделе 3).
- В окне расширенного фильтра отметьте "Скопировать результат в другое место".
- Укажите адрес первой ячейки на новом листе (например,
=Лист2!$A$1). - Нажмите
ОК— отфильтрованные данные появятся на новом листе.
Power Query подходит для автоматизации: вы можете создать запрос один раз, а затем обновлять данные одним кликом, сохраняя все фильтры.
FAQ: Частые вопросы по фильтрации дат
Как отфильтровать даты за текущий месяц автоматически?
Добавьте вспомогательный столбец с формулой:
=И(МЕСЯЦ(A2)=МЕСЯЦ(СЕГОДНЯ()); ГОД(A2)=ГОД(СЕГОДНЯ()))
Затем отфильтруйте по значению ИСТИНА. Этот фильтр будет автоматически обновляться при открытии файла.
Почему фильтр не показывает некоторые даты?
Вероятные причины:
Решение: создайте тестовую копию данных и проверьте фильтрацию на ней.
Можно ли фильтровать по времени без даты?
Да, но нужно отделить время от даты. Используйте формулу:
=A2-ЦЕЛОЕ(A2)
Где A2 — ячейка с датой и временем. Затем отформатируйте новый столбец как Время и фильтруйте по нему.
Как сохранить отфильтрованные данные в новый лист?
Используйте расширенный фильтр:
Почему при фильтрации даты отображаются как ######?
Это означает, что ширина столбца недостаточна для отображения даты в текущем формате. Решения:
- Увеличьте ширину столбца двойным кликом по правой границе заголовка.
- Используйте более компактный формат даты (например,
15.05.23вместо15 мая 2023 г.). - Проверьте, не содержит ли ячейка ошибочное значение (например, отрицательную дату).