GROUPBY в Excel: синтаксис, примеры и лучшие практики
GROUPBY в Excel группирует и агрегирует данные по столбцам, возвращая динамический массив. Эта функция полезна, когда нужно получать суммарные, средние или пользовательские показатели без сводных таблиц. Ниже — синтаксис, подробные примеры с обязательными и дополнительными аргументами, советы по форматированию и готовые шаблоны для аналитиков.

Оглавление
- Синтаксис GROUPBY
- Примеры с обязательными аргументами
- Использование дополнительных аргументов
- Когда GROUPBY не подходит
- Альтернативы и сравнение
- Пошаговый SOP для создания формулы GROUPBY
- Шаблоны, чек-листы и шпаргалки
- Дерево принятия решения
- Частые ошибки и устранение проблем
- Глоссарий и краткие советы
Зачем использовать GROUPBY
GROUPBY возвращает пролитый (spilled) массив с результатами группировки и агрегирования. Это значит, что результат автоматически расширяется на соседние ячейки и обновляется при изменении источника данных. Функция особенно удобна, когда:
- данные содержат повторяющиеся категории;
- требуется автоматическое обновление результирующей таблицы при добавлении или изменении строк;
- хочется встроить нестандартную логику агрегирования через LAMBDA.
Важно: результаты GROUPBY — неформатируемая таблица Excel. Нельзя применить структуру таблицы Excel непосредственно к диапазону вывода. Если нужен форматированный вывод, используйте форматирование ячеек вручную или копирование значений.
Примечание
GROUPBY возвращает динамический массив, поэтому нельзя использовать результат внутри структурированной таблицы Excel как источник для другой структурированной таблицы без проброса значений.
Синтаксис GROUPBY
=GROUPBY(a,b,c,d,e,f,g,h)Аргументы:
- a — поля строк: диапазон с категорией или несколькими колонками, по которым группируем.
- b — значения: диапазон с данными для агрегирования.
- c — функция агрегирования: встроенная функция (SUM, AVERAGE и т. п.) или LAMBDA.
- d — заголовки полей: число, контролирующее включение/отображение заголовков в результате.
- e — глубина итогов: число, задающее отображение итогов и подитогов.
- f — порядок сортировки: номер столбца результата для сортировки (знак указывает направление).
- g — массив фильтрации: формула-массив, исключающая строки (например, ISNUMBER(…)=FALSE).
- h — отношение полей: как объединять несколько колонок в аргументе a (иерархия или плоский список).
Аргументы d–h необязательны и помогают настроить представление.
Пример 1. Обязательные аргументы только
Представим таблицу продаж в формате Excel Table с именем TabFood. Колонки: Cuisine, Dish, Sales, Customer rating.

Задача 1: посчитать суммарные продажи по каждой кухне.
В ячейке F2 введите:
=GROUPBY(TabFood[Cuisine],TabFood[Sales],SUM)Пояснение: GROUPBY группирует по столбцу Cuisine, агрегирует значения Sales функцией SUM и возвращает массив вида {Cuisine, TotalSales}.
После нажатия Enter результат прольётся вниз и вправо. По умолчанию результаты сортируются по первому столбцу в алфавитном порядке, а внизу может появиться строка итога в зависимости от версии Excel.
Форматирование валюты: выделите столбец с продажами и примените числовой формат учёта или валютный формат. На ленте в разделе Домашняя найдите кнопку, обозначающую формат чисел «Учёт» или «Валютный», и примените её.

Задача 2: средний рейтинг по типам блюд.
В ячейке I2:
=GROUPBY(TabFood[Dish],TabFood[Customer rating],AVERAGE)После ввода результата отформатируйте число с нужным количеством знаков после запятой с помощью кнопок «Увеличить разрядность» и «Уменьшить разрядность» на ленте.

Преимущества использования только обязательных аргументов
- Простота: минимальная формула быстро решает типовые задачи.
- Автоматическое обновление: при добавлении строк результат меняется сам.
- Поддержка пользовательских функций через LAMBDA в c.
Дополнительные аргументы подробнее
Если вы хотите больше контроля над выводом, используйте необязательные аргументы. Они не обязательны, но расширяют возможности.
Заголовки полей
Если вы включили в диапазон столбцы заголовки, можно управлять тем, как они появятся в результате. Правила:
- Если вы выбрали заголовки в первом диапазоне, выберите их и в втором — размеры аргументов должны совпадать.
Значения для аргумента d:
- 1 — заголовки выбраны в аргументах a и b, но не показывать их в результате.
- 2 — заголовки не выбраны в a и b, но сгенерировать простые заголовки для результата.
- 3 — заголовки выбраны и показать их в результате.
Пример:
=GROUPBY(A1:A21,D1:D21,AVERAGE,3)Таблица ниже сравнивает плюсы и минусы копирования заголовков в результат:
| Преимущество включения заголовков | Недостаток включения заголовков |
|---|---|
| Если изменить заголовок в исходной таблице, результат обновится автоматически. | Нельзя изменить заголовок в результате на более специфичный — он связан с исходным. |
Глубина итогов
Аргумент e управляет подитогами и итогом:
- 0 — без итогов и подитогов;
- 1 — только общий итог внизу;
- 2 — подитоги под каждой категорией и общий итог внизу;
- -1 — общий итог вверху;
- -2 — подитоги вверху и общий итог вверху.
Подитоги работают только когда аргумент a содержит более одного столбца (иерархические поля).
Пример:
=GROUPBY(A1:B21,C1:C21,SUM,,2)В этом примере пропущен аргумент d, поэтому используется пустой параметр между запятыми, и e=2 включает подитоги под каждой группой.
Порядок сортировки
Аргумент f указывает столбец результата для сортировки и направление:
- число 1 сортирует по первому столбцу по возрастанию;
- число -1 сортирует по первому столбцу по убыванию;
- число 2 сортирует по второму столбцу по возрастанию;
- число -2 сортирует по второму столбцу по убыванию;
Пример сортировки по убыванию второго столбца:
=GROUPBY(A1:A21,C1:C21,SUM,,, -2)Массив фильтрации
Аргумент g принимает формулу-массив, позволяющую исключить строки из группировки. Полезно, если в исходных данных есть строки прерывания или служебные значения.
Пример: исключить числовые метки года в столбце A,
=GROUPBY(A1:A24,C1:C24,SUM,,,,ISNUMBER(A1:A24)=FALSE)На практике ISNUMBER(A1:A24)=FALSE вернёт TRUE для строк, которые не являются числами, и GROUPBY будет группировать только эти строки.
Отношение полей
Аргумент h определяет способ обработки множественных колонок в a:
- 0 — иерархический вывод: каждая колонка показана в отдельной иерархии;
- 1 — плоский вывод: колонки сортируются независимо, категории не вложены.
Примеры:
=GROUPBY(A1:B21,C1:C21,SUM,,,3,,0)и
=GROUPBY(A1:B21,C1:C21,SUM,,,3,,1)Первый пример вернёт иерархическую таблицу с подуровнями, второй — список без иерархии, где нельзя добавить подитоги.
Когда GROUPBY не подходит
Counterexamples или случаи, когда лучше не использовать GROUPBY:
- Требуется форматированная таблица Excel с автофильтрами и возможностью добавления строк прямо внутри результирующей таблицы. GROUPBY возвращает пролитый массив и не превращается в структурированную таблицу автоматически.
- Необходима сложная сводная аналитика с несколькими полями значений и быстрым перетаскиванием полей. В таких случаях удобнее сводная таблица Pivot Table.
- Объём данных слишком велик и требуется предварительная очистка, трансформация или слияние нескольких источников. Для таких задач лучше Power Query.
- Нужна совместимость со старыми версиями Excel, где динамические массивы и GROUPBY отсутствуют.
Альтернативные подходы
- Pivot Table: быстрый интерактивный анализ и наглядные сводки; требует ручного обновления при изменении данных.
- Power Query: надёжная подготовка и трансформация данных перед загрузкой в лист; идеальна для ETL-процессов.
- Формулы с AGGREGATE, SUMIFS, AVERAGEIFS: хороши для обратной совместимости и специфических задач.
Сравнение в одной таблице:
| Критерий | GROUPBY | Pivot Table | Power Query |
|---|---|---|---|
| Автообновление при изменении строк | Да | Только после обновления | Да после обновления запроса |
| Гибкость в агрегировании (LAMBDA) | Высокая | Средняя | Очень высокая |
| Форматированная таблица-результат | Нет | Да | Да после загрузки |
| Подходит для больших ETL | Нет | Ограниченно | Да |
Пошаговый SOP для создания формулы GROUPBY
- Подготовка данных
- Убедитесь, что диапазоны для a и b одинаковой длины.
- Уберите пустые служебные строки и пометки, либо используйте аргумент g для фильтрации.
- Базовая формула
- Введите =GROUPBY( и выделите диапазоны a и b, затем укажите функцию c.
- Проверка результата
- Посмотрите, корректно ли прольётся массив и нет ли пересечений с существующими данными.
- Добавление форматирования
- Примените числовые форматы и ограничьте количество знаков после запятой.
- Добавление необязательных аргументов
- d — если хотите заголовки в результате;
- e — для подитогов;
- f — для сортировки;
- g — для фильтрации;
- h — для управления отношениями полей.
- Тестирование
- Добавьте тестовую строку в исходные данные и убедитесь, что результат обновился корректно.
Шпаргалка формул и готовые примеры
Частые формулы
=GROUPBY(Tab[Cuisine],Tab[Sales],SUM)
=GROUPBY(Tab[Dish],Tab[Rating],AVERAGE)
=GROUPBY(A1:A24,C1:C24,SUM,,,,ISNUMBER(A1:A24)=FALSE)
=GROUPBY(A1:B21,C1:C21,SUM,,2, -2)Пример с LAMBDA: подсчитать среднее без крайних значений (урезанный тримминг)
=GROUPBY(TabFood[Dish],TabFood[Customer rating],LAMBDA(x, AVERAGE(IF((x>PERCENTILE.EXC(x,0.05))*(xПримечание: приведённый LAMBDA — схема; при использовании LAMBDA внутри GROUPBY убедитесь, что ваша формула корректно обрабатывает массивы и не содержит синтаксических ошибок.
Дерево принятия решения
flowchart TD
A[Нужно сгруппировать данные?] --> B{Данные в одной таблице?}
B -- Да --> C{Требуется форматированный вывод для отчёта?}
B -- Нет --> D[Рассмотрите Power Query]
C -- Да --> E[Используйте Pivot Table или Power Query]
C -- Нет --> F{Требуется автоматическое обновление при добавлении строк?}
F -- Да --> G[Используйте GROUPBY]
F -- Нет --> E
G --> H{Нужна сложная очистка данных?}
H -- Да --> D
H -- Нет --> I[Готово]Чек-листы по ролям
Аналитик:
- Убедиться, что диапазоны a и b одного размера.
- Прогнать данные через проверку на пустые значения и типы.
- Написать формулу GROUPBY и проверить на небольшом наборе данных.
- Добавить фильтр g при наличии служебных строк.
Менеджер отчетности:
- Проверить формат вывода (валюта, округление).
- Обновить заголовки в исходной таблице, если результат должен отражать их.
- Решить, нужен ли вывод в формате таблицы Excel или обычном диапазоне.
Разработчик или админ ETL:
- Если требуется повторяемый ETL, реализовать предварительную подготовку в Power Query.
- Оценить совместимость формул на клиентских машинах и версиях Excel.
Отладка и частые ошибки
- Ошибка из-за несоответствия размеров a и b: проверьте диапазоны — они должны быть одинаковой длины.
- Результат перекрывает существующие данные: убедитесь, что справа и вниз от ячейки вывода есть пустое пространство.
- Некорректная сортировка: проверьте аргумент f, знак указывает направление.
- Пустые или лишние строки в исходных данных: используйте g для фильтрации или очистите данные заранее.
Советы по тестированию
- Всегда протестируйте формулу на 5–10 строках до запуска на полном наборе.
- Вставьте контрольные строки с известными значениями, чтобы проверить агрегирование.
Советы по совместимости и миграции
- GROUPBY и динамические массивы доступны не во всех версиях Excel. Если ваша организация использует старые версии, подготовьте альтернативы на основе SUMIFS / AVERAGEIFS или Power Query.
- Если файл будет открыт в Excel Online, проверьте, что все пользователи имеют доступ к текущей версии облачного сервиса и что динамические массивы поддерживаются.
Глоссарий (однострочники)
- Spilled array: динамический массив, автоматически расширяющийся из одной формулы.
- LAMBDA: пользовательская функция внутри Excel, принимающая параметры и возвращающая результат.
- Power Query: инструмент для извлечения, трансформации и загрузки данных.
Частые вопросы
Что делает GROUPBY
GROUPBY группирует строки по заданной колонке или колонкам и применяет агрегатную функцию к выбранным значениям, возвращая динамический массив результатов.
Когда лучше использовать сводную таблицу
Используйте сводную таблицу, когда нужен интерактивный, форматируемый отчёт с возможностью быстро менять поля и агрегаты на лету.
Краткое резюме
- GROUPBY удобен для оперативной группировки и агрегирования с автоматическим обновлением.
- Для сложной подготовки данных и больших ETL лучше Power Query.
- Для интерактивных отчётов и форматированных представлений удобнее Pivot Table.
Краткие советы по внедрению
- Сначала протестируйте на копии данных.
- Документируйте формулы и аргументы d–h, чтобы другие пользователи понимали логику.
Короткое объявление
GROUPBY в Excel позволяет быстро получить агрегированные показатели по категориям и автоматически обновлять результаты при изменении данных. Попробуйте начать с простых SUM и AVERAGE, затем добавьте LAMBDA для индивидуальной логики.