Тепловая карта диаграммы с графиками для анализа продаж в Excel
Обычно для анализа предельного распределения двух переменных значений показателей используется точечный график. Но в данном примере будет использована тепловая карта для анализа активности продаж в Excel относительно заданного года и месяца. Плюс ко всему к тепловой карте будут добавлены две гистограммы, позволяющие более детально проанализировать два измерения с учетом их суммарных значений.
Создание тепловой карты графика с помощью сводной таблице в Excel
Маржинальные гистограммы будут связаны со сводной таблицей, в которой используется так называемые тепловая карта создана условным форматированием. Поэтому для исходных данных на втором листе «Данные» мы создаем сводную таблицу, которую помещаем отдельно на лист «Карта». Сначала выделите диапазон ячеек Данные!$A$1:$C$442 и выберите инструмент «ВСТАВКА»-«Таблицы»-«Сводная таблица».
Обратите внимание выше на рисунок! Таблицу мы создаем «на существующий лист» именно в ячейку Карта!$B$3. От этого зависит как будут работать формулы в позже созданных именных диапазонах. Упорядочиваем поля сводной таблицы так как показано ниже на рисунке:
Далее создаем тепловую карту. Перейдите в первую ячейку со значениями продаж в сводной таблице C5 и выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Цветовые шкалы»-«Зеленый, Желтый, Красный»:
После добавления форматирования в правом нижнем углу ячейки появится значок, который указывает нам, для какой области мы хотим применить форматирование. Из его опций мы выбираем последнюю опцию «ко всем ячейкам, содержащим значение Сумма п полю Продажи для Год и Месяц»:
Теперь мы можем дополнительно увеличить детализацию нашей тепловой карты, отображая ее в масштабе 3 цветов. Кроме того, также можно редактировать цвета. Для этого выберите инструмент: «ГЛАНВАЯ»-«Стили»-«Условное форматирование»-«Управление правилами»:
В диспетчере правил условного форматирования нажмите на кнопку «Изменить правило…» и задайте свой стиль оформления тепловой карты. В этом примере были использованы следующие коды трех оттенков красного цвета:
- Минимальное значение: Red-240, Green-220, Blue-219.
- Среднее значение: Red-218, Green-150, Blue-148.
- Максимальное значение: Red-192, Green-80, Blue-77.
Преобразование формата сводной таблицы в тепловую диаграмму Excel
Теперь нам необходимо настроить внешний вид сводной таблицы и графика с тепловой картой в целом. Сначала щелкните правой кнопкой мышки по сводной таблице и из появившегося контекстного меню выберите опцию «Параметры сводной таблицы»:
В окне параметров сводной таблицы на вкладке: «Макет и формат» следует снять галочку с опции «Автоматически изменять ширину столбцов при обновлении». А на вкладке «Вывод» снимаем все галочки с опций: «Показывать кнопки развертывания и свертывания», «Показывать контекстные всплывающие подсказки», «Показывать названия полей и списки фильтров».
Также увеличиваем ширину строк и уменьшаем ширину столбцов листа со значениями показателей продаж до 40-ка пикселей.
После чего отформатируем стиль внешнего вида таблицы. Сначала перейдите на любую ячейку сводной таблицы и выберите инструмент из дополнительного меню «РАБОТА СО СВОДНЫМИ ТАБЛИЦАМИ»-«КОНСТРУКТОР»-«Стили»-«Темный 10»:
К сожалению, нельзя оставлять пустыми ячейки с надписями: «Сумма по полю Продажи» и «Общий итог», но можно их изменить, например, на пробел « ».
Чтобы удалить значения продаж из ячеек тепловой диаграммы будем использовать форматирование ячеек. Выделите диапазон всех значений в табличной части C5:N14 и нажмите комбинацию горячих клавиш CTRL+1, чтобы вызвать окно «Формат ячеек». В нем на вкладке «Число» из списка опций «Числовые форматы:» выбираем последнюю опцию «(все форматы)». После в поле ввода «Тип:» вводим код для формата ячеек из трех точек с запетыми – ;;; и нажимаем ОК.
Теперь так выглядит тепловая карта активности продаж.
Пришло время создать гистограммы, но они будут динамически изменятся в зависимости от настроек вывода данных сводной таблицы. Поэтому сначала создадим имена диапазонов с формулами, которые будут использовать гистограммы в своих параметрах. Формулы в именах для гистограмм позволят нам динамически подставлять и обновлять новые данные в графиках.
Создание дополнительных динамических графиков предельных уровней
Для создания первого имени с формулой выберите инструмент: «ФОРМУЛЫ»-«Определенные имена»-«Диспетчер имен» (CTRL+F3):
В диспетчере имен нажмите на кнопку «Создать» и в окне для указания параметров создания именного диапазона укажите имя «График1» и введите формулу в поде «Диапазон»:
Для второго имени выполните те же самые действия только задайте имя «График2» и другую формулу:
Сначала создаем График1, для этого выполните целый ряд действий:
- Перейдите на пустую ячейку в любом месте рабочего листа Excel (по дальше на 2-3 ячейки от сводной таблицы) и выберите инструмент: «ВСТАВКА»-«Диаграммы»-«Вставить гистограмму»-«Гистограмма с группировкой»:
- Несмотря на то что гистограмма пуста нам доступны дополнительные меню для работы с ней. Выберите инструмент из дополнительного меню: «РАБОТА С ДИАГРАММАМИ»-«КОНСТРУКТОР»-«Данные»-«Выбрать данные».
- В окне «Выбор источника данных» в левой секции «Элементы легенды (ряды)» нажмите на кнопку «Добавить» и в появившемся окне «Изменение ряда» правильно укажите ссылку на имя. То есть сначала знак равно, затем название текущего листа Excel, а потом после знака восклицания имя диапазона: =Карта!График1.
- Чтобы перевернуть первый график по горизонтали из дополнительного меню выберите инструмент: «РАБОТА С ДИАГРАММАМИ»-«КОНСТРУКТОР»-«Тип»-«Изменить тип диаграммы» и меняем его на «Линейчатая».
- Теперь сделайте двойной щелчок по оси X и выберите инструмент «Формат оси»-«ПАРАМЕТРЫ ОСИ»-«Цена деления»-«Тысячи».
- Теперь сделайте двойной щелчок по любому столбцу и выберите инструмент: «Формат ряда данных»-«ПАРАМЕТРЫ РЯДА»-«Боковой зазор»-5%.
- Из дополнительного меню выберите инструмент: «РАБОТА С ДИАГРАММАМИ»-«КОНСТРУКТОР»-«Макеты диаграмм»-«Добавить элемент диаграммы»-«Подписи данных»-«У края, внутри». Затем сделайте двойной щелчок по любой подписи данных и выберите инструмент: «Формат подписей данных»-«ПАРАМЕТРЫ ПОДПИСЕЙ»-«ЧИСЛО»-«Категория»-«Числовой» и задайте «Число десятичных знаков» - 0, а после отметьте галочкой опцию «Разделять группы разрядов».
- Выделив одним щелчком левой кнопкой мышки название диаграммы и нажав клавишу «Delete» на клавиатуре удалите: название диаграммы, область построения, оси X и Y. И разместите гистограмму у правого края табличной части сводной таблицы так как показано ниже на рисунке:
Такие же действия следует выполнить и для второго графика учитывая всего лишь 3 исключения:
- В 3-ем пункте указываем ссылку на второе имя =Карта!График2.
- Не используем 4-й пункт чтобы не менять тип гистограммы.
- В 5-ом пункте делаем такую же настройку для оси Y плюс отмечаем галочкой опцию «обратный порядок значений», чтобы перевернуть график – вертикально.
Готовые первый боковой и второй нижний перевернутые графики:
Создание интерфейса управления тепловой картой в Excel
Создаем элементы управления тепловой диаграммой в Excel. Перейдите на любую ячейку сводной таблицы и выберите инструмент: «ВСТАВКА»-«Фильтры»-«Срез». В появившемся окне «Вставка срезов» отмечаем название поля сводной таблицы «Год» и нажимаем ОК.
Снова создайте срез, на этот раз для поля «Месяц». Щелкните левой кнопкой мышки по срезу «Месяц» чтобы сделать его активным и получить доступ к его дополнительным меню: «ИНСТРУМЕНТЫ ДЛЯ СРЕЗА»-«ПАРАМЕТРЫ»-«Кнопки»-«Столбцы» задайте значение – 12 (так как у нас 12 месяцев в отчете).
С помощью данных срезов мы имеем возможность интерактивно управлять тепловой картой диаграммы управляя полями сводной таблицы как показано ниже на рисунке:
Макросы для управления положением и размерами графиков
Для идеального решения нам необходимо сделать так чтобы столбчатые графики были привязаны к краям сводной таблицы даже при ее изменении. Для решения данной задачи следует использовать VBA-макросы. Сначала создадим функцию teplokarta, которая будет автоматически определять размеры сторон сводной таблицы и под них подгонять размеры графиков.
Внимание! Чтобы получить доступ к графикам следует правильно ссылается на их имена. Чтобы узнать или изменить имя графика щелкните по нему левой кнопкой мышки и в поле имя введите «Диаграмма 1» для первого графика и «Диаграмма 2» – для второго.
Чтобы создать и использовать макрос вызовите режим редактора VBA-кода макросов в Excel. Для этого выберите инструмент: «РАЗРАБОТЧИК»-«Код»-«VisualBasic» или нажмите комбинацию клавиш ALT+F11:
В окне редактора макросов создайте модуль выбрав инструмент: «Insert»-«Module».
В модуль необходимо вставить код функции teplokarta:
Option Explicit
Sub teplokarta()
Dim karta As Worksheet
Dim grafik1 As ChartObject
Dim grafik2 As ChartObject
Dim svodtab As PivotTable
Dim svodtab_adres As Range
Dim svodtab_lev_verh
Dim svodtab_lev_niz
Dim svodtab_visota
Dim svodtab_shirina
Set karta = Sheets("Карта")
Set grafik1 = karta.ChartObjects("Диаграмма 1")
Set grafik2 = karta.ChartObjects("Диаграмма 2")
Set svodtab = karta.PivotTables("СводнаяТаблица1")
Set svodtab_adres = svodtab.TableRange1
svodtab_lev_niz = svodtab_adres.Cells(svodtab_adres.Rows.Count, 2).Address
svodtab_shirina = svodtab.PivotFields("Месяц").DataRange.Address
svodtab_visota = svodtab.PivotFields("Год").DataRange.Address
svodtab_lev_verh = svodtab_adres.Cells(3, svodtab_adres.Columns.Count).Address
With grafik1
.Top = Range(svodtab_lev_verh).Top
.Left = Range(svodtab_lev_verh).Left
.Height = Range(svodtab_visota).Height
.Width = 200
With grafik2
.Top = Range(svodtab_lev_niz).Top
.Left = Range(svodtab_lev_niz).Left
.Width = Range(svodtab_shirina).Width
.Height = 200
End With
End With
End Sub
Теперь следует сделать двойной щелчок мышки по первому листу «Карта» в редакторе макросов чтобы вставить в него код вызова макрофункции teplokarta:
Код вызова макроса с листа:
Option Explicit
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
Call teplokarta
Range(Range("A1"), Range("A" & Rows.Count).End(xlUp)).RowHeight = 15
End Sub
Скачать диаграмму тепловой карты с графиками в Excel
Сохраните документ Excel в формате с поддержкой макросов *.XLSM и работайте с полноценной интерактивной тепловой картой для анализа данных по продажам за выбранный период в разрезе времени по месяцам и годам.