Работа с временными периодами в Microsoft Excel — одна из самых востребованных задач при анализе данных. Особенно часто требуется преобразовать даты в кварталы: для финансовой отчётности, маркетинговой аналитики или планирования продаж. Но как правильно сгруппировать сотни строк с датами в 4 квартальных категории, чтобы не делать это вручную?
В этой статье вы найдёте 5 проверенных методов — от элементарных формул до продвинутых инструментов вроде Power Query и VBA. Мы разберём не только техническую сторону, но и типичные ошибки (например, почему функция МЕСЯЦ() может дать неверный квартал для января), а также покажем, как автоматизировать процесс для ежемесячных отчётов. Все примеры адаптированы для Excel 2016–2023 и Microsoft 365.
Важно: если вы работаете с фискальными кварталами (например, когда первый квартал начинается в апреле), стандартные функции не подойдут — мы отдельно рассмотрим этот случай.
1. Простейший способ: функция ЧИСЛОНКВАРТАЛ
Самый быстрый метод для новичков — встроенная функция ЧИСЛОНКВАРТАЛ() (англ. QUARTER() в международной версии). Она преобразует дату в номер квартала (1–4) за одну формулу.
Синтаксис:
=ЧИСЛОНКВАРТАЛ(дата; [тип_возврата])
Где [тип_возврата] — необязательный аргумент (по умолчанию 0):
- 📅
0или пропущено — возвращает номер квартала (1–4) - 📊
1— возвращает название квартала (например, "Q1") - 📈
2— возвращает полное название (например, "1-й квартал")
Пример: если в ячейке A2 дата 15.05.2026, формула =ЧИСЛОНКВАРТАЛ(A2) вернёт 2 (второй квартал).
2. Формулы для старых версий Excel (до 2019 года)
Если у вас Excel 2016 или старше, функции ЧИСЛОНКВАРТАЛ нет. Но её легко заменить комбинацией МЕСЯЦ() и ОКРВВЕРХ():
=ОКРВВЕРХ(МЕСЯЦ(A2)/3;0)
Как это работает:
- Функция
МЕСЯЦ(A2)извлекает номер месяца (например,5для мая). - Делим на 3:
5/3 ≈ 1.666. ОКРВВЕРХокругляет до ближайшего целого вверх — получаем2(второй квартал).
Для отображения названия квартала (например, "Q2") используйте:
="Q" & ОКРВВЕРХ(МЕСЯЦ(A2)/3;0)
3. Группировка дат по кварталам в сводной таблице
Сводные таблицы — мощный инструмент для автоматической группировки дат. Вот как это сделать:
- Выделите исходные данные (включая заголовки столбцов).
- Перейдите на вкладку
Вставка→Сводная таблица. - В поле
Строкиперетащите столбец с датами. - Щёлкните правой кнопкой по любой дате в сводной таблице →
Группировка. - Выберите
Кварталыи нажмитеОК.
Excel автоматически создаст группы по кварталам, причём с учётом годов. Например, "Кв1 2023", "Кв2 2023" и т.д.
Что делать, если опция "Группировка" неактивна?
Это происходит, если Excel не распознаёт данные как даты. Проверьте формат ячеек (Формат ячеек → Дата) и убедитесь, что нет текстовых значений (например, "01.01.2026" вместо даты).
Преимущество метода: группировка обновляется автоматически при изменении исходных данных. Недостаток — нельзя изменить формат отображения кварталов (например, сделать "I квартал 2026" вместо "Кв1 2026").
4. Power Query: автоматизация для больших данных
Power Query (доступен в Excel 2016+) идеален для обработки тысяч строк. Алгоритм:
- Выделите таблицу → вкладка
Данные→Из таблицы/диапазона(в Excel 2016 —Получить данные → Из таблицы/диапазона). - В редакторе Power Query выделите столбец с датами →
Добавить столбец → Извлечь → Квартал → Квартал года. - Нажмите
Закрыть и загрузить.
Результат: новый столбец с номерами кварталов (1–4). Чтобы получить названия вроде "Q1-2026", используйте пользовательский столбец с формулой:
"Q" & Date.QuarterOfYear([Дата]) & "-" & Date.Year([Дата])
🔹 Убедитесь, что даты в одном формате (например, ДД.ММ.ГГГГ)
🔹 Заполните пустые ячейки (Power Query может игнорировать их)
🔹 Преобразуйте диапазон в таблицу (Ctrl+T)
🔹 Проверьте отсутствие текстовых значений в столбце с датами-->
Power Query сохраняет все шаги преобразования. При обновлении исходных данных достаточно кликнуть "Обновить все" на вкладке "Данные", и кварталы пересчитаются автоматически.
5. VBA-макрос для фискальных кварталов
Если ваш финансовый год начинается не с января (например, с апреля), стандартные функции не подойдут. Решение — VBA-макрос:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте новый модуль (
Insert → Module). - Скопируйте код:
Function ФискальныйКвартал(дДаты As Date, Optional нНачалоГода As Integer = 4) As String
Dim нМесяц As Integer
нМесяц = Month(дДаты)
If нМесяц >= нНачалоГода Then
ФискальныйКвартал = "Q" & Int((нМесяц - нНачалоГода) / 3) + 1 & "-" & Year(дДаты) & "/" & Year(дДаты) + 1
Else
ФискальныйКвартал = "Q" & Int((нМесяц + 12 - нНачалоГода) / 3) + 1 & "-" & Year(дДаты) - 1 & "/" & Year(дДаты)
End If
End Function
Как использовать:
- 📌 В ячейке введите
=ФискальныйКвартал(A2)(гдеA2— дата). - 📌 Для квартала, начинающегося в апреле, второй аргумент не нужен (по умолчанию
4). - 📌 Для июля используйте
=ФискальныйКвартал(A2;7).
Результат для даты 15.05.2026 при начале года в апреле: Q2-2026/2026.
6. Динамические массивы (Excel 365): группировка без формул
В Microsoft 365 появились динамические массивы — они позволяют создать таблицу с кварталами одной формулой. Пример:
=УНИК(ОКРВВЕРХ(МЕСЯЦ(A2:A100)/3;0))
Эта формула вернёт уникальные номера кварталов (1–4) для диапазона A2:A100.
Для отображения кварталов с годами:
=УНИК(ТЕКСТ(ДАТА(ГОД(A2:A100);1;1)+ОКРВВЕРХ(МЕСЯЦ(A2:A100)/3;0)*3-3;"Кв"0"-"0000))
Результат: Кв1-2026, Кв2-2026 и т.д.
Преимущество: формула автоматически расширяется при добавлении новых данных. Недостаток — работает только в Excel 365.
Сравнение методов: какой выбрать?
| Метод | Сложность | Автоматизация | Подходит для | Ограничения |
|---|---|---|---|---|
ЧИСЛОНКВАРТАЛ() |
⭐ | ❌ (требует протягивания формулы) | Простые отчёты, Excel 2019+ | Не работает со старыми версиями |
МЕСЯЦ()+ОКРВВЕРХ() |
⭐⭐ | ❌ | Excel 2016 и старше | Нужно вручную обновлять при изменении данных |
| Сводная таблица | ⭐⭐ | ✅ | Аналитика с группировкой по годам | Негибкий формат отображения |
| Power Query | ⭐⭐⭐ | ✅ | Большие datasets, регулярные отчёты | Требует изучения интерфейса |
| VBA | ⭐⭐⭐⭐ | ✅ | Фискальные кварталы, нестандартная логика | Нужны права на выполнение макросов |
Для одноразовых задач подойдёт ЧИСЛОНКВАРТАЛ() или сводная таблица. Если данные обновляются ежемесячно — Power Query. Для фискальных кварталов — только VBA.
Типичные ошибки и как их избежать
Даже опытные пользователи сталкиваются с проблемами при группировке дат. Вот самые распространённые:
⚠️ Внимание: ФункцияМЕСЯЦ()возвращает1для января, ноОКРВВЕРХ(1/3;0)даст1, а не0. Это означает, что январь попадёт в первый квартал, а не в нулевой (которого не существует). Всегда проверяйте граничные значения!
Другие ловушки:
- 🗓️ Текст вместо дат: Если ячейка содержит текст (например, "01.01.2026"), Excel не распознаёт её как дату. Исправляйте формат через
Формат ячеек → Дата. - 🔄 Необновлённые сводные таблицы: После изменения исходных данных нажмите
Обновитьна сводной таблице (правая кнопка →Обновить). - 📅 Пустые ячейки: Формулы типа
ЧИСЛОНКВАРТАЛ()вернут ошибку#ЗНАЧ!для пустых ячеек. ИспользуйтеЕСЛИОШИБКА():
=ЕСЛИОШИБКА(ЧИСЛОНКВАРТАЛ(A2);"")
Для Power Query типичная ошибка — неверный региональный формат дат. Если даты отображаются как текст, перед загрузкой в Power Query измените локаль: Файл → Параметры → Региональные параметры → Новая локаль (выберите "Русский (Россия)" или "Английский (США)" в зависимости от формата дат).
FAQ: Ответы на частые вопросы
Можно ли объединить даты в кварталы без формул?
Да, два способа:
- Сводная таблица (раздел 3 этой статьи).
- Условное форматирование: выделите диапазон →
Главная → Условное форматирование → Правила выделения ячеек → Другие правила. Используйте формулу=ОКРВВЕРХ(МЕСЯЦ(A1)/3;0)=1для выделения первого квартала (повторите для 2–4 кварталов).
Как сделать, чтобы кварталы отображались как "I квартал 2026" вместо "Q1"?
Используйте функцию ВЫБОР():
=ВЫБОР(ЧИСЛОНКВАРТАЛ(A2);"I квартал " & ГОД(A2);"II квартал " & ГОД(A2);"III квартал " & ГОД(A2);"IV квартал " & ГОД(A2))
Или для Power Query:
if Date.QuarterOfYear([Дата]) = 1 then "I квартал " & Text.From(Date.Year([Дата]))
else if Date.QuarterOfYear([Дата]) = 2 then "II квартал " & Text.From(Date.Year([Дата]))
else if Date.QuarterOfYear([Дата]) = 3 then "III квартал " & Text.From(Date.Year([Дата]))
else "IV квартал " & Text.From(Date.Year([Дата]))
Почему сводная таблица группирует даты не по кварталам, а по месяцам?
Это происходит, если:
- Вы выбрали группировку по месяцам после группировки по кварталам (Excel сохраняет последнее действие). Решение: удалите группировку (
ПКМ → Разгруппировать) и повторите шаги. - Данные содержат пустые ячейки или текст. Проверьте формат столбца с датами.
Как объединить даты в полугодия вместо кварталов?
Замените делитель в формуле с 3 на 6:
=ОКРВВЕРХ(МЕСЯЦ(A2)/6;0)
Для Power Query используйте:
Number.RoundUp(Date.Month([Дата])/6)
Можно ли автоматически создать отчёт по кварталам с графиками?
Да, комбинируйте:
- Сгруппируйте данные по кварталам (любым методом из статьи).
- Постройте сводную таблицу с суммами/средними по кварталам.
- Выделите сводную таблицу →
Вставка → График(рекомендуем гистограмму или линейную диаграмму). - Для автоматического обновления свяжите график с данными Power Query.
Пример формулы для динамического диапазона (Excel 365):
=СУММЕСЛИМН(Диапазон_значений; Диапазон_дат; ">=" & ДАТА(ГОД(СЕГОДНЯ());1;1); Диапазон_дат; "<" & ДАТА(ГОД(СЕГОДНЯ());4;1))
Эта формула посчитает сумму за первый квартал текущего года.