Как сделать динамическую диаграмму в excel?

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

Описание проблемы

Представьте, что у вас есть таблица с показателями, разбитыми по годам и вам необходимо визуализировать их.

как сделать динамическую диаграмму в excel

Создание диаграммы по всем рядам данных ни к чему хорошему не приведет – диаграмма будет перегружена и нечитабельна. Выходом будет создание интерактивной диаграммы, которая будет отображать только тот ряд данных, который нам необходим.

Создание динамической диаграммы

В первую очередь необходимо создать выпадающий список, откуда мы будем выбирать, интересующий нас, показатель. Переходим по вкладке Разработчик в группу Элементы управления, выбираем Вставить –> Элементы управления формы –> Поле со списком.

После того, как вы щелкните по иконке Поле со списком, ваш курсор превратится в перекрестье, это означает, что Excel ожидает указание места, куда необходимо разместить элемент управления. Щелкните в то место на рабочем листе, где вы хотите разместить выпадающий список. Вы увидите большое квадратное поле с треугольником внутри – это и есть первоначальный вид поля со списком. Задайте вашему элементу требуемые размеры, используя маркеры, находящиеся по краям элемента.

Щелкните правой кнопкой мыши по выпадающему списку, выберите Формат объекта. В появившемся диалоговом окне Формат элемента управления, задайте диапазон ячеек, откуда будет формироваться список (в нашем случае, это список всех показателей, по которым мы будем строить график), и ячейку, куда будет помещаться результат выбора из списка.

Далее необходимо создать два именованных диапазона. Первый будет отвечать за значения ряда данных, второй за название. В зависимости от выбора элемента из списка, оба диапазона будут менять свои адреса.

Переходим по вкладке Формулы в группу Определенные имена, выбираем Диспетчер имен и создаем два диапазона с именами значения и название с соответствующими формулами.

=СМЕЩ(ДинамДиагр!$A$4;ДинамДиагр!$A$16;1;;7)

=ИНДЕКС(ДинамДиагр!$A$5:$A$14;ДинамДиагр!$A$16)

На рабочем листе с таблицей с данными выбираем диапазон A1:H2, переходим по вкладке Вставка в группу Диаграммы, выбираем Диаграмму с областями. Excel построил нам диаграмму с одним рядом данных, как мы его и просили.

Щелкаем по ряду данных в области диаграммы. В строке формул вы увидите функцию формирующую ряд данных диаграммы. Где первый параметр отвечает за название ряда, второй – за ось категорий, третий — это значения нашего ряда данных.

Меняем значения первого и третьего параметра на уже подготовленные именованные диапазоны

=РЯД(ДинамДиагр!$A$2;ДинамДиагр!$B$1:$H$1;ДинамДиагр!$B$2:$H$2;1)

Должно получиться так:

=РЯД(ДинамДиагр!название;ДинамДиагр!$B$1:$H$1;ДинамДиагр!значения;1)

Теперь при изменении значения в выпадающем списке, наша динамическая диаграмма будет менять внешний вид. Так как именованные диапазоны, которые мы подставили вместо статических параметров в формуле РЯД, тоже будут менять свои адреса.

Осталось задать привлекательный формат нашей диаграмме. Убираем все лишние элементы: линии сетки и название диаграммы. Меняем цвет ряда данных, добавляем к нему линии проекции. Задаем цвет области построения и области диаграммы.

Чтобы название диаграммы вписывалось в общую композицию, вставляем элемент Надпись над диаграммой. Щелкаем левой кнопкой мыши по границе надписи, при этом линия границы становится сплошной линией, в строке формул вставляем именованный диапазон, отвечающий за название ряда данных. В нашем случае он так и называется название.

Динамическая диаграмма готова.

Скачать файл с примером динамической диаграммы в Excel.

Любую информацию легче воспринимать, если она представлена наглядно. Это особенно актуально, когда мы имеем дело с числовыми данными. Их необходимо сопоставить, сравнить. Оптимальный вариант представления – диаграммы. Будем работать в программе Excel.

Так же мы научимся создавать динамические диаграммы и графики, которые автоматически обновляют свои показатели в зависимости от изменения данных. По ссылке в конце статьи можно скачать шаблон-образец в качестве примера.

Как построить диаграмму по таблице в Excel?

  1. Создаем таблицу с данными.
  2. Выделяем область значений A1:B5, которые необходимо презентовать в виде диаграммы. На вкладке «Вставка» выбираем тип диаграммы.
  3. Нажимаем «Гистограмма» (для примера, может быть и другой тип). Выбираем из предложенных вариантов гистограмм.
  4. После выбора определенного вида гистограммы автоматически получаем результат.
  5. Такой вариант нас не совсем устраивает – внесем изменения. Дважды щелкаем по названию гистограммы – вводим «Итоговые суммы».
  6. Сделаем подпись для вертикальной оси. Вкладка «Макет» — «Подписи» — «Названия осей». Выбираем вертикальную ось и вид названия для нее.
  7. Вводим «Сумма».
  8. Конкретизируем суммы, подписав столбики показателей. На вкладке «Макет» выбираем «Подписи данных» и место их размещения.
  9. Уберем легенду (запись справа). Для нашего примера она не нужна, т.к. мало данных. Выделяем ее и жмем клавишу DELETE.
  10. Изменим цвет и стиль.

Выберем другой стиль диаграммы (вкладка «Конструктор» — «Стили диаграмм»).

Как добавить данные в диаграмму в Excel?

  1. Добавляем в таблицу новые значения — План.
  2. Выделяем диапазон новых данных вместе с названием. Копируем его в буфер обмена (одновременное нажатие Ctrl+C). Выделяем существующую диаграмму и вставляем скопированный фрагмент (одновременное нажатие Ctrl+V).
  3. Так как не совсем понятно происхождение цифр в нашей гистограмме, оформим легенду. Вкладка «Макет» — «Легенда» — «Добавить легенду справа» (внизу, слева и т.д.). Получаем:

Есть более сложный путь добавления новых данных в существующую диаграмму – с помощью меню «Выбор источника данных» (открывается правой кнопкой мыши – «Выбрать данные»).

Когда нажмете «Добавить» (элементы легенды), откроется строка для выбора диапазона данных.

Как поменять местами оси в диаграмме Excel?

  1. Щелкаем по диаграмме правой кнопкой мыши – «Выбрать данные».
  2. В открывшемся меню нажимаем кнопку «Строка/столбец».
  3. Значения для рядов и категорий поменяются местами автоматически.

Как закрепить элементы управления на диаграмме Excel?

Если очень часто приходится добавлять в гистограмму новые данные, каждый раз менять диапазон неудобно. Оптимальный вариант – сделать динамическую диаграмму, которая будет обновляться автоматически. А чтобы закрепить элементы управления, область данных преобразуем в «умную таблицу».

  1. Выделяем диапазон значений A1:C5 и на «Главной» нажимаем «Форматировать как таблицу».
  2. В открывшемся меню выбираем любой стиль. Программа предлагает выбрать диапазон для таблицы – соглашаемся с его вариантом. Получаем следующий вид значений для диаграммы:
  3. Как только мы начнем вводить новую информацию в таблицу, будет меняться и диаграмма. Она стала динамической:

Мы рассмотрели, как создать «умную таблицу» на основе имеющихся данных. Если перед нами чистый лист, то значения сразу заносим в таблицу: «Вставка» — «Таблица».

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

Представлять информацию в процентах лучше всего с помощью круговых диаграмм.

Исходные данные для примера:

  1. Выделяем данные A1:B8. «Вставка» — «Круговая» — «Объемная круговая».
  2. Вкладка «Конструктор» — «Макеты диаграммы». Среди предлагаемых вариантов есть стили с процентами.
  3. Выбираем подходящий.
  4. Очень плохо просматриваются сектора с маленькими процентами. Чтобы их выделить, создадим вторичную диаграмму. Выделяем диаграмму. На вкладке «Конструктор» — «Изменить тип диаграммы». Выбираем круговую с вторичной.
  5. Автоматически созданный вариант не решает нашу задачу. Щелкаем правой кнопкой мыши по любому сектору. Должны появиться точки-границы. Меню «Формат ряда данных».
  6. Задаем следующие параметры ряда:
  7. Получаем нужный вариант:

Диаграмма Ганта в Excel

Диаграмма Ганта – это способ представления информации в виде столбиков для иллюстрации многоэтапного мероприятия. Красивый и несложный прием.

  1. У нас есть таблица (учебная) со сроками сдачи отчетов.
  2. Для диаграммы вставляем столбец, где будет указано количество дней. Заполняем его с помощью формул Excel.
  3. Выделяем диапазон, где будет находиться диаграмма Ганта. То есть ячейки будут залиты определенным цветом между датами начала и конца установленных сроков.
  4. Открываем меню «Условное форматирование» (на «Главной»). Выбираем задачу «Создать правило» — «Использовать формулу для определения форматируемых ячеек».
  5. Вводим формулу вида: =И(E$2>=$B3;E$2

Когда вам нужно построит презентабельный отчет финансовой активности предприятия, лучше использовать средства графического представления информации.

Графическое представление информации намного эффективней и быстрей усваивается человеческим зрительным восприятием информации, чем текст и цифры. Легче проводить аналитики, лучше видно ситуацию, как в целом, так и в отдельных деталях.

Простенькая диаграмма Ганта готова. Скачать шаблон с примером в качестве образца.

В программе Excel специально разрабатывались диаграммы и графики для реализации данной задачи.

Динамическая диаграмма в Excel

Добрый день, уважаемые читатели! Сегодня мы рассмотрим вопрос, который поступил от одного из читателей блога — как построить динамическую диаграмму (график)? То есть, чтобы график сам перестраивался в зависимости от выбранных условий и без удаления данных.

Как говорится — хороший вопрос! Приступим. 

Для начала построим таблицу с любыми данными, динамику которых нужно отслеживать.

Далее создадим выпадающий список выбора (магазинов). Для этого перейдём на вкладку «Данные», в блоке кнопок «Работа с данными» нажмём кнопку «Проверка данных», выберем тип «Список», а затем укажем диапазон (источник) $A$2:$A$5 (в моём случае).

Подробнее о том как строить выпадающие списки смотрим ЗДЕСЬ.

Получим вот такую картину.

Теперь нам нужен график (диаграмма) пока только по одному магазину. Пусть это будет Ручеек.

Выделяем ячейки с A1:I2 поскольку пока нам будет нужен только он, переходим на вкладку «Вставка», в блоке кнопок «Диаграммы» жмём по треугольнику после кнопки «График» и выбираем «График с маркерами и накоплением» (для большей наглядности). Получим наш график. Как строить диаграммы смотрим ЗДЕСЬ.

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

Перед нами появится следующее окно.

Нажимаем кнопку «Создать», задаём имя для нашего диапазона (я задам _chart), поле «Область» оставим «Книга», если что-то хочется написать в поле «Примечание» — смело пишем. Мы подобрались к самому интересному — полю «Диапазон». Сюда мы напишем следующую формулу:

=СМЕЩ(Лист2!$B$1:$I$1;ПОИСКПОЗ(Лист2!$L$1;Лист2!$A$2:$A$5;0);)

Поясню что есть что. Функция СМЕЩ (смещение) будет обновлять наши данные по магазинам (так как мы построили график только для магазина Ручеек). 

Далее в скобках будут показаны пределы данных времени (месяцы) (у мня это от ячейки B1 до ячейки I1). Их обязательно нужно жёстко закрепить (символами $) иначе будем получать неверную информацию.

Функция ПОИСКПОЗ поможет нам найти выбранный в списке магазин, т.е. если я выбираю в ячейке L1 другой магазин формула будет искать в диапазоне от A2 до A5 точное совпадение названия. 

Подробнее о функции ПОИСКПОЗ — ВИДЕО С НАШЕГО КАНАЛА.

Нажимаем «ОК», затем мы увидим, что в списке диспетчера имён появился наш диапазон _chart.

Нажимаем «Закрыть» и возвращаемся к нашему графику. По нему щёлкаем правой кнопкой мышки и берём пункт «Выбрать данные».

Где находится поле с названием нашего ряда (Ручеек) кликаем кнопку «Изменить». Имя ряда мы менять не будем (там будут меняться наши магазины), а вот в значениях напишем =Лист2!_chart (можно вообще написать в кавычках имя файла, так как поле области мы оставляли Книга и после восклицательного знака написать имя нашего диапазона).

Нажимаем ОК и проверяем — выбираем из списка другие магазины и смотрим за изменениями графика! 

Пишите комментарии если что-то было непонятно! 

Качественная визуализация большого объема информации – это почти всегда нетривиальная задача, т.к. отображение всех данных часто приводит к перегруженности диаграммы, ее запутанности и, в итоге, к неправильному восприятию и выводам.

Вот, например, данные по курсам валют за несколько месяцев:

Строить график по всей таблице, как легко сообразить, не лучшая идея. Красивым решением в подобной ситуации может стать создание интерактивной диаграммы, которую пользователь может сам подстраивать под себя и ситуацию. А именно:

  • двигаться по оси времени вперед-назад в будущее-прошлое
  • приближать-удалять отдельные области диаграммы для подробного изучения деталей графика
  • включать-выключать отображение отдельных валют на выбор

Выглядеть это может примерно так:

Нравится? Тогда поехали…

Шаг 1. Создаем дополнительную таблицу для диаграммы

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

В Excel 2007/2010 к созданным диапазонам можно применить команду Форматировать как таблицу (Format as Table) с вкладки Главная (Home):

Это даст нам следующие преимущества:

  • Любые формулы в таких таблицах автоматически транслируются на весь столбец – не надо «тянуть» их вручную до конца таблицы
  • При дописывании к таблице новых строк в будущем (новых дат и курсов) – размеры таблицы увеличиваются автоматически, включая корректировку диапазонов в диаграммах, ссылках на эту таблицу в других формулах и т.д.
  • Таблица быстро получает красивое форматирование (чересстрочную заливку и т.д.)
  • Каждая таблица получает собственное имя (в нашем случае – Таблица1 и Таблица2), которое можно затем использовать в формулах.

Подробнее про преимущества использования подобных Таблиц можно почитать тут.

Шаг 2. Добавляем флажки (checkboxes) для валют

В  Excel 2007/2010 для этого необходимо отобразить вкладку Разработчик (Developer), а в Excel 2003 и более старших версиях – панель инструментов Формы (Forms). Для этого:

  • В Excel 2003: выберите в меню Вид – Панели инструментов – Формы (View – Toolbars – Forms)
  • В Excel 2007: нажать кнопку Офис – Параметры Excel – Отобразить вкладку Разработчик на ленте (Office Button – Excel options – Show Developer Tab in the Ribbon)
  • В Excel 2010: Файл – Параметры – Настройка ленты – включить флаг Разрабочик (File – Options – Customize Ribbon – Developer)

На появившейся панели инструментов или вкладке Разработчик (Developer) в раскрывающемся списке Вставить (Insert) выбираем инструмент Флажок (Checkbox) и рисуем два флажка-галочки для включения-выключения каждой из валют:

Текст флажков можно поменять, щелкнув по ним правой кнопкой мыши и выбрав команду Изменить текст (Edit text).

Теперь привяжем наши флажки к любым ячейкам для определения того, включен флажок или нет (в нашем примере это две желтых ячейки в верхней части дополнительной таблицы). Для этого щелкните правой кнопкой мыши по очереди по каждому добавленному флажку и выберите команду Формат объекта (Format Control), а затем в открывшемся окне задайте Связь с ячейкой (Cell link).

Наша цель в том, чтобы каждый флажок был привязан  к соответствующей желтой ячейке над столбцом с валютой. При включении флажка в связанную ячейку будет выводиться ИСТИНА (TRUE), при выключении – ЛОЖЬ (FALSE). Это позволит, в дальнейшем, проверять с помощью формул связанные ячейки и выводить в дополнительную таблицу либо значение курса из исходной таблицы для построения графика, либо #Н/Д (#N/A), чтобы график не строился.

Шаг 3. Транслируем данные в дополнительную таблицу

Теперь заполним дополнительную таблицу формулой, которая будет транслировать исходные данные из основной таблицы, если соответствующий флажок валюты включен и связанная ячейка содержит слово ИСТИНА (TRUE):

Заметьте, что при использовании команды Форматировать как таблицу (Format as Table) на первом шаге, формула имеет использует имя таблицы и название колонки. В случае обычного диапазона, формула будет более привычного вида:

=ЕСЛИ(F$1;B4;#Н/Д)

Обратите внимание  на частичное закрепление ссылки на желтую ячейку (F$1), т.к. она должна смещаться вправо, но не должна – вниз, при копировании формулы на весь диапазон.

Теперь при включении-выключении флажков наша дополнительная таблица заполняется либо данными из исходной таблицы, либо искусственно созданной ошибкой #Н/Д, которая не дает линии на графике.

Шаг 4. Создаем полосы прокрутки для оси времени и масштабирования

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

Полосу прокрутки (Scroll bar) берем там же, где и флажки – на панели инструментов Формы (Forms) или на вкладке Разработчик (Developer):

Рисуем на листе в любом подходящем месте одну за другой две полосы – для сдвига по времени и масштаба:

Каждую полосу прокрутки надо связать со своей ячейкой (синяя и зеленая ячейки на рисунке), куда будет выводиться числовое значение положения ползунка. Его мы потом будем использовать для определения масштаба и сдвига. Для этого щелкните правой кнопкой мыши по нарисованной полосе и выберите в контекстном меню команду Формат объекта (Format control). В открывшемся окне можно задать связанную ячейку и минимум-максимум, в пределах которых будет гулять ползунок:

Таким образом, после выполнения всего вышеизложенного, у вас должно быть две полосы прокрутки, при перемещении ползунков по которым значения в связанных ячейках должны меняться в интервале от 1 до 307.

Шаг 5. Создаем динамический именованный диапазон

Чтобы отображать на графике данные только за определенный интервал времени, создадим именованный диапазон, который будет ссылаться только на нужные ячейки в дополнительной таблице. Этот диапазон будет характеризоваться двумя параметрами:

  • Отступом от начала таблицы вниз на заданное количество строк, т.е. отступом по временной шкале прошлое-будущее (синяя ячейка)
  • Количеством ячеек по высоте, т.е. масштабом (зеленая ячейка)

Этот именованный диапазон мы позже будем использовать как исходные данные для построения диаграммы.

Для создания такого диапазона будем использовать функцию СМЕЩ (OFFSET) из категории Ссылки и массивы (Lookup and Reference) — эта функция умеет создавать ссылку на диапазон заданного размера в заданном месте листа и имеет следующие аргументы:

В качестве точки отсчета берется некая стартовая ячейка, затем задается смещение относительно нее на заданное количество строк вниз и столбцов вправо. Последние два аргумента этой функции – высота и ширина нужного нам диапазона. Так, например, если бы мы хотели иметь ссылку на диапазон данных с курсами за 5 дней, начиная с 4 января, то можно было бы использовать нашу функцию СМЕЩ со следующими аргументами:

=СМЕЩ(A3;4;1;5;2)

Хитрость в том, что константы в этой формуле можно заменить на ссылки на ячейки с переменным содержимым – в нашем случае, на синюю и зеленую ячейки. Сделать это можно, создав динамический именованный диапазон с функцией СМЕЩ (OFFSET). Для этого:

  • В Excel 2007/2010 нажмите кнопку Диспетчер имен (Name Manager) на вкладке Формулы (Formulas)
  • В Excel 2003 и старше – выберите в меню Вставка – Имя – Присвоить (Insert – Name – Define)

Для создания нового именованного диапазона нужно нажать кнопку Создать (Create) и ввести имя диапазона и ссылку на ячейки в открывшемся окне.

Сначала создадим два простых статических именованных диапазона с именами, например, Shift и Zoom, которые будут ссылаться на синюю и зеленую ячейки соответственно:    

 

Теперь чуть сложнее – создадим диапазон с именем Euros, который будет ссылаться с помощью функции СМЕЩ (OFFSET) на данные по курсам евро за выбранный отрезок времени, используя только что созданные до этого диапазоны Shift и Zoom и ячейку E3 в качестве точки отсчета:

Обратите внимание, что перед именем диапазона используется имя текущего листа – это сужает круг действия именованного диапазона, т.е. делает его доступным в пределах текущего листа, а не всей книги. Это необходимо нам для построения диаграммы в будущем. В новых версиях Excel для создания локального имени листа можно использовать выпадающий список Область.

Аналогичным образом создается именованный диапазон Dollars для данных по курсу доллара:

И завершает картину диапазон Labels, указывающий на подписи к оси Х, т.е. даты для выбранного отрезка:

Общая получившаяся картина должна быть примерно следующей:

Шаг 6. Строим диаграмму

Выделим несколько строк в верхней части вспомогательной таблицы, например диапазон E3:G10 и построим по нему диаграмму типа График (Line). Для этого в Excel 2007/2010 нужно перейти на вкладку Вставка (Insert) и в группе Диаграмма (Chart) выбрать тип График (Line), а в более старших версиях выбрать в меню Вставка – Диаграмма (Insert – Chart). Если выделить одну из линий на созданной диаграмме, то в строке формул будет видна функция РЯД (SERIES), обслуживающая выделенный ряд данных:

Эта функция задает диапазоны данных и подписей для выделенного ряда диаграммы. Наша задача – подменить статические диапазоны в ее аргументах на динамические, созданные нами ранее. Это можно сделать прямо в строке формул, изменив

=РЯД(Лист1!$F$3;Лист1!$E$4:$E$10;Лист1!$F$4:$F$10;1)

на

=РЯД(Лист1!$F$3;Лист1!Labels;Лист1!Euros;1)

Выполнив эту процедуру последовательно для рядов данных доллара и евро, мы получим то, к чему стремились – диаграмма будет строиться по динамическим диапазонам Dollars и Euros, а подписи к оси Х будут браться из динамического же диапазона Labels. При изменении положения ползунков будут меняться диапазоны и, как следствие, диаграмма. При включении-выключении флажков – отображаться только те валюты, которые нам нужны.

Таким образом мы имеем полностью интерактивную диаграмму, где можем отобразить именно тот фрагмент данных, что нам нужен для анализа.

Ссылки по теме

  • Умные таблицы Excel 2007/2010