Как отфильтровать данные по дате в Excel: полное руководство с примерами

Почему фильтрация по дате в Excel — ключевой навык для работы с данными

Возможность быстро отсеять нужные временные периоды из огромных массивов данных превращает хаос в упорядоченную информацию. Представьте: у вас таблица с продажами за 5 лет, где каждая строка — это транзакция с датой, суммой и товаром. Без фильтрации по дате анализ таких данных занял бы часы ручной работы. А с правильными инструментами Microsoft Excel или Google Таблиц вы получите ответы на вопросы типа "Какие товары продавались лучше всего в декабре 2023?" или "Как изменились доходы по кварталам?" за считанные секунды.

Но здесь кроется подвох: даты в Excel хранятся не как текст, а как числовые значения (количество дней с 1 января 1900 года). Это означает, что стандартные текстовые фильтры часто дают сбои, а неправильный формат ячеек может свести на нет все усилия. Например, если вы импортировали данные из CSV, где даты записаны как DD/MM/YYYY, но Excel интерпретировал их как MM/DD/YYYY, фильтр покажет неверные результаты. Эта статья поможет избежать таких ловушек и научит фильтровать даты точнее, чем 90% пользователей.

Мы разберём не только базовые методы (автофильтр и расширенный фильтр), но и продвинутые техники с формулами, сводными таблицами и даже Power Query. Особое внимание уделим типичным ошибкам — например, почему фильтр "больше чем 31.12.2023" может пропустить даты из 2026 года, если формат ячейки настроен как Текст. Готовы превратить свои таблицы в инструмент точного анализа? Начнём с самого простого.

Метод 1: Быстрая фильтрация через автофильтр (для начинающих)

Автофильтр — это ваш первый помощник, когда нужно быстро отсеять данные по дате без сложных манипуляций. Он встроен в Excel по умолчанию и работает даже в самых старых версиях (начиная с Excel 2003). Чтобы его активировать:

  1. Выделите заголовок столбца с датами (например, ячейку A1 с названием "Дата").
  2. Перейдите на вкладку Данные → нажмите Фильтр (или используйте горячие клавиши Ctrl+Shift+L).
  3. Рядом с заголовком появится стрелка фильтра — кликните по ней.

Теперь вы увидите список уникальных дат из столбца. Но гораздо полезнее воспользоваться встроенными фильтрами по датам:

  • 📅 Фильтры по периодам: "Завтра", "На этой неделе", "В прошлом месяце" и т.д. Excel автоматически определяет текущую дату и предлагает релевантные диапазоны.
  • 📊 Пользовательский фильтр: позволяет задать точные условия, например "больше чем 01.01.2023 И меньше чем 31.03.2023".
  • 🔍 Текстовые фильтры: работают, если даты хранятся как текст (но это рискованно — см. предупреждение ниже).

Пример: чтобы найти все продажи за второй квартал 2023 года, выберите в автофильтре Фильтры по датеМежду и укажите диапазон с 01.04.2023 по 30.06.2023. Excel мгновенно скрывает все строки, не попадающие в этот интервал.

⚠️ Внимание: Если после применения фильтра вы видите пустые результаты, проверьте формат ячеек с датами. Кликните правой кнопкой по столбцу → Формат ячеек → выберите категорию Дата. Частая ошибка — когда даты импортируются как текст (формат Общий или Текстовый), и фильтр их просто не распознаёт.
📊 Какой версии Excel вы пользуетесь?
Excel 2010 или старше
Excel 2013-2019
Excel 365 (подписка)
Google Таблицы
Другая

Метод 2: Расширенный фильтр для сложных условий

Когда автофильтра недостаточно — например, нужно отфильтровать данные по дате и одновременно по другому критерию (скажем, по дате и по региону продаж) — на помощь приходит расширенный фильтр. Он позволяет:

  • 📌 Сохранять результаты фильтрации на другом листе.
  • 🔄 Использовать несколько условий одновременно (логическое "И"/"ИЛИ").
  • 📂 Фильтровать данные по динамически изменяющимся критериям (например, "последние 30 дней от сегодняшней даты").

Алгоритм действий:

  1. Создайте диапазон условий (например, в ячейках D1:E2):
    • В D1 напишите заголовок столбца, по которому фильтруете (например, "Дата").
    • В D2 укажите условие, например >=01.01.2023.
    • В E1 добавьте второй критерий (например, "Регион"), а в E2 — значение (например, "Москва").
  • Перейдите на вкладку ДанныеСортировка и фильтрДополнительно.
  • В окне настроек укажите:
    • Исходный диапазон — ваша таблица с данными (например, A1:C1000).
    • Диапазон условий — ячейки с критериями (D1:E2).
    • Отметьте Скопировать результат в другое место, если хотите сохранить отфильтрованные данные отдельно.
    • Преимущество этого метода в том, что условия можно сделать динамическими. Например, в ячейке D2 вместо фиксированной даты можно использовать формулу =СЕГОДНЯ()-30, чтобы всегда показывать данные за последние 30 дней.

      Тип условия Пример записи Результат
      Равенство =15.05.2023 Только строки с точной датой 15 мая 2023
      Диапазон >=01.01.2023 и <=31.12.2023 Все даты в 2023 году
      Динамическая дата =СЕГОДНЯ()-7 Данные за последние 7 дней (обновляется автоматически)
      Логическое "ИЛИ" Две строки с условиями в одном диапазоне Данные, соответствующие хотя бы одному условию
      ⚠️ Внимание: Если вы используете расширенный фильтр с формулами в условиях (например, =СЕГОДНЯ()-30), убедитесь, что формат ячейки с формулой — Общий или Дата. В противном случае Excel воспримет результат формулы как текст, и фильтрация не сработает.

      Убедитесь, что заголовки в диапазоне условий совпадают с заголовками исходной таблицы|

      Проверьте формат ячеек с датами (должен быть "Дата")|

      Используйте абсолютные ссылки (с $) для диапазонов, если планируете копировать формулы|

      Тестируйте условия на небольшом фрагменте данных перед применением ко всей таблице-->

      Метод 3: Фильтрация по дате с помощью формул (для продвинутых пользователей)

      Когда стандартные фильтры не справляются — например, нужно отфильтровать данные по дню недели, кварталу или возрасту записи — на помощь приходят формулы. Их можно использовать как в Фильтр по значению (в новых версиях Excel), так и в комбинации с Функцией ФИЛЬТРExcel 365 и Excel 2021).

      Рассмотрим несколько практических примеров:

      1. Фильтрация по дню недели

      Допустим, вам нужно найти все продажи, совершённые по понедельникам. Для этого:

      1. Добавьте вспомогательный столбец с формулой:
        =ТЕКСТ(A2; "dddd")

        где A2 — ячейка с датой. Формула вернёт название дня недели (например, "понедельник").

      2. Примените автофильтр к этому столбцу и выберите "понедельник".

      2. Фильтрация по кварталу

      Чтобы сгруппировать данные по кварталам, используйте формулу:

      =ОКРУГЛВВЕРХ(МЕСЯЦ(A2)/3; 0)

      Она вернёт номер квартала (1–4). Затем отфильтруйте по этому значению.

      3. Динамическая фильтрация "последние N дней"

      В Excel 365 можно использовать функцию ФИЛЬТР без вспомогательных столбцов:

      =ФИЛЬТР(A2:B100; (A2:A100>=СЕГОДНЯ()-30); "Нет данных")

      Эта формула вернёт все строки из диапазона A2:B100, где дата в столбце A не старше 30 дней.

      Критическая деталь: если ваши даты хранятся как текст, формулы типа =A2>=ДАТА(2023;1;1) не сработают. Сначала преобразуйте текст в даты с помощью ДАТАЗНАЧ или Функции текста в столбцы.

      Метод 4: Сводные таблицы для анализа временных данных

      Сводные таблицы — это самый мощный инструмент для анализа данных по датам, особенно когда нужно агрегировать информацию (например, посчитать сумму продаж по месяцам или среднее значение по кварталам). Их ключевое преимущество — возможность группировки дат по годам, кварталам, месяцам или дням автоматически.

      Пошаговая инструкция:

      1. Выделите исходную таблицу с данными (включая заголовки).
      2. Перейдите на вкладку ВставкаСводная таблица.
      3. В открывшемся окне выберите, куда поместить сводную таблицу (на новый лист или в текущий).
      4. В панели Поля сводной таблицы перетащите столбец с датами в область Строки.
      5. Кликните правой кнопкой по любой дате в сводной таблице → Группировать.
      6. Выберите нужные единицы группировки (например, Месяцы и Кварталы).

    Теперь вы можете добавить в область Значения столбец с суммами продаж или другим числовым показателем, и Excel автоматически посчитает итоги по каждому временному периоду. Например, так можно узнать, какой месяц был самым прибыльным за последний год.

    • 📈 Группировка по неделям: полезно для анализа еженедельных трендов (например, в розничной торговле).
    • 📅 Группировка по дням недели: покажет, в какие дни недели продажи выше.
    • 🔄 Динамическое обновление: если исходные данные изменяются, достаточно кликнуть Обновить на вкладке Анализ.
    • ⚠️ Внимание: Если при группировке дат Excel выдаёт ошибку "Не все выделенные элементы являются датами", проверьте:
      1. Формат ячеек (должен быть Дата).
      2. Отсутствие пустых ячеек или текста в столбце с датами.
      3. Корректность самих дат (например, 31.02.2023 — недопустимая дата).
      Как исправить ошибку группировки дат?

      Если Excel отказывается группировать даты, попробуйте следующее:

      1. Создайте вспомогательный столбец с формулой =ДАТАЗНАЧ(A2), где A2 — ячейка с "битой" датой.

      2. Скопируйте значения из вспомогательного столбца и вставьте их поверх оригинальных дат (используйте Специальная вставка → Значения).

      3. Удалите вспомогательный столбец и повторите группировку.

      Метод 5: Power Query для сложной обработки дат

      Power Query (доступен в Excel 2016 и новее) — это инструмент для продвинутой трансформации данных, который позволяет очищать, объединять и фильтровать данные по датам с невероятной гибкостью. Его ключевое преимущество — возможность автоматизировать процесс: однажды настроенный запрос можно обновлять одним кликом.

      Пример: у вас есть данные о продажах с датами в формате YYYYMMDD (например, 20231225 для 25 декабря 2023). Чтобы отфильтровать продажи за декабрь 2023:

      1. Выделите исходную таблицу → вкладка ДанныеИз таблицы/диапазона (в группе Получить и преобразовать данные).
      2. В открывшемся редакторе Power Query выделите столбец с датами.
      3. На вкладке Преобразовать выберите Формат → Дата (если даты в текстовом формате, сначала преобразуйте их с помощью Тип данных: Дата/время).
      4. На вкладке Домой нажмите Фильтр → Фильтры даты/времени → Между и укажите диапазон с 01.12.2023 по 31.12.2023.
      5. Нажмите Закрыть и загрузить, чтобы вернуть отфильтрованные данные в Excel.

      Power Query также позволяет:

      • 🔄 Объединять данные из нескольких источников (например, из разных листов или файлов) с последующей фильтрацией по датам.
      • 📅 Извлекать части даты (год, месяц, день) в отдельные столбцы для более гибкого анализа.
      • 🔄 Создавать пользовательские столбцы с формулами (на языке M), например, для расчёта возраста записи в днях.

      Пример кода на языке M для фильтрации данных за текущий год:

      = Table.SelectRows(#"Предыдущий шаг", each Date.Year([Дата]) = Date.Year(DateTime.LocalNow()))

      где [Дата] — название столбца с датами.

      Типичные ошибки и как их избежать

      Даже опытные пользователи Excel иногда сталкиваются с проблемами при фильтрации по датам. Вот TOP-5 ошибок и способы их решения:

      1. Дата хранится как текст:

        Симптомы: фильтр не работает или возвращает пустые результаты. Решение: преобразуйте текст в дату с помощью ДАТАЗНАЧ или Текст по столбцам.

      2. Неправильный формат даты:

        Симптомы: даты отображаются как числа (например, 44197 вместо 01.01.2021). Решение: измените формат ячейки на Дата.

      3. Локальные настройки Excel:

        Симптомы: даты интерпретируются неверно (например, 01.02.2023 воспринимается как 1 февраля, а не 2 января). Решение: проверьте региональные настройки в Файл → Параметры → Язык.

      4. Пустые ячейки или ошибки в данных:

        Симптомы: фильтр игнорирует часть строк. Решение: используйте функцию ЕЧИСТ или ЕОШИБКА для очистки данных.

      5. Ошибки в формулах:

        Симптомы: формулы возвращают #ЗНАЧ! или #ЧИСЛО!. Решение: проверьте синтаксис и типы данных (например, ДАТАЗНАЧ не работает с некорректными датами типа 31.02.2023).

      Чтобы минимизировать ошибки, всегда следуйте этому чеклисту перед фильтрацией:

      Убедитесь, что все ячейки в столбце имеют формат "Дата"|

      Проверьте отсутствие пустых ячеек или текста в столбце с датами|

      Используйте Проверку данных (вкладка Данные) для ограничения ввода только датами|

      Тестируйте фильтры на копии данных, если работаете с важной информацией-->

      FAQ: Ответы на частые вопросы

      Можно ли отфильтровать данные по дате в Google Таблицах?

      Да, в Google Таблицах доступны те же методы, что и в Excel:

      • Автофильтр: Данные → Создать фильтр.
      • Расширенный фильтр: Данные → Фильтр по условию.
      • Функция FILTER (аналог ФИЛЬТР в Excel 365).

      Основное отличие — в Google Таблицах нет Power Query, но зато есть встроенная функция QUERY для сложных запросов.

      Как отфильтровать даты по текущему месяцу?

      Используйте одно из решений:

      1. Автофильтр: выберите Фильтры по дате → Этот месяц.
      2. Формула: добавьте вспомогательный столбец с =И(МЕСЯЦ(A2)=МЕСЯЦ(СЕГОДНЯ()); ГОД(A2)=ГОД(СЕГОДНЯ())) и отфильтруйте по ИСТИНА.
      3. Power Query: примените фильтр Date.Month([Дата]) = Date.Month(DateTime.LocalNow()).

      Почему фильтр по дате не показывает некоторые строки?

      Вероятные причины:

      • Формат ячеек с датами — Текст или Общий.
      • В данных есть скрытые символы (например, пробелы перед датой).
      • Дата записана некорректно (например, 31.02.2023).
      • Фильтр применён к копии данных, а не к оригиналу.

      Решение: проверьте формат ячеек и очистите данные с помощью ТРИМ или ПЕЧСИМВ.

      Как отфильтровать данные по возрасту (например, "старше 30 дней")?

      Добавьте вспомогательный столбец с формулой:

      =СЕГОДНЯ()-A2

      где A2 — ячейка с датой. Затем отфильтруйте строки, где значение в этом столбце > 30.


      В Excel 365 можно обойтись без вспомогательного столбца:
      =ФИЛЬТР(A2:B100; (СЕГОДНЯ()-A2:A100)>30; "Нет данных")

      Можно ли сохранить отфильтрованные данные в новый файл?

      Да, есть несколько способов:

      • Скопируйте видимые строки (выделите данные → Найти и выделить → Выделить группу ячеек → Только видимые ячейки → скопируйте и вставьте в новый файл).
      • Используйте Расширенный фильтр с опцией Скопировать результат в другое место.
      • В Power Query загрузите отфильтрованные данные на новый лист, затем сохраните его как отдельный файл.