У Дэвида есть рабочий лист, который он использует для отслеживания продаж по компаниям за несколько месяцев. Названия компаний указаны в столбце A, а продажи до пятнадцати месяцев — в столбцах B: P. Дэвид хотел бы создать диаграмму, которую можно было бы динамически изменять, чтобы отображать продажи для отдельной компании из рабочего листа.

Есть несколько способов сделать это; В этой статье я рассмотрю три из них. В качестве примера предположим, что рабочий лист называется MyData, а первая строка содержит заголовки данных. Названия компаний находятся в диапазоне A2: A151, а данные о продажах для этих компаний находятся в диапазоне B2: P151.

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

Теперь выберите A1 в MyData и примените Автофильтр (Данные | Фильтр | Автофильтр). Вверху каждого столбца появляется небольшая стрелка раскрывающегося списка.

Щелкните стрелку раскрывающегося списка для столбца A и выберите компанию, которую хотите просмотреть на диаграмме. Excel перерисовывает диаграмму, чтобы включить только одну компанию.

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

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

  1. Создайте новый рабочий лист и назовите его что-нибудь вроде «ChartData».

  2. Скопируйте заголовки столбцов из листа MyData во вторую строку листа ChartData. (Другими словами, скопируйте MyData! A1: P1 в ChartData! A2: P2. При этом первая строка листа ChartData временно останется пустой.)

  3. Когда отображается рабочий лист MyData, выберите View | Панели инструментов | Формы.

Должна отобразиться панель инструментов форм.

  1. Используя панель инструментов Forms, нарисуйте элемент управления Combo Box где-нибудь на листе MyData.

  2. Отобразите диалоговое окно «Управление форматом» для вновь созданного поля со списком.

(Щелкните правой кнопкой мыши поле со списком и выберите «Управление форматом».)

  1. Используя элементы управления в диалоговом окне, укажите диапазон ввода как MyData! $ A $ 2: $ A $ 151, укажите ссылку на ячейку как ChartData! $ A $ 1 и укажите в раскрывающихся строках значение 25 (или любое другое число). (См. Рис. 1.)

  2. Щелкните OK, чтобы закрыть диалоговое окно. Теперь у вас есть работающее поле со списком, которое, когда вы используете его для выбора названия компании, поместит значение в ячейку A1 рабочего листа ChartData, которая указывает, что вы выбрали.

  3. Открыв рабочий лист ChartData, введите следующую формулу в ячейку A3:

  4. Скопируйте содержимое ячейки A3 в диапазон B3: P3. Строка 3 теперь содержит данные о компании, выбранной в поле со списком.

  5. В ячейку B1 введите следующую формулу. (Результат этой формулы будет действовать как заголовок для вашей динамической диаграммы.)

  6. Выберите заголовки столбцов и данные (B2: P3) и создайте диаграмму на основе этих данных. Установите заголовок диаграммы на некоторый замещающий текст; неважно, что это сейчас.

  7. В готовой диаграмме выберите заголовок диаграммы.

  8. На панели формул введите следующую формулу:

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (2377) относится к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:

link: / excelribbon-Automatically_Creating_Charts_for_Individual_Rows_in_a_Data_Table [Автоматическое создание диаграмм для отдельных строк в таблице данных].