Как создать группированную гистограмму с накоплением в Excel?
В профессиональной среде анализа данных визуализация нескольких категорий и групп на одной диаграмме обеспечивает более чёткое сравнение и эффективную интерпретацию информации. Зачастую возникает необходимость комбинировать накопленные и сгруппированные данные — например, отображать объёмы продаж по регионам и кварталам в виде соседних групп. В этой статье мы пошагово рассмотрим создание группированной гистограммы с накоплением — диаграммы столбцов с группировкой в Excel, которая позволяет сравнивать значения отдельных категорий с помощью сгруппированных столбцов, где каждый кластер состоит из накопленных сегментов. Такой подход обеспечивает мощный сравнительный анализ как между группами, так и по нескольким переменным одновременно, как показано на снимке экрана ниже.

➤ Создание гистограммы с накоплением Диаграмма столбцов с группировкой в Excel
➤ Код VBA – автоматизация преобразования данных и построения диаграммы
➤ Формулы Excel – динамическое преобразование данных для гистограмм с накоплением и кластеризацией
Создание группированной гистограммы с накоплением Диаграмма столбцов с группировкой в Excel
Чтобы создать группированную гистограмму с накоплением (диаграмму столбцов с группировкой) в Excel, важно понимать: Excel изначально не поддерживает такой тип диаграммы. Однако вы можете имитировать этот эффект, тщательно подготовив данные и настроив макет диаграммы.
✅ Что нужно знать заранее:
- Excel не предлагает встроенного типа диаграммы «группированная столбчатая с накоплением» — такой результат достигается благодаря хитростям в организации данных.
- Вам необходимо переструктурировать свои исходные данные, чтобы имитировать группировку кластеров.
- Пустые строки добавляются между группами категорий, чтобы визуально разделить каждый кластер.
Рассмотрим этот процесс пошагово на примере данных о продажах товаров за несколько кварталов.
1. Организуйте исходные данные: В данном примере названия товаров расположены в столбце A, а данные о продажах (например, фактические и плановые значения за Q1 и Q2) — в соседних столбцах. Цель — сгруппировать данные по каждому товару рядом друг с другом и отобразить фактические и плановые значения в виде накопленных сегментов внутри каждого кластера.
2. Переструктурируйте данные: Скопируйте каждую группу данных (например, строку по каждому товару) в новый макет и вставьте пустую строку между группами. Это поможет Excel распознать каждую группу как отдельный кластер на диаграмме «Столбчатая с накоплением».

3. Создайте диаграмму: Выделите переструктурированные данные, затем перейдите в меню Вставка > Гистограмма или Гистограмма > Гистограмма с накоплением.

4. Настройте ряды данных: Щёлкните правой кнопкой мыши по любому столбцу на диаграмме и выберите пункт Формат ряда данных.

5. Уменьшите ширину зазора: В области Формат ряда данных перейдите в раздел Параметры ряда и установите значение Ширина зазора = 0 %, чтобы визуально сжать каждую группу в один накопленный кластер.

6. Настройте легенду и макет: Щёлкните правой кнопкой мыши по легенде и выберите пункт Формат легенды.

7. Выберите положение легенды: В области Формат легенды в разделе Параметры легенды выберите предпочтительное положение легенды (справа, сверху, слева или снизу), чтобы она идеально вписалась в макет диаграммы и не перекрывала данные.

✅ Результат: Теперь у вас есть группированная гистограмма с накоплением — диаграмма столбцов с группировкой, где данные по фактическим и плановым показателям каждого товара сгруппированы и отображены рядом для быстрого сравнения.
⚠️ Ограничение: Этот метод отлично подходит для небольших наборов данных. Однако при работе с большими или часто изменяющимися данными ручная переструктуризация может привести к ошибкам. В следующих разделах представлены решения на основе VBA и формул для автоматизации этого процесса.
Код VBA – автоматизация преобразования данных и создания диаграммы
При работе с большими наборами данных или часто обновляемыми отчётами ручное преобразование информации для построения группированных гистограмм с накоплением может оказаться утомительным и чреватым ошибками. С помощью VBA (Visual Basic for Applications) вы можете полностью автоматизировать этот процесс — от преобразования исходной таблицы до вставки диаграммы, — значительно экономя время и усилия.
Этот метод идеально подходит пользователям, уже знакомым с макросами Excel, или для сред, где разрешено использование VBA. Он особенно эффективен, когда структура диаграммы остаётся неизменной, а данные обновляются регулярно. Вот как его реализовать:
Шаг 1: Нажмите сочетание клавиш Alt + F11, чтобы открыть редактор VBA. В редакторе выберите пункт меню Вставка > Модуль.
Шаг 2:Вставьте следующий код VBA в окно модуля:
Sub CreateStackedClusteredChart()
Dim ws As Worksheet
Dim rngData As Range
Dim chartObj As ChartObject
Dim chartRange As Range
Dim xTitleId As String
On Error Resume Next
Set ws = ActiveSheet
xTitleId = "KutoolsforExcel"
' Prompt user to select original data
Set rngData = Application.InputBox("Select the original grouped data (including all headers):", xTitleId, Selection.Address, Type:=8)
If rngData Is Nothing Then Exit Sub
' Create new worksheet for reshaped data
Dim wsChartData As Worksheet
Set wsChartData = Worksheets.Add
wsChartData.Name = "ChartData_" & Format(Now(), "hhmmss")
Dim numRows As Long, numCols As Long, i As Long, j As Long, outRow As Long
numRows = rngData.Rows.Count
numCols = rngData.Columns.Count
outRow = 1
' Add headers
wsChartData.Cells(outRow, 1).Value = "Category"
For j = 2 To numCols
wsChartData.Cells(outRow, j).Value = rngData.Cells(1, j).Value
Next j
outRow = outRow + 1
' Copy data and insert blank rows
For i = 2 To numRows
For j = 1 To numCols
wsChartData.Cells(outRow, j).Value = rngData.Cells(i, j).Value
Next j
outRow = outRow + 1
If i < numRows Then
wsChartData.Cells(outRow, 1).Value = ""
outRow = outRow + 1
End If
Next i
' Define chart data range
Set chartRange = wsChartData.Range(wsChartData.Cells(1, 1), wsChartData.Cells(outRow - 1, numCols))
' Insert chart
Set chartObj = wsChartData.ChartObjects.Add(Left:=100, Top:=30, Width:=500, Height:=350)
With chartObj.Chart
.SetSourceData Source:=chartRange
.ChartType = xlColumnStacked
.HasTitle = True
.ChartTitle.Text = "Stacked Clustered Column Chart"
.Legend.Position = xlLegendPositionRight
.ChartGroups(1).GapWidth = 0
End With
MsgBox "Chart generated successfully.", vbInformation, "KutoolsforExcel"
End Sub Шаг 3: Нажмите сочетание клавиш Alt + F8, чтобы открыть диалоговое окно макросов. Выберите макрос CreateStackedClusteredChart и нажмите кнопку Выполнить.
Шаг 4: При появлении запроса выберите исходный набор данных (включая заголовки). Макрос автоматически создаст новый лист с вставленными пустыми строками и сгенерирует группированную гистограмму с накоплением — диаграмму столбцов с группировкой.
📝 Советы:
- Убедитесь, что в исходной таблице заголовки столбцов и форматирование единообразны.
- Вы можете повторно запустить макрос в любое время при обновлении набора данных — никаких ручных действий повторять не придётся.
✅ Преимущества: Экономия времени, точный макет и идеальное решение для регулярных отчётов.
⚠️ Недостатки: Требует Excel с поддержкой макросов и базовых знаний VBA.
Формулы Excel – динамическое преобразование данных для группированных гистограмм с накоплением
Если вы предпочитаете не использовать VBA или вам нужен вариант, который динамически обновляет диаграмму при изменении исходных данных, можно применить формулы для преобразования ваших исходных данных в правильный макет, подходящий для группированных гистограмм с накоплением. С помощью встроенных функций, таких как ИНДЕКС, ТРАНСП, а также вспомогательных столбцов, вы легко настроите область преобразования данных, которая всегда будет обеспечивать корректную структуру для диаграммы — и всё это с минимальными усилиями.
Такой подход особенно удобен, когда ваши исходные данные регулярно обновляются — добавляются новые периоды, категории и т.д., — а вы хотите, чтобы диаграмма автоматически адаптировалась без ручной настройки. Главное условие — создать вспомогательный раздел, который с помощью формул извлекает и упорядочивает блоки данных, разделяя их пустыми строками, чтобы источник диаграммы всегда оставался актуальным.
Вот пример того, как можно это настроить:
- Предположим, что ваши исходные данные находятся в диапазоне A1:D7(где)A1 — левый верхний угол), структурированном следующим образом: регион/категория указаны в столбце A, а значения подкатегорий (например, Q1, Q2, Q3) — в столбцах B, C и D.
- Хотите отображать каждую категорию в виде кластера с накопленными значениями Q, разделяя кластеры пустыми строками?
1. На новом листе или в соседней области создайте вспомогательную структуру для извлечения каждой группы и вставки пустых строк. Например, чтобы скопировать первую строку данных в диапазон E2:G2:
=INDEX($A$2:$D$7,INT((ROW()-2)/2)+1,COLUMN()-4+1) Протяните эту формулу вниз по мере необходимости. Чтобы вставить пустые строки между группами, настройте формулу ЕСЛИ, чтобы она возвращала пустую строку («») на чередующихся строках:
=IF(ISODD(ROW()), "", INDEX($A$2:$D$7,ROW()/2,COLUMN()-4+1)) Сочетайте эти формулы с тщательно продуманными ссылками, чтобы выводить преобразованные данные, включая пустые строки через регулярные интервалы.
2. После завершения преобразования диапазона (со стеками и кластерами) выделите получившийся диапазон и создайте столбчатую диаграмму с накоплением, следуя первоначальному методу, описанному ранее ()Вставка > Гистограмма с накоплением). Теперь диаграмма будет автоматически отражать любые изменения, внесённые в исходную таблицу данных.
При работе с большими наборами данных часто бывает полезно использовать функцию СМЕЩ, чтобы сделать извлечение данных более гибким, или задавать динамические именованные диапазоны в качестве источника для диаграммы.
Преимущества: Не требует VBA или макросов — идеально подходит для сред с ограниченными возможностями выполнения сценариев.
Недостатки: Сложная настройка формул при работе с большими объёмами данных; возможны задержки производительности при использовании очень больших динамических диапазонов.
Устранение неполадок: Если диаграмма не обновляется корректно, внимательно проверьте ссылки и вспомогательные формулы на наличие ошибок или несоответствий. Убедитесь, что пустые строки вставлены правильно — именно они обеспечивают «кластеризованный» вид.
Другие статьи по теме диаграмм:
- Создание диаграммы Гистограмма, накладывающейся на другую диаграмму Гистограмма в Excel
- При создании гистограммы с группировкой или круговой диаграммы с двумя рядами данных столбцы этих рядов отображаются рядом друг с другом. Однако для более наглядного сравнения двух рядов иногда лучше использовать наложенную (перекрывающуюся) гистограмму. В этой статье я покажу, как создать перекрывающуюся гистограмму в Excel.
- Создание диаграммы Диаграмма шагов в Excel
- Диаграмма «Шаги» наглядно отображает изменения, происходящие в нерегулярные промежутки времени, и представляет собой расширенную версию линейчатой диаграммы. Однако Excel не предлагает прямого способа её создания. В этой статье я подробно расскажу, как пошагово построить диаграмму «Шаги» на листе Excel.
- Выделение максимальных и минимальных точек данных на диаграмме
- Если у вас есть Круговая диаграмма, на которой вы хотите выделить наибольшие или наименьшие точки данных разными цветами, чтобы они выделялись, как показано на следующем снимке экрана, как быстро определить максимальные и минимальные значения и выделить соответствующие точки данных на диаграмме?
- Создание шаблона диаграммы нормального распределения (колоколообразной кривой) в Excel
- Диаграмма нормального распределения (колоколообразная кривая), широко используемая в статистике, наглядно отображает вероятность событий: её пик указывает на наиболее вероятный исход. В этой статье я покажу, как построить такую диаграмму на основе ваших собственных данных и сохранить книгу Excel в качестве шаблона.
- Создать диаграмму пузырьков с несколькими рядами данных в Excel
- Как известно, для быстрого создания диаграммы Диаграмма пузырьков все ряды данных объединяются в один ряд, как показано на снимке экрана 1. Однако сейчас я расскажу, как создать диаграмму Диаграмма пузырьков с несколькими рядами, как показано на снимке экрана 2, в Excel.
Лучшие инструменты для повышения продуктивности в офисе
Kutools для Excel решает большинство ваших задач и повышает продуктивность на 80 %
- Супер строка формул (удобное редактирование многострочного текста и формул); Режим чтения (удобный просмотр и редактирование большого количества ячеек); Вставка в диапазон фильтрации…
- Объединение ячеек, строк или столбцов с сохранением данных; разделение содержимого ячеек;Объединение дублирующихся строк с суммированием или усреднением… предотвращение дублирования записей в ячейках;Сравнение диапазонов…
- Выбор дубликатов или уникальных строк; выбор пустых строк (все ячейки пустые); улучшенный и нечёткий поиск по множеству книг; случайный выбор…
- Точная копия нескольких ячеек без изменения ссылок в формулах; автоматическое создание ссылок на несколько листов; вставка маркеров, флажков и многое другое…
- Избранные и быстрая вставка формул, диапазонов, диаграмм и изображений; Защита ячеек паролем; Создание списка рассылкии отправка электронных писем…
- Извлечение текста, добавление текста, удаление символов в определённой позиции, удаление пробелов; создание и печать статистики по странице данных; преобразование между содержимым ячеек и примечаниями…
- Суперфильтр (сохранение и применение схем фильтрации к другим листам); расширенная сортировка по месяцам, неделям, дням, частоте и другим параметрам; специальный фильтр по полужирному, курсиву…
- Объединение книг и листов; объединение таблиц на основе ключевого столбца; разделение данных на несколько листов; пакетное преобразование XLS, XLSX и PDF…
- Сводная таблица: группировка по номеру недели, дню недели и многому другому… Показ разблокированных и заблокированных ячеек разными цветами; Выделение ячеек, содержащих формулы или имена…

- Включите вкладки для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — это удобнее, чем использовать отдельные окна.
- Повышает продуктивность на 50 % и экономит сотни кликов мышью каждый день!
