Top-office11.ru

IT и мир ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Vba excel построение графиков

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

Содержание

Методы объекта Chart

Диаграммы можно размещать на рабочем листе. Для этого используется коллекция chartobjects. Ее элементы — объекты класса chartobject — являются контейнерами, содержащими объект Chart, задающий непосредственно диаграмму.

Рассмотрим основные методы, определяющие новое поведение объекта Chart:

SubChartWizard ([Source], [Gallery], [Format], [PlotBy], [CategoryLabels], [SeriesLabels], [HasLegend], [Title], [CategoryTitle], [ValueTitle], [Extra-Title])

Этот метод позволяет построить или модифицировать существующую диаграмму. В отличие от мастера диаграмм (ChartWizard), который вызывается при построении диаграммы вручную, метод не является интерактивным, более того, он не позволяет задать все возможные свойства. С его помощью можно выполнить основную работу, а детали строятся с использованием других свойств и методов объекта Chart. Все параметры метода являются необязательными:

  • Source — объект Range, содержащий исходные данные для построения новой диаграммы. Если параметр опущен, то метод позволяет отредактировать существующую диаграмму — либо выделенную диаграмму рабочего листа, либо диаграмму активного листа диаграмм;
  • Gallery — задает тип диаграммы и может быть одной из следующих констант: xlArea, xlBar, xlColumn, xlLine, xlPie, xlRadar, xlXY-Scatter, xlCombination, xl3DArea, xl3DBar, xl3DColumn, xl3DLine, xl3DPie, xl3DSurface, xlDoughnut, или xlDefaultAutoFormat;
  • Format — задает формат для данного типа диаграммы. Каждому типу диаграммы соответствует некоторое число возможных форматов. Параметр задает номер формата, по умолчанию выбирается первый формат данного типа;
  • PlotBy — соответствует терминальному свойству PlotBy;
  • CategoryLabels и SeriesLabels — целые, указывающие число строк или столбцов с метками категорий и рядов данных в области, заданной параметром Source. Указывать эти числа нужно на единицу меньше фактического значения;
  • остальные параметры позволяют добавить легенду, задать название диаграммы и ее осей — они совпадают с соответствующими терминальными свойствами.

Sub SetSourceData (source as range, [plotby]). Устанавливает источник данных диаграммы. Второй параметр соответствует терминальному свойству plotby.

SubApplyCustomType (ChartTypeAsXlChartType, [typename]). Метод позволяет модифицировать диаграмму, применив к ней новый тип — стандартный или настраиваемый. Если этот тип стандартный, то тогда первый параметр полностью его определяет. Его возможные значения совпадают со значениями соответствующего терминального свойства charttype. Если же тип настраиваемый, то первый параметр должен иметь одно из следующих значений: xlbuiltin, xluserdefined или xlanygallery. В этом случае второй параметр задает имя типа диаграммы.

Function Export (filename as string, [filtername], [interactive]) as boolean позволяет экспортировать диаграмму, преобразуя ее в графический формат. Первый параметр задает имя файла, в который будет записана диаграмма в графическом формате, второй — задает имя графического фильтра в том виде, как оно записано в системном регистре. Булев параметр interactive должен иметь значение true, если мы хотим вызвать диалоговое окно в процессе фильтрации. Функция export возвращает значение true в случае успешного завершения работы.

Sub GetChartElement (x as long, y as long, elementid as long, argl as long, arg2 as long). Представьте себе, что пользователь щелкнул кнопку мыши где-то над диаграммой. Обработав это событие, можно получить координаты курсора мыши — x и y. Если теперь вызвать метод getchartelement с этими координатами, то он вернет значение параметра elementid — идентификатор элемента диаграммы и значения двух параметров, связанных с этим элементом. Конечно, параметры зависят от типа того элемента, чьи координаты x и y заданы.

Function Location (where as xlchartlocation, [name]) as Chart. Передвигает диаграмму в новое местоположение. Параметр Where имеет следующие значения: xlLocationAsNewSheet, xlLocationAsObject или xlLocationAutomatic.

В первом случае диаграмма помещается на новый лист диаграммы и параметр Name задает имя этого листа. Во втором случае диаграмма помещается как встроенный объект и Name задает имя рабочего листа.

Создание VBA программы

По введенным в диалоговое окно «Построение графика» начальным, конечным значениям аргументов и их шагам изменения строится график. Уравнение графика также вводится в программу из диалогового окна. Уравнение должно быть составлено в соответствии с правилами, по которым строятся функции рабочего листа, но в качестве аргументов в нем следует использовать х вместо ссылки на ячейку. Программа сама переведет аргумент в ссылку на ячейку. После табуляции введенной функции программой и построения поверхности на рабочем листе этот график также отображается в объекте управления Image, расположенном в диалоговом окне Построение графика.

Обсудим, как приведенная ниже программа решает описанную задачу и что происходит в ней.

Диалоговое окно «Построение графика» в рабочем состоянии

Результат построения графика на рабочем листе

  • Активизирует диалоговое окно.
  • Назначает клавише функцию кнопки Отмена, а клавише — построение.
  • Устанавливает, чтобы отображаемая картинка графика в диалоговом окне помещалась целиком и пропорционально в пределах элемента управления Image, а также чтобы левый верхний угол рисунка совпадал с левым верхним углом элемента управления Image.

Нажатие кнопки Построение запускает на выполнение процедуру CommandButton 1__ C 1 ick

  • Проверяет, являются ли вводимые данные числами. В случае ошибки отображается соответствующее сообщение.
  • Проверяет согласованность вводимых данных. В случае ошибки отображается соответствующее сообщение.
  • Преобразует формулу, введенную в поле Уравнение графика, в формулу рабочего листа.
  • Проверяет корректность введенной формулы. В случае ошибки отображается соответствующее сообщение.
  • Используя метод DataSeries, начиная с ячейки А2, строит вниз по столбцу арифметическую прогрессию, являющуюся результатом табуляции аргумента х уравнения графика с указанными шагами (рисунок из файла graph.jpg в элементе управления Image1).

Пример сообщения о несогласованности данных

Сообщение о некорректном вводе формулы

Нажатие кнопки Отмена запускает на выполнение процедуру CommandButton 2_ C 1 ick

Закрывает диалоговое окно.

Рассмотрим листинг данного приложения.

Private Sub CommandButton1_Click()

// Процедура табуляции функции

Dim х_нз As Double

Dim х_пз As Double

Dim х_шаг As Double

Dim УрГрафика As String

Dim nx As Integer

// nx — число протабулированных значений аргумента х

Dim n As Integer

Dim i As Integer

// n, i — вспомогательные целые переменные

// Проверка корректности ввода данных

If IsNumeric(TextBox2.Text)=False Then

MsgBox «Ошибка в начальном значении х», vbInformation, «График»

If IsNumeric(TextBox3.Text)=False Then

Читать еще:  Как изменить стиль в word

MsgBox «Ошибка в шаге х», vbInformation, «График»

If IsNumeric(TextBox4.Text)=False Then

MsgBox «Ошибка в конечном значении у», vbInformation, «График»

// Считывание с диалогового окна значений переменных

// Проверка согласованности введенных данных

If х_нз >= х_пз Then

MsgBox «Начальное значение х слишком большое», vbInformation, «График»

If х_нз + х_шаг >= х_пз Then

MsgBox «Шаг х великоват», vbInformation, «График»

// Замена в введенной формуле аргумента х на ссылку $A1

// Замена в введенной формуле аргумента х на ссылку $A1

УрГрафика=Left(УрГрафика, i — 1) & «$A1» & Right(УрГрафика, n — i)

УрГрафика=«$A1» & Right(УрГрафика, n — 1)

УрГрафика=Left(УрГрафика, n — 1) & «$A1»

// Очистка на активном листе ранее введенных данных

// Заполнение диапазонов значениями аргумента

Range(«A1»).Value=х_нз ‘Ввод в ячейку A1 начального значения

// Создание арифметической прогрессии по столбцу с указанным шагом и начальным значением

Range(«A1»).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=х_шаг, Stop:=х_пз, Trend:=False

// Заполнение диапазона значениями функции

// Определение числа строк в диапазоне заполнения

// Ввод уравнения поверхности в ячейку B1

If IsError(Evaluate(УрГрафика))=True Then

MsgBox «Ошибка в формуле», vbExclamation, «График»

// Заполнение диапазона Range(Cells(1, 2), Cells(nx, 2))

// начиная с ячейки B1, что эквивалентно протаскиванию маркера

// заполнения ячейки B 1 на диапазон Range (Cells (1, 2),

Range(«B1»).AutoFill Destination:=Range(Cells(1, 2), Cells(nx, 2)), Type:=xlFillDefault

// Удаление с рабочего листа всех ранее построенных диаграмм

ActiveSheet.Range(Cells(1, 2), Cells(nx, 2)).Select

// Выбор диапазона, по которому строится график

ActiveSheet.ChartObjects.Add(20, 19.5, 192, 192).Select

// Задание и выбор области на рабочем листе, где будет построен график,

// размер графика должен соответствовать размеру объекта Image 1

ActiveChart.ChartWizard Source:=Range(Cells(1, 1), Cells(nx, 2)), Gallery:=xlLine, Format:=2, PlotBy:=xlColumns, CategoryLabels:=1, SeriesLabels:=0, HasLegend:=False, Title:=»График»,

CategoryTitle:=»Аргумент», ValueTitle:=»Функция y» & TextBox1.Text

// Запись диаграммы в файл и загрузка картинки в Image1

Private Sub CommandButton2 Click()

// Процедура закрытия диалогового окна

Private Sub UserForm Initialize()

// Рисунок масштабируется с учетом относительных размеров так, чтобы он помещался в объекте Image1

11.9 Работа с диаграммами: объект Chart

Объект Excel.Chart, программная работа с диаграммами средствами VBA, выбор типа диаграммы, добавление рядов

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

С диаграммами в Excel существует некоторая терминологическая путаница. То, что на графическом интерфейсе русского Excel называется диаграммой (меню Вставка -> Диаграмма), по английски называется графиком (Chart) и ему соответствует объект Chart. В объектной модели Excel предусмотрен также и объект Diagram, но он представляет скорее схему отношений (то, что при помощи графического интерфейса русского Excel можно добавить при помощи меню Вставка -> Схематическая диаграмма). Под диаграммой в этом разделе будет пониматься то же, что и у создателей русского Excel — график.

Диаграммы в Excel создаются при помощи объекта Chart.

Лучше всего вначале этот объект объявить:

Dim oChart As Chart

Дальше можно создавать диаграмму. Производится создание диаграммы при помощи много раз использованного нами приема — вызова метода Add() коллекции Charts:

Set oChart = ActiveWorkbook.Charts.Add(, ActiveSheet)

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

Первое (и единственное обязательное действие) — определить источник данных для диаграммы, для чего предназначен метод SetSourceData(). В качестве источника может выступать только объект Range (он передается в качестве первого и единственного обязательного параметра этого метода). Второй параметр (необязательный) определяет, в каком порядке считывать данные — сначала по столбцам или сначала по строкам. Например, в нашем случае это может выглядеть так:

В принципе, если запустить созданный код на выполнение, то диаграмма уже будет создана. Для всех остальных параметров будут приняты значения по умолчанию. Однако на практике нужно определить еще хотя бы тип диаграммы (по умолчанию она будет выглядеть как «обычная гистограмма», то есть ряд из столбиков разной длины). Для этой цели используется свойство ChartType, для которой разработчиками предусмотрено целых 73 значения. Например, чтобы преобразовать диаграмму в обычный график, можно использовать код вида:

Еще одна очень распространенная задача – добавить дополнительные ряды на диаграмму. Для этой цели необходимо создать и получить ссылку на объект Series – ряд, а потом для ряда определить свойство Values (ему передается в качестве значения объект Range):

Dim oSeries As Series

Set oSeries = oChart.SeriesCollection.NewSeries

Пользователи часто говорят, что им необходимо создавать диаграммы не на отдельном листе, а на том же листе, на котором расположены данные. По умолчанию диаграмма создается в оперативной памяти и помещается на отдельный лист. Если нам необходимо поместить ее на уже существующий лист, то в этом случае ее вначале надо создать на отдельном листе, а затем переместить при помощи метода Location. Отдельный лист, созданный для диаграммы, при этом автоматически исчезнет:

oChart.Location xlLocationAsObject, «Лист1»

Обратите внимание, что метод Location принимает в качестве первого параметра одну из констант (xlLocationAsNewSheet – переместить на специально создаваемый новый лист, xlLocationAsObject – переместить на объект, то есть лист), а в качестве второго – не объект листа, как можно было бы подумать, а обязательно его имя. Если код предполагается использовать и в русской, и в английской версии Excel, то предпочтительнее получить имя листа программным образом.

Большая неприятность, связанная с методом Location, заключается в том, что после перемещения диаграммы внутрь листа объектная ссылка на эту диаграмму теряется, и надо находить объект этой диаграммы заново. При попытке повторного обращения к объекту Chart выдается сообщение «Automation Error». Лучше всего поэтому вызов метода Location помещать в самый конец кода, посвященного диаграмме. В противном случае нам придется разыскивать созданную нами диаграмму и заново получать на нее объектную ссылку, например так:

Читать еще:  Как убрать подложку в word

Dim oSeries As Series

Set oSeries = Worksheets(1).ChartObjects(1).Chart.SeriesCollection.NewSeries

Так работать, конечно, намного менее удобно.

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

  • свойство ChartArea — это свойство возвращает одноименный объект ChartArea, который представляет собой область, занимаемую диаграммой и используется для настройки внешнего вида диаграммы (свойства Font, Interior и т.п.). Если необходимо настроить внешний вид не всей диаграммы, а той ее части, которая используется непосредственно для вывода графика, используется схожее свойство PlotArea. По умолчанию диаграмма размещается прямо по центру листа. Если необходимо ее переместить в точно определенное место листа, используются знакомые на свойства Top, Height, Left и Width для объекта ChartArea.
  • свойство ChartTitle возвращает одноименный объект, при помощи которого можно настроить заголовок диаграммы (с такими свойствами, как Text, Font, Border и т.п.);
  • ChartType — важнейшее свойство, про которое мы уже говорили. Определяет тип диаграммы;
  • HasDataTable — если установить это свойство в True, то в нижней части диаграммы (по умолчанию) появится таблица с числами, на основе которых была создана диаграмма. Одновременно будет создан программный объект DataTable, при помощи которого можно настроить представление этой таблицы. Схожим образом действуют свойства HasLegend, HasPivotFields и HasTitle.
  • Name — это свойство позволяет настроить имя диаграммы (как название вкладки в Excel). По умолчанию диаграммы называются последовательно «Диаграмма1», «Диаграмма2» и т.п.
  • SizeWithWindow — если поставить значение этого свойства в True (по умолчанию False), то размер диаграммы будет подогнан таким образом, чтобы точно соответствовать размеру листа.
  • Tab — свойство, о котором мало кто подозревает. Оно позволяет настроить при помощи одноименного объекта внешний вид вкладки в книге Excel для диаграммы (или просто листа). Например, чтобы пометить вкладку зеленым, можно воспользоваться кодом

oChart.Tab.Color = RGB(0, 255, 0)

  • Visible — возможность спрятать диаграмму без ее удаления.

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

Теперь — о самых главных методах объекта Chart:

  • метод Activate() используется очень часто. Он позволяет сделать диаграмму активной (то есть просто перейти на нее);
  • метод ApplyCustomType() позволяет поместить создать диаграмму своего собственно пользовательского типа (для этого необходимо вначале создать шаблон для этого типа и поместить его в галерею);
  • метод ApplyDataLabels() позволяет поместить на диаграмму метки для размещенных на ней данных. Этот метод принимает множество параметров, которые позволяют настроить отображение данных меток (показывать или не показывать значения и т.п.);
  • метод Axes() возвращает объект, представляющий оси диаграммы. Затем этот объект можно использовать для настройки данных осей;
  • ChartWizard() — этот метод позволяет быстро переформатировать диаграмму, как будто бы прошли на графическом экране при помощи мастера построения диаграмм и передали ему значения. Позволяет при помощи одной строки кода добиться того, что другими способами потребовало бы минимум несколько строк;
  • Copy() — позволяет скопировать диаграмму в другое место книги (например, чтобы создать новую диаграмму, использовав в качестве основы существующую). Для переноса существующей диаграммы в другое место можно воспользоваться методами Location() или Move().
  • CopyPicture() — замечательный метод, который позволяет поместить диаграмму в буфер обмена как изображение. Затем это изображение можно вставить, например, в документ Word или в любое другое место. Другой вариант — воспользоваться методом Export(), который позволяет создать рисунок, представляющий диаграмму, в виде файла на диске.
  • Delete() — просто удаляет диаграмму;
  • Evaluate() — как обычно, этот метод позволяет найти нужную диаграмму в книге по ее имени;
  • PrintOut() — возможность отправить диаграмму на печать. Этот метод принимает множество параметров, которые позволяют настроить такой вывод;
  • Refresh() — возможность обновить диаграмму, если изменились данные, на основе которых она строилась;
  • Select() — возможность выделить диаграмму (равносильно щелчку по ней мышью). Deselect() — снятие выделения (равносильно нажатию на );
  • SetBackgroundPicture() — возможность «подложить» под диаграмму фоновый рисунок. Конечно, он должен быть не очень ярким;
  • SetSourceData() — важнейший метод, который позволяет определить данные, на основе которых строится диаграмма. Про него мы уже говорили.

Для объекта Chart предусмотрено также события «на все случаи жизни» — реакция на щелчки мышью, на выделение/снятие выделения, активизацию, пересчет данных, изменение размера и т.п., однако используются такие события на практике нечасто.

Макрос расстановки подписей для графика в Excel

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

Приветствую всех, дорогие читатели блога TutorExcel.Ru.

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

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


Так каким образом мы можем избавиться от наложения при расстановке чисел?

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


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

Все хорошо, если таких точек мало. К сожалению, все становится куда сложнее, когда таких точек и графиков много и на ручную обработку тратится уже не несколько секунд.

Читать еще:  Excel сопоставление двух списков

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

Алгоритм расстановки подписей на графике

В зависимости от количества рассматриваемых точек проанализируем самые частые случаи:

    2 точки; Возьмем пару точек, по одной из каждого графика и сравним их значения. Для той точки, значение которой больше (выбираем ту, которая находится выше) ставим подпись сверху, соответственно, для второй точки (значение которой меньше) — снизу.

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

  • 4 и более точек. В случае большого количества подписей на диаграмме избежать наложения будет достаточно сложно, к тому же, обычно на график добавляют лишь несколько рядов с подписями, поэтому отдельно данный случай разбирать не будем.
  • Таким образом, следуя заданным правилам, мы с большой вероятностью избежим наложения чисел друг на друга. Теперь сведем все части вместе и преобразуем данный алгоритм в код VBA.

    Макрос расстановки подписей

    Для добавления макроса переходим в редактор Visual Basic (горячая клавиша Alt + F11), создаём новый модуль и вставляем туда код (как и обычно, напротив основных действий макроса даются пояснения к коду):

    Интерактивный график

    Скачать пример из видеоурока:

    Интерактивная диаграмма.xls (47,5 KiB, 1 958 скачиваний)

    Вводные данные: имеется таблица с данными по выручке от продаж на нескольких торговых точках:

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

    Но что если необходимо показать динамику по каждой точке отдельно? Приведенный выше график не очень подходит для этой цели — слишком много лишних данных, в результате чего он смотрится довольно нагроможденно. Можно создать несколько одинаковых графиков, каждый из которых будет показывать данные по одной торговой точке. Это будет наглядно и удобно, если торговых точек 3-5. Но если их 10 и более, то такое нагромождение графиков мало того, что не наглядно — это еще весьма затратно по времени.
    Поэтому, если есть необходимость показать динамику по отдельным торговым точкам, но при этом не обязательно делать много графиков, можно воспользоваться таким решением:

    Скачать пример:

    Интерактивная диаграмма.xls (47,5 KiB, 1 958 скачиваний)

    А теперь разберем, как это можно сделать.

    • Для начала необходимо создать диаграмму нужного типа: выделяем диапазон A4:K5 -вкладка Вставка (Insert) -группа Диаграммы (Charts)Вставить график или диаграмму с областями (Line)График (Line)
    • в удобном месте на основании названий торговых точек создаем обычный выпадающий список
      В файле примере список создан в ячейке B11 : выделяем ячейку B11 -вкладка Данные (Data)Проверка данных (Data Validation). В поле Тип данных (Allow) выбираем Список (List) , в поле Источник (Source) указываем ссылку на диапазон с именами торговых точек: =$A$5:$A$9
    • Теперь необходимо создать именованный диапазон, который в зависимости от выбранной в списке торговой точки сформирует диапазон данных для диаграммы. Переходим на вкладку Формулы (Formulas)Диспетчер имен (Name Manager)Создать (New) . В поле Имя (Name) пишем: _forchart , а в поле Диапазон (Refers to) следующую формулу:
      =СМЕЩ( $B$4:$K$4 ;ПОИСКПОЗ( $B$11 ; $A$5:$A$9 ;0);)
      =OFFSET($B$4:$K$4,MATCH($B$11,$A$5:$A$9,0),)
      функция СМЕЩ(ссылка; смещ_по_строкам; смещ_по_столбцам; [высота]; [ширина]) — OFFSET
      берет ссылку на указанные ячейки и смещает эту ссылку на указанное количество строк и столбцов. В качестве ссылки указываем заголовок с датами из таблицы выручки: $B$4:$K$4
      ПОИСКПОЗ (MATCH) — эта функция берет ячейку $B$11 и ищет её в диапазоне $A$5:$A$9 . Когда находит, то возвращает номер строки, в которой она находится в этом диапазоне. Т.е. для «К-р Октябрьский» это будет значение 1, для «ул.Ленина» — 2 и т.д.
      Это значит, что как только мы изменим значение в ячейке B11(а там у нас список торговых точек), то функция СМЕЩ сразу переопределит диапазон:
      =СМЕЩ( $B$4:$K$4 ;ПОИСКПОЗ( $B$11 ; $A$5:$A$9 ;0);) =>
      =СМЕЩ( $B$4:$K$4 ;ПОИСКПОЗ( «ул.Фурманова» ; $A$5:$A$9 ;0);) =>
      =СМЕЩ( $B$4:$K$4 ;5;) =>
      = $B$9:$K$9

    Остается только назначить этот диапазон созданной диаграмме: выделяем диаграмму -правый щелчок мыши —Исходные данные (Source data) или Выбрать данные (Select data)

    выделяем единственный ряд в поле Элементы легенды(ряды) (Legeng Entries (Series)) и нажимаем Изменить (Edit)

  • в поле Имя ряда (Series name) вписываем =Interactive!$B$11
  • в поле Значения (Series values) вписываем: =Interactive!_forchart

    совет: изначально в этом поле записана прямая ссылка: =Interactive!$B$5:$K$5 . Чтобы ничего не упустить надо просто заменить адреса ячеек на именованный диапазон, который создали ранее — _forchart: =Interactive! $B$5:$K$5 => =Interactive! _forchart
    восклицательный знак и возможные другие знаки надо оставить.

    Два раза нажимаем Ок. Все, наша диаграмма готова. Теперь можно выбирать название из выпадающего списка и диаграмма поменяет свои значения на продажи выбранной торговой точки.
    Скачать пример:

    Интерактивная диаграмма.xls (47,5 KiB, 1 958 скачиваний)

    Статья помогла? Поделись ссылкой с друзьями!

    Поиск по меткам

    Здравствуйте, спасибо за детальное пояснение построения данных таблиц!
    В данном материале рассматривалась таблица, где было 2 показателя:
    название магазина и выручка по периодам.
    У меня вопрос: как можно сделать такую диаграмму если есть такие показатели: название магазина, выручка по периодам, оборот по периодам, количество (шт.) по периодам.
    И возможно ли вообще это сделать с помощью такого инструмента?
    Спасибо!

    Анна, сложно что-то посоветовать, не видя данных и их расположения. Обратитесь в форум или вышлите файл мне на почту(контакты есть на сайте). Или выложите файл на сетевой обменник и приложите в комментариях ссылку.

  • Ссылка на основную публикацию
    Adblock
    detector