Работа с датами в Microsoft Excel — одна из самых востребованных задач при анализе временных данных. Чаще всего пользователям требуется выделить записи за конкретный месяц: будь то продажи за март, посещаемость сайта в августе или производственные отчёты за ноябрь. В этой статье мы разберём все возможные способы фильтрации по месяцу — от базовых инструментов до продвинутых формул, которые работают даже с нестандартными форматами дат.
Вы узнаете, как:
- 🔍 Использовать встроенный автофильтр для быстрого выделения данных по месяцу (подходит для новичков).
- 📊 Создавать сводные таблицы с группировкой по месяцам — идеально для аналитики.
- 📝 Применять формулы (
МЕСЯЦ(),ФИЛЬТР(),QUERYв Google Sheets) для динамической фильтрации. - 🎨 Настраивать условное форматирование, чтобы визуально выделять ячейки с нужным месяцем.
Все методы протестированы в Excel 2010–2023 и Office 365, а также адаптированы для Google Таблиц. Если вы работаете с большими массивами данных (10 000+ строк), обратите внимание на разделы про Power Query и массивы формул — они значительно ускорят обработку.
1. Автофильтр: самый быстрый способ отфильтровать по месяцу
Встроенный автофильтр — это первый инструмент, к которому стоит обратиться, если нужно быстро отобрать данные за определённый месяц. Он не требует знания формул и работает даже с неотсортированными таблицами.
Как применить:
- Выделите заголовок столбца с датами (например,
A1:D1, если даты в столбцеA). - Перейдите на вкладку
Данные→Фильтр(или нажмитеCtrl+Shift+L). - Нажмите на стрелку фильтра в заголовке столбца с датами →
Фильтры по дате→Все даты в периоде→ выберите нужный месяц.
✅ Плюсы метода:
- 🔹 Не требует формул или макросов.
- 🔹 Работает с любым форматом дат (даже если ячейка отображает только месяц и год).
- 🔹 Можно фильтровать по нескольким месяцам одновременно (например, "январь ИЛИ февраль").
⚠️ Внимание: Если автофильтр не показывает месяцы в выпадающем списке, проверьте формат ячеек. Даты должны быть записаны какДата(не текст!). Чтобы исправить, выделите столбец →Главная→Формат ячеек→ выберитеДата.
2. Фильтрация по месяцу с помощью функции МЕСЯЦ()
Если автофильтр вас не устраивает (например, нужно динамически менять месяц или фильтровать данные в другой таблице), используйте функцию МЕСЯЦ(). Она возвращает номер месяца (от 1 до 12) для любой даты.
Пример формулы для фильтрации:
=ФИЛЬТР(A2:D100; МЕСЯЦ(A2:A100)=5)
Эта формула вернёт все строки из диапазона A2:D100, где дата в столбце A приходится на май (5-й месяц).
Для гибкости можно задать номер месяца в отдельной ячейке (например, F1):
=ФИЛЬТР(A2:D100; МЕСЯЦ(A2:A100)=F1)
| Формула | Описание | Пример результата |
|---|---|---|
=МЕСЯЦ(A2) |
Возвращает номер месяца (1–12) для даты в A2. |
Для "15.03.2023" вернёт 3. |
=МЕСЯЦ(СЕГОДНЯ()) |
Возвращает номер текущего месяца. | Если сегодня июнь, вернёт 6. |
=ФИЛЬТР(A2:B100; МЕСЯЦ(A2:A100)=F1) |
Фильтрует диапазон A2:B100 по месяцу, указанному в F1. |
Если F1=12, вернёт все строки с декабрём. |
🔹 Для Google Таблиц используйте аналогичную формулу, но с английскими названиями функций:
=FILTER(A2:D100; MONTH(A2:A100)=5)
⚠️ Внимание: ФункцияФИЛЬТР()доступна только в Excel 365 и Excel 2021. Для старых версий используйте промежуточный столбец с формулой=МЕСЯЦ(A2), а затем применяйте автофильтр к этому столбцу.
3. Сводные таблицы: группировка и анализ по месяцам
Если вам нужно не только отфильтровать данные, но и проанализировать их по месяцам (например, посчитать сумму продаж или средние значения), сводные таблицы — идеальный инструмент. Они позволяют автоматически группировать даты по месяцам, кварталам или годам.
Пошаговая инструкция:
- Выделите исходную таблицу с данными (включая заголовки).
- Перейдите на вкладку
Вставка→Сводная таблица. - В открывшемся окне выберите диапазон данных и укажите, куда вставить сводную таблицу (на новый лист или в текущий).
- В панели
Поля сводной таблицыперетащите столбец с датами в областьСтроки. - Щёлкните правой кнопкой по любой дате в сводной таблице →
Группировать→ выберитеМесяцы. - Добавьте нужные вычисления (например, перетащите столбец с продажами в область
Значения).
📌 Пример: Если у вас есть данные о продажах с датами, сводная таблица за 2 клика покажет сумму продаж по каждому месяцу.
Столбец с датами должен быть в формате "Дата" (не текст)
Удалите пустые строки в исходных данных
Заголовки столбцов должны быть уникальными (без повторов)
Проверьте отсутствие ошибок (#ЗНАЧ!, #Н/Д) в данных-->
✅ Преимущества метода:
- 📈 Автоматическая группировка по месяцам, кварталам или годам.
- 🔄 Легко обновляется при изменении исходных данных (правый клик →
Обновить). - 📊 Позволяет строить графики прямо из сводной таблицы.
4. Условное форматирование для визуальной фильтрации
Если вам нужно визуально выделить строки с определённым месяцем (например, покрасить их в красный цвет), используйте условное форматирование. Это не скрывает данные, но делает их хорошо заметными.
Инструкция:
- Выделите диапазон с данными (например,
A2:D100). - Перейдите на вкладку
Главная→Условное форматирование→Создать правило. - Выберите
Использовать формулу для определения форматируемых ячеек. - Введите формулу:
=МЕСЯЦ($A2)=5(где5— май, а$A2— первая ячейка столбца с датами). - Задайте формат (например, заливка красным цветом) и нажмите
ОК.
🔹 Для динамического месяца (чтобы не править правило каждый раз):
- Создайте выпадающий список с месяцами (например, в ячейке
F1). - В правиле условного форматирования используйте формулу:
=МЕСЯЦ($A2)=$F$1.
Условное форматирование не скрывает данные, а только подсвечивает их. Если нужно скрыть строки с другими месяцами, комбинируйте этот метод с автофильтром.
5. Power Query: фильтрация по месяцу в больших таблицах
Если вы работаете с большими данными (десятки тысяч строк), обычные фильтры в Excel могут тормозить. В этом случае Power Query (вкладка Данные → Получить данные) справится намного эффективнее.
Алгоритм действий:
- Выделите исходную таблицу →
Данные→Из таблицы/диапазона(Excel автоматически откроет Power Query). - В редакторе запросов выделите столбец с датами →
Преобразовать→Дата и время→Месяц→Название месяца(илиНомер месяца). - Нажмите на стрелку фильтра в заголовке нового столбца и выберите нужный месяц.
- Нажмите
Закрыть и загрузить, чтобы вернуть отфильтрованные данные в Excel.
🔹 Преимущества Power Query:
- 🚀 Обрабатывает миллионы строк без зависаний.
- 🔄 Сохраняет шаги фильтрации — при обновлении данных правило применяется автоматически.
- 🛠 Позволяет комбинировать фильтрацию с другими преобразованиями (например, удалением дубликатов).
Как обновить данные в Power Query?
После изменения исходной таблицы щёлкните правой кнопкой по результату загрузки Power Query → выберите Обновить. Либо перейдите на вкладку Данные → Обновить все.
6. Продвинутые формулы: ФИЛЬТР + ДАТАМЕС
Для сложных задач (например, фильтрации по "последним 3 месяцам" или "месяцам с чётными номерами") пригодятся комбинации функций. Рассмотрим несколько примеров.
Пример 1. Фильтрация по текущему месяцу:
=ФИЛЬТР(A2:D100; МЕСЯЦ(A2:A100)=МЕСЯЦ(СЕГОДНЯ()); "Нет данных")
Эта формула вернёт все строки, где дата приходится на текущий месяц. Если данных нет, отобразится "Нет данных".
Пример 2. Фильтрация по диапазону месяцев (например, 2–4 месяцы):
=ФИЛЬТР(A2:D100; (МЕСЯЦ(A2:A100)>=2)*(МЕСЯЦ(A2:A100)<=4); "Нет данных")
Пример 3. Фильтрация по последним 6 месяцам:
=ФИЛЬТР(A2:D100; A2:A100>=ДАТА(ГОД(СЕГОДНЯ()); МЕСЯЦ(СЕГОДНЯ())-6; 1); "Нет данных")
🔹 Для Google Таблиц используйте QUERY:
=QUERY(A1:D100; "WHERE MONTH(A) = " & F1; 1)
Где F1 — ячейка с номером месяца.
FAQ: Частые вопросы по фильтрации по месяцу
Можно ли отфильтровать данные по месяцу, если даты записаны как текст (например, "март 2023")?
Да, но сначала нужно преобразовать текст в даты. Используйте формулу:
=ДАТАЗНАЧ("1 " & A2)
Где A2 — ячейка с текстом "март 2023". Затем применяйте фильтр к новому столбцу.
Как фильтровать по месяцу и году одновременно?
Используйте комбинацию функций МЕСЯЦ() и ГОД():
=ФИЛЬТР(A2:D100; (МЕСЯЦ(A2:A100)=5)*(ГОД(A2:A100)=2023))
Эта формула вернёт данные за май 2023 года.
Почему автофильтр не показывает месяцы в выпадающем списке?
Скорее всего, Excel воспринимает ваши данные как текст. Проверьте формат ячеек:
- Выделите столбец с датами.
- Нажмите
Ctrl+1(или правый клик →Формат ячеек). - Выберите категорию
Датаи укажите подходящий формат (например,14.03.2023).
Если даты хранятся как текст, используйте =ДАТАЗНАЧ() для преобразования.
Как в Google Таблицах отфильтровать данные по месяцу?
В Google Sheets используйте функцию FILTER или QUERY:
=FILTER(A2:D100; MONTH(A2:A100)=5)
Или через QUERY:
=QUERY(A1:D100; "SELECT * WHERE MONTH(A) = 5"; 1)
Можно ли фильтровать по месяцу в защищённом листе?
Да, но с ограничениями:
- 🔹 Автофильтр будет работать, если защита не блокирует изменение фильтров.
- 🔹 Формулы (например,
ФИЛЬТР()) не требуют разблокировки листа. - 🔹 Power Query и сводные таблицы создают новые листы/диапазоны, поэтому также работают.
Если фильтр не применяется, проверьте настройки защиты: Рецензирование → Снять защиту листа (если у вас есть пароль).