KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как создать группированную гистограмму с накоплением в Excel?

АвторСяоянДата изменения

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

снимок экрана, показывающий составную кластеризованную гистограмму на листе


Создание группированной гистограммы с накоплением Диаграмма столбцов с группировкой в Excel

Чтобы создать группированную гистограмму с накоплением (диаграмму столбцов с группировкой) в Excel, важно понимать: Excel изначально не поддерживает такой тип диаграммы. Однако вы можете имитировать этот эффект, тщательно подготовив данные и настроив макет диаграммы.

✅ Что нужно знать заранее:

  • Excel не предлагает встроенного типа диаграммы «группированная столбчатая с накоплением» — такой результат достигается благодаря хитростям в организации данных.
  • Вам необходимо переструктурировать свои исходные данные, чтобы имитировать группировку кластеров.
  • Пустые строки добавляются между группами категорий, чтобы визуально разделить каждый кластер.

Рассмотрим этот процесс пошагово на примере данных о продажах товаров за несколько кварталов.

1. Организуйте исходные данные: В данном примере названия товаров расположены в столбце A, а данные о продажах (например, фактические и плановые значения за Q1 и Q2) — в соседних столбцах. Цель — сгруппировать данные по каждому товару рядом друг с другом и отобразить фактические и плановые значения в виде накопленных сегментов внутри каждого кластера.

2. Переструктурируйте данные: Скопируйте каждую группу данных (например, строку по каждому товару) в новый макет и вставьте пустую строку между группами. Это поможет Excel распознать каждую группу как отдельный кластер на диаграмме «Столбчатая с накоплением».

снимок экрана вставки пустой строки после каждой группы данных и заголовка

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

снимок экрана выбора типа «Составная гистограмма» на вкладке «Вставка»

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

снимок экрана открытия диалогового окна «Формат ряда данных»

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

снимок экрана изменения ширины зазора до 0 в области «Формат ряда данных»

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

снимок экрана, показывающий, как открыть область «Формат легенды» в Excel

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
  • Как известно, для быстрого создания диаграммы Диаграмма пузырьков все ряды данных объединяются в один ряд, как показано на снимке экрана 1. Однако сейчас я расскажу, как создать диаграмму Диаграмма пузырьков с несколькими рядами, как показано на снимке экрана 2, в Excel.

Лучшие инструменты для повышения продуктивности в офисе

Kutools для Excel решает большинство ваших задач и повышает продуктивность на 80 %

  • Супер строка формул (удобное редактирование многострочного текста и формул); Режим чтения (удобный просмотр и редактирование большого количества ячеек); Вставка в диапазон фильтрации
  • Объединение ячеек, строк или столбцов с сохранением данных; разделение содержимого ячеек;Объединение дублирующихся строк с суммированием или усреднением… предотвращение дублирования записей в ячейках;Сравнение диапазонов
  • Выбор дубликатов или уникальных строк; выбор пустых строк (все ячейки пустые); улучшенный и нечёткий поиск по множеству книг; случайный выбор…
  • Точная копия нескольких ячеек без изменения ссылок в формулах; автоматическое создание ссылок на несколько листов; вставка маркеров, флажков и многое другое…
  • Избранные и быстрая вставка формул, диапазонов, диаграмм и изображений; Защита ячеек паролем; Создание списка рассылкии отправка электронных писем…
  • Извлечение текста, добавление текста, удаление символов в определённой позиции, удаление пробелов; создание и печать статистики по странице данных; преобразование между содержимым ячеек и примечаниями
  • Суперфильтр (сохранение и применение схем фильтрации к другим листам); расширенная сортировка по месяцам, неделям, дням, частоте и другим параметрам; специальный фильтр по полужирному, курсиву…
  • Объединение книг и листов; объединение таблиц на основе ключевого столбца; разделение данных на несколько листов; пакетное преобразование XLS, XLSX и PDF
  • Сводная таблица: группировка по номеру недели, дню недели и многому другому… Показ разблокированных и заблокированных ячеек разными цветами; Выделение ячеек, содержащих формулы или имена
kte tab 201905
  • Включите вкладки для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — это удобнее, чем использовать отдельные окна.
  • Повышает продуктивность на 50 % и экономит сотни кликов мышью каждый день!
officetab bottom