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

Работа с временными периодами в 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)

Как это работает:

  1. Функция МЕСЯЦ(A2) извлекает номер месяца (например, 5 для мая).
  2. Делим на 3: 5/3 ≈ 1.666.
  3. ОКРВВЕРХ округляет до ближайшего целого вверх — получаем 2 (второй квартал).

Для отображения названия квартала (например, "Q2") используйте:

="Q" & ОКРВВЕРХ(МЕСЯЦ(A2)/3;0)
📊 Какую версию Excel вы используете?
2016 или старше
2019–2021
Microsoft 365
Не знаю

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

Сводные таблицы — мощный инструмент для автоматической группировки дат. Вот как это сделать:

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

Excel автоматически создаст группы по кварталам, причём с учётом годов. Например, "Кв1 2023", "Кв2 2023" и т.д.

Что делать, если опция "Группировка" неактивна?

Это происходит, если Excel не распознаёт данные как даты. Проверьте формат ячеек (Формат ячеек → Дата) и убедитесь, что нет текстовых значений (например, "01.01.2026" вместо даты).

Преимущество метода: группировка обновляется автоматически при изменении исходных данных. Недостаток — нельзя изменить формат отображения кварталов (например, сделать "I квартал 2026" вместо "Кв1 2026").

4. Power Query: автоматизация для больших данных

Power Query (доступен в Excel 2016+) идеален для обработки тысяч строк. Алгоритм:

  1. Выделите таблицу → вкладка ДанныеИз таблицы/диапазонаExcel 2016Получить данные → Из таблицы/диапазона).
  2. В редакторе Power Query выделите столбец с датами → Добавить столбец → Извлечь → Квартал → Квартал года.
  3. Нажмите Закрыть и загрузить.

Результат: новый столбец с номерами кварталов (1–4). Чтобы получить названия вроде "Q1-2026", используйте пользовательский столбец с формулой:

"Q" & Date.QuarterOfYear([Дата]) & "-" & Date.Year([Дата])

🔹 Убедитесь, что даты в одном формате (например, ДД.ММ.ГГГГ)

🔹 Заполните пустые ячейки (Power Query может игнорировать их)

🔹 Преобразуйте диапазон в таблицу (Ctrl+T)

🔹 Проверьте отсутствие текстовых значений в столбце с датами-->

Power Query сохраняет все шаги преобразования. При обновлении исходных данных достаточно кликнуть "Обновить все" на вкладке "Данные", и кварталы пересчитаются автоматически.

5. VBA-макрос для фискальных кварталов

Если ваш финансовый год начинается не с января (например, с апреля), стандартные функции не подойдут. Решение — VBA-макрос:

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте новый модуль (Insert → Module).
  3. Скопируйте код:
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: Ответы на частые вопросы

Можно ли объединить даты в кварталы без формул?

Да, два способа:

  1. Сводная таблица (раздел 3 этой статьи).
  2. Условное форматирование: выделите диапазон → Главная → Условное форматирование → Правила выделения ячеек → Другие правила. Используйте формулу =ОКРВВЕРХ(МЕСЯЦ(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)
Можно ли автоматически создать отчёт по кварталам с графиками?

Да, комбинируйте:

  1. Сгруппируйте данные по кварталам (любым методом из статьи).
  2. Постройте сводную таблицу с суммами/средними по кварталам.
  3. Выделите сводную таблицу → Вставка → График (рекомендуем гистограмму или линейную диаграмму).
  4. Для автоматического обновления свяжите график с данными Power Query.

Пример формулы для динамического диапазона (Excel 365):

=СУММЕСЛИМН(Диапазон_значений; Диапазон_дат; ">=" & ДАТА(ГОД(СЕГОДНЯ());1;1); Диапазон_дат; "<" & ДАТА(ГОД(СЕГОДНЯ());4;1))

Эта формула посчитает сумму за первый квартал текущего года.