Текст
                    ^изнес-решения
Сводные таблицы
в Microsoft® Excel

business solutions Pivot Table Data Crunching Bill “Mr. Excel” Jelen Michael Alexander que' 800 East 96th Street Indianapolis, Indiana 46240
^изнес-решения Сводные таблицы в Microsoft® Excel Билл Джелен, “Мистер Excel” Майкл Александер Москва • Санкт-Петербург • Киев 2007
ББК 32.973.26-018.2.75 Д40 УДК 681.3.07 Издательский дом “Вильямс” Главный редактор С.Н. Тригуб Зав. редакцией В.Р. Гинзбург Перевод с английского И. В. Чайки Под редакцией Я.Б. Чайки, И.В. Василенко По общим вопросам обращайтесь в Издательский дом “Вильямс” по адресу: info@wiUiamspublishing.com, http://www.williamspublishing.com 115419, Москва, а/я 783; 03150, Киев, а/я 152 Джелен, Билл, Александер, Майкл. Д40 Сводные таблицы в Microsoft Excel. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2007. — 320 с.: ил. — Парал. тит. англ. ISBN 978-5-8459-1180-3 (рус.) Эта книга поможет вам понять суть сводных таблиц и принципы их исполь- зования. Изучив первые две главы, вы научитесь создавать базовые сводные таблицы и сразу сможете повысить производительность работы — необходи- мые отчеты будут получаться в течение нескольких минут, а не часов. Освоив первые семь глав книги, вы сможете самостоятельно выводить комплексные отчеты на основе сводных таблиц, содержащие диаграммы и другие детальные сведения. А прочитав книгу до конца, вы научитесь строить динамическую систему вывода отчетов сводных таблиц. Книга предназначена для пользователей Excel с различным уровнем подго- товки. ББК 32.973.26-018.2.75 Все названия программных продуктов являются зарегистрированными торговыми марками соответствующих фирм. Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, будь то электронные или механиче- ские, включая фотокопирование и запись на магнитный носитель, если на это нет письменного разрешения издательства Que Corporation. Authorized translation from the English language edition published by Que Publishing, Copyright © 2006. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the publisher. Russian language edition is published by Williams Publishing House according to the Agreement with R&I Enterprises International, Copyright © 2007. ISBN 978-5-8459-1180-3 (рус.) © Издательский дом “Вильямс”, 2007 ISBN 0-7897-3435-4 (англ.) © Que Publishing, 2006
Оглавление Об авторах 15 Введение 17 Глава 1. Основы сводных таблиц 25 Глава 2. Создание базовой сводной таблицы 33 Глава 3. Настройка полей сводной таблицы 53 Глава 4. Форматирование отчета сводной таблицы 75 Глава 5. Изменение способа просмотра данных сводных таблиц 93 Глава 6. Выполнение расчетов в сводных таблицах 121 Глава 7. Создание и использование сводных диаграмм 149 Глава 8. Использование в сводных таблицах нескольких источников данных 169 Глава 9. Использование в сводных таблицах внешних источников данных 183 Глава 10. Кубы данных OLAP 201 Глава 11. Использование макросов для улучшения отчетов сводных таблиц 217 Глава 12. Использование VBA для создания сводных таблиц 233 Приложение. Трудности, связанные с управлением сводными таблицами 283 Предметный указатель 304
Содержание Об авторах 15 Посвящения 15 Благодарности 15 Ждем ваших отзывов! 16 Введение 17 Что вы узнаете из этой книги 17 Требуемые навыки 17 Жизнь до сводных таблиц 18 Изобретение сводной таблицы 20 Жизнь после появления сводных таблиц 22 Соглашения, принятые в этой книге 23 Глава 1. Основы сводных таблиц 25 Что такое сводные таблицы 25 Зачем использовать сводные таблицы 26 Область применения сводных таблиц 28 Структура сводной таблицы 28 Область данных 29 Область строк 29 Область столбцов 30 Область страниц 30 Негласная работа сводных таблиц 31 Ограничения отчетов сводных таблиц 32 Дальнейшие шаги 32 Глава 2. Создание базовой сводной таблицы 33 Подготовка данных для отчета сводной таблицы 33 Представление данных в табличной форме 34 Использование уникальных заголовков, занимающих только одну строку данных 34 Избегайте хранения данных в заголовках разделов 35 Избегайте повторения групп в виде столбцов 35 Исключайте пропуски и пустые ячейки в источнике данных 36 Применяйте к полям с разными типами данных соответствующее форматирование 36 Резюме по разработке источников данных 36 Очистка данных при анализе сводной таблицы 37
Содержание Создание стандартной сводной таблицы 39 Мастер сводных таблиц 39 Перетаскивание в отчет полей 42 Добавление в сводную таблицу полей 43 Перекомпоновка сводной таблицы 44 Группировка доходов по сегментам и моделям 45 Изменение вида указателя мыши при перетаскивании полей 49 Повторное отображение списка полей сводной таблицы 49 Восстановление панели инструментов сводной таблицы 49 Запуск мастера сводных таблиц 50 Поддержка изменений в источнике данных 50 Внесение изменений в существующий источник данных 50 Расширение диапазона источника данных в результате добавления новых строк и столбцов 51 Дальнейшие шаги 51 Глава 3. Настройка полей сводной таблицы 53 Необходимость в настройке 53 Диалоговое окно Вычисление поля сводной таблицы 54 Настройка имен полей 56 Использование в полях данных числовых форматов 56 Изменение итоговых расчетов 57 Подсчет данных при существовании всего одной пустой ячейки 58 Использование других операций 58 Добавление и удаление промежуточных итогов 60 Сокрытие промежуточных итогов при наличии множества полей строк 60 Добавление множества промежуточных итогов в одно поле 61 Параметры промежуточных итогов 62 Вывод ежегодных изменений 63 Вклад каждого торгового направления в итоговую сумму 64 Сезонные отчеты 66 Доходы по направлениям деятельности 69 Дальнейшие шаги 73 * Глава 4. Форматирование отчета сводной таблицы 75 Использование опции Автоформат 75 Применение собственных стилей 79 Настройка параметров таблицы 81 Общая сумма по столбцам 82 Общая сумма по строкам 83 Автоформат 83 Включать скрытые значения 83 Объединять ячейки заголовков 83
8 Содержание Сохранять форматирование 84 Повторять подписи на каждой странице печати 84 Флажок Помечать итоги * 85 Макет страницы 85 Для ошибок отображать 86 Для пустых ячеек отображать 87 Печать заголовков 87 Форматирование сводной таблицы 88 Дальнейшие шаги 91 Глава 5. Изменение способа просмотра данных сводных таблиц 93 Функции отображения и сокрытия элементов 93 Основы сокрытия элемента 93 Отображение всех элементов 95 Отображение или сокрытие большинства элементов 95 Сокрытие или отображение элементов без данных 96 Сокрытие или отображение элементов в поле страниц 97 Отображение или сокрытие элементов в поле данных 98 Сортировка элементов сводной таблицы 99 Сортировка элементов в диалоговом окне Дополнительные параметры поля сводной таблицы 100 Влияние изменений в макете на сортировку данных 102 Сортировка вручную 103 Сортировка с помощью кнопок на стандартной панели инструментов 105 Создание отчетов “ Первая десятка” 107 Группировка сводных таблиц 110 Группировка полей дат 110 Включение итогов по годам при группировке данных по месяцам 111 Группировка полей дат по неделям 113 Группировка двух полей дат в одном отчете 114 Отчет по срокам выполнения работ 114 Группировка числовых полей 116 Группировка текстовых полей 116 Группировка и разгруппировка 118 Дальнейшие шаги 118 Глава 6. Выполнение расчетов в сводных таблицах 121 Вычисляемые поля и вычисляемые элементы 121 Метод 1. Добавление вычисляемого поля в источник данных вручную 122 Метод 2. Использование формулы вне сводной таблицы для создания вычисляемого поля 123
Содержание 9 Метод 3. Непосредственная вставка вычисляемого поля в сводную таблицу 124 Создание вычисляемого поля 125 Прогнозирование итогов по следующему году 128 Создание вычисляемых элементов 133 Создание отчета 136 Преимущества и недостатки вычислений в сводных таблицах 140 Приоритет выполнения операторов 140 Ссылки на ячейки и именованные диапазоны 142 Функции рабочих листов 142 Константы 142 Ссылки на итоговые суммы 142 Специальные правила для вычисляемых полей 142 Специальные правила использования вычисляемых элементов 144 Управление и поддержка вычислений в сводных таблицах 145 Редактирование и удаление вычислений в сводных таблицах 145 Изменение порядка выполнения расчетов в вычисляемых полях 145 Документирование формул 146 Дальнейшие шаги 146 Глава 7. Создание и использование сводных диаграмм 149 Что такое сводная диаграмма 149 Создание сводных диаграмм 150 Преимущества и недостатки сводных диаграмм 153 Оптимизация макета сводной диаграммы 153 Точечная, пузырьковая и биржевая диаграммы: вход воспрещен 155 Ограничения на размер и расположение элементов 156 Непостоянство отдельных настроек 157 Создание динамической годовой диаграммы 158 Альтернативы сводных диаграмм 163 Зачем выносить сор из избы? 164 Ограничение на форматирование сводных диаграмм 165 Дальнейшие шаги 168 Глава 8. Использование в сводных таблицах нескольких источников данных 169 Работа с несколькими источниками данных 169 Использование нескольких диапазонов консолидации 171 Структура сводной таблицы с несколькими диапазонами консолидации 174 Поле Строка 175 Поле Столбец 176 Поле Значение 176 Поля страницы 176 Переопределение сводной таблицы 177
10 Содержание Консолидация и анализ восьми наборов данных 177 Создание сводной таблицы на основе уже существующей 180 Дальнейшие шаги 182 Глава 9. Использование в сводных таблицах внешних источников данных 183 Создание сводной таблицы с использованием внешних источников данных 183 Обхождение ограничения на управление данными в Excel 184 Программа MS Query 185 Анализ набора данных, содержащего более 83000 записей, с помощью сводной таблицы 186 Импорт и использование внешних данных без мастера сводных таблиц 190 Создание динамического отчета в сводной таблице 191 Создание автономной динамической системы вывода отчетов в сводных таблицах 191 Параметры данных сводных таблиц 198 Дальнейшие шаги 199 Глава 10. Кубы данных OLAP 201 Определение технологии OLAP 201 Преимущества кубов данных OLAP 201 Введение в хранилища данных и кубы данных OLAP 202 Рабочие данные 203 Долговременное хранение данных 203 Создание куба данных 204 Предварительно созданные представления кубов данных 205 Подключение к кубу данных OLAP 205 Подключение к локальному кубу данных 206 Подключение к кубу данных на сервере 208 Работа со сводной таблицей OLAP 209 Компоновка данных 209 Работа с кубом данных 209 Использование полей страниц 211 Сводные таблицы кубов OLAP и сводные таблицы данных Excel 213 OLAP обрабатывает больше данных и намного быстрее 213 Размерности или меры 213 Меры OLAP уже сгруппированы 213 Углубленный анализ данных OLAP 214 OLAP и вычисляемые поля 214 Другие настройки сводных таблиц 214 Другие возможности кубов данных OLAP 214 Просмотр куба данных OLAP в диалоговом режиме 215 Обратная запись в куб данных 215
Содержание 11 Настройка действий в кубе данных 215 Комбинирование кубов данных 215 Создание локального куба данных 215 Дальнейшие шаги 216 Глава 11. Использование макросов для улучшения отчетов сводных таблиц 217 Зачем использовать макросы в отчетах сводных таблиц 217 Запись макроса 218 Создание пользовательского интерфейса с помощью форм 219 Добавление в макрос функций 222 Синхронизация двух сводных таблиц с помощью одного раскрывающегося списка 226 Дальнейшие шаги 231 Глава 12. Использование VBA для создания сводных таблиц 233 Введение в VBA 233 Включение VBA в Excel 233 Редактор Visual Basic 233 Инструменты Visual Basic 234 Функция записи макросов 235 Понятие объектно-ориентированного кода 235 Профессиональные хитрости 236 Написание кода обработки диапазонов данных любых размеров 236 Использование переменных объектов 238 Версии программы 238 Создание сводной таблицы в VBA 238 Получение суммы вместо количества 240 Невозможность перемещения или изменения части отчета 242 Размер готовой сводной таблицы 242 Отчет об объеме продаж по моделям товаров 245 Исключение пустых ячеек из области данных 248 Управление порядком сортировки с помощью опции Автосортировка 248 Числовой формат по умолчанию 248 Исключение промежуточных сумм в нескольких полях строк 249 Исключение итоговых сумм для строк 249 Дополнительные проблемы 250 Новая рабочая книга для хранения отчета 250 Итоги в пустом рабочем листе книги Report 251 Визуальное представление 251 Последнее форматирование 252 Добавление промежуточных итогов 253 Общая картина 254
12 Содержание Трудности использования нескольких полей данных 256 Вычисляемые поля данных 258 Вычисляемые элементы 260 Подведение итогов в полях данных с помощью группировки 262 Группировка по неделям 264 Специальные методики управления сводными таблицами 266 Метод AutoShow и создание исполняемых представлений 267 Использование метода ShowDetails для фильтрации набора записей 269 Создание отчетов для каждого региона или модели товара 271 Ручная фильтрация нескольких элементов в сводной таблице 275 Ручное управление порядком сортировки 276 Функции сумм, срзнач, количество, мин, макс и другие 276 Процентные показатели 277 Процент от общего 278 Процентный рост по сравнению с предыдущим месяцем 278 Процент отдельного элемента 278 Промежуточные итоги 279 Специальные решения для Excel 97 280 Дальнейшие шаги 281 Приложение. Трудности, связанные с управлением сводными таблицами 283 Недопустимое имя поля сводной таблицы 283 Проблема 283 Решение 283 При обновлении сводной таблицы пропадают данные 284 Проблема 284 Решение 284 При попытке группировки поля выводится сообщение об ошибке 284 Проблема 284 Решение 284 Невозможно сгруппировать ежемесячные данные в квартальные 285 Проблема 285 Решение 286 Сводная таблица дважды выводит один и тот же элемент 287 Проблема 287 Решение 287 Удаленные элементы все еще отображаются в поле страниц 288 Проблема 288 Решение 289 Невозможно скопировать формулу, ссылающуюся на сводную таблицу 289 Проблема 289 Решение 289
Содержание 13 Сортировка элементов данных в уникальном порядке, а не по возрастанию или убыванию 289 Проблема 289 Решение 290 Как преобразовать сводную таблицу в строгие данные 290 Проблема 290 Решение 290 Простой способ заполнения пустых ячеек полями строк 291 Проблема 291 Решение 291 Простой способ заполнения пустых ячеек во множестве столбцов 293 Проблема 293 Решение 293 Как добавить в сводную таблицу ранговое числовое поле 294 Проблема 294 Решение 295 В сводную диаграмму не включены месяцы для определенных элементов 297 Проблема 297 Решение 297 Можно ли создать сводную диаграмму в том же рабочем листе, в котором расположена сводная таблица 299 Проблема 299 Решение 299 Как преобразовать отчет сводной таблицы в интерактивную Web-страницу 300 Проблема 300 Предметный указатель 304
Об авторах Билл Джелен — основатель главного Web-сайта, посвященного Excel, — MrExcel.com. Консультант по Excel, он написал VBA-решения для сотен клиентов англоязычного мира. На его Web-сайте ежегодно фиксируется более десяти миллионов обращений. Перед разработкой сайта MrExcel. com Билл провел двенадцать лет “на передовой” экономической жизни страны, занима- ясь финансовым анализом, маркетингом и бухгалтерским учетом в крупной компании с активами в 500 миллионов долларов. В его обязанности входила обработка огромного количества данных главного компьютера и представле- ние этих данных в форме простых и понятных для понимания отчетов. Изна- чально работая в Lotus 1-2-3, а затем и в Excel, Билл доводил до совершенства технологии обработки больших объемов данных и генерирования доступных для быстрого изучения отчетов. Билл Джелен — автор семи книг по Excel. Майкл Алексавдер — сертифицированный разработчик приложений Micro- soft (MCAD — Microsoft Certified Application Developer), имеет 13-летний опыт в сфере консультаций и разработок офисных приложений. Майкл начинал свою карьеру в качестве консультанта и разработчика в отделе связи Белого Дома, позже сделал успешную карьеру в области разработки приложений на VBA и VB, создании межплатформенного программного обеспечения и решений вывода отчетов в самых разных отраслях промышленности. В настоящее время Алек- сандер возглавляет группу аналитиков компании с финансовыми активами в 700 миллионов долларов. В свободное время он занимается поддержкой бес- платного обучающего Web-сайта www.datapigtechnologies.com, где при- ведены полезные советы по работе в Access и Excel. Посвящения Посвящается Джош и ЗикуДжелену Билл Джелен Посвящается Мэри, Итану и Эмме Майкл Александер Благодарности Выражаю благодарность своему коллеге Джерри О. Холлоуэй, выпускнику Университета Нотр-Дам, который предоставил материалы для главы, посвя- щенной использованию источников данных OLAP. Спасибо Пито Саласу, ко- торый создал Lotus Improv — первый настольный продукт с функционально- стью наподобие сводных таблиц. Огромное спасибо Дэну Бриклину, Бобу Фрэнкстону и Мичу Капору— пионерам в мире управления электронными таблицами. Выражаю благодарность Дэйву Гейнеру и всей команде Excel за то, что они довели концепцию сводных таблиц до современного уровня. Хуан Паб- ло Гонзалес написал великолепную рецензию к книге. Спасибо Мэри Эллен,
16 Об авторах Джошу и Зику Джелен за то, что помогли мне в написании последних трех книг. Моя сестра Барбара Джелен обеспечила прекрасную поддержку сайта МгЕх- cel. сот. Спасибо Джерри Колю из фирмы Leegin и всем, кто запрашивал отче- ты в Telxon, всему сообществу Web-сайта MrExcel. com и нашим клиентам из MrExcel Consulting — все они помогли в получении опыта по созданию сводных таблиц. Огромная благодарность Уильяму Брауну, Лоретте Йейтс, Сунь Ли Кью, Сету Керни и Барту Риду из издательства Que. Спасибо Лео ЛаПорте, Энди Уокеру, Амбер МакАртур, Клаудии Абате, Кате Дьяковой, Мэтту Харрису, Стиву Анталу, Майку Лазаззера, Дженни Келли, Дугу Робертсону, Грегори Пилсуорту, Бэзилу Коуарду, Лорейн Куирк, Аарену Перье, Хейден Минделл, Келли Коласан- ти, Малкольму Данлопу и всему персоналу справочной на TechTVCanada. Спаси- бо Уэнди Кертеш и Киту Кемперу за предоставленный опыт по созданию рекла- мы. Огромная благодарность Дэну и Трейси Гарретт за консультации и пересмотр основных концепций книги. Отдельное спасибо Майклу Александеру за то, что он согласился стать соавтором этой книги. Билл Джелен Особая благодарность Биллу Джелену за предоставление возможности на- писать эту книгу. Спасибо Роберту Зею и Чарльзу Рейду за техническую под- держку. Огромная благодарность Лоретте Йейтс и Сунь Ли Кью за обеспече- ние поддержки в процессе написания книги. Майкл Александер Ждем ваших отзывов! Вы, читатель этой книги, и есть главный ее критик. Мы ценим ваше мне- ние и хотим знать, что было сделано нами правильно, что можно было сделать лучше и что еще вы хотели бы увидеть изданным нами. Нам интересны ваши Илюбые замечания в наш адрес. Мы ждем ваших комментариев и надеемся на них. Вы можете прислать нам бумажное или электронное письмо либо просто посетить наш Web-сервер Поставить свои замечания там. Одним словом, любым удобным для вас спо- собом дайте нам знать, нравится ли вам эта книга, а также выскажите свое мнение о том, как сделать наши книги более интересными для вас. Отправляя письмо или сообщение, не забудьте указать название книги и ее ав- торов, а также свой обратный адрес. Мы внимательно ознакомимся с вашим мне- нием и обязательно учтем его при отборе и подготовке к изданию новых книг. Наши электронные адреса: E-mail: info@williamspublishing.com WWW: http: //www.williamspublishing.com Наши почтовые адреса: в России: 115419, Москва, а/я 783 в Украине: 03150, Киев, а/я 152
Введение Сводные таблицы — это одно из самых мощных средств Excel. Они появи- лись еще в 90-х как результат конкурентной борьбы за доминирование на рынке электронных таблиц таких компаний, как Microsoft и Lotus. В течение этой “гонки” (с середины 90-х) в программные продукты постоянно добавля- лись новые средства, но ни одно из них не может сравниться со сводными таблицами. С помощью сводных таблиц вы можете в считанные секунды преобразо- вать 65000 строк финансовых данных в краткий отчет. Если вы умеете пере- таскивать элементы мышью, то сможете создать и сводную таблицу. Помимо быстрого подведения итогов и расчетов данных, сводные таблицы позволяют изменять способ анализа данных “на лету” в результате перетаскивания полей из одной области отчета в другую. В Excel нет иных инструментов с такой гибкостью и такими аналитически- ми возможностями, которые могут предоставлять сводные таблицы. Что вы узнаете из этой книги Давно известно, что около 50% пользователей Excel на практике применя- ют только 20% функциональных возможностей этой программы. Большинст- во пользователей не интересуются потенциальными возможностями встроен- ных утилит Excel, самая мощная из которых — сводные таблицы. Несмотря на то что сводные таблицы являются краеугольным камнем Excel уже более 10 лет, они по-прежнему остаются наименее популярным инструментом пакета Mi- crosoft Office. Эта книга поможет вам понять суть сводных таблиц и принципы их использования. Прочитав первые две главы, вы сможете создать базовые сводные таблицы, повысить производительность своей работы и получать быстрые отчеты в те- чение нескольких минут, а не часов. После изучения первых семи глав книги, вы сможете самостоятельно вы- водить комплексные отчеты на основе сводных таблиц, содержащие диаграм- мы и другие детальные сведения. Дочитав до конца книги, вы научитесь соз- давать динамическую систему вывода отчетов сводных таблиц. Требуемые навыки Данная книга написана для различных пользователей Excel. Основная часть книги посвящена тому, как использовать сводные таблицы в пользова- тельском интерфейсе Excel. В последнюю главу включена информация о соз- дании сводных таблиц с помощью макроязыка VBA в программе Excel. Это означает, что любой пользователь, способный быстро схватывать основы
18 Введение управления данными (подготовка данных, их копирование, вставка, а также ввод простых формул), не должен испытывать затруднений с пониманием описанных в книге концепций. Жизнь до сводных таблиц Представьте, что сейчас 1992 год. Вы используете Lotus 1-2-3 или Excel 4. Пусть вам нужно обработать 40000 строк финансовых данных, как показано на рис. 1, и ваш начальник требует подготовить итоговый отчет о доходах по регионам и моделях в максимально сжатые сроки- А a c D E F | G H 1 J 1 RECKON MARKET STORF IN BALANCE DATE FISCAL PERIOD MODEL LINE OF BUSINESS REVENI'C Units Sud DAYS IN PER,OD 2 North Great Lakes 55061011 01.03.03 200205 4055T Parts $3 454 0 19,0 3 1 North Shenandoah Valley 62067017 jl.03.03 200205 25CDP Prints»-Sale $15 682 2 19,и 4 North ShrnanJoah Valley 321 19049 Jl.03.03 200205 2500C . Cooler Sale I $12 968 6 19,0 5 (North New England 20040И 01.03.03 200205 4055T Parts $2 789 H— о Ltd 19,0 6 jNorth New England 72074011 01.03.03 200205 4500C , Service Plan $32 605 23 19,0 Рис. 1.1992 год; работа финансового аналитика заключается в создании итогового отчета на основе набора данных из 40U00 строк В 1992 году это была сложнейшая задача. Ее решение требовало навыков одно- временно вундеркинда и супермена. Ниже описаны действия, выполняемые при решении данной задачи. 1. Из набора данных вам нужно извлечь список уникальных регионов. Для созда- ния подобного списка используйте команду Расширенный фильтр с установ- ленным флажком Только уникальные записи (рис. 2). Рис. 2. Даже сегодня команда Расширенный фильтр используется нечасто 2. Вам нужно образовать список уникальных моделей из исходного набора дан- ных Повторно используйте команду Расширенный фильтр с флажком Только уникальные записи для извлечения списка уникальных моделей. 3. Далее вам требуется представить список моделей так, чтобы он проходил через все столбцы. Используйте команду ПравкаФСпециальная вставка^Транспонировать,
Введение 19 чтоб» вставить названия моделей как заголовков. Теперь у вас имеется основа отчета, как показано на рис. 3. J К L M N 0 P Q R s т и V DAYS IM PERIOD 19,0 1 .. ... . M -- -- 19,0 ; 1 н : j ~ Г “ l: 1 19,0 1 ! F F i 1 f , I J _ 19,0 i i i 1 J 4055T 2500P 2500C 4500C 3002P 3002C 500IP } 5001C 4500P 19,0 Morth и L,_ □ . . Л Lrl i i H 1 J 19,0 south tr. 9Г f 1 19,0 — _ _ „ _ u f . h Рис. 3. После повторного использования команды Расширенный фильтр и применения ко- манды Правка^Специапьная вставка ^Транспонировать вы создадите основу финального отчета. Это довольно долгий метод решения задачи 4. Функцию бдсумм можно использовать для получения суммы столбцов на ос- нове только одного критерия. Поэтому вам придется отказаться от базовых Функций и вместо них использовать формулу массива. Перед вводом формулы массива добавьте над отчетом два поля, предназначенные для хранения об разца региона и образца модели. 5. В угловой ячейке отчета создайте формулу массива, указывающую, что реги- он - North, а модель - 4055Т. Если утверждение справедливо, то формула до- бавляет соответствующую строку из столбца Revenue. После ввода формулы не забудьте нажать комбинацию клавиш <CtrHShift4-Enter>, поскольку в против- ном случае формула корректно работать не будет. Эта формула показана в строке Формул на рис. 4. “r fr, k " fl * • ' ' 1 /J- ' - ' !> Lu , J - '} . 11,: Vl- V 6 • ’'7 IV , - ' • „•. << . ' -'< . - - ; ' .-ус : .. • . . X. ... jSr {=СУММ(ЕСЛИ $A$2 $A$41550=$N$2.ECnn($F$2:$F$41550=$N$3;$H$2 $H$41550;0),0))}. К Ж.. м uf P. L1A L ' Rl I. s X 1T_ Region Model 1 4055T 1 1 * 1 ± Г 4500: 3002P 3O02C 5001P i 5 14157167 4055T 250JP 2500C ! i I 1 North f-- outh West i 1-run -u T.^ -. -II. I. U. — ... -T 7 1 H ® I j 1 1 ~~ H H rtl Й 5 ! i III’ 8s i i i J ! i I'M И Рис. 4. Отчет с формулой массиве < Примечание • . 1 -М'./ Более подробную информацию о суммах, высчитываемых с использованием формул массивов и двух условий, можно найти на сайте http://ww. MrExcel. com/tip031. shtml. 6. Ваши представления о современных методах работы несколько устарели, если для запуска команды /Data Table 2 в Lotus L2-3 вы все еще используете клави- ши. На рис. 5 показана эквивалентная функция Excel. Команда Таблица под- становки меню Данные позволит вам настроить таблицу должным образом.
20 Введение /М ;,м Рис. 5. Команда Данные^Таблица подстановки дублирует формулу в левом верхнем углу таблицы, но заменяет две ссылки в формуле заголовками сверху и слева отданных отчета 7. И наконец, после использования двух расширенных фильтров и команды Спе- циальная вставка, написания самой сложной формулы в мире и использова- ния команды Данные^Таблица подстановки, вы получите результат, запраши- ваемые руководством, как показано на рис. 6. Если ры смогли выполнить все это за 10 минут, то премия вам точно гарантирована. Рис 6. В течение 10 минут "блуждания" в командах электронных таблиц вы получите требуемый отчет Теперь, если руководство потребует от вас добавить в аналитический отчет поле Market, вам придется вернуться назад и потратить еще 15 минут для создания полностью нового отчета. Изобретение сводной таблицы Концепция, которая вылилась в создание сводных таблиц, зародилась в кулуарах Lotus Development Corporation вместе с революционной программой по созданию электронных таблиц Lotus Improv. Программа Improv представ- лена в 1986 году разработчиком Пито Саласом (Pito Salas) из подразделения Advanced Technology Group корпорации Lotus. При создании электронных таблиц часто используются шаблоны данных. Пито сделал вывод, что если создать инструмент, который позволит распознать шаблоны данных, то на его основе можно просто разрабатывать совершенно новые модели данных. Кор- порация Lotus использовала эту концепцию и принялась за создание процес- соров электронных таблиц следующего поколения.
Введение 21 В 1987 году корпорация Lotus продемонстрировала свою новую программу некоторым компаниям. В 1988 году Стив Джобс (Steve Jobs) увидел про- грамму и немедленно захотел адаптировать ее под свою новую платформу NeXT. Программа, получившая название Lotus Improv, в конечном счете, бы- ла разработана для платформы NeXT в 1991 году. Ее версия для Windows была реализована в 1993 году. Пито Салас, разработчик концепции свод- ных таблиц, не может отказаться от разра- ботки новых программных средств (его Web-сайт: http: //www. salas. com) Основная концепция Improv заключалась в том, что данные, их визуализа- ция и формулы должны представляться в виде отдельных логических объектов и интерпретироваться как различные элементы. Первое время в процессорах электронных таблиц наборам данных присваивались имена, которые можно было группировать по категориям. Эта возможность именования и группи- ровки подготовила почву для создания более мощного инструмента Improv — реконфигурации данных. С помощью программы Improv пользователь мог определять и хранить набор категорий, а затем менять их представление в ре- зультате перетаскивания имен категорий с помощью мыши. Пользователь мог также выводить итоговые значения и создавать групповые отчеты. В конечном счете, корпорация Microsoft заимствовала эту концепцию управления сводными таблицами и реализовала ее в Excel 5. Несколькими го- дами позже в программе Excel 97 корпорация Microsoft предложила пользова- телям усовершенствованный мастер сводных таблиц и усовершенствованные
22 Введение функциональные возможности сводных таблиц, такие как функция добавле- ния вычисляемых полей. В Excel 97 также впервые был представлен кэш свод- ных таблиц, который фундаментальным образом изменил метод создания и управления сводными таблицами. В Excel 2000 корпорация Microsoft добавила в программу сводные диаграммы, предоставив пользователям возможность графического представления сводных таблиц. После выхода Excel 2000 изме- нения, которые вносились в сводные таблицы, можно рассматривать как “косметические”. Л Жизнь после появления сводных таблиц В вашем распоряжении 40000 строк финансовых данных. Ваше руководство тре- бует подготовить итоговый отчет о доходах по категориям Region и Model. К сча- стью, теперь вы можете воспользоваться сводными таблицами. Ниже следует описание операции, выполняемых для создания сводной таблицы. 1. Выделите в наборе данных отдельную ячейку. В меню Данные выберите коман- ду Сводная таблица. Щелкните на кнопке Готово. Вы получите обычную свод- ную таблицу, как показано на рис. 7. Рис 7. Щелкнув три раза, вы получаете отчет 2. Из списка полей сводной таблицы перетащите элемент Region в область Пере- тащите сюда поля строк Элемент Model перетащите в область Перетащите сю- да поля столбцов. Перетащите элемент Revenue в область Перетащите сюда элементы данных. Таким образом, щелкнув шесть раз, вы получите конечный отчет, как показано на рис. 8.
Введение 23 И1L..« A'..AA...-Ji <! L ' ,b4 о o rn n G) X c. к a 1. J, Пврти*лте сюда поля сгони-, 2 3 Суммч no полю PE^ENUE JJMODEI * 4 REGION 2500C 2500P 3902C -3002P 4065T 45C0C 4500P 5001C 5001P Общий итог I JS !Nnrth 6 } South 7^Wuct 2589Э61& 36711470 23976601 20621317 26590786;106393633 4157167 64552173 6707258 6443348 13653319 28153264 32652417 113242781 4778067 76674818 '562089 70159U3 13029501 19594197 22529175 65359020 3841454 46967756 1243362 7619672 25444675 276992617 319820310 216582112 | JU Общий итог 06501689 btw68778 81772378 “J4995434 12776608 188174747 17518709' 21079121’ 52127495 8133950391 Рис, 8, Перетащите в отчет три заголовка, и программа Excel выполнит все необходимее расчеты автоматически < При желании вы можете создать отчет, показанный на рис. 8, потратив на это ров- но 10 секунд. Это большой успех. В реальности, создание отчета занимает около 50 секунд. Если же не использовать сводные таблицы, то время* потраченное на создание того же отчета, займет примерно в 12 раз больше времени. В дальнейшем, когда руководство потребует добавить в отчет категорию мадкеь, потребуется лишь несколько секунд для перетаскивания Ноля Market из списка полей в сам отчет, как показано на рис. 9. □ A C D j E f 1 H I J К тг JJ t 1 • Я: — r -*•*—*-—T t 3 jCywMa no прлю REVENUE mooei < 4 * MARKET * 2500C 2500P : Ю02С 3 Ю02Р 4 I055T 4500C :4500P 5001C 5001P Общий и1 5 North Great Lsker 1929517 3269643 2864393 ’3963620 505943 9955238 516729 1327536 360019 369920 6| New England 6011684 3356078 J065267 13080189 466559 7744218 1136300 711092 1769837 3734К New York Nonh 3932881 4828599 3584,Ъ4 14770736 W21718 ’05’7.00 377719 624445 1776112 4149Э New York South 1641970 1173574 2991008 12321868 312315 6587253 2706905 409673 1338327 294821: Oh о 2381299 3960185' 4130289 ^035110 535677' 11M75995' 2126206 710365 .348502 42703J Sher.andoun Halley 4244’70 2329461, 6761719 22991629 94j27. 12532535 1433678 1705928. 32243*» 56233* Bl South Ca.ohna 5751497 1703777 3193846 12230482 3656qj 6059734 409519 3543U7 1476045 32744F 12 'North Итог 25893S1H 20621317: 26690786:106393633; 4157167 64532173 8707258 6443346 13653319 2769920 13 'South Honda 3783617 4823314 4761551 18810662 423298 1465039 1378033 47362^ Mg Gulf Coast 5830888 2685703 491596b 17030692 585060 9997150 1071708 1086584 1955434 45159' Illinois 2989768 3562893 4473116 16043130 551270 953U083 1691396 968999 2290764 421011 16’ Indiana 361Ы587 4958038 403'526 11570514 ’22557 13404905 509271 916869 1313087 41043* Я Kentucky •'072430 3682451 3339436 11685668 1108919 9926609 388990 376749 1002473 373630 18 North Carolina 1763158 2311733 4134523' 13719904 543294 6083844 783871 1090512- 1651515 340822 191 Tennessee 6323837, 3605028 292Л257 10414153' 366609 7802248 6 44914 621099' 977236 33564: 20 • Texas 4531085 284409- .076Л42 13968156 488UUJ 11063920 1006898 577058 788104 39143* 21South Hroi 36711470 28153264 32652417 113242781 4778067 76674818 7062089 7(15903 13029501 319620- 22; West Calrfomu 402П385 3570593 5135351 12494689' 345939 11582176 5346 3935376 19486077 61636/ 11 C»ntral 3506717 341401Г 3229599 10669224* VJTQTyi ’076062 6W777 464767 923698 305030 24j Colorado 311Э5Э1 3124724 2743Г57 10523054 234131, 5074260 4391 562917' 836776 262173 те । North Wed 3179141 23073% 41Э6Т12 9708920 322635 6292914 116550 >045684 1313892 28923 X Southwest 4522147 3465741 2822512 962П54 531260 6211995 131180 635042 1374236 293252 27' Topeka 5624620 3211734 4402544 12141979 1043281 10730349 3311 If 976066 1509196 39975S 28; И/ect Итог 23976601. 19594197 22529175 65359020 3841454 46967756 1249362 7619872 25444675 216582- 29 'Общий итог 86681689 68368778 81772378 231995434 F1 ’’Г 12776688 188174747 17518709 21079121. 52127495 813Э95Т Рис. 9. Создание нового отчета с полем Market заключается в перетаскивании в отчет поля Соглашения, принятые в этой книге Данная книга содержит следующие элементы. Примечание В примечаниях предоставлена дополнительная информация, которую полезно знать. Совет В советах предлагаются различные хитрости и экономящие время технологии, при использовании которых вы можете повысить эффективность своей работы.
24 Введение Предупреждение В предупреждениях описываются потенциальные подводные камни, с которыми вы можете столкнуться. Уделяйте этим рекомендациям пристальное внимание, поскольку они могут предотвратить появление проблем, на решение которых вы можете потратить часы, а то и дни. В практических примерах демонстрируется использование в реальных ус- ловиях концепций и методов, описанных в главе.
Основы сводных таблиц Что такое сводные таблицы Представьте себе, что Excel — это большой набор инструментов. Свод- ная таблица, по сути, представляет собой отдельный инструмент в набо- ре функциональных средств Excel. Если сводную таблицу в действи- тельности представить физическим инструментом, который можно взять в руки, то скорее всего это был бы калейдоскоп. Если посмотреть на объект через калейдоскоп, то можно увидеть его в ином аспекте. При повороте калей- доскопа наблюдается перемещение деталей объекта. Сам объект при этом никак не изменяется и не под- ключается к калейдоскопу. Калейдо- скоп — это просто инструмент, ис- пользуемый для выбора необычной перспективы рассмотрения объекта. Теперь представьте себе свод- ную таблицу в виде калейдоскопа, нацеленного на набор исходных данных. Если вы посмотрите на на- бор данных через сводную таблицу, то получите возможность рассмот- реть детальные сведения о них, ко- торые до этого оставались незаме- ченными. В дальнейшем вы можете поворачивать сводную таблицу, чтобы внимательно рассмотреть данные в са- мых различных ракурсах. 1 В ЭТОЙ ГЛАВЕ Что такое сводные таблицы..25 Зачем использовать сводные таблицы....................26 Область применения сводных таблиц.....................28 Структура сводной таблицы..28 Негласная работа сводных таблиц.....................31 Ограничения отчетов сводных таблиц.............32 Дальнейшие шаги............32
26 Глава 1 Сам набор данных не изменяется и не подключается к сводной таблице. Сводная таблица — это всего лишь средство, используемое для создания уни- кального представления данных. Сводная таблица позволяет добиться интерактивности управления набо- ром данных. Мы называем эту возможность отчетом сводной таблицы. С по- мощью отчета сводной таблицы вы можете легко, и быстро распределить дан- ные по категориям, подвести итоги по большому объему данных, представив их в доступном виде, а также выполнить большое количество расчетов. Но ре- альная мощь отчетов сводных таблиц заключается в возможности перетаски- вания полей в отчете, динамическом изменении ракурса, и пересчете итогов согласно текущему виду. Зачем использовать сводные таблицы Работу в Excel можно разбить на два этапа: вычисления и форматирование данных. Несмотря на немалое количество встроенных инструментов и фор- мул, которые способствуют выполнению обеих задач, сводные таблицы зачас- тую предоставляют самый быстрый и эффективный способ расчета и форма- тирования данных. Давайте рассмотрим простой сценарий, демонстрирующий этот факт. Вы предоставили начальнику некую информацию о доходах компании за месяц, и он, как и ожидалось, затребовал более подробный отчет. Он добавил в рабочий лист примечание, после чего отправил его вам по электронной поч- те. Как показано на рис. 1.1, он попросил добавить строку, содержащую све- дения о предоставленных за месяц кредитах. Рис. 1.1. Как и ожидалось, начальник изменил требования к отчету после полу- чения первого его варианта Чтобы выполнить это требование, вы запрашиваете конечные данные у своей системы, в которой сохранена вся необходимая информация. Как обычно, данные введены в таком формате, что понять в них хоть что-то весьма проблематично даже вам. Вместо данных за месяц система предос- тавила подробную финансовую информацию всего за один день, как пока- зано на рис. 1.2. Вам нужно подсчитать общую сумму кредитов за месяц и представить ре- зультаты в формате исходного отчета. Окончательный фрагмент данных дол- жен выглядеть примерно так, как показано на рис. 1.3.
Основы сводных таблиц 27 А В С 1 Т Номер документа D32564 Дата на балансе 04.10.2003 Сумма кредита (30,293 30) 3 D34712 03 01.2004 (28.818.70; 4 D80342 25 05 2003 (28.715.94) 5 D86213 05.02.2004 (27,309.30) 6 D39331 08.07 2003 (26,878 68’ 7^. D59951 24 05.2004 25,849.00) 8 \ D56134 009372 04.11.2004 (25,675.80) 9 13.06.2003 (25,162 80)' Рис. 1.2. Система возвращает данные за день, а не за месяц Рис. 1.3. Ваша цель состоит в получении итоговых сведений за месяц и транспонировании их в горизонтальный вид Если бы вы создавали фрагмент данных вручную, вам потребовалось бы 25 раз щелкнуть кнопкой мыши и три раза нажать разные клавиши. Изменение формата данных: шесть щелчков мышью. Создание промежуточных сумм: четыре щелчка. Извлечение промежуточных сумм: десять щелчков мышью, три нажа- тия клавиш. Изменение ориентации с вертикальной на горизонтальную: пять щелч- ков мышью. Получение необходимого фрагмента данных с помощью сводной таблицы требует всего лишь 10 щелчков мышью. Создание отчета сводной таблицы: пять щелчков мышью. Группирование дат в месяцы: четыре щелчка. Изменение ориентации с вертикальной на горизонтальную: один щелчок. Оба метода приводят к возвращению одинаковых фрагментов данных, ко- торые можно вставить в итоговый отчет, как показано на рис. 1.4. А В С D Е F 6 Н 1 Январь Февраль Март Аярель Май Июнь Июль 2 Продажи 66 427.076 68 619,453 69 444.496 67 669,316 69 572,075 67 196,220'66 884,771 3 Кредиты -3 695,319 -3 698,53/ -3 833.977. -3 624,967 -3 800,526 -3 603,367, -3 746 .754 4 Уточненные 5 продажи 62 731,757 64 920,916 65 610,519 64 044.349 65 771,549 63 592,853 63 138,017 Рис. 1.4. Добавив сведения о кредитах в отчет, вы можете подсчитать чистый доход Использование сводной таблицы для выполнения этой задачи позволяет уменьшить количество действий более чем наполовину и снижает возмож- ность появления ошибок вследствие “человеческого фактора”. Кроме того, сводные таблицы позволяют легко и быстро формировать данные.
28 Глава 1 В этом примере продемонстрировано, что сводные таблицы используются не только для расчетов и подведения итогов на основе исходного набора данных. Сводные таблицы часто помогают выполнять задачи быстрее и эффективнее, чем при использовании стандартных функций и формул. Например, вы можете ис- пользовать сводные таблицы для быстрого транспонирования данных из горизон- тального представления в вертикальное. Вы также можете применять их для быст- рого поиска и подсчета в наборе данных уникальных значении. Кроме того, вы можете применять сводные таблицы для подготовки данных для диаграмм. Таким образом, сводные таблицы могут повысить эффективность работы и снизить вероятность появления ошибок при выполнении задач с использовани- ем Excel. Сводные таблицы не являются панацеей от всех проблем, но знание базовых принципов их использования и функциональных возможностей помо- жет вывести анализ данных на совершенно новый производительный уровень. Область применения сводных таблиц Большие наборы данных, импровизированные запросы и многоуровневая сис- тема вывода отчетов полностью нивелируют высокую производительность вашей компьютерной системы при ручной обработке информации. “Рукопашный бой” с этими многочисленными сведениями не только отнимает время, но и способству- ет появлению бесчисленного количества ошибок в анализах. Так как же узнать, когда нужно прибегнуть к использованию сводных таблиц? Сводные таблицы имеет смысл использовать в следующих ситуациях. У вас имеется большой объем финансовых данных, которые анализи- ровать становится все сложнее. Требуется найти взаимосвязи и определить группы в наборе данных. Необходимо получить список уникальных значений для одного поля данных. Требуется определить тенденции развития данных, используя различ- ные временные периоды. Вы обрабатываете повторяющиеся запросы для анализа изменяемых данных. Вам нужно создать промежуточные суммы, в которые будут часто включаться новые добавления. Вам требуется создать формат данных, легко преобразуемый в диа- грамму. Структура сводной таблицы Поскольку именно структура сводных таблиц обеспечивает их гибкость и, естественно, функциональность, вам будет сложно понимать суть сводных таблиц без понимания ее основных компонентов.
Основы сводных таблиц 29 Сводная таблица состоит из четырех областей. Данные, помещаемые в эти области, определяют как функциональную пригодность, так и внешний вид сводной таблицы. В следующей главе мы детально рассмотрим процесс созда- ния сводных таблиц, а сейчас остановимся на подробном описании всех че- тырех областей и их функциях. Область данных Область данных показана на рис. 1.5. Это большая прямоугольная область внизу и справа от заголовков. В данном примере область данных содержит сумму поля Revenue. А В С J J?.J Е ... F 1 [REGION . ; (Все) V I ' I ’ i ! 1 ! .. .. 2 I г i • 3 Юумма по попю REVENUE MARKET v 4 MODEL vi California Central Colorado Florida Great Lakes 5 2500С $4 020 385.00 $3 506 f 17,00 $3113 691 ДО $3783617.00 $1929517,00 6 2500Р $3 570 593.00 $3414 CIO,00 $3124 724 ДО $4 823 314 ДО $3269 643.00 7 3002С $5 195 351.00 $3229599.00 $2 743 057.00 $4 761 551 ДО $2 864 393.00 б 3002F $12 434 589 J00 $10 860 224 ДО $10 523 354 ДО $18810662.00 $13 963 62000 л 4055Т $1 345 939.00 $368 968JOO $234 431ДО $423298.00 $бДО943ДО 10 45Э0С $11 582 176.00 $7 076 062 ДО $5 074 260.00 $8 866 069ДО $9 955 238.00 11 4500Р 12j5001C^ $5 346 ДО $3935 376ДО $660777.00 $464 767 ДО $4 391ДО $562917ДО $1 465 039 ДО $1 378 033.00 $516 729 ДО $1327536ДО Рис. 1.5. Центральной частью сводной таблицы является область данных (выделена серым цветом). Эта область, как правило, включает итоговые сведения по одному или нескольким числовым полям Область данных — это область, в которой производятся расчеты. Эта об- ласть должна содержать хотя бы одно поле и одно вычисление в этом поле. Поля данных помещаются в эту область для проведения расчетов. Полем дан- ных может быть Сумма по полю Revenue, Сумма по полю Unit Sold или Средняя стоимость. В области данных может находиться много полей. Вы можете включить в нее поля Общее количество, Суммарный доход и Средняя стоимость. Вы также можете поместить в область данных одно и то же поле дважды, но с различными вычислениями. Директор по маркетингу может потребовать вста- вить поля Минимальная стоимость,Средняя стоимость и Максимальная стоимость. Область строк Область строк показана на рис. 1.6. Она состоит из заголовков в левой час- ти сводной таблицы. При вставке поля в область строк в левой части сводной таблицы будут отобра- жены уникальные значения этого поля. Как правило, область строк содержит, по крайней мере, одно поле, хотя может вообще не содержать полей. В качестве при- мера сводной таблицы без полей строк можно привести предыдущий пример из этой главы, в котором требовалось создать однострочный отчет по кредитам.
30 Глава 1 1 IILIIU "" * 11 11 11 А 8 1,111 , л 1 Region (Все) ▼ _ . r u w (L. 2 I 3 Сумма по полю REVENUE MARKET 5 4 MODEL ▼ California Central Colorado Florida 5 "5П0С $4 020 385.00 $3 506 717,011 $3 113 591 ДО $3 783 617,06 6 2500Р $3 570 593 00 $3 414 010,0П $3 124 724,00 $4 823314.00 L 3002С $5 195 351,00 $3 229 599.00 $2 743 057.00 $4 761 551,00 8 3002Р $12 494 689,00 $10 869 224,00 $10 523 054 ДО $18 Ь10 662.00 9 4055Т $1 345 039,00 $358 968,00 $234 431,00 $423 298,00 10 4500С $11 582 176.00 $7 076 062,00 $5 074 260ДО $8 866 059.00 11 4600Р $5 346,00 $660 777,00 $4 391,00 $1 465 039.00 12?5001С $3 935 376,00 $464 767,00' $562 917,00 $1 378 033,00 Рис. 1.6. Заголовки в левой части сводной таблицы составляют область строк сводной таблицы (выделена серым цветом) Типы вставляемых полей данных будут группироваться и распределяться по категориям, например, Товар, Название и Место хранения. Область столбцов Область столбцов состоит из заголовков столбцов сводной таблицы. Свод- ная таблица на рис. 1.7 содержит в области столбцов поле Market. ” А В c F i Region (Все) 2 1 3 Сумма по полю REVENUE MARKET T 4 Imodei „ ▼ California Central Colorado ' rondh 5Д2500С 612500P $4 020 385,00 $3 570 593,00 $3 506 717,00 $3 414 010,00 $3113 591,00 $3 124 724,00 $3 783 617,00 $4 823 314 00 7 I3002C $5 195 351.00 $3 229 599,00 $2*43 057.00 $4 761 551.00 >18 810 662,00 8 !3002P $12 494 689,00 $10 869 224,00 $10 523 054,00 9 I4055T $1 345 939,00 $358 968,00 $234 431,00 $423 296,00 10 ,4503C $11 582 176,00 $7 076 062,00 $5 074 260,00 $8 866 059,00 11J4500P $5 346,G0 $660 777,00 54 391,00 $1 465 039,00 12 J5001C $3 935 376,00 $464 767,00 $562 917,00 $1 378 033,00 Рис. 1.7. Область столбцов (выделена серым цветом) состоит из заголовков столб- цов. В данном примере она содержит уникальный список месяцев в наборе данных При помещении полей в область столбцов вы сможете отследить тенден- ции, представленные в столбцах. Область столбцов идеальна для выявления тенденций для длительных периодов времени. Поместив в нее поля данных разных типов, вы сможете анализировать тенденции или отображать рядом друг с другом, к примеру, поля Месяц, Период и Год. Область страниц Область страниц является не обязательной и находится в верхней части сводной таблицы. На рис. 1.8 область страниц содержит поле Region, а свод- ная таблица настроена на вывод данных для всех регионов. Помещение полей в область страниц позволяет фильтровать элементы данных в полях. Область страниц не обязательная и пригодиться вам в случае динамической фильтрации выводимых результатов. Типы данных, помещае- мые в эту область, например, в полях Region, Line of Business и Em- ployees, требуют внимательного изучения.
Основы сводных таблиц 31 в П С D E 1 PEGJON Все) i 2 1 > з Сумма по полю REVENUE MARKET ж 4 ;MODEL * California Central Colorado Florida 5 2500С $4 020 385.00 $3 506717,00 $3 113 591,00 $3 783 617,00 6 2500Р $3 570 593,00 $3 414 310,00 $3 124 724,00 $4 823 314,00 7 3002С $5 195 351,00 $3 229 599,03 $2 743 057,00 $4 761 551 00 8 3002Р $12 494 689,00 $10 869 224,09 $10 523 054,00 $18 810 662,00 9 4055Т $1 345 939,00 $358 988,00 1234 431,00 $423 298,00 10 4500С $11 582 176,00 $7 076 062,00 $5 074 260,00 $8 866 059,00 И 450ПР $5 346,00 $660 777,00 $4 391,00 $1 465 039,00 12 5001С $3 935 376,00 $464 767,00; $562 917,00 $1 378 033,00 Рис. 1.8. Поля страниц (выделены серым цветом) представляют собой прекрасное сред- ство быстрой фильтрации данных отчета. Раскрывающийся список Region в ячейке В1 позволяет распечатать отчет, представляющий сведения для отдельных регионов Негласная работа сводных таблиц Как вы можете догадаться, что все описанные функциональные возможно- сти сводных таблиц далеко не бесплатны. Важно понимать, что сводные таб- лицы занимают много места на жестком диске и в оперативной памяти. Рас- смотрим, например, что происходит при создании сводной таблицы. При построении отчета сводной таблицы программа Excel создает моменталь- ный снимок исходного набора данных и сохраняет его в сводной таблице. Сводная таблица представляет собой всего лишь специальную запоминающую подсистему, в которой данные из источника дублируются для получения к ним быстрого дос- тупа. Несмотря на то что кэш сводной таблицы не является физическим объектом, который можно наглядно изучить, вы можете представить его себе в виде контей- нера, в котором хранится текущее состояние источника данных. Каждый отчет сводной таблицы, который вы создаете на основе отдельного источника данных, требует применения собственного кэша, что означает вы- деление дополнительной оперативной памяти и файлового пространства. Объемы необходимой оперативной памяти и файлового пространства зависят от размера текущего источника данных, который в результате дублирования помещается в кэш. В отчет сводной таблицы извлекаются данные исключительно из кэша сводной таблицы. Это означает, что отчет сводной таблицы и источник дан- ных не связаны. Предупреждение Любые изменения, внесенные в источник данных, будут игнорироваться отчетом сводной таблицы до тех пор, пока вы не создадите другое моментальное состоя- ние источника данных или не "обновите" кэш сводной таблицы. Обновление вы- полняется просто: используйте кнопку с изображением красного восклицатель- ного знака на панели инструментов Сводные таблицы. Преимущество работы с кэшем сводной таблицы, а не с текущим источни- ' ком данных, заключается в оптимизации информации. Любые изменения, вне-
32 Глава 1 сенные в отчет сводной таблицы (например, перекомпоновка полей, добавление новых полей или сокрытие элементов), выполняются быстро и точно. Ограничения отчетов сводных таблиц Отчеты сводных таблиц имеют ограничения, о которых вам следует знать. Некоторые из этих ограничений зависят от доступной оперативной памяти, а другие остаются неизменными. Количество полей строк, которое вы можете поместить в сводную таб- лицу, ограничено только доступной оперативной памятью. Начиная с Excel 2003, количество уникальных элементов в поле строк ограничено значением 32500. Предыдущие версии Excel имеют ограни- чение в 8000 уникальных элементов в поле строк. Вы можете поместить в сводную таблицу не более 256 полей столбцов (не учитывая ограничения на размер свободной оперативной памяти). Начиная с Excel 2003, количество уникальных элементов в поле столб- цов ограничено числом 32500. В предыдущих версиях Excel ограниче- ние по полю столбцов составляло 8000 уникальных элементов. Вы можете поместить в сводную таблицу не более 256 полей страниц (не учитывая ограничения на размер свободной оперативной памяти). Начиная с Excel 2003, количество уникальных элементов в поле стра- ниц ограничено числом 32500. В предыдущих версиях Excel ограниче- ние по полю страниц составляло 8000 уникальных элементов. В сводную таблицу можно поместить не более 256 полей данных. Количество вычисляемых элементов, которое можно использовать в сводной таблице, ограничено только доступной оперативной памятью. Количество отчетов сводных таблиц в электронной таблице ограниче- но только доступной оперативной памятью Дальнейшие шаги В следующей главе мы рассмотрим, как подготавливать данные для ис- пользования в сводной таблице, а также создадим пример отчета сводной таб- лицы с помощью мастера сводных таблиц.
Создание базовой сводной таблицы 2 Подготовка данных для отчета сводной таблицы При съемке семейного портрета фотографу требуется время на на- стройку освещения, подбора естест- венных поз и чтобы заставить всех за- улыбаться. Правильно проведенная подготовка гарантирует эффектив- ность фотографирования — создание портрета дружной и счастливой семьи. При создании отчета сводной таб- лицы вы являетесь своего рода фото- графом, получающим мгновенное со- стояние набора данных. Вам потребу- ется время на то, чтобы сделать отчет сводной таблицы эффективным и со- ответствующим поставленной задаче. Одно из преимуществ работы с электронными таблицами состоит в том, что вы можете компоновать дан- ные по своему усмотрению. Действи- тельно, структура отчета во многом зависит от поставленной задачи. Од- нако многие структуры данных, ис- пользуемые в презентациях, не годят- ся для использования в виде источни- ков данных в сводных таблицах. Как вы узнаете в следующем раз- деле, к сводным таблицам выдвигает- ся только одно строгое правило в от- ношении источника данных. Источ- ник данных должен иметь заголовки столбцов, т.е. метки в первой строке В ЭТОЙ ГЛАВЕ Подготовка данных для отчета сводной таблицы...........33 Создание стандартной сводной таблицы...................39 Поддержка изменений в источнике данных........50 Дальнейшие шаги...........51
34 Глава 2 данных, описывающие информацию в каждом столбце. В противном случае вы не сможете создать отчет сводной таблицы. То, что вам удалось создать отчет сводной таблицы, не означает, что он бу- дет эффективно работать. Проблемы могут возникнуть по причине плохой подготовки данных и неаккуратного группирования или сортировки инфор- мации. Давайте рассмотрим, что нужно сделать, чтобы получить эффективный от- чет сводной таблицы. Представление данных в табличной форме Идеальным форматом источника данных в сводной таблице является таб- личное представление информации. В табличном представлении нет пустых строк и столбцов. Каждый столбец имеет заголовок. Каждое поле имеет зна- чение в каждой строке. Столбцы не содержат повторяющихся групп данных. На рис. 2.1 показан пример данных, правильно структурированных для ис- пользования в сводной таблице. В каждом столбце имеются заголовки. Даже несмотря на то, что значения в ячейках В2 : В6 представляют одну и ту же мо- дель, номер модели отображается в каждой ячейке. Данные для месяцев орга- низованы в виде столбцов, а не строк. Рис. 2.1. Правильно структурированные данные для использования в качестве источника сводной таблицы Табличное представление характерно всем базам данных. Оно предназна- чено для хранения и поддержки больших объемов данных в хорошо структу- рированном и масштабируемом формате. Использование уникальных заголовков, занимающих только одну строку данных Каждый столбец должен иметь уникальный заголовок в верхней строке. В за- висимости от требований руководства, это условие может вызывать определен-
Создание базовой сводной таблицы 35 ные трудности. Ваш начальник может потребовать, чтобы заголовок Валовой доход был разделен так, чтобы слово “Валовой” располагалось в одной строке, а слово “доход” — в другой. Чтобы решить эту проблему, введите заголовок в строку 1, высота которой в два раза больше, чем высота обычной строки. Сначала введите слово “Валовой”, а затем перед вводом слова “доход” нажмите <Alt+Enter>. В ре- зультате вы получите одну ячейку, содержащую две строки данных. Избегайте хранения данных в заголовках разделов Взгляните на данные, показанные на рис. 2.2. В этой таблице выведен от- чет о ежемесячных продажах компании каждой модели товара в северном ре- гионе. Поскольку данные в строках с 2 по 24 относятся к северному региону, автор рабочего листа поместил слово Север в отдельную ячейку В1. Это довольно эф- фективный способ представления данных, но он не подходит для использования в качестве источника данных сводной таблицы. Существуют и другие проблемы, связанные с пред- ставлением данных, показанных на рис. 2.2. Все данные в строках с 2 по 6 применены к модели 2500Р, т.е. это значение введено в ячейку А2, затем отформатировано по вертикали и скомбинировано с другими ячейками для создания отчета интересного вида. Опять-таки, не- смотря на привлекательный вид, данная структура не годится для отчетов сводных таблиц. Кроме того, в ней нет понятных заголовков столбцов. Вы можете лишь предположить, что столбец А— это Модель, столбец В — это Месяц, а столбец С — это Продажи. Однако А : 11 в id СЕВЕР Январг Феврале Март 33 073 35 880 90 258 I Апрель Май 13 250 ” 100 197 7 б X л U2 ft * ! I Январь Февраль Мар Апрель Май 20 104 31 574 79 427 11 660 88 173 х U 7* 1? ’Я "-• '^-1 17 18 Модель 4*551 Январь Февраль Мррч Й Апрель Мал 25 623 78 456 73 112 53 091 25 342 19 2(Г 21 22 2S 1 Йнеарь Февраль Март АлрелЬ 77 456 81 209 67 120 87 784 24 Май 13 542 Рис 2.2. Данные по моде- ли и региону не представ- лены в этом наборе соот- ветствующим образом чтобы программа Excel создала сводную таблицу, эта информация должна обязательно включаться в первую строку данных. Избегайте повторения групп в виде столбцов Формат данных, показанный на рис. 2.3, довольно распространен. Вре- менные периоды представлены в столбцах. Конечно, на основе этих данных уже можно создать сводную таблицу, но она будет далека от идеала. В этом представлении показано несколько столбцов данных типа “месяц”. Данные о продажах содержатся в ячейках на пересечении строк с названиями моделей в столбце в и столбцов с названиями месяцев в строке 2. Кроме того, на рис. 2.3 столбец для регионов должен содержать заголовок Регион в ячейке А2, а значение Север должно повторяться в ячейках АЗ : А8.
36 Глава 2 А R с ТТ Г ё F G 1 Н 1 т 1 1 Z и- - - СЕВЕР МОДЕГ b Фес-. Ма- г Апьвж М$Й Июнь 3 40557 $3454 $3 209 $3 703 $11 951 $6 586 I $10 859 4 ЖЮР $15 682 $34 612 $455 $161 564 $14 835 $32074 от от L t . жйс 4055Т $12 968 $2 789 $14 051 | $33567 $249 7 $49 741 $15034 $18 365 \ $15 057 $3 241 Т $141 840 $32 605 $3 951 $95 690 $2 610 $93 467 Т $24 609 8 4503 f $52 437 $157 434 $2 024 $27195 $2 102 $4 325 it 2SJ0P $17 391 $19087 ^$57 526_ $20 586 | $22286 $18 509 $18 421 $47 < । ь 1 । i i i \ * 1 ‘ i $2 468 $209 $15 551 $74 368 $50 8U1 $31 963 11 ж P7S $16 432 | $3 495 $83 057 12 4S00G $67 592 $1 686 | $774 $19 217 $40 347 $5 266 $30 187 $47 13 Же $21 454 $11 567 $91 328 $14 9Ь7 - $2 883 $51 993 $837 $49 217 14 1Г ж $979 $4 200 | $3382 $99 4(Ъ5Т -• *539 $22 188 $23 343 $15 224 Рис. 2.3. Эта табличная форма довольно распространена, но неэф- фективна при создании сводных таблиц. Поле с названием месяца помещено в несколько столбцов отчета Исключайте пропуски и пустые ячейки в источнике данных Удаляйте все пустые столбцы в источнике данных. Пустой столбец посередине источника данных может вызвать сбой в отчете сводной таблицы по отдельному критерию, поскольку в большинстве случаев пустой столбец не имеет имени. Удаляйте все пустые строки в источнике данных. Пустые строки могут привести к случайному исключению большого диапазона данных, в результате чего отчет будет неполным. По возможности, заполняйте все пустые ячейки источника данных. Хотя создавать обрабатываемую сводную таблицу и не требуется, пустые ячейки сами по себе могут стать причиной возникновения ошибок. Поэтому пред- ставляйте отсутствующие значения специальным кодом логического характе- ра, если это возможно. Применяйте к полям с разными типами данных соответствующее форматирование Правильное форматирование полей поможет избежать массы возможных проблем, начиная с вывода неправильных отчетов и заканчивая трудностями группировки и сортировки информации. Убедитесь, что для всех полей, которые принимают участие в расчетах, яв- ным образом указан числовой, денежный или другой формат данных, пригод- ный для использования в математических функциях. Поля, содержащие даты, должны представляться в любом поддерживаемом формате дат. Резюме по разработке источников данных Ниже приведены атрибуты эффективного дизайна табличного представле- ния данных. Первая строка источника данных составлена из подписей полей и заго- ловков, описывающих информацию в каждом столбце.
Создание базовой сводной таблицы 37 Каждый столбец источника данных представляет уникальную катего- рию данных. Каждая строка источника данных представляет отдельные элементы в каждом столбце. Имена столбцов в источнике данных не должны совпадать с элемента- ми данных, которые будут использоваться в качестве фильтров или критериев запроса (т.е. названия месяцев, даты, годы, названия мест, имена служащих). Очистка данных при анализе сводной таблицы Рабочий лист, показанный на рис. 2.4, выглядит отлично. Однако его нельзя ис- пользовать в качестве источника данных для сводной таблицы. Вы можете опре- делить причины проблем, связанные с использованием этого набора данных? 1 2 3 I Г А В C !D STORE E щи - JANUARY F ... FEBRUARY G MARCH H "гт-r^ n*- APRIL L 1 MAY X J - REGION MARKf. JUNE 2 MODEL 2500С 1 э Tulsa $14 051 $20586 $455 $22188 $57 526 $3 454 $3 382 J South Great Lakes $249 { $16 432 $33 567 $43 413 $22 286 $3 454 $23 343 5 North Shenandoah valley $3 951 $1 686 $49741 $40 950 $3 495 $12 968 $336 .6 North New Engl md $157 434 $19217 $95 690 $38 080 $2->89 $84 700 7 , North New England $19 087 $4 200 $2 024 $3 703 $40 347 $32 605 $84 031 6 L 1 । L _ZZ 9 MODEL 3002C 1 --— «1 1 10 North New England 2105015 $241 $12 717 $128 318 $16 177 $17 391 $21 384 11 No+h 22022012 $928 $20 614 $83 *2168 $18 011 12 22022012 $12 717 $297 $2 456 $372 $375 $45 065 13 North New York South 12118068 $20 614 $20 610 ♦1SS $22 992 $67 592 $38 532 14 South Indiana 12118068 $297 $2 445 $40 069 $9 588 $21 454 $2 883 15 South Tennessee J44U40030 $20 610 $913 $100 57Л $3 868 $979 $5 913 16 1 11 1. H 17 MODEL 3002P г..ц 1 1 i 1 ; 18 North Ohio 44040020 $57 861 $17 739 $14 003 $27150 $3 209 $27 130 19 North Ohio 34037017 $1768 $82 846 $56 365 $17 588 $34 612 $56 751 Рис. 2.4. На красивое форматирование этого отчета ушло немало вре- мени. однако по некоторым причинам использовать его в качес гве исто* < - ника данных для сводной таблицы нельзя 1. Нет отдельного столбеца с информацией о модели. Она отображается в столб- це Region. Чтобы решить эту проблему, вставьте новый столбец Model и вклю- ' чите номер модели в каждую его строку. '; ' 2. Имеются пустые строки и столбцы. Столбец о следует удалить, Пустые строки между моделями (такие, как строки 7 и 15) также нужно удалить. 3. Пустые ячейки используются для структурированного представления данных. Тот, кто будет изучать отчет, может предположить, что ячейки biq?bh пред- ставляют отделение New England, а ячейка All - северный регион. Соответ- ствующие пустые ячейки следует заполнить целевыми значениями
38 Глава 2 Созет Существует весьма хитоын метод заполнения пустых ячеек (только в англий- ской версии Программы. ** Примеч. ред.). Выделите весь диапазон данных, В меню Правка выберите команду Перейти. В диалоговом окне Переход щелк- ните на кнопке Выделить. В диалоговом окне Выделение группы ячеек уста- новите флажок Пустые ячейки. Выделив все пустые ячейки, введите формулу =<.стрелка вверх>, а затем нажмите <Ctr!+Enter>, чтобы поместить эту формулу во все пустые ячейки. Не забудьте скопировать и вставить специ- альные значения для преобразования формул в значения. 4, Рабочий лист представляет один столбец данных, в котором выводятся данные за месяц, Этот столбец несколько раз продублирован в рабочем листе Столбцы с Е по J следует переформатировать так, чтобы каждый столбец разделялся на два. Поместите название месяца в один столбец, а объем продаж для этого ме- сяца - в следующий столбец. Этот процесс требует выполнения множественных операций копирования и вставки или написания нескольких строк VBA-кода. Совет ? /'ЛЛ.’аЛ : Бели вас интересуют книги по программированию на VBA, то рекомендуем книгу Применение VBA и макросов в Microsoft Excel Билла Джелена и Трейси Сирстещ (Издательский дом "Вильямс", 2006). Поев внесения всех четырех изменений «иные будут готовь, для использования в кв- честье источника данных сводной таблицу. Как видно на рис. 25, для каждого столбца представлены заголовки. В таблице нет пустых ячеек, стоок и столбцов. Данные за ме- сяцтеперь предсгадлень! в одном столбце F, а не в нескольких столбцах. i* , Я 1 ХИ ' в RE&KA* MARKET c bT>^.F 0 M- TfL e MOrHH . F ,y. REVEMUE Д'/ 'hi , ' '.ч/ ' Г-'t ; А ъ V‘ 2 J North Great Lakes 65061011 A. - «им>4 • ~ • •• •М.иЧ>*>1"".чмчИ<и«ч,*. - V» Nortf ' ih1 nar doah Valley 6206701J — - - .... • 'T * 4055T ’500F- Apr I1 Hbruvy $3 454 $15 682 Vs'' У ' \ . I1'i ’ Л ' < ' 'Ц ' у ' . лН J / -j А 'д.'у''1 . '.у ‘Л/, ' ' r I у , , 'i'll,'"//', <ti‘ „ а, ‘ irf' "" . 4 5 6 7 В ‘ 9 (0 11 12 13 •e fft-fnvr* 14 16 Nortf. Shenandoah valley North [New England North iNew England North New England Nortf New Engl.and ,мн«ы«*|| чмвЬмчм >. «Ч*. «я «йл*. »* Nortf New England North .New England 4W4*. м.1-3 »x .ИЛЯгЧ»». North New York South North New York South North Ohio North Ohio > - - M - ЧН«'4м^>Ч>ПИЯН«т bWk<*HM4^«l^>4«V4t, North Ohio 32139049 2004014 7W4U14 12011011 2105015 22022012 27022012 121160b8 12118068 -14040030 44040020 44040020 2500C I January $12 968 4055T .March j $2 789 4500C 'May [ $32 605 3002P 'Apr! /$52437 2500P February . $17 391 4055T [janua^J 42 468 3002C March $375 4500C May $67 592 зоогс'м 1«г14М 3002С -Fr4uar/ $979 4055Т Januarv $4 539 3002Р March $3 209 ' V I. ', У . 1 , -i у. А ' Л '/ J (ь ^1<<СЛ;л<а'Ла- а ,, у Д, М, ii'i/i, , Шл Рис» 2.5 Данные представлены в шести столб дах и идеально подготовлены для ана лиза сво цнойтаблицы ЛХ
Создание базовой сводной таблицы 39 Создание стандартной сводной таблицы Итак, вы понимаете важность правильной структуризации источника дан- ных. Взгляните теперь на источник данных, который будет использоваться нами для создания первого отчета сводной таблицы (рис. 2.6). А и 5 ' c I 0 E 1 F 1 G H Г 1 J 1 REGION MARKET STORE in balance OaTF we of f fiscal perjol» гж- t. usness /’•I- •*«'.' »!t ? , ' ? Unsold OAYSlNHRijt' 2 North Great Lakes 65061011 01.03.03 200205 j 4055T Parts: [2500P Printer Sale $3454 0 f 'f— 19,0 3 North Shenandoah vafey 62067017 01.03.03 ~Л20э $15 682 2 19,0 4 North Shenandoah Valley 32139049 01.03.03 200205 250*31 Copier Sate $12 968 6 19,0 5 North New England ЛШР14 01.03.03 200205 [4055T -Parts (4500C Service Йап $2 789 0 T *-* ) 1 19,0 б North New England 72074014 01.03.03 200205 $32 605 23 1 19,0 7 Ncrrh New England 12011011 01.03.03 ; 3002P .Service Plan 1 $52 437 [ 2500P Printer Salt $17 391 30 19,0 8 N~.th New England >2105015 | 01.03.03 200205 2 i r- 19,0 9 Njf+i। New England 22022012 01.03.03 200205 4055T Parts $2 468 0 J 19,0 10 North New England .’2022012 01.03 03 20020Г ,3002C Parts 4J75 0 Г X 19,0 11 N -th New York South 2116060 01.03.03 200205 4500C serncePlan $67 592 30 J— 1 19,0 121 North New York South 12118068 01.03.03 200205 1 3002C Service Plan $21 454 15 19,0 13 North Oh'o 44040030 01.03.03 200205 , 3002C Parts *97° 1- 0 19,0 14 North 01/" <40Ю1иП 01 03.03 200205 4055T Parts $4 539 L 0 19,0 15J North Ohio ,44040020 01.03.03 200205 1 3002P Parts $3 209 0 I 19,0 16 N.rtl Ohio 34037017Г 01.03.03 200205 3002P I Parts $34 6127” 0 19,0 17 North South Carolina 53154014 01.03.03 200205 3002C Service Яап — $14 051 9 19,0 18 South North Carolina 63064014 01.03.03 2002П5 500IP >arts raw L 0 T“ .1— 19,0 19 South North Carolina 73179019 01.03.03 W-35 500IP Service Plan $3 951 I 19,0 20’ South Florida 331300101 01.03.03 200205 3002P Service Plan $157 434 68 19,0 '5i South Florida .33130010 01.03.03 200205 3002P Parts $19087 0 19,0 22 South Indtena 65060010 01.03.03 200205 13002C .Service Plan TTzSOOP'UnterS* $20 586 Г 12 19,0 23 South ’г.Лапа 65360010 01.03.03 200205 $16 432 I 2 19.0 24 South Tennessee 83080010j 01.03.03 200205 5001C Service Plan $1686 1 19,0 25 South Tennessee 74075025 | 01 03.03 200205 3002C Service Plan $19217 J 8 19,0 Рис. 2.6. Источник данных Совет Этот источник данных будет использоваться на протяжении всей книги. Его можно загрузить с сайта http: //www. MrExcel. com/pivotbookdata.html. Мастер сводных таблиц Щелкните на любой ячейке в источнике данных. Это гарантирует, что сводная таблица охватит весь диапазон данных источника по умолчанию. Пе- рейдите в строку формул и примените команду Сводная таблица из меню Данные. Запустится программа Мастер сводных таблиц и диаграмм, как показано на рис. 2.7. Первый шаг мастера сводных таблиц позволяет указать расположение ис- точника данных. Другие типы источников данных описаны далее в этой кни- ге. А сейчас используйте источник данных В списке или базе данных Microsoft Office Excel. Щелкните на кнопке Далее. На рис. 2.8 показан второй шаг мастера. Если исходные данные корректно отформатированы и не содержат пустых строк или столбцов, то, скорее всего, программа Excel распознает указанный диапазон данных.
40 Глава 2 Рис. 2.7. Первый этап мастера сводных таблиц и диаграмм позволяет выбрать источник данных Рис. 2.8. Если вы выделили отдельную ячейку в источнике данных, то прочитанный на шаге 2 диа- пазон, скорее всего, распознается корректно Второй этап позволяет задать диапазон данных. Заметьте, что мастер свод- ных таблиц и диаграмм достаточно сообразителен, чтобы распознать источ- ник данных и правильно указать диапазон. Однако вы должны обращать осо- бое внимание на выбранный диапазон для проверки захвата всех необходи- мых данных. Щелкните на кнопке Далее. На третьем этапе мастера сводных таблиц, показанном на рис. 2.9, вы должны указать, куда поместить сводную таблицу: на новый или в сущест- вующий рабочий лист. Рис. 2.9. Укажите расположение сводной таблицы. Опытные разработчики сводных таблиц также часто изменяют настройки, которые открываются с помощью кнопок Макет и Параметры
Создание базовой сводной таблицы 41 Третий этап позволяет выбрать расположение сводной таблицы. Исполь- зуйте опцию по умолчанию Новый лист. Щелкните на кнопке Готово. Вы увидите макет, показанный на рис. 2.10 или рис. 2.11 (в зависимости от версии пакета Microsoft Office). Вы также сможете познакомиться со списком полей источника данных. Рис. 2.10. Пустая сводная таблица, представленная в Office 2002 и выше. Список полей сводной таблицы выводится на отдельной панели. На экране также показана панель инструментов Сводные таблицы Рис. 2.11. В ранних версиях программы, включая Office 2000, список доступных полей скомбиниро- ван с панелью инструментов Сводные таблицы Несколько слов о диалоговом окне Макет В ранних версиях Excel, включая Excel 97, мастер сводных таблиц и диаграмм со- держал четыре этапа вместо трех. Сводные таблицы Bcei да изначально разоабаты-
42 Глава 2 вались в диалоговом окне Макет, открывающегося на третьем этапе мастера, И сегодня многие именитые разработчики приложений Excel все еще используют диалоговое ок- но Макет, котооое открывается щелчком на кнопке Макет показанной на рис. 2.9 Окно настройки макета показано на рис. 2.12, Рис. 2.12. В Excel 97 и ранее л налоговое окно Макет являлось обязатель- ным этапом создания сводной таблицы. Если вы работаете с длинными сводными таблицами, то можете открыть диалоговое окно Ма«ет щелчком ча кнопке на шаге 3 мастера сводных габлиц Перетаскивание в отчет полей Идея заключается в перетаскивании необходимых полей в отдельные об- ласти сводной таблицы. Давайте прервемся на минуту в наших изысканиях и вернемся к основам составления отчета сводной таблицы. Здесь большинство начинающих пользователей столкнутся с серьезными нать, где какое поле размещено? проблемами. Как уз- Перед тем как перетаскивать поля в отдельные области сводной таблицы, задайте себе два вопроса: что подсчитывается и как нужно представить резуль- тат расчетов? Ответ на первый вопрос укажет вам, с какими полями источника данных вам нужно работать, а ответ на второй вопрос — где размещать поля. В первом примере вам требуется подсчитать доход по региону. Таким образом, вы уже знаете, что работать вам предстоит с полями Revenue и Region. Если вы взглянете на рис. 2.10, то с легкостью сможете определить эти два поля в списке. Как вы хотите их представить? Вам нужно, чтобы регионы перечислялись сверху вниз в левой части отчета, а доходы представлялись рядом с каждым регионом. Для этого выберите поле Region из списка и перетащите его в об- ласть строк. Теперь выберите поле Revenue из списка полей и перетащите его в область данных. На рис. 2.13 представлен ваш первый отчет сводной таблицы.
Создание базовой сводной таблицы 43 Рис 2.13. В отчете быстро подыто- жены данные из 41549 строк Примечание Отчет сводной таблицы должен иметь хотя бы один элемент данных для коррект- ной работы. Добавление в сводную таблицу полей В дальнейшем вы можете добавить в отчет другой тип анализа данных. Что вы хотите подсчитать? Вам нужно определить доходы по каждому региону для каждого торгового направления. Поскольку в таблице уже имеются поля Re- gion и Revenue, выберите в списке поле Line of Business и перетащите его на поле Region отчета сводной таблицы, как показано на рис. 2.14. Рис. 2.14. Изменение существующего отчета сводной таблицы выполняется до- вольно просто: перетащите поле в новое место В отчет сводной таблицы будет автоматически добавлен дополнительный уровень анализа: для данных поля Line of Business. Кроме того, обнов- ляются расчеты для включения промежуточных сумм по каждому региону. Поскольку все данные хранятся в кэше сводной таблицы, то эти расчеты зай- мут не более секунды, а их результат показан на рис. 2.15.
44 Глава 2 А В П c тг | ! 3 Сумма по полю REVENUE 4 REGION * UNE OFd BUSINESS ▼ Итог 5 INorth Copier Sale 25893618 _ ® 1 Parts 29063171 л Pnnter Sale 20621317 Service Plan 201414511 9 | North Итог 276992617 10 South Copier Sale 36711470 Parte 31205269 12 Printer Sale 28153264 *3* Service Plan 223750307 14 South Итог 319820310 15 ,West Copier Sale 23976601 “16 Parts 23670053 17] Printer Sale 19594197 18| Service Plan 149341261 19 | West Итог 216582112 20 .Общий итог 813395039 Рис. 2.15. До появления сводных таблиц внесение таких изменений требовало более часа напряжен- ной работы, которая заключалась в настройке ком- плексных формул массивов Перекомпоновка сводной таблицы Предположим, что вашему начальнику отчет не понравился. Он хочет, что- бы торговые направления должны быть перечислены в верхней части сводной таблицы. Просто перетащите поле Line of Business в поле Итог в ячейке СЗ. Отчет будет тут же переформатирован, как показано на рис. 2.16. Д । . 2 ' 3 .Сумма no r.QJ.nJ RE/ENUE ]UNF OF о BUSINESS ♦ 4 REGION . Copier Sale Parts Printer Sa-e Service Plan Общий итог 5 North 2509361829063171| 20621317 201414511 276992617 6 South 36711470; 31205269 28163264 223750307 319820310 7 West Z3976601 23670053 19694137 1493412Ы 216582112 6 Общий итог 86581689 33938493 68366779 ь74тГ6073 813395039 Рис. 2.16. Перекомпоновка сводной таблицы выполняется простым перетаскиванием серых заголовков полей в новое место Если вы хотите создать отчет для менеджера по конкретному региону, то можете перетащить поле Region в область полей страниц. Перетащите поле Region над полем Сумма по полю Revenue в область полей страниц. Из списка Region выберите один регион, чтобы увидеть итоги только по этому региону. На рис. 2.17 показаны итоги только для северного региона. : J. В 0 о m 1 REGION North * 2 ' I 3 Сумма по полю REVENUE LINE OFn BUSINESS 4 Copier Sale Parts Printer Sale Service Plan Общий итог 5 'Итог 25893618 29063171 20621317 201414511 276992617 Рис. 2.17. С помощью такого макета вы можете увидеть доходы не только по торговым направлениям, но и итоги по одному региону, щелкнув кнопкой мыши в раскрывающем- ся списке Region
Создание базовой сводной таблицы 45 Помните, что используемый в нашем случае источник данных имеет около 42000 строк и девять столбцов, что по стандартам Excel представляет немалый объем данных. Несмотря на такое количество данных, мы создаем отчет о до- ходах по регионам, отчет о доходах по регионам и торговым направлениям, а также отчет о доходах по торговым направлениям за считанные минуты. Вручную это заняло бы несколько часов. Группировка доходов по сегментам и моделям Ваша организация обслуживает 21 рынок сбыта и реализует товары и услуги, тос- туя девятью моделями копировальных устройств и принтеров. Вам нужно создать отчет по каждому рынку сбыта и представить доходы от реализации каждой мо- дели. Этот отчет должен быть компактным и удобным для чтения, поскольку он будет помещен в финансовую сводку на конец месяца. Для создания отчета вы должны выполнить следующие операции. 1 Поместите указатель мыши в источник данных. Перейдите к строке формул и выполните команду Сводная таблица из меню Данные. 2. Запустится мастер сводных таблиц и диаграмм. Щелкните на кнопке Готово. Будет создан рабочий лист с отчетом сводной таблицы и структурой полей, по- казанной на рис. 2.18, Рис. 2.1S. Приняв настройки мастера по умолчанию, вам потребуется три раза щелк- нуть кнопкой мыши для получения этого результата 3. Выберите из списка поле Market и перетащите его в область строк, как показа- но на рис. 2.19. 4. Выберите из списка поле Model и перетащите его в область столбцов, как пока- зано на рис. 2.20.
46 Глава 2 Рис* 2,19. Самый быстрый способ извлечения уникального списка рынков сбыта из 42000 'арок данных >Л J' Ъ?:!- 1 л* • 1 ’’ , 1 ... . . 1 !i!I , 1 ’ I ’ . . I ? 11 ' / 7 ‘ 'Г '' $ ' ' I, ' ' ' i! ‘i l( Рис 2-20. Пять щелчков кнопкой мыщи - и практически все готово ./> у: У;,! .••/ 'г.;: (> ... . , ." , ../,• { 1 ' } ч. ,. /1 ,. 1/:!: ( ЧП. /''.7/- ‘j 7 I/'Г < ' > < 1 t > 5. выберите из списка поле Revenue и перетащите его в область данных, как по- казано на рис. 2.21. На этом этапе у лас появляется укомплектованная сводная Л.: таблица.; ’ji' Выполнив операции из пяти этапов, вы рассчитали и скомпоновали отчет, удов- летворяющий заданным ’ребованиям. Выберите ячейку вне сводной таблицы, чтобы скрыть список полей таблицы, как показано на рис. 2.22.
Создание базовой сводной таблицы 47 х| ; О LC j с 1 • Ш * • о и —— xb < Л 2j , 1 , ? J । j i ' i ’ l ' < -- - - * -* _i . r- 3 Сумма по полго REVENUE * МА-ИГТ . MODgL 2500C 2500P Э002С Э002Р 1055T 4500C '4500P 5001C 5001P < ОбщИк итог 5J California Б Central 7 'Coloraau 4'0X3851 3570593 5195Э5Г 12494689 1345939 1'582176; 5346 3506717 3414010 3229599 1Г66Э224 358980 ^РбОбО 660777 3113591 3124724 2743057 10523054 234431 5074260 4391 3935376' 19486877 Список полей сводной т 616: a* x 36732 7201 8 J Florida 9 JGreat Lakes 3783617 4823314 4761551 18810662 423298 8866059 1465039 1929517 3269643 2864393 I3963620 505943 9955238 51C729 Перегоните мимейте с в сводку*, тяблту >2461 «2638 10: Gulf Coasl 5830888 2685703' 4915966 17030692 585060 9997150* 1071708 - Я REGION 19185 11 ’Illinois 12 > Indiana 131 Kentucky 2989768' 3562893 4473116 16043130; 551270 9530083 1691398 3616687*“ 4950038 4031526*' 11570514 ""722557' 13404905 509271 5872430 3662458 3339436' 11685568* 1108919; 9926609 388990 tJ MARKET п STORE 11421 3454 Б3632 14 'New England 6011684 1356078 3065267 13080189 46655? 7744218 1136300 IN BALANCED DAT E 1224 15 New York North 3932881[ 482859е 3584264' 14Г07Э5 I02i718 10577200 377719 I j Я FISCAL PERIOD Й 36 73 16 New York South 1641970 1173574 2991008? 12321866 312315 6587253 2706905 I- Fl MODEL *2893 17 (North Carolina 376315b 2311733 4134523 13719904 543294 6083844 783871 J. P S| 1 INF ОЕП HI KTNT' iS 2354 1t North Weal 3179141 2807395 4136112' 9708920 322535 6292914 116550 23143 191 Ohio , 11 T I - ***** . *Л.*^И* 20 Shenandoah Valley 21 .South Carolina 22 .Southwest 2381299 3960185 4130289 17035110 5Э5677 10475995; 2126208 4244770 2329461 676171е 22991629 94927.' 12532535 143387b ' 5751497 ' 1703777 3193846 12230482 365683 6659734 409519 4532147 3465741 2822512; 9621154 531280 0211995 131180 -- RfVFMJf g Units Sold ’ DAYS IN PERIOD 13718 13581 14890 Й287 23 [Tennessee 24 Jexas CQHOQQ7 ПОТППС7 1ГМ141СО VECfY) TQTmjQ C. A AM A >4381 13422 O*j2*^tjJr vjLAJvXJxfO JuOoUy г OU224O О44У14 4531085 2644097 4076042- 13968158 480060 11063920 1096898 V1- - I"’’'? | Поместить 8 [Область CTt[’J 25 Jopeka 26 Общий итиг 562462J 3211734, 4402544 12141979 1048281 10730349 331118 U6581689 68368778 81772378 284995434' 12776688 138174/47 17518709 21079121, 52127495 81335 >5907 35039 Рис. 2.21. В сводных таблицах должно быть хотя бы одно поле данных _ ‘ ' ' ...j. 1 J./......Lf..1... '. 1 , . 4 / i f‘ • А В 0 JE F КНВЯ H 1 J t. К P ---4- • I 2 „.»»» 3 (Сумма по лоМ REVENUE MOCEL.t 4 МАРКЕТ ж 2500C 2500P 3002C Э002Р 4055T 4500C 459GP 5001С 50U1P Общий итог 5 California 4020385 3571693 5195361; 12494680 1345939' 1’582176, 5346 3935376i ""464767| ' "562917! 13436S77 61636732 6 Central 3506717 3414010 3229599 10869224 358988 7076062 660777 923698 30503842 7 Colorado 3113591 3124724 2743067 10523054 234431' 42329b 5074260 4391 836776 26217201 । е Flonda 37836T' 4823314 4761551’ 18810662 8866059 1465939 1378033 3050886 47362461 9 Great Lakes 1929517 1269C43 2864393! 13963620 505943’ Я955238 516729 1327536 2660019 36992638 10 Gulf Coast 5830888 2685703 4915966i 17030692 3562893 44731161 16043130 4968038' 4031526 11570514 585060 551270 9997150 1O717G8 1086584 1955434 45159185 . 11 Illinois 2989768 9530083* 1691398 nconm 2290764 42101421 12 Indiana 3616687 722557 1108919 13404905 509271 916869 1312087 41043454 13 Kentucky 5872430 3662454 3339436* 11685568 9926609 Э8899С 376749 1002473 37363632 14 New England 6011684 3356078 3065267, 13080189 466559 774421. 1136300 711092 176°837 37341224 ,16 New York North 3932881 4828599' 3584264 14770735< 1021718 105772Л0 377719 624445; 1776112 41493673 16 New York South 1641971) 1173574 2991006; 12321868 312315 6587253 2706905 409673 1338327 29482893 17 North Cnrolma 3763158 2311733- 4134523: 13719904 2807395 4136112’ 9708920 543294 6083844 783871 10905121 1661515 34082354 18 North West 3179141 322535 6292914 116550 1045684 1313892 28923143 19 Ohio 2381299 3960185 41302891 17035110 535677 10475995 2126208 710365 1348590 42703718 20 Shenandoah Valley 4244770 2329461 6761719Г 22991629 949272 12532535 1433878 1705928- 3284389 56233581 21 South Carolinn 5751497 1703777; 3193846' 12230482 6568Я 6659734 409519 954307, 1476045 32744890 »22 Southwest 4532147 3465741 2822512- 9621154 531280 6211995 131180 635042: 1374236 29325287 23 Tennessee 6323837* 3505028 2920257 10414153 3556ЭЙ 7802248 644914 621099- 977236 33564381 । 24 Texas 4531035 264409’ 4076042- 13908158 488060 11063920 1000898 577058; 788104 39143422 25 Topeka 5624620 3211734 4402544 12141979 1048281 10730349 331118 97608Б 1509196 39975907 ‘ 26 Общий итог 86581689 6836^7^ 81772'78 284995434 12776686 88174747 17518709 21079121. 52127495 813395039 Рис. 2.22. Эти сводные дачные можно создать меньше чем за muhvtv , rH a '1 /> ' ‘l^1 '* ' ''o'* Вы также можете добавить в сводную таблицу еще одно направление расчетов, чтобы выполнить анализ по региона^ Выберите любую ячейку в отчете сводной таблицы, чтобы заново отобразить спи- сок полей сводной таблицы. Выберите из списка поле Region, как показано на рис. 2.23. Выбрав поле, как показано на рис. 2.23, вы можете использовать раскрывающий- ся список возле кнопки Поместить в и выбрать в нем Область страницы. Вы также можете просто перетащить поле Region в область страницы, как показано на рис, 2.24. По умолчанию программа Excel выведет данные по всем регионам.
48 Глава 2 i # 1. №. ’t ? 5195351 12494683 32295991 10869?^ 2743057 10523ч 4761551 18810 28643931 [ 139638 4915966 170301 4473116 1604? 4031526 115701 3339436 11685! 3065267 13080 3584264 14770; 2991008 123211 4134523 13719' 4136112 97081 4130289 17035 6761719 229911 3193846 12230- 2822512 9621 2920257 10414 4076042 13968 ... 1345939 11582176 5' „ jfilSPfiP Список полей сводной та * х Перетащить элементы в -гводную таблицу 7 СИЕПБЛ.. i66Qj RECION i g MARKET Ц STOPE Щ IN BALANCED DATE J FISCAL PERIOD H-jMODEl »j LINE OFD BUSINESS Щ REVENUE Units Sold у DAYS IN PERIOD Поместить в Область CTjf'rl Г fe .«Я тгжал—гигзсглз 4; 465C 5167 0717 69K 509; 3885 136; 377; 7065 783E 116* 126; 433t 4091 131' 644$ 006E 331' Рис. 2.23. Список полей будет вновь ото- бражаться при выборе ячейки в сводной таблице f 1 г А 1 REGION «^•ч^маММНМВМММММ I В Рис. 2.24. Если вначале поместить поле в область страницы, то программа Excel бу- дет отображать итоги по всем регионам Поместив поле Region в область страницы, вы можете создавать отдельные от- четы по отдельным регионам. Выберите раскрывающийся список доступных ре- гионов в ячейке В2, как показано на рис. 2.25. Рис. 2.25. Выберите любой оегион в раскрываю- щемся списке для фильтрации отчета данными только для этого региона
Создание базовой сводной таблицы 49 Изменение вида указателя мыши при перетаскивании полей Для начинающих разработчиков сводных таблиц самая сложная концепция — это размещение полей таким образом, чтобы они представлялись как область строк или область данных. При перетаскивании полей всего несколько пикселей в любом направлении могут послужить причиной неправильного размещения поля. Вам нужно постоянно наблюдать за видом указателя мыши. При перетас- кивании поля в сводную таблицу указатель принимает вид сводной таблицы. Одна из частей указателя станет синей. Эта часть указывает, куда будет добав- лено поле, когда вы отпустите кнопку мыши. На рис. 2.26 показаны пять ви- дов указателя мыши. 1L Область данных Область строк Область столбцов Область страницы Удалить из сводной таблицы Рис. 2.26. Следите на синей частью указателя мыши, чтобы знать, в какое место сводной таблицы будет помещено пе- ретаскиваемое поле Повторное отображение списка полей сводной таблицы Если при щелчке на сводной таблице список полей не активизируется, щелкните на значке Отобразить список полей на панели инструментов Сводные таблицы. Восстановление панели инструментов сводной таблицы Если при щелчке на сводной таблице панель инструментов таблицы не отображается, щелкните правой кнопкой мыши на сводной таблице и приме- ните команду Показать панель сводной таблицы. Примечание Если вы работаете в Excel 2000 и щелчок на сводной таблице не приводит к акти- визации панели инструментов Сводные таблицы, то перейдите к строке меню и воспользуйтесь командой Вид^Панели инструментов^Сводные таблицы.
50 Глава 2 Запуск мастера сводных таблиц Щелкните правой кнопкой мыши в любом месте сводной таблицы и ис- пользуйте команду Мастер сводных таблиц. Поддержка изменений в источнике данных Вернемся к аналогии с семейным портретом. С годами внешний вид вашей семьи будет меняться, а количество членов семьи может увеличиваться (или, к сожалению, уменьшаться). Семейный портрет, сделанный несколько лет на- зад, остается статичным и не будет представлять текущий состав семьи. По- этому придется создавать новый портрет. Со временем ваши данные могут меняться и расти (могут добавляться но- вые строки и столбцы). Однако кэш сводной таблицы, из которого заполняет- ся отчет сводной таблицы, отключен от источника данных и не может отобра- жать изменения, внесенные в источник данных до тех пор, пока вы не созда- дите другое мгновенное состояние источника данных. Обновление кэша сводной таблицы другим мгновенным состоянием ис- точника данных называется обновлением данных. Обновление отчета сводной таблицы вам может потребоваться по двум причинам. В существующий источник данных внесены изменения. Диапазон источника данных расширен в результате добавления новых строк и столбцов. Эти два сценария обрабатываются различными способами. Внесение изменений в существующий источник данных Когда в источник данных вносятся изменения, которые не влияют на диа- пазон исходных данных, отчет сводной таблицы можно обновить нескольки- ми щелчками мыши. Выберите ячейку в отчете сводной таблицы. На панели инструментов Сводные таблицы щелкните на кнопке Обновить данные. Эта кнопка обо- значена красным восклицательным знаком, как показано на рис. 2.27. Рис. 2.27. Если в источнике данных были изменены не- которые ячейки (но диапазон данных не изменялся), обновить данные в сводной таблице можно щелчком на кнопке с красным восклицательным знаком
Создание базовой сводной таблицы 51 Примечание Существует два способа обновления данных. Вы можете обновить данные с помо- щью команды Обновить данные меню Данные. Вы также можете щелкнуть правой кнопкой мыши на отчете сводной таблицы и применить команду Обновить данные. Расширение диапазона источника данных в результате добавления новых строк и столбцов Если изменения, внесенные в источник данных, влияют на диапазон ис- ходных данных (т.е. вы добавляете новые строки и столбцы), то вам придется обновлять диапазон, хранимый в кэше сводной таблицы. Для этого щелкните правой кнопкой мыши на отчете сводной таблицы и используйте команду Мастер сводных таблиц. Вы попадете на третий этап мастера. Щелкните на кнопке Назад, чтобы вернуться ко второму этапу. На втором этапе щелкните на кнопке Обзор (рис. 2.28) для повторного за- дания нового диапазона данных. Рис. 2.28. Если вы добавляете новые строки, столбцы или изменяете заголовки полей в источ- нике данных, вам потребуется повторно задать диапазон источника данных на втором этапе мас- тера сводных таблиц Обновите диапазон, чтобы включить новые строки и столбцы, и щелкните на кнопке Готово. Отчет сводной таблицы теперь будет включать новые данные. Совет Если в качестве диапазона (типа $А:$к) вы выберете в источнике данных только столбцы, то в кэш будут захвачены все 65536 строк текущей таблицы. Хотя это потре- бует чуть большего объема памяти, вы сможете добавлять в источник данных новые строки и обновлять отчет сводной таблицы без внесения изменений в диапазон. Дальнейшие шаги В главе 3 мы рассмотрим, как усовершенствовать отчет сводной таблицы, настраивая поля, изменяя имена полей и итоговые расчеты, используя форма- ты полей данных, добавляя и удаляя промежуточные итоги, а также применяя настройку Показать как.
Настройка полей сводной таблицы Необходимость в настройке При построении сводных таблиц с помощью мастера сводных таблиц программа Excel автоматически до- бавляет в таблицу поля и выполняет необходимые расчеты. Мастер предназначен для того, чтобы суммировать числовые данные и обрабатывать текстовую информа- цию. Мастер за считанные секунды позволяет создавать стандартные свод- ные таблицы. Тем не менее, мастер сводных таблиц иногда не совсем кор- ректно выполняет свои задачи. Распространенная проблема за- ключается в том, что программа Excel автоматически подсчитывает данные, вместо того, чтобы просуммировать их. Это происходит тогда, когда в диа- пазоне числовых данных содержатся отдельные пустые ячейки или ячейки с текстом. Иногда по умолчанию требуется создать нечто сильно отличающееся от сводной таблицы. Помимо функ- ций СУММ и СЧЕТ программа Excel поддерживает возможность вычисле- ния одиннадцати типов промежуточ- ных сумм, которые можно использо- вать по отдельности или совместно друг с другом. При этом вы можете комбинировать только девять разных типов промежуточных сумм. 3 В ЭТОЙ ГЛАВЕ Необходимость в настройке..53 Диалоговое окно Вычисление поля сводной таблицы......54 Настройка имен полей......56 Использование в полях данных числовых форматов.........56 Изменение итоговых расчетов ...57 Добавление и удаление промежуточных итогов......60 Параметры промежуточных итогов....................62 Дальнейшие шаги...........73
54 Глава 3 Таким образом, существует 5621 способ представления каждого поля данных в сводной таблице. Вы можете управлять вычислениями, используя параметры сводной таб- лицы. Управление параметрами выполняется в диалоговом окне Вычисление поля сводной таблицы. Диалоговое окно Вычисление поля сводной таблицы Каждое поле строки, столбца и данных имеет собственное диалоговое окно Вычисление поля сводной таблицы. Самый быстрый способ вызова этого диалогового окна заключается в двойном щелчке кнопкой мыши на имени поля в сводной таблице. Предупреждение Технология двойного щелчка на имени поля применима для полей страницы, столбца и строки. Она поддерживается для полей данных только в том случае, ес- ли сводная таблица содержит лишь одно поле данных. Если сводная таблица со- держит несколько полей данных, следует щелкнуть правой кнопкой мыши на имени поля данных и применить команду Параметры поля. Диалоговое окно Вычисление поля сводной таблицы представляется в трех вариантах. Если вы отображаете диалоговое окно для поля в области строки или столбца сводной таблицы, то увидите нечто подобное, показанному на рис. 3.1. Рис. 3.1. Диалоговое окно Вычисление поля сводной таблицы для поля строки или столбца позволяет управлять промежуточными суммами и именем поля
Настройка полей сводной таблицы 55 Диалоговое окно для поля в области страницы сводной таблицы включает опции сокрытия определенных элементов, как показано на рис. 3.2. G Скрыть ;г»менты; 20040И 2105015 3106016 3106026 3109019 6032012 ОК Ст“«на Удалить | Общий итог 813-950 J9 2 2 3 Суммо по полю REVENUE . 4 MARKET 5 California 6 J Central 7 j Colorado 8 {Florida 9 Greal Lakes JO Gulf Coast _ 11 jlllinois 12 (Indiana 13 14 16 17 18 19 201 21 22 23 । 24 Ь 26 Kentucky___ New England New York North New York South North Carolina North West Ohio Shenandoah Valley South Carolina _ Southwest Tennessee Texas Topeka__________ Итог 61636732 10503842 26217201 47362461 36992638 45159185 42101421 41043454 37363632 3734I224 41493673 29482893 34082354 28923143 42703718 56233581 32744890 29325287 33564381 39143422 39975907 Вычисление поля сводной таблицы ЙМЯ! (STORE ИТОГИ <• еетс>гатмчеосие С другие 'Г цет Сумма Количество Среднее Максимум М.1НИМ/М Прзизьвдеи-ие Дополнительно... | Г" Отображать пусть» ^ле. тенты Рис. 3.2. Поля в области страницы имеют дополнительные параметры скрытия элементов Диалоговое окно Вычисление поля сводной таблицы, используемое для по- лей в области данных сводной таблицы, имеет кнопку Дополнительно. Щелк- ните на этой кнопке, чтобы получить доступ к опциям промежуточных сумм для поля. На рис. 3.3 показано диалоговое окно после использования опции Допол- нительно. Рис. 3.3. Диалоговое окно для настройки полей в области данных сводной таблицы включает в себя параметры промежуточных сумм. Чтобы получить доступ к нижней части диалогового окна, щелкните на кнопке Дополнительно
56 Глава 3 Примечание Вы также можете активизировать диалоговое окно Вычисление поля сводной таблицы для отдельного поля, щелкнув правой кнопкой мыши на поле и выбрав команду Параметры поля. Настройка имен полей Каждое поле в итоговой сводной таблице имеет имя. Полей в областях строки, столбца и страницы имеют названия, заимствованные у заголовков в исходных данных. Полям в области данных задаются такие имена, как Сумма по полю Revenue. Очень часто им можно давать в сводной таблице другие имена. Вы можете использовать имя Общий доход вместо названия, задавае- мого по умолчанию. В подобных ситуациях без команды изменения имен по- лей просто не обойтись. Активизируйте диалоговое окно Вычисление поля сводной таблицы, дважды щелкнув на имени поля в сводной таблице. В текстовое поле Имя вве- дите новое имя. Вы можете ввести произвольное уникальное имя. Одна из распространенных ошибок именования заключается в переименовании поля Сумма по полю Revenue на Revenue. Проблема состоит в том, что это имя использовать недопустимо, поскольку оно не уникальное: в исходных данных уже задано поле Revenue. Чтобы обойти это ограничение, вы можете задать полю имя, добавив в его конце пробел. Программа Excel решит, что имя Revenue с пробелом отличается от имени Revenue без пробела. Но вряд ли пользователи, для которых предназначена таблица, станут обращать внимание на пробел в конце имени поля. Новое имя отображается в сводной таблице. Взгляните на ячейку АЗ на рис. 3.4. Имя Revenue более удобно, чем имя по умолчанию Сумма по полю Revenue. Использование в полях данных числовых форматов Числа в сводной таблице можно форматировать в соответствии с потреб- ностями (например, Числовой, Денежный или Процентный). Вместо того чтобы пытаться настроить вид возвращаемых результатов сводной таблицы с помощью панели инструментов Форматирование, вы с легкостью можете управлять числовым форматом поля, используя диалоговое окно Вычисление поля сводной таблицы. Задайте для поля числовой формат, и он будет при- менен ко всем ячейкам даже после представления отчета в новом виде. Вы наверняка обратили внимание на то, что диалоговое окно Вычисление поля сводной таблицы для полей данных содержит кнопку Формат. Щелкни- те на ней, чтобы получить доступ к вкладке Числовые форматы диалогового окна Формат ячеек. В ней вы можете задать любой стандартный или собст-
Настройка полей сводной таблицы 57 венный числовой формат для элементов данных. На рис. 3.5 показан результат использования собственного числового формата для отображения долларов с тысячными долями после запятой. Рис. 3.4. Имя, введенное в диалоговое окно Вычисление поля сводной таблицы, представляется в сводной табли- це. Хотя имена должны быть уникальными, вы можете заставить Excel воспринимать похожее имя, добавив в его конце пробел Рис. 3.5. Используйте кнопку Формат диалогового окна Вычисление поля сводной таблицы для управления числовыми форматами поля данных Изменение итоговых расчетов При создании отчета сводной таблицы мастер сводных таблиц по умолча- нию суммирует данные, подсчитывая и складывая элементы. Вместо функций
58 Глава 3 сумм или счет вы можете использовать такие функции, как макс, мин, СРЗНАЧ и т.д. Всего в сводных таблицах итоги подсчитываются с помощью 11 функций. Однако самая распространенная причина изменения итоговых рас- четов заключается в подсчете элементов данных в тех ситуациях, когда их нужно суммировать. Подсчет данных при существовании всего одной пустой ячейки Если все ячейки в столбце содержат числовые данные, программа Excel просуммирует их. Если же хотя бы одна ячейка в столбце пуста или содержит текст, то программа подсчитает количество элементов данных. Не забывайте об этом при перетаскивании полей в область данных сводной таблицы. Если ито- говая сумма получилась слишком маленькой, проверьте, не задана ли для поля операция Количество вместо Сумма. При создании сводной таблицы, пока- занной на рис. 3.6, вы должны заметить, что компания имеет доход всего лишь 41549 долл, вместо 800 млн долл. Это первый признак того, что заголовок в ячейке АЗ читается как Количество источников доходов вместо Общий доход. Число 41549 представляет количество записей в наборе данных. Количество по полю REVENUE REGION v Итог North 13729 South 15361 West 12459 ОКщий итог 41549 Рис. 3.6. Доходы компании значительно заниже- ны. Обратите внимание на то, что в ячейке АЗ программа Excel подсчитывает количество источ- ников дохода вместо их суммирования. Это часто происходит в результате случайной вставки пустой ячейки в столбец Итог Вы с легкостью можете заменить операцию Количество. Откройте диа- логовое окно Вычисление поля сводной таблицы, дважды щелкнув на имени Количество по полю Revenue, и замените операцию Количество опера- цией Сумма. Использование других операций Программа Excel предлагает воспользоваться итоговыми операциями в разделе Операция диалогового окна Вычисление поля сводной таблицы. Сумма. Суммирует все числовые данные. Количество. Подсчитывает количество всех ячеек, включая ячейки с числами, текстом и ошибками. Операция эквивалентна функции Ex- cel =СЧЕТЗ ().
Настройка полей сводной таблицы 59 Среднее. Вычисляет среднее значение. На рис. 2.7 показан отчет, представляющий средний объем продаж по региону и торговому на- правлению. Аналитик может заинтересоваться тем, что средний объем продаж копировальных устройств на юге на 7000 долл. Больше, чем объем продаж на западе. Рис. 3.7. Средний объем продаж по каждому региону и каж- дому торговому направлению Максимум. Выводит максимальное значение. Минимум. Выводит минимальное значение. Произведение. Перемножает все ячейки. Например, если ваш набор данных содержал ячейки с числами 3, 4 и 5, то в результате будет выве- дено значение 60. Количество чисел. Подсчитывает только числовые ячейки. Опера- ция эквивалентна функции Excel =СЧЕТ (). Смещенное отклонение и Несмещенное отклонение. Подсчиты- вает стандартное отклонение. Используйте операцию Несмещенное отклонение, если набор данных содержит полную совокупность. Если набор данных содержит выборку совокупности, используйте операцию Смещенное отклонение. На рис. 3.8 показан результат выполнения двух тестов. Несмотря на то что среднее соотношение студентов по обоим тестам составляет 87%, математический тест выдает более высо- кое стандартное отклонение. Стандартные отклонения описывают, на- сколько плотно группируются результаты в середине зависимости. Смещенная дисперсия и Несмещенная дисперсия. Подсчитывает статистическую дисперсию. Если ваши данные содержат только вы-
60 Глава 3 борку из полной совокупности, используйте операцию Смещенная дисперсия для поиска расхождений в данных. А В D E F 1 Name Test Grade 2 Al Science 87% 1 з Bill Charley Science 87% Data 4 Science 87% ~ K Test ▼ Average of Grade StdDevp ot Grade 5 Dan Science 87% Math 87,0% 3,7% G Ed Science 87% Science 87,0% 0.6% - FranL Ccianra azfidd Рис. 3.8. Низкое стандартное отклонение в тесте по естественным наукам означает, что практически все студенты правильно пони- мают рассмотренные ими концепции. Более высокое стандартное отклонение в тесте по математике говорит о том, что степень по- нимания студентами концепций находится в более широком диа- пазоне оценок Добавление и удаление промежуточных итогов Промежуточные итоги являются одной* из самых важных возможностей в отчетах сводных таблиц. Иногда промежуточные суммы и другие элементы не требуется отображать, особенно в случаях вывода более подробной информа- ции, чем простые промежуточные итоги по полям. Сокрытие промежуточных итогов при наличии множества полей строк Если в отчете содержится много полей строк, вывод промежуточных итогов может сбить вас с толку (рис. 3.9). A В C~ 0 JL 1 I 2 3 REVENUE 4 REGION MARKET r LINE OF BUSINESS ▼ MODEL ▼ Итог 5 6 HP 7 ч North Great Lakes Parts 3002C 3002P 4055T ~ 5001C 5001P 357 098 2 180 810 505 943 600 978 174 507 to 41 12 13 14 15 (U. - 16 17 “19 20. Parts Итог 3 820 136 Service Plan 3002C 3002P ’ 4500C* 4500P 5001C 5C0IP 2 506 495 JI 782 810 9955 238 516 729 726 558 2 485 512 Service Plan Итог 27 973 342 Great Lakes Итог 31 793 478 New England Parts 3C02C 3002P 441 2G8 1 553113 Рис. 3.9. Иногда не нужно выводить промежуточные суммы на каждом уровне таблицы
Настройка полей сводной таблицы 61 Вы можете удалить промежуточные суммы, откров диалоговое окно Вы- числение поля сводной таблицы и выберав опцию Нет в разделе Итоги, как показано на рис. 3.10. Рис. 3.10. Чтобы удалить промежуточные суммы на уровне данных Market, используйте опцию Нет раз- дела Итоги Вы должны обязательно удалить промежуточные суммы из внешних полей строк. Повторите эти операции для полей Region, Market и Line Of Business, и вы получите более понятный отчет, показанный на рис. 3.11. 1 2 А в с D E 3 REVENUE у 5 6 7 8 J 10 ii 12 REGION [MARKET ▼ LINE OF BUSINESS * I MODEL Итог N'Tth Gnat Lakes Parts 3002C 3002P ' 4055T " 5001C 357 898 2 180 810 505 943 600 978 174 507 5001P Service Plan 3002C 3002Pj 4500C 4500P " 5001C 5001P 2 506 495 11 782 810 9 955 238 516 729 726 558 2 485 512 13 и Тб 16 17 ’8 19 2U 21 22 23 24 25 26 New England Parts 3002C 3002P 4055T ' 5001C 5001 P~ 441 208 1 553113 466 559 466 164 138 260 Service Plan 3002C _ 3002P" 4500C~ 4500P " 50010 5001 P~ 2 624 059 11 527 076 7 744 218 ' 1 136 300 244 928 ~Тб31 577 Рис. 3.11. После установки опции Нет в разделе Итоги для трех полей вы получите более понятный отчет Добавление множества промежуточных итогов в одно поле В таблицу можно добавить специально настроенные промежуточные ито- ги, выбрав опцию Другие и тип промежуточных итогов, которые требуется
62 Глава 3 вывести. В диалоговом окне, показанном на рис. 3.12, для поля Region ука- зано вывести пять промежуточных итогов. Рис. 3.12. Выбрав в разделе Итоги опцию Другие, вы можете указать несколько промежуточных итогов для одного поля Используя эту опцию, вы можете представить в качестве промежуточных итогов набор базовых параметров поля. В отчете, показанном на рис. 3.13, вы- ведено пять промежуточных итогов для поля Region. А 1 . ] 2 3 revenue т 5 'С . * ? с У То" и REGION . ▼ North 12 North Сумма 13 North Количество 14 North Среднее .15 Nonh Максимум 16 North Минимум 17 Обилий ито г В С MARKET * Итог Great Lakes 36 992 638 New England 37 341 224 New York North 41 493 673 New Yoik South 29 482 893 Ohio 42 703 71H Shenanduah Valley 56 233 581 South Carolina 32 744 890 276 992 617 13 729 20176 296 091 1 276 992 617 Рис. 3.13. Вместо простого суммирования или подсчета количества в отчете представлена раз- нообразная статистика для поля Region Параметры промежуточных итогов До настоящего момента мы создавали сводные таблицы без использования дополнительных возможностей. Если требуется создать промежуточные итоги или сравнить один элемент с другим, то воспользуйтесь следующими восемью настройками. Чтобы получить доступ к списку дополнительных параметров, откройте диалоговое окно Вычисление поля сводной таблицы и щелкните на кнопке Дополнительно. На экране появится диалоговое окно Дополнительные вы- числения.
Настройка полей сводной таблицы 63 Возможность создания собственных расчетов представляет собой еще один пример уникальной гибкости отчетов сводных таблиц. С помощью опций До- полнительные вычисления вы можете изменять расчеты для отдельного поля данных на основе других ячеек области данных. При щелчке на кнопке Дополнительно отображаются настройки раздела Дополнительные вычисления. На рис. 3.14 показаны восемь дополнитель- ных вычислений, доступных в раскрывающемся списке Дополнительные вычисления. Вычисление поля «водной таблицы Дополнительные ьычи .ления: Рис. 3.14. Щелчком на кнопке Дополнительно от- крываются дополнительные параметры для вы- числений поля данных Вывод ежегодных изменений Организации, как правило, всегда сравнивают результаты своей деятельно- сти за текущий месяц с результатами, полученными в предыдущем месяце. Если же их деятельность является сезонной, то сравниваются результаты дея- тельности за текущий месяц с результатами, полученными за этот же месяц в прошлом году. Чтобы получить такой отчет, дважды щелкните в поле Revenue, а затем щелкните на кнопке Дополнительно. В списке Дополнительные вычисления выберите опцию Отличие. Поскольку вам нужно сравнить один год с другим, в списке Поле выберите Годы. В области Элемент содержится несколько зна- чений. Если вы всегда будете сравнивать текущий год с предыдущим, выбери- те опцию (назад). Если у вас имеются данные за несколько лет и вы хотите всегда сравнивать эти данные с данными за 2003 год, выберите 2003. На рис. 3.15 показаны настройки диалогового окна вместе с отчетом, полу- ченным в результате применения этих настроек. В отчете указывается, что в январе 2004 года прибыль составила на 1 058 180 долл, больше, чем в том же месяце в 2003 году.
64 Глава 3 Рис. 3.15. Опция Отличие позволяет сравнивать результаты за два различных периода времени Предупреждение При использовании опций из списка Дополнительные вычисления программа Excel не меняет заголовки для указания изменений в выводимых данных. Поэтому имеет смысл вручную добавлять заголовки для сводной таблицы, чтобы в даль- нейшем информировать о том, какие именно данные выводятся. Сравнение результатов одного года с результатами другого года с помощью настройки Приведенное отличие Эта .настройка подобна опции Отличие. С помощью настройки Приведенное отличие изменения выводятся в процентах относительно значения базового эле- мента. На рис. 3.16 показан отчет, где данные за 2004 год выводятся как процент- ное изменение данных за 2003 год. Отслеживание данных с начала года до настоящего момента с помощью настройки С нарастающим итогом в поле Если вам нужно сравнить общую сумму дохода с начала года до настоящего момента помесячно, то вы можете применить настройку С нарастающим ито- гом в поле. На рис. 3.17 показано, что поле Revenue настроено для отображе- ния нарастающего итога за месяц. Такой тип отчета свидетельствует о том, что за март организация получила прибыль в размере 204 млн. долл. Вклад каждого торгового направления в итоговую сумму Руководитель компании часто интересуется, какой вклад в объем продаж в процентах вносит каждое направление деятельности компании. Чтобы вывес- ти такой отчет, используйте настройку Доля от суммы по столбцу (рис. 3.18).
Настройка полей сводной таблицы 65 Каждый столбец будет сопоставляться со значением 100%. В отчете указано, что продажа принтеров составила 7,83% в январе и только 6,5% в апреле. Рис. 3.16. Опция Приведенное отличие указывает, что прибыль за январь 2004 года на 3,24% выше прибыли за январь 2003 года А-] В С 0 | F 1 п* 2 _____________________ 3 |Сумма no*D^Months < "5" «3 7 8 9 10 11 121 13 14 15 1J 17 18 19 20 >3 | 22 23 24 2b 2C LINE OFEwr Jan_______Feb Mai Copier Sale Б 046 248 12 791 545 19 847 240 27 052 423 34 367 299 Parts 6 676 438 13 749 411; 20 923 077 27 874 735 34 9U9 057 Printer Sale 4 842 852 1ь 480 015 16 368 698 21 499 508' 27 358 984 Service Plan 48 861 538 98 025 558 147 352 OK- 195 733 675 245 097 076 Общий итог 66 427 076 135 046 529 204 491 025 272 160 341 341 732 416 28 29 30 311 32 Рис. 3.17. Опция С нарастающим итогом в поле очень удобна для подсчета итогов с начала года до настоя- щего момента
66 Глава 3 Рис. 3.18. Настройка Доля от суммы по столбцу указы- вает процентное соотношение в каждом столбце Сезонные отчеты Этот тип отчетов применяется при анализе сезонной деятельности компа- нии. Настройка Доля от суммы по строке указывает процентное соотноше- ние в каждой строке. На рис. 3.19 показан отчет, в котором выведено про- центное соотношение прибыли по каждому месяцу. Вывод процентного соотношения для двух полей с помощью настройки Доля от общей суммы Настройку Доля от общей суммы можно использовать в самых разных от- четах. На рис. 3.20 показан отчет по регионам и торговым направлениям. Зна- чения в каждой ячейке представляют процентное соотношение распределения продаж по данному региону и направлению. В ячейке Е8 показано, что при- быль по направлению Service Plan составляет около 70% от общей прибы- ли. Прибыль по направлению Service Plan в южном регионе составляет около 27% от общей прибыли в этой отрасли. Сравнение строк с помощью настройки Доля Настройка Доля позволяет сравнивать один элемент с другим. Она приго- дится при установке взаимосвязи между продажей комплектующих и прибы- лью за обслуживание. Создайте сводную таблицу, которая будет сравнивать доходы в каждом направлении деятельности с прибылью за обслуживание. Ре- зультат показан на рис. 3.21.
Настройка полей сводной таблицы 67 Рис 3.19. Опция Доля от суммы по строке обеспечивает вы- вод в каждой строке процентного соотношения доходов. Она отлично подходит для представления сезонных данных. На основе данного отчета мы можем заключить, что прода- жа принтеров не зависит от сезона Рис ЗЛО. Настройка Доля от общей суммы генерирует от- чет, в котором каждая ячейка представляет процентное со- отношение от общего объема продаж. Управляющий отде- лом обслуживания северного региона может использовать этот отчет, чтобы потребовать премию за текущий год
68 Глава 3 Рис. 3.21. Западный регион способен реализовать больше комплектующих при обслуживании клиентов, чем другие регионы. Данный отчет создан с использованием настройки Доля от прибыли за обслуживание в качестве основного элемента Отслеживание относительной важности с помощью настройки Индекс Последней в списке стоит опция Индекс, название которой мало о чем го- ворит. Работники компании Microsoft утверждают, что этот тип вычислений описывает относительную важность ячейки в столбце. Взгляните на рис. 3.22. А в I С 0 Е 1 2 3 (Сумма па полю ПРОДАЖИ РЕГИОН Ч 4 Фрукты ▼ Джорджия Калифорния Теннесси Общий итог 6 'Бананы $10 $2001 $10 $220 6 «Киви $10 $200 $111 $220 7 [Персики $180 $100 $10 $290 8 | Яблоки $10 $100 $8 $118 9 ,,Общий итог $210 $600 $38 $848 Рис. 3.22. Используйте эти числа, когда будете выполнять сле- дующий пример Чтобы вычислить индекс для персиков, программа Excel вначале выполнит операцию Персики штата ДжорджияхОбщий объем продаж. В числах это выражается как 180x848. Далее, программа выполнит операцию Продажи в
Настройка полей сводной таблицы 69 штате ДжорджияхСтоимость персиков. В числах это представляется как 210x290. Затем программа разделит первый результат на второй и выведет ин- декс относительной важности 2,51. Отчет с учетом индексов показан на рис. 3.23. С точки зрения Microsoft, персики больше нужны штату Джорджия (индекс 2,51), чем штату Калифор- ния (индекс 0,49). • -/ L л.Л . А в С - 1111" 'Ч .! о е 1 П 2 2 3 Сумма по полю ПРОДАЖИ РЕГИОН «г 4 Фрукты * Джорджия Калифорния Теннесси Общий итог 5 Бананы 0.1К 1,28; 1,01 1,28] ’1.01 1,00 6 Киви 0J8 1,00 7 Персики 2,51 0,49 0,77 1,00 6 Яблоки 0,34 1,20 1.51 1,00 9 j Общий итог 1,00 1,оо; 1,оо 1,00 Рис. 3.23. При использовании настройки Индекс, предлагаемой Microsoft, оказывается, что персики играют большую роль в жизни жителей штата Джорджия Даже если в штате Джорджия продается больше яблок, чем в Теннесси, для жителей Теннесси (индекс 1,51) они более важны, чем для жителей Джорджии (индекс 0,34). Соответственно, яблочный кризис приведет к восстанию скорее в штате Теннесси, чем в Джорджии. Доходы по направлениям деятельности Вам предстоит создать отчет, в котором представлена полная информация о про- дажах по направлениям торговли. В анализ требуется включить прибыли по на- правлениям торговли для каждого рынка сбыта, процент продаж длй каждого на- правления торговли и процентное соотношение общей суммы прибыли для каж- дого рынка сбыта по направлениям торговли. Ниже детально рассмотрены операции по созданию такого отчета. * ' f"' 1. Поместите курсор в источник данных. Перейдите к строке меню и используйте команду Данные^Сводная таблица. 2. В диалоговом окне Мастер сводных таблиц и диаграмм щелкните на кнопке Готово. Будет создан .новый рабочий лист с отчетом сводной таблицы в начале и списком полей, как показано на оис. 3.24. 3. Перетащите поле Market в область строк. Затем перетащите поле Line of Business в область столбцов, как показано на рис. 3.2Б. 4. Три раза перетащите поле Revenue в область данных, чтобы создать три от- дельных элемента данных о продажах, как показано на рис. 3.26. ' 5. Щелкните правой кнопкой мыши на поле Revenue и примените команду Па- раметры поля, как показано на рис. 3.27.
70 Глава 3
Настройка полей сводной таблицы 71 бы открыть диалоговое окно Формат я^еек. Измените формат ячеек на Поо- центный, а затем закройте оба диалоговых окна (рис. 3.29). Рис 3.26. Три копии поля Revenue не кажутся лишними ‘ ' ’ / 'Т Й '“’ЧМЯ’ ’ ' *'И&г 1№ Ж,’’ ! I' , I <%W .'ft. ; * -У- №<;' ftv=!?: ;,?Л й' < ’ ft ЛжЗ I ш{и йр; •ft Wi .'ЙЙ < */,ч" 4 '!> ! .•„. Рис. 3.27. Щелчок правой кнопкой мыши приводит к получению досту- па к параметрам поля в отчете с несколькими полями данных Л ” 1 ?£zr'; Л ч 9. Щелкните правой кнопкой мыши на поле Сумма по полю Revenue; 3 и при- мените команду Параметры поля. й/ j. ТО.Переименуиге поле данных на Процент компании и щелкните на кнопке До- полнительно, чтобы получить доступ к настройкам Дополнительные вычисле- ния Выберите опцию Доля от суммы по столбцу. Далее щелкните на кнопке Формат, чтобы открыть диалоговое oi$ho Формат ячеек. Измените Формат яче- ек на Процентный и закройте оба диалоговых окна (рис. 330). - д У
72 Глава 3 alifurni а УПегошм. мн ulf Coart linnis idiana Ко трп CpiA*tW Мак. имуг в» *»WTX W(W ЖИ» iMfrt"*’ г-—П(Ц1>С revenue: 1 ь'мма^С^ПЛкГ fcpVFNI 'FT “ Исходное none; revenue Ичр }Общийобъемпродаж Проиэееде^ж оличество чисел IJL____ь« в-г-юл-гт « ГЦСГ <1'оргм( ячеек з: ОК Отмена /лепить Дополнительно» J _1»л . «ЧЧ.. "К- НИГГМЧИГ1 Сумма по полю REVENUE? Сумма по полю REVENUE Сумма по полю REVENUE2 Сумма по полю REVENUES Сумма по полю REVENUE Сумма по полю REVENUE? Сумма по полю REVENUES Сумма по полю REVENUE Сумма п. полю REVENUE? IX* -л. U. 4 .DC ,4Й~М1 и I. Число j Общий Финансовым Дата Сроил Процентный Дробный Экспоненциальный Текстовый ополнительный все ферматы) ираэец Сунна по полю Rtv'SUE Число десятичных в«акаг '"*5ми*чение‘ ]$ Английский .США) <ГТМ дательные числа: Н I . . 4- . »м- ]? г г 5! 234 -$1234 Формат 'Денежный ж ^льз,атся для отгиоажениа денежных величин. Для значений по десятичному разделителю игпользуйте формат ФиченссеыГ, ] Отмена <£1,6607.. III Ml «АыЫ. хи . 444 11 Г-1 лосапэм Рис. 3 28. Установка первого элемента поля Revenue как стандартного и э; Ff F' J 7. Ё Ji: wrwr WT4R- ь? лети-' „Сумма л» полю REVENUE? 1 J2 Отмена /делить формат и ....... |Ц»Л- ........I4.ll... -Ri-IR.i^-nW- itl Иц;одно*snone: REVENUE , Ияя; | Доля рынка or Qnapawi умна ок пс ia 101 X ЙЕ Формат ячеек KoflM4ejTB-j Среднее Мак ичум Минимум Произведение Количеств-» чисел 'пополнительно >> t - J Л Jp h I CvHMa по ирлю REVENUE? Число десятинные знаков. Чис» {^меловые форматы; Общим Числовой Денеж ь г. Финансовый Дата Время ДопогыитеЛ. ные I муислнмия [on от суммы по строке W.-iM iai М4 ’> СТ STOPE TN LALANCE DATE FISCAL PERIOD ОЬхпкм-..—, Сумма по полю REVENUES 0Й1>И»|1 ftfil Cl»< г X и Дрсбный Эклонеициальныи Текстовый Дапо» читальный (все форматы) е ₽ процтмтном формате энеченч» ячыы утвюжчется на 100 и выводится на »рам с символои процента. 1Е _р1 361 €£ R... 3 L1L $ ’..££, . я£м OK I Отмена ,6. £61 460, и 1: 34 I Ь74 )„41 „Д Рис. 3.29. Использование опции Доля от суммы по строке для получения процентного соотношения рынка гггттпг Йом»-' ьал' tvuuiww иивеж'тлшаж.-г- ^ЯМЯЯМЯ - Исходное по ле: REVENcC (фи: |процент компании - >ж>ация: । _ ни > d ‘'оличестгэ Среднее Mvc““ч Минин »м Проиаведем Количество чисел it ДлпоЛниТО™“Вымиг л «я |доля от суммы по столбцу “Tito II j MARKET i 5TuRE I IN BALANCE 0АП. “i>:ai period ИООЕ1 awurj агт 2 О sauSSSt Формат ячеек '«Л»*!? 5> СК Отмена Mtrio <ф«лоеые форматы усг зли удалил» Дополнительно » общий Числовой Денежный Финанси! дет-. время______ TJ Сумма по ПОЛЮ REVENUE! "»* .44- . • - - (ж* ысло десятмчммх 1накл>' г/» fl ) 9 ) 0 5c 3 Ё Доля рынка I. хммд-дглп,ол РЬ.^ЕЛЦ JR. В I Дробней Экспо ченциалыыЛ Текстовый Дополнительный форматы) В пргцантнок формате значение ячеег уннчжаето на 100 и выводился на экран с симмлом процента отмене 'teTWhli зетзк 9 i i 1 i i 3 5 * 5 9 Рис. 330. Использование опции Доля от суммы по столбцу для подсчета процентного соотношения прибылей компании
Настройка полей сводной таблицы 73 На этом анализ по направлениям торговли закончен (рис. 3.31)1 В вашем распоря- жении имеется поле Обший объем продаж, в котором указаны продажи по на- правлениям торговли на каждом рынке. Кроме того, в поле Доля рынка выводят’ ся в процентах объемы продаж для каждою направления торговли на рынках. И наконец, у вас есть поле процент компании, в котором указаны продажи в ка- ждом направлении торговли в виде процентного отношения к общему объему продаж компании. 1 А В с D E F G .2 , i 3 Отрасль торговли *| 4 РЫНОК ▼ Данные Oversale Parts Pnntei Sale Service Plan Общий итог 6 Cilifcmia Общий обеим продаж 14 020 385 $8 720 027, $3 570 593 145 325 727 $61 636 732 6 Доля рынка 7% 14% 6% 74% 100% 7 Процент компании 5% 10% 5% 8% 8% Л Central Общий )бъс м продаж $3506 717 $2 487 047 $3 414 010 $21 096 068 $30 503 842 9 Доля рынка 11% 8% 11% 69% 100% 10 Процен! компании 4% 3%‘ 5% 4% 4% 11 Colorado Общий объс м продаж $3113 591 $1 862 325 $3124’24 $18116 561 $26 217 201 12, Доля рынка 12% 7% 12% 69% 100% 1Э Прпцент компании 4% 2% 5% 3% 3% 14 Florida Общий объем продаж $3 783 617 $5 037 083 $4 823 314 $33 718 447 $47 362 461 15 Доля рынки 8% 11% 10% 71% 100% 16 Процент компинии 4% 6% 7% 6% 6% 17 Great Lakes Общий объем продаж $1 929 517 $3 820 136 $3 269 643 $27 973 342 $36 992 638 18 Доля рынка 5% 10% 9% 76% 100% 19 Процент КОМПАНИИ 2% 5% 5% 5% 5% 20 Gulf Coast Общий объем продаж $5 830 888 $4 889 568' $2 685 703 $31 753 026 $45 159 185 21 Доля рынка 13% 11% 6% 70% 100% 22. Процент компании 7% 6%' 4% 6% 6% 23* Illinois Общий объем продаж $2 989 768 $3 830 407 $3 562 893 $31 718 353 $42 101 421 24 Доля рынка 7% 9% 8% 75% 100% 25 Процент компании 3% 5% 5% 6% 5% 26, Inuiana Общий объем продаж $3 616687 $4 342 1'H $4 958 038 $28 126 6281 $41 043 454 HR 4 4, II Доля рынка 5% 11% 12% 69% 100% Процент компании 4% -™ r - : 5% 7% 5% 5% ' ' - -Й « &’ ' V Зь VI * f чЛ • . 1 ? f н Г * , 1 Рис. 3.31. Готовый отчет с тремя типами расчетов для каждой ячейки данных У Дальнейшие шаги В следующей главе мы обсудим принципы использования таких настроек форматирования отчетов сводных таблиц, как Автоформат, концепции уста- новки параметров форматирования, а также добавления собственных стилей.
Форматирование отчета сводной таблицы 4 В ЭТОЙ ГЛАВЕ Использование опции Автоформат Хоть это может звучать тривиаль- но, форматирование очень важный аспект создания отчета сводной таб- лицы. Сводные таблицы позволяют с легкостью создавать отчеты, в кото- рых итоговые данные получаются в результате суммирования значений по множеству полей. При попытке вывода множества полей на двухмер- ном листе бумаги у вас могут возник- нуть непредвиденные проблемы с рас- четом сумм. Помимо вывода отчетов сводных таблиц на профессиональном уровне, форматирование помогает соз- дать эффект представления сводной информации, полученной на основе большого объема данных. Правильное форматирование повышает удобство восприятия отчетов сводных таблиц и улучшает понимание полученных данных. Одним из встроенных инструмен- тов Excel, используемых при формати- ровании отчетов, является функция Автоформат. Даже если вы никогда не применяли команду Автоформат в Ex- cel, вам все равно придется изучить принципы ее использования в сводных таблицах. Функция Автоформат осно- вана на именах полей и промежуточ- ных суммах сводной таблицы. Использование опции Автоформат................75 Применение собственных стилей....................79 Настройка параметров таблицы...................81 Дальнейшие шаги...........91
76 Глава 4 При создании отчета сводной таблицы мастер сводных таблиц автоматиче- ски применяет опцию Автоформат. По умолчанию мастер использует формат Классическая сводная таблица. Другие варианты команды Автоформат дос- тупны в диалоговом окне Автоформат. Второй значок в панели инструментов Сводные таблицы имеет изображе- ния молнии на таблице. Используйте эту кнопку для применения к сводной таблице форматирования, заданного в диалоговом окне Автоформат. В качест- ве альтернативы вы можете выбрать любую ячейку в сводной таблице и приме- нить команду Автоформат из меню Формат. 1 2 3 4 J • 8 ’10 J “12 13 j 1Т tel А ' .... В C D Сумма по полю REVcb LINE OF BUSINESS ▼ REGION ▼ MARKET * Итог Copier Sale I • North Great Lakes 1 929 517 New England 6 011 684 New York North 3 932 881 New York South 1 641 970 Ohio 2 381 299 Shenandoah Valley South Carolina 4 244 770 5 751 497 North Итог 25 893 618 South Florida 3 783 617 Gulf Coast 5 830 888 Illinois 2 989 768 IF 1 17 19 20 2Г Indiana 3 616 687 Kentucky 5 872 430 North Carolina 3 763 158 Tennessee Texas 6 323 837 4 531 085 South Итог 36 711 470 Wi st California 4 020 385 23 24 Central 3 506 717 Colorado 3113 591 North West 3 179 141 Southwest 4 532 147 Терека 5 624 620 West Итог 23 976 601 29 Copier Sale Итог 86 581 689 30 31 Farts North Great Lakes 3 820136 New England 31)65 304 Рис. 4.1. Исходный вид сводной таблицы Вы можете выбирать из 22 различных форматов: 10 форматов отчетов, 10 форматов таблиц, формат Классическая сводная таблица по умолчанию и стиль Нет. Ничего сложного в автоматическом форматировании нет. Просто выберите нужный формат и щелкните на кнопке ОК, как показано на рис. 4.2. При выборе одного из форматов отчета (один из десяти) структура сводной таблицы будет изменяться. Сравните отчет на рис. 4.1 с отчетом на рис. 4.3. Единственное различие состоит в том, что в диалоговом окне Автоформат был выбран Отчет 5. Программа Excel переместила поле Line of Business из области столбцов в самое дальнее поле области строк, чтобы принять во внимание отступы и придать отчету сводной таблицы структурированный вид.
Форматирование отчета сводной таблицы 77 Рис. 4.2. Выберите формат и щелкните на кнопке ОК. Если сущест- вующий формат не соответствует вашему вкусу, то вы с легкостью сможете заменить его другим ч А ' В C D 1 2,. г 3 1 INI 01 BIISINI SS RS IUGIONB MARKF1 Я RIVINlll 4 Copier Sale - S Not th 6 Great Lakes 1 929 517 7 New England 6 011 684 6 New fork N ^rth 3 932 881 .9 New fork South 1 641 970 10 Ohio 2 381 299 11 Shenandoah Valley 4 244 770 12 South Carolina 5 751 497 13 North Htoi 25 89 < 61« 14 15 South • 16 Florida 3 783 617 17 Gulf Coast 5 830 888 18. Illinois 2 989 768 19 Indiana 3 616 687 20 Kentucky 5 872 430 21 North Carolina 3 763158 22 Tennessee 6 323 837 231 Texas 4 531 085 South Итог 36 711 470 25 26 West 27’ California 4 020 J85 ТВ Central 3 506 717 Colorado 3113 591 30 North West 3179141 31 Southwest 4 532 147 32 Topeka 5 624 620 Рис. 4.3. Любой из десяти стилей отчета Автоформат реорганизует отчет с целью устранения полей столбцов При выборе одного из десяти форматов таблицы структура вашего отчета сводной таблицы сохраняется, в то время как изменяются другие атрибуты. На рис. 4.4 показана исходная сводная таблица после выбора формата Таблица 7 в диалоговом окне Автоформат.
78 Глава 4 А c 0 e J. F G 11 . j. 1 » 2| I I ! T ( I s 1 s L J П 1j 3 REVENUE LINF Of BUSINESS t! CTri gion Г MARKU ( npiei Sato Parts Piinloi S .It- 4t‘ivire Plan Обций итог 5 North Great Lakes 1 929 517 3 820136 3269643 27 973 342 36 992 638 6 New England 6 011 684 3 065 304 3 356078 24 908 158 37 341 224 7 J New York North 3932881 4 821 G41 4828599 27 911 152 41 493 673 8 New York South 1 641 970 2 530 757 1 173 574 24 136 592 29 482 893 9 ' Ohio 2 381 299 4 692 767 3 960 185 31 669 467 42 703 718 ioj Shenandoah Valley 4 244 770 6 967670 2 329 461 42 69168П 56 233 581 11J South Carolina 5 751 497 3 165 496 1 703 777 22 124 120 32 744 890 !2 Лет. Ид». „•Lx - ' L 25 » 063 171 2НИ 317 201414511 276 992*17 13 ’ 14 South Florida 3 783 617 5 037 083 4 823 314 33 716 447 47 362 461 15; Gulf Coast 5830 888 4889 568 2685 703 31 /53 026 45 159 185 16j Illinois 2 989 768 3 830 407 3562 893 31 718 353 42 101 421 17 Indiana 3 616 687 4 342 101 4958 038 28 126 628 41 043 454 18J Kentucky 5 872 430 3 687 359 3662 458 24 141 3A5 37 363 632 191 North Carolina 3 763 15b 3804 215 2 311 /33 24 203248 34 082 354 20 Tennessee 6 323837 2 830 384 3505 02a 20 905132 33 564 381 Texas 4 531 085 2 784 152 2 644 097 29 184 088 39 143 422 22 South Итог . I 36 711470 . 31205269 28153 244 223750 307 319820310 123 24Wtst California 4020 385 8 720 027 3 570 593 45 325 727 61 636 732 1Й Central 3506 717 2 487 047 3 414U10 21096068 30 503 842 26 Colorado 3113 591 1 862 325 3 124 724 18116 561 26 217 201 North West 3179141 3 66L700 2 807 395 19 275907 28 923 143 28 Southwest 4 532147 2 355 409 3 465 741 18 971 990 29 325 287 Topeka 5 624 620 * 584 545 3211 734 26 555008 39975907 Iboi 23 976 601 7 j 670 - 19 594 197 149 34 1 201 5W112 Э1 32 Ооинй итог I 80 581689 83138 493 68Э65П8 574 И№ 079 813 395 039 Рис. 4.4. Любой из десяти стилей таблиц Автоформат будет поддерживать исходный формат таблицы, применяя стили к различным уровням промежуточных сумм При выборе опции Классическая сводная таблица ваш отчет вернется в со- стояние форматирования по умолчанию, как показано на рис. 4.5. T . .... ,f г > к CP r 1 i .JF.. „ <3 1 1 t f..... --- -—J l‘ 1 1 r — f —— J - ’ ' - - - i ' 3 {Суммаnone HNE OF BUSINESS 4 REGION w MARKET . <r Copier Sale Parts Printer Sale Service Plan Общий итог 5'^North Great Lakes 1929517 3820136 3269643 27973342 36392638 й New England 6011684 3065304 3356078 24908158 37341224 J Npw York North 3932881 48210411 4828599 27911152 41493673 A JB New York South 1641970 2530757 1173574 24136592 29402893 9 Ohio 2381299 *692767- 3960165 31669467 42703718 10 SI 'wandoah Val'ey 4244770 6967670 2329461' 42691680 56233581 H South Carolina 5751497 3165496 1703777 22124120 32744890 12 North Итог 25893FI8 29063171' 20621317- 201414511 276992617 13. South Florida 3783617 5037083 4823314 33718447 47362461 M’ Gulf Coast 50308£fc 2685703 31753026 45153185 15 Illinois 2989768 ЗЯА04П7 3562893 31718353 42101421 16 Indiana 3616687 4342101: 4958038 28126628 41043454 17 Kentucky 5872430 3687359 3662458 24141385 37363632 18 North Carolina 3763158 3804215 2311733 24203248 34082354 It Tennessee 6323837 2830384 3505028 20905132 33564381 20 Texas 4531086 2784152 2644097 29184088 39143422 21 South Итог 36711470 31205269, 28153264 223750307 319820310 22 West Ca’ifomia 4020365 8720027 3570593 45325727 61636732 23 Central 3506717 2467047 3414011' 21096068 30503842 Colored 31135911 1862325 3124724 1Ы16561 26217201 25 North West 3179141 3660700 2807395 19275907 28923143 '26 Southwest 4532147 2355409 3465741 18971990 29325287 1npeka 5624620 4584Г45 3211734 26555008 39975907 28 West Итог 2Я976601 23670053 19594197 149341261 216582112 29 ОбкЦИЙ итог 86581689 83938493 68368778 574506079 813395039 Рис. 4.5. Формат Классическая сводная таблица При выборе опции Нет все форматирование цвета и границ будет отменено.
Форматирование отчета сводной таблицы 79 Применение собственных стилей Опция Автоформат вполне удобна для форматирования отчетов сводных таблиц, но иногда ее может оказаться недостаточно для получения требуемого результата. В таких случаях вы можете вручную применить форматирование, соответствующее вашим потребностям. При применении собственного стиля форматирования можно указать це- левую ячейку в отчете сводной таблицы либо целевой раздел с отчетом. Предположим, к примеру, что каждое поле Market в отчете сводной таб- лицы на рис. 4.6 нужно отформатировать таким образом, чтобы на черном фоне отображались белые буквы. Кроме того, когда вы наводите указатель на поле Market, его изображение должно измениться на крестик. Если переместить указатель чуть выше, он превратится в черную стрелку, как показано на рис. 4.7, указывая на элементы данных в поле Market. Это говорит о том, что любое действие, предпринятое на данном этапе, повлияет на все элементы данных в поле Market. Если вы щелкнете здесь кнопкой мыши, будут выделены все элементы данных в поле Market. Рис. 4.6. Обратите внимание на указатель мыши в ячейке В4. Будет выбрана только от- дельная ячейка Рис. 4.7. Переместите указатель чуть вверх, и он превратится в черную стрелку. Щелчком кнопкой мыши будут выделены все ячейки поля Market Теперь форматирование с использованием стандартной панели инст- рументов будет применено ко всем элементам данных в поле Market. На рис. 4.8 показана сводная таблица после выбора белого шрифта и черного фона. Используя этот метод, вы можете форматировать все элементы данных в заданном поле, все экземпляры отдельного элемента данных, промежуточные суммы и общие итоги. Рассмотрим эту же сводную таблицу и отформатируем все промежуточные суммы поля Region. Наведите указатель мыши на левый угол ячейки одной из промежуточных сумм, как показано на рис. 4.9, чтобы он превратился в черную стрелку. Затем щелкните мышью для выбора всех промежуточных сумм Region. Установите серый фон и полужирный шрифт для изменения промежуточ- ных сумм, как показано на рис. 4.10.
Глава 4 А E 1 2 А Сумма по п? LINE OF BUSINESS * 4 REGION vi MARKET Copier Sale 6 North Great Lakes 1929517 6 Mew 6011604 7 Npw 'i ofk North 3932881 8 NhW V Ork South ~ 1641970 9 Ohio 2381299 .10 STHnandciah y^lley 4244770 - 11 S 4th Carolina 5751497 12 North Итог 258936 IB 13 South Florida 3783617 14 Gulf Ctf^st 5830888 15 Illinois 2989768 16 Indiana 3616687 171 kentuuky * 5872430 19 hhtrth Carolina 3763158 f. Ml. "1-:; 4a '** r 14 - 19 Tennessee 6323837 4531085 21 South Итог 36711470 22; West California 4020385 23 Central 3506717 24 t olnrado 3113591 25 North We-t. 3179141 26 Southwest 4532147 27 Topeka 5624620 40 West Итог 23976601 29 Общий итог 86581689 Рис. 4.9. Поместите указатель мыши в левый угол любой ячейки промежуточной суммы и щелкните ею, чтобы выделить все промежу- точные суммы этого уровня Рис. 4.8. После выбора диапазона Market форматирование с измененными настройка- ми будет применено ко всем ячейкам этого диапазона Рис. 4.10. После использования предыдущей методики для выбора только промежуточ- ных сумм вы можете привязать их все к выбранному формату
Форматирование отчета сводной таблицы 81 Совет Применить форматирование можно одновременно ко множеству разделов отчета сводной таблицы, удерживая нажатой клавишу <Ctrl> во время выделения разделов. Подобным образом вы можете выделить все данные в северном регионе. Наведите указатель мыши в левую часть любой ячейки в диапазоне А5: All для выделения этого региона. Если вы часто пользуетесь сводными таблицами, то можете перетащить на панель инструментов сводной таблицы три новые кнопки. Щелкните правой кнопкой мыши на панели инструментов и выберите опцию Настройка. От- кроется диалоговое окно Настройка, показанное на рис. 4.11. В списке Кате- гории выберите Данные. В списке Команды выберите три значка для выделе- ния сводной таблицы. Эти значки позволят выделять все заголовки, все дан- ные и все заголовки вместе с соответствующими данными. Перетащите их на панель инструментов. Рис. 4.11. Если вы часто применяете форматиро- вание сводных таблиц, добавьте эти три значка на панель инструментов сводной таблицы Настройка параметров таблицы Кроме форматирования цветов и шрифтов в отчете сводной таблицы, вы можете установить дополнительные настройки для модификации вывода и печати сводных данных. Эти настройки указываются в диалоговом окне Па- раметры сводной таблицы. Если вы регулярно используете их, то сможете получить доступ к шагу 3 мастера сводных таблиц, щелкнув на кнопке Пара- метры в нижнем левом углу диалогового окна. После создания сводной таблицы вы можете открыть диалоговое окно Па- раметры сводной таблицы, щелкнув правой кнопкой мыши внутри таблицы
82 Глава 4 и выбрав опцию Параметры таблицы. В качестве альтернативы можно ис- пользовать раскрывающийся список Сводная таблица в левой части панели инструментов сводной таблицы, в которой также присутствует эта опция. Диалоговое окно Параметры сводной таблицы с соответствующими на- стройками показано на рис. 4.12. Настройки раздела Формат описаны далее. Рис 4.12. В диалоговом окне Параметры сводной таблицы настраиваются многие важные параметры форматирования Общая сумма по столбцам В таблице, показанной на рис. 4.13, строка Общий итог с данными за 2003 и 2004 годы не соответствует общему виду отчета. Вы можете удалить эту сумму, сбросив флажок Общая сумма по столбцам в диалоговом окне Параметры сводной таблицы. J 2 №№№ C « I 0 3 4 uata * 1 Years ▼ REGION * Сумма no полю Units Sold Сумма no полю REVENUE F ~ * из;со %. 2003 North South Wist 56 793! 135 798 929 66 539! J59 562 868 44 44?" 108 509 938 6 2003 Итог 167 777 403 871 735 9 То 11 2004 Norths Souths West 59 821 67 303 44 725 141 193 688 160 257 442 108 072 174 12 2004 Итог 171 849 409 523 304 13 Общий итог 339 626 813395 039 Рис. 4.13. Удалите строку Общий итог, сбросив флажок Общая сумма по столбцам в диалоговом окне Параметры сводной таблицы
Форматирование отчета сводной таблицы 83 Общая сумма по строкам При снятии этого флажка будет удалена строка Общий итог в правом крайнем столбце сводной таблицы. Автоформат Если установить этот флажок, то к отчету сводной таблицы будет примене- но форматирование Классическая сводная таблица. Удаление флажка по- зволит сохранить локальное форматирование, которое можно применить к отчету сводной таблицы. Включать скрытые значения При установке этого флажка скрытые элементы области страниц будут применяться для вычисления промежуточных сумм. Заметьте, что этот фла- жок по умолчанию не установлен. Объединять ячейки заголовков Вы можете установить этот флажок, если хотите объединить ячейки, пред- назначенные для вывода названий элементов данных в областях строк и столбцов. Это играет роль, когда в области строк или столбцов сводной таб- лицы содержится два или более полей. На рис. 4.14 ячейки А5: А7 объединены в одну. Также объединены ячейки А8: В8. a C D E 1 X 2 3 1 умма по полю REVENU fears *1 | 4 UNE OF BUSINESS*' REGION * 2003 2004 Общий итог! 5 North 11 932 575! 13 961 043 25 893 6181 6 Copier Sale South 17 137 999- 19 573 471 36 711 470 7 West 11 261 277 12 715 324 23 976 601 8 ‘ Copier Sale Итог 40 331 851 46 249 838 86 581 689 ? North 14 549 5141 14 513 657 29 063 171 W Parts South 16 068307[ 15 116 962 31 205 269 11 West 11 953 661 11 716 392 23 670 053 12 Parts Итог 42 591 482 41 347 011 83 938 493 13 North 10 353 440: 10 267 877 20 621 317 14 Printer Sai® South 13 522 592 j 14 630 672 28 153 264 15 West 9 787 863, 9 806 334 19 594 197 16 Printer Sale Итог 33 663 895 34 704 883 68 368 778 17 North 98 963 400 102 451 111 201 414 511 18 S-‘rvu e Plan South 112 813 970 110 936 337 223 750 307 19 West 75 507 137 73 834 124 149 341 261 Service Plan Итог 287 284 507 207 221 572 574 506 079 _21 Общий итог 403 871 735 409 523 304 813 395 039 Рис. 4.14. Если в области строк содержится два поля, то ус- тановка флажка Объединять ячейки заголовков приведет к интересному эффекту
84 Глава 4 Сохранять форматирование Если установить данный флажок, то при обновлении или изменении маке- та отчета сводной таблицы будет сохраняться все примененное к нему форма- тирование. Повторять подписи на каждой странице печати Этот флажок установлен по умолчанию. Если в таблицу вставлено два поля строк, то программа Excel обведет границей внешние поля строк. На рис. 4.15 показано, что со строки 51 начинается новая страница. Если вы взглянете на страницу 2, то не увидите, что строки с 51 по 53 относятся к южному региону. А 6 С D Е 46 200309 47 200310 46 200311 49 200312 50 200401 51 200402 52 200403 1 53 200404 54 South Итог — - - -- - - . J- - - £6 |West 200205 2 548 022 1 251 669 j 1 013 780 56 200206 2 520 343 1 378 961! 1 111 717 э00207 2 669 125 1 303 234 I 1 033 107 56 200208 2 562 989 1 242 428' 1 153 535 59 200209 2 635 339 1 412 3001 1 188 494: 60 200210 2 605 549 1 304 654 1 081 664 61 200211 2 625 281 пэ — ! S 1 1 ! 1 1 113 338 62 200212 2 645 356 1 359 2551 1 144 328 63 200301 2 437 163 1 284 2831 1 044 733 64 20J302 2 680 026 1 380 290 1 123 591 65 200303 2 534 146 1 264 792i 1 063 034 200304 2 545 919 1 271 3881 1 059 612 67 200305 2 630 135 1 350 862 1 101 925 68 200306 2 603 763 1 264 938 1 092 586 69 200307 2 557 749 1 247 692 1 098 56b 70 200308 2 507 150 1 237 865 1 079 215 71 200309 2 621 078 1295 126 1 150 270! 72 200310 2 522 2821 1 182 0355 1 039 699! 73 200311 2 438 905 1 159Э35Г 1 110 465 74 200312 2 548 131 1 164 606 1 064 975 75 200401 2 377 645Г 1128164 1 054 171 76 200402 2 560 0291 1 243 2921" 1 147 257 77 200403 2 648 348 1 225 0201 1 094 791 78 200404 2 552 259 1 152 016! 1 032 294 79 West Итог 61 636 732 30 503 842 26 217 201 во .'2.б1ьцй иг21 61 636 732 30 503642 26217 201; Рис. 4.15. Сводные таблицы представлены неправильно - название южного региона на странице 2 отсутствует Это одна из более интересных возможностей Excel. Даже если слово South не представлено в ячейке А51, установка этого флажка гарантирует вывод слова South так, как если бы оно было в ячейке А51. На рис. 4.16 показан предварительный вид страницы 2.
Форматирование отчета сводной таблицы 85 Рис. 4.16. Слово South под словом Region будет выводиться даже в том случае, если ячейка не содержит это слово. Это одна из более интересных возможностей програм- мы Excel Флажок Помечать итоги * При активизации этого флажка все промежуточные суммы будут помечены звездочкой, если исходные данные размещаются в источнике данных OLAP и содержат значения, в которых отдельные элементы скрыты. Эта опция предназначена для уведомления пользователей о том, что существуют элемен- ты данных, которые не учитываются в промежуточных суммах. Макет страницы С помощью этого раскрывающегося списка можно изменить ориентацию макета области страниц. Как правило, несколько полей страниц компонуются в виде столбцов, как показано на рис. 4.17.
86 Глава 4 Рис. 4.17. Эта "переделка" полей страниц вы- полнена при выборе значения Вниз, затем поперек из раскрывающегося списка Макет страницы Если вы выберете значение Поперек, затем вниз из списка Макет страницы, как показано на рис. 4.18, то поля страниц будут скомпонованы по строкам. Рис. 4.18. Вы можете перекомпоновать поля страниц, ис- пользуя значение Поперек, затем вниз из раскрывающего- ся списка Макет страницы Важно отметить, что при установке значения Поперек, затем вниз поля страниц будут выстраиваться лишь в одной строке. Чтобы получить нужный эффект, ее следует использовать совместно с настройкой Число полей в столбце (см. рис. 4.18). На рис. 4.19 показаны результаты использования на- строек из рис. 4.18. Хитрость заключается в том, что поля страниц выстроены по двум полям столбца, поскольку параметр Число полей в столбце имеет значение 2. Для ошибок отображать При установке этого флажка можно заменить значение ошибки в отчете свод- ной таблицы любым символом. К значениям ошибок относятся следующие: #####, «ЗНАЧ I, «ДЕЛ/О !, «ИМЯ?, #Н/Д, #ССЫЛКА!, «ЧИСЛО I, «ПУСТО!.
Форматирование отчета сводной таблицы 87 Рис. 4.19. Вы можете управлять отображением полей страниц с помощью настройки Число полей в столбце совместно с на- стройкой Макет страницы Для пустых ячеек отображать Это одна из самых ненужных настроек сводных таблиц. В ячейке в 7 на рис. 4.20 указывается, что 5-го января никаких продаж со склада 2004014 не производилось. Программа Excel указывает на это, оставляя ячейку пустой. Однако наличие пустой ячейки может послужить причиной того, что про- грамма Excel ошибочно станет подсчитывать количество элементов вместо суммирования их значений (см. главу 3). Складывается впечатление, что ком- пания Microsoft нарушает установленные ею же правила, используя пустые ячейки, вместо того чтобы помещать в них нуль. Рис. 4.20. Программа Excel оставляет ячейки пустыми, если в них нет записей о продажах по отдельным датам и складам. Ес- ли вы предпочитаете, чтобы пустые ячейки были заменены ячейками с нулевым значением, используйте параметр Для пус- тых ячеек отображать Установив нулевое значение в поле Для пустых ячеек отображать, вы бу- дете гарантировать, что все поля в разделе данных сводной таблицы имеют значения. Печать заголовков Если вы захотите вывести заголовки строк и столбцов на каждой странице отчета сводной таблицы, то установите этот флажок.
88 Глава 4 ПРАКТИКУМ •*5 ИТФФ«ЕКУчЛЦГЧ у J ^T®\V ’ п ‘ ' ♦ -.”••• форматирование сводной таблицы Вы получили по электронной почте отчет сводной таблицы, показанный на рис. 4.21. Ваша цель заключается в том, чтобы переделать его. Для этого вы реши- ли изменить настройки форматирования. Вам нужно выполнить операции, при- веденные ниже. 1 < В C 0 Е F G H 1 1 REGION North * _ _ _ ... J ... ... _ f — 1 .4. 1 **• * * *+ i 2 STORE (Bee) r э. i t . . ... - _ _ 4 5, MARKET LINE OF BUSINESS у Данны? _ * 2500С 2500Р 'ЗОО2С Э002Р 4О55Т 4500С 6 Great Laket Copier Sale Сумма по полю REVENUE 1Q29617 7 Сумма по полю UNITS SOLD 647 СВ Сумма по полю SERVICE PlANS SOLD 0 г '1 - • 9 Parte Сумма по полю REVENUE 357898 2180810 605943 ТО Сумма пп полю UNITS SOLD - j 0 0 0 11 Сумма по полю SERVICE PLANS SOLD — т •— • 0 0 и 12 Pnnter Sale Сумма по полю REVENUE 3269643 f 13 14 Сумма по полю UNITS SOLD 667 I Сумма по полю SERVICE PLANS SOLD -| Г ' t 15 Servce Чап Сумма по полю REVENUE 1 '>506495 11782811- "965238 16 Сумма по полю UNI FS SOLD 0 0 0 17 Сумма по полю SERVICE PLANS SOLD 1584, 4983 6280 16 Great Lakes Сумма по полю REVENUE 1929517 3269643 2864393 1396J620 505943, °955238 19 Great Lakes Сумма по полю UNITS SOLD 647 667: 0, O’ 0 0 20 Great Lakes Сумма по полю SERVICE PLANS SOLD 0 1584 4983 0 6280 21 New England Copier Sale Сумма по полю REVENUE 6011684 I - J 22 Сумма по полю 1 'NITS SOLD 2036 4.* 23 Сумма по полю SERVICE PLANS SOLD 0 24 Parts Сумма по полю REVENUE 441203 1553113 468569’ 25 Сумма по полю UNITS SOLD - — - -Ч- i 0 0 0 2Е Сумма по пилю SERVICE PLANS SOLD 0 0 0 27 2В 29 Pnnter Salt Сумма по полю REVENUE 3356078 - - - L i Сумма по полю UNITS SOLD 711 j Сумма по полю SERVIC Е PLANS SOLD зо, Service Plan Сумма по полю REVENUE . „ „..j. 2624059 11527U76 7744218 31 Сумма по полю UNITS SOLD i 1 0 3 C 32 Сумма по полю SERVICE PLANS SOLD 1652 4886 4759 33 New England Сумма по полю REVENUE 6011684 3356078 3065267 13080189 466559 7744218 34 New England Сумма по полю JNITS SOLD 2036 711 0 0 C 0 Рис. 4.21. От вас требуется переделать этот отчет 1. Выберите поле Market, установите синий фоновый цвет и измените шрифт на полужирный белого цвета, как показано на рис. 4.22. ,, 2. Выделите промежуточные суммы для поля Market и задайте полужирный шрифт. 3. Выделите поле Line of Business, установите серый фоновый цвети задайте полужирный шрифт, как показано на рис. 4.23. 4. Откройте диалоговое окно Параметры сводной таблицы и внесите изменения, как показано на рис. 4.24. Выполненные изменения описаны ниже. Удалите общие суммы для столбцов. Удалите общие суммы для строк. Снимите флажок Автоформат. В раскрывающемся списке Макет страницы выберите значение Поперек, затем вниз. Установите флажок Для пустых ячеек отображать и введите символ подчерки- вания" ".
Форматирование отчета сводной таблицы 89 1 REGION 0 North у C : D . j E 2J 3 5 STORE (Все) * MODEL • LINE OF BUSINESS v Денные ^.2' 2L. * 2500C 2500P 6 7 8 9 10 11 12 13 14 15 16 у. 16 19 23 21 22 23 24 25 26 27 28 29 30 31 32 33 34 36 Great Lakes Copier Sale Сумма по полю REVENUE Сумма по полю UNITS SOLD Сумма по полю SERVICE PLANS SOLD 1929517 647 o: Parte Сумма по полю REVENUE Сумма по полю UNITS SOLD Сумма по полю SERVICE PLANS SOLD f~ j i <1 Printer Sale / Сумма по полю REVENUE Сумма по полю UNITS SOLD Сумма по полю SERVICE PLANS SOLD 3269643 86'/ О Service Plan Сумма по полю REVENUE Сумма по полю UNITS SOLD Сумма по г лю SERVICE PLANS SOLD 4 1 Great Lakes Суммй по полю REVENUE 1929517 3269643' Great Lakes Сумма nt полю UNITS SOLD 647 667 Great Lakes Сумма по полю SERVICE PLANS SOLD 0 'I New England Copier Salt Сумма по полю REVENUE Сумма no полю UNITS SOLD Сумма по полю SERVICE PLANS! SOLD 6011664 2036 0 -— - Pari 4 Сумма по полю REVENUE Сумма по полю UNITS SOLD Сумма по полю SERVICE PLANS SOLD i ' 1 -j - 1 ' 1 Printer Sab Сумма по пилю REVENUE Сумма по полю UNITS SOLD Сумма по полю SERVICE PLANS SOLD H — 3356078 711 -* ,, 1T ° Service Plan Сумма по полю REVENUE Сумма по полю UNITS SOLD Сумма по полю SERVICE PLANS SOLD — := New England Сумма no полю REVENUE New England Сумма по полю UNITS SOLD 6011684 3356078 2036 711 New England Сумма по пилю SERVICE PLANS SOLD 0 0 Рис. 4.22. Наведите указатель мыши на верхнюю границу поля Market, чтобы выбрать все ячейки Market 1 Л i „ '' A В c 1 REGION (North Ж 2. STQRE .. ..Л...... »'....... 21 (Bee) ж 4 5 6 7 6 9 10 11 12 13 14 15 16 17 18 19 21 22 24 25 26 27 MARKt Г ж [LINE OF business у Great I .jkes [Copier Sale" . J J Сумма n- i полю REVENIJE 1 Сумма nt > полю UNITS SOLE' Сумма пи полю SERVICE PLANS SOLD Parts У j Сумма по полю REVENUE Сумма по полю UNITS SOLD Сумма по полю SERVICE PLANS SOLD Printer Salo Сумма по полю REVENUE Сумма по полю UNITS SOLD Сумма no полю SERVICE PLANS SOLD Service Plan Сумма по полю REVENUE Сумма по полю UNITS SOLD Сумма по полю SERVICE PLANS SOLD Great Lekea Суммы no полю REVENUE Great Lake* Сумма па полю UNITS SULD Great Lakee Сумма no полю SERVICE PLANS SOI D N. w 1 nghncl Copier Selo Сумма по полю REVENUE Сумма по полю UNITS SOLD Сумма пи полю SERVICE PLANS SOLD r Parts Сумма по полю REVENUE Сумма no полю UNITS SOLD ! Сумма no полю SERVICE PLANS SOLD 1 Printer Sale Сумма no полю REVENUE Сумма nt > г'.лю UNITS SOLD Сумма гю полю SERVICE PLANS SOLD I Service Plan Сумма по полю REVENUE Сумма по пилю UNITS SOLD Сумма no т лю SERVICE PLANS SOLD | 30 31 3?______________________________________ 33 Now England Сумма no полю REVENUE 34 Now England Сумма no полю UNITS_SOLD Э5 New England Сумма по полю SERVICE PLANS SOLD Рис. 4.23-Форматирование ячеек Line of Business
90 Глава 4 Параметры сводной таблицы Инд: |СводнаяТаблица5 Формат -W- «ам/Ч|-« -Mpttf HIM. -^НУ-Я^-Г' .-* -1Й.Н. Г общая сумма по столбцам решая сумма пр строкам д—\ ав.’оформат ькл^чл-гь скрыл» е значежя обьегинять ячаикх! Lsru n-.tr.ое 1*7 сохранять 4>ормят1*х®вние f7 повторять подписи на каждой траггцр печа”и данные Источник: f*7 сохранить дамнь-е еместе с таблицей v разййртьгоние разрешена Г обновить при от» рытии Г Щайй'Ш r,wAfctfe*; | пакет страницу? |поперек, затем вниз * | число полей в строке JO -JM Ч I'; Ц>. i'i Вне иние данные: для ошибок отображать, Р’ дпч пустых ячеек слои,<=*ать: £ ггчать хгоЛоВков • ' » /Г ,- ' / Ч ' / fi ! " •' ' , I, а/ “' ,'' й -ty* if 4a**W** ^* ^ «**••* ****^*е**«*^^ Рис. 4.24. Диалоговое окно Параметры сводной таблицы после внесения всех изменений ? - -/ 4 ‘ V / f. *t ' ,, , > 4 1- Всего лишь несколько щелчков кнопкой мыши улучшат вид отчета сводной табли- цы, удалят бросающиеся В глаза пустые места и сделаю? отчет удобочитаемым и понятным. Итоговая сводная таблица показана на рис. 4.25. 2'REGION з.; Ли___________ 5 ‘В 7 8 "10 11 12 13 14 15 16 * 17 IB j Great Lake» Сумма по полю REVENUE_________ 19 Great I akee Сумме по полю UNITS SOL D 20 Great Lakes Сумма по полю SERVICE Pt ANS SOLD 21 22 23 ?4 25 26 27 28 29 30 31 32 33 New England Сумма no п^лю REVENUE_____________ 34 {New England умм i по полю UNITS SOLD 35 New England Сумма no полю SERVICE PLANS SOLD MARhL Г GieatIakes # New England {North — ....... •— — б Г Е ё ((Все) у LINE OF BUSINESS * Данные * 2500С 2500Р Э002С Sopwr 3 >te Сумма п. палю REVENUE 1929517 Сумма пс полю UNI fS SOLD 647 Сумма по полю SERVICE PLANS SOLD 0 Pais Сумма по полю RE'/ENUE Сумма по полю UNITS SOLD Сумма п полю SER’/ICE PLANS SOLD 3678961 1 ~ L '' ' T o [J Printer Sate Сумма п полю REVENUE Сумма по полю UNITS SOLD С^мма по полю SERVICE PLANS SOLD 3269643 667 o 1 fVicePlar Сумма по полю REVENUE Сумме по полю UNITS SOLD “ 2506495 i—о С г мм а по полю SERVICE PLANS SOLD 1584| 1929517 о4/ 0 I643 2864393 К.7_________0 0 1584 Copier Sale Сумма по полю REVENUE Сумма по полю UNITS SOLD 6011684 2036” Сумма по полю SERVICE PLANS SOU' 0 Гапе Сумма по полю REVENUE Сумма по полю UNITS SOLD _ 4412061 _ . L ; bl С мма по полю SERVICE PLANS SOLD 0 nntei Seie Сумма по полю REVENUE Семма по полю UNITS SOLD Сумма пп полю SERVICE PLANS SOI D 3356078 711 7(Г ^emce plan l' 11 ' il, '. Сумма п пилю REVENUE Сумма по полю UNITS SOLD С чма пп полю SERVICE PLANS SOLD ~ 2624059 1652j 6011684, 3356078 3065267 2036 ,1_1_________0 0__________0 1652 С Рис. 4.25. Итоговый отчет
Форматирование отчета сводной таблицы 91 Дальнейшие шаги В главе 5 вы изучите различные инструменты, которые можно исполь- зовать для изменения метода просмотра сводных данных. Вы научитесь скрывать данные, а также группировать, сортировать, классифицировать и ограничивать данные по верхнему или нижнему значению.
Изменение способа просмотра данных сводных таблиц В ЭТОЙ ГЛАВЕ Функции отображения и сокрытия элементов Как правило, при использовании сводных таблиц суммируется весь набор данных из всех записей. Одна- ко иногда требуется исключить опре- деленные элементы из итогового на- бора данных сводной таблицы. В та- ких ситуациях можно скрыть соот- ветствующий элемент данных. Основы сокрытия элемента При сокрытии элемента данных вы предотвращаете не только его отображение в отчете, но и участие в итоговых расчетах. На рис. 5.1 показана сводная табли- ца с полем Market в области строк. Два числовых поля Units Sold и Revenue помещены в область столб- цов. Поле Line of Business поме- щено в область страниц, и в настоящее время в нем выведены данные Copier Sale. Заметьте, что поле Market содер- жит раскрывающийся список в пра- вой части ячейки А4. В этом списке, показанном на рис. 5.2, перечислены все элементы, представляющие рын- ки. По умолчанию выбираются все элементы Market. Функции отображения и сокрытия элементов......93 Сортировка элементов сводной таблицы...........99 Создание отчетов “Первая десятка".........107 Группировка сводных таблиц... 110 Дальнейшие шаги...........118
94 Глава 5 A В Jl * L J - ' - - ’ _ - - Ц 1 LINE OF BUSINESS Copier Sale v 1 2 w— _ i Данные * MARKET Сумма nr полю UNITS SOLD Сумма по полю REVENUE 5 „California 1 374 4 020 386 6 Central US 1186; 3 506 717 7 Colorado 1 068 . 3 113 591 8 Florida 1224 3 783 617 9 Great Lakes 647! 1 929 517 10 Gulf Coast 1 950 5 830 888 11 Illinois 1С09'< 2989 768 12 Indiana 1 201 3 616 637 13 Kentucky 1 982 5 872 430 14 New England 2 036 : 6 011 684 15 iNew York North 1 382 3 932 881 16 New Vo'k South 555 1 641 970 17 Nurth Carolina 1 259 3 763 158 18 North West 1 068 3 179 141 19 Ohio 798 Я381 299 20 Shenandoah Valley 1 470' 4 244 770 21 South Carolina 1 818 5 751 497 221 Southwest 1496] 4 532147 23 Tennessee 2 091 6 323 837 24 Texas 1 508 4 531 085 25 Topeka 1 889 5 624 620 Общий итог 29 0I1J 86 581 689] Рис. 5.1. В этой сводной таблице суммируются все продажи копировальных устройств и выводится общая сумма 86 мил- лионов долл. Рис. 5.2. Меню Market содержит список всех рынков. По умолча- нию выбраны все рынки Чтобы скрыть один рынок, вы можете сбросить флажок для соответствую- щего элемента. Если вашему руководству нужен отчет по всем рынкам, за ис- ключением существующего в Калифорнии, то сбросьте флажок California. После щелчка на кнопке ОК и закрытия блока данные сводной таблицы автоматически будут пересчитаны без учета значения California. Как показано на рис. 5.3, общий объем продаж копировальных устройств уменьшится на 4 млн долларов и составит 82 млн долларов без учета рынка California.
Изменение способа просмотра данных сводных таблиц 95 7 ' A,. J В С 1 LINE OF BUSINESS JCopier Sale * 2 3 Данные 4 MARKET ▼ Сумма по полю UNITS SOLD Сумма по полю REVENUE '5 Central US 1 186 3 506 717 6 Colorado 1 068 3113 591 7 Florida 1 224 3 783 617 9. Great Lakes 647, 1 929 517 Я - Gulf Coast 1 950j 5830 388 W Illinois 1 009 2 989 768 11 Indiana 1 201 3 616 687 12 Kentucky 1 982 5 872 430 13 New England 2 036 6 011 684 14 New York North 1 382 3 932 881 15 New York South 555 1 641 970 16 North Carolina 1 259 3 763 158 17J North West 1 068 3179 141 18lOhio ?96 2 381 299 19 Shenandoah Valley 1 470 4 244 770 20 South Carolina 1 818 5 751 497 21 Southwest 1 496 4 532 147 Tennessee 2 091 6 323 837 23 Texas 1 508 4 531 085 24 Topeka 1 889 5 624 620 25 Общий итог 27 637 82 561 304 Рис. 5.3. После удаления рынка California общий объем продаж уменьшится на 4 млн долл. Предупреждение Нет никаких внешних признаков того, что этот отчет получен без учета рынка California. Как правило, Excel изменяет цвет стрелки обычного отфильтрован- ного списка на синий, чтобы указать на сокрытие в нем отдельных элементов. Эта функциональная возможность не отображается в полях сводных таблиц. Отображение всех элементов Вы можете быстро восстановить все скрытые элементы данных для поля, несколько раз щелкнув мышью. Выберите раскрывающийся список в поле Market и установите флажок (Показать все). Все удаленные флажки будут восстановлены. Отображение или сокрытие большинства элементов Начиная с Excel 2002 была упрощена процедура создания отчета, вклю- чающего всего несколько элементов одного поля. Если вам нужно создать от- чет только для Флориды и северного побережья Мексиканского залива, то для этого потребуется всего лишь несколько раз щелкнуть мышью. Раскройте список Market. Сбросьте флажок (Показать все), чтобы снять выделение со всех рынков. Теперь вы можете выбрать только Флориду и Мексиканский залив, как по- казано на рис. 5.4. На рис. 5.5 показано, что продажи копировальных устройств во Флориде и на побережье Мексиканского залива составляют 9,6 млн долл.
96 Глава 5 Рис. 5.4. Начиная с Excel 2002, для снятия выделения со всех рынков и повторного выделения двух рынков требуется лишь три щелчка мышью А 8 c Л LINE OF BUSINESS Copier Sale 2 3. Данные v 4 MARKET ▼ UNITS SOLD REVENUE 5 Florida 1 224 3 783 617 6 Gulf Coast 1 950 5 830 886 7 Общий итог 3174 9 614 505 Рис. 5.5. В этой сводной таблице все рынки, за исключением двух, скрыты Примечание В Excel 2000 нет опции (Показать все). Это вызывает проблемы, когда, к примеру, из 200 клиентов вам нужно вывести данные только по двум из них. Вам придется либо вручную снимать выделение с 198 элементов, либо использовать метод группирования для создания нескольких групп для всех нежелательных рынков. Только после этого вы сможете легко снимать выделение с этих групп. Метод группирования описан далее в этой главе. В Excel 97 требовалось дважды щелк- нуть на поле и указать элементы, которые нужно скрыть. Сокрытие или отображение элементов без данных По умолчанию сводная таблица выводит только те элементы, которые со- держат данные. Это внутреннее поведение может вызвать проблемы анализа данных. Взгляните на рис. 5.6, в котором показана сводная таблица с полем дат в области страниц. Если для поля дат установить опцию (Все), то в отчете будут выведены данные по 21 рынку. Выберите в поле страниц дату 03.01.06, и отчет сводной таблицы будет пересчитан для отображения продаж копировальных устройств на трех рынках за этот день. На рис. 5.7 показаны эти три рынка: побережье Мексиканского залива, долина реки Шенандоа и Юго-Запад страны. Выберите другую дату из поля страниц с датами. В отчет будут включены рынки с продажами за этот день. На рис. 5.8 показаны данные о продажах на пяти рынках за 6 января. Отображение элементов с данными обеспечивает очень сжатый отчет, но он не очень удобен, если позже понадобится сравнить мгновенные состояния за несколько дней, ведь в таком случае может потребоваться, чтобы программа Excel выводила каждый раз все рынки. Чтобы программа не скрывала сводные элементы без данных, дважды щелкните на поле Market, чтобы открыть диа- логовое окно Вычисление поля сводной таблицы, как показано на рис. 5.9. В левом нижнем углу установите флажок Отображать пустые элементы.
Изменение способа просмотра данных сводных таблиц 97 А В C J LINE 6Г BUSINESS Copier Sale ♦ 2 iNManC£PAT£ (Все) * 3 4 . Данные 5^ MARKET V UNITS SOLD REVENUE 6 California 1 374 4 020 385 7 Central US 1 186 3 506 717 6 Colorado 1068 3113 591 9 Florida 1224 3 783 617 10 Great Lakes 647 1 929 517 11 Gulf Coast 1960 5 830 088 12 Illinois 1009 2 989 768 13 Indiana 1 201 3 616 687 “14 Kentucky 1 982 5 872 430 16 New England 2 036 6 011 684 16 New York North 1382 3 932 881 и? New York South 555 1 641 970 18 North Carolina 1 259 3 763 158 19 North West 1 OF, 8 3 179141 f20 Ohio 798 2 381 299 21 Shenandoah Valley 1 47U 4 244 770 22 South Carolina 1 813 5 751 497 23 Southwest 1 496 4 532 147 24 Tennessee 2 091 6 323 837 26 Texa^ 1 5Ud 4 531 085 26 Topeka 1 889 5 624 620 27 Общий итог 29 011 < 86 581 689 A В C 1 UNE OF BUSINESS Copier Sale r 2. IN BALANCE DATE bl.03.06 r 3 4 Данные . * 5 MARKET sr UNITS SOLD REVENUE 6 Gulf Coast 2 3 703 7 Shenandoah Valley □ 12 968 Э Southwest 14, 40 347 9 Общий итог 22 57 018 Рис. 5.6. Поле страниц, содержащее даты, добавленные в эту сводную таб- лицу Рис. 5.7. По умолчанию сводная таб- лица будет скрывать в поле страниц рынки с отсутствующими данными для этой комбинации выборок A 8 C 1 June of business Copier Sa'- 2 IN BALANCE DATE 01.06 06 r зТ 41 Данные ▼ 5 MARKET * UNITS SOLD REVENUE 6 j California 8 26 822 7 (Central US 5 22 296 8 'New England 8 28 702 9 (Southwest 9 32 441 10 (Tennessee 7 221И1 11 Общий итог 37 132 272 Рис. 5.9. Чтобы открыть это диалоговое окно, два- жды щелкните на поле Market. Установите флажок в левом нижнем углу, чтобы отображать данные всех рынков Рис. 5.8. Измените дату в поле страниц, и вы получите другой набор рынков Теперь будут выводиться данные для всех рынков, независимо от реализа- ции товара за этот день, как показано на рис. 5.10. Сокрытие или отображение элементов в поле страниц Как правило, в области страниц выбирается либо опция (Все), либо от- дельный элемент. Если вы выберите значение Line of Business то сможете указать одно из направлений деятельности, а опции (Все) — вы- вести сведения о всех направлениях торговли. Это не совсем удобно при
98 Глава 5 создании отчета с итоговыми суммами объемов продаж копировальных устройств и принтеров. О A 3 1 1 ONE OF BUSINESS Copier Sale w .aJ IN BALANCE GATE 01.06.06 •• 3 4 5 Данные ж’ 5 MARKET ' '-''Гг UNITS SOLD REVENUE €• California 8 26 822 7 Central US 5 22 2 3d X Colorado sn Florida to Great Lakes I ! i i ! I ! = I 1 S i I I ll Gulf Coast 112 Illinois 1з: Indiana 14 Kentucky 15 1б New England New York North J 28 702 171 New York South 18 *19 North Carolina s » < i 1 I 1 i i 1 i F J I 1 1 ‘ F I L ' North West ' i ; ! । । ! 1 : ! ! i ! 1 ! 1 f i I 1 L i 20 Ohio 21 Shenandoah Valley 22 South Carolina 25] Southwest :0>i f I ! ! i 1 : 1 ! i 1 I 32 441 24 Tenn?>see 7{ 22 011 25 26 27 Texas J i ! ] F j i ! M i i > I I ? F ! Topeka Общий итог 37; 132 272 Рис. 5.10. Мгновенное состояние та- кого отчета гораздо легче сравнивать с отчетами за другие дни, поскольку все отчеты за все дни содержат единый список рынков Рис. 5.11. Временно пе- ретащите поле страниц в область строк и выберите требуемые направления Решение заключается в перетаскивании поля Line of Business в об- ласть строк или столбцов отчета. После этого используйте раскрывающийся список Line of Business для выбора объемов продаж только принтеров или только копировальных устройств, как показано на рис. 5.11. После выделения двух элементов перетащите поле Line of Business обратно в область страниц отчета. В области страниц будет выбрана новая оп- ция (Множественные элементы), как показано на рис. 5.12. Предупреждение После использования этой методики вы не сможете добавить скрытые элементы обратно в поле страниц. Вам придется перетаскивать поле страниц назад в об- ласть строк или столбцов и отображать скрытые элементы. Отображение или сокрытие элементов в поле данных Начиная с Excel 2000, сводные таблицы с множеством полей стали вклю- чать в область данных отчета серое поле с раскрывающимся списком. Чтобы удалить поле Units Sold из области данных, вы можете использовать один
Изменение способа просмотра данных сводных таблиц 99 из двух методов. Например, сбросить флажок для элемента в раскрывающемся списке Данные, как показано на рис. 5.13. А В / 2 LINE OF BUSINESS (несколько элементов) 3 и Данные 5 MARKET UNITS SOLD REVENUE 6 California 2 142 7 590 978 7 Central US 1913 6 920 727 6 Colorado 1 723 6 238 315 *9 Florida 2 203 ' 8 606 931 W Great i akes 1 314! 5 199 160 И Gulf Coast 2 518 8 516 591 12 Illinois 1761 6 552 661 13 Ind'ana 2 227J 2 753 8 574 725 14 Kentucky 9 534 888 15|New England 2 747 9 367 762 16 New Turk North 2 396 8 761 480 J2 New vork South 796 2 815 544 18 North Carolina 1 738 6 074 891 19 North West 1 669 5986 536 20 • лМ* i 21 Ohio 1 629 6 341 484 Shenandoah Valley 1 962 6 574 231 22 South Carolina 2175 7 455 274 23 Southwest 2 209 7 997 888 24 iTennessBP 2 832 9 828 865 t2E Texas 2 068 7 175 182 2Я Topeka 2 560 8 836 354 27 j Общий итог 43 335 154 950 467 Рис. 5.13. Если в отчете содержатся множе- ственные поля данных, то вы не сможете перетащить только одно поле данных из от- чета. Для удаления поля нужно использо- вать раскрывающийся список Данные Рис. 5.12. Перетащите поле Line of Business обратно в область страниц, и сводная таблица запомнит обе строки, выбранные на предыду- щем этапе В качестве альтернативы вы можете щелкнуть правой кнопкой мыши на заголовке UNITS SOLD и скрыть его, как показано на рис. 5.14. Сортировка элементов сводной таблицы По умолчанию элементы в каждом поле сводной таблицы сортируются в ал- фавитном порядке на основе имени элемента. На рис. 5.15 показано, что поле Market сортируется в алфавитном порядке по названиям рынков. Программа Excel предоставляет свободу выбора при сортировке полей данных. Вы можете использовать один из трех методов сортировки сводной таблицы. Использовать диалоговое окно Дополнительные параметры поля свод- ной таблицы. Выполнить необходимые операции вручную. Использовать кнопки сортировки на стандартной панели инструментов.
100 Глава 5 Рис. 5.14. В качестве альтернативы вы можете уда- лить поле данных, щелкнув правой кнопкой мыши на его заголовке, и скрыв его A В c I 1 2 HINE OF BUSINESS I Copier Sale * 3 4 Данные 6 MARKET v. (UNITS SOLD REVENUE California T374 4 020 385 f Central US 1 186 3 606 717 a Colorado J 066 3 113 591 9 Florida 1 224 3 783 617 10 Great Lakes 647 1 929 517 11 Gulf Coast 1950 5 830 888 if Illinois 1009 2 989 768 J3 Indiana 1 201 3 616 687 14 Kentucky 1982 5 072 430 15 New England 2036 6 011 684 16 New York North 1 362 3 932 681 17 New York South 555 1 641 370 ie North Carolina 1 259 3 763 158 19 North West 1 068 3179141 20 Oh- 798 2 381 299 21 She naridoah Valley 1 470 4 244 770 22 South Carolina 1 818 5 751 497 23 Southwesr 1 496 4 532147 24 Tennessee 2 091 6 323 837 25 Texas 1 508 4 531 085 26 Topeka 1 889 5 624 620 27 Общий итог 29 011 86 581 689 Рис. 5.15. По умолчанию сводная таб- лица сортируется в алфавитном поряд- ке. В этой сводной таблице рынки представлены в порядке A-Z Сортировка элементов в диалоговом окне Дополнительные параметры поля сводной таблицы Для сортировки данных часто используется диалоговое окно Дополни- тельные параметры поля сводной таблицы. Чтобы открыть это диалоговое окно, дважды щелкните на названии поля Market сводной таблицы. Откроет- ся диалоговое окно Вычисление поля сводной таблицы. Щелкните на кноп- ке Дополнительно. Откроется диалоговое окно Дополнительные параметры поля сводной таблицы. Это диалоговое окно, показанное на рис. 5.16, управляет параметрами сор- тировки для поля и параметрами раздела Автоотображение. На рис. 5.16 показано, что по умолчанию в разделе Параметры сортировки для поля Market установлен переключатель сортировки по возрастанию. Чтобы в начале отчета перечислялись самые крупные рынки, установите пе- реключатель по убыванию. При использовании раскрывающегося списка С помощью поля, как пока- зано на рис. 5.17, сортировка может выполняться как по исходному полю, так и по любому другому указанному полю данных из сводной таблицы. В данном примере мы сортируем элементы по убыванию количества проданных товаров или по убыванию полученной прибыли. Выберите Revenue из раскрываю- щегося списка.
Изменение способа просмотра данных сводных таблиц 101 Рис. 5.16. Диалоговое окно Дополнительные параметры поля сводной таблицы содержит параметры Сортировка и Автоотображение Рис. 5.17. Вы можете сортировать поле столбцов по любо- му полю данных или по самому полю столбцов Выполнив все операции в диалоговом окне Дополнительные параметры поля сводной таблицы, закройте это окно, а также диалоговое окно Вычис- ление поля сводной таблицы. Как показано на рис. 5.18, отчет сводной таблицы будет отсортирован по убыванию прибыли. Штат Теннесси является лидером продаж копировальных устройств с объемом продаж 6,3 млн долл. Хотя работа в диалоговом окне Дополнительные параметры может пока- заться несколько утомительной, оно обеспечивает самый эффективный метод сортировки, описанный в данной книге. Сортировка, выполняемая с помо- щью этого метода, выполняется независимо от того, как вы измените отчет сводной таблицы. Таким образом, вам не придется повторно изменять пара- метры сортировки.
102 Глава 5 Влияние изменений в макете на сортировку данных Если вы изменяете пале страницы для отображения объема продаж принтеров, отчет будет автоматически пересортирован. На рис. 5.19 показан отчет после вы- бора значения Printer Sale из раскрывающегося списка Line of Business. Отчет автоматически сортируется и в нем указывается, что штат Индиана является лидером по продажам принтеров с товарооборотом 4,9 млн. долл. а-’"“ .c 1 2 LINE OF BUSINESS ICopier Sale 4 X 4 [Данные w 5 MARKET . [units SOLD REVENUE 6 Tennessee 2 091 6 323837 7 New England 2 036 6 011 684 8 Kentucky 1 982 5 872 430 dsL Gulf Coast 1 950 5 830 888 101 South Carolina 1 818 5 751 497 11 Topeka 1889 5 624 620 12 Southwest 1 496 4 532147 13 Texas 1 508 4 531 085 14 Shenandoah Valley 1 470 4 244 770 J5 California 1 374 4 020 385 ie New York Nonh 1 382 3 932 881 17 Florida 1 224 3 783 617 18 North Carolina 1 259 3 763158 lb» Indiana 1 201 3 616 687 201 Central US 1 186' 3 506 717 211 North West 1 068 3 179 141 22 Colorado 1068 3113 591 23 Illinois 1009 2 989 768 24 Ohio 798' 2 381 299 25 Great Laxe* 647 1 929 517 26 New York South 555 1 641 970 27 Общий итог 29 011 86 581 689 A В С _ 1 2 LINE OF BUSINESS | Printer Sale 4“ 3 4 ". Данные ж] 5 J MARKET j*' UNITS SOLD REVENUE 6 Indiana 1 026 4 956 038 7 New York North 1 014 4 828 599 8 Florida 979 4 823 314 9, Ohio 831 3 960 185 10 Kentucky 771 3 662 458 Й’ California 768 3 570 593 12 Illinois 752 3 562 893 13 Tennesset 741 3 505 028 14 Southwest 713 3 465 741 ISJCentral US 727 3 414 010 16 New England 711 [ 3 356 078 17 Great Lakes 667 3 269 643 iBJTopeka 6711 3 211 734 19 Colorado 655 3 124 724 20 North West 601 р 2 807 395 21 Gulf Coast 568 2 685 703 22 Texas 560 2 644 097 23 Shenandoah Valley 492 2 329 461 24 North Carolina 479 2 311 733 25 .South Carolina 357 1 703 777 A New York South 241 1 173 574 27 Общий итог 14 324 68 368 778 Рис. 5.18. Отчет отсортирован так, что самый крупный рынок указывается первым Рис. 5.19. При настройке нового значе- ния поля страниц рынки будут отсорти- рованы для выявления лидера по про- дажам принтеров Если вы поместите в отчет новое поле, сводная таблица запомнит исходный тип сортировки поля Market и применит его для вывода данных в указанном ра- нее порядке. На рис. 5.20 показан отчет после добавления поля Region в качестве внешнего поля строки. Поле Region сортируется в алфавитном порядке по на- званиям регионов, а рынки указаны в порядке уменьшения прибыли. Вы можете сортировать поле Region и в порядке уменьшения прибыли. В таком случае регион South выводится первым, поскольку объем продаж принтеров в нем составляет 28 млн долл. Рынки для поля Region отсортиро- ваны в порядке уменьшения прибыли, как показано на рис. 5.21. Несмотря на то что такой способ сортировки относительно просто выполняется в стан- дартной таблице Excel, он требует двойного отображения диалогового окна Дополнительные параметры — один раз для задания параметров поля Re - gion и один раз для установки параметров поля Market.
Изменение способа просмотра данных сводных таблиц 103 А ~ 9 С 0 1 2 LINE OF BUSINESS Pnnter Sale v 4— 3 S ДаниМР1 T REGION v MARKET * UNITS SOLD REVENUE .6 North New York North 1 014 4 628 599 Ohio 831 3 960 185 I’ll О С New England 1 i i ’ 1 3 356 078 Great Lakes i ( ' 1 1 1 1 I 1- 1 i 3 269 643 Shenandoah Valley 492 2 329 461 11 12 South Carolina 357 1 703 777 New York South 241! 1 173 574 13 North Итог 4 313 20 621 317 14 16" South Induna 1 026 4 958 038 Florida 979 4 823 314 16 Kentucky 771 3662 458 17 18 Illinois 752 3 562 893 Tennessee 741 3 505 026 19 Gulf Coast 568 2 685 703 20 21 Texas 560 2 644 097 North Carolina 479 2 311 733 22j South Итиг 5 876 : 28 153 264 23 West California /6Р 3 570 593 24 26 2L 26 Southwest 713 3 465 741 Central US 727 3 414 010 7 'река 671 3 211 734 Colorado 655 3 124 724 North West 6011 2807 395 29 We3t Итог 4135 19 594 197 30 Общий итог 14 324 68 368 778 . 5 ' A', 2 LINE OF BUSINESS 1 Printer Sale v 3 REVENUE 7 ' 5 REGION MARKS, i Итог 6} South 7 8 •sj W Ti .if! <3 Indiana Fionoa Kentucky Illinois Tennessee Gulf Coast _ Texas North Carolina 4 958038 4 823 314 3 662 458 3 562893 3 505 028 2 685 703 2644 097 2 311 733 14 South Итог 28 153 264 J6 17 18 19 20 21 N?rth New York North Ohio New England Great Lakes Shenandoah Valley South Carolina New York South 4 826 599 3 960 185 3 356 078 3 269 643 2 329 461 1 703 777 " 1 173 574 2? (North Итог 20 621 317 23 24 25 ’26 West California Southwest Central US Topeka Colorado North West 3 570 593 3 465 741 3 414 010 3 211 734 3 124 724 2 807 395 27 28 29 West Итог 19 594 197 3C Общий итог 68 368 778 Рис. 5.20. После добавления поля Region с сорти- ровкой по умолчанию регионы в отчете будут указы- ваться в алфавитном порядке, хотя рынки в каждом регионе будут расположены в порядке уменьшения прибыли Рис. 5.21. Установите параметры сор- тировки для поля Region, чтобы представить его в порядке убывания значений поля Revenue Сортировка вручную В отчете сводной таблицы на рис. 5.22 показана последовательность регио- нов по умолчанию. Эти регионы представлены в алфавитном порядке: North, South, West. Если главный офис компании находится в Калифорнии, исто- рически устоявшиеся традиции будут требовать первостепенного вывода дан- ных для западного региона (перед данными северного и южного регионов). I REVENUE REGION y| 5 LINE OF BUSINESS * North (South (West Общий итог R 7 s Copier Sale - — — X Printer Sale 25 893 618 36 711 470 i 23 976 601 20 621 317! 28 153 264; 19 594 197 86 581 689 68 368 778 a Общий итог 46 514 935 ; 64 864 734 43 570 798 154 950 467 Рис. 5.22. Традиции компании Диктуют, чтобы элементы поля Region выводились в такой последовательности: West, North, South На первый взгляд может показаться, что нет эффективного способа отсор- тировать поле Region в указанной последовательности. Порядок по возрас- танию предполагает расположение данных для региона West первыми, но при
104 Глава 5 этом данные для регионов South и North не будут расположены в правиль- ной последовательности, что нарушает принятый порядок расположения ин- формации в отчетах компании. Конечно, можно попытаться убедить руководство компании отказаться от устоявшихся традиций вывода отчетов в последовательности West, North, South или даже изменить названия регионов, чтобы их порядок соответство- вал историческим требованиям. Оба варианта слишком болезненны для руко- водства, а потому нереальны для выполнения. Однако компания Microsoft предлагает более простое решение возникшей проблемы. Поместите курсор в ячейку В 5 сводной таблицы или в ячейку, которая в ва- шем случае содержит заголовок North. Введите в ячейку В5 слово West и на- жмите <Enter>. Последовательность расположения данных сводной таблицы изменится автоматически. Объем продаж 216 млн. долл для западного региона автоматически переместится из столбца D в столбец В. Остальные регионы сме- стятся в последующие столбцы. В результате вы получите отчет, показанный на рис. 5.23, с требуемой последовательностью полей: West, North, South. .. _ L А в C D E 1 ! } гч‘(п i 1 Пярьтвщйть сюда па 4 REVFNUE • REGION •* 5 LINE OF BUSINESS ▼ [West North South Общий итог 6 Copier Sale 23 976 601’25 893 618 19 594 197 20 621 317 36 711 470 86 581 689 7 Printer Sale 28 153 264 68 368 778 8 Общий итог 43 570 798 46 514 935 64 864 734 154 950 467 Рис. 5.23. Введите слово West в ячейку В5, и последо- вательность отображения данных отчета изменится ав- томатически Пример добавления нового региона После применения этой методики все новые регионы, добавляемые в источник данных, будут представляться в конце списка. На рис. 5.24 показана сводная таб- лица после добавления региона central. Поскольку программа Excel не знает, куда точно нуэкно добавить регион Central, он автоматически будет помещен в конец списка. 1 ' A В lei еттщи" С e сюда пьт’ страниц Е 2 3 1 Сумма no nojrtHj REVENUE REGION ж 4 LINEOF BUSINESS ▼ West North South Central Общий итог 5 6 [7* 1 ₽ .9 Copier Sale Parts Printer Sale Service Plan Общий итог 23 976 601Г 25 893 618 36 711 470 23 670 053 29 063 171 31 205 269 19 594 197 20 621 317 28 153 264 149 341 261 201 414 511 223 750 307 и 216 582 112 276 992 617 319 820 310 0 86 581 689 83 938 493 68 368 778 574 506 079 813 395 039 Рис. 5.24. При ручной сортировке новые регионы добавляются в конец списка п
Изменение способа просмотра данных сводных таблиц 105 Еще одно решение проблемы, связанной с настройкой последовательности представления полей West, North, South, состоит в ручной сортировке спи- ска. Списки, отсортированные вручную, настраиваются на вкладке Списки диалогового окна Параметры. Используйте команду Параметры из меню Сервис, введите West, North, South в поле Элементы списка и щелкните на кнопке Добавить. В области Списки (рис. 5.25) будет отображен ваш новый список West, North, South. Параметры Международные Сохранение Проверк а ошибок ьид Вычисления Правке | Общие | Переход Орфография | Безопасность Сижки Диаграмма Цвет Соигки НОВЫЙ СПИСОК Пн, Вт, Ср, Чт, Пт, Сб, Вс Понедельник, Вторни,. Среда, Четсерг, Г янь, фев, мар, аир, май, июн, июл, ьвг, се Январь, Февраль M jpr, Al |рьлР, Май, Ию. West , Not th. South' > Импорт списка из ячеек: Импорт Рис. 5.25. Собственный список West, North, South теперь доступен для применения в сводной таблице После настройки собственного списка вы можете задать сортировку поля Region в порядке возрастания. Технология IntelliSense программы Excel обеспечивает сортировку этих элементов по полю Region и выводит отчет в соответствии с пользовательским списком. Сортировка с помощью кнопок на стандартной панели инструментов Некоторые сводные таблицы можно сортировать, используя кнопки стан- дартной панели инструментов. Предупреждение Сортировка с помощью кнопок на панели инструментов приводит к изменению типа сортировки на Вручную. Логика сортировки не сохраняется в виде новой структуры отчета. Сортировка сводной таблицы с помощью кнопок на панели инструментов несколько отличается от стандартной сортировки набора данных.
106 Глава 5 Выберите любую ячейку в диапазоне А5: А26 для сортировки сводной таб- лицы по рынку, как показано на рис. 5.26. Поскольку мы работаем с полем строки, то перед сортировкой можете выбрать заголовок Market или любой необходимый рынок. Чтобы выполнить сортировку по прибыли, как показано на рис. 5.26, вы- берите одно из значений в диапазоне В6 :В26. Если вы выбрали заголовок в ячейке А4 или В4, то программа Excel сообщит, что не знает, по какому полю выполнять сортировку. На рис. 5.27 показана сводная таблица с двумя полями данных в области столбца. При выборе ячейки в диапазоне А5: А26 и щелчке на кнопке сорти- ровки будет выполнена сортировка по рынку. Если же выбрать ячейку в диа- пазоне Вб: В26, то отчет будет отсортирован по прибыли. При выборе ячейки в диапазоне С6: С26 отчет будет отсортирован по количеству проданного то- вара. Что интересно, при использовании ячейки В5 или С5 поля Revenue и Units будут отсортированы в порядке возрастания и убывания на основе их заголовков. При выборе ячейки В27 или С27 будет выполнена сортировка столбцов Revenue и Unit на основе их итоговых сумм. мнеми в CooierSale * 2 LINE OF BUSINESS REVENUE > • |мдй<ет&..гз?":м Итог California 4 02С335 * Central US 3 506 717 7 Colorado 3113 591 Florida 3 783 617 Ж Great Lakes 1 929 517 10 tGulf Coast 5830 888 it Illinois 2 989 768 ~12 Indiana 3 616 687 13 Kentucky 5 872 430 14 New England 6 011 684 15 New York North 3 932 881 16 New York South 1 641 970 17 North Carolina 3 763158 18] North West 3 179 141 19 Ohio 2 381 299 20 Shenandoah Valley 4 244 770 21 South Carolina 5 751 497 Southwest 4 532147 23 Tennessee 6 323 837 24 Texas 4 531 085 25 If. река 5 624 620 26 Общий итог 86 581 689 А _ C J X One of business Copier Sale v ' 2 Данные ... ♦! r. UNITS REVENUE 5' New York South 555 1 641 970 ж Great Lakes 647 1 329 517 Ohio 798 2381 299 SJ Illinois 1009 2989 768 North West 1 068 3 179141 Colorado 1 068 3113 591 11 Central US 1 186 3 506 717 42 Indiana 1 2U1 3 616 687 13 Florida 1224 3 783 617 14 North Carolina 1 259 3 763 158 15 California 1 374 4020 385 16 New York North 1 382 3 932 881 171 Shenandoah Valley 1 470 4 244 77Q jy о С * сл ** ! 1 ! ! ) 1 496 4 532 147 19-Texas 1 508 4 531 085 20 South Carolina 1818| 5 751 497 Topeka 1 889 5 624 620 22 Gulf Coast 1950 5 830 888 23 Kentucky 1962 5 872 430 24 New England 2 036 6 011 684 25 Tennessee 2 091 6 323 837 26 Общий итог 29 011] Г8Ё581 689 Рис. 5.26. Для сортировки поля Market выберите любую ячейку в диапазоне А5:А2б и щелкните на кнопке сортировки по возрастанию Рис. 5.27. Сортировка с помощью кно- пок на панели инструментов усложня- ется при повышении сложности струк- туры отчета Важно помнить, что любая сортировка с использованием кнопок панели инструментов выполняется только один раз, в результате чего опция сорти- ровки изменяется на вариант Вручную. В левой части рис. 5.28 показана свод- ная таблица с объемом продаж копировальных устройств по отдельным рын-
Изменение способа просмотра данных сводных таблиц 107 кам. Отчет был отсортирован в порядке уменьшения прибыли путем выделе- ния ячейки В6 и установки сортировки по убыванию. Хотя может показаться, что выполненные действия равнозначны настройке параметров более слож- ной функции Автосортировка, данная сортировка применяется только к те- кущему виду таблицы. Если указать отображать в области страницы данные поля Printer Sale, то таблица не будет повторно отсортирована автоматически. Как показано в правой части рис. 5.28, рынки приводятся в той же последовательности, что и для поля Copier Sales. Хотя в отдельных случаях именно это и требуется, чаще всего не- обходимо автоматически сортировать данные по новому полю. ' '/V'1,1 ‘ 0^1 LINE OF BUSINESS Copier Sale Sr 2 3 REVENUE 4 MARKET^ t. ж Итог £ Tennessee 6 323 B37 6 New England E 011 F84 4. Kentucky 5 872 430 г Gulf Coast 5 830 888 South Carolina 5 751 497 ю To^ka 5 624 620 и Southwest 4 532 147 12 Texas 4 531 085 13 Shenandoah Valley 4 244 770 14 California 4 020 385 15 New York North 3 932 881 16 Florida 3 783 617 17 North Carolina 3 763158 18 Indiana 3 616 687 19 Central US 3 596 717 X Nurth West 3 179 141 21 Colorado 3 113 591 22 Illinois 2 999 760 23 Ohio 2 381 299 24 Great Lakes 1929 517 25 New York South 1 641 970 26 Общий итог 86 581 689 ,.,.A ' " WM',:d 1 LINE OF EASINESS Printer Sale ▼ V I 3 REVENUE 4 MARKET Итог J ..s’ Tennessee 3 505 028 6 New England 3 356 078 ' 7. Kentucky 3 662 458 Gulf Coast 2 685 703 9* South Carolina 1 703 777 W Topeka 3 211 734 11 Southwest 3 465 741 12 Texas 2 644 097 13 Shenandoah Valley 2 329 461 ,14 California 3 570 593 15 New Ynrk Nnrth 4 828 599 В Flotida 4 823 314 i? North Carolina 2 311 733 18 Indiana 4 958 038 19 Central US 3 414 010 20 North West 2 807 395 21 Colorado 3 124 724 22 Illinois 3 562 893 23 Ohio 3 960 185 24 Great Lakes 3 269 643 125 New York South 1 173 574 _26 Общий итог 68 368 778 Рис. 5.28. Выберите поле Printer Sale, и отчет не будет отсорти- рован в должном виде. Причина в том, что сортировка с использо- ванием кнопок A-Z и Z-A на панели инструментов приводит к пе- реходу к ручным настройкам функции Автосортировка Создание отчетов "Первая десятка" Правило “80/20” часто применяется к финансовым наборам данных. Предпо- лагается, что 80% прибыли приносят 20% клиентов. Вы можете обнаружить, что, кроме 10 самых крупных клиентов, в отчете содержатся сведения о множестве мелких клиентов, которые покупают запасные части стоимостью всего в несколь- ко долларов. Менеджер по продажам может сэкономить рабочее время, если вме- сто изучения отчета из 10 страниц с данными о 500 клиентах он просмотрит отчет на одной странице с данными о 10-20 самых крупных клиентах. Сводные таблицы поддерживают возможность фильтрации отчета в вари- антах Первые 5, Последние 10 и т.д.
108 Глава 5 На рис. 5.29 показан отчет о продажах копировальных устройств по разным складам. В отчете выведено 128 складов. Отчеты “Первая десятка” создаются с помощью диалогового окна Дополни- тельные параметры. Дважды щелкните в поле store для открытия диалого- вого окна Вычисление поля сводной таблицы. Затем щелкните на кнопке Дополнительно. Параметры раздела Автоотображение лучшей десятки при- ведены в правой части этого диалогового окна. Изначально автоматическое отображение первых нескольких позиций не вы- полняется. При выборе переключателя включения функции Автоотображение становятся доступными три дополнительных элемента управления. Раскрываю- щийся список Отображать позволяет выбрать вариант наибольших или наи- меньших. Справа от него вводится число между 1 и 255. Элемент управления С помощью поля применяется для ограничения поля Store до 15 верхних запи- сей в поле Revenue. На рис. 5.30 показано описанное диалоговое окно с настрой- ками автоматического отображения лучших значений. А Б 1 ONE OF BUSINESS (Copier Sale * 2 3 1 REVENUE 4 STORE * Итог 5 2004014 756 874 6’ 2105015 447 881 .2 3106016 273 005 в 3106026 185 772 в 3109019 1 756 664 W 6002012 80 777 6002G22 456 509 12 Г00Р029 738 131 113 7008018 404 117 14 7008048 791 971 15 12011011 361 180 16 12016016 1 608 904 17 12118018 599 319 18 12118048 663 694 19 12118068 113 406 20 12113080 260 651 21 13013013 1 455 229 22 13013023 846 695 123 13019019 1 518 424 24 13019029 858 136 ' ‘At- 25 13019049 681 536 26 14010010 407 122 Рис. 5.29. Этот итоговый отчет за- нимает четыре печатные страницы и содержит слишком много де- тальных сведений для руководи- телей высшего уровня Рис. 5.30. Настройки Автоотображение лучшей десятки позволяют ограничить отчет только верхними или нижни- ми записями Итоговый отчет теперь ограничен первыми 15 складами (рис. 5.31). Поле Store выделено синим цветом, указывающим на то, что поле отфильтровано с помощью функции Автоотображение. Отметим, что использование функции Ав- тоотображение не означает автоматическую сортировку отчета. Для этого вам придется применить команду Автосортировка. Кроме того, общий итог в нижней части отчета представляет сумму только для выведенных 15 элементов.
Изменение способа просмотра данных сводных таблиц 109 А В I 1 LINE OF BUSINESS Copier Sale ▼ 2 3 REVENUE 4 STORE ▼ [Итог 5 3109P19 1 756 864 6 12016016 1 608 904 7 13013013 1 455 229 8 13019019 1 518 424 9 33031021 1 323 914 ио 47142012 1 434 231 и 63163013 1 217 881 12’ 67166016 1 64/ 569 13 72070010 1 589 312 14 73171011 2 659 817 15 ’4075025 1 241 201 16 83080010 1 908 104 17 85085025 1 998 514 1$ 94091(111 1 177 528 19 96094014 1 477 754 120 Общий итог 24 015 246 Рис. 5.31. Использование функции Авто* отображение для создания отчета по са- мым крупным складам При изменении поля страницы автоматически изменится и список глав- ных складов. A в 1 [LINE OF BUSINESS Printer Sale *r 2 iREGION ; North * з j 4 JCymmr no полю REVENUE 5 MARKET м * Итог 6 New York North 4 826 599 7 Ohio 3 960 185 8 New England 3 356 078 9 Great Lakes 3 269 643 10 Shenandoah Vail, у 2 329 461 11 South Carolina 1 703 777 121 New York South 1 173 574 13jTopeka 0 14 Indiana 0 15 i Kentucky 0 16 Colorado 0 17. California 0 18] Illinois 0 19 j North Carolina 0 20 North West 0 21 j Central US 0 22] Florida 0 23 (Gulf Coast 0 24 ! Southwest 0 25^Tennessee 0 26 |Texas 0 27 |Общий итог 20 621 317 Пример ошибки в логике функции Автоотображение В логике функции Автоотображение существует очевидный изъян. Если вы запрашиваете первых 10 значений, причем десятое место заполнить нечем, го программа Excel не станет препятство- вать выводу всех несуществующих записей. Если вы внимательней присмотритесь к отчету, то мо- жете столкнуться с ситуацией, в которой из 10 за - писей только девять или даже меньшее количе- ство имеют ненулевые значения, В указанном случае нулевыми значениями программа запол- няет несуществующие записи. В результате вы получите сводную таблицу с огромным количест - вом нулевых записей в конце, как показано на рис 5.32. Рис. 5.32, В этом отчете нарушен принцип применения крманды Автоотображение Условия отбора настолько строгие, что только восемь записей из десяти имеют ненулевые значения. Программа Excel отображает все остальные записи в виде нулевых значений Помните, что если вы вручную отфильтруете поле Store, а затем перемес- тите его в область страницы, то отчет будет продолжать фильтроваться по складам. Эта методика не применима к полям, отфильтрованным с помощью
110 Глава 5 функции Автоотображение. Переместите отфильтрованное поле store в об- ласть страницы, и все склады снова будут выделены. Группировка сводных таблиц Хотя большая часть операций подведения итогов и вычисления показате- лей выполняется с использованием стандартных команд сводных таблиц, иногда возникают ситуации, в которых требуется дополнительно суммировать данные отчета. Например, финансовые данные, как правило, хранятся с указанием даты сделки. Эти данные выводятся в ежемесячных, квартальных или годовых от- четах. Опция Группировать позволяет легко и быстро консолидировать даты сделок в группы, основанные на месяцах или кварталах. Впоследствии вы сможете суммировать данные в этих группах таким же образом, как это вы- полняется в полях сводной таблицы. Как вы узнаете в следующем разделе, группировка не ограничивается по- лями дат. Вы можете группировать поля без дат для консолидации определен- ных объектов сводной таблицы в отдельный элемент. Группировка полей дат На рис. 5.33 показан отчет, сведенный по датам. Итоговые данные для двух лет трудовой деятельности занимают более 700 строк. В этих 700 строках под- ведены итоги для исходных 41550 строк данных, но руководство чаще всего требует итоговые данные на ежемесячной или ежегодной основе. Группировка полей дат не вызывает особых проблем. Щелкните правой кнопкой мыши на заголовке дат или на любом элементе дат, примените команду Группа и структура и выберите опцию Группировать, как пока- зано на рис. 5.34. Если поле содержит информацию о датах, откроется диалоговое окно Группирование, показанное на рис. 5.35. По умолчанию выделен вариант Ме- сяцы. Вы можете группировать данные по секундам, минутам, часам, дням, месяцам, кварталам и годам. Рекомендуется выбирать в диалоговом окне Группирование несколько вариантов. В нашем случае выбраны варианты Кварталы и Годы. Обратите внимание на некоторые особенности группировки данных в итого- вой сводной таблице. Во-первых, поля Кварталы и Годы добавлены в список полей. Не позволяйте себя одурачить — ваш источник данных не изменился и никаких новых полей не содержит. Эти поля теперь являются частью кэша сводной таблицы в памяти. Во-вторых, по умолчанию поля Годы и Кварталы автоматически добавляются после исходных полей дат в макете сводной таб- лицы, как показано на рис. 5.36.
Изменение способа просмотра данных сводных таблиц 111 А В 1 [LINE OF BUSINESS Copier Sale 2 3 Сумма ль пмю REVENUE 4 jlN BALANCE DATE ж, Итог 5 Г 01.03.06 57 018 6 I 01 04 06 51628 01.05.06 100116 8 f 01.06 06 132 272 9 1 01.07.06 23 086 To] 01.08.06 174 158 11 01.09.06 113 21u 12 0111’06 18 498 13 01.11.06 36 611 14 01.12.06 172 620 15 Г 01.13.06 103 723 16 Г 01.14.06 156 226 17 Г 01.15.06 215 407 16 01 16.06 132 032 <9 01.17 06 59 077 20 01.18.06 55 747 211 0119.06 182 083 221 01.20.06 77 823 23 01.21.06 63 683 24 01.22.06 61 966 Рис. 5.34. Для получения доступа к меню Груп- пировать щелкните правой кнопкой мыши на заголовке поля Рис. 5.33. Отчет с ежедневными итогами занимает более 700 строк. Имеет смысл создать отчет за месяц или год Рис. 5.35. Пользователи Excel, занимаю- щиеся финансовой деятельностью, оце- нят функцию группировки по месяцам, кварталам и годам Включение итогов по годам при группировке данных по месяцам Хотя это сразу не очевидно, при группировке полей дат по месяцам имеет смысл включить в итоговые данные сведения по годам. Например, сводная таблица, показанная на рис. 5.37, имеет поле дат, сгруппированных по месяцам и годам. Для названий месяцев в столбце А ис- пользуются распространенные сокращения типа Янв, Фев и т.д. Объем про- даж принтеров за январь 2006 года составляет 2,715 млн долл.
112 Глава 5 А В 1 С D Е F G 1 LINE OF BUSINESS Cogiei Sale I1 рл Сумма по полю REVENUE j 1 лисом полей сводной та * х Перетащите элементы в сводную таблицу з1 4 Годы LJ&b Кварталы IN BALANCE DATE v Итог 5 JJ 7 'в V 10“ и 12 13 2006 Кв-л1 янв 2 715 020 фев мар 3 088 467 3 201 442 • £1 -в и м ... н И Ё1 • в -□ а REGION MARKET STORE IN BALANCE DATE A Кв-л2 апр мнй июн 3 309 439 3 435 284 3 384 032 Кв-лЭ июл авг сен 3 651 569 3 461 037 3 531 622 Order Date FISCAL PERIOD MuDEL 14. ”15 16 Кв-л4 окт н я |дек 3 627 505 3 563 280 3 363 154 LINE OF BUSINESS REVENUE Q 2007 18 19 201 < 21 Кв-л1 ЯНР фев 3 331 228 3 560179 Unll1 □ DkA-U V СГНитГС ГМ АЧС CZM f\ J» мар 3 950 904 | Погостить в Область ст ‘ 1 Кв-л2 апр 3 895 744 май 3 879 592 22 июн 3 923 025 3 J 23 Кв-лЗ июл 3 903 992 1 24 авг 3 936 585 •25 сен 3 856 852 26 Кв-л4 он 4 211 254 i j i I j ..... 27 ноя 4 078 083 L J 28 дек 3 672 400 Г 29 Общий итог 86 581 689 30 I 1 Рис. 5.36. По умолчанию программа Excel добавляет новые сгруппированные поля дат в макет сводной таблицы A в С D iJ UNE OF BUSINESS Coder Saif ▼ 2 3 Сумма no полю REVENUE Годы, ▼ 4_ IN BALANCE DATE ’ * p006 2007 Общий итог 5 ЯНВ 2 715 020 3 331 228 6 046 248 6 фев 3 088 467 3 560179 6 648 646 7 мар 3 201 442 3 950 934 7 152 346 8 anp 3 309 439 3 895 744 3 879 592 7 205 183 9 май 3 435 284 7 314 876 10 июн 3 384 032 3 923 025 7 307 057 11 § s 3 651 569 3 903 992 7 555 561 12 авг 3 461 037 3 986 585 7 447 622 13 сен 3 53i 622 3 866 852 7 388 474 14 'О . 3 i : I 1 1 ! 1 i 1 j [ I 1 3 627 505 4 211 254 7 838 759 15 ноя 3 563 280 4 078 083 7 641 363 16 А*к 3 363 154 3 672 400 7 035 554 17 Обилий итог 40 331 851 46 249 838 86 581 689 Рис. 5.37. Эта таблица имеет поле дат, сгруппирован- ных по месяцам и годам Если вы решили сгруппировать поле дат только по месяцам, то программа Excel продолжит выводить итоги для поля дат с использованием сокращен- ного названия Янв. Проблема заключается в том, что даты Янв 2006 и Янв 2007 объединены под общим названием Янв. Отчет с итогами Янв 2006 и Янв 2007 будет полезен только при выполнении сезонного анализа данных. При любых других обстоятельствах отчет об объемах продаж принтеров за ян-
Изменение способа просмотра данных сводных таблиц 113 варь, составляющий 6 млн. долл., будет выглядеть несколько неправдоподоб- но и может интерпретироваться неверно. Чтобы предотвратить создание со- мнительных отчетов, подобных показанным на рис. 5.38, всегда включайте в диалоговом окне Группирование группировку данных по годам при подведе- нии итогов по месяцам. Рис. 5.38. Если вы не включили поле Годы в сгруппированный от- чет, то в нем будут просуммированы продажи за январь 2006 года и январь 2007 года Группировка полей дат по неделям Диалоговое окно Группирование предлагает настройки группировки по секун- дам, минутам, часам, дням, месяцам, кварталам и годам. А что делать, если нужно сгруппировать данные по одной или двум неделям? Это вполне реально. Прежде всего вы должны свериться с бумажным календарем для дан- ного года. Рабочие даты могут начинаться с 3 января 2006 года, причем важно знать, что в этом году 3 января было во вторник. Вы решаете, с ка- кого дня должна начинаться неделя: с воскресенья, понедельника или лю- бого другого дня. Сверьтесь с календарем. Ближайший понедельник был 2 января 2006 года. Щелкните правой кнопкой мыши на заголовке дат в сводной таблице. Выбе- рите опцию Группа и структура и примените команду Группировать. В диалого- вом окне Группирование сбросьте флажки со всех опций По и выберите в списке указания шага только значение Дни. Это позволит использовать счетчик Количе- ство дней. Чтобы создать недельный отчет, увеличьте количество дней с 1 до 7. И наконец, вам нужно установить флажок Начиная с и задать дату. Если вы приняли настройки по умолчанию и начали с 3 января 2006 года, то все не- дельные периоды в отчете будут начинаться со вторника и заканчиваться по- недельником. Вновь сверившись с календарем, начинайте первую группу со 2 января 2006 года. Измените настройки, как показано на рис. 5.39. В результате вы получите отчет, отображающий еженедельные объемы продаж, как показано на рис. 5.40.
114 Глава 5 Рис. 5.39. Ключ получения доступа к счетчику Количество дней заключается в выборе из поля с шагом значения Дни Tu A R Copier Sale v 1 LINE OF BUSINESS 2 «к* Ca) ^-4 j Сумма no полю REVENUE | " IN BALANCE DATE ~У]Итог 5 02.01 2006 - 08.01.2006 538 278 6 09.01.2tl06 - 15 01.2006 316 503 7*1 16.01.2006-22.01.2006 632 411 6 23.01.2006 - 29 01.2006 487 928 9 301(1 2006 - 05.02.2006 705 964 io C6.02.2C06- I2.02.2006 698 789 13 02.2006- 19 02.2006 636 649 12 20 02 2006 - 26 02 2006 879 789 13 j 27.02 2006 - 05 03 2006 1211616 14 06.03.2006-12 03 2006 621 595 16 13.03.2006-19 03.2006 647 396 16 20 03.2006 - 26.03.2006 686 309 17 27.03.2006 - 02.04 2006 549 539 18 03.04.2006 - 09.04.2006 771 229 19 10.04.2006 -16.04.2006 725 350 20 17.04.2006 - 23.04 2006 840 719 21 i24.04.2006 - 30.04.2006 864 304 Рис 5.40. Отчет, отображающий еженедельные объемы продаж Предупреждение Если вы решили выполнить группировку данные по неделям, никакие иные на- стройки группировки доступны не будут. Вы не сможете сгруппировать текущее или любое другое поле по месяцам или кварталам. Группировка двух полей дат в одном отчете При группирке поля дат по месяцам и годам программа Excel переназнача- ет исходное поле дат для отображения месяцев и добавляет новое поле для отображения годов. Новое поле имеет имя Годы. Все довольно просто, если у вас в отчете представлено только одно поле дат. Если вам нужно создать отчет с двумя полями дат и вы пытаетесь сгруппи- ровать оба поля по месяцам и годам, программа Excel сама установит первому сгруппированному полю имя Годы, а второму сгруппированному полю — имя Годы2. Это неминуемо приведет к конфликту данных. В подобном случае важно правильно переименовать поля. Отчет по срокам выполнения работ Составители графиков на заводе-изготовителе озабочены временными периодами между приемом заказов и их выполнением. Составители знают, чТо для приобрете- ния мачериалов, разработки и производства товаров требуется 60 банковских дней. Если все их клиенты заблаговременно сделают заказ, то заводу-изготовителю по- требуется как можно побольше материальных ресурсов.
Изменение способа просмотра данных сводных таблиц 115 Однако в действительности заказчики всегда хотят,“чтобы их клиенты получили товар как можно быстрее. В таких случаях завод-изготовитель может приобрести дополнительные ресурсы для выполнения срочных заказов. Л д Л[ Если используемый источник данных включает в себя поле для дат отправки товара и поле для дат заказов, вы с легкостью можете создать отчет, отображающий стандарт- ный порядок выполнения заказов по отдельным товарам Такой отчет вполне подойдет сос авителям графиков выполнения заказов на заводе изготовителе. 1. Создайте отчет с полем ship Date в области строк. Если вы хотите вывести даты отгрузки товаров в области столбцов, но в отчете имеется больше 253 дат, то вы изначально не сможете заполнить отчет 2. Сгруппируйте поле Ship Date по месяцам и годам. 3. Перетащите поле Ship Date (содержащее теперь месяцы) в область столбцов сводное таблицы. Перетащите поле Годы в область страницы сводной таблицы и выберите первый год. 4. Перетащите поле Order Date в область строк сводной таблицы. 5. Сгруппируйте поле Order 4Date по месяцам и годам. 6. Программа Excel самопроизвольно переименует поле с годами для order Date на Годы2, поэтому переименуйте его на Год заказа. 7. Дважды щелкните на поле Revenue. Щелкните на кнопке Дополнительно и вы- берите опцию Доля от суммы по столбцу. /Г / 8. Пока вы находитесь в диалоговом окне Вычисление поля сводной таблицы, щелк- ните на кног же формат. Задайте полю Revenue числовой формат 0.0%;;. Точки с за- пятой не будут позволять выводить отрицательные или нулевые значения. Итоговая таблица показана на рис. 5.41. В ячейке Сю указывается, что 22,9% зака- зов копировальных устройств в январе 2006 года реализовалось в течение января. Другие 35,3% этих заказов реализованы в декабре. Это означает, что 59% от объе- ма продаж копировальных устройств за январь были реализованы во время их производства. Это говорит о том, что завод-изготовитель должен хранить полный набор ресурсов для выполнения срочных заказов^ У W} I- .[ Л; Рис. 5,41. В отчете, указывающем время выполнения заказов, используются два поля, сгруппированных по месяцам и годам
116 Глава 5 Группировка числовых полей Диалоговое окно Группирование, применяемое для числовых полей, по- зволяет группировать элементы в одинаковые диапазоны. Укажите начальное число, конечное число и общее количество чисел, которые должны содер- жаться в каждой группе элементов. Группировка текстовых полей Предположим, вас вызвал главный менеджер по продажам. Он тайком ре- шил выполнить массивную реорганизацию в региональных торговых отделе- ниях. При этом он требует отчет с отображением объемов продаж за послед- ние два года по указанным регионам. Вы догадываетесь, что предложенные регионы будут меняться не один раз до окончания реорганизации, поэтому откажетесь от изменения поля Region в источнике данных. Вначале создайте отчет, отображающий прибыль по годам и рынкам. Ме- неджер по продажам предлагает создать новый регион Юго-Восток, вклю- чающий регионы Texas, Gulf Coast, Florida, Carolinas и Shenandoah Valley. Используя клавишу <Ctrl>, выделите эти шесть рынков для нового региона Юго-Восток. Щелкните правой кнопкой мыши на одном из рынков и сгруппируйте эти элементы. На рис. 5.42 показана сводная таблица перед созданием первой группы. 1.INE OF BUSINES 2 3 4 L_________ 6 Central US П?. vENUE MARKET California ja 11 Colorado Flohai Great Lakes Gulf Coast Illinois 12 Indiana Kentucky 14 >New England 15j 16 17 16 19 *20 121 New fork Nu' New York Sod North •Carolina North West Ohio 22 2? 24 Shenandoah \ South Carolina Southwest Tennessee Hexa?, , Topeka Общий итог Copier Saie чг Формат ядок... Сводная диаграмма Мастер сводных таблиа О&юеить данные » J Скрыть детали ► *3 Отобразить детали Общий итог 4 020 385 3 506 717 ; 3113 591 3 783 617 1 929 517 "5 630 088 2 989 768 3 616 687 5 872 430 6 011 684 3 932 881 SHIP DATE 2006____________-2007___________ I 945 645 2 0“r4 740 'T 765 979' 1 740 738 * ' Скрыть выделить A Q^yma и структур Порадок Параметры поля--. Параметры таб^ы... Скрыть панель сводной таблицы Скрыт» список nonet > разгруппировать ZT3ZW3 2 657 004 2 96'616 40 951' 46 24S La. 86 581 689 7^3tT4TZ| 4 531 085 5 624 620 4 532 147 6 323 837 А 8 Рис. 5.42. Используйте клавишу <Ctrl> для выделения не- смежных ячеек, с тем чтобы сгруппировать их в новый регион Юго-Восток
Изменение способа просмотра данных сводных таблиц 117 После группирования программа Excel добавит новое поле с именем MAR- КЕТ2. В группе MARKET2, переименованной на Группа!, как показано на рис. 5.43, будут перечислены шесть выделенных ранее ячеек. A В C D E 1 LINE OF BUSINESS [Copier Sale 2 3 REVENUE SHIP DATE ▼ 4 MAPKET2 МАРКЕ'. 2005 2007 Общий итог 5 California California 1 945 645 2 074 740 4 020 385 6 Central US Central US 1 765 979 1 740 738 3 506 717 7 I Coloiado Coloi ado 1 273 808 1 839 783 3113 591 8 Группз1 Florida , 1 726 585 2 057 032 3 783 617 9 Gulf Coast 2 920 984 2 909 904 5 830 B88 10 North Carolina 1 513 984 2 249 174 3 763 158 11 Shenandoah Valley 1 994 123 2 250 647 4 244 770 12 South Carolina 2 656 626 3 094 871 5 751 497 13. Texas 2192 673 2 338 412 4 531 035 14 Great Lakes Great Lakes 886 356 1 043 161 1 929 517 15 llliinis Illinois 1 503 380 1 486 388 2 989 768 16 Indi ana Indiana 1 747 801 1 868 886 3 616 687 17 Kentucky Kentucky 2 564 272 3 308 158 5 872 430 18 New England New England 2 787 396 3 224 288 6 011 684 19 New York North New York North 1 760 975 2171 906 3 932 881 20 New York South New York South 742 995 898 975 1 641 970 21 | North West North West 1 443 962 1 735 179 3 179 141 22’Ohio Ohio 1 104 104 1 277 195 2 381 299 231 Southwest Southwest 2174R79 2 357 268 4 532147 24 [Tennessee Tennessee 2 968 320 3 355 517 6 323 837 25 {Topeka Topeka 2 657 004 2 967 616 5 624 620 26 Общий итог 40 331 851 46 249 838 86 581 689 Рис. 5.43. Программа Excel автоматически называет первую группу как Группа! Дважды щелкните на поле MARKET2 и назначьте ему имя Новый регион. Щелкните в ячейке А8 и введите вместо Группа! более понятное имя. При повторении этих операций для других регионов программа Excel про- должит присваивать им имена Группа2, ГруппаЗ и т.д. После создания каж- дого региона вводите описательное название в ячейку, содержащую имя, ав- томатически присвоенное программой Excel. Вы обнаружите, что поле Новый регион действительно существует. Для представления данных в алфавитном порядке используйте настройки Авто- сортировка. По умолчанию программа Excel не добавляет промежуточные итоги в поле Новый регион. Вы с легкостью можете использовать диалоговое ок- но Вычисление поля сводной таблицы для вставки в таблицу промежу- точных итогов. На рис. 5.44 показан отчет, создаваемый для главного менеджера по про- дажам после небольшой русификации. В нем “предсказывается”, что компа- нии требуется переместить рынки сбыта в регион Северо-Восток для сба- лансирования торговой деятельности.
118 Глава 5 А в L Q _J . в E. 1 Отрасль торговли Copier Sale • 2 3 1 Продажи Дата отгрузки 4 Новый регион * ‘Рынок г 2006 2C07 Общий итог 5 Запад California 1 945 645 2 074 740 4 020 385 6 Colorado 1 273 808 1 839 783 3113 591 7 North West 1 443 962 1 735 179 3 179 141 8 Southwest 2174 879 2 357 268 4 532147 L Topeka 2 657 064 2 967 616 5 624 620 J0 Запад Итог 9 495 298 11.974 586 20 469 884 11 Северо-Восток New England 2 787 396 3 224 288 6011 684 12 New York North 1 760 975 2 171 906 898 975 3 932 881 м New York South 742 995 1 641 970 и, Северо-Восток Итог 5 291 366 6 295 169 11 586 535 15 Средний Запад Central US 1 765 979 1 740 738 3 506 717 16 Great Lakes 886 356 1 043 161 1 929 517 17 Illinois 1 503 380 1 486 388 2 989 768 18 Indiana 1 747 801 1 868 886 3 616 687 19 Kentucky 2 564 272 3 308 158 5 872 430 20 Ohio 1 104 104 1 277 195 2 381 299 21 Tennessee 2 968.320 3 355 5I7 6 323 837 22 Средний Запад Итог 12 540 212 14 080 043 26 620 255 23 Юго-Восток Florida 1 726 585 2 057 032 3 783 617 24 Gulf Coast 2 920 984 2 909 904 5 830 888 ПС 4*0 North Carolina 1 513 984 2 249 174 3 763 158 26 «1 Shenandoah Valley 1 994 123 2 250 647 4 244 770 27 South Carolina 2 656 626 3 094 871 5 751 497 28 Texas 2192 673 2 338 412 4 531 085 29 Юго-Восток Ито» 13 004 975 14 900 040 27 905 015 30 Общий итог 40 331 851 46 249 838 86 581 689 Рис. 5.44. После группировки рынков в новые регионы отчет стано- вится более понятным для анализа Группировка и разгруппировка Создав группы, вы можете скрывать или отображать детальные данные с помощью команд Скрыть детали и Отобразить детали. На рис. 5.45 пока- зана сводная таблица, основанная на отчете рис. 5.44, со скрытой детальной информацией. А 1 Отрасль торговли . В Copier Sale ▼! D Е 2 V 4 * Продажи Новый регион у Запад Рынок ЧГ Дата отгрузки у 2006 9 495 298 2007 10 974 586 Общий итог 20 469 884 • 1 40 >Ki Северо-Восток 5 291 366 6 295 169 11 586 535 Средний Запад 12 540 212 14 080 043 26 620 255 8 Юго-Восток 13 004 975 14 900 040 27 905 015 9 Общий итог 4П 331 851 46 249 838 86 581 689 Рис. 5.45. Используя текстовые группы, вы можете скрывать и отображать детальные сведения. В этом варианте отчета детали скрыты Дальнейшие шаги Программа Excel очень удобна для вычислений разного рода значений. Компания Microsoft добавила в нее два дополнительных средства, предна-
________________________Изменение способа просмотра данных сводных таблиц 119 значенных для вычислений данных в сводных таблицах. Вы можете доба- вить новый элемент в существующую таблицу или же вставить в нее со- вершенно новое поле. В следующей главе мы рассмотрим, как правильно использовать вычисляемые поля и элементы.
Выполнение расчетов в сводных таблицах 6 В ЭТОЙ ГЛАВЕ Вычисляемые поля и вычисляемые элементы При анализе данных с использова- нием сводных таблиц часто возникает потребность во включении в отчет значений, полученных в результате вычислений, которые выполнялись вне исходного набора данных. Про- грамма Excel обеспечивает вас средст- вами выполнения расчетов в сводных таблицах с помощью вычисляемых полей и вычисляемых элементов. Вычисляемое поле — это поле дан- ных, создаваемое в результате вычис- лений, основанных на существую- щих полях сводной таблицы. Вычис- ляемое поле добавляется в набор данных как виртуальный столбец. Этот столбец не включается в исход- ные данные, содержит значения, оп- ределяемые с помощью формулы, и взаимодействует с данными свод- ной таблицы так же, как и с осталь- ными полями сводной таблицы. Вычисляемый элемент — это эле- мент данных, создаваемый в резуль- тате выполнения расчетов на основе существующих элементов поля дан- ных. Вычисляемый элемент добавля- ется в набор данных как виртуальная строка данных. Вычисляемые поля и вычисляемые элементы..121 Создание вычисляемого поля ...125 Создание вычисляемых элементов...............133 Преимущества и недостатки вычислений в сводных таблицах................140 Управление и поддержка вычислений в сводных таблицах................145 Дальнейшие шаги..........146
122 Глава 6 Эта виртуальная строка не включается в исходные данные и содержит итого- вые значения, полученные в результате вычислений, выполненных в других строках того же поля. Вычисляемые элементы взаимодействуют с данными сводной таблицы подобно всем остальным элементам. С помощью вычисляемых полей и вычисляемых элементов вы можете вставить в сводную таблицу формулу, позволяющую создать собственное поле или элемент данных. Вновь созданные данные станут частью сводной таблицы, взаимодейст- вуя с уже существующими данными, заново рассчитываясь при обновлении и предоставляя вам возможности, изначально отсутствующие в источнике данных. В примере на рис. 6.1 продемонстрировано, как обычное вычисляемое по- ле может представить данные в ином ракурсе. А В C D E 1 i 2 i 1 ! i r I i ' 1 ! 1 ! 1 i i i— 1 > j । з Ц 4 UNE OF BUSINESS ▼ REGION ▼ Даник „ «г REVENUE Units Sold - -I-*— Average Revenue Per Unrt 5 Copier Sate North 25 893 618 3 706 i ! i | ! ‘ u, KJ ss -л 4- < I е % s South 36 711 470 12 224 7 West 23 97b 601 3 081 2 967 el Copier Sale Итог 86 581 689 29 011 2 984 9 Printer Sate North 20 621 317 4 313 4 781 10 South 28153 264 5 876 4 791 JLL3L . 11 West 19 594197’ 4 135 12 Printer Sale Итог 68 368 778; 14 324 4 773 13 Service Plan North 201 414 511] 103 595 1 944 14 15 South , ’ West 223 750 307 115 742 1 933 149 341 261 76 954 1 941 1b' Service Plan Итог 574 506 079 296 291 1 939 17 Общий итог 729 456 546 339 626 2148 Рис. 6.1. Поле Average Revenue per Unit (Средняя выручка за единицу) представляет собой вычисляемое поле, добавляющее но- вый смысл в анализируемые данные Сводная таблица отображает выручку и количество единиц товара, про- данных в каждом регионе по каждому направлению. Вычисляемое поле, рас- считывающее среднюю выручку за единицу товара, вносит определенность в анализируемые данные и добавляет в таблицу новые возможности. Теперь посмотрите на рис. 6.1 и спросите себя: “Зачем понадобилось до- бавлять вычисляемые поля и вычисляемые элементы? Почему бы не исполь- зовать обычные формулы ячеек или произвести необходимые вычисления не- посредственно в исходной таблице для получения требуемой информации?” Чтобы получить ответы на эти вопросы, мы рассмотрим различные мето- ды, которые можно использовать при создании вычисляемого поля, показан- ного на рис. 6.1. Метод 1. Добавление вычисляемого поля в источник данных вручную Вы можете вручную добавить вычисляемое поле в источник данных, как по- казано на рис. 6.2, позволив сводной таблице использовать это поле как стан- дартное поле данных.
Выполнение расчетов в сводных таблицах 123 1 REO.On MARKET LINE OF 0USINE SS Unite Sold DAYS IMPEND Average Revwf ие par Unit 2 North иеос Lal /Parts $3454 1 19,0 ?454,0 3 North Shenandoah Valey Printer Sala $1SO<32 2 19,0 / 7 641,0 4 North Shenandoah Valey Copier Sale $12 968 6 19,0 2161,3 5 N*<rh .NewF'ntend {Parts 12 789 19,0 1394,5 6 North ‘jew f ng s id Service Plan $32 605 1910 1 417,6 7 North New England Ser rice Plan j $52437 20 19,0 1 747,9 6 North New England Printer Sale $17 391 2 19,( ₽ 695,5 9 North New England .Parts $2 4o8 3 19,0 822,7 10. North New England Parts $375 1 19,0 375,0 11 North New York South Service Plan $67 592 30 19,0 2253,1 12 North New York South Service Plan $21 454 15 19,0 1430,3 13 North 1 *10 Parts $979 2 19,0 489,5 14 North Ohio Parts $4539 1 19,0 4539,0 15 North >)hio .Parts $3 209 2 19,0 1604/5 16 North Ohio Parts $34 612 22 19.0 1573,3 17 hkxth South Сороки Service Plan I $14 051 9 I ! ! i r ! JO о 1561,2 10 South North Carolina Parts 1249 11 19,0 v ’ 22,6 " , . 19 South North Carolina Service Plan $3 951 : 1 < i * j 19,0 3 951,0 20 >cuth Flor da Service Plan $157 434 68 о й 2315,2 21 South Florida Parts $19087 0 19,0 1,0 South Indians ; Service Plan $20 586 12 19,0 1,0 Рис. 6.2. Предварительно рассчитывать вычисляемые поля в источ- нике данных обременительно и непрактично На первый взгляд все выглядит довольно просто, однако этот метод пред- варительного расчета поля и его внедрения в источник данных непрактичен по нескольким причинам. Помимо того факта, что вы увеличиваете шансы получения ошибок, воз- никающих в результате вычисления и управления данными с помощью фор- мул, вы также ограничиваете свои рабочие возможности в случае изменения базовых требований. Что же касается изменений вычисляемых полей, то вам придется вернуться к источнику данных, заново рассчитать поле для каждой строки и обновить сводную таблицу. Если вам потребуется добавить поле, то вернитесь к источ- нику данных, добавьте новое вычисляемое поле, и затем измените диапазон сводной таблицы для включения в нее нового поля. Метод 2. Использование формулы вне сводной таблицы для создания вычисляемого поля Вы можете добавить вычисляемое поле при выполнении расчетов во внеш- ней ячейке с помощью формулы. В примере на рис. 6.3 каждая ячейка в столбце Average Revenue per Unit (Средняя выручка за единицу това- ра) снабжена формулой, ссылающейся на сводную таблицу. Несмотря на то, что этот метод обеспечивает добавление вычисляемого по- ля, которое обновляется при обновлении сводной таблицы (как видно на рис. 6.4), любые изменения в структуре сводной таблицы могут привести к тому, что формула станет попросту бесполезной.
124 Глава 6 А, Данные ж| ДОБАВЛЕННОЕ ПОЛЕ 4 REGION ж UNE OF BUSINESS * REVENUE . Units Sold. Averaqe Revenue Per Unit 5 North Copier Sale 25 893 618 8 706 2 974 6 Printer Sah 20 621 317 4 313 4 781 7 Service Plan 201 414511 103 595 1 944 в North Итог 247 929 446 116614 2126 3 South Copier Sale 36 711 470 12 224 3 003 10 Printer Sale 28 153 264(2 5 876 4 791 и Service Plan 223 750 307 115 742 1 933 12 South Итог 288 615 041 133 842 2156 13 West Copier Sale 23 976 601 [ 8 081 2 967 14 Printer Sale 19 594 197[ 4 135 4 739 15 Seince Plan 149 341 261 76 954 1 941 16 'West Итог 192 912 059 89 170 2163 17 Общий итог 729 456 546 339 626 2148 Рис. 6.3. При вводе формулы после создания сводной таблицы вы, по сути, добавляете вычисляемое поле, которое обновляется при обновлении самой сводной таблицы A В c D E 1 REGION (Все) ж 2 4 3 Данные ж ДОБАВЛЕННОЕ ПОЛЕ 4 LINE OF BUSINESS ж (REVENUE Units Sold Average Revenue Per Unit 5 Copier Sale 86 581 689 29 011 ОДЕЛЛ! 6 Printer Sale 68 368 778 14 324 ОДЕЛЛ! 7 Service Plan 574 506 079 296 291 ОДЕЛЛ! 8 Общий итог 729 456 546 339 626 ОДЕЛЛ! 9 - - — . - ОДЕЛЛ! 10 i 3 ! I । LJ г ОДЕЛЛ! 11 ОДЕЛО! 12 ! ( r I i i i | ' I > < ! j ! i ОДЕЛЛ! 13 ! 1 : I ' ! ! 1 ОДЕЛЛ! 14 £ _ J. ОДЕЛЛ1 15 1 ОДЕЛЛ! 16 J 1 J ОДЕЛЛ1 17 1 1 - ОДЕЛЛ! Рис. 6.4. Перемещение поля Region в область страницы изменяет структуру сводной таблицы, что выявляет недостатки добавления вычисляемых полей с использованием внешних формул Метод 3. Непосредственная вставка вычисляемого поля в сводную таблицу Вставка вычисляемого поля непосредственно в сводную таблицу— это наилучшее решение. Вам не потребуется управлять формулами и беспокоить- ся о расширяемости таблицы при росте или редактировании источника дан- ных, причем сводная таблица останется достаточно гибкой при изменении определений полей. Еще одно огромное преимущество этого метода заключается в том, что вы можете изменять структуру сводной таблицы и даже просчитывать другие по- ля данных для вычисляемых полей, не беспокоясь об ошибках в формулах или нарушении ссылок на ячейки. Отчет сводной таблицы, показанный на рис. 6.5, представляет сводную таблицу, которая показана на рис. 6.1, за исключением того, что она реконст-
Выполнение расчетов в сводных таблицах 125 руирована таким образом, чтобы выводить средний доход за единицу товара по каждому рынку. А В С D 1 2 3 | Данные 4 MARKET ♦ Сумма по полю REVENUE Сумма по полю Units Sold Сумма по полю Average Revenue Per Unit 6 ^Cuiifornia 61 636 732 24 785 2 487 6 j Central 30 603 842 12 940 2 357 7 j Colorado 26 217 201 11 020 2 379 8 J Florida 47 362 461 19 372г 15 903 2 445 9 [ Great Lakes 36 992 638 2 326 10 > Gulf Coast 45 159 185 18 556 2 434 11 Illinois 42 101 421 18 390 2 289 12] Indiana 41 043 454 17 416 2 357 13 (Kentucky 37 363F32 J 5 448 2 419 14(New England 37 341 224 15 315 2 438 151 New York North 41 493 673 16 906 2 454 16 i New York South 29 482 893 12 95f 2 276 17 j North Carolina 34 082 354 13 940 2 445 18 Northwest 28 923143 11 770 2 457 19]Ohio 42 703 718 18 025 2 369 20] Shenandoah Valley 56 233 581 1 1 1 j i i 1 < i ! : i ; I | ! I 1 I \ 1 ; 1 1 ; j s o> cn ГЧ J ' j j - 1 1 1 1 t j i i > 1 ! 1 2 350 21 .South Carolina 32 744 890 13 576’ 2 412 22] Southwest 23 Tennessee 29 325 287 12 LH67 2 441 33 564 381 13 493 2 488 24 jTexas 25 Topeka 39 143 422 17 228 2 272 39 975 ВД7 16 639; 2 403 Эбщий итог 813 395 039 339 626. 2 395 Рис. 6.5. Ваше вычисляемое поле остается действительным даже при изменении структуры сводной таблицы, приводящей к отображению средней выручки за единицу товара для каждого рынка Таким образом, при добавлении собственных вычислений в сводную таб- лицу вы получаете следующие преимущества. Исключение потенциальных ошибок в формулах и ссылках на ячейки. Возможность добавления и удаления данных из сводной таблицы без изменения исходных вычислений. Возможность автоматического перерасчета данных при изменении или обновлении сводной таблицы. Обеспечение гибкости изменения вычислений при изменении опреде- лений элементов. Возможность эффективного управления вычислениями. Создание вычисляемого поля Чтобы создать вычисляемое поле, активизируйте диалоговое окно Вставка вычисляемого поля, показанное на рис. 6.6. Чтобы открыть его, поместите курсор в любом месте сводной таблицы, щелкните на значке Сводная табли- ца на панели инструментов Сводные таблицы и используйте команду Фор- мулы*^ Вычисляемое поле.
126 Глава 6 Рис. 6.6. Диалоговое окно Вставка вычисляемого поля поможет в создании вычисляемого поля для сводной таблицы Примечание Чтобы открыть диалоговое окно Вставка вычисляемого поля в Office 2000, щелк- ните правой кнопкой мыши в сводной таблице и используйте команду Форму- лыФВычисляемое поле. Совет Если панель инструментов Сводные таблицы активизирована, вы можете щелк- нуть кнопкой мыши в любом месте сводной таблицы и использовать комбинацию клавиш <Alt+P> для просмотра всех элементов раскрывающегося меню Сводная таблица. В верхней части диалогового окна, показанного на рис. 6.7, имеется два текстовых поля: Имя и Формула. В них вы должны задать вычисляемому полю имя и создать формулу, указав необходимые поля данных и математические операторы. В данном примере вычисляемому полю задано имя Avg Revenue per Unit (Средняя выручка за единицу товара). Далее, перейдите к списку Поля, как показано на рис. 6.8, и дважды щелкните на поле Revenue. Введите символ косой черты /, чтобы указать программе Excel, что вы будете делить значение поля Revenue на другой элемент. Предупреждение По умолчанию текстовое поле Формула диалогового окна Вставка вычисляемого поля содержит выражение = о. Перед вводом собственной формулы следует удалить нуль. Закончите ввод формулы, дважды щелкнув на поле Units Sold. Готовая формула показана на рис. 6.9.
Выполнение расчетов в сводных таблицах 127 Рис. 6.7. Установка вычисляемому полю описа- тельного имени Рис. 6.8. Начните ввод формулы со значения =Revenue / Рис. 6.9. Полная формула = Revenue / 'Units Sold' отображает требуемое вычисляемое поле
128 Глава 6 Щелкните на кнопке Добавить, а затем на кнопке ОК для активизации но- вого вычисляемого поля. Как видно на рис. 6.10, в результате вы получите вы- числяемое поле внутри сводной таблицы. Список полей сводно^ таблицы * X Перетащите элементы t иьодную таблицу j»| REGION 14 MARKET ЦЗТиЯЕ IN BALANCE DATE U FISCAL PERIOD -gj MODEL i [J LINE OF BUSINESS I JJ REVENUE , | Units Sold <••• g| DAYS IN PERIOD J Avg Revenue per Unil Поместить в Область строк Рис. 6.10. Вы успешно доба- вили вычисляемое поле в сводную таблицу. Теперь вы можете изменять настройки этого нового поля точно так же, как и параметры любого другого поля (например, имя поля, числовой формат или цвет) Обратите внимание на то, что после создания нового поля Сумма по полю Avg Revenue per Unit оно добавляется в список полей. Означает ли это, что вы добавили столбец в ис- точник данных? Нет. Вычисляемые поля похожи на элементы Промежуточная сумма и Общая сумма сводной таблицы, задаваемые по умолчанию, тем, что все они являются математическими функциями, которые выполняют перерасчет данных при изме- нении или обновлении сводной таблицы. Вычис- ляемые поля просто имитируют строго заданные поля в источнике данных. Вы можете перетаскивать их, изменять настройки полей, а также использовать вместе с другими вычисляемыми полями. Взгляните внимательно на рис. 6.9. Обратите внимание на то, что формат введенной вами фор- мулы похож на используемый в стандартной стро- ке формул Excel. Очевидное различие состоит в том, что вместо использования строгих ссылок на ячейки или числовых значений, вы ссылаетесь на поля данных сводной таблицы для определения аргументов, применяемых в расчетах. Если вы уже работали с формулами в Excel, то быстро усвоите концепции создания вы- числяемых полей. ПРАКТИКУМ : ' . - Прогнозирование итогов по следующему году Предположим, что каждый склад компании предоставил начальный прогноз про- даж на следующий год. Ваша задача состоит в использовании предоставленных складами данных для создания итогового отчета, выводящего следующие данные в Прогноз общего объема продаж по регионам и рынкам. Общий (процентный) рост объема продаж за последний год. Общая чистая прибыль по регионам и рынкам. Поскольку эти показатели рассчитываются на основе исходных данных и обяза- тельно будут изменяться в течение последующих двух недель, для создания за- требованного отчета с прогнозами вы будете использовать сводную таблицу, по- казанную на рис. 6.11. Создайте исходную сводную таблицу для включения полей Revenue Last Year (Продажи за прошлый год) и Forecast Next Year (Прогноз на следующий год) для каждого региона и рынка.
Выполнение расчетов в сводных таблицах 129 А В 'c D E F 1 РЫО MARKET STORE Revenu > test Year Forecast Next Year Varrabk Cost Next Year 2 North NewEngtard 2004014 $1 825 142 $1 788 £39 ($249 225) 3 North New England Gulf Coast 2105015 $955 797 $1 099 167 ($226 204) 4 South 3106016 $1 878 608 $1 963 145 ($669 394) 5 Louth Gulf Coast 3106026 $1 558 607 $1 479 621 ($275 185) 6 outh nen-aicky 3109019 $1 611 371 • $1 524 357 ($212 783) 7 South Texas 6002012 Я 400 037 $501 892 $1 491 039 ($348 657) 8 South Texas 6002022 $577 176 ($126 406) 9 South Texas 6009029 $299 320 $336 735 ($248 154) 10 West Southwest 7008018 $2 870 867 $1 202 129 $2 776 586 ($418 324) 11 West Southwest 7006048 $1 396 111 ($327 184) 12 North New England 12011011 $880 242 $528 145 ~ $1 326 786 ($294 655) 13 iTurth Shenandoah VaBey 12016016 $1 396 617 ($145 957) 14 •lortll Shenandoah Valey 12016026 $383 542 $886 984 $1 235 879 $1 229 098 ($669 590) 15 North New York South 12118018 $1 021 388 $1 350 657 ($345 686) 16 llorth New York South 12118048 ($235 106) 17 North New York South 12118058 $420 054 $483 062 ($56 281) 18 North New York South 12118068 $347 789 $158 536 $424 303 ($83 687) 19 north Nev? York South 12118088 $206 097 ($114 644) Рис. 6.11. Использование сводной таблицы обеспечивает гибкость при обновлении итогового отчета, что устраняет необходимость его повтор- ного создания Как видно на рис. 6.12, добавив поля Forecast Next Year в область данных, вы выполняете первое требование — вывести прогноз общего объема продаж по ре- гионам и рынкам 1 A n,, о м Ь. Ст, , D 2 /? jTjti - r%-iiril"iT" г 3 Данные ▼ tf 4 REGION ▼ MARKET * Revenue Last Year Forecast Next Year 5 North Great Lakes 3 195 710 3 584 51? 6 7 New England New York North 4 931 119 3 682 182 4795652 3906 225 8 New York South 3 298 424 3578439 9 Ohio 3 424 208 3 689 359 10 Shenandoah Valley 3 555 032 4036 68b 11 South Carolina 5 795 378 6135018 12 North Итог 27 882 053 29725897 13 i 14 15 South Florida Gulf Coast Illinois 6 211 824 5 736 364 2 833 555 6 401397 6116 796 2 795029 16 17 Indiana 4 123 662 4 417 918 Kentucky 4008 095 4211 045 18 19 20 North Carolina Tennessee 5 536 547 5 788 209 5882912 6113 491 Texas 2 934 707 3175691 21 South Итог 37 172 363 39034 2801 22 23 24 25 26 West California 5 590 362 5 830021 Central Colorado North West_ Southwest 4 776 894 8 383 701 1 640 466 5 200 620 4 634 993 8 931856 1 720 593 5516 178 27 Topeka 4 823 847 5 146 364 28 West Итог 30 415 890 31780003 129 Общий итог 95 470 306 " 100540180 Рис 6.12. Исходная сводная таблица довольно проста, однако она обеспечивает данные для первого требования - вывести прогноз общего объема продаж по регионам и рынкам
130 Глава 6 Далее требуется определить процентный рост продаж за последний год. Чтобы получить эти данные, ьам нужно добавить вычисляемое поле с использованием следующей формулы. (Forecast Next Year - Revenue Last Year)/'Revenue last Year’ Щелкните на значке Сводная таблица на панели инструментов Сводные таблицы и примените команду Формулы^Вычисляемое поле. В диалоговом окне Вставка вычисляемого поля введите имя нового Поля Percent Growth. Удалите нуль в поле Формула и выполните следующие операции, t Введите открывающую скобку (. & Дважды щелкните на поле Forecast Next Year. Зе Введите знак минус ( ~ ). 4. Дважды щелкните на поле Revenue Last Year. 5. Введите закрывающую скобку ). 6. Введите знак деления/. 7. Дважды щелкните на поле Revenue Last Year. На этом этапе ваше диалоговое окно должно выглядеть примерно так, как показано на рис. 6.13. Введите формулу и щелкните на кнопке ОК для добавления нового поля. Вставка вычисляемого поля Добавить Ipercent Growth Добавить поде Закрыть «шнм**м** Рис. 6ЛЗ, Всего лишь несколько раз щелкнув кноп- кой мыши, вы создали формулу процентного роста продаж Revenue Last Year I Forecast Next Ye® Variable Cost Next Year ]ргя; REGION MARKET STORE Имя: формула: |и ("Forecast Next Year - Revenue Last Year*)/ ‘Re Фермат по умолчанию создает впечатление, что ваше вычисляемое поле указыва- ет на повсеместный йулевой рост продаж (рис. 6.14). Вам нужно форма тировать новые созданные поля так, чтобы правильно представить данные в них. В данном случае придется изменить настройки нового поля так, чтобы вывести данные в них в процентах. После форматирования вычисляемого поля сводная таблица должна выглядеть примерно так, как показано на рис. 6Л5. Используя новое вычисляемое поле, вы можете видеть, что рынки New England и Illinois должны заново построить прогнозы для отражения положительного роста зз последний год.
Выполнение расчетов в сводных таблицах 131
132 Глава 6 Итак, после вывода прогноза общего объема продаж по регионам и рынкам, а также общего процентного роста за последний год, пришло время выполнить последнее требование: вывести общую маржинальную прибыль по регионам и рынкам. Чтобы извлечь эти данные, нужно добавить вычисляемое поле, в котором исполь- зуется следующая формула. Forecast Next Year + Variable Cost Next Year Примечание Поле Variable Cost Next Year находится вне отчета сводной таблицы (см. рис. 6.15). В вычисляемом поле могут использоваться скрытые поля сводной таблицы. Откройте диалоговое окно Вставка вычисляемого поля и задайте новому вычис- ляемому полю имя contribution Margin (Маржинальная прибыль). Удалите нуль в поле Формула и выполните следующие операции. 1.. Дважды щелкните на поле Forecast Next Year. 2. Введите знак плюс (4). 3. Дважды щелкните на поле Variable Cost Next Year. На этом этапе ваше диалоговое окно должно выглядеть так, как показано на рис. 6.16. Вставка вычисляемого поля _____________ Имя: ] Contribution Margin ....--1-----<— ................................. ........--- = 'Forecast Next Year'+ ‘Variable Cost Next Year* Удалить Поля: PEGION MhRKFT 5TOPE Revenue Last Year Fore :ast Next Year Variable Cost Next Year Percent Grouth C01 itnbution Margin Доба^чгп: поде OK Рис. 6.16. Всего лишь несколько раз щелкнув кноп- кой мыши, вы создали формулу маржинальной прибыли После создания маржинальной прибыли ваш отчет сводной таблицы должен вы- глядеть примерно так, как показано на рис. 6.17. Этот отчет полностью готов для просмотра.
Выполнение расчетов в сводных таблицах 133 А В c E F 1 2 3 Данные ж < REGION w MARKET Revenue Last Year_ Forecast Next Year Percent Grouth Contribution Margin_ 5 North Great Lakes 3 195 710 3 584 517 12,2% 2 765 802 New England 4 931 119 4 795 652 -2.7% 3 664 958 New York North 3 682 182 3 906 225 6.1% 2 919 377 8 New York South 3 298 424 3 578 439 8.5% 2 743 035 9 Ohi о 3 424 208 3 689 359 7.7% 2 647 732 10 Shenandoah Valley 3 555 032 4 036 688 13,5% 2 865 439 11 South Carolina 5 795 378 6135-Л8 5.9% 4 941 832 12 North Итог 27 882 053 29 725 897 6.6% 22 548 177 13 South Florida 6 211 824 6 401 397 L 3.1% 6,6% 4 774 773 U Gulf Coast 5 736 364 6116 796 4 193 780 15 16 17 Illinois 2 833 555 2 795 029 -1.4% 2197 804 Indiana 4 123 062 4 417 918 7,2% 3 328 858 2 973 512 4 331 500 Kentucky 4 008 095 4 211 045 5.1% 18 North Carolina 5 536 547 5 802 912 6113 491 4.8% 19 Tennessee 5 788 209 5.6% 4 613 075 20 Texas 2 934 707 3 175 691 8.2% 2211 415 21 South Итог 37 172 363 39 034 280 5.0% 28 624 716 22 West California 5 590 362 5 830 0211 4.3% 4 149 922 3 584 924 23 Central 4 776 894 4 634 993 -3.0% 24 Colnraor Я 383 701 8 931 856 6.5% 7 214 436 25 North West 1 640 466 1 720 593 4.9% 1 423 759 26 Southwest 5 200 620 5 516176 6.1% 4 412 008 27 Topeka 4 823 847 5146 364 6,7% 3 508 392 28 West Итог 30 415 890 31 780 003 4.5% 24 293 441 29 Общий итог 95 470 306 100 540 180 5.3% 75 466 334 Рис 6.17. Благодаря вычисляемому полю, маржинальная прибыль теперь представляется отдельным полем данных отчета сводной таблицы Создание вычисляемых элементов Как отмечалось в начале главы, вычисляемый элемент, по сути, представ- ляет собой строку данных, добавляемую в результате выполнения вычислений в других строках того же поля. Поэтому для добавления вычисляемого элемен- та имеет смысл вначале выбрать поле, в которое он будет добавлен. Примечание Группировка элементов может привести к результату, подобного полученному при создании вычисляемого элемента. Действительно, во многих случаях группи- ровка представляет отличную альтернативу вычисляемым элементам. В главе 5 процесс группировки элементов описан более подробно. В сводной таблице, показанной на рис. 6.18, после поля Line of Busi- ness (Отрасль торговли) указывается общий объем продаж копировальных устройств и принтеров. Вам нужно сгруппировать эти элементы данных в вы- числяемый элемент с именем Equipment (Оборудование). Наведите указатель на любой элемент данных поля Line of Business, щелкните на значке Сводная таблица панели инструментов Сводные табли- цы и примените команду Формулы^Вычисляемый объект. Откроется диа- логовое окно Вставка вычисляемого элемента, показанное на рис. 6.19.
134 Глава 6 А В C 1 Перетащите сюда поля страниц 2 _ ’ 1 3 3 С/мма по nt / 4 REGION LINE OF BUSINESS * Итог 5 North Copier Sale $25 693 615,00 6 Parts $29 063 171,00 7 Printer Sale $20 621 317,00 Я Servic-i Plan $201 414 511,00 9 North Итог $276 992 617,00 10 South Copier Sale $36 711 470,00 11 Parts $31 205 269,00 12 Printer Sale i28 153 264,00 13 Service Plan $223 750 307,00 14 South Итог $319 820 310,00 15 West Copier Sale $23 976 601.00 16 Parts $23 670 053,00 17 Printer Sale $19 594 197,00 18 Service Plan $149 341 261,00 । 19 West Итог $216 582112,00 20 Общий итог $813 395 039,00 Рис. 6.18. Добавление нового элемента данных Equipment, который представляет сумму про- даж принтеров и копировальных устройств Рис. 6.19. Диалоговое окно Вставка вычисляемо- го элемента поможет вам в создании вычисляе- мого элемента Обратите внимание на то, что в верхней части диалогового окна указано, с каким полем вы работаете. В данном случае это поле Line of Business. Кроме того, список содержит все элементы поля Line of Business. Ваша цель заключается в том, чтобы задать вычисляемому элементу имя, а затем создать формулу, указав необходимую комбинацию элементов данных и опе- раторов, которые обеспечат правильный результат. На рис. 6.20 вычисляемому элементу присвоено имя Equipment. Как уже отмечалось, поле ввода формулы изначально содержит выражение = 0. Перед непосредственным вводом формулы удалите нуль.
Выполнение расчетов в сводных таблицах 135 Рис. 6.20. Задайте вычисляемому элементу опи- сательное имя Перейдите к списку Элементы и дважды щелкните на элементе Copier Sale. Введите знак плюс (+). Закончите ввод формулы двойным щелчком на элементе Printer Sale в области Элементы. На этом этапе ваше диалоговое окно должно выглядеть примерно так, как показано на рис.6.21. В нем показана полная целевая формула = 'Copier Sale' + Printer Sale'. а В 4 с 1 Перетащите соэ поля страниц 2 j * з Сумма по пс 4 REGION ж LINE OF BUSINESS ▼ Итог 5 Nnrth Copier Salr $25 893 618,00 6 Parts $29 003171,00 7 Printer Sale $20 621 317,00 а [Service Plan $201 414 511,00 9 Equipment ' $46 514 935,00 к North Итог $323 507 552,00 и South Copier Sale $36 711 470,00 12 Parts $31 205 269,00 13 Printer Sale $28 153 264,00 14 Service Plan $223 750 307,00 15 Equipment $64 864 734,00 16 South Итог $384 685 044,00 17 West Copier Sale $23 976 601,00 18 Parts $23 670 053,00 19 Printer Sale $19 594 197,00 20 Service Plan $149 341 261,00 21 Equipment $43 570 798,00 22 West Итог $260152 910,00 23 Общий итог $968 345 506,00 Рис. 6.21. Вы успешно добавили в сводную таблицу вычисляемый элемент Таким образом, вы получили требуемый вычисляемый элемент. Щелкните на кнопке ОК для активизации нового вычисляемого элемента. Теперь вы можете скрыть элементы Copier Sale и Printer Sale, ос- тавив видимыми три сводных элемента, как показано на рис. 6.22. Помните,
136 Глава 6 что вы можете изменять настройки нового элемента данных точно так же, как вы это делаете для любого другого элемента (например, изменить числовой формат или цвет). 3 Сумма no пс 4 REGION * lLINE OF BUSINESS ▼ Итог S North Parts $29 063171,00 6 ? Service Plan $201 414 511,00 Equipment $46 514 935,00 & North Итог $276 992 617,00 9 South Parts $31 205 269,00 10 Service Plan $223 750 307,1)0 IL Equipment $64 864 734,00 12 South Итог $319 820 310 00 13 West Parts $23 670 053,00 I4 Serv'ce Plan $149 341 261,00 15 Equipment $43 570 798,00 16 West Итог $216 582112 00 17 Общий итог $013 395 039,00 Рис. 6.22. Скройте элементы Copier Sales и Printer Sales и вы представите в таблице три отдельных элемента и кор- ректную итоговую сумму Предупреждение Если вы не скрываете элементы данных, используемые для создания вычисляе- мого элемента, то получаемые итоговые и промежуточные суммы могут дважды включать единицы измерения (продажи, галлоны и т.д.). Сравните итоговую сум- му на рис. 6.21 с суммой на рис. 6.22. практикум Создание отчета Вам нужно создать отчет, в котором рассчитываются два базовых расхождения для каждого склада. За текущий период налогообложения по сравнению с тем же периодом за про- шлый год. я За три последних периода налогообложения по сравнению с теми же периода- ми за прошлый год На рис. 6.23 показан источник данных, с которым вы будете работать. Исходя из объема данных в исходной таблице и возможности периодическо! о повторения этой задачи, вам придется создать отчет с помощью сводной таблицы. Создайте исходную сводную таблицу, как показано на рис. 6.24, поместив поле Fiscal Period (Период налогообложения) в область строк и поле Revenue в область дачных. Первая размерность, которая нам нужна -~ это текуший период налогообложения по сравнениюс тем же периодом за прошлый год. Вам нужно добавить вычиспяе- . мый элемент, рассчитываемый по следующей формуле. Fiscal Period 200404 - Fiscal Period 200304
Выполнение расчетов в сводных таблицах 137 4 А В c D E F T G 1 й Ж,*--....,. : . J. ... i .... .. j 1 REGION MARKET STORE IN BALANCE DATE FISCAL PERIOD MODEL LINE OF BUSINESS REVENUE Units sold DAYS IN PERIOD 2 North Great Lakes 65061011 01.03.03 200205 40551 Parts |3 454 IS) О h.. 19,0 3 North Shenandoah Valley 62067017 01.03.03 L_J 200205 2500Г Printer Sole $15 682 19,0 4 North Shenandoah Valk у 32139049 01.03.03 — f ... -X - 200205 2500C Copier Sale j $12 968 6 j 19,0 5 North New England 2004014 01.03.03 200205 4055T Parts $2.769 0 19,0 6 North New England 72074014 01.03.03 200205 4500C Service Plan $32 605 IS) GJ I ! г 1 ! 1 ' 19,0 7 North New England 12011Л11 01.03.03 1 200205 3001iP Service Plan $52 437 30 19,0 1 в Nortl. New Enoiand 2105015 01.03.03 ' у— / 1 200205 , j >500P Printer Sale $17 391 2 19,0 9 N rrh Now England 22022012 01.03.03 i ; 200205 4055T Parts $2 468 0 19,0 Ю N Jfth New England 22022012 01.03.03 i 1 200205 3002C Parts J_ $375 .0. . 19,0 11 North New York South 12118060 01.03.03 —r _ f 200205 i 1 c - 4500C Service Plar 4 $b7 592 30 19,0 12 North New York South 12110066 01.03.03 7 I —4--. i i 200205 3002C Service Plan $21 454 ! 1 O 5 ! 1 rr 1 1 19,0 13 JNorth ЭЬю 44040030 01.03.03 !00205 3002C Parts $979 19,0 14 JNorth Oh,o 44040020 01.03.03 200205 4055T Parts $4 539 2 .....4L 19.0 15 jNorth Ohio 7 - - - 44040020 f 01.03.03 t I 200205 3002P Parts $3 209 $34 612 0 19,0 16 .North Ohio -4037017 01.03.03 f t 200205 3002P Parts 0 r— . 9 4 19,0 17 North South Corulr.a 53154014 01.03.03 200205 3002C Service Plan $14 051 19,0 18 South North Carolina 63064014 01.03.03 200205 5001P Parts $249 0 19,0 Рис. 6.23. Использование сводной таблицы обеспечивает обновление отчета без необходи- мости его повторного создания " A ' В 1 Сумма по полю RE ZENUE 2 IFISCAI PERIOD w Итог 3 200205 32684448 4 200206 34090824 6 200207 34648991 — 1 6 1 1 1 200208 33958920 7 200209 35112864 8 200210 33704405 200211 33133608 10 200212 32991065 11 200301 32305497 12 200302 34445448 131 200303 33744529 14 200304 33051136 15 200305 33742628 Рис. 6и24. Базовая исходная сводная таблица, выводящая объем продаж по периоду налого- обложения Наведите указатель на любой элемент данных поля Fiscal Period и щелкните на значке Сводная таблица на панели инструментов Сводные таблицы. Приме- ните команду Формулы^Вычисляемый объект. В открывшемся диалоговом окне Вставка вычисляемого элемента введите имя элемента Current PD vs. Same Last PD. 4 ~ Ж8И Удалите нуль в поле Формулы и выполните следующие операции 1. Дважды щелкните на элементе 200404. 2. Введите знак деления /. ' ; 3. Дважды щелкните на элементе 200304. 4 Введите -1. На этом этапе ваше диалоговое окно должно выглядеть примерно так, как показа- но на рис. 6.25. Чтобы добавить новый вычисляемый элемент, щелкните ОК.
138 Глава 6 формула, |«‘200404/*200304'’1 jCurrent RD vs Same Last RD Остатка вычисляемо» о элгненга в "FISCAL PERIOm По'.я. Добавить пода FISCAL С’ЕР IQD 200205 200206 20U207 200208 ^и0209 200210 200211 200212 REGION MARKET STORE IN BALANCE DATE MODEL LINF OF BUSINESS REVENUE Зарыть Рис. 6.25. Формула для первоп размерности (теку- щий период налогообложения по сравнению с тем * же периодом за прошлый год) Теперь нужно создать вычисляемый элемент для средних значений за период на- логообложения по сравнению с теми же средними значениями за прошлый год. Вычисление для этой размерности выполняется следующим образом. Average (’ 200404 •, 200403 ’, 200402 ') /Average р 200304 ’ f: 200303 1,200302 ’) - 1 Наведите указатель на Любой элемент данных в поле Fiscal Per iod и откройте диалоговое окне Вставка вычисляемого элемента Задайте новому элементу имя . Last /• 3' ’ PD ': Avg "Vs У'Same '* PBS • Last L Удалит^ уульд поле. Формулы и выполните следующие операции. 'U у t ^ведите-^рзн^чи* W*/ 2, Дважды щелкните на элементе 2О0404 и введите точку с запятой. 3. Дважды щелкните на элементе 200403 и введите то^ку с запятой. , 4. Дважды щелкните на элементе 200402. 5. Введите ) /CP3HAV (• 6, Дважды щелкните на элементе 200304 и введите точку с запятой. 7. Дважды щелкните на элементе 2 о оз оз и введите точку с запятой. 8. Дважды щелкните на элементе 200302, 9, Введите)-!. На рис. 6.26 показано диалоговое окно с полной Формулой. Примечание Обратите внимание на то, что в данном примере используется функция срзнач. При создании формул в вычисляемых полях или вычисляемых эле- ментах вы можете использовать любые функции рабочих листов, в которых отсутствуют ссылки на ячейки или именованные элементы
Выполнение расчетов в сводных таблицах 139 Поля: ^|ементы. 200205 200206 200207 200208 200209 200210 200211 200212 REGION MARKET STORE IN BALANCE DATE Добавить поде WHlilW—I' * Рис. 6.26 Вс второй формуле используется шесть элементов данных и две функции СРЗНАЧ Теперь скройте все элементы данных в поле Fiscal Period за исключением двух вычисляемых элементов, которые вы только чтр создали. На этом этапе свод - ная таблица должна выглядеть так, как показано на рис. 6.27 -V Г 1 ’Сумм» по полю REVENUE_______________ 2 . FISCAL PERIOD ___________ . . Д]Current PD vs. Same Last year А. Л08* 3 PD Avg vs. Same PDS Last Year 5 Юбщий итог frf^' lA^iii^iaadi ljjiii. ! pijq А . ‘Г , - ; “ ?'• Я .. * "/X ’ Ч ’ йгш1 №J. ,K. Итог______ 0.0% 2,7% ______27% Рис. 6.27. После скрытия ненужных элемен- тов данных и задания процентного формата данных можно начина гь составлять отчет я f / 7 ' •' ЧЛ- г ‘ j ' \ -Л'. ' 1 '• Jr « Ч ААр /; ''‘И"1''А,' т .!' Добавьте б область строк поле store и перетащите поле Fiscal Period на поле Итоги' как показано на рис, 6,28. ' ''" К/ 1 A? i * '' i'’ '. . ‘ ' , J./''ААУ 'Я ' & АЧ- , V .. Й‘,/М’l й ntw.ni mi Iimiranrnnnywnr A 1 • Перетащите сюда поля страниц И ,. J 3 Сумма по полю REVENUE 4 pSTORF ' ____r.[FF>L PERIOD"! 2004014 ВТГ с Г- 1 / vi wi Current PD vs Same Last Year i6t5% Last 3 PD Avg vs. Same PDS last Year i j o*»* ig у ня* Mi w.Rffffy 4 * * * -T Рис* 6.28. Добавьте поле store и измените ориентацию вычисляемых полей на столбцы l‘l F'4 !t Л 5 6 т ' I.J Последний этап создания отчета заключается в применении условного формати- рования. Выполните следующие действия. г ч ; ' у ! 1! Y 1 Выберите все ячейки в области данных и примените К ним условное формати- рование. 1 ' • < Л Л?^’ \ ' Z+' 2. Перейдите в строку меню и выполните команду Формат^>Условное формати- рование. 7 3. Задайте формат Знамение меньше 0.
140 Глава 6 4. Щелкните на кнопке Формат и измени ге шрифт и цвет по своему усмотрению. 5. Чтобы применить Новый формат, щелкните на кнопке ОК. Условное форматирование обеспечивает динамическое выделение проблемных областей, добавляя в отчет сводной таблицы дополнительный уровень функцио- нальных возможностей (рис. 6.29). Ваш отчет готов. А н с I REGIO*! . (Все; ▼ 2 MARKET {Все] 3 - - - - - 4 Сумма по гюлю REVENUE FISCAL PERIOD 1 f 5 I STORE т Current PD vs. Same Last Year Last 3 PD Avq vs. Same PDS last Year 6 2004014 7.4% “ 16.5% 7 1 2105015 3,8% 8 3106016 .' A t • V • 9 3106026 Жиг * j v * П J 10 3109019 3 3% 2,2% .1 6002012 4.51 J2' 6002022 8 0% I 21 8% ИЗ 6009029 <'И . 1 14 7008018 2Д%] 15 7008048 Рис. 6*29. Полностью готовый отчет Если вам требуется просмотреть этот же отчет за следующий период налогообложения, слегка подправьте используемые в нем формулы и обновите сводную таблицу. Преимущества и недостатки вычислений в сводных таблицах Хотя и нет лучшего способа включать в сводную таблицу расчеты, чем ис- пользовать вычисляемые поля и элементы, в их применении есть определен- ные недостатки. Важно понимать, что происходит при вычислении данных в сводных таблицах, но намного важнее учитывать ограничения вычисляемых полей и вычисляемых элементов, что позволит предотвратить ошибки при анализе данных. В этом разделе мы рассмотрим правила управления вычисляемыми полями и элементами, которые чаще всего применяются при расчетах значений в сводных таблицах. Приоритет выполнения операторов Расчеты в сводных таблицах проводятся согласно порядку выполнения операторов, т.е. определенной последовательности, заданной в Excel. Очень важно знать порядок выполнения операций в Excel, чтобы не допускать оши- бок в расчетах. Вы можете использовать в формулах вычисляемых элементов и полей лю- бой оператор, т.е. любой символ, представляющий выполняемое вычисление (+, %, * и т.д.). При выполнении вычисления, в котором комбинирует-
Выполнение расчетов в сводных таблицах 141 ся несколько операторов, например, (2+3) *4/50%, программа Excel оцени- вает выражение и проводит расчет в определенном порядке. Порядок выпол- нения операций в Excel следующий. Обработка выражений в круглых скобках. Обработка диапазонов (:). Обработка пересечений (областей). Обработка объединений (;). Выполнение операции отрицания. Преобразование в процентные значения (%) (например, 50% преобра- зуется в . 50). Возведение в степень С). Умножение (*) и деление (/). Эти операции имеют равный приоритет. Сложение (+) и вычитание (-). Эти операции имеют равный приоритет. Объединение текстовых данных (&). Эта операция называется конка- тенацией. Выполнение операций сравнения (=, <>, <=, >=). И наконец, операции, равные по приоритету, выполняются в порядке указания слева направо. Рассмотрим простой пример. Как известно, выражение (2+3) *4 возвра- щает результат 20. Тем не менее, если вы удалите скобки и оставите выраже- ние 2+3*4, то программа Excel выполнит следующие вычисления. 3*4 = 12 + 2 = 14 Порядок выполнения операторов требует, чтобы программа Excel умно- жала значения перед сложением. При вводе выражения 2+3*4 вы получите неверный результат. Поскольку программа Excel вначале оценивает и выпол- няет все вычисления в круглых скобках, то только включение выражения 2+3 в круглые скобки гарантирует получение правильного ответа. Рассмотрим другой пример. Если вы введете в качестве формулы выраже- ние 10^2, т.е. укажете возвести число 10 в квадрат, то программа Excel возвра- тит в качестве ответа значение 100. Если же вы введете выражение -10^2, то будете ожидать возврата значения -100. Однако Excel опять возвратит значе- ние 100. Причина в том, что программа выполняет операцию отрицания пе- ред возведением в степень, т.е. значение 10 вначале преобразовывается в -10, а результат выполнения выражения -10*-10 действительно равен 100. Использование круглых скобок в формуле - (10^2) гарантирует, что про- грамма вначале выполнит возведение в степень, а только потом операцию отрицания, возвратив ожидаемый результат -100.
142 Глава 6 Ссылки на ячейки и именованные диапазоны Вам не удастся использовать в вычислениях ссылки на ячейки или имено- ванные диапазоны, поскольку при создании вычисляемых объектов в сводной таблице вы, по сути, работаете вне пространства объектов. Единственные дос- тупные для вас данные находятся в кэше сводной таблицы. Поскольку вы не можете выйти за пределы кэша, то не можете и ссылаться в создаваемой фор- муле на ячейки или именованные диапазоны. Функции рабочих листов Вы можете использовать любую функцию рабочего листа, не использую- щую в качестве аргументов ссылок на ячейки или именованные объекты. На самом деле, вы можете использовать любую функцию рабочего листа, не тре- бующую обязательного использования ссылок на ячейки или именованные объекты. В эту категорию попадают такие функции, как СЧЕТ, СРЗНАЧ, ЕСЛИ, И, НЕТ И ИЛИ. Константы В вычислениях, производимых в сводных таблицах, вы можете использо- вать любые константы. Константы представляют собой статические значения, которые не изменяются во времени. Например, в следующей формуле 5 явля- ется константой. [Продано единиц]*5 Хотя значение Продано единиц может изменяться на основе доступных данных, число 5 всегда будет оставаться прежним. Ссылки на итоговые суммы Формулы, с помощью которых выполняются вычисления, не могут ссы- латься на промежуточные суммы сводной таблицы или итоговые значения. Другими словами, вы не можете использовать результат вычисления промежу- точной или итоговой суммы в качестве переменной или аргумента в вычис- ляемом поле. Специальные правила для вычисляемых полей Расчеты в вычисляемых полях всегда выполняются по отношению к итого- вым суммам, а не к индивидуальным элементам данных. Выражаясь проще, программа Excel всегда вычисляет поля данных, промежуточные суммы и итоговые суммы перед оценкой вычисляемого поля. Это означает, что ваше вычисляемое поле всегда применяется к сумме заложенных данных. Пример на рис. 6.30 демонстрирует, как это может повлиять на анализ данных. В каждом квартале вам нужно получить итоговые объемы продаж для каж- дого товара, для чего умножается количество проданных единиц товара на цену
Выполнение расчетов в сводных таблицах 143 единицы этого товара. Если вы вначале просмотрите данные за первый квартал, то сразу же определите проблему. Вместо расчета суммы 220+150+220+594, которая равна 1 184, сумма количества единиц товара умножается на сумму цен на товары, в результате чего возвращается неверное значение. 3 манные 4 6 Кварталы ▼ Продукт * t Количество □ единиц Стоимость Вычисляемое поле Количество*Стоимость 1 Ia 10 22 220 грн. t г Б о ъ -Г1 : j ! I - j ! ! ' 1 । i : i ; l 1 3 150 грн В in ' i ! 1 > 1 i i | 1 1 I I ! 1 1 i 1 < ! ; ! i i j 220 грн. 8 г И 54 594 грн. 9 1 Итог 31 150 4 650 грн. ,’0 11 • t 1 Ы J Реальная сумма составляет 1184 грн, а не 4 650 грн Рис. 6.30. Несмотря на то, что вычисляемое поле справедливо для отдельных элементов данных, для промежуточных сумм его при- менять математически некорректно Как видно на рис. 6.31, причиной проблемы становится включение в ана- лиз данных для целого года. Рис. 6.31. Итоговая сумма для года в целом абсолютно неправильна К сожалению, эту проблему решить невозможно, но ее можно обойти. В наихудшем варианте необходимо изменить настройки сводной таблицы для исключения промежуточных и итоговых сумм, а затем вычислить новые ито- говые суммы. На рис. 6.32 показан пример реализации такого сценария.
144 Глава 6 А Bj с D E 1 ... .... п./.. л 2 3 Данные ж Вычисляемое поле 4 Кварталы v Продукт ▼ Количество 1 единиц Стоимость Количество*Стоимость 5 1 10 22 220 грн 6 Б 5 о 1 1 J 150 грн. ”*у. - В 5 44 220 грн. 8 Г 11 54 594 гр» 9J 2 А 7 19 133 грн. 10 Е 12 25 300 грн. 11 В 9 39 351 грн. 12 Г 5 52 260 грн. 13 3 А 6 17 102 грн J4 СП ' । 1 1 F 1 1 : F I > I 21 168 грн. I5 CD i ! j ; CD i ! ! I ; i I ! j i 1 40 240 грн 16 Г 7 55 385 грн. 17 А 8 22 176 грн. 18 Б t i » ! ! . ! 31 217 грн 19 Б 6 35 210 грн. 20 Г 10 49 490 грн. 21 22 т ИТОГО 4 216 грн. Рис. 6.32. Расчет новой итоговой суммы поможет предотвратить появление некорректных данных в отчете Специальные правила использования вычисляемых элементов В сводной таблице нельзя использовать вычисляемые элементы, в ко- торых рассчитываются средние значения, стандартные смещения или дисперсии. И наоборот: вы не можете использовать средние значения, стандартные смещения или дисперсии в сводной таблице, содержащей вычисляемый элемент. Вы не сможете использовать область страниц для создания вычисляемого элемента, а также перемещать вычисляемые элементы в область страниц. Вы не можете добавить вычисляемый элемент в отчет, содержащий сгруп- пированное поле, а также не можете группировать любое поле сводной табли- цы, содержащей вычисляемый элемент. При создании формулы вычисляемого элемента вы не можете ссылаться на элемент из внешнего поля. Старайтесь учитывать эти ограничения в своей работе. Несмотря на жест- кие правила, возможность проведения собственных вычислений непосредст- венно в сводной таблице остается эффективной и невероятно практичной возможностью, которая упрощает анализ данных. Теперь, поскольку вы уже знакомы с принципами проведения вычислений в сводных таблицах и учиты- ваете ограничения на использование вычисляемых полей и элементов, можете свободно применять их в собственных нуждах.
Выполнение расчетов в сводных таблицах 145 Управление и поддержка вычислений в сводных таблицах При работе со сводными таблицами часто возникают ситуации, когда сводную таблицу нет смысла хранить дольше, чем требуется для копирования отдельных значений. Однако нередко встречаются и такие ситуации, когда выгодней хранить сводную таблицу и все ее функциональные возможности в неизменном виде. Если вы поддерживаете и управляете сводной таблицей при изменении требований и увеличении объема исходных данных, то вы мо- жете также продолжать управлять вычисляемыми полями и вычисляемыми элементами. Редактирование и удаление вычислений в сводных таблицах При изменении параметров вычислений или отсутствии необходимости в вычисляемом поле или вычисляемом элементе вы можете открыть соответ- ствующее диалоговое окно для правки или удаления вычисления. Активизируйте диалоговое окно Вставка вычисляемого поля или Вставка вычисляемого элемента и выберите в нем раскрывающийся список Имя, как показано на рис. 6.33. Рис. 6.33. При открытии раскрывающегося спи- ска Имя отображаются все вычисляемые поля и элементы сводной таблицы После выбора вычисляемого поля или элемента вы можете удалить вычис- ление или модифицировать исходную формулу. Изменение порядка выполнения расчетов в вычисляемых полях Если значение ячейки в сводной таблице зависит от результата расчета не- скольких вычисляемых элементов, то вы можете изменить порядок выполне-
146 Глава 6 ния операций в вычисляемых полях. Иными словами, вы можете задать поря- док, в котором будут проводиться отдельные вычисления. Чтобы открыть диалоговое окно Порядок выполнения вычислений, пока- занное на рис. 6.34, наведите указатель на любое место сводной таблицы и щелкните на значке Сводная таблица на панели инструментов Сводные таб- лицы. Используйте команду Формулы^Порядок вычислений. Выберите любой вычисляемый элемент в списке и примените кнопки Вверх, Вниз и Удалить. Рис. 6.34. После указания целевого вычисляе- мого элемента переместите его вверх или вниз для изменения порядка выполнения вычисле- ний. Вы также можете удалить вычисляемый элемент в этом диалоговом окне Документирование формул Программа Excel предоставляет в ваше распоряжение отличную функцию, которая перечисляет вычисляемые поля и вычисляемые элементы, исполь- зуемые в сводной таблице, а также указывает порядок выполнения расчетов и применения формул. Эта функция весьма удобна при анализе сторонней сводной таблицы, и когда вам нужно быстро определить, какие в ней приме- няются вычисления, а также на какие поля и элементы они влияют. Чтобы представить вычисления сводной таблицы, наведите указатель на любое место сводной таблицы, щелкните на значке Сводная таблица на па- нели инструментов Сводные таблицы и используйте команду Формулы1^ Вывести формулы (рис. 6.35). Дальнейшие шаги В главе 7 вы познакомитесь со сводными диаграммами и основами графи- ческого представления данных. Вы также изучите ограничениях на примене- ние сводных диаграмм и узнаете об альтернативных методах вывода данных сводных таблиц.
Выполнение расчетов в сводных таблицах 147 '________А 1 (бычиолемое поле 2 Порядок речения 3 4 Вычисляемый объект 5 Порядок речения 6 П е’ 10 Примечание: 11! 12 Обьект______________________ Формула________________________________________________ 1!‘Current PD vs Same Last Year’ =200404* /200304’ -1 2 Last 3 PD Avg vs Same PDS JastYear*~~:= СРЗНАЧ(200404’;2Ьб4бзТ2б^УСР31^Ч(20^4Т2б^ Когда значение ячейки обновляется в результате вычисления нескольких формул,_ ее значение определяется фппмулой, значение которой вычисляется последним. l J ~ ZZ Т— Для изменения порядка вычисления формул___ _____________________________ используйте команду Порядок вычислений" на панели инструментов "Сводные таблицы". Рис. 6.35. Список Формулы позволяет легко и быстро документировать выполняемые в свод- ной таблице вычисления
Создание и использование сводных диаграмм Что такое сводная диаграмма Сводная диаграмма — это графиче- ское представление данных в свод- ной таблице. Несмотря на техниче- скую корректность такого определе- ния, все же не совсем понятно, зачем нужны сводные диаграммы. При создании стандартной диа- граммы на основе данных, отличных от используемых в сводной таблице, вы подставляете в диаграмму диапа- зон ячеек, содержащих отдельные значения. Каждая ячейка является индивидуальным объектом с собст- венным значением. Диаграмма пред- ставляет каждую ячейку в виде от- дельной точки на графике и выводит их все по отдельности. Однако данные в сводной таблице являются частью единого большего объекта. Значения, которые вы видите в сводной таблице, не представляют независимые данные, занимающими отдельные ячейки, — это элементы большего объекта сводной таблицы, хранящегося в рабочем листе. При создании диаграммы для свод- ной таблицы вы не заполняете ее от- дельными фрагментами данных, пред- 7 В ЭТОЙ ГЛАВЕ Что такое сводная диаграмма ..149 Создание сводных диаграмм.... 150 Преимущества и недостатки сводных диаграмм.........153 Альтернативы сводных диаграмм.................163 Дальнейшие шаги..........168
150 Глава 7 ставленными отдельными ячейками. Вместо этого вы используете для по- строения диаграммы весь макет сводной таблицы. Сводная диаграмма — это диаграмма, которая в качестве исходных данных использует объект Pivot- Layout сводной таблицы. Использование объекта PivotLayout позволяет интерактивно добавлять, удалять, фильтровать и обновлять поля данных внутри сводной диаграммы точно таким же образом, как это делается в сводной таблице. В результате вы- полнения всех этих действий вы получите интерактивное графическое пред- ставление данных сводной таблицы. Создание сводных диаграмм Прочитав вышесказанное, вы можете решить, что создание сводной диа- граммы — это сложное занятие. На самом деле, это простая задача. Взгляните на сводную таблицу, показанную на рис. 7.1. Рис. 7.1. В этой базовой сводной таблице представлены продажи по регионам, а также обеспечена возможность фильтра- ции данных по торговым направлениям Данные в этой сводной таблице легче воспринимать, если они представле- ны на круговой диаграмме. Создание сводной диаграммы позволяет графиче- ски представлять необходимые данные без потери возможности фильтрова- ния значений по торговым направлениям. Для начала щелкните правой кнопкой мыши на сводной таблице и исполь- зуйте команду Сводная диаграмма. Вы только что создали свою первую сводную диаграмму. Однако, как вид- но на рис. 7.2, она не является круговой. Для настройки типа диаграммы не- обходимо выполнить дополнительное форматирование. Чтобы преобразовать эту диаграмму в круговую, щелкните правой кнопкой мыши внутри диаграммы и используйте команду Тип диаграммы, чтобы от- крыть диалоговое окно, показанное на рис. 7.3. Примечание По умолчанию в Excel диаграммы строятся согласно типу Гистограмма. Когда вы создаете диаграмму в автоматическом режиме с помощью клавиши <F11> или создаете сводную диаграмму, она представляется в виде набора столбцов. Вы можете изменить тип диаграммы по умолчанию на любой другой.
Создание и использование сводных диаграмм 151 В примере, показанном на рис. 7.3, для установки гистограммы как типа диаграм- мы по умолчанию щелкните на кнопке Сделать стандартной в левом нижнем углу диалогового окна. После изменения типа диаграммы по умолчанию все после- дующие сводные диаграммы будут создаваться согласно указанному вами типу. [ШЕ OF BLSINESSjPnntar Sale Итог Рис.7.2. После создания первой сводной диаграммы вам нужно изменить параметры форматирования для настройки ее вида Рис 7.3. Щелкните правой кнопкой мыши на диаграмме и используйте команду Тип диаграммы. Это позволит изменять тип диаграммы, как показано далее
152 Глава? Вы получили круговую диаграмму (рис. 7.4), позволяющую не только озна- комиться с объемом продаж по регионам, но и фильтровать его по торговым направлениям. LINE OF BUSINESS) (Все) .J] Итог Сумма по полю REVENUE Перетащите сюда поля рядов REGION North South □West Рис. 7.4. Сводная круговая диаграмма позволяет выполнять фильтрацию по торговым направ- лениям и обновлять данные точно таким же образом, как это делается в сводной таблице Сводные диаграммы, внедренные в рабочий лист Легко заметить, что по умолчанию программа Excel строит сводную диаграм- му на отдельном листе диаграмм. Чтобы сводная диаграмма помещалась на тот же рабочие лист, в котором находится сводная таблица, выполните сле- дующие действия. 1. Поместите курсор в ячейку вне сводной таблицы. 2. Запустите Мастер диаграмм 3. На первом этапе мастера выберите круговую диаграмму. 4. На втором этапе мастера щелкните на сводной таблице, а затем щелкните на кнопке Готово. 5. В созданной диаграмме представляются кнопки полей. Щелкните правой кнопкой мы ши на кнопке любого поля и используйте команду Скрыть кнопки полей сводной диаграммы, В результате вы получите круговую диаграмму в том же рабочем листе, в ко- тором находится сводная таблица. Как показано на рис. 7 5, эта диаграмма отображает результат фильтрации данных и других действий, выполняемых в сводной таблице.
Создание и использование сводных диаграмм 153 Рис. 7.5. Выполнив вышеописанные операции, вы создадите рядом с самой таблицей свод- ную диаграмму, которая реагирует на изменения в сводной таблице Сводные диаграммы используют тот же кэш и макет, что и соответствую- щие сводные таблицы. Это означает, что если вы добавите в сводную таблицу, показанную на рис. 7.1, новое торговое направление, то его данные будут включены в круго- вую диаграмму автоматически. Если вы добавите или удалите данные из ис- точника данных и обновите сводную таблицу, то круговая диаграмма выведет те же данные, которые представлены в сводной таблице. Таким образом, от- падает необходимость в независимом управлении двумя наборами данных — одним набором для сводной таблицы и еще одним для сводной диаграммы. Подобные функциональные возможности окажутся весьма кстати при преоб- разовании числовых данных в наглядные отчеты. Преимущества и недостатки сводных диаграмм Сводные диаграммы, как и другие средства сводных таблиц, имеют свои преимущества и недостатки. В этом разделе мы рассмотрим ограничения, на- кладываемые на использование сводных диаграмм. Оптимизация макета сводной диаграммы Сводная таблица, показанная на рис. 7.6, вполне проста и понятна. В области столбцов выведены данные поля Fiscal Period (Период налогообложения), а в области страниц — торговое направление (Line of Business). В виде сводной таблицы эта структура выполнена на отлично. На основе этой сводной таблицы вы решаете создать сводную диаграмму, откладывая период налогообложения вдоль оси X, в торговое направление — вдоль оси У. Однако при построении вы можете столкнуться с небольшой проблемой: если вы щелкнете правой кнопкой мыши в любом месте внутри сводной таб-
154 Глава 7 лицы и выберете команду Сводная диаграмма, то получите совершенно бес- смысленную диаграмму, как показано на рис. 7.7. А В c 0 E 1?. 2 Сумма по полю REVENUE FISCAL PERIOD ▼ 3 LINE OF BUSINESS * 200 205,00 200 206,00 200 207,00 200 208,00 4 Copier Sale 2 715 020,00 3 088 467,00' 3 201 442Л0' 3 309 439,00 5 iParts 3 186 930,00 3 567 109,00[ 3 695 256,00 3 511 314,00 & Pnntei Sale 2 290 015 00 2 784 058,00 2 868 807,00 2939111,00 Service Plan 24 582 483,00 24 651 190,00 24 883 486,00 24 199 056,00 е Общий итог 32 684 448,00 34 090 824,00: 34 648 991,00 33 958 920 Д9 Рис. 7.6. Размещение полей данных в сводной таблице Перетащите сюда поля страниц 700 000 000,00 600 000 000,00 500 000 000,00 400 000 000,00 300 000 000,00 200 000 000,00 100 000 000,00 0,00 Copier Sale Parts Printer Sale Sendee Plan LINE OF BUSINESS yj FISCAL PERIOD y 0 200404 0200403 0200402 0200401 □ 200312 □ 200311 □ 200311 0 200309 0 2 0309 0200307 0 200306 20r305 0 200304 □ 200303 0200302 О 200301 □ P00212 0 200211 0 203210 О 200209 □ 200208 □ 200207 0 2002U6 Рис. 7.7. Создание сводной диаграммы на основе отлично структурированной сводной таб- лицы приводит вовсе не к тем результатам, которые ожидалось увидеть Так почему же правильно структурированная сводная таблица не преобра- зуется в четкую сводную диаграмму? Чтобы ответить на этот вопрос, следует понять, как в сводных диаграммах обрабатываются различные области свод- ной таблицы. В сводной диаграмме имеется три области, в которые помещаются поля, как показано на рис. 7.8. Каждое из этих полей соответствует области в свод- ной таблице. Перетащите сюда поля рядов. Соответствует области столбцов сводной таблицы и создает ось Y для сводной диаграммы. Перетащите сюда поля категорий. Соответствует полю строк свод- ной таблицы и создает ось X для сводной диаграммы.
Создание и использование сводных диаграмм 155 Перетащите сюда поля страниц. Соответствует области страниц сводной таблицы и позволяет выполнять фильтрацию в сводной диа- грамме. Перетащите сюда поля страниц 1 Рис. 7.8. Каждая область сводной диаграммы соответствует области сводной таблицы Взгляните вновь на рис. 7.6. При преобразовании этой таблицы в сводную диаграмму полученная структура указывает, что поле Fiscal Period следу- ет интерпретировать как ось У, поскольку оно находится в области столбцов. Ну, а поле Line of Business будет интерпретироваться как ось X, по- скольку оно находится в области строк. Теперь перенастройте структуру сводной таблицы, как показано на рис. 7.9, чтобы вывести периоды налогообложения в области строк, а отрасль торговли — в области столбцов. Если вы щелкнете правой кнопкой мыши внутри перенастроенной свод- ной таблицы и используете команду Сводная диаграмма, то получите более осмысленную сводную диаграмму, как показано на рис. 7.10. Точечная, пузырьковая и биржевая диаграммы: вход воспрещен По умолчанию программа Excel генерирует сводные диаграммы в виде гистограмм. Вы можете изменить тип диаграмм по умолчанию, перейдя к панели инструментов и запустив Мастер сводных диаграмм. Вы можете использовать любой тип диаграмм за исключением точечного, пузырько- вого и биржевого.
156 Глава 7 2 3 С/мма по полю REVENUE [LINE OF BUSINESS v 4 < FISCAL PERIOD х Copier Sale Pans Pnnter Sale Service Plan Общий итог 5 200205 2715020 3186970 2200015 24582483 32**4448 6 200206 3088467 3567109 2784058 24651190 34090824 7 200207 3201442 3695256 2868807 248u34fk 34648991 8 200208 3309439 3511314 2939111 24199056 33958920 9 200209 343528Д 3612557 2899422 25165601 35112864 10 200210 3384032 3679970 2845073 23795330 33704405 11 200211 3651569 3711185 2735472 23035382 33133608 12 200212 3461037 3649892 2992224 22887912 32991065 13 200301 3531622 3685369 2878685 22309821 32305497 14 200302 3627505 3585646 2991786 24240511 34445448 15 200303 3563280 3446154 _ 2918143 2611099 23816952 33744529 16 200304 3363154 3360100 23716783 33051136 17, 200305 3331228 3489508 2642837 24279055 33742628 16 .00306 3656830 3505864 .2853105 24512830 34528629 19 200307 3854253 3478410 3019876 24442966 34795505 20 200308 3895744 3440344 2191699 24182609 33710396 21 200309 3879592 3421765 J966054 24197800 14459211 22 200310 3923025 3107757 3223417 3140117 2992200 23320916 33491815 23 200311 3903992 23631554 33751163 24 200312 3986585 3423934 3042466 23769562 34228547 25 200401 J856852 3068016 2'4*469 22942266 32835603 26 200402 4211254 3498609 3102900 24406219 35218932 27 200403 4070Q83 4130171 2970390 24525795 35704439 28 2(0404 3672400 3553216 2820770 23010000 33056386 29 Общий итог 86501689 83938493 68368778 574506073 813395039 Рис. 7.9. Этот формат не столь удобен для сводной таблицы, зато он позволяет создать правильную сводную диаграмму Перетащите сюда поля страниц Ul IE OF BUSINESS ж □ Service Plan □Printer Sale Parts Copier Sa'e FISCAL PERIOD Рис. 7.10. С новой структурой сводной таблицы сводная диаграмма приобретает более осмыс- ленный вид Ограничений на размер и расположение элементов Вероятно, вы уже заметили, что форматирование сводной диаграммы по- добно форматированию стандартной диаграммы. Вы также можете заметить,
Создание и использование сводных диаграмм 157 что некоторые опции форматирования стандартных диаграмм недоступны при работе со сводной диаграммой. Вы не можете перемещать или изменять: размеры названий осей; размер названия диаграммы; размер области диаграммы; значения на осях. Непостоянство отдельных настроек При изменении сводной таблицы удаляются определенные настройки форматирования сводной диаграммы. Настройки могут быть утеряны при об- новлении сводной таблицы, перемещении поля, добавлении поля, удалении поля, скрытии элемента данных, выводе элемента или применении фильтра. В любой из этих ситуаций вы потеряете параметры форматирования, приме- ненные к рядам данных и точкам ввода данных. Причина заключается в том, что при обновлении или изменении макета сводной таблицы вы сбрасываете параметры, которые не позволяют сводной таблице повторно перерассчиты- ваться и определять поля и элементы данных. Поскольку поля и элементы данных включаются в сводную диаграмму в виде рядов данных и точек на гра- фиках, то эти ряды и точки на графике также будут переопределены. Любое форматирование, выполненное над рядами данных и точками на графике, бу- дет утеряно, поскольку оно не применяется к новому определению сводной таблицы. Ниже описаны опции форматирования, которые теряются при изменении сводных диаграмм. Все опции форматирования диалогового окна Формат ряда данных за исключением опций вкладки Параметры. Все опции форматирования диалогового окна Формат точек ввода данных за исключением опций вкладки Параметры. Все добавленные линии тренда. Совет Если вы регулярно теряете параметры форматирования сводной диаграммы, то мо- жете написать макрос для захвата измененных параметров форматирования, а затем запускать этот макрос для повторного применения необходимого форматирования. Перед форматированием сводной диаграммы выполните команду Макрос из ме- ню Сервис и используйте кнопку Начать запись. Введите имя макроса и начните форматирование сводной диаграммы. Программа Excel зарегистрирует все ваши действия. После полного форматирования сводной диаграммы выберите команду Макрос из меню Сервис и щелкните на кнопке Остановить запись. Вы записали макрос, который можно использовать для повторного применения параметров форматирования.
158 Глава 7 >' ' -’‘Л' J ‘ Л. > * ШПВПМВШММШК&МММНШЯМНЯКЛПНМНВШПИЯИЯМММНМШП9ММВППШВПМПЯ1 Создание динамической годовой диаграммы Вас попросили снабдить менеджеров всех уровней управления торговлей средст- вом быстрого просмотра годовых тенденций объемов продаж. Вы решили пре- доставить им возможность фильтрации данных по отдельным торговым направ- лениям. / v ; Основываясь на данных исходной таблицы (рис. 7.11) и учитывая вероятность пе риодического повторения поставленной задачи в будущем, вы решаете использо- вать сводную диаграмму. A j В 0 e F J G H J 5* 1 et<3l jN MARKET STORE IN BALANCE DATE FISCAL PEFqOD MOCEL LINE OF BUSINESS REVENUE Unt- ’old DA^SkhPERK® 2 North Great Lakes 65061011 01.03-03 200205 4055T Parts $3 454 0 19,0 5 3 North Shenandoah Valley 62067017 01.03.03 200205 2500P Printer Sale $15 68? г 190 4 North Shenandoah Valley 32139049 01.03.03 200205 250CK Copier Sale $12968 6 19,0 5 North New England 2004014 01.03.03 700205 4055T [Parts $2 789 0 19,0 6 North New Englar j 72074014 Ц.03.03 7002*15 4500C Service Plan $32 605 23 19,0 19,0 7 North New Eng'and 12011011 01.03.03 200205 3J02P Service Plan $52 437 30 8 North New En j'and 2105015 01.03.03 200205 2500P [Printer Sale 4055T [Parts 3002C [Parts $17 391 2 i 19,0 9 North New England 22022012 01.03.03 200205 $246Я 0 19,0 [°] North N*w Emiai fj 22022012 01.03.03 200205 $375 0 19tCi 11 North [New York South North (New York South North 'Ohio 12118068 01.03.03 200205 4500 Service Plan $6/592 30 19.0 12 13 12118068 1 01.03.03 44040030 01.03.03 200205 200205 3002C (Service Plan 3002C [Parts $21454 $97« 15_ 0 3 y о о i i —— 14 15 North North Ohio Ohio 4я0 Ю020 44040020 01.03.03 01.03.03 200205 700205 4055T [Parts 3002P 'Parts *’*»•*** *».• ". *> •*’ «.4»w. 1.И- . 3007P Parts -H539_ $3 209 ! 1 i = о ' 1 ’ 19,0 19,0 16 J North Ohio 3403^017 31.ОЗ.ПЗ 200205 $34 612 0 19,0 17 [North Sc- ith Carol lrл 53154014 01.03.03 214)205 3003: Service Plan $14 051 9 19,0 18 (South North Carolina 63064014 01.03.03 200205 5001P]Parts S001P ’Service Plan $249 11 • L„ 1 19,0 19 (South North Carolina 73179019 01.03.03 200205 $3 951 I r i ' 1 43 ° South Ho ida 33130010 01.03.03 200205 3002P Sen-ice Plan $157 434 68 19,0 Рис. 7.11 Использование сводней диаграммы предоставляет возмож нооь обновления от- чета без его повторного создания ; 7 Создайте исходную сводную таблицу (рис. 7.12), включив в нее данные о балансе* вых прибылях в каждой ключевой дате. 1 ;/1 1 А В •и. !. 7 ж по полю н / я 3 4 IN BALANCE DATE * 5 03.01.2003 6 04.01.2003 7 06.01.2003 8 06.01.2033 9 07.01.2003 10 08.01 2003 Й 09.U1.2003 12 10.01.2003 13 11.01.2003 14 12.01.2003 16 13.01.2003 Итог___________ - $1 010 419,00 $1 779 579,00 $1 372 001,00 $1 095 282,00 $1 190 391,00 $1 829 667,00 $1 614 830,00 $948 480,00 $648 668,00 $1 324 763,00 $829 600,00 у.* w i.i । j . г т^Г""м г " • Рис. 7.12. Исходная сводная таблица, представляющая объемы продаж в клю- чевых датах n‘h .,jj. ,т ш 4 *Р, •'$5 ' ' AW ’ •Ж $й'( >!'ц ' : Л I ' ' •
Создание и использование сводных диаграмм 159 Для начала нужно сгруппировать поле In Balance Date пр годам и месяцам, чтобы иметь возможность сравнивать годовые объемы продаж. Результат груп- пировки показан на рис. 7.13. .4 A i Э С 1 2 3 Сумма по полю REVENUE 4 Годы ▼ IN BALANCE DATE ▼ Итог 5 S ! .... / л топз 1 янв $32 684 448.00 фев $34 090 824.00 мар $34 648 991.00 апр $33 958 920,00 май $35112 864.00 июн $33 704 405,00 1Г if 13 июл $33 133 608,00 авг $32 991 065,00 сен $32 305 497,00 14 окт $34 445 448,00 15 16 17 18 19 20 22 2Э- 24* 25 *2б" 27 28 ноя $33 744 529,00 дек $33 051 136,00 2004 янв $33 742 628,00 фев $34 528 629,00 мар $34 795 505,00 апр $33 710 396,00 май $34 459 211,00 июн $33 491 815,00 июл $33 751 163,00 авг $34 228 547,00 сен $32 835 603,00 окт $35 218 982.00 НиЯ $35 704 439,00 дек $33 056 386,00 29 Общий итог $813 395 039,00 Рис. 7.13. Группировка поля In Balance Date по го- дам и месяцам ьолее подробную информацию о группировании элементов вы найдете в разделе "Группирование сводных полей" главы 5. « Теперь нужно расположить месяцы вдоль оси Y сводной диаграммы, а годы- вдоль оси X. Это значит, что годы будут выводиться в области столбцов сводной таблицы, а месяцы г в области строк сводной таблицы. Поскольку месяцы и так размещены правильно, вам остается всего лишь пере- местить поле Годы в область столбцов, как показано на рис. 7.14. И наконец, поместите ПОЛЯ Region, Market, Store, Line of Business и Model в область страниц сводной таблицы, чтобы иметь возможность выполнить фильт- рацию, как показано на рис. 7.15. Теперь щелкните правой кнопкой мыши на сводной таблице и примените команду Сводная диаграмма. Как показано на рис. 7.16, в результате вы получите гисто- грамму. Чтобы вывести годовые показатели, измените тип диаграммы. Щелкните правой кнопкой мыши на диаграмме и выберите команду Тип диа- граммы Вы можете заменить текущий тип диаграммы графиком с метками, как показано на рис. 7.17.
160 Глава 7 7 (Сумма по полю REVENUE Годы г! 8 IN BALANCE DATE 2003 2004 Общий итог 9 ЯНВ $32 684 448.00 $33 742 628,GO $66 427 076,00 10 фев $34 090 824,00 $34 528 629,00 $68 619 453,00 11 мар $34 648 991.00 $34 795 505.00 $33 958 920.00 $33 710 39b .GO $69 444 496,00 12 апр $67 669 316,00 13 май $35 112 864,00 $34 459 211,00 $69 572 075.00 15 Тбн X 3 X I < ' 1 ! ! 1 ! i Г 1 f I » I. ' < ' i 1 1 < $33 704 405,00 $33 491 815,00 $67 196 220.00 ИЮЛ $33133 608.00 $33 751 163,00 $66 884 771.00 Q> i i $32 991 065,00 $34 228 547.00 $67 219 612,00 17 о CD X 1 1 f i j : 1 / f 1 [ 1 ! 1 I [ 1 f F $32 305 497.00 $32 835 603,00 $65 141 100,00 18 OKT $34 445 44R.OO $36 218 982,00 $69 664 430,00 19 ноя $33 744 529,00 $35 704 439,00 $69 448 968,00 20, ,дек $33 051 136,00 $33 058 386.00 $66 107 522,00 21 Общий итог $403 871 735,00 $409 523 304,00 $813 395 039,00 Рис. 7.14. Поместите поле годов в область столбцов, чтобы на сводной диаграмме они представлялись в качестве рядов дан - них вдоль оси Y А В С D 1 REGION (Все) ж 2 MARKET (Все) * 3 STORE (Все) ж 4 LINE OF BUSINESS (Все) ж i ! i \ I i ; i ( L—— 1 i i ! i 5 MODEL (Все) ж < 6 7 Сумма по полю REVENUE Годы ж G IN BALANCE DATE ж 2003 2004 Общий итог 9 ЯНВ $32 684 448,00 $33 742 628 00 $66 427 076 .CO 10 фев $34 090 824,00 $34 528 629,00 $66 619 453,00 11 мар $34 648 991,00 $34 795 505,00 $69 444 496,00 12 I i 1 I ; ( ! < 1 1 i i i » < ! ! ! ‘ 1 ( “ CD $33 958 920,00 $33 710 396,00 $67 669 316,00 13 май $35 112 664,00 $34 459 211,00 $69 572 075,00 14 ИЮН $33 704 405,00 $33 491 815,00 $67 196 220,00 15 ИЮЛ $33 133 608,00 $33 751 163,00 $66 884 771.00 16 авг $32 991 065,00 $34 228 547,00 $67 219 612,00 17 сен $32 305 497,00 $32 835 603,00 $65 141 100.00 18 окт $34 445 448.00 $35 218 982,00 $69 664 430,00 19 > J 1 ! ! ! । • • i t i < 1 4 i ! । j ce о X $33 744 529,00 $35 704 439,00 $69 448 968,00 W Дек $33 051 136,00 $33 056 386,00 $66107 522,00 21 Общий итог $403 871 735,00 $400 523 404,00 $813 395 039,00 Рис. 7,15. Заполните область страниц полями с подробной ин - формацией для руководства, на основе которой вы будете филь- тровать данные (по регионам, рынкам, складам, отраслям дея- тельности и моделям) Итоговый отчет практически готов, как видно на рис. 7.18. Для улучшения вида сводной диаграммы вы можете добавить в нее исходные данные (справа), чтобы четко обозначить точки на графиках. Щелкните правои кнопкой мыши на сводной диаграмме, выберите команду Па- раметры диаграммы и перейдите к вкладке Таблица данных, как показано на рис. 7.19. Установите флажок Таблица данных.
Создание и использование сводных диаграмм 161
162 Глава 7
Создание и использование сводных диаграмм 163 Формат ячеек ГЧисло]] Числовые (Догматы: Г^ЦИ1 : Числовой ' Денежный I Финансовый Дата Время Процентный Дсобный Экспоненциальный Тестовым дополнительный <е< е .форматы) 3 Кнопка толя - Сунна .ю полю REVFNUT ын. а- . . .. - .. мг-l jih иДь-К Тип;_____________________ ]"$"#,~##0,К р##ок |[$-РС19]Д ММММ ГГТГ "г. $$-109]# ##0,00 дд мм.гггт I 1Г1М 100000-0000 _____________ Маска форма! а позволяет упраспять итображенитм значений в ячейках. Если гмегацим । форн-гы не подходят, добавьте новый формат. ОК I О гиена Рис. 7.20. Используйте Формат и $ ” #, ##о , к, что- бы вывеси числа с округлением до тех разрядов пос- ле десятичной запятой REGMJNpBce) ^MAPKETj(Bce) JSTOREj(Bce) JUNE~OF BUSWESS|(Bce) У j MODEL] (Bce)^j $36000,0,К -3 S35000.0.K $34000,0,К $33000,0.K $32000,0,К $31000,0 к Сумма по полю REVENUE] “рды -♦-2004 (ЭООООДК I янв мар $32684,4 $34090.8. $34648.91$33958,9' май икь. авг сен -♦—2004 ноя июн .."5112,8<-$. I3704 4 $33133 бЬЗ 2991,0* $323С,гм1*$34445.44$33744.5 ОКТ Дек $33051, $33742.6: $34528,6 $34795.б($ЭЭ710.3< $34459,2 ($33491 8 $33751,1 $34228.54$32835.6l $35218,9Й$35704.4 $33056,: '#,##0' h | 112^ 1 Рис. 7.21. В этом отчете выводятся показатели объемов продаж за два года, которые можно фильтровать по нескольким критериям Альтернативы сводных диаграмм Существует две причины, по которым нужно иметь альтернативу сводным диаграммам. Во-первых, вам может понадобиться отказаться от служебных данных сводной диаграммы. Во-вторых, существуют определенные ограниче- ния на применение сводных диаграмм.
164 Глава 7 Зачем выносить сор из избы? Сводные таблицы могут создаваться просто для подведения итогов и про- смотра данных в процессе подготовки диаграммы. В таких ситуациях вам не нужно хранить исходные данные и выделять память под кэш сводной диа- граммы для хранения файлов. В примере на рис. 7.22 показана сводная таблица, в которой подведены квартальные отчеты по каждому направлению. J „ А в . С . т о Е 1 REGION (Все) 2 MARKET (Все) ЧГ .3J 4 ; Сумма по полю REVENUE IN В MANCE DATE v 5 ’LINE OF BUSINESS чг Кв-л1 Кв-л2 Кв-лЗ Кв-л4 6 , Copier Sale $19 847 240 $21 827 116 $22 391 657 $22 515 676 7 Parts $20 923 077 $20 773 707 $20 667 813 $21 573 896 8J Printer Sale 9 | Service Plan $16 368 690 $16 975 476 $17 609 516 $17 415 063 $147 352 010 $144 861 312 $138 576 497 $143 716 260 10 i Общий итог $204 491 025 $204 437 6111 $199 245 483 $205 220 92Р Рис. 7.22. Эта сводная таблица создана для подведения итогов по квартальным объемам продаж в каждом торговом направлении Проблема в том, что вы создали сводную таблицу исключительно для под- ведения итогов и подготовки данных для построения диаграммы. Вам не нуж- но сохранять ни исходные данные, ни сводную таблицу со всеми служебными данными. Альтернативный метод заключается в преобразовании сводных данных в простые значения и создании диаграммы на основе этих значений. Вы можете выбрать данные для копирования из сводной таблицы, как по- казано на рис. 7.23. Используйте комбинацию <Ctrl+C> для занесения дан- ных в буфер обмена. Рис. 7.23. Скопируйте требуемые данные из сводной таблицы Откройте новую рабочую книгу, щелкните в ней правой кнопкой мыши и примените команду Специальная вставка*=>3начения. Теперь в новую табли- цу вставляются простые значения, которые можно вывести на диаграмме без служебных данных сводной таблицы или сводной диаграммы, как показано на рис. 7.24. Примечание Используйте команду Специальная вставка>=>3начения для вставки данных на новый рабочий лист существующей рабочей книги. Если вы вставляете данные в
Создание и использование сводных диаграмм 165 совершенно новую рабочую книгу, то можете использовать команду Вставка и не использовать информацию из кэша. Ограничение на форматирование сводных диаграмм Форматирование можно назвать “ахиллесовой пятой” сводных диаграмм. Многие пользователи Excel предпочитают не применять сводные диаграммы именно по причине ограниченности параметров ее форматирования. Часто пользователи отказываются от сводных таблиц во избежание ограничений на применение сводных диаграмм. Однако если вы хотите включить в сводную таблицу такие ключевые функции, как фильтры страниц и лучшие десять записей, то можете связать со сводной таб- лицей стандартную диаграмму, не прибегая к созданию сводной диаграммы. В примере на рис. 7.25 показана сводная таблица, в кото рой представлены све- дения о первых 10 рынках и общий объем продаж в них. Вы легко заметите, что в области страниц можно выполнять фильтрацию данных по номеру модели. А В С D Е J LINE OF BUSINESS Кв-л1 Кв-л2 Кв-лЗ Кв-л4 2 Copier Sale 1984724(1 21827116.22391657 22516676 3 Parts 20923077 20773707 20667813 21573896 4 [Printer Sale 16368698 16975476,17609516 17415088 Рис. 7.25. Эта сводная таблица позволяет изу- чить первые 10 рынков и их общий объем продаж. Кроме того, в области страниц мож- но выполнять фильтрацию по номерам моде- лей для представления первых 10 рынков Рис. 7.24. Вставка значений в новую рабочую книгу позволяет построить диаграмму с ито- говыми данными без использования кэша сводной таблицы Проблема заключается в том, что вам нужно сохранить возможность фильтрации первых 10 записей по номеру модели, однако не создавая на ос- нове сводной таблицы обычной сводной диаграммы. Мы не станем создавать сводную диац1амму, поскольку хотим избежать ограничений на форматирова- ние сводных диаграмм. Альтернативное решение этой задачи заключается в использовании ячеек вокруг сводной таблицы для связывания с требуемыми данными и выводе значений этих ячеек на диаграмме. Поместите курсор в ячейку за сводной таблицей и создайте ссылку на первый элемент данных, чтобы в дальнейшем сформировать диапазон, которым будет за- полнена стандартная диаграмма (рис. 7.26). Идея состоит в образовании мини- мального набора данных, заполняющего стандартную диаграмму. Хитрость за- ключается в том, что этот набор данных связывается с элементами данных свод- ной таблицы.
166 Глава 7 ; А * L .С . L__rP " 1 MODEL I 2500C ▼ 2 3 Сумма по полю hEVENUE' j 4 MARKET : ' , Итог - s' paliforn. i $4 020 385,00 =A5 6 Shenandoah Valley $4 244 770,00 г7 Gulf Coast $5 830 688,00 8 Kentucky $5 872 430,00 9 New England $6 011 684,00 101 South Carolina $5 751 497,ОТ 11 Southwest $4 532 147.00 12 Tennessee $6 323 837,00 13 Topeka $5 624 620,00 14 Texas $4 531 085,00 15 Общий итог $52 743 343,00 Рис. 7.26. Начните создание связанного набора данных со ссылки на первый элемент, который требуется вывести на диаграмме Теперь скопируйте введенную вами формулу и вставьте ее в остальные ячейки для создания полного набора данных, как показано на рис. 7.27. Рис. 7.27. Скопируйте формулу и вставьте ее в ячейки для создания пол- ного набора данных Отключение функции получить . данные . сводной. таблицы Если вы работаете в Excel 2002 или более поздней версии программы, то увидите, что Excel постоянно задает настройку по умолчанию для функции получить, данные . СВОДНОЙ, ТАБЛИЦЫ (Getpivotpata). Программа автоматически встав- ляет функцию получить данные .сводной.таблицы во все ячейки, в которые вы пытаетесь ввести формулу, ссылающуюся на сводные данные. Проблема со- стоит в том, что функция подучить .данные.сводной.^аьлицы автоматически обращается к ячейкам сводной таблицы с использованием абсолютной ссылки, в результате чего вы не можете просто скопировать формулы и получить пра- вильныйответ Чтобы отключить эту настрс йку по умолчанию, нужно выполнить следующие действия. 1. Перейдите в строку меню и примените команду Сервис*^ Настройка 2. На вкладке Команды выберите Данные.
Создание и использование сводных диаграмм 167 3. Найдите значение Создать GetPivotData и перетащите его на одну из панелей инструментов. • ’ * Ч " ...Ч/ ч/ч ?5 \ 4. Щелкните на кнопке Закрыть. 5. Теперь вы можете щелкнуть на кнопке Создать GetPivotData и отключить эту опцию. Создав полный набор данных, вы можете использовать его для создания стандартной диаграммы, связанной со сводной таблицей, как показано на рис. 7.28. Рис. 7.28. Используйте готовый связанный набор дан- ных для создания стандартной диаграммы. В данном примере на основе связанных данных создана точечная диаграмма. Вы никогда не получите подобный результат с помощью сводной диаграммы Готовая диаграмма показана на рис. 7.29. Таким образом, мы сохранили возможность фильтрации по номеру модели с использованием области стра- ниц, при этом имея полную свободу в форматировании стандартной диаграм- мы, не беспокоясь о потере настроек форматирования. Вы можете дополнительно форматировать диаграмму для скрытия свод- ной таблицы и связанных ячеек, заполняющих диаграмму, как показано на рис. 7.30.
168 Глава 7 Рис. 7.29. Это решение позволяет использовать функциональные средства сводной таб- лицы без ограничений на форматирование данных, присущих сводным диаграммам Рис. 7.30. Применив стандартное форматирование, вы можете скрыть сводную табли- цу и связанные ячейки, заполняющие диаграмму, оставив видимой лишь область страниц сводной таблицы Дальнейшие шаги В главе 8 мы рассмотрим, как правильно свести в сводной таблице несо- вместимые источники данных. Вы создадите сводную таблицу из множества наборов данных, а также познакомитесь с правилами создания сводных таб- лиц на основе других сводных таблиц.
Использование в сводных таблицах нескольких источников данных Работа с несколькими источниками данных До настоящего момента мы работа- ли со сводной таблицей, расположен- ной в рабочем листе, в котором распо- лагаются исходные данные. Действи- тельно, было бы чудесно, если бы каждый набор данных представлялся в виде отдельной простой таблицы Excel. К сожалению, анализ финансовых и деловых данных далеко не всегда мож- но выполнять простым путем. Реальность жизни состоит в том, что необходимые данные чаще всего происходят из несопоставимых источ- ников. Речь идет о наборах данных из разных систем, хранящихся в различ- ных местах и представленных в раз- личных форматах. В среде Excel несо- поставимые источники данных подпа- дают под одну из двух категорий: внешние данные или множественные диапазоны. С внешними данными все понятно: это данные, не локализированные в ра- бочей книге Excel, с которой вы в дан- 8 В ЭТОЙ ГЛАВЕ Работа с несколькими источниками данных.......169 Использование нескольких диапазонов консолидации..171 Структура сводной таблицы с несколькими диапазонами консолидации.............174 Создание сводной таблицы на основе уже существующей ...180 Дальнейшие шаги..........182
170 Глава 8 ный момент работаете. В качестве примера внешних данных можно привес- ти текстовые файлы, таблицы Access, таблицы SQL Server и другие рабочие книги Excel. Множественные диапазоны представляют собой отдельные наборы данных, расположенные в одной рабочей книге. Эти наборы данных либо разделены пустыми ячейками, либо сохранены в разных рабочих листах. Например, если рабочая книга содержит три таблицы в трех различных рабочих листах, то ка- ждый набор данных занимает диапазон ячеек. Поэтому они называются мно- жественными диапазонами. Сводная таблица может стать эффективным инструментом подведения итогов данных, хранимых больше чем в одной таблице. С помощью сводной таблицы вы можете быстро объединить данные из внешнего источника или из множества таблиц в рабочей книге. При создании сводной таблицы запускается Мастер сводных таблиц и диа- грамм, показанный на рис. 8.1. В его диалоговом окне вы должны ответить на первый вопрос: “Где находятся данные, которые нужно проанализировать?” До сих пор мы работали с единственным набором данных в локальной рабочей книге. Однако в этом диалоговом окне представлены и другие варианты. Рис. 8.1. До сих пор мы работали с одним набором дан- ных, находящимся в локальной рабочей книге. Однако вы можете использовать в этом диалоговом окне и некото- рые другие опции Вы можете применить набор данных из внешнего источника, множество диапазонов внутри рабочей книги или же данные, уже вставленные в сводную таблицу. Управление внешними источниками данных рассматривается в следующей главе, пока же давайте сосредоточимся на создании сводных таблиц на основе множества диапазонов и других сводных таблиц.
Использование в сводных таблицах нескольких источников данных 171 Использование нескольких диапазонов консолидации Если вам нужно проанализировать данные, разбросанные по множеству диапазонов, то вы будете несколько ограничены в выборе настроек. Напри- мер, на рис. 8.2 показаны три диапазона, которые требуется свести вместе для анализа в качестве единой группы. А J j Q, J IE': F ь NOR1H 2 u.rSCfbusB'e - Lnb ' Feb Ma Apr May * 5 т Сорит Sale Parte Printer Sale Service Plan Jen Graham Mke Alexander Allan Howe Kely rachardson $1 670 642 $2378 240 $1 443106 Г 7 096 331 $1 908 785 $2 372 974 $1 628 517 $17 045 <71 $2185037 $2537 793 $1 745 271 $17497 027 $2 239 371 $2429 561 $1 545072 $16 903 477 $2121 6' $2 419 If $1 8081- $17157 8 "Tj в SOUTH Я т 3 iltneol •'uvetW Lobv w *wi vOO reb g Й w /pr 1 1 Copier Sale Parts Printer Sale Service Plan .ЬгпСмЛагг Mice Alexander Allan Howe ИеИу Richardson 42703 264 $2457 824 $2016 462 >18922385 $2923311 $2 658 591 $2 378 109 $19240187 $2369 761 $2 736 089 $2 467 409 $19100 783 $2892764 $2493 456 $2089 987 $19072738 $3 203 7f $2 5834; $2 351 К $191931 *1 5 WEST Line of Business lot Manager Jan Feb WWr Kiev IrUly ч "1б T9 Copier Sale Parts Printi" Sale Service Plan Jmuraham Mke Alexander АИЛ Howe де!/ Richardson $1 672 342 $1 840 374 $1 383 284 $12 840 822 $1 913201 $2041 40b $1 630 537 $12 878 362 $2 000 897 $i 899 784 $1 676003 $12 728 642 $2 073 048 $2 028 641 $1 495 751 $12405 450 $1 989 44 $2031 7; $1 700 2; $13012 3 Рис. 8.2. У вас есть файл с тремя диапазонами данных. Вам нужно свести эти три диапазона вместе, чтобы проанализиро- вать их как единую группу По сути, у вас имеется три варианта способа получения данных, которые можно использовать для совместного анализа всех трех диапазонов. Вы можете извлечь исходные данные, используемые для создания отче- та. Идея вроде бы неплохая, однако в большинстве случаев можно най- ти другое решение, особенно если у вас нет доступа ко всем данным. Вы можете вручную представить данные в соответствующем наборе таблицы, а затем выполнить анализ. На самом деле, это может оказать- ся наилучшим решением, если у вас имеется достаточно времени или вы планируете использовать данные в качестве исходной информации для дальнейшей работы. Однако если вы выполняете однократный анализ данных или у вас катастрофически не хватает времени, то вы не станете тратить его на ручную настройку данных. Вы можете создать сводную таблицу, используя множественные диапа- зоны консолидации. С помощью специальной функции сводных таб- лиц вы можете легко и быстро консолидировать все данные из выбран- ных диапазонов в отдельной сводной таблице. Это наилучшее решение, если требуется выполнить лишь однократный анализ множества диапа- зонов или быстро проанализировать множество диапазонов.
172 Глава 8 Чтобы приступить к сведению данных в одну таблицу, запустите мастер сводных таблиц и диаграмм, показанный на рис. 8.3, и выберите вариант В нескольких диапазонах консолидации. Рис. 8.3. Запустите мастер сводных таблиц и диаграмм и выберите вариант В нескольких диапазонах консоли- дации. Чтобы перейти к следующему шагу мастера, щелкните на кнопке Далее На рис. 8.4 показан следующий шаг мастера, в котором вам нужно решить, позволить программе Excel создать одно поле страницы или создать несколько собственных полей страницы. Вы замените, что поля страницы, создаваемые Excel, чаще всего малопонятны или вообще бессмысленны, поэтому практи- чески во всех случаях предпочтительней создавать собственные поля страниц. Рис. 8.4. Выберите опцию Создать поля страницы и щелкните на кнопке Далее Теперь нужно указать в Excel каждый набор данных. Введите диапазон первого набора данных в поле Первое поле, как показано на рис. 8.5. После определения диапазона щелкните на кнопке Добавить.
Использование в сводных таблицах нескольких источников данных 173 Рис. 8.5. Выделите диапазон первого набора данных и щелкните на кнопке Добавить Предупреждение Чтобы сводная таблица создавалась правильно, первая строка каждого диапазо- на должна включать в себя заголовки столбцов. Выделите остальные диапазоны и добавьте их в список. На этом этапе ваше диалоговое окно должно выглядеть так, как показано на рис. 8.6. Мае тер»иодных таплиц и диаграмм шаг ю 3 Укажите диапазон, содержащий данные, которые требуется просуммировать, и нажните кнопку "Добавить". Повторите -ту операцию для • лждо. о диаг >зина, который следует включить. Диапазон; ______________________________ I ‘Chapter 6 - Data Source Г'|М$26 Добавить Удалить Обаор... Список диапазонов: 'Chapter 8 - Data Source П$А$2:$N|ft 'Chapter 8 • Data Source Г1|А|9;$М43 'Chapter 8 - Data Source l'l$A$16:$Nf’n Во-первых, укажите количество полей страницы сводной таблицы, Затеи выверите диапазон в списке и укажите метку элемента в каждом из доступных окон полой. Повторите операцию для каждого диапазона. П' третье поле, Дддае > Отмен-» I сказал Готово Рис. 8.6. Добавьте в список два других диапазона наборов данных
174 Глава 8 Заметьте, что каждый набор данных представляет отдельный регион: North (Север), South (Юг) и West (Запад). Когда сводная таблица объединит все три набора данных, вам потребуется заново проанализировать каждый регион. Чтобы иметь такую возможность, пометьте каждый диапазон в списке от- дельным именем, идентифицирующим набор данных этого диапазона. В ре- зультате будет создано поле страницы, позволяющее выполнять фильтрацию данных для каждого региона. Перед тем, как создать поле страницы Region, укажите общее количество создаваемых полей страницы. Для идентификатора регионов требуется соз- дать только одно поле страницы, так что щелкните на переключателе 1, как показано на рис. 8.7. При этом активизируется текстовое поле Первое поле. Вы можете создать до четырех полей страницы. Рис. 8.7. Щелкните на переключателе 1. Активизи- руется текстовое поле Первое поле В следующем шаге, показанном на рис. 8.8, вам нужно пометить каждый диапазон. Щелкните на первом диапазоне в списке и введите в поле Первое поле имя региона. Повторите эту операцию для остальных регионов. Определившись с регио- нами, щелкните на кнопках Далее и Готово. Итак, вы успешно объединили три источника данных в одной сводной таб- лице. На первый взгляд, сводная таблица, показанная на рис. 8.9, ничем не отличается от других сводных таблиц. При ближайшем рассмотрении оказы- вается, что она имеет необычные подписи, заданные по умолчанию. Структура сводной таблицы с несколькими диапазонами консолидации , В процессе более глубокого анализа новой сводной таблицы обратите вни- мание на несколько интересных нюансов. Во-первых, список полей таблицы включает поле Строка, поле Столбец и поле Страница!.
Использование в сводных таблицах нескольких источниковданных 175 Рис. 8.8. Выберите первый диапазон, представляющий набор данных для северного региона, и введите в поле имени страницы значение North A В С 0 E F 3 1 Страниц!! (Все М 2 j 3 количество по полю Знамение Столбец ▼,! 4 Строка ж Lob Manaqer Jan Feb ;Mar Apr jMay 5 С opier Sale Б JParts 31 3 3 3L 3 ! / < ! i ' i ; ! । Cl) Ш T i i I s ! i i —i cn; > { 1 L. П ! I i i i i зГ I 1 1 { г i l ; 1 7 1 Printer Sale 3 3j 3| ! : 1 J i . K_.- cn ! 1 । < । i 1 * j 8 Serv-ce Plan 3 31 3 3 3 Л. Общий итог 12 12 12 12 12 Рис. 8.9. Вы получили сводную таблицу, содержащую данные из трех источников Помните, что сводные таблицы, использующие несколько диапазонов консолидации в качестве источников данных, могут содержать только три ба- зовых поля: Строка, Столбец и Значение. Помимо этих базовых полей вы можете создавать до четырех полей страниц включительно. Совет Обратите внимание на то, что поля, автоматически генерируемые сводной табли- цей, имеют вполне описательные названия (Строка, Столбец и Значение). Вы можете изменить настройки полей, переименовать и отформатировать их в соот- ветствии с возникшими потребностями. В главе 3 настройки полей рассмотрены более подробно. Поле Строка Поле Строка всегда создается на основе первого столбца источника дан- ных. Отметим, что на рис. 8.2 первым в источнике данных был столбец Line of Business (Торговое направление). Поэтому поле Строка в новой свод- ной таблице представляет направления торговли.
176 Глава 8 Поле Столбец Поле Столбец содержит остальные столбцы источника данных. Сводные таблицы, использующие несколько диапазонов консолидации, комбинируют все поля из исходных наборов данных (без первого столбца, который исполь- зуется полем Строка) в некое “суперполе” с именем Столбец. Поля исход- ных наборов данных становятся элементами данных поля Столбец. В сводной таблице, представленной на рис. 8.10, в поле Столбец изначально применяется функция КОЛИЧЕСТВО. Если вы зададите для поля Столбец функ- цию СУММ, то это повлияет на все элементы данных поля Столбец. А В с 0 ... . Е .... F G 1 Страница! (Все) "г 2 3 -Сумма по полю Значение Столбец v 4 Строка ’г Lob Manager Jan Feb Маг Apr Мау 5 ' Copier Sale г 0 6046248 6745297 7П55695 7205183 73146 6 Parts 0 6676438 7072973 7173666 6951658 7034- Printer Sale 0 4842852! 5637163 5888683 5130810 5859^ 6 Service Plan 0 48861538 49164020 49326452 48381665 493632 9 Общий итог 0 66427076 68619453 69444496 67669316 69572С Рис. 8.10. Элементы данных в поле Столбец интерпретируются как один объект. Замена функции количество поля Столбец на функцию сумм выполняется по отношению ко всем элементам поля Поле Значение Поле Значение содержит значения для всех данных поля Столбец. Обра- тите внимание, что даже те поля, которые изначально в наборе данных были текстовыми, трактуются как поля с числовыми значениями. Ярким примером является поле Lob Manager (см. рис. 8.10). Несмотря на то, что это поле со- держало имена и фамилии менеджеров из исходного набора данных, теперь эти записи трактуются в сводной таблице как числа. Как уже говорилось ранее, сводные таблицы, использующие несколько диапазонов консолидации, объединяют поля исходных наборов данных (кроме первого поля), делая их элементами данных поля Столбец. Поэтому, хотя вы и можете определять такие поля, как Lob Manager, в виде текстовых с собственными элементами данных, они не будут больше хранить эти дан- ные. Эти поля будут преобразованы в элементы данных со значениями. Результат такого поведения полей состоит в том, что поля, изначально со- держащие текст или даты, выводятся в сводной таблице с ничего не значащи- ми числовыми значениями. Обычно эти поля лучше всего скрыть во избежа- ние конфузов. Скрытие полей более подробно описано в главе 5. Поля страницы В сводных таблицах с множеством диапазонов консолидации можно непо- средственно управлять только полями страницы. Вы можете создать и опреде- лить до четырех полей страниц включительно. Вы также можете перетаскивать
Использование в сводных таблицах нескольких источников данных 177 их в поле строк или поле столбцов для добавления в сводную таблицу новых возможностей. Поле Страница!, показанное в сводной таблице из рис. 8.10, создано для предоставления возможности выполнения фильтрации данных по регионам. Однако, как видно на рис. 8.11, если вы перетащите поле Страница! в об- ласть строк'сводной таблицы, то сможете создать одномоментный вид данных для региона. А В c. b E F G r H 1 f / 2 f э Сумма по полю Значение Столбец v 4 Страница! Строка ▼ Jan Feb Mar Apr May Jun 5 North Copier Sale 1 670 642 1 908 785 2 165 037 2 239 3711 2121 648 2133; 6 Parts 2 378 240 2 372 974 2 537 793 2 429 561 2 419 169 2 271 ; 7 Primer Sale 1 443 106 1 628 517 1 745 271 1 545 072 1 808 141 1 785? 8 Service Plan 17 098 331 17 045 471 17 497 027 1Б 903 477 17 157 864 16 422 t 9 North Итог 22 590 319 22 955 747 23 965 128 23 117 481 23 506 822' 22 612 f 10 South Copier Sale 2 703 264 2 923 311 2 869 761 2 892 764 3 203 760 2 493 456 2 583 428 3 192 £ 11 Parts 2 457 824 2 658 591 2 736 089 2 572' 12 Printer Sale 2 016 462 2 378 109 2 467 409 2 089 987 2 351 109 2 480 fa 13 Service Plan 10 922 385 19 240 187 19 100 783 19 072 738 19193 191 18 400' 14 "South Итог 26 099 935 27 200 196 27 174 042 26 548 945'27 331 48E 26 646 ' 15 West Copier Sale 1 672 342 1 913 201 2 000 897 2 073 048' 1 989 468 1 981 ' 16 Parts 1 840 374 2 041 408 1 899 784 2 028 6411 2 031 725, 1 943? 17 Printer Sale 1 383 284 1 630 537 1 676 003 12 728 642 1 4У5 751! 1 700 226 1 718 E 18 Service Plan 12 840 822 12 878 362 12 405 450 13 012 346 12 293 7 19 West Итог 17 736 822 18 463 508 18 305 326 18 002 89048 733 765 17 937 i 20 Общий итог 66 427 076 ‘ 68 619 453 i 69 444 496 67 669 316;69 572 075 67 196; Рис. 8.11. При перетаскивании поля Страница! в область строк в сводную табли- цу добавляется новый слой, который обеспечивает представление всех данных отдельного региона Переопределение сводной таблицы Вы можете оказаться в ситуации, в которой вам потребуется переопреде- лить сводную таблицу, т.е. добавить диапазон данных, удалить диапазон дан- ных или переопределить добавленные ранее поля страницы. Чтобы переопре- делить сводную таблицу, щелкните правой кнопкой мыши внутри сводной таблицы, выберите команду Мастер сводных таблиц и щелкните на кнопке Назад, чтобы перейти к нужному диалоговому окну мастера. Консолидация и анализ восьми наборов данных Предположим, менеджер принес вам таблицу, показанную на рис. я.12, и попросил вывести отчет о поквартальных доходах для каждой модели за два года. Эти данные ему нужно продемонстрировать на встрече, которая состоится через 15 минут, так что у вас очень мало времени на организацию и подведение итогов по указанным данным.
178 Глава 8 1 А РУ200Г в £01 о ESeJa " u J Sil R j к' 2 . 3. 4 5" 6“ 7 • ~8 ‘ Г 10 11 жюа 2500С 2500Р Ю02С 3002Р 4055Т 450GC 4500Р 5001С 5001Р $32 591 $32 525 $118 246 $473 1 02 $7 772 $89 780 $19 294 $2 373 $85 746 MODEL 2500C 002C 3002P 4055T 45C0C 4500P Ш01С 50№ 02 *11 438 $1 590 $217 856 $19499 «148 565 $16 842 $13191 $27192 MODEL 2500C ; - , 3002C 3OO2P 4)551 45Q0C 4500P $001C 5001P 03 J1 TOO $39 262 $460 715 $6 006 $139 65* $6 305 $11 929 >16161 MODEI 250UC 2500P 3002'" Ю02Р 4500C 5001C 5001P <M ? $14 771 $34 608 $21 924 $18 327 $68413 $12 634 $65 902 12 13 FY2004 14 1S I. 18 19 20" 21 22 23 MODEL 2500С 2500Р 3002С 3002Р 4055Т 4500Р 50С1С 5001Р 01 $17 220 $23 407 $103 650 $160 783 $21 231 $17 645 $12 424 $53 344 MODEL 2500C 3002C 3Q02P 4055T 4 SUit 45TOP STOIC 5001P Q2 $63379 $89 463 $324 679 $22 789 $44 398 $12 797 $3 242 $16144 MODEL 2500C 2500P 30020 30Q2P 4500P STOIC 5001P 03 $16 079 $37 926 $4 925 $141 799 $4 227 $1 803 $5 758 MODEL 3002C 4055T 4500C 4500P some 5001P 04 $54 884 $29 892 $324 957 $33904 $4 687 $33 282 Рис 8.12. Вам нужно проанализировать данные в этой таблице и быстро предста- вить доход для каждой модели за два года Поскольку это одноразовый анализ, который нужно выполнить очень быстро, нужно использовать сводную таблицу. Выполните следующие операции. 1. Запустите мастер сводных таблиц и диаграмм. Для указания источника данных выберите переключатель В нескольких диапазонах консолидации. Щелкните на кнопке Далее. 2. Выберите опцию Создать поля сводной таблицы и щелкните на кнопке Далее. 3. Добавьте первый диапазон данных и установите переключатель 1, чтобы акти- визировать текстовое поле Первое поле. Введите в это поле значение 2003. На этом этапе диалоговое окно мастера должно выглядеть так, как показано на рис. 8.13. 4. Добавьте второй диапазон данных и введите в текстовое поле значение 2 о оз. 5. Повторите п. 4 для каждого набора данных и добавьте все диапазоны данных. В текстовое поле для всех наборов данных под полем FY 2004 вводите значе- ние 2004. Диалоговое окно мастера должно выглядеть так, как показано на рис. 8.14. Итак, вы успешно выполнили консолидацию данных в одной сводной таблице. Однако теперь придется изменить настромки поля Значение (рис. 8.15), чтобы использовать функцию Среднее вместо функции Количество. Кроме того, вы можете переименовать поля в сводной таблице, чтобы лучше описать используе- мые данные, - { s После внесения требуемых изменении в форматирование данных сводная таблица должна выглядеть так, как показано на рис. 8.16. Используя Такую изящную структуру, вы представите оптимальный объем данных в удобочи- таемом формате.
Использование в сводных таблицах нескольких источников данных 179 Рис. 8.13- Вид диалогового окна мастера после добавления первого диа- пазона данных Рис 8-14. После добавления всех диапазонов данных щелкните на кнопке Готово, чтобы создать сводную таблицу Рис. 8.15. После создания сводной таблицы вам потребуется изменит^ настройки поля значе- ние, чтобы вычислить греднее значение вместо подсчета количества элементов данных
180 Глава 8 1 Среднее по полю Значение 1Ю С Квартал ▼ ВИ.ОВИ Е F G 2 Модель ▼ Год * 01 □2 Q3 Q4 Общий итог 3 4 5 2500С 2500С Итог 2003 |2и04 32 591 17 220 21906 18 496 63 379 40 939 1 000 16 079 8 540 14 771 14 771 17 363 27 862 23 36J 6 7 8 1 2500Р 2500Р Итог 2003 2004 32 525 23 407* 27 9ь6 37 926 37 926 34 608 34 608 32 525 31 980 32 117 9 10 3002С 2033 2004 118 246_ 103 650 1 590 89 463 39 262 4 925 38 404 53 033 54 969 11 КЮ2С Итог 110 948 45 527 22 094 38 404 54 243 12 *13 ЗС02Р 2003 2004 473 102 160 783 217 856 324 679 460 715 141 799 1с 327 383 891 161 397 14 3002Р Итог 316 943 271268 301 257 18 327 256 752 15 16 4055T 2003 2004 7 772 21 231 19 499 22 789 6 006 29 892 11 092 24 637 17 4055Т Итог 14 502 21 144 6 006 29 892 17 865 18 J4. 4500С 20Г. 2004 69 780 148 565 44 398 139 655 196 685 126 000 145 923 Рис. 8,16. С помощью реорганизованного отчета вы с j 1егкосгью можете снаб- дить менеджера данными о квартальном доходе с каждой модели как за один, так и за два года Создание сводной таблицы на основе уже существующей Если ваша рабочая книга уже содержит одну или несколько сводных таб- лиц, то в качестве источника данных вы можете использовать другую сводную таблицу. Это означает, что в диалоговом окне Мастер сводных таблиц и диа- грамм, показанном на рис. 8.17, можно применить опцию В другой сводной таблице или сводной диаграмме. Рис. 8.17. Вы можете использовать в качестве источника данных другую сводную таблицу, если ваша рабочая книга содержит одну или несколько сводных таблиц К сожалению, в окне Мастер сводных таблиц и диаграмм нет удовлетво- рительного разъяснения по этому варианту извлечения данных.
Использование в сводных таблицах нескольких источниковданных 181 При создании сводной таблицы для обеспечения быстрого доступа к важ- ной информации вы сохраняете мгновенную копию с полным набором дан- ных в кэше сводной таблицы или в специальной ячейке оперативной памяти. Каждый отчет сводной таблицы, создаваемый на основе отдельного источни- ка данных, располагается в собственном кэше. Это означает, что каждый соз- даваемый кэш требует выделения дополнительной памяти и увеличения раз- мера файла. Если рабочая книга уже содержит сводную таблицу, то программа Excel попытается сэкономить память и дисковое пространство, попытавшись ис- пользовать существующий кэш сводной таблицы. При использовании другой сводной таблицы в качестве источника данных, как показано на рис. 8.17, вы указываете программе Excel не создавать отдельный кэш для новой сводной таблицы. Вместо этого программа в целях экономии памяти и дискового про- странства будет использовать уже существующий кэш. Поведение мастера сводных таблиц Предположим, что ваша рабочая книга содержит сводную таблицу. Если вы за- пустите мастер сводных таблиц и диаграмм и сразу щелкнете на кнопке Далее, не внося никаких изменений в настройки, то увидите сообщение, показанное на рис. 8.18. Рис. 8.18. Это сообщение предупреждает об изменении размера файла при создании другой сводной таблицы на основе того же источника данных й запрашивает использовать единый кэш сводной таблицы для экономии памяти и дискового просгранства Однако если вы запустит^ мастер сводных таблиц и диаграмм и сразу же щелк- нете на кнопке Готово, не внося никаких изменений в настройки, то не увидите сообщение, показанное на рис. 8.18. Вместо этого программа Excel автоматически выделит отдельный кэш для новой сводной таблицы. Используя единый кэш для создания множества сводных таблиц, вы по- вышаете эффективность использования памяти и уменьшаете размер конеч- ного файла. Однако это чревато возникновением некоторых дополнительных проблем. Определенные действия в сводных таблицах вызывают изменение в содер- жимом кэша. Это означает, что если у вас имеется две сводные таблицы, ис- пользующие один кэш, то определенные действия могут вызвать изменения в обоих сводных таблицах. К этим действиям относятся следующие.
182 Глава 8 Обновление данных. Вы не сможете обновлять одну сводную таблицу, не влияя при этом на другую. Обновление будет выполнено в обеих таблицах. Добавление вычисляемого поля. Если вы создаете вычисляемое поле в одной сводной таблице, то это новое вычисляемое поле появится и в списке по- лей другой сводной таблицы. Добавление вычисляемого элемента. Если вы создаете вычисляемый элемент в одной сводной таблице, то он появится и в другой таблице. Группировка и разгруппировка полей. Любая группировка и разгруппи- ровка будет влиять на обе сводные таблицы. Предположим, к примеру, что вы сгруппировали поле данных в одной сводной таблице для выво- да месяцев. То же поле данных в другой сводной таблице также будет сгруппировано для вывода месяцев. Хотя эти побочные эффекты не являются критичными в концепции со- вместного использования кэша, о них важно знать, если вы принимаете ре- шение о применении сводной таблицы в качестве источника данных. Дальнейшие шаги В главе 9 мы рассмотрим процесс извлечения внешних данных с помощью программы MS Query, а также принципы использования внешних данных в сводных таблицах. Вы узнаете, как применять внешние данные для “обхода” некоторых ограничений Excel, а также как создавать динамические отчеты на основе сводных таблиц.
Использование в сводных таблицах внешних источников данных Создание сводной таблицы с использованием внешних источников данных Основная идея создания сводных таблиц на основе внешних источни- ков данных заключается в том, что вы можете создать и использовать кэш сводных таблиц, заполненный данными, расположенными вне ра- бочей книги Excel. Это означает, что вы можете создать сводную таблицу, не извлекая данные из ячеек рабочей книги Excel. Несмотря на обилие способов использования внешних ис- точников данных, одним из главных преимуществ такой функционально- сти является возможность обхожде- ния ограничения на управление дан- ными в Excel. 9 В ЭТОЙ ГЛАВЕ Создание сводной таблицы с использованием внешних источников данных........183 Импорт и использование внешних данных без мастера сводных таблиц...190 Создание динамического отчета в сводной таблице.191 Параметры данных сводных таблиц...................198 Дальнейшие шаги..........199
184 Глава 9 Обхождение ограничения на управление данными в Excel То, что программа Excel является прекрасным средством обработки и анали- за данных, еще не является аргументом. По сути, сводные таблицы сами по себе являются доказательством аналитической мощи Excel. Однако, говоря обо всех ее достоинствах, нельзя не упомянуть и об одном существенном упущении. Программа Excel построена на относительно простой платформе управления данными, обладающей тремя недостатками. Ограничение в 65536 строк не позволяет свободно хранить большие объемы данных. Отсутствие реляционной модели данных вынуждает нас использовать плоские таблицы, которые хранят избыточные данные и увеличивают шанс появления ошибок. Отсутствие способа индексирования полей данных в Excel для оптими- зации при извлечении больших объемов данных. Именно поэтому в серьезных организациях управление данными осущест- вляется не с помощью Excel. Изначально оно реализуется в таких СУБД, как Microsoft Access и SQL Server. Эти СУБД используются при хранении миллио- нов записей, которые можно быстро находить и извлекать. Эффект такого разделения производственных задач заключается в су- ществовании уровня управления данными (сама база данных) и уровня приложения (программа Excel). Трудность заключается в том, чтобы найти наилучший способ извлечения информации из уровня управления данны- ми и передачи ее на уровень приложения для эффективного использова- ния в сводной таблице. В обычной ситуации вы можете импортировать или вставить данные из ба- зы данных непосредственно в таблицу Excel в качестве автономного источни- ка. Таким образом, вы сможете использовать данные в виде локального ис- точника, участвующего в создании сводной таблицы (под словом локальный подразумевается электронная таблица, в рамках которой вы работаете). Однако возникают ситуации, в которых создание локального источника данных в Excel не практикуется. Набор данных, который требуется проанализировать, содержит более 65536 строк, и вы не можете создать локальный источник данных для сводной таблицы без разделения данных на несколько электронных таблиц. Если рабочие данные находятся в реляционной базе данных, то поля, извлекаемые для источника данных, могут находиться в разных табли- цах, что усложняет их сведение в одном наборе данных. Использование внешнего источника данных в сводной таблице позволяет избежать этих проблем.
Использование в сводных таблицах внешних источников данных 185 Программа MS Query Без использования VBA-кода программа Excel не может связываться с внеш- ними источниками данных. Зато в ней поддерживается возможность связыва- ния с внешними данными с помощью малораспространенной программы MS Query. Это автономная программа, устанавливаемая вместе с пакетом Office, ко- торую можно запускать как из Excel, так и в виде отдельного приложения. Обычно эта программа располагается по следующему пути: C:\Program Files\Microsoft Of f ice\Of f ice**\MSQRV32 .EXE (где ** — номер уста- новленной версии пакета Office). Предупреждение Программа MS Query может отсутствовать в вашей системе (в зависимости от на- строек пакета Office). Помните, если вы не установили программу msqrv32.exe, то не сможете связываться с внешними источниками данных в Ехчсе1. Для инсталляции программы MS Query вам потребуется установочный диск пакета Microsoft Office. Используйте пользовательский тип установки. При изменении настроек установки найдите параметр Средства Office. Выберите в этой категории значение Microsoft Query. Установите для него вариант Запускать с моего компь- ютера и завершите установку. Специалисты компании Microsoft не прилагали особо много усилий для разработки или поддержки программы Microsoft Query. Большинство людей, использующих MS Query, согласятся с тем, что интерфейс программы, мягко говоря, устарел, а документация отличается излишней краткостью и немного- словностью. Увы! В процессе создания новых замечательных XML-воз- можностей о программе MS Query как-то позабыли. Тем не менее, MS Query все еще играет важную роль в связывании Excel с внешними источниками данных. На протяжении этой главы вы будете изучать базовые технологии управле- ния внешними данными в сводных таблицах. Помните, что хотя все они осно- вываются на средствах Excel, даже в мастерах программы часто используются функциональные возможности программы MS Query. Совет Чтобы не отвлекаться от темы сводных таблиц, мы лишь вкратце рассмотрим принципы использования внешних данных в Excel. Более подробную информацию об управлении данными с использованием программ Excel и MS Query вы найдете в книге Управление данными с помощью Microsoft Excel Конрада Карлберга (Издательский дом "Вильямс", 2005). Обновленное и дополненное издание этой книги представляет собой великолепное руководство по применению возможно- стей Excel для управления данными.
186 Глава 9 ПРАКТИКУМ Анализ набора данных, содержащего более 83000 записей, с помощью сводной таблицы Представьте, что в вашем распоряжении имеется база данных Access MyExter- nalData.mdb. Ваша задача - проанализировать данные в базе данных с помо- щью сводной таблицы Excel (в исходной таблице содержится более 83000 строк данных). Несмотря на то, что импортировать эги данные в Excel и сделать их ло- кальными не представляется возможным, вы всегда можете создать сводную таб- лицу на основе внешних данных. • -• , Г t , Ц ,4 /I >/!•> •"< * W — ! ' / Совет Файл Access MyExternal-bata.mdb можно найти по адресу http://www. MrExcel.com/pivotbookdata .html. Загрузите этот Файл в свои компьютер и запомните путь его хранения на жестком диске. . / v 4. , чг ,./• . v/-у /м ?-f н- , . t - ' , , ‘ AJ Чтобы приступить к созданию сводной таблицы на основе внешнего источни- ка данных, перейдите к строке меню и выполните команду Данные<=> Сводная таблица. После активизации мастера сводных таблиц и диаграмм выберите опцию Во внешнем источнике данных, как показано на рис. 9.1, и на кнопке Далее. Мастер сводным таблиц и диаграмм шаг I из 3 щелкните Далее > '.Т1з Вид создаваемого отчета: сводная таблица сводная диагоамма (со сводной таблицей; Готово Создать таблицу ш основе данных, находящихся, О в списке или базе данных Microsoft Off ice Excel <• ®o внешнем не гочн»*е данных/ в нескольких диапазонах консолидации Г* © др той сводной таблиц* или св-одней диалзш-’* < S -&ЙД Отмена Рис. 9.1. Выполните команду Данные^Сводная таблица, установите опцию Во внешнем источнике данных и щелк- ните на кнопке Далее Следующее диалоговое окно, показанное на рис. 9.2, - это окно Мастер сводных таблиц и диаграмм - шаг 2 из 3. Выберите вариант Получить данные для запуска программы MS Query и определения исгочника данных.
Использование в сводных таблицах внешних источников данных 187 Мастер сводным таблиц и диаг рамм - шаг 2 из 3 Чтобы извлечь данные из внешнего источника с помощью Microsoft Query, нажмите кнопку "Получить данные". Данные не получены. Чтобы исполъ зовать файл подключения к данным Office (.odcj, начните кнопку "Отмена" и выполните команду "Импирг данных" (меню "Д энные" j подменю 'Импорт внешних данных") для открытия файла. О гиена Нзз^д ] Tdwo Рис. 9.2. Команда Получить данные активизирует программу MS Query Взглянув на рис. 9.3, вы заметите, что диалоговое окно больше не имеет отноше- ния к созданию сводной таблицы. Причина состоит в том, что на этом этапе вы ра - ботаете не с мастером программы Excel, а с мастером приложения MS Query, за- нятым сбором коллекции всех описании, требуемых для подключения к внешнему источнику данных Выбор источника данным Еззг. данных MS Accos? Базы данных | Запросы Кубы OLAP | < Новый источник данных) MS Access 7.0 Database" Visual FoxPro Database" Visual FoxPro T ables" Xtreme Sample Database 2003* База данных Vinial FoxPro’ T аблицы Visual F oxPro" Файлы dBASE" ОК От* 5На Обзор Удалить | Papai «трй.. Р* Использовать мастер запросе® i Рис. 9.3. Выберите вариант База данных MS Access, уста- новите опцию Использовать матер запросов и щелкните на кнопке ОК Первый шаг в описании внешнего источника данных для сводной таблицы заклю- чается в выборе источника данных. В нашем случае источником данных является файл Access, так что выберите базу данных MS Access. Чтобы продолжить исполь- зовать мастер, установите флажок Использовать мастер запросов. Щелкните на кнопке ОК. Теперь программа MS Query знает, что вы собираетесь работать именно с базой данных Access. Далее нужно указать, с какой именно базой данных Access требу- ется установить связь. Для этого используйте браузер, найдите базу данных и щелкните на кнопке ОК. В следующем диалоговом окне нужно выбрать в базе данных необходимые поля. Используйте древовидную структуру в левой части окна для просмотра таблиц в базе данных и изучения ее полей. Затем, используя кнопки в середине окна, пе- реместите поля, применяемые при создании сводной таблицы, в список справа (рис. 9.4).
188 Глава 9 Создание запроса: выбор столбцов Какие столбцы д shhwx следует включить в запрос? Имеющиеся таблицы и столбцы S ап .pie Data Source STORE IN BALANCE DATE MODEL LINE OF BUSINESS REVENUE DAYS IN PFRIRD Данные выбранного столбца. Параметры Столбцы ЗЗГГрОСо. region MARKET FISCAL PERILD Units Sold - Нйззд Далее «I Рис. 9.4. Переместите необходимые поля, используя кнопку > X Отмена « Примечание Два диалоговых окна, которые вы пропускаете далее, содержат параметры базовой фильтрации и сортировки данных, назначение которых не требует особых разъяснений. В этом практикуме мы не станем в полной мере исполь- зовать эти возможности. Перетащив все необходимые поля, три раза щелкните на кнопке Далее, чтобы пе- рейти к диа логовому окну Создание запроса: заключительный шаг. Теперь вам нужно указать программе MS Query, что именно нужно сделать с дан- ными итогового запроса. Вы можете передать данные в Microsoft Excel, открыть MS Query для просмотра и редактирования запроса, или же создать на их основе куб данных OLAP. Для решения поставленной задачи выберите вариант Вернуть данные в Microsoft Office Excel, как показано на рис. 9.5. Создание запрос а: заключительный шаг Дальнейшие действия? <• Вернуть данные в Microsoft Office Excel Г Просмотр или изменение данных в Microsoft Query Г* Создание куба OLAP из данного запроса < Назад г охранить запрос.. I три* Отмена Готово Рис. 9.5. Выберите опцию Вернуть данные в Microsoft Office Excel и щелкните на кнопке Готово Л
Использование в сводных таблицах внешних источников данных 189 Примечание При создании сводной таблицы на основе внешних данных команда Вернуть данные в Microsoft Office Excel не будет помещать итоговые данные непо- средственно в электронную таблицу, как это может показаться. Вместо этого итоговые данные заносятся в кэш сводной таблицы. Преимущество такого по- ведения состоит в создании сводных таблиц, используя наборы данных, раз- мер которых превышает ограничение Excel в 65536 строк. Вы вернулись назад к диалоговому окну Мастер сводных таблиц и диаграмм• шаг 2 изЗ (рис. 9.2) и опять работаете в мастере Excel. Обратите внимание на текст Данные получены возле кнопки Получить данные. Это признак того, что все сделано правильно, и программа готова перейти к следующему этапу. Третий этап мастера сводных таблиц кажется подозрительно знакомым. В нем вы указываете место хранения сводной таблицы. Итоговая сводная таблица показана на рис. 9.6. После переноса данных в Excel вы можете создавать, обновлять и управлять сводной таблицей точно так же, как и любой другой сводной таблицей. А В C D E F 1 I I « 2 # 3 Сумма по полю Units Sold FISCAL PERIOD v 4 REGION * MARKET * 200205 200206 200207 200208 5 North Great Lakes 1354 1310! 1288 1446 6 New England 1312 12721 1432 1346 7 New York Nurth 1312 13781 1320 1290 0 New York South 1068 1072 <082 978 9 Ohio 1472 1380 1544 1658 10 Shenandoah Valley 2060 1956 2352 1340 Jlj South Carolina 1078 1200 1140 1144 12 North Итог 9656 9568; 10158 9702 13 South Florida 1660 1586 1586' 1738 1630 14 Gulf Coast 1632 1584 1586 15 16 17 Illinois I5I4 16821 1392 1478 Indiana 1476 1544^ 1468 1468 Kentucky 1174 1224 1170 1214 16 North Carolina 1000 1226 1326 1084 19" Tennessee 920 1018 1030 992 20 Texas 1422 1472 1314 1460 21 South Итог 10752 11384 11022 10912 Рис. 9.6. После переноса данных в Excel вы можете создавать, обновлять и управлять своей сводной таблицей точно так же, как и любой другой таблицей Чтобы добавить и изменить поля, загруженные в кэш сводной таблицы, щелкните правой кнопкой мыши в сводной таблице, выберите значение Мастер сводных таблиц, щелкните на кнопке Назад и примените команду Получить данные. Вы вновь перейдете к диалоговому окну, показанному на рис. 9.4. Если при попытке обновить таблицу вы получаете ошибку, то щелкните в окне со- общения на кнопке ОК для закрытия сообщения об ошибке, в следующем диало- говом окне выберите значение База данных и вновь используйте браузер, с тем чтобы указать расположение файла. Дважды щелкните на кнопке ОК, чтобы вер- нуться к сводной таблице, которая теперь указывает на корректный файл.
190 Глава 9 Примечание Если вы переместите или переименуете базу данных Access после создания сводной таблицы, то не сможете обновить таблицу. Импорт и использование внешних данных без мастера сводных таблиц Вы успешно создали сводную таблицу, в которой выполняется анализ бо- лее 80000 строк данных. Это невозможно (или невероятно сложно) выполнить с использованием локальных данных. Вам удалось решить эту проблему толь- ко потому, что вы переместили внешние данные непосредственно в кэш свод- ной таблицы, используя мастер сводных таблиц. Путем переноса внешних данных непосредственно в сводный кэш вы избегаете физических ограниче- ний, накладываемых на электронные таблицы. Недостаток использования мастера сводных таблиц для переноса внешних данных заключается в том, что вы не имеете прямого доступа к детализиро- ванным записям. Это означает, что используется сырой набор данных, кото- рые не представлены в виде строгой электронной таблицы, позволяющей ис- пользовать опцию Автофильтр, просматривать элементы вне сводной табли- цы или выполнять другие действия. К счастью, как и в случае с большинством других средств Excel, существует много альтернативных способов переноса и использования внешних данных. Вы можете импортировать и записывать внешние данные непосредственно в электронную таблицу. Для этого нужно перейти в строку меню и применить ко- манду Данные1^Импорт внешних данных^Создать запрос. Запустятся те же мастера MS Query, которые вы использовали в первом практикуме этой главы. i----- -------------т------- --- - --- _ _ д --1 - --Т Примечание Если вы работаете в Excel 2000, то не найдете команду Импорт внешних данных в меню Данные. В этом случае следует использовать команду Получить внешние данные. После импорта внешнего набора данных вы можете создать на его основе сводную таблицу таким же образом, как это делается в случае локального ис- точника данных. Преимущество использования этого метода заключается в том, что сводную таблицу данных можно создать на одном листе, а детальный вид данных представить на другом. Данный метод идеален при распростране- нии отчета среди пользователей, которым в одной рабочей книге нужно вы- вести резюме с подробной информацией. Помните, что поскольку вы храните данные в электронной таблице, то ограничены физическим размером элек- тронных таблиц (256 столбцов и 65536 строк).
Использование в сводных таблицах внешних источников данных 191 Создание динамического отчета в сводной таблице Один из наиболее эффективных способов использования импортирован- ных внешних данных состоит в создании динамических систем вывода отче- тов. Что это означает? Представьте себе ситуацию, в которой вам нужно распространить среди 10 пользователей рабочую книгу Excel, состоящую из одного отчета сводной таб- лицы. Этот отчет представляет данные еженедельных объемов продаж. Если в сводной таблице используется источник данных из рабочей книги Excel, то вы, по сути, выводите пользователям статический отчет. Несмотря на то, что свод- ная таблица действительно является динамической по своей сути, она никогда не будет представлять новые данные, поскольку источник данных, используе- мый для заполнения полей сводной таблицы, не изменяется на локальном уровне. Поэтому каждую неделю вам придется распространять среди одних тех же 10 пользователей новый отчет о продажах с самыми свежими данными. Теперь представьте, что в том же отчете сводной таблицы используется им- портированный внешний источник данных. С помощью такой структуры вы сможете динамически связывать таблицу с источником данных и обновлять данные, используемые в сводной таблице. Более того, все пользователи, полу- чающие данные из вашего отчета, могут самостоятельно обновлять источник данных нажатием всего одной клавиши. Поскольку они имеют постоянный доступ к последним данным, необходимость в повторном распространении дальнейших отчетов отпадает. Создание автономной динамической системы вывода отчетов в сводных таблицах Примечание Для этого практикума мы не создавали отдельный файл. В данном примере в качестве источника данных используется база данных SQL Server. Причина за- ключается в том, что источник данных, который можно обновлять и поддер- живать на сервере, лучше всего подходит для отчетов такого типа. К сожале- нию, довольно сложно предоставить пример файла для настоящего практи кума, поскольку его суть заключается в демонстрации взаимодействия Excel с источником данных SQL Server (а мы не можем в столь небольшой книге опи- сать среду SQL Server). Чтобы отчитаться о последнем количестве активных клиентов, вам нужно ка- ждый месяц распространять один и тот же отчет сводной таблицы среди од-
192 Глава 9 них и тех же менеджеров. А между тем, большая масть данных была переме- щена на новый SQL Server. Вы решаете воспользоваться преимуществом ситуации и создать динамический отчет сводной таблицы, использующий SQL Server в качестве внешнего источника данных. Это позволит менеджерам обновлять полученные отчеты нажатием одной клавиши, а вы сэкономите время и силы, требуемые для ежемесячного создания и рассылки новых отчетов. Эту задачу можно разбить на пять этапов. 1. Создание внешнего источника данных. 2. Определение запроса 3. Импорт результатов. 4. Создание и форматирование отчета сводной таблицы. 5. Создание макооса, который будет обновлять отчет самыми последними дан- ными. Создание внешнего источника данных Первое, что вам нужно сделать, это создать внешний источник данных. Создайте новую рабочую книгу, перейдите в строку меню и выполните команду Данные*^ Импорт внешних данныхФСоздать запрос. Запустится мастер MS Query. Как показано на рис. 9.7, в первом диалоговом окне вам будет предложено указать источник данных, который вы хотите использовать. В нашем случае используется база данных SQL Server. Поскольку требуемый ис- точник данных на рисунке не показан, выберите опцию <Новыи источник данных> и щелкните на кнопке ОК. Р Использовать мастер запросов Выбор источника данный Рис. 9.7. Поскольку база данных SQL Server здесь не пока- зана, выберите опцию <Новый источник данных> и щелк- ните на кнопке ОК В следующем диалоговом окне введите имя для источника данных и укажите, какой драйвер баз данных следует использовать для подключения к источнику данных. Драйвер базы данных является средством преобразования данных между фор- матами приложения и базы данных. Вы не можете подключиться к любому внеш- нему источнику данных без соответствующего драйвера. На рис. 9.8 показано, что используется драйве. > SQL Server, поскольку в качестве источника применяется ба-
Использование в сводных таблицах внешних источников данных 193 за данных SQL Server. После ввода имени источника данных и выбора соответст- вующего драйвера щелкните на кнопке Связь. Создание нового ис гочника данных >дайте имя для трисеоени» источнику данны*. 1 2. MuDataSouce Выберите драйвер для требует юго тип* базы данныя.. fsQLServer ’ . «Г -.Ь «ММ Ж ***** Нажмите кнопку “Связь" и вгадите требуемые сведения: Связь.. выберите ho умол^ябтйблйвд w 4. | Г* Сбювнигс> и й определен^ да Ыник да фх а Отмена Рис. 9.8. Введите имя источника данных и вы- берите соответствующий драйвер Щелкни те на кнопке Связь Примечание В Microsoft Office предоставлены драйвера баз данных по умолчанию для следующих источников данных: SQL Server, Access, dBASE, FoxPro, Excel, Oracle, Paradox, текстовые файлы, а также несколько драйверов от независи- мых разработчиков. Если соответствующий драйвер для вашей базы данных отсутствует, установите его перед подключением к базе данных. МММ Теперь введите следующую информацию: сервер, идентификатор и пароль. Для идентификации сервера, к которому вы подключаетесь, можете использовать !Р-адрес или имя DNS-сервера (Domain Name System - система доменных имен), как показано на рис. 9.9. В этом практикуме используется DNS-сервер SOPS, так что вам не нужно указывать реальный IP-адрес. Оптимальный вариант - исполь- зовать DNS по причинам лучшей безопасности и функциональности. Далее, введите имя пользователя и пароль (обычно предоставляемый админист- ратором базы данных). Два раза щелкните на кнопке ОК, чтобы создать источник данных. Определение запроса На этом этапе новый источник данных представляется в виде выборки в списке источников данных. В рассматриваемом примере источник данных имеет имя Му- DataSource (рис. 910). Выберите новый источник данных, установите флажок Использовать мастер запросов и щелкните на кнопке ОК
194 Глава 9 % '5 ' Пользователь: Пароль: Приложение' Безы данных Janfiocbi’ Кубы OLAF rnvC'atdbumce- <Ноеый источник данных' MS Access 7.0 Database" Язык Рабочая станция *. >.... л, Г Параметры 1 ’ База данных: Выбор источника данных Вход в сервер SQL SOPS Использисать доверительное соединение sopsuser кхкк t - •>' fcnilit 1Ж1ИМ1ЙИЙМiiwu {(Default) (Default) OK Отмена Справка {Microsoft Office 2003 HOME-5DFF2715D1 ‘я Рис. 9.9. В поле Сервер введите !Р-адрес сер- вера или же, что более предпочтительно, имя DNS-сервера И. ,/v V'sual FoxPro Database Visua1 FoxPro T abtes База данных MS Access" База данных Visual FoxPro’ T аблицы Visual FoxPro" Райлы dBASE" Lx Р Использовать мастер запросов ОК Отмена Обзол . Удалитг X Рис. 9-10. Выберите новый источник данных, установите флажок Использовать мастер запоосов и щелкните на кнопке ОК В следующем диалоговом окне выбираются поля источника данных (рис. 9.11). Используйте древовидную структуру слева для просмотра таблиц и полей в базе данных. Затем переместите требуемые поля в список справа, используя кнопки посередине. Перетащив все необходимые поля, три раза щелкните на кнопке Да- лее, чтобы перейти к диалоговому окну Импорт данных. Щ J- ИЯМ £ ’ I Импорт результатов Теперь ваша задача - выбрать место для размещения итогового набора данных (рис. 9.12). Помните; что если июговый набор данных занимает более 65536 строк, программа Excel отбросит "лишние" данные. После импорта нового набора данных щелкните внутри него правей кнопкой мыши и примените команду Свойства диапазона данных, как показано нз рис, 9.13. Установите флажок Сохранить пароль. Эта настройка сохранит па- роль источника данных в рабочей книге, позволяя пользователям обновить данные без ввода пароля.
Использование в сводных таблицах внешних источников данных 195 Создание запроса: выбор столбцов о х Сведения о Какие столбцы данных следует включить в запрос? Им мищиеся таблицы и столбцы ИНЫМ & ' Столбцы запрос* Код товара Цена Количество Скидка ОтпускнаяЦена > Рис. 9Л1. Переместите необходимые поля из списка слева в список справа, используя кнопки посередине КодЗаказа Марта rti Готродиики А Слисок имеющихся товаров Гпмгш тпмаппм Инлор г данных Куда с те д yen поместить данные? <• и-,. кмиийся лист: С Ырвыйпнст / W_ ' И ОГМртэдммаЙ т^ликМ.н СвсЬгСТва... , I Изменить janpor. , Рис 9.12. Выберите место размещения итого- вого набора данных и щелкните на кнопке ОК Свои: тва внешнего диапазона я: ^Запрос из MyDataSource Определение запроса и 17 со j р анип пре делечи запроса '» аюновое обн"ftnet<ие сбноедепъ каждые F -нт Г" обновление при открытии файла Г i «маю Формат и разметка данных —- |7 включить имена полей Р йвтоформат данных включить номер I строк |7 задать ширину столбца Р *хр. нить сведения о соотировке.'фил^тре/формаге для столбца Если количегтьо строк в диапазоне изменится: /• до^ак. гь ювьк* строки и удалить существующие Г4 добавить новые строки и очистить пустые дчейки Г“ 'лаенитьсущь-'гвупхцио ячейки и удалить пусто® Г заполнить форм лани соседние столбцы OK j Отмена j '! !М. тм .. ............... 1/1 . . •< ’’ • ’У/ .1 '/ Рис, 9ЛЗ. Используйте это диалоговое окно для сохранения пароля запроса
196 Глава 9 Использование уведомлений при сохранении пароля При активизации настройки Сохранить пароль (рис. 9.13) вы, по сути, вставляете пароль в рабочую книгу Excel. Это означает, что любой злоумышленник сможет от- крыть вашу рабочую книгу Excel с помощью такого текстового редактора, как WordPad, и извлечь из нее сохраненный пароль. На рис. 9.14 показан пример та- кого взлома. (3 Report.xls - WordPad "5 Файл Прпька Вид Вставка Форма! Справка ;APP-Hicrosoft Office 2003; UIP*sopsnser; PWD^sop/ DRIVER-SQL Server;SERVEP-SOPS; □□□□□□ ПН БАСПОааПбСПС0аБаШППвПСЮ\ПрСОЭП1дог □ □□#□,□#□^□00 .□ODOD"D0D [DRneDdO] D\П#П#П0а .ПОООСГСШП .□"□□□кПЧЗЗПа IJ &□□□□□□□□□ □□□□□□□□□□□а апаахкхсс □пгаапаспапс аааоо Рис. 9.14. Любой желающий может просмотреть ваш файл Excel в текстовом редакторе и найги пароль Ниже описаны действия, которые помогут свести вероятность взлома системы за- щиты к минимуму. По возможности используйте виды. Используйте таблицы "только для чтения", которые изолированы и предназна- чены только для вывода динамических отчетов. Используйте назначенное регистрационное имя и пароль только в динамиче- ских отчетах. и Избегайте использования IP-адресов з источниках данных. н. Создание и форматирование отчета сводной таблицы Создайте сводную таблицу, используя внешние данные, импортированные в ра- бочую книгу. После создания сводной таблицы вы можете привязать к ней диа- грамму и отформатировать свой отчет в соответствии с собственными требова- ниями, как показано на рис. 9.15. Создание макроса, который будет обновлять отчет самыми последними данными После того, как этот отчет попадет в руки конечным пользователям, они смогут технически обновлять его для получения самых последних данных в любое время суток, выполнив следующие действия: щелчок правой кнопкой мыши внутри ис- точника данных, выбор команды Обновить данные, переход к сводней таблице, щелчок правой кнопкой мыши внутри сводной таблицы и применение команды Обновить данные. Несмотря на то, что эти действия кажутся простыми, некоторые пользователи не настолько сообразительны, чтобы суметь вручную обновить свой отчет. Поэтому вы можете создать макрос, который будет выполнять эту задачу при запуске его пользователем.
Использование в сводных таблицах внешних источников данных 197
198 Глава 9 комбинацией клавиш, и макрос выполнит все необходимые операции за них. Чтобы легче запомнить комбинацию клавиш, добавьте в рабочий лист примеча- ние, как показано на рис, 9.17. Рис. 9.17. Используя дополнительное форматирование, вы создали средство вывода дина- мических отчетов, которые можно распространить среди пользователей в виде автоном- ного файла Excel , < Параметры данных сводных таблиц Некоторые параметры сводных таблиц ведут себя по-разному в зависимости от типа взаимодействия сводной таблицы с внешними данными. Вы уже знако- мы с диалоговым окном Параметры сводной таблицы. Несколько настроек в самой нижней его части относятся к запросам внешних данных. Чтобы открыть это диалоговое окно, показанное на рис. 9.18, щелкните правой кнопкой мыши в сводной таблице и выполните команду Параметры таблицы. Ниже описаны параметры запросов внешних данных. Сохранить данные вместе с таблицей. Эта опция указывает Excel сохранять внешние данные в рабочей книге, чтобы эти данные стано- вились доступными сразу же при открытии файла. Помните, что этот тип поведения увеличивает размер файла. По умолчанию эта опция включена. Развертывание разрешено. Если дважды щелкнуть на элементе данных в сводной таблице, то по умолчанию этот элемент будет раз- вернут вместе с детальными сведениями. Сброс этого флажка отменит такое поведение. Эта опция недоступна в отчетах, созданных на основе баз данных OLAP без специальных надстроек.
Использование в сводных таблицах внешних источников данных 199 Рис. 9.18. Настройки в нижней части диалогового окна от- носятся к запросам внешних данных Обновить при открытии. Если эта опция включена, то сводная таб- лица будет автоматически обновляться источником данных при откры- тии рабочей книги. Обновлять каждые. Если включить эту опцию, то сводная таблица будет автоматически обновляться через заданный интервал времени. Сохранить пароль. Эта опция используется для сохранения пароля внешнего источника данных в виде части рабочей книги. Таким образом, вам не нужно будет заново вводить пароль при обновлении данных. Фоновый запрос. Если у вас имеется большой внешний набор дан- ных, обновление которого занимает много времени, то вы можете ис- пользовать эту настройку, чтобы иметь возможность продолжить рабо- ту во время обновления данных. Данная опция недоступна для отчетов, созданных на основе баз данных OLAP. Оптимизировать память. Когда эта опция включена, программа Ex- cel оценивает результаты выполнения внешнего запроса перед запол- нением кэша сводной таблицы с целью определения возможности оп- тимизации операции сохранения каждого массива строк или столбцов. К сожалению, документация по этой настройке довольно скудная, а потому не совсем понятно, как она реально работает и влияет ли на производительность. Дальнейшие шаги В главе 10 мы изучим отчеты OLAP и методы усовершенствования взаимо- действия со сводными таблицами кубов данных OLAP. Вы узнаете, насколько
200 Глава 9___________________________________________________________________________ эффективно можно применять функциональные возможности OLAP для дос- тупа в сводной таблице к миллионам записей в базах данных по сравнению с такими же средствами в Microsoft Access.
Кубы данных OLAP 10 Определение технологии OLAP Аббревиатура OLAP расшифровы- вается как Online Analytical Processing (Оперативный анализ данных) и пред- ставляет собой набор инструментов, которые позволяют анализировать многомерные данные. Сервер OLAP представляет собой средство, связывающее хранилище данных и пользовательский компью- тер. Сервер OLAP распознает фор- мат, в котором сохранена информа- ция в базе данных, и имеет специаль- ные функции для извлечения и вы- вода запрашиваемых данных. Распространенные серверы OLAP включены в такие программные про- дукты, как Essbase фирмы Hyperion и SQL Server с пакетом Analysis Tools компании Microsoft. Сервер OLAP обрабатывает не- сколько сотен миллионов записей из хранилища данных и создает много- мерную структуру данных. Эта струк- тура, известная как куб данных OLAP, выполняет запросы, поступающие от пользователей, значительно быстрее. Преимущества кубов данных OLAP В главе 9 мы рассматривали прин- ципы использования внешних источ- В ЭТОЙ ГЛАВЕ Определение технологии OLAP..........201 Преимущества кубов данных OLAP..............201 Введение в хранилища данныхи кубы данных OLAP.... 202 Долговременное хранение данных...................203 Подключение к кубу данных OLAP..............205 Работа со сводней таблицей OLAP............209 Сводные таблицы кубов OLAP и сводные таблицы данных Excel.............213 Другие возможности кубов данных OLAP..............214 Дальнейшие шаги..........216
202 Глава 10 ников данных для обработки наборов данных с размером, превышающим 65536 записей. База данных Access или SQL-сервер позволяет включать в сводную таб- лицу Excel несколько сотен тысяч записей. А что делать, если в базе данных хра- нится еще больший объем данных — миллионы, а то и миллиарды записей? Рассмотрим два противоположных примера. У небольшого банка с не- сколькими филиалами не больше нескольких тысяч клиентов. Вы с легкостью можете создать набор данных со сведениями о суммах кредитования и теку- щих балансах на счетах клиентов. Затем вы можете использовать сводные таб- лицы для генерации отчетов о любых финансовых потоках на счетах клиентов. А если вы работаете с сетью небольших магазинов и отслеживаете продажи ежедневно, т.е. обрабатываете набор данных, объем которого на несколько порядков больше? Представьте, что в сети имеется 250 магазинов, и каждый из них ежедневно реализует в среднем 1000 единиц товара. За год будет сдела- но более 91 миллиона записей о продажах, в каждой из которых в среднем реализовано 2,3 товара. Вы хотите выяснить, какие товары продаются быстро, а какие пылятся на складских полках. Вам нужно сравнить продажи за текущий год с продажами за предыдущие годы, т.е. обработать более 200 миллионов записей за год. Мо- жет ли программа Excel без посторонней помощи обработать эти данные? Ни в коем случае. Существует ли иной способ управления такими большими объ- емами данных? Да, если в вашем распоряжении находится сервер OLAP. Если в базе данных содержится несколько миллионов записей, то скорее всего вы будете использовать систему управления реляционными базами дан- ных (RDBMS — Relational Database Management System), такую как Microsoft SQL Server 2000 или ее более позднюю версию. Программа SQL Server предос- тавляет в ваше распоряжение высокоэффективные средства создания реше- ний для управления большим объемом необработанных данных. Администра- тор базы данных или разработчик хранилища данных может использовать эти средства для создания хранилища данных и кубов данных OLAP, обновляя их по мере поступления новых данных. Главная концептуальная особенность использования кубов данных OLAP за- ключается в подготовленности данных для применения в других проектах. При получении сотен миллионов записей очень сложно одномоментно извлечь их все в клиентский компьютер. Скорее всего администратор базы данных вашей органи- зации решит хранить их исключительно в серверной части СУБД. Только он один знает все о хранилищах данных, умеет создавать и поддерживать кубы данных OLAP, к которым вы будете получать доступ из сводных таблиц. Введение в хранилища данных и кубы данных OLAP Давайте рассмотрим, что представляют собой кубы данных OLAP и как можно использовать их максимально эффективно. В этом разделе вы узнаете, как рабочие данные становятся кубом данных OLAP.
Кубы данных OLAP 203 Рабочие данные Традиционная база данных типа OLTP (Online Transaction Processing — оперативная обработка транзакций), такая как Access или SQL Server, хранит информацию в нескольких связанных таблицах. Для удобства сохранения та- кой связанной структуры создаются именованные таблицы Customers, Or- ders, Order Details и Products. На рис. 10.1 показана табличная струк- тура традиционной базы данных. Рис. 10.1. Удобство хранения данных о продажах обеспечивается занесением информации в именованные таблицы реляционной базы данных В такую базу данных заносятся все данные о произведенных продажах. По- этому, воспользовавшись ею, вы можете хранить записи о продаваемой про- дукции, знать, когда нужно пополнять склады новыми товарами, а также вы- числять размер прибыли по всем товарам и итоговый объем продаж за день. Естественно, база данных ежедневно увеличивается в размерах. Вместо того чтобы позволить накапливаться информации в базе данных на стороне клиента, они отправляются (ежедневно, ежечасно или даже после ка- ждой транзакции) в общую базу данных компании, хранимую на сервере. Буквально через пару месяцев после получения данных, поступивших из всех 250 магазинов, главный офис получит полную информацию для общей базы данных. Однако единичные записи усложняют аналитическую обработку данных, поскольку отдельная запись или сведения о продаже одного товара не может свидетельствовать о том, насколько хорошо идут дела. Вам требуется вывести итоговые показатели и другие статистические данные из большого объема существующих необработанных данных. Однако выполнение сложных запросов займет очень много времени. Попытка генерирования отчетов на ос- нове всех данных или только их части также заведомо обречена на провал, по- скольку требует очень много свободного времени. Долговременное хранение данных Хранилище данных, хотя и остается реляционным, сильно отличается от обычной базы данных. Как показано на рис. 10.2, данные о продажах хранятся в центральной быстродоступной таблице, обеспечивающей поиск информа-
204 Глава 10 ции в других таблицах, а также определяющей иерархические взаимоотноше- ния товаров, магазинов и временных показателей. Рис. 10.2. Центральная таблица базы данных принимает сот- ни миллионов записей за год Каждая запись в главной таблице базы данных хранит две категории ин- формации. Первая категория представляет размерную информацию, напри- мер, время продажи, магазин или проданный товар. Вторая категория содер- жит сведения о мерах, например цену за единицу товара, ее себестоимость и количество проданных единиц товара в отдельной транзакций. Информация о мерах, как правило, числовая. Это данные, которые вы мо- жете подытожить. Размерная информация необходима для однозначной трактовки подведен- ных итогов. Вы можете разбить итоговые суммы объемов продаж по времен- ным интервалам и товарам, чтобы выяснить, что между 3:00 и 5:00 магазины в Центральной временной зоне продали больше стирального порошка, чем торговые точки в остальных регионах за это же время. Создание куба данных Итоговая таблица — это предварительно созданный файл, содержащий все возможные агрегации по каждой размерности и мере. Один из способов пред- варительного построения всех возможных итоговых таблиц заключается в соз- дании многомерной структуры данных (обычно называемой кубом данных). Она отличается от обычной реляционной базы данных тем, что в последней каждая ячейка (место пересечения поля и записи) содержит только один эле- мент данных. Любая “ячейка” в кубе данных может иметь множество элемен- тов или вообще не иметь их. Более того, данные каждой ячейки агрегированы по одной или нескольким размерностям. Сервер OLAP берет на себя все обя- занности по преобразованию таблицы данных, показанной на рис. 10.2, в вир- туальный куб данных, изображенный на рис. 10.3.
Кубы данных OLAP 205 PRODUCT САП GORKI StalU Stain Stain i ORES Рис. 10.3. В кубе данных OLAP подытожены размер- ности по различным мерам Если такая структура называется кубом данных, означает ли это, что в нем присутствует не более трех размерностей? Название “куб данных” придумано лишь для того, чтобы помочь представить сложную структуру данных. Однако такой куб может иметь гораздо больше трех размерностей. Предварительно созданные представления кубов данных Основная мысль вышеизложенного повествования заключается в том, что для организации данных Excel вам достаточно выполнить действия, описанные в гла- ве 2. Однако при использовании куба данных OLAP специально организовывать данные не нужно, поскольку они уже представлены в должном формате. Куб данных OLAP представляет собой структуру данных, которая включает всевозможные агрегации по всем доступным размерностям. Вам требуется лишь указать куб данных OLAP для сводной таблицы Excel, а затем использо- вать любые методы сводных таблиц для генерирования всевозможных отчетов и диаграмм. Подключение к кубу данных OLAP Итак, администратор базы данных компании регистрирует наполнение ку- ба данных OLAP информацией, и вы хотите просмотреть поступившую ин- формацию. Чтобы ознакомиться с примерами этой главы, вы можете загру- зить версию куба данных OLAP, сохраненного по адресу http://www. mrexcel.com/pivotbookdata.html. Если в вашей компании установлена программа SQL Server, вы можете попросить администратора базы данных на- строить куб данных Sales для базы данных Foodmart с помощью средств MS Analysis Services. Средства пакета Analysis Services можно установить с компакт-диска SQL Server 2000. Утилита Analysis Manager содержит велико- лепное пособие по настройке этого демонстрационного куба данных.
206 Глава 10 Подключение к локальному кубу данных Используйте команду Данные^Сводная таблица. На шаге 1 из 3 мастера выберите вариант Во внешнем источнике данных, как вы это делали в главе 9 (рис. 10.4). Рис. 10.4. На шаге 1 мастера выберите переключатель Во внешнем источнике данных На шаге 2 мастера щелкните на кнопке Получить данные. В диалоговом окне Выбор источника данных перейдите на вкладку Кубы OLAP. Если вы первый раз используете файл локального куба данных, то вы- берите опцию <Новый источник данных> и щелкните на кнопке ОК. Как показано на рис. 10.5, откроется диалоговое окно Создание нового источника данных. Задайте кубу данных имя, например, Sales. В раскры- вающемся списке Выберите поставщика данных для куба OLAP для нужной базы выберите значение Microsoft OLE DB Provider. На шаге 3 щелкните на кнопке Связь. Рис. 10.5. Даже несмотря на то, что куб дан- ных существует, для подключения к нему вы должны ввести его имя
Кубы данных OLAP 207 В диалоговом окне Multidimensional Connection выберите переключатель Cube File. Используйте кнопку Просмотр (с изображением троеточия) для указания расположения файла Sales.cub. Диалоговое окно должно иметь вид, показанный на рис. 10.6. Щелкните на кнопке Finish. Рис. 10.6. Чтобы использовать локальный куб данных, укажите путь к файлу с расширением . cub Щелкните на кнопке ОК для закрытия диалоговых окон Создание нового источника данных и Выбор источника данных. Вы вернетесь назад к шагу 2 мастера сводных таблиц. Щелкните на кнопке Далее. Вы перейдете к шагу 3 мастера, как показано на рис. 10.7. Поскольку у вас нет в наличии рабочего листа с данными транзакции, по умолчанию они помещаются в сводную таблицу в пустом рабочем листе. Щелкните на кнопке Готово. Рис. 10.7. На шаге 3 мастера создайте сводную таблицу в пустом рабочем листе
208 Глава 10 Подключение к кубу данных на сервере Если в вашем распоряжении находится реальный сервер OLAP, то вы мо- жете подключиться к серверу, а не к локальному файлу куба данных. В диа- логовом окне, показанном на рис. 10.6, выберите на этот раз вариант Analysis Server. Далее вам нужно ввести имя сервера, регистрационное имя пользова- теля и пароль. Администратор базы данных должен предварительно предоста- вить вам эту информацию, как показано на рис. 10.8. Рис 10.8. Введите имя сервера, ваше пользовательское имя и пароль При подключении к серверному кубу данных вы должны дополнительно указать базу данных. В нашем примере единственной базой данных является Foodmart, как показано на рис. 10.9. Щелкните на кнопке Finish. Рис 10.9. Выберите базу данных. В этом при- мере вы несколько ограничены в выборе Выполните остальные шаги, чтобы вернуться к мастеру сводных таблиц, и щелкните на кнопке Готово на шаге 3 мастера.
Кубы данных OLAP 209 Работа со сводной таблицей OLAP Теперь в вашем распоряжении имеется пустая сводная таблица, такая же, как и при создании на основе данных в другом рабочем листе Excel. Как толь- ко вы начнете перетаскивать размерности и меры, таблица будет принимать вид четко упорядоченной структуры. Давайте начнем разрезание куба данных. Компоновка данных Как и в случае со стандартными сводными таблицами, вы можете исполь- зовать панель инструментов Сводные таблицы и окно Список полей сводной таблицы. На рис. 10.10 показано, что возле каждого поля располагается зна- чок. Поля Store Cost, Store Sales и Unit Sales имеют значки с двумя строками единиц и нулей. Эти значки указывают на то, что поля представляют числовые меры. Остальные поля могут иметь значок, представляющий иерар- хию голубого и серого элементов. Эти поля являются размерными полями. Если администратор базы данных корректно выполнял инструкции Analysis Services, то вы увидите пять размерностей: Customer, Product, Promotion, Store и Time. В рабочем листе представлены контуры макета сводной таблицы. В нем имеется четыре области: страница, строка, столбец и данные. В область дан- ных нужно перетащить меры. Это элементы данных, которые вы хотите поды- тожить или обобщить. Области страницы, строк и столбцов предназначены для размерностей, которые являются атрибутами при выполнении агрегации. Перетащите меру Store Sales в область данных. Когда вы сделаете это, в таблице будет выведен итоговый объем продаж по всем магазинам. Это не очень интересная информация. Вытащите меру Store Sales из левого верх- него угла макета в любую область вне макета. Ожидайте появления красного значка X, указывающего на то, что поле удалено из макета. Итак, вы вновь имеете дело с пустым макетом. Перетащите размерность Customer в область строк, а размерность Time в область столбцов. Размерность Store Sales перетащите в область данных. Вы сразу же получите итог по более чем 200 миллионам записей с данными об объемах продаж за 1998 год для трех стран, для которых представлена база данных Foodmart, как показано на рис. 10.11. Работа с кубом данных Взгляните на рис. 10.11. Несмотря на то, что в область строк сводной таб- лицы вы перетащили поле Customer, в реальной сводной таблице выводится поле Country. Причина такого поведения программы в том, что размерность Customer представляет иерархическую структуру данных. Щелкните на значке “плюс” рядом с полем Customer в окне Список полей сводной таб- лицы. Вы увидите, что клиенты сохранены в элементе Lname, но сгруппиро- ваны по городам, штатам и странам, как показано на рис. 10.12.
210 Глава 10 Рис. 10.10. Значки в списке полей указывают тип поля: размер- ность или мера Рис. 10.11. Сводная таблица OLAP похожа на обычную сводную таблицу за исключением того, что в ней подводится итог по более чем 200 миллионам записей По умолчанию при перетаскивании поля Customer в сводную таблицу вы увидите большинство подытоженных показателей для исходных данных. Сводная таблица по умолчанию, показанная на рис. 10.11, включает в себя итоговые данные, просуммированные по стране и году. Начать анализ данных довольно просто. Дважды щелкните на элементе Mexico, и вы увидите, что макет автоматически расширился для отображения штатов Мексики, как показано на рис. 10.13. А_ ь c 0 1 ^ретащите сюда поля страниц 2 У Store Sales Year * 4 Country w State Province 1998 Общий итог 5 ICanada 98045,46 98045,46 6 Mexico 1DF 75131 75131 7 Guerrero 30838.58 30838,58 8 Jalisco 4328,87 4328 87 9 Mexico 20395,4 20395,4 10 Sinaloa 18251,45 18251.45 11 Veracruz 52142,07 52142,07 12 Yucatan 79063,13 79063,13 13 Zacatecas 150143,09 150143,09 14 Mexico Итог 430293,59 430293,59 16 USA 550808,42 560808,42 ! 16 Общий итог 1079147.47 1079147.47 СП.Ч.ОИ польи сводной Таблицы * X Перетащите элементы ь сводную таблицу F2 [^Customer ,t. I > , • Country . : • ? State Province —• l г aty ; | i , > ’ I name Щ [Zj Product ... ГЯМ I i । и ...... —и Рис. 10.12. Поля размерно- стей в списке полей сводной таблицы можно расширять для вывода всех доступных агрегаций Рис. 10.13. Кубы данных OLAP содержат предварительно созданные группы. Чтобы углубиться в структуру данных, дважды щелкните на целевом элементе Дважды щелкните на элементе Zacatecas, и макет расширится для ото- бражения двух городов штата Закатекас. Перейдите в ячейку 1998 и дважды щелкните на ней. Макет расширится для отображения четырех кварталов 1998 года. Дважды щелкните на каждом квартале для просмотра данных каждого месяца, как показано на рис. 10.14.
Кубы данных OLAP 211 п А В , ’ c": —*• 1111 — !*• .Е - l|U G X 2 ’ер-пищите гн да 1 л ля страниц - . - ; 1 3 4 ^5 Store Sales Year Quarts! Month 1998 Quarter 1 . Quarter 1 Итог Q 6, 7 в“1 Country State Province City February January March Canada 8332.66 7144,8; 8403,67 23881,13 Mexico DF 7035,22 6688,03 ! 6143,98 19867,23 9 Guerrero 2830,91' 3583,22; 3283,39 9697,52 fo ЧГ 12 13 • I 14 16 Jalisco 473,92 411.66 471,23 1356,81 Mexico 1878,7 1907,9; 1936,56 5723,16 Sinaloa 1381,34 2085,05 1899,23 5365,62 Veracruz 4795,67 5364,4 , 3810,75 13970,82 Yucatan 6453,92 7494,15 6644,58 20592,65 Zacatecas Camacho 4469 64 5896,63 5011,52 15377,79 1Ь 17 Hidal(p) 9346,28 8188,32 9103,21 26637,81 Zacatecas Итог 13815,92 14084,95 14114,73 42015,6 18 19' 20 Mexico Итог 38665,6 41619,36 38304,45 118589,41 1 USA~ 47499,74 49391,12 ' 51511,78 148402,64 Общий итог 94498 1 98155,28 98219,9 290873.18 2 Рис. 10.14. Для углубленного анализа данных требуется всего лишь несколько щелчков кнопкой мыши Чтобы вернуться к предыдущему виду данных, вам следует скрыть деталь- ные сведения размерности. Выберите Zacatecas в ячейке В15 и щелкните на кнопке Скрыть детали на панели инструментов Сводные таблицы, как пока- зано на рис. 10.15. A В С и m -n G 1 Перетащив сюда поля страниц 12 "з‘" Store Sales Year w J Quarter Month 4 1998 5 Quarter 1 Quarter 1 Итг Qi 6 Country * State Province Crty February January March 7 Canada 8332,66 7144,8 , 8403,67 23881,13 8 Mexico DF 7035,22 6688,03 6143,98 19867,23 4 A 9 Guerrero 2830,91 3583,22 3283,39 9697,52 10 Jalisco 473,92 411,66; 471,23 1356,81 11 Mexico 1878,7 1907,9 1936,56 5723,16 12 Sinaloa 1381,34 ' 2085,05; 1899,23 5365,62 13 Veracruz 4795,67 5364,4 3810,75 13970,82 - 14 Yucatan 6453,92 ' 7494,15 6644,58 20592,65 - 15 Zacatecas lOamacho 4469,64 : 5896,63 ! 5911,52 15377.79 16 I Hidalgo 9346,28 8188,32' 9103.21 26637,81 17 Zacatecas Итог 13815,92 14084,95 14114,73 42015,6 i w Mexico Итог 38665,6 ' 41619,36 38304,45 118589,41 r 19 USA 47499,74 49391,12* 51511,78 148402,64 20’ Общий итог 94498 98155,28 ; 98219.9 290873.18 2f Рис. 10.15. Используйте значок с красным символом "минус", чтобы скрыть детали поля Zacatecas Использование полей страниц Теперь давайте попытаемся перетащить другую размерность, например, Product, в область страниц. Область страниц применяется как фильтр данных. По умолчанию в ней отображается элемент All Product. Щелкните на рас- крывающемся списке, чтобы увидеть список категорий. Щелкните на значке
212 Глава 10 “плюс” возле значения Baking Goods, как показано на рис. 10.16, чтобы от- крыть подкатегории товаров. Выберите значение Cooking Oil. А в С F 2 Э 4 fi 6 Product All Product AH Product Й Baking Goods и it Hl'J ' 'll 8 9 10 11 12 1? 14 15 Country Canada Mexico ffi Sauces i+i Spices Bl Sugai r+j Bathroon. Products - Beer and Wine W НгяаИ Не.сколькг, элементов Отмена Zacatecas ir v] Quarter Month 8_____ arter 1 )ruary Quarter 1 Итог Qu 332,66 035,22 1830,91 January March _7144£8 ’ 6688,0- 6143,38 3583,22 3283,39 8403,67 411,66 Ъ0'',9 1936,56 381,34 ; 2085,05 1899,23 473,92 “8767 795,67 1.1453,92 471,23 23881,13 19867,23 9697,52 1356 81 5723,6 6365,62 5364,4 3810,75 7494,15 6644,58 13970,82 *0597/55 16 17 18 19 2Л Camachp Hidalgo IZacatecas Итог Muxict Итог USA Общий итог 4469,64 5896,631 5011,52 9346,2b 13815,92 14084,95 14114,73 38665,6, 41619,36 38304,45 *7499,74 ~ 49391,12. 51511,70 94498 98155,28 98219,9 6188,32 9103,21 15377,79 26637,81 42015,6 2185^4/ '148402,64 2908^.1' 2E QK i Г Рис. 10.16. Область страниц Product предлагает сделать выбор. Щелкните на любом значке "плюс", чтобы расширить категорию Щелкните в раскрывающемся списке Cooking Oil и расширьте его, чтобы увидеть данные для торговой марки ВВВ. Вы можете заметить, что не каждый штат поставляет товары этой торговой марки. Для тех штатов, которые не торгуют дан- ными товарами, отображаются пустые ячейки, как показано на рис. 10.17. А в t- D E F G 1 Product BBS Best ▼ 2 3 §tore Sales Year H Quarter Mr nth 4 1998 j 5 Quarter 1 Quarter 1 Итог 6 Country 4State Province ICity February January March 7 Canada 21,26 38,16 42,16 101 ,E8 8 Mexico DF 16,96 4,62 5,52 27.1 9 Guerrero 3,68 22,73 3,68 30,09 10 Jalnco < I 11 Mexico 7,36 7,36 12 Sinaloa 11,98 11,98 13 Veracruz 4,62 10,06 14,68 14 Yucatan 24,3 7,36 12,15 43,81 16 Zacatecas Camacho 15,51 6,16 21,67 16 I Hidalgo 33,3 10,14 32,15 76.59 17 Zacatecas Итог 33,3 25,65 38,31 97,26 18 Mexico Итог 102,2 70 42 59,66 232,28 19 USA 144,48 61.87 122,62 328,97 20 Общий итог 267,94 170.45 224.44 662,83 Рис. 10.17. В процессе углубленного анализа вы можете встретить разрозненные данные. В штате Ялиско товары этой торговой марки никто не приобрел, по крайней мере, в 1 квартале Углубленный анализ выполняется на любом уровне детализации; на каж- дом уровне вы можете ознакомиться с агрегацией мер. Произведенные вычис-
Кубы данных OLAP 213 ления нельзя отменить, поскольку все итоги уже (неважно, виртуально или реально) подведены и хранятся в кубе данных OLAP. Смело эксперименти- руйте, комбинируя размерности в области строк, столбцов и страниц. Сводные таблицы кубов OLAP и сводные таблицы данных Excel Итак, вы уже знаете, что представляет собой куб данных OLAP. Вы также знаете, что подключение к кубу данных не составляет проблем, а его исполь- зование практически не отличается от применения сводных таблиц для управ- ления данными в рабочем листе Excel. Так в чем же разница между сводными таблицами Excel и сводными таблицами OLAP? OLAP обрабатывает больше данных и намного быстрее Самое главное различие состоит в объеме данных, который позволяет обра- батывать куб данных OLAP. Как уже говорилось ранее, в стандартном хранили- ще данных содержатся миллионы, а то и миллиарды записей. Организация всех этих данных в понятную структуру выходит за пределы возможностей Excel. Теперь вы можете не только иметь доступ к этому массиву данных, но и в мгновение ока фильтровать их. Для подведения любых итогов не требуется много времени, поскольку все они предварительно рассчитаны. При срезе ку- ба данных для получения интересующего представления заранее рассчитан- ные показатели выводятся практически мгновенно. Размерности или меры В кубе OLAP каждое поле помечено либо как measure (мера), либо как dimension (размерность). Меры, как правило, представляются числовыми полями, например, Revenue, Cost и Quantity. В отличие от данных Excel меры можно перетаскивать только в область данных. Вы не можете перета- щить меру в область строк, столбцов и страниц. Подобным образом, поля размерностей нельзя перетащить в область дан- ных в отличие от стандартных полей данных Excel, где поле Region не запре- щается перетаскивать в область данных (например, для получения количества записей). Меры OLAP уже сгруппированы Возможно, администратор базы данных заранее определил группы в кубе данных. Например, мера для года может содержать кварталы, месяцы и дни. Дважды щелкните на годе, чтобы расширить группу и вывести данные для кварталов. В этом и состоит главное преимущество куба данных OLAP. Вы можете создать подобные группы в стандартных рабочих листах Excel, но для этого потребуется выполнить много операций, описанных в главе 5.
214 Глава 10 Если администратор базы данных не настроил группы, вы можете добавить их в сводных таблицах OLAP, используя методы, описанные в главе 5. Углубленный анализ данных OLAP Работая со стандартными данными Excel, вы можете дважды щелкнуть на любом значении в сводной таблице, чтобы увидеть все записи, используемые для вычисления этого значения. Метод двойного щелчка не срабатывает в наборах данных OLAP. В Excel 2002 и выше вы можете углубиться в структуру данных с помощью надстройки Excel, любезно предоставленной компанией Microsoft. Она называется Excel 2002/2003 add-in for SQL Server Analysis и доступна по следующему адресу: http://www.microsoft.com/downloads/details.aspx? FamilyId=DAE82128-9F21-475D-88A4-4B6E6C069FF0&displaylang=en Другие инструменты OLAP, ориентированные на применение в Excel, представляются дополнительными надстройками. Предупреждение Вы не сможете расширить локальный куб данных. При использовании технологии OLAP команда расширения структуры данных требует наличие сервера для запро- са исходных данных транзакции. Локальный куб данных представляет собой ито- говый файл, расположенный вне сервера, управляющего запросами к СУБД. OLAP и вычисляемые поля Как говорилось ранее в этой главе, вы можете использовать вычисляемые поля и элементы. Вы можете сделать это локально, или же попросить админи- стратора базы данных внести необходимые изменения в куб данных. В ло- кальных кубах данных вычисляемые элементы не применяются. Другие настройки сводных таблиц Все остальные настройки, не описанные до сих пор, применяются в кубах данных OLAP точно так же, как и по отношению к локальным данным. Вы с легкостью можете форматировать таблицу с помощью функции Автофор- мат, описанной в главе 4. Вы также можете создавать сводные диаграммы, как описано в главе 7. Никто не запрещает вам применять опцию Автосортировка для установки последовательности элементов сводной таблицы, как описано в главе 5. И наконец, вы можете отображать первые или последние записи, используя функцию Десятка лучших (см. главу 5). Другие возможности кубов данных OLAP Чтобы использовать кубы данных OLAP, вам следует знать немного боль- ше. Отметим, что OLAP — это сложная и многофункциональная технология. Ниже описаны некоторые ее возможности.
Кубы данных OLAP 215 Просмотр куба данных OLAP в диалоговом режиме Одно из средств, представленных в Excel, позволяет отображать электрон- ную или сводную таблицу в виде Web-страницы, по требованию даже инте- рактивной. Исключение не составляют и кубы данных OLAP. Вы можете управлять обновлением данных при открытии Web-страницы, а также исполь- зовать соответствующие параметры форматирования числовых данных и управ- ления диаграммами. Для форматирования данных вы можете использовать VBA-код. Вы также можете экспортировать данные из Web-страницы обратно в файл Excel для проведения дальнейшего анализа. Обратная запись в куб данных Если в кубе данных разрешена запись и все итоги в кубе представлены раз- новидностями сумм, то пользователь может сохранять данные в кубе, напря- мую изменяя значения в ячейках куба. Это позволяет применять сценарии “что-если”. Например, если куб имеет размерность налоговой ставки на тор- говлю спиртным, то вы можете перезаписать размерность для этой меры, ука- зав, что налоговая ставка штата выросла на два процента. Вы немедленно уви- дите изменения в подводимых итогах. Эта возможность поможет вам в приня- тии решения о дальнейшей торговле алкоголем в выбранном штате: повысить розничные цены или попробовать справиться с повышением налоговой став- ки без крайних мер. Настройка действий в кубе данных Предположим, во время просмотра куба данных, который настроен на хра- нение инвентаризационных данных, вы заметили, что в региональном храни- лище Foodmart возник дефицит некоторого товара. Если администратор ба- зы данных обеспечил поддержку функции Действия, то вы можете выбрать действие пополнения запасов непосредственно из куба данных, который впо- следствии переупорядочивается или отправляет уведомление соответствую- щему менеджеру. Комбинирование кубов данных Если у вас имеется несколько кубов данных, и вы хотите представить их как один куб, то можете попросить администратора базы данных создать виртуаль- ный куб. Этот процесс подобен использованию представлений баз данных для комбинирования различных полей из множества таблиц. С вашей точки зрения виртуальный куб мало чем отличается от описанной выше структуры. Создание локального куба данных Процесс создания локального куба данных требует подключения к кубу данных OLAP на Analysis Server. В окне Сводная таблица откройте список Сводная таблица. Выберите опцию Настройки “клиент-сервер” и в открыв- шемся окне выберите опцию OLAP при наличии связи (сводные таблицы
216 Глава 10 типа “клиент-сервер”). Щелкните на кнопке Создать автономный файл дан- ных. Щелкните на кнопке Далее, выберите размерности, которые хотите включить в локальный куб, вновь щелкните на кнопке Далее, выберите необ- ходимые меры, еще раз щелкните на кнопке Далее, укажите имя и место хра- нения локального файла куба и щелкните на кнопке Готово. Дальнейшие шаги В главе 11 мы рассмотрим, как макросы могут помочь в составлении отче- тов сводных таблиц, а также предоставить клиентам возможность выполнения собственного анализа данных.
Использование макросов для улучшения отчетов сводных таблиц Зачем использовать макросы в отчетах сводных таблиц Представьте, что вы можете нахо- диться одновременно во многих местах и общаться сразу со многими клиента- ми, помогая им в создании отчетов сводных таблиц. Предположим, что вы помогаете множеству клиентов обно- вить данные, извлекая 20 записей, группируя их по месяцам или сортируя по доходу — и все это вы делаете одно- временно. Это не шутка — вы действи- тельно можете выполнить все эти дей- ствия с помощью макросов Excel. Макрос представляет собой после- довательность действий, которая за- писана и сохранена для дельнейшего использования. Сохраненный макрос можно воспроизвести по специальной команде. Другими словами, вы можете записать свои действия в макросе, со- хранить макрос, а затем разрешить другим пользователям воспроизводить сохраненные в макросе действия про- стым нажатием клавиши. Эта функ- циональная возможность особенно удобна при распространении отчетов сводных таблиц. 11 В ЭТОЙ ГЛАВЕ Зачем использовать макросы в отчетах сводных таблиц...217 Запись макроса..............218 Создание пользовательского интерфейса с помощью форм ..219 Добавление в макрос функций.................222 Дальнейшие шаги.........231
218 Глава 11 Предположим, к примеру, что вы хотите предоставить своим клиентам возможность группировать отчеты сводных таблиц по месяцам, кварталам и годам. Хотя технически процесс группирования может выполнить любой пользователь, некоторые из ваших клиентов не сочтут за нужное разбираться в этом. В подобном случае вы можете записать один макрос группирования по месяцам, другой — по кварталам и третий — по годам. Затем создайте три кнопки — по одной на каждый макрос. Тогда вашим клиентам, не имеющим опыта работы со сводными таблицами, потребуется лишь щелкнуть на кноп- ке, чтобы должным образом сгруппировать отчет сводной таблицы. Главное преимущество использования макросов в отчетах сводных таблиц состоит в предоставлении клиентам возможности быстрого выполнения в свод- ных таблицах таких операций, которые они не могут выполнить в обычной си- туации. Таким образом существенно повышается эффективность анализа пре- доставляемых данных. Запись макроса Взгляните на сводную таблицу, показанную на рис. 11.1. Вы можете обно- вить эту сводную таблицу, щелкнув внутри нее правой кнопкой мыши и при- менив команду Обновить данные. Если во время обновления сводной таблицы вы записывали действия в виде макроса, то вы или любой другой пользователь сможете воспроизвести эти действия и обновить сводную таблицу в результате запуска макроса. Примечание Если вы работаете в Excel 2003 или более поздней версии программы, то настрой- ки безопасности макросов могут быть выставлены на уровне Высокая, что приве- дет к отключению всех макросов. Чтобы использовать макросы, следует задать настройку безопасности Средняя или Низкая. Перейдите в строку меню и выпол- ните команду Сервис^Макрос^Безопасность. Лучше всего установить настройку Средняя. Она позволит запускать макросы только после того, как вы дадите раз- решение на их включение при запуске Excel. Чтобы приступить к записи макроса, нужно открыть диалоговое окно За- пись макроса. Перейдите в строку меню и используйте команду Сервис^ Макрос^Начать запись. В открывшемся диалоговом окне введите информацию о макросе. Имя макроса. Имя должно описывать действия, выполняемые макросом. Сочетание клавиш. В это поле вы можете ввести любую букву. Она станет частью комбинации клавиш, которая будет использо- ваться для воспроизведения макроса. Комбинацию клавиш задавать не обязательно.
Использование макросов для улучшения отчетов сводных таблиц 219 Сохранить в. Здесь указывается место хранения макроса. Если вы распространяете отчет сводной таблицы, то должны применить опцию Эта книга, чтобы макрос был доступен для клиентов. Описание. В это поле вводится описание создаваемого макроса. Поскольку макрос обновляет сводную таблицу, ему задается имя Re- freshData. Вы также можете назначить макросу “горячую” клавишу <R>. Легко заметить, что в диалоговом окне, показанном на рис. 11.2, макросу на- значена комбинация клавиш <Ctrl+Shift+R>. Помните, что после создания макроса вы будете использовать эту комбинацию клавиш для его запуска. В качестве места хранения макроса выберите опцию Эта книга. Щелкните на кнопке ОК. А 1 {REGION ' .24__________“________ 3 , Сумма по полю Revenue 4 CUSTOMER * Же} 6 7 8 9 1 STO LLC. 122 D LLC. 128 Т Со.” 204ALLC. 21 ST Со. Итог_______ 12178 $1 817 $1 835 $2 178 $2 011 Рис. 11.2. Настройте параметры диа- логового окна Запись макроса Рис. 11.1. Запись действий во время обновления этой сводной таблицы позволит в дальнейшем обновлять данные в результате запуска макроса в 5 После щелчка в диалоговом окне Запись макроса на кнопке ОК начинает- ся запись макроса. На этом этапе все выполняемые вами действия в Excel бу- дут регистрироваться. Щелкните правой кнопкой мыши внутри сводной таблицы и выполните команду Обновить данные. После обновления сводной таблицы вы можете остановить процесс записи макроса с помощью команды Сервис^ Макрос^ Остановить запись. Поздравляем! Вы только что записали свой первый макрос. Теперь можете выполнить макрос с помощью комбинации клавиш <Ctrl+Shift+R>. Создание пользовательского интерфейса с помощью форм Запуск макроса с помощью комбинации <Ctrl+Shift+R> поможет в том случае, когда в отчете сводной таблицы присутствует только один макрос. Предположим, однако, что вы хотите предоставить своим клиентам несколько макросов, выполняющих разные действия. Вы должны обеспечить клиентов понятным и простым методом запуска каждого макроса, не прибегая к запо-
220 Глава 11 минанию комбинаций клавиш. Идеальное решение — это простой пользова- тельский интерфейс. Вы можете представить пользовательский интерфейс в ви- де набора таких элементов управления, как кнопки, полосы прокрутки и другие средства, позволяющие выполнять макросы в результате щелчков мышью. Программа Excel предлагает в ваше распоряжение набор инструментов, предназначенных для создания пользовательского интерфейса непосредст- венно в электронной таблице. Эти инструменты называются элементами управления формы. Основная идея заключается в том, что вы можете поместить элемент управления формы в электронную таблицу и назначить ему макрос, который записан ранее. После назначения элементу управления макрос будет запускаться щелчком на этом элементе управления. Элементы управления формы можно найти на панели инструментов Формы. Чтобы открыть эту па- нель инструментов, перейдите в строку меню и выполните команду Вид1^ Панели инструментов^Формы. В примере на рис. 11.3 показано, что клиентам предоставляется возмож- ность обновления сводной таблицы щелчком на кнопке. В этом случае нужно назначить макрос Ref reshData, записанный ранее, кнопке из панели инст- рументов Формы. После того как вы переместите кнопку в таблицу, откроется диалоговое окно Назначить макрос объекту, показанное на рис. 11.4. В нем этой кнопке назначается макрос. Выберите требуемый макрос и щелкните на кнопке ОК. Рис. 11.4. Выберите макрос, который нужно при- своить кнопке, и щелкните на кнопке ОК. В дан- ном случае следует применять макрос Refresh- Data Рис. 11.3. Откройте панель инстру- ментов Формы и выберите элемент управления Кнопка. Наведите ука- затель мыши на электронную табли- цу и щелкните левой кнопкой мыши На рис. 11.5 показана готовая к работе кнопка Обновить сводную таблицу, а также другие кнопки для демонстрации возможности назначения элемен- там управления рабочей книги нескольких макросов. Помните, что все эле- менты управления на панели инструментов Формы применяются точно так же, как и кнопка на формате — макросы назначаются им подобным образом.
Использование макросов для улучшения отчетов сводных таблиц 221 А в J REGION (Все) 2 3 Сумма по полю Revenue 4 CUSTOMER г Итог 5 PENSK Со. 1045374,807 6 AUTO Со. 178070.4957 7 MIDAS Со 173920,0551 8 GOODY Со. 141102,8822 “ пп пп Гл ..,11Л9П9О1_ с Обновить сводные данные | Вывести 20 лучших клиентов Вернуть в исходное состояние Е Рис. 11.5. Если вы используете множество макросов, то можете назначить каждый макрос отдельному элементу управления, а затем переименовать эти элементы управления После помещения всех необходимых элементов управления в отчет свод- ной таблицы вы можете отформатировать их и окружающую таблицу для соз- дания базового интерфейса. На рис. 11.6 показан отчет сводной таблицы по- сле форматирования. Рис. 11.6. Вы с легкостью можете создать пользовательский интерфейс с помощью макросов, нескольких элементов управления Формы и параметров форматирования Запись макросов в Excel 2002 и более поздних версиях программы Убедитесь, что макросы в распространяемом вами отчете сводной таблицы запи- саны в Excel 2002 или более поздней версии программы, поскольку созданный вами интерфейс может применяться некорректно в Excel 2000. Причина такого поведения в том, что после 2000 года корпорация Microsoft добавила в VBA но- вые объекты и параметры, которые не поддерживаются в Excel 2000. Например, если вы запишете макрос для обновления сводней таблицы в Excel 2003, то программа создаст следующий код. Act LveSheet. PivotTables ("PivotTableIм) , Pa vptCache.Refresh Тот же макрос, записанный в Excel 2000, имеет следующий код. ActiveSheet.PivotTables("PivotTable1").RefreshTable Поскольку выражения Объект. Метод (в данном случае PivotCache .Ref resh) в Excel 2000 не поддерживаются, макрос, сгенерированный в Excel 2003, не будет выполняться в Excel 2000. Существуепри способа решения этой проблемы. Создавайте макросы с помощью Excel 2000 (код Excel 2000 будет прекрасно выполняться в более поздних версиях Excel).
222 Глава 11 Введите условие использования отчетов сводных таблиц только в Excel 2002 или более поздней версии программы. Отредактируйте макросы вручную, чтобы обеспечить их совместимость с Excel 2000. Добавление в макрос функций В результате записи макроса программа Excel создает модуль, который хранит выполненные вами действия. Все записанные действия представляют- ся строками VBA-кода, из которых состоит макрос. Вы можете добавлять в от- четы сводной таблицы различные функциональные возможности, специально настроив VBA-код для получения требуемых результатов. Чтобы вам было легче понять, как все это работает, мы создадим новый макрос, выводящий пять первых записей о клиентах. Перейдите в строку ме- ню и используйте команду Сервис^ Макрос^ Начать запись. Откроется диа- логовое окно, показанное на рис. 11.7. После того, как вы начнете запись, щелкните правой кнопкой мыши в по- ле Customer и выберите команду Параметры поля. Щелкните на кнопке До- полнительно и введите настройки, как показано на рис. 11.8. Эти настройки указывают вывести данные пяти лучших по объемам продаж клиентов. Рис. 11.7. Задайте новому макросу имя GetTopNthCusts и выберите в качестве места его хранения Эта книга. Чтобы начать запись, щелк- ните на кнопке ОК Рис. 11.8. В окне Дополнительные параметры поля сводной таблицы настройте указанные параметры, чтобы отобразить пятерку лучших клиентов по прода- жам. Затем щелкните на кнопке ОК После успешной записи всех действий, требуемых для извлечения пятерки лучших клиентов по продажам, перейдите в строку меню приложения и вы- полните команду Сервис^Макрос^Остановить запись. Теперь у вас имеется макрос, который будет фильтровать сводную табли- цу для извлечения пятерки лучших клиентов по продажам. Необходимо сде- лать так, чтобы макрос реагировал на состояние полосы прокрутки, т.е. с помощью полосы прокрутки вы должны иметь возможность указывать мак-
Использование макросов для улучшения отчетов сводных таблиц 223 росу число клиентов, данные которого должны отображаться в отчете свод- ной таблицы. Таким образом, с помощью полосы прокрутки пользователь сможет извлекать пятерку лучших, восьмерку лучших или 32 лучших клиен- та по своему усмотрению. Чтобы добавить в электронную таблицу полосу прокрутки, активизируйте панели инструментов Формы, выберите элемент управления Полоса прокрутки и перетащите его в таблицу. В отличие от кнопки элемент управления Полоса прокрутки требует перед использованием ввода исходных настроек. Щелкните правой кнопкой мыши на полосе прокрутки и выберите команду Формат объ- екта. Откроется диалоговое окно Формат объекта, показанное на рис. 11.9. Рис. 11.9. После помещения полосы прокрутки в сводную таблицу щелкните на ней правой кноп- кой мыши и выберите команду Формат объекта Находясь в диалоговом окне Формат объекта, внесите следующие измене- ния в настройки: параметру Минимальное значение присвойте значение 1, параметру Максимальное значение — значение 200, а в поле Связь с ячей- кой введите значение $К$2, чтобы поместить полосу прокрутки в ячейку К2. Щелкните на кнопке ОК, чтобы применить указанные ранее настройки. Теперь щелкните правой кнопкой мыши на созданной полосе прокрутки и примените команду Назначить макрос, чтобы открыть диалоговое окно, по- казанное на рис. 11.10. Назначьте полосе прокрутки записанный макрос Ge t- TopNthCusts. Макрос будет выполняться каждый раз при щелчке на полосе прокрутки. Протестируйте полосу прокрутки. Когда вы щелкнете на полосе, должны выполниться следующие действия: запускается макрос GetTopNthCusts и изменяется число в ячейке К2 для отображения состояния полосы прокрутки.
224 Глава 11 Число в ячейке К2 играет важную роль, поскольку оно используется для при- вязки макроса к полосе прокрутки. Рис. 11.10. Щелкните правой кнопкой мыши на полосе прокрутки и используйте команду На- значить макрос. Выберите из списка макрос GetTopNthCusts и щелкните на кнопке ОК Единственное, что осталось сделать, это заставить макрос обрабатывать чис- ло в ячейке К2, эффективно связывая ее с полосой прокрутки. Для этого вы должны перейти к VBA-коду макроса. Используйте команду Сервис^ Макрос^ Макросы. Откроется диалоговое окно Макрос, показанное на рис. 11.11. В нем вы можете запускать, удалять и редактировать выбранный макрос. Чтобы полу- чить VBA-код макроса, выберите макрос и щелкните на кнопке Изменить. Им& макроса: Макрос Описание Macro recor d 3/27/2005 by mha Рис. 11.11. Чтобы получить доступ к VBA-коду макроса GetTopNthCusts, выберите послед- ний и щелкните на кнопке Изменить Как показано на рис. 11.12, на экране появится окно редактора Visual Basic с подробным VBA-кодом макроса. Ваша цель заключается в том, чтобы заме-
Использование макросов для улучшения отчетов сводных таблиц 225 нить строго заданное в коде число 5, устанавливаемое во время записи макро- са, значением в ячейке К2, которое привязано к полосе прокрутки. Рис. 11.12. Легко заметить, что число 5 строго задается в коде макроса. При- чина заключается в том, что вы изначально записывали макрос для извле- чения из базы данных лучшей пятерки клиентов по продажам Удалите в коде число 5 и введите вместо него следующее выражение. ActiveSheet .Range (11К211) .Value Теперь код макроса должен выглядеть так, как показано на рис. 11.13. Рис. 11.13. Удалите строго заданное число 5 и введите вместо него выражение Ac- tiveSheet . Range ("К2") .Value, представляющее собой ссылку на ячейку К2 Закройте редактор Visual Basic и вернитесь к отчету сводной таблицы. Про- тестируйте полосу прокрутки, перетащив ползунок до значения 11. Ваш мак- рос должен запуститься и отфильтровать 11 записей для лучших клиентов по продажам, как показано на рис. 11.14.
226 Глава 11 Рис. 11.14. После дополнительного изменения вы получите простой способ вы- вода данных о лучших клиентах Синхронизация двух сводных таблиц с помощью одного раскрывающегося списка Отчет на рис. 11.15 содержит две сводные таблицы. Каждая сводная таблица имеет поле страниц, позволяющее выбирать рынок, Проблема в том, что каждый раз при выборе рынка в поле страниц одной сводной таблицы вам приходится выби- рать тот же рынок в поле страниц другой сводной таблицы для анализа данных попй Unit Sold, а не Revenue. Рис. 11Л5. Две сводные таблицы содержат поля страниц, ко- торые выполняют фильтрацию данных по рынкам. Для анали- за дачных отдельного рынка нужно синхронизировав обе сводные таблицы
Использование макросов для улучшения отчетов сводных таблиц 227 нявм Один из способов синхронизации этих сводных таблиц состоит в использовании раскрывающегося списка. Идея заключается в записи макроса, который извлекает рынок из поля Market в обеих таблицах. Затем нужно создать раскрывающееся меню и заполнить его названиями рынков из двух сводных таблиц. И наконец, за- писанный макрос необходимо изменить для фильтрации обеих сводных таблиц, используя значения из раскрывающегося списка. ' Для решения этой задачи нужно выполнить следующие операции. 1. Создайте новый макрос и присвойте ему имя SynchMarkets. Когда начнется г запись, выберите в поле Market обеих сводных таблиц рынок California и остановите запись; * у ! vlflt > 1 . i - _ j ., ' < 2. Активизируйте панель инструментов Формы и поместите в таблицу раскры- вающеесяменю. , 1 I ,,, j 1А’Ц/. 3. Создайте строго заданный список веек рынков сводной таблицы. Заметьте, что первым элементом списка указывается значение (Все). Вы должны включить этот элемент, если хотите иметь возможность выбирать в раскрывающемся ме • ню все рынки. На этом этапе отчет сводной таблицы должен выглядеть так, как показано на рис. 11.16., -" nV . ' А 0 C Ш *: Q1 1 F G H _ — - о 1 1 . • ’ 4 Markets LmmJ Revenues (Al) M^nKET (Bee) > C Jtornia 4 Central 5 Revenue Quarters v Colorado 6 LINE OF 0USNESS ▼ Qtr1 Qtr2 Qtr3 Qtr4 Florida 7 Copier Sale 19 647 240 21 827116 22 391 657 22 515 676 Great Lakes 6 Parte 20 923 077 20 773 707 20 667 813 21 573 896 Gull Coast Printer Sale 16368 69C 16 975 476 17609516 17415088 tarxxs Ю Service Plan 147 352 Old 144 861 312 138 576 497 143 716 260 Inriars if Kentucky 12 Equipment Sales New England 13 MARKET (Все) T New York North 14 New York South 15 Unite SoM Q :erte* s V I North Carolina 16 M 5 OF BUSINESS ▼ «tri Qtr2 Qtr3 Qtr4 North V tost 17 Copier Sale 6630 7361 7485 7535 Ohio 13 Printer Sale 3464 3542 3655 3663 Shenandoah Valley 'У &! - * 1 is 1 'i.< lr *? "М Рис. 11.10. В вашем распоряжении есъ все требуемые средства; макрос., изме няющии поле Market обеих сводных таблиц, раскрывающееся меню и спи сок всех рынков, содержащихся в сводной таблице V t 4. Щелкните правой кнопкой мыши на раскрывающемся меню и выберите команду Формат объекта, чтобы выполнить исходную настройку элемента управления. - ' Вначале задайте исходный диапазон значений списка, используемого для за- » полнения раскрывающегося меню как показано на рисЛ1Л7. В данном случае речь идет о списке рынков, созданном вами в п. 3. Затем укажите ячейку, ото- бражающую порядковый номер выбранного элемента (в данном примере тако- вой является ячейка и). Щелкните на кнопке ОК г
22В Глава 11 Формат упра«л₽пия |4 t Защита । Свойства , Веб Элементуправленияj 1 f I..WiW«.u» .*м*Н*«*»». абонировать список по диапазону: |$Н$2:$Н$23 Седо с ячейкой: |$1$1 (£ойичастьо строь списка: |в V обМмное зэтянпние / Рис. 1117. Настройки раскрывающегося меню должны , указывать на список рынков как на исходный диапа- зон значений, а в качестве точки связывания опреде- лять ячейку 11 Теперь у вас появилась возможность выбирать в раскрывающемся меню рынок, а также определять связанный с ним порядковый номер в ячейке и (рис. 11.18). ш ? ь t г н 1 t i° г г ; *• г. о г m F G H I 1 1 Shenandoah Valley ▼ 1 Market» 17 2 (AM) з California *| California 4 Central 5 Quarter* wd Colorado 6 Qtr1 Qtr2 Qtr3 Qtr4 Florida 7 925 535 1 022 214 1 030 667 1 041 969 Great Lakes 81 2 072 970 2 251 661 2 291 06b 2104 330 Gun Coast 9 851 583 846 538 917 905 954 567 Illinois 21 11 679 049 11 333 974 10 892 843 11 419 861 Indiai ia Рис. 11.18. Раскрывающееся меню теперь заполняется названиями рын- ков с выводом порядкового номера выбранного рынка в ячейке и Примечание Единственными возвращаемыми данными элемента управления типа раскры- вающегося меню являются порядковые номера выбранных в них значений. На рис. 11.18 в результате выбора рынка Shenandoah Valley из раскрывающегося меню в ячейке 11 выводится индекс 17. Это означает, что значение Shenandoah Valley является 17-м элементом в раскрывающемся меню. Чтобы использовать этот порядковый номер, вам следует передать его с помощью функции индекс. Функция индекс преобразует порядковым номер в иаспознаваемоезначение.
Использование макросов для улучшения отчетов сводных таблиц 229 5. Введите функцию индекс, которая преобразует порядковый! номер из ячейки 11 в значение. Функция индекс требует для нормальной работы два аргумента. Первый аргу- мент представляет диапазон значений списка. В большинстве случаев вы бу- дете использовать тот же диапазон, когооым заполняется раскрывающееся ме- ню- Второй аргумент - это порядковый номер. Если порядковый номер вводит ся в ячейке (например, в ячейке и, как на рис. 1119), то вы можете просто сослаться на эту ячейку. 1 8 c P E '..F/ G H i J Market* -ИНДЕКС(Щ:Н23;11) y I 2 (AH) California Central Colorado Florida Greet Lake;, Gulf Coast lllinolr Indiana 1 3 California ▼ j 4 5 Quarter. ж! 6 Qtn Qtr2 Qtr3 Qtrd 7 - 8j 9 10 925 535 2 072 970 851 583 11 67Э049 1 022214 1030*67 1 041 969 2 251 661 2 291 0L8 2 104 330 846 538 917 905 954 567 11 333 974 V-892 843 11 419 861 Рис 11.19. Функция ИНДЕКС в ячейке II преобразовывает порядковый номер в ячейке 11 в значение. В конечном счете вы будете использовать значение в ячейке И для из- менения макроса 7 б. Отредактируйте макрос SynchMarkets, используя значение в ячейке 11 вме- сто строго заданного значения. Перейдите в строку меню и выполните команду Сервис^Макрос^Макросы. Выберите макрос SynchMarkets и щелкните на кнопке Изменить, как показано на рис. 11.20. Макрос Рис. 11.20. Чтобы получить доступ к VBA-коду мак- роса, выберите макрос SynchMarkets и щелкните на кнопке Изменить При записи макроса вы выбрали в обеих сводных таблицах из поля Market рынок California. Как видно из рис. 11.21, рынок California теперь строго задан в VBA-коде макроса. , .* - ;
230 Глава 11
Использование макросов для улучшения отчетов сводных таблиц 231 Рис. 11.23. Отчет сводной таблицы, готовый к иртользо ванию Дальнейшие шаги В главе 12 мы рассмотрим, как использовать язык программирования Visual Basic for Applications для создания эффективных средств специальных вычислений, предназначенных для применения в сводных таблицах.
Использование VBA для создания сводных таблиц Введение в VBA В Excel 5 впервые была реализо- вана поддержка нового макроязыка Visual Basic for Applications (VBA). Каждая копия Excel, начиная с 1993 года, содержит копию языка VBA, явно незаметную на рабочих листах. Включение VBA в Excel Если вы используете Excel 2000 или более позднюю версию програм- мы, то режим совместимости с VBA в ней может быть отключен. Перед началом работы с VBA следует вклю- чить поддержку макросов в диалого- вом окне Безопасность. Перейдите к строке меню и выполните команду Сервис^ Макрос^ Безопасность. Установите средний уровень безопасности макросов. Это позво- лит VBA выполнять макросы, но вам придется явным образом разре- шать их запуск при загрузке Excel. Редактор Visual Basic Для запуска редактора Visual Basic в Excel используйте комбинацию <Alt+Fll> или команду Сервис^ Макросы ^Редактор Visual Basic, как показано на рис. 12.1. Ниже описаны три основных раздела редактора Vi- sual Basic. Если вы работаете в VBA 12 В ЭТОЙ ГЛАВЕ Введение в VBA..........233 Профессиональные хитрости... 236 Версии программы........238 Создание сводной таблицы в VBA...........238 Отчет об объеме продаж по моделям товаров......245 Дополнительные проблемы.250 Трудности использования нескольких полей данных.256 Подведение итогов в полях данных с помощью группировки.......... 262 Специальные методики управления сводными таблицами...............266 Ручное управление порядком сортировки.....276 Функции СУММ, СРЗНАЧ, КОЛИЧЕСТВО, МИН, МАКС и другие................276 Процентные показатели..277 Дальнейшие шаги........281
234 Глава 12 впервые, то некоторые из этих элементов окна могут быть скрыты. Следуйте приведенным в списке инструкциям и отобразите все элементы. № Е<Г Inwt format yebuQ look frM-lrt Wndow fjdp введите аопрос • _ в X Е (G- “ЖМ) >r<jje<i vBAPio)e<t >| IF Min . ^tTvBAProfect (duptrrlZjdc) ; Й «^Mkrosoft Excel Jtjects I । Sheet! (PivotTable) № 5heet2 (Notes) > < Й TNsWorkbook fe> • Г IoJules /tModdel <%M0dJel S VBAPro feet («ample Function Ubraryjda) fo ЙЭ Mcrosoft EaCoI Objects j-в) Лист! (Sample Function Ur-ary) [этаКниг* Workbook CrsateSur Set PTCache “ ActlveWorkbook.PivotCaches.Add(SourceType: xlDatabase, Sourcebata:-PRange.Address) ’ Create the Pivot Table from the Pivot Tajhe Set PT PTCache.CreatePivotTable(TableDestination:*WSP Cells(2, FinalCol +2), TableName:-"PivotTel lei") * Turn off updating while building the table PT.BanualUpdate - True 1 Set up the PT.AddFields row fields RoWFleIds:-"Model", ColumnFleIde:-"Region" 1 Set. up the With PT.PivotFieldr("Revenue") .Orientation xlPatalield .Function - xlSur* .Position 1 End With data field* With PT . Columj-GranJ - False .RowGrnnd False .Nullstring ”0" End With 1 Calc the pivot table PT.ManualUpdate - False ГТ.Manus1Update • True * FT.TableRangeZ contains the results. Move these to J10 ’ as £ust valuer anu not a real pivot thble. PT.TableRange2.Offset(1, 0).Copy WSI>.Cells(5 + PT.rableRangei.Rows.Count, FlnalCol +2). PasteSpecial xlPasteVaxues * At chia point, the worksheet looks like figure 12.5 -IJ.S1—fe. .ЭДЕ .:й. .. ivuSiWi'H т» Рис. 12.1. Окно Visual Basic Editor включено в каждую копию Excel, созданную после 1993 года Project Explorer. На этой панели представляется иерархическая струк- тура всех открытых рабочих книг. Расширьте иерархическое дерево, чтобы видеть все рабочие листы и модули кода, представленные в рабо- чей книге. Если панель Project Explorer не видна на экране, то покажи- те ее с помощью комбинации клавиш <Ctrl+R>. Properties. Окно Properties играет важную роль при программирова- нии пользовательских форм. Оно также используется при написании стандартного кода и включается горячей клавишей <F4>. Code. Это область, где вы будете писать код. Код хранится в одном или нескольких модулях, присоединенных к рабочей книге. Чтобы добавить модуль кода в рабочую книгу, используйте команду Insert *=>Module. Инструменты Visual Basic Visual Basic — это мощная среда разработки приложений. Мы не станем подробно описывать все возможности VBA, а рассмотрим только самые важ- ные его инструменты.
Использование VBA для создания сводных таблиц 235 В процессе написания кода программа Excel может предложить вам выбирать ключевые слова из специального раскрывающегося списка возможных вариантов. Эта опция, называемая AutoComplete, позволя- ет создавать код быстрее и исключает образование ошибок ввода. Чтобы узнать смысл любого ключевого слова, установите в нем курсор и нажмите <F1>. Вам может понадобиться установочный компакт-диск, поскольку файл справки VBA не устанавливается с Excel по умолчанию. Программа Excel проверяет каждую строку кода после ввода. Строки с ошибками выделяются красным цветом. Комментарии выделяются зеленым цветом. Вы можете добавить комментарий, введя в начало строки апостроф. Используйте комментарии, чтобы описать назначе- ние каждого раздела кода. Несмотря на наличие описанной выше системы проверки ошибок вво- да, программа Excel может столкнуться с ошибкой на этапе выполне- ния кода. Если это произошло, щелкните на кнопке Debug (Отладка). Строка, вызвавшая ошибку, будет выделена желтым цветом. Наведите указатель на любую переменную, чтобы увидеть ее текущее значение. В режиме отладки используйте меню Debug для пошагового выполне- ния кода. Вы можете переключаться между Excel и VBA, чтобы увидеть эффект выполнения строки кода в рабочем листе. Другим эффективным средством отладки являются точки прерывания, окна Watch, Object Browser и Immediate. Информацию об этих средст- вах вы можете найти в справочной системе Excel. Функция записи макросов Программа Excel поддерживает использование функции записи макросов, эффективность которой составляет только 90%. К сожалению, остальные 10% приходятся на долю разочаровавшихся в ней пользователей. Программа, ко- торую вы записываете для работы с одним набором данных, будет содержать только строго заданные операции для управления только этим набором дан- ных. Это весьма эффективно, если обрабатываемая база данных занимает по- стоянный диапазон Al: К41550, но если ее размер каждый день изменяется, то записанный макрос не сможет обработать все его ячейки. Учитывая то, что иногда лучше управлять другими данными, было бы удобнее регистрировать выбранный в Excel диапазон с помощью клавиши <End>. Это один из недос- татков функции записи макросов. На самом деле, в программе Excel функция записи макросов используется очень часто, хотя и с последующим указанием очистки записанного кода. Понятие объектно-ориентированного кода Если вам доводилось ранее видеть только программный код языка BASIC, то записанный в VBA код будет выглядеть для вас несколько непонятным.
236 Глава 12 И не удивительно, ведь BASIC является процедурным языком программиро- вания, a VBA — объектно-ориентированный язык. Большинство строк VBA- кода вводятся согласно синтаксису Существительное.Глагол, который в VBA рассматривается как Объект. Метод. Объектами могут выступать рабо- чие книги, рабочие листы, ячейки или диапазоны ячеек. К методам могут от- носить операции в Excel, такие как .Copy, .Paste, .PasteSpecial. Мно- гие методы содержат “наречия” — параметры, применяемые для настройки выполняемых операций. Если вы видите конструкцию со знаком присвоения, то знайте, что она описывает работу данного метода. Еще один тип кода — это присвоение значений характеристикам объекта. В VBA эти характеристики называются свойствами. Например, когда вы вводите выражение Active- Cel 1. Font. Color Index = 3, то указываете окрасить текст активной ячей- ки в красный цвет. Отметим, что для управления свойствами используются только знаки равенства и присвоения. Профессиональные хитрости Чтобы написать эффективный VBA-код, вам нужно изучить несколько простых методик. Написание кода обработки диапазонов данных любых размеров Функция записи макросов строго определяет диапазон управляемых данных, например, Al: К41550. Хотя такой код эффективно работает с текущим набо- ром данных, он может стать неприменимым к новым наборам данных. Напи- шите код, который сможет управлять наборами данных различных размеров. Для ссылки на ячейку функция записи макросов использует синтаксис Range("Н12"). Однако есть более эффективный способ создания ссылки, к примеру, на ячейку в строке 12 столбца 8, заключающийся в применении синтаксиса Cells (12, 8). Подобным образом, функция записи макросов будет ссылаться на прямоугольный диапазон ячеек с помощью синтаксиса Range (" Al: К415 5 0"). Однако для большей гибкости следует применить ме- тод Cells () для указания верхнего левого угла диапазона, а затем метод Resize () для определения количества строк и столбцов в диапазоне. Альтер- нативный синтаксис описания предыдущего диапазона имеет следующий вид: Cells(l, 1).Resize(41550, 11). Этот способ обеспечивает большую гибкость, поскольку появляется воз- можность заменить любое число переменной. В пользовательском интерфейсе Excel вы можете использовать клавишу <End> на клавиатуре для перехода в конец диапазона данных. Если поместить курсор в итоговую строку рабочего листа и нажать <End>, то указатель перейдет в послед- нюю строку данных. В VBA эквивалентный код имеет следующий вид. Range("А65536").End(xlUp).Select
Использование VBA для создания сводных таблиц 237 Вам не нужно выбирать саму ячейку — требуется лишь определить номер последней строки. Следующий код указывает строку и сохраняет ее номер в переменной FinalRow. FinalRow - Range("А65536").End(xlUp).Row В имени переменной FinalRow нет ничего магического. Этой переменной можно присвоить другое имя, например, х, у или любое другое. Однако по- скольку в VBA лучше использовать описательные названия переменных, то для описания итоговой строки рекомендуется использовать такие имена, как FinalRow. Примечание Программа Excel поддерживает использование в листе 65536 строк и 256 столб- цов. Многие ожидают, что Microsoft в будущих версиях Excel увеличит макси- мальное количество поддерживаемых строк и столбцов. Чтобы обеспечить дос- таточную гибкость кода, предназначенного для обработки данных в новых верси- ях Excel, поможет понадобиться использовать метод Application. Rows. Count. Чтобы определить поддерживаемое программой количество строк, предыдущий код можно изменить следующим образом. FinalRow Cells(Application.Rows.Count, 1).End(xlUp).Row Вы также можете определить последний столбец в наборе данных. Если вы точно уверены, что набор данных начинается со строки 1, то можете ис- пользовать клавишу <End> в комбинации с клавишей со стрелкой влево, чтобы перейти от ячейки IV1 к последнему столбцу данных. Чтобы выяс- нить поддерживаемое количество столбцов в Excel, можно использовать следующий код. FinalCol - Cells(lr Application.Columns.Count).End(xlToLeft).Column Комбинации клавиш <End+i> и <End+t> Вас наверняка заинтересует метод определения последней строки диапазона, начинающегося в ячейке А1, с использованием клавиши <End-H>. Не приме- няйте этот метод, поскольку данные, передаваемые из другой системы, могут оказаться неполными. Если программа последние пять лет импортирует 50000 строк из унаследованной компьютерной системы, то в один прекрасный момент в набор данных будет помещено нулевое значение. Это приведет к образованию пустей ячейки или даже строки в середине набора данных. На этой ячейке пере- станет выполняться выражение Range (“Al”) ,End(xlDown), что приведет к потере остальных данных. Существование пустой ячейки может привести к то- му, что в ежедневном отчете будут отсутствовать тысячи строк данных, чю по- дор! ет доверие к отчету и к вам лично. Выполните дополнительную операцию и начните просмотр с последней строки рабочего листа, чтобы снизить вероят- ность возникновения ошибок.
238 Глава 12 Использование переменных объектов В популярных языках программирования переменная содержит одно зна- чение. Для присвоения значения 4 переменной х можно использовать выра- жение х = 4. Рассмотрим отдельную ячейку в Excel. Существует много свойств, описы- вающих ячейку. Ячейка может содержать числовое значение, для нее указыва- ется размер и цвет шрифта, строки, столбца, определяется формула, примеча- ние и т.п. В VBA можно создать “суперпеременную”, которая будет содержать всю информацию о ячейке или даже целом объекте. Выражение х = Range ("Al") присваивает переменной х текущее значение ячейки А1. Для создания переменной объекта используется ключевое слово Set. Set х = Range("Al) Вы создали “суперпеременную”, которая содержит все свойства ячейки. Вместо использования переменной с одним значением можно работать с пе- ременной, в которой предоставляется доступ к значениям многих свойств, связанных с этой переменной. Вы можете использовать выражение х. Formula, чтобы увидеть формулу в ячейке А1, или х. Font. colorindex для определения цвета ячейки. Версии программы Сводные таблицы со временем развивались. Они появились в Excel 5 и бы- ли усовершенствованы в Excel 97. В Excel 2000 принцип создания сводных таблиц с помощью VBA был сильно изменен. Некоторые новые параметры были добавлены и в Excel 2002. Поэтому при написании кода управления сводными таблицами в Excel 2003 нужно проявлять осторожность, чтобы этот код можно было выполнять в Excel 2000 или Excel 97. Изменение всего нескольких простых настроек будет гарантировать выполне- ние кода, созданного в Excel 2003, в Excel 2 но тщательнее всего нужно подой- ти к вопросу выполнения кода Excel 2003 в Excel 97. Поскольку с момента выхода Excel 97 прошло более девяти лет (и поскольку компания Microsoft не осуществля- ет поддержку этого программного продукта уже более пяти лет), в этой главе вни- мание будет уделено лишь управлению кэшем сводной таблицы, который появил- ся в Excel 2 В конце главы мы вкратце опишем мастер сводных таблиц, кото- рый остается единственным методом выполнения кода в Excel 97. Создание сводной таблицы в VBA Мы не предлагаем рядовым пользователям использовать VBA для создания сводных таблиц, однако сводные таблицы можно (и нужно) использовать как средство получения окончательных результатов. Вы можете применить свод- ную таблицу для подведения итогов по набору данных, а затем использовать эти итоги в других расчетах.
Использование VBA для создания сводных таблиц 239 Совет Листинги программных кодов из этой главы можно найти по адресу http:// www.MrExcel.com/pivotbookdata.html. В Excel 2000 и выше вначале следует создать объект кэша сводной таблицы для описания области ввода данных. Dim WSD As Worksheet Dim PTCache As PivotCache Dim PT As PivotTable Dim Prange As Range Dim FinalRow As Long Dim FinalCol As Long Set WSD = Worksheets("PivotTable") ' Удаление всех предыдущих сводных таблиц For Each PT In WSD.PivotTables PT.TableRange2.Clear Next PT ' Описание области ввода данных и определение кэша FinalRow = WSD.Cells(Application.Rows.Count, 1).End(xlUp).Row FinalCol= WSD.Cells(l, Application.Columns.Count). End(xlToLeft).Column Set PRange = WSD.Cells(l, 1).Resize(FinalRow, FinalCol) Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _ SourceData:=PRange После определения кэша сводной таблицы используйте метод Сге- atePivotTable для создания пустой сводной таблицы на основе выделен- ного ранее кэша. / Set PT = PTCache.CreatePivotTable(TableDestination:=WSD.Cells (2, _ FinalCol + 2), Tab1eName:="PivotTablel") В методе CreatePivotTable вы указываете расположение выходных данных и (не обязательно) определяете имя таблицы с несколько странным видом. После выполнения этой строки кода вы получите пустую сводную таб- лицу, как показано на рис. 12.2. Рис 12.2. Сразу же после использова- ния метода CreatePivotTable про- грамма Excel создаст пустую сводную таблицу, состоящую из четырех ячеек, которая в подобном виде особой ценности не представляет. Теперь вам нужно использовать программный код для помещения в таблицу поля
240 Глава 12 Если в пользовательском интерфейсе для создания сводной таблицы вы использовали диалоговое окно Макет, то программа не станет вновь вычис- лять сводную таблицу после перетаскивания в таблицу каждого поля. По умолчанию VBA в Excel вычисляет сводную таблицу после выполнения каж- дого этапа построения макета таблицы. Таким образом, сводная таблица будет вычисляться много раз, пока не будет получен итоговый результат. Чтобы ус- корить выполнение кода, временно отключите вычисление сводной таблицы с помощью свойства Manualupdate. PT.ManualUpdate • True Теперь можно выполнять все операции по компоновке сводной таблицы. В методе . AddFields указывается одно или несколько полей, которые долж- ны находиться в области строк, столбцов или страниц сводной таблицы. ' Установка полей строк и столбцов PT.AddFields RowFields:«Array("Line of Business", "Model"), _ ColumnFields:«"Region" Чтобы добавить поле Revenue в область данных сводной таблицы, при- свойте свойству Orientation поля значение xlDataField. Получение суммы вместо количества По большому счету Excel — это весьма продуманная программа. При соз- дании отчета о продажах она предполагает, что вы хотите просуммировать объемы продаж. На определенном этапе это может стать проблемой. Предпо- ложим, что одна из ячеек с данными о продажах случайно осталась незапол- ненной. При создании сводной таблицы, даже если 99,9% ячеек содержат чи- словые данные, программа предположит, что в исходном диапазоне присутст- вуют как числовые, так и текстовые значения, поэтому примется за подсчет количества полей. Это, конечно же, порядком раздражает: вы ожидаете, что числовые данные имеют все 100% ячеек. С другой стороны итоговые значения сводной таблицы часто представляются нечисловыми ячейками. Создавая сводную таблицу с помощью средств графического интерфейса Excel, будьте предельно внимательны при настройке макета в диалоговом окне Макет. Легко заметить, что вместо Сумма по полю Revenue выводится значение Количество по полю Revenue. В таком случае правильней всего будет вернуться и изменить рассчитываемые данные, но обычно пользователи довольствуются двойным щелчком на кнопке Количество по полю Reve- nue и изменяют вычисления на Сумма по полю Revenue. В VBA вы всегда должны явно указывать, что хотите подсчитать сумму объе- мов продаж, присвоив свойству Function значение xlSum. ' Настройка полей данных With PT.PivotFieIds("Revenue") .Orientation = xlDataField .Function = xlSum .Position = 1 End With
Использование VBA для создания сводных таблиц 241 На этом этапе вы произвели все необходимые настройки VBA, требуемые для корректного создания сводной таблицы. Если вы присвоите свойству ManualUpdate значение False, то программа Excel выполнит заданные вы- числения и выведет сводную таблицу. Сразу после этого вы можете вновь при- своить свойству значение True. ' Вычисление сводной таблицы PT.ManualUpdate False PT.ManualUpdate True Готовая сводная таблица показана на рис. 12.3. M сумм, лопин? REVENUE N _ 0 REGION ₽ - Q R Йог eJSINE^ MODEL▼ Wftt North South ОЦщий итог 4 Copier Salt 760ПС 23976601 2589361 36711470 66561689 6 Copier Salt Итог t 23976601 25693616 30711470 0668166? 6 Parte 3002C 6674090 4155214 5334767 15164071 7 X02P 9826610 15625624 14960240 40312724 4066T 3641464 4167167 4778067 12776БВВ 5001C 2996809 37729ВЭ 447/480 11747152 Ю 6001P 133121H 1451983 1654665 4437658 11 Partt итог 23670063 29063171 31205269 63936493 12 Printer Salt 2fflOP 19694197 20621317 28153264 88388778 13, [Printer Sale Итог 19694197 20621317 26163264 68368778 14 16 16 Service Plan 3002C 3002P 45000 16666085 55532410 46967756 22435672 90867809 84532173 27317650 98282491 76674819 66608307 244682710 188174747 17 4600P 1249362 8707268 7662069 17518709 ie 6001C 4623163 2670363 2538423 9831989 19 6001P 24113465 17201336 11374836 47689637 20 Service Plan Итог 149341261 201414511 223760307 574506079 21 Общий итог 216562112 276992617 319820310 813395039 Рис. 12.3. Менее 50 строк кода создают сводную таблицу в течение всего одной секунды Ниже приведен конечный код, используемый для генерирования сводной таблицы. Sub CreatePivot() Dim WSD As Worksheet Dim PTCache As PivotCache Dim PT As PivotTable Dim PRange As Range Dim FinalRow As Long Set WSD Worksheets("PivotTable") ' Удаление предыдущих сводных таблиц For Each PT In WSD.PivotTables PT.TableRange2.Clear Next PT * Описание входных данных и определение кэша сводной таблицы FinalRow « WSD.Cells(Application.Rows.Count, 1).End(xlUp).Row FinalCol « WSD.Cells(l, Application.Columns.Count). _ End(xlToLeft).Column Set PRange = WSD.Celled, 1) .Resize (FinalRow, FinalCol) Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:= _ xlDatabase, SourceData:=PRange)
242 Глава 12 ' Создание сводной таблицы на основе кэша Set PT = PTCache.CreatePivotTable(TableDestination:=WSD. _ Cells (2, FinalCol + 2), TableName: =’'PivotTablel") ' Отключение обновления во время создания сводной таблицы PT.ManualUpdate = True ’ Задание полей строк и столбцов PT.AddFields RowFields:=Array("Line of Business", "Model"), ColumnFields:="Region" ' Задание поля данных With PT.PivotFields("Revenue") .Orientation A xlDataField .Function = xlSum .Position = 1 End With ' Вычисление сводной таблицы PT.ManualUpdate = False PT.ManualUpdate = True End Sub Невозможность перемещения или изменения части отчета Несмотря на всю эффективность сводных таблиц, они имеют некоторые ограничения на применение. Вы не сможете перемещать или изменять только часть сводной таблицы. Попытайтесь, к примеру, запустить макрос, который удаляет столбец R, содержащий значение Общий итог. Макрос тут же извес- тит вас о том, что возникла ошибка 1004, как показано на рис. 12.4. Рис. 12.4. Невозможно удалить только часть сводной таблицы. Чтобы обойти это ограни- чение, вы должны заменить итоги сводной таблицы на одни лишь значения Размер готовой сводной таблицы Довольно сложно заранее предсказать размер сводной таблицы. Если вы каждый день выводите отчет по данным транзакции, то можете иметь, а може- те и не иметь в наличии данных по объемам продаж, к примеру, для западного региона. Тогда сводная таблица может включать либо пять, либо шесть столб-
Использование VBA для создания сводных таблиц 243 цов. Поэтому вы должны использовать специальное свойство TableRange2 для обращения к результирующей сводной таблице. Ввиду ограничений, накладываемых на применение сводной таблицы, вы в общем случае должны скопировать итоговые значения сводной таблицы в но- вое место рабочего листа, а затем удалить исходную сводную таблицу. Метод CreateSummaryReportUsingPivot () создает небольшую сводную табли- цу. Для того чтобы предотвратить добавление в таблицу итогов, присвойте свойствам ColumnGrand и RowGrand таблицы значение False. Свойство PT. TableRange2 содержит всю сводную таблицу. В данном слу- чае оно включает верхнюю дополнительную строку с кнопкой Сумма по полю Revenue. Чтобы исключить эту строку, в коде выполняется операция копиро- вания свойства PT.TableRange2 со смещением выделения на одну строку с помощью свойства .Offset(l, о). В зависимости от типа сводной таблицы может потребоваться смещать выделение на две или несколько строк, чтобы избавиться от дополнительной информации в верхней части таблицы. В коде не только копируется свойство PT. TableRange2, но и выполняет- ся метод PasteSpecial ячейки, расположенной на три строки ниже сводной таблицы. На этом этапе рабочий лист должен выглядеть так, как показано на рис. 12.5. Таблица в ячейке М2 представляет реальную сводную таблицу, а таб- лица в ячейке Ml 6 содержит всего лишь скопированные итоговые сведения. м N I 0 P J ТЗ Cvmmq по полю REVENUE REGION ♦ 1 3 4 MfiDEL * W^st North South } [2500С 23976601 25893618 36711470} 5 »2600Р 19594197 20621317 28153264} fl |П002С 22529175 26590’86 32652417} т* [3002Р 65359020 106393633 1132427811 $ [405ПТ 2841454 4157167 47’8067? 9 I4500C 46967756 64532173 76674818? id* I4500P 1249362 8707258! 7562089 11 [5001С 7619872 6443345 7015903 12 15001Р 25444675 13653319 13029501} м 15 16 i MODEL West North South 23976601 25897^16 36711470 19594197 20621317 28153254 W9175 4 «786 32652417 65359020 1D3393td3 113242761 3841454 4157167 4’T8067 4^ 7756 64532173 76674818 1249362 87Q725f 75626c) 7619672 £443346 7015903 25444675 19653319 13029601 I7 ш ,1.3j ~21~ 23 .И 25 1 ***• 250QC 250ПГ Ч002С »< Э002Р ЛЛ 4500С 5081С sooir Рис 12.5. Моментальный результат выполнения макроса. После окончания работы макрос выводит только итоговые данные в диапазоне М16: Р25 В дальнейшем можете полностью очистить сводную таблицу, применив ко всей таблице метод Clear. Перед дальнейшей настройкой новой таблицы вам
244 Глава 12 следует удалить кэш старой сводной таблицы из памяти, назначив свойству PTCache значение Nothing. Sub CreateSummaryReportUsingPivot О ' Использование сводной таблицы для создания статического ' отчета с моделью в строках и регионами в столбцах Dim WSD As Worksheet Dim PTCache As PivotCache Dim PT As PivotTable Dim PRange As Range Dim FinalRow As Long Set WSD Worksheets("PivotTable") ' Удаление предыдущих сводных таблиц For Each PT In WSD.PivotTables PT.TableRange2.clear Next PT ' Определение области ввода данных и установка сводного кэша FinalRow WSD.Cells(Application.Rows.Count, 1).Hnd(xlUp).Row FinalCol WSD.Celled, Application.Columns.Count). _ End(xlToLeft).Column Set PRange WSD.Celled, 1) .Resize (FinalRow, FinalCol) Set PTCache ActiveWorkbook.PivotCaches.Add(SourceType: _ xlDatabase, SourceData:«PRange.Address) ' Создание сводной таблицы на основе кэша Set РТ PTCache.CreatePivotTable(TableDestination:«WSD. _ Cells(2, FinalCol + 2), TableName:«"PivotTablel") ' Отключение обновления на время создания таблицы PT.ManualUpdate True ' Определение поля строк PT.AddFields RowFields:«"Model", ColumnFields:«"Region" ' Определение поля данных With PT.PivotFields("Revenue") .Orientation xlDataField .Function xlSum .Position « 1 End With With PT .ColumnGrand » False .RowGrand » False .Nullstring « "0" End With ' Вычисление сводной таблицы PT.ManualUpdate = False PT.ManualUpdate = True ' PT.TableRange2 содержит выводимые результаты. Они ' помещаются в ячейку J10, как значения, а не реальная ' сводная таблица PT.TableRange2.Offset(1, 0).Copy
Использование VBA для создания сводных таблиц 245 WSD.Cells(5 + PT.TableRange2.Rows.Count, FinalCol + 2). PasteSpecial xlPasteValues ' На этом этапе рабочий лист должен выглядеть так, ' как показано на рис. 12.5 ' Очистка исходной сводной таблицы и ее кэша PT.TableRange2.Clear Set PTCache = Nothing End Sub Этот код создает сводную таблицу. Затем он копирует результаты в виде значений и вставляет их в диапазон М16: Р25. На рис. 12.5 показан результат, полученный непосредственно перед очисткой исходной таблицы. До сих пор мы создавали только простые отчеты сводных таблиц. Но свод- ные таблицы обеспечивают намного большую гибкость. Давайте рассмотрим несколько более сложных примеров отчетов. Отчет об объеме продаж по моделям товаров Типичный отчет должен содержать список моделей с объемами продаж за год. Этот отчет можно передать менеджерам, подытожив, какие модели това- ров продаются лучше всего. В данном примере модели представляются в по- рядке убывания объема продаж по годам. Пример отчета показан на рис. 12.6. »! А В C i D E 1 Revenue by Market and Year __ ' 2 X 3 LINE OF BUSINESS MARKET 2006 2007 Общий итог в * 4 Copier Sale California 1 946K 2 075K 4 020k 5 Copier Sale Central US 1 766K 1 741К 3 507k 6 Copier Sale Colorado 1 274K 1 840k 3114k 7 Copier Sale Florida 1 727k 2 057k 3 784k 1 930k: 6 Copier Sale Great Lakes P86K 1 043K 9 Copier Sale Gulf Coast 2 921К 2 91» -K 5 831k id Copier Sale Illinois 1 503k 1 486K 2 990k 11 Copier Sale Indiana 1 748K 1 869k 3 617k 12 Copier Sale Kentucky 2 564K 3 338K 5 872K 13 Copier Sale New England 3176K 3176k 14 Copier Sale New York North 1 761kj 2 172k 743k! 899k 3 933k 15 Copier Sale Nev/ York South 1 642k 16 Copier Sale North Carolina 1 512 249k 3 763k 17 Copier Sale North West 1 444K 1 735k 3 179k 18 Copier Sale Ohio 3 892K 1 326k 5 217k 19 Copier Sale Shenandoah Valley 1 994K 2 251К 4 245k 20 Copier Sale South Carolina 2 657K 3 095K 5 751k 21 Copier Sale Southwest 2175K 2 357k 4 532k 22 Copier Sale Tennessee 2 968K 3 356K 6 324k 23 Copier Sale Texas 2 193k 2 338k 4 531k 24 Copier Sale Topeka 2 657k 2 968k 5 625k 25 Copier Sale Итог 40 332K 46 250k 86 582k Рис. 12.6. Типичный запрос менеджеров заключается в использо- вании данных о транзакциях для создания итогового отчета по моделям товаров. Вы можете использовать сводные таблицы по- лучения 90% этого отчета, а затем слегка перенастроить его для вывода окончательного результата
246 Глава 12 Ключ к эффективному выводу данных состоит в использовании сводной таблицы. Несмотря на то, что подведение итогов по данным — это “конек” сводных таблиц, они все же не лишены недостатков, а уровень презентации данных желает оставаться лучшим. Итоговые данные редко представляются в виде, понятном для менеджеров по продажам. Как правило, трудности свя- заны с разрывами страниц между товарами в сводной таблице. Чтобы создать необходимый отчет, выведите сводную таблицу с полем Line of Business и Market в области строк, полем In Balance Date, сгруппированным по годам, в области столбцов, и полем Revenue в области данных. На рис. 12.7 показана сводная таблица по умолчанию, созданная с указанными выше настройками. J j N _ О P Q 2 Сумма по полю REVENUE! IN BALANCE ПАТЕ ж 3 UNF OF BUSINESS MARKET v 2006 2G'7 Общий итог 4 Copier Safe California 1945645 2074740 402СЭ85 '"Г Central US 1765979 1740738 3506717 6 Colorado 1273806 1839783 3113591 7 Florida 1726585 2057032 3783617 Ь Great Lakes 886356 1043161 1929617 9 Gulf Coast 2920984 2909904 5630888 10 Illinois 1503380 1466388 2989768 11 Indiana 1747801} 1868866 3616687 12 Kentucky 2564272 3308158 5872430 Ч New England 3175850 3175850 14 New York North 1760975 2171906 3932881 15 New York South 742995 B98975 1641970 16 North Carolina 1513984 2249174 3763158 17 North West Т44Э962 1735179 3179141 18 Ohio 3891500 1325633 5217133 19 Shenandoah Valley 1994123 2250647 4244770 20 South Carolina 2656626 3094871 5751497 21 Southwest 2174879 2357268 4532147 22 Tennessee 2968320 "*355517 6323837 23 Texas 2192673 2338412 4531085 24 Topeka 2657004 2967616 5624620 25 Copier Sale Итог 40331851 46249838! 86581689 Рис. 12.7. Используйте сводные таблицы для получения итоговых данных, а затем отформатируйте отчет согласно собственным требованиям Далее описано несколько поведенческих характеристик, приемлемых для большинства сводных таблиц по умолчанию. Режим структуры очень неудобен. На рис. 12.7 значение Copier Sale появляется в столбце товаров только один раз, после чего выводится 20 пустых ячеек. Это наихудший из недостатков сводных таблиц, причем нет никакого способа его исправить. Несмотря на то что выведенный раздел содержит ряд данных об объемах продаж копировальных аппа- ратов, будет весьма неприятно, если раздел Copier растянется на две или три страницы. Страница 2 начинается без каких-либо упоминаний о том, что она содержит отчет о продажах копировальных аппаратов. Если вы намерены перенастроить данные, то выведите значения Co- pier Sales в каждой строке.
Использование VBA для создания сводных таблиц 247 Отчет содержит пустые ячейки вместо нулевых значений. На рис. 12.7 показано, что клиент New England не закупал копировальные устрой- ства в 2006 году. Программа Excel создает сводную таблицу, в которой ячейка 013 оказывается пустой вместо того, чтобы содержать нулевое значение. Данная форма, откровенно говоря, никуда не годится. В Ex- cel диапазон выделяется с помощью клавиши <End> и клавиш со стрелками. Пустые ячейки лишают пользователей возможности с по- мощью указанного метода выделить все необходимые ячейки. Названия нескольких столбцов и полей не всегда удовлетворяют запро- сам пользователей. Некоторые надписи лишние. Текст In Balance Date в ячейке 02 на рис. 12.7 явно не относятся к самому отчету. Порядок сортировки в алфавитном порядке не всегда приемлем. Так, менеджеры по продажам часто настаивают на том, чтобы в верхней части списка были помещены названия наиболее выгодных рынков сбыта. Будет лучше, если отчет отсортировать в порядке убывания объе- мов продаж. Разграничение отчета оставляет желать лучшего. Программа Excel соз- дала столько границ, что отчет иногда бывает трудно понять. По умолчанию используется числовой формат Общий. Намного лучше разделить разряды запятыми или представить значения в тысячах или миллионах. Сводные таблицы не имеют разумной логики использования разрывов страниц. Например, если требуется создать отчет для каждого менед- жера по отдельности, не существует быстрого метода вывода данных о каждом товаре на новой странице. Проблема нелогичности вставки разрывов страниц вызывает острое желание отказаться от строк с промежуточными суммами сводных таб- лиц и прибегнуть к методу Subtotal для добавления промежуточных итогов с собственными разрывами страниц. В таком случае отключите строки промежуточных сумм сводных таблиц, выводимые в поле Line of Business, как показано на рис. 12.7. Эти строки автоматически выводятся при наличии двух или большего количества полей строк. Ес- ли в таблице имеется четыре поля строк, вы можете отключить автома- тические промежуточные суммы для трех из них. Даже несмотря на описанные проблемы, встречающиеся в сводных табли- цах по умолчанию, с ними все же имеет смысл работать. Каждое препятствие можно преодолеть либо используя специальные инструменты в сводной таб- лице, либо выполнив несколько строк кода после создания и копирования сводной таблицы в стандартный набор данных.
248 Глава 12 Исключение пустых ячеек из области данных Пользователи стали выражать недовольство по поводу пустых ячеек, включае- мых сразу же после создания сводных таблиц. Любой, кто работает с Excel 97 и выше, с легкостью может заменить пустые ячейки нулями. В пользовательском интерфейсе соответствующие настройки устанавливаются в диалоговом окне Па- раметры таблицы. Установите опцию Для пустых ячеек отображать 0. Эквивалентной операцией в VBA является присвоение свойству Null- String сводной таблицы значения 0. Примечание Хотя в коде свойство принимает текстовый нуль, программа Excel помещает в пустые ячейки реальный числовой нуль. Управление порядком сортировки с помощью опции Автосортировка Пользовательский интерфейс Excel содержит функцию Автосортировка, которая позволяет выводить рынки в порядке уменьшения объема продаж. В эквивалентном VBA-коде для сортировки поля клиентов в порядке умень- шения объемов продаж используется метод AutoSort. PT.PivotFielda("Line of Business").AutoSort Order:=xlDescending,_ Field:="Sum of Revenue" Числовой формат по умолчанию Чтобы изменить в пользовательском интерфейсе числовой формат, дважды щелкните на заголовке Sum of Revenue, щелкните на кнопке Число и ука- жите необходимый числовой формат. При работе с большими числами имеет смысл отображать разделитель ты- сяч. Чтобы установить его в VBA, используйте следующий код. PT.PivotFields(Sum of Revenue").NumberFormat = "#,##0" Некоторые компании обслуживают клиентов, которые совершают закупки на тысячи или миллионы долларов. Для того чтобы вывести числа в тысячах, используйте запятую или пробел в числовом формате, либо добавьте аббре- виатуру К для указания вывода чисел в тысячах. PT.PivotFields("Sum of Revenue").Number Format = "#,##0,K Сокращение до тысяч диктуется внешними обстоятельствами. Если вы ра- ботаете в сравнительно молодой компьютерной фирме, в которой все исполь- зуют К как разделитель тысяч, то вам повезло, поскольку корпорация Micro- soft приветствует использование этой аббревиатуры. Однако если вы работаете в компании со столетним стажем, где для тысяч используется аббревиатура М, а ММ соответствует миллионам, то вам придется прибегнуть к хитрости. Перед символом М введите обратную косую черту. PT.PivotFields("Sum of Revenue").NumberFormat =
Использование VBA для создания сводных таблиц 249 В качестве альтернативы можете поместить М в двойные кавычки. Чтобы ввести двойные кавычки в строке с кавычками VBA-кода, нужно поместить две последовательных кавычки. Чтобы установить числовой формат в десят- ках миллионов в виде #,##0.0, , "ММ", необходимо ввести следующую строку кода. PT.PivotFields("Sum of Revenue").NumberFormat = ”#,##0.0,,""M"”" Три кавычки в конце строки введены без ошибки. Две кавычки имитируют ввод одной кавычки в записи числового формата, а последняя кавычка завер- шает строку VBA-кода. Исключение промежуточных сумм в нескольких полях строк Если вы создадите несколько полей строк, программа Excel автоматически добавит промежуточные суммы почти для всех этих полей. Однако необходи- мости во всех этих промежуточных суммах нет. Хотя вручную исключить про- межуточные суммы довольно просто, VBA-код, требуемый для выполнения этой задачи, неожиданно оказывается весьма сложным. Свойству Subtotals следует присвоить массив из 12 значений False. Все необходимые сведения по этому вопросу вы найдете в справочной системе по VBA, здесь приведено только краткое их описание: первое значение False отключает промежуточную сумму Количество и т.д. Заметьте, что отключить нужно все 12 возможных промежуточных сумм, даже если Excel отображает только одну из них. Ниже показана строка кода для исключения промежуточ- ной суммы Product. PT.PivotFields("Line of Business").Subtotals Array(False, False, _ False, False, False, False, False, False, False, False, False, False) Второй метод состоит во включении первой промежуточной суммы. При этом 11 других промежуточных сумм автоматически отключаются. Отключите первую промежуточную сумму, чтобы убедиться в том, что все промежуточные суммы отключены. PT.PivotFields("Line of Business").Subtotals (1) - True PT.PivotFields("Line of Business").Subtotals (1) - False Исключение итоговых сумм для строк Поскольку вы собираетесь использовать VBA для добавления автоматиче- ских промежуточных сумм, то можете избавиться от строки Общий итог. Ес- ли вы отключите сумму Общий итог для строк, то отключите и столбец Общий итог. Таким образом, чтобы избавиться от строки Общий итог, вы должны сбросить флажок Общий итог для столбцов. В коде эта задача вы- полняется следующей строкой. PT.ColumnGrand = False
250 Глава 12 Дополнительные проблемы Итак, вы внесли в сводную таблицу все возможные изменения. Чтобы по- лучить итоговый отчет, потребуется внести последние правки уже после пре- образования сводной таблицы в обычные данные. На рис. 12.8 показана сводная таблица со всеми изменениями, описанны- ми в предыдущих разделах с использованием свойства PT. TableRange2. м N ' ” 0 P O 1 2 Сумпа по полю REvENUE f-г ГучйЗй IN BALANCE: DATE ▼ 1 3 LINE OF BUSINESS ▼ MARKET * 2U0L aw-T - " ОбЩИИ ИТОГ 4 Copier Sale California 1 948k 7P75K1 4020K1 5 Central US ' 1 768k 1 741k 3 507K- 6 Colorado 1274K 1840K 3 114k 7 Florida 1 727K 2057k 3784k 8 Grent Lakes 104ЭИ 1930k 9 Gulf Coast 2921K 2910k 5631k 10 Illinois 1603K 1486K 29901 11 , v Z " l: =-/' , “ 4 C r 7‘ . i ‘Ws 18feh 3617 12 Kentucky 2564k 3 308k 6872K 13 New England 4 , 3176K Э176К 14 New 7ori< Nortn 1 761K 2172k 3933K 15 Nev York South 7W 0ЧЧ& 1 642k. 16 North Carolina 1514K 2249k 37631 17 North West 1 444k 1733k 31791 18 Ohw Э892К 1326R 62i7: 19 ShenandoahValley 2251K 4245 k 20 South Carolina 2657K 3096!< 5 761k 21 Southwest 2175k 2Э57К 4632k 22 Tenne sser 4 «toots 3356R. 6324k 23 Texas 2193K 23J8K 4 53Ш 24 Topeka 2657K 2 969^ 6625k: 25 Parts ‘ ’ California 4535k 4 1Go' В 720K 2b 1 1 2 487k Рис. 12.8. Выполнение 30 строк кода привело к тому, что итоговый отчет почти готов. Чтобы решить оставшиеся пять проблем, преобразуйте данные из сводной таблицы в стандартные данные Новая рабочая книга для хранения отчета Предположим, вам нужно создать отчет в новой рабочей книге, чтобы его можно было легко отправлять менеджерам по электронной почте. Это вполне выполнимая задача. Чтобы сделать код более мобильным, назначьте исходной книге, новой рабочей книге и первому рабочему листу в новой книге пере- менные объектов. Сверху процедуры добавьте такие выражения. Dim WSR As Worksheet Dim WBO As Workbook Dim WBN As Workbook Set WBO = ActiveWorkbook Set WSD = Worksheets("Pivot Table") После успешного построения сводной таблицы создайте пустую рабочую книгу Report со следующим кодом. ' Создание новой пустой рабочей книги с одним рабочим листом Set WBN = Workbooks.Add(xlWorksheet) Set WSR = WBN.Worksheets(1) WSR.Name = "Report" ' Задание заголовка для отчета
Использование VBA для создания сводных таблиц 251 With WSR.Range("Al") .Value = "Revenue by Market and Year" .Font.Size = 14 End With Итоги в пустом рабочем листе книги Report Представьте, что вы утвердили сводную таблицу, показанную на рис. 12.8, но ваших менеджеров не устраивают границы, вид заголовков, надписи Line of Business в ячейке 02. Вы можете решить все потенциально возможные проблемы, исключив первую строку (строки) диапазона PT. ТаЫeRange2 из метода .Сору и использовав метод PasteSpecial (xlPasteValuesAnd- NumberFormat s) для копирования данных в лист отчета. Предупреждение В Excel 2000 и более ранних версиях параметр xlPasteValuesAndNumberFor- mats недоступен. Метод PasteSpecial нужно выполнять дважды: один раз для xlPasteValues и второй раз для xlPasteFormats. .... ............................ ................... В текущем примере свойство . TableRange2 исключает только одну строку 2, как показано на рис. 12.8. Если вы имеете дело с более сложной сводной таблицей с несколькими полями столбцов и/или одним или несколькими полями страниц, то вам следует исключить не только первую строку отчета. Для этого удобно вы- полнить макрос, просмотреть полученный результат и определить, сколько строк нужно удалить. Для того чтобы предотвратить копирование строк в отчет, исполь- зуйте свойство Offset. Скопируйте свойство TableRange2 и выполните смеще- ние на одну строку. Склонные к педантичности и бюрократизму пользователи от- метят, что этот код копирует дополнительную пустую строку из нижней части сводной таблицы, но это не играет роли, поскольку она все равно пустая. После копирования удалите исходную сводную таблицу и очистите ее кэш. ' Копирование данных сводной таблицы в строку 3 листа Report ' Использование свойства Offset для исключения строки сводной ' таблицы с заголовком PT.PivotRange2.Offset(1, 0).Copy WSR. Range("A3").PasteSpecial Paste:=xlPasteValuesAndNumberFormats_ PT.TableRange2.Clear ' Set PTCache = Nothing Заметьте, что вы использовали свойство PasteSpecial для вставки лишь значений и числовых форматов. Таким образом, вы избавились как от границ, так и от структуры сводной таблицы. Попробуйте использовать вариант вставки Без рамки, но тогда данные останутся в сводной таблице, и вы не сможете вставлять новые строки в середину набора данных. Визуальное представление Отчет почти готов. Скоро вы используете команду Данные^Итоги. Однако перед тем как выполнить команду Промежуточные итоги, вам придется за- полнить все пустые ячейки в структуре столбца А.
252 Глава 12 Фиксирование структуры требует выполнения нескольких малопонятных операций. Ниже описаны соответствующие действия в пользовательском ин- терфейсе. 1. Выделите все составляющие отчет ячейки в столбце А. 2. Используйте команду Правка^Перейти, чтобы открыть диалоговое ок- но Переход. Щелкните на кнопке Выделить, чтобы перейти к диалого- вому окну Выделение группы ячеек. Используйте опцию Пустые ячей- ки, чтобы выбрать только пустые ячейки. 3. Введите формулу в формате R1C1 для заполнения пустой ячейки значе- нием из ячейки, расположенной выше. В пользовательском интерфейсе следует ввести знак равенства, нажать клавишу со стрелкой вверх и за- тем нажать <Ctrl+Enter>. 4. Вновь выделите все ячейки в столбце А, составляющие отчет. Это необ- ходимо сделать, поскольку операция Специальная вставка не выпол- няется по отношению к несмежным выделениям. 5. Скопируйте формулы в столбце А и преобразуйте их в значения, ис- пользуя опцию Значения диалогового окна Специальная вставка. Фиксирование структуры в VBA требует меньше усилий. Эквивалент дей- ствий по реализации подобной логики в VBA приведен ниже. 1. Найдите последнюю строку отчета. 2. Введите формулу =R [ - 1 ] С в пустые ячейки столбца А. 3. Измените эти формулы на значения. Код выполнения этих операций следующий. Dim FinalReportRow As Long ' Заполнение структуры в столбце А ' Поиск последней строки в столбце В, поскольку ' в столбце А много пустых строк FinalReportRow - WSR.Range("В65536").End(xlUp).Row With Range("A3).Resize(FinalReportRow - 2, 1) With .Specialcells(xlCellTypeBlanks) .FormulaRlCl « "=R[ - 1]C" End With .Value = .Value End With Последнее форматирование Последние этапы создания отчета сводятся к базовым задачам форматиро- вания и добавления промежуточных итогов. Выделите полужирным “утвер- жденные” заголовки в строке 3. Настройте строки 1-3 так, чтобы сверху каж- дой страницы выводилось три строки. ' Базовое форматирование ' Автоматическое заполнение столбцов, выделение заголовков
Использование VBA для создания сводных таблиц 253 1 полужирным с выравниваем по правому краю Selection.Columns.AutoFit Range("АЗ").EntireRow.Font.Bold True Range("A3").EntireRow.HorizontalAlignment • xlRight Range("АЗ:B3").HorizontalAlignment xlLeft ' Повторение строк 1-3 вверху каждой страницы WSR.PageSetup.PrintTitleRows "$1:$3" Добавление промежуточных итогов Автоматические промежуточные итоги в меню Данные представляют собой очень мощное средство. На рис. 12.9 показано диалоговое окно Промежуточные итоги. Обратите внимание на опцию Конец страницы между группами. Рис. 12.9. Используйте автоматические промежу- точные итоги - они позволяют добавлять разрыв страницы после названия каждого товара. Такой отчет будет удобен и понятен каждому менеджеру, поскольку он получит отчет, в котором будет ука- зана информация о реализованных им товарах Если вы уверены, что в отчет всегда вставляются данные за два года и вы- водятся соответствующие итоговые значения, то можете использовать сле- дующий код добавления промежуточных итогов для каждой группы Line of Business. ' Добавление промежуточных итогов по полю Product ' Не забывайте добавлять разрыв страницы при каждом изменении товара Selection.Subtotal GroupBy:=l, Function:*xlSum, TotalList:«Array(3, _ 4, 5), PageBreaks:«True Однако этот код не станет выполняться, если данные представлены не за год, а за больший или меньший период времени. Решение проблемы состоит в использовании следующего кода, динамически создающего списки столбцов для итогов на основе количества столбцов в отчете. Dim TotColumns() Dim i As Integer FinalCol = Cells(3, 255).End(xlToLeft).Column
254 Глава 12 ReDim Preserve TotColumns(1 To FinalCol - 2) For i = 3 To FinalCol TotColumns(i - 2) = 1 Next i Selection.Subtotal GroupBy:=l, Function:=xlSum, _ TotalList:=TotColumns, _ ' Replace:=True, PageBreaks:=True, SummaryBelowdata:=True И наконец, после добавления новых промежуточных итогов в отчет нужно автоматически заполнить числовые столбцы с помощью такого кода. Dim GrandRow As Long ' Столбцы достаточно широкие для вывода итогов GrandRow = range("А6 5 5 3 6").End(xlUp).Row Cells(3, 3).Resize(GrandRow - 2, FinalCol - 2).Columns.AutoFit Cells (GrandRow, 3).Resized, FinalCol - 2) .Number Format = "#,##0,K" ' Добавление разрывов страниц перед Grand Total (Общий итог); ' в противном случае менеджер будет получать два итога WSR.HPageBreaks.Add Before:=CelIs(GrandRow, 1) Общая картина В листинге 12.1 приведен код, создающий отчеты для менеджеров по про- дажам за считанные секунды. Листинг 12.1. Код, которые создает отчет о продажах (рис. 12Л0) Sub ProductLineReport() ' Line of Business и Market как строка ' Years как столбец Dim WSD As Worksheet Dim PTCache As PivotCache Dim PT As PivotTable Dim PRarige As Range Dim FinalRow As Long Dim GrandRow As Long Dim FinalReportRow As Long Dim i As Integer Dim TotColumns() Set WSD = Worksheets("PivotTable") Dim WSR As Worksheet Dim WBO As Workbook Dim WBN As Workbook Set WBO = ActiveWorkbook ' Удаление предыдущих сводных таблиц For Each PT In WSD.PivotTables PT.TableRange2.Clear Next PT ' Определение области ввода данных и установка кэша FinalRow = WSD.Cells(Application.Rows.Count, 1).End(xlUp).Row FinalCol = WSD.Cells(l, Application.Columns.Count). _ End(xlToLeft).Column Set PRange = WSD.Cells(l, 1).Resize(FinalRow, FinalCol) Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:= _ xlDatabase, SourceData:=PRange.Address)
Использование VBA для создания сводных таблиц 255 ' Создание на основе кэша сводной таблицы Set PT = PTCache.CreatePivotTable(TableDestination:=WSD. _ Cells(2, FinalCol + 2), TableName:="PivotTablel") ' Отключение обновления при создании сводной таблицы PT.ManualUpdate = True ' Определение поля строк PT.AddFields RowFields:=Array("Line of Business", _ "In Balance Date"), ColumnFields:="Market" 1 Определение поля данных With PT.PivotFields("Revenue") .Orientation = xlDataField .Function = xlSum .Position = 1 End With ' Вычисление сводной таблицы PT.ManualUpdate = False PT.ManualUpdate = True ' Группировка по году Cells(3, FinalCol + 3).Group Start:=True, End:=True, _ Periods:=Array(False, False, False, False, False, False, True) ' Перемещение поля In Balance Date в столбцы PT.PivotFields("In Balance Date").Orientation = xlColumnField PT.PivotFields("Market").Orientation = xlRowField PT.PivotFields("Sum of Revenue").NumberFormat = "#,##0,K" PT.PivotFields("Line of Business").Subtotals(1) = True PT.PivotFields("Line of Business").Subtotals(1) = False PT.ColumnGrand = False ' Вычисление сводной таблицы PT.ManualUpdate = False PT.ManualUpdate = True ' PT.TableRange2.Select ' Создание пустой рабочей книги с одним рабочим листом Set WBN = Workbooks.Add(xlWBATWorksheet) Set WSR = WBN.Worksheets(1) WSR.Name = "Report" ' Задаем имя для Report With WSR.[Al] .Value = "Revenue by Market and Year" .Font.Size = 14 End With ' Копирование данных сводной таблицы в строку 3 листа Report ' Использование смещения для исключения строки заголовков ' сводной таблицы PT.TableRange2.Offset(1, 0).Сору WSR.[АЗ].PasteSpecial Paste:=xlPasteValuesAndNumbeгFormats PT.TableRange2.Clear Set PTCache = Nothing ' Заполнение структуры в столбце А ' Поиск последней строки в столбце В, поскольку
256 Глава 12 ' в столбце А много пустых строк FinalReportRow WSR.Range("В65536").End(xlUp).Row With Range("A3").Resize(FinalReportRow - 2, 1) With .Specialcells(xlCellTypeBlanks) .FormulaRlCl "-R[-1]C" End With .Value = .Value End With ' Базовое форматирование ' Автоматическое заполнение столбцов, выделение заголовков ' полужирным, с выравниванием по правому краю Selection.Columns.AutoFit Range("АЗ").EntireRow.Font.Bold True Range("A3").EntireRow.HorizontalAlignment xlRight Range("A3:B3").HorizontalAlignment xlLeft ' Повторение строк 1-3 вверху каждой страницы WSR.PageSetup.PrintTitleRows - "$1:$3" ' Добавление промежуточных сумм FinalCol = Cells(3, 255).End(xlToLeft).Column ReDim Preserve TotColumns(l To FinalCol - 2) For i = 3 To FinalCol TotColumns(i - 2) = i Next i Selection.Subtotal GroupBy:«l, Function:«xlSum, _ TotalList:=TotColumns, Replace:«True, _ PageBreaks:«True, SummaryBelowData:«True ' Столбцы достаточна широки для промежуточных итогов GrandRow = Range("А65536").End(xlUp).Row Cells(3, 3).Resize(GrandRow - 2, FinalCol - 2).Columns.AutoFit Cells (GrandRow, 3).Resized, FinalCol - 2) . Number Format = "#,##0,K" ' Добавление разрывов страницы перед ' строкой "Общий итог", поскольку ' в противном случае менеджеры по продажам ' будут получать два итога WSR.HPageBreaks.Add Before:=CelIs(GrandRow, 1) End Sub На рис. 12.10 показан отчет, созданный с помощью этого кода. Трудности использования нескольких полей данных Итак, созданы неплохие итоговые отчеты, однако при этом была задейст- вована лишь часть возможностей сводных таблиц. В предыдущем примере создания отчета использовалось только одно поле данных. В отчете сводной таблицы можно применять множество полей данных. Данные в следующем примере включают не только объемы продаж, но и количество проданного товара. Финансовый директор будет оценивать отчет по товарам — в отчете указывается проданное количество товаров, объем про- даж и средние цены товаров.
Использование VBA для создания сводных таблиц 257 A E C D E 1 Revenue by Market and Year 2 , ... । J 3 LINE OF BUSINESS MARKET 2006 * 2007 иЬкий итог • 4 Copier Sale California 1945646» 207474U 4020385 « 6 Copiei Sale Central US 1765979, 1740738 3506717 • Tl Copier Sale Colorado Г 1273808( 1839783 3113591 . 7 Copier Sale Florida 1726585 2057032 3783617 ч 8 Copier Sale Great Lakes 886356 1043161 1929517 • 9 Copier Sale Gulf Coast 29209642909904 5830688 • w Copier Sale Illinois 1503380: 1486388 2989768 • 11 Copier Sale Indiana 1747801I 1868866’ 361668.’ * 12 Copier Sale Kentucky 2564272 3308158 5872430 * Copier Sale New England _____ Г. 3175850 3175850 ♦ U Copier Sale New York North 1760975 2171906^ 3932881 16 Copier Sale New York South 7429951 898975 1641970 id Copier Sale North Carolina 1513984! 2249174 3763158 <r, 17 Copier Sale North Wt st 1443962 1735179 3179141 • 18 Copier Sale Ohio 38915Л0 1325633 5217133 • 19 Cooier Sale Shenandoah Valley _ 1994123* 2250647' 2656626? 309487? 4244770 20 Copier Sale South Carolina 5751497 • 21 I Copier Sale Southwest 2174879 2357268 4532147 • 22 Cooier Sale Tennessfla 2968320 3355517 6323837 • 23 Copier Sale Texas 2192673 2338412 4531085 • 24 Copier Sale Topeka 2657004! 2967616 5624620 25 Copier Sale Итог f 40331851Г '46249838 86581689 Рис 12.10. За считанные секунды 50 000 строк данных транзакции преобразуются в готовый отчет. Без использования сводных таб- лиц код выполнения данной задачи был бы намного сложнее При работе с двумя и большим количеством полей данных их можно по- местить в одно из четырех мест. По умолчанию программа Excel создает отчет сводной таблицы с полем данных в виде центрального поля строк. Часто ока- зывается предпочтительней выводить поле данных в виде крайнего поля строк или в виде поля столбцов. При создании сводной таблицы с несколькими полями данных вы имеете всвоем распоряжении виртуальное поле Данные. Размещение поля Данные в методе . AddFields определяет возвращаемый вид данных. Установка по умолчанию, соответствующая полям данных в центральном поле строк, показанном на рис. 12.11, требует применения метода addFields. PT.AddFields Row Fields:=Array("Line of Business", "Data") PEGION ▼ Данные ' - Сумма по полю REVENUE LINE OF BUSINESS ▼ Copier Sale Parts Printer Sale Service Plan W%st North 239766011 25893618 ~ ”23670063?" 29063171 ” 19594197j" 20621317 149341261? 201414511 South 36711470 "31205269 “ 28153264 223750307 Общий итог 86581689 83938493 66368778 ”574506079 Сумма по полю UNITS SOLD Copier Sale Parts_ / Printer Sale Service Plan 8081 8706 0 0 41ЭбГ 4313 0: d 12224 0 6876 ’ 0 29011 0 "J4324 0 Итог Сумма по полю REVE NU 216502112 276992617 319820310 813395039 Ииг Сумма по полю UNITS SOLD 12216! 13019! 18100 43335 Рис. 12.11. Сводная таблица по умолчанию содержит множественные поля данных в центральном поле строк
258 Глава 12 Для создания вида, показанного на рис. 12.12, используется следующий код. PT.AddFields RowFields:=Array("Data", "Line of Business") Данные I MODEL «г Сумма по полю REVENUE ; Сумма по полю UNITS SOLD 2500С 06581689; 29011 2500Р 68368778! U324 3U02C 81772378 ! i I ! н ! I I i i I 3002Р 284995434Г 0 4i¥£T 127766081 0 4500С 1881747471 0 4500Р 17518709Г 0 5001С 21079121; 0 5001Р 52127495 6 Общий итог 813395039; 43335 Рис 12.12. Переместив поля Данные в поле первой строки, вы получите такой вид данных Для примера отчета нужно вывести поле Данные в виде поля столбцов. PT>AddFields RowFields:="Model", ColumnFields:="Data" После добавления поля столбцов Данные следует описать два поля данных. ' Определение полей данных With PT.PivotFields("Revenue") .Orientation = xlDataField .Function = xlSum .Position = 1 .NumberFormat = "#,##0" End With With PT.PivotFields("Units Sold") .Orientation = xlDataField .Function = xlSum .Position = 2 .NumberFormat = "#,##0" End With Вычисляемые поля данных Сводные таблицы поддерживают два типа формул. Некоторые формулы применяются в вычисляемых полях, они добавляют в сводную таблицу новое поле. Расчеты для вычисляемых полей всегда выполняются на уровне итого- вых данных. Если вы описываете вычисляемое поле для средней цены как Revenue, разделенное на Units Sold, то программа Excel вначале вычислит итоговый объем продаж и общее количество, а затем выполнит операцию де- ления для получения необходимого результата (во многих случаях именно это и требуется). Если вычисление не следует сочетательному закону математики, то оно может возвращать совсем не то, что ожидалось. Для настройки вычисляемого поля используйте метод Add по отношению к объекту CalculatedField. Укажите имя поля и формулу вычисления. Ес- ли вы создаете поле с именем Average Price, то сводная таблица по умол- чанию создает поле с именем Сумма по полю Average Price (такое на- звание, честно говоря, не совсем подходит по смыслу). Итак, необходимо вы-
Использование VBA для создания сводных таблиц 259 числить среднее значение цен. Решение заключается в использовании свойст- ва Name с описанием поля данных для замены названия Сумма по полю Average Price на нечто типа Avg Price. Заметьте, что это имя должно от- личаться от имени вычисляемого поля. В листинге 12.2 приведен код, который создает отчет, показанный на рис. 12.13. M N j 1 ' 0 KJ P 2 Данные 5F - ’ 3 MARKET ж Сумма по полю REVENUE Сумма по полю UNITS SOLD Avg Price 4* California 4 {Central US 61 636 732i 2 „ 2 142 28 775,32 30 503 8421 ' 1 913-15 945,55 6 Colorado 26 217 201r 1723 15 216,02 7 Florida 47 362 461 2 203(21 499,07 8 Great Lakes 36 992 638 1 314 28 152.69 9 Gulf Coast 45 159 185 2 518 17 934,55 W Illinois 42 НИ 421 1 761:23 907,68 11 Indiana 41 043 454 2 227 J8 429,93 12] Kentucky 37 363 632 2 753’13 571,97 13 New England 34 505 390 t 1 795’19 223,06 14 New York North 41 493 673 ; 2 396 17 317,89 151 New York South 29 482 893 ; 796,37 038,81 16 North Carolina 34 082 354 1 738-19 610,10 17 North West 28 923 143 1 669 17 329,62 10 5 Oho 45 539 552 L 2 581:17 644,15 19 Shenandoah Valley 56 233 581 1 962 28 661,36 20 South Carolina 32 744 8901 2 175; 15 055,12 21 Southwest 29 325 287] 2 209' 13 275.37 22* Tennessee 33 564 391 j 2 832:11 851,83 '23 Texas 39 143 422 2068 18 928,15 24 Topeka 39 975 907 2 560 15 615,59 25 Общий итог 813 395 039 43 335; 18 769,93 Рис. 12.13. Виртуальная область данных содержит два поля из набо- ра данных плюс вычисляемый элемент. Она выводится вдоль об- ласти столбцов отчета Листинг 12.2. Код вычисления второго поля данных Average Price Sub TwoDataFields() Dim WSD As Worksheet Dim PTCache As PivotCache Dim PT As PivotTable Dim PRange As Range Dim FinalRow As Long Set WSD = Worksheets("PivotTable") Dim WSR As Worksheet ' Удаление предыдущих сводных таблиц For Each PT In WSD.PivotTables PT.TableRange2.Clear Next PT • Определение области ввода данных и установка кэша FinalRow = WSD.Cells(Application.Rows.Count, 1).End(xlUp).Row FinalCol = WSD.Celled, Application. Columns .Count) . _ End(xlToLeft).Column Set PRange = WSD.Celled, 1) .Resize (FinalRow, FinalCol)
260 Глава 12 Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:= _ xlDatabase, SourceData:=PRange.Address) ' Создание на основе кэша сводной таблицы Set PT = PTCache.CreatePivotTable(TableDestination:=WSD. _ Cells(2, FinalCol + 2), Tab1eName:="PivotTablel") ' Отключение обновления при создании таблицы PT.ManualUpdate = True ' Определение поля строк PT.AddFields RowFields:="Market", ColumnFields:="Data" ' Определение вычисляемых полей PT.CalculatedFields.Add Name:="Averageprice", _ Formula:="=Revenue/Units Sold" • Определение поля данных With PT.PivotFields("Revenue") .Orientation = xlDataField .Function = xlSum .Position = 1 .NumberFormat = "#,##0" End With With PT.PivotFields("Units Sold") .Orientation = xlDataField .Function = xlSum .Position = 2 .NumberFormat = "#,##0" End With With PT.PivotFields("AveragePrice") .Orientation = xlDataField .Function = xlSum .Position = 3 .NumberFormat = "#,##0.00" .Name = "Avg Price" End With ' Вместо пустых ячеек ' используются ячейки с нулями PT.Nullstring = "0" ' Вычисление сводной таблицы PT.ManualUpdate = False PT.ManualUpdate = True End Sub Вычисляемые элементы Предположим, что главный менеджер вашей компании лично отвечает за продажу копировальных устройств и принтеров, а потому регулярно требует вывода соответствующих отчетов. Идея вычисляемого элемента состоит в том, что вы можете определить новый элемент в поле Line of Business для вы-
Использование VBA для создания сводных таблиц 261 числения итоговых объемов продаж копировальных устройств и принтеров. В листинге 12.3 приведен код, создающий отчет, показанный на рис. 12.14. Листинг 12.3. Код, который добавляет новый элемент в область Line of Business Sub CalcItemsProblemO Dim WSD As Worksheet Dim PTCache As PivotCache Dim PT As PivotTable Dim PRange As Range Dim FinalRow As Long Set WSD = Worksheets("PivotTable”) Dim WSR As Worksheet ' Удаление предыдущих сводных таблиц For Each PT In WSD.PivotTables PT.TableRange2.Clear Next PT ' Определение области ввода данных и установка кэша FinalRow = WSD.Cells(Application.Rows.Count, 1).End(xlUp).Row FinalCol = WSD.Celled, Application. Columns .Count) . _ End(xlToLeft).Column Set PRange = WSD.Celled, 1) .Resize (FinalRow, FinalCol) Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:= _ xlDatabase, SourceData:=PRange.Address) ’ Создаем на основе кэша сводной таблицы Set PT = PTCache.CreatePivotTable(TableDestination:»WSD. _ Cells(2, FinalCol + 2), TableName:="PivotTablel") ’ Отключение обновления при создании таблицы PT.ManualUpdate = True ' Определение поля строк PT.AddFields RowFields:="Line of Business” ' Определение вычисляемого элемента для Product PT.PivotFields("Line of Business").Calculatedltems _ .Add "PrinterCopier", "='Copier Sale'+'Printer Sale'" ' Повторное упорядочение, чтобы вывести в отчете первыми ' данные о принтерах и копировальных устройствах PT.PivotFields("Line of Business"). _ PivotItems("Copier Sale").Position = 1 PT.PivotFields("Line of Business"). _ Pivotitems("Printer Sale").Position = 2 PT.PivotFields("Line of Business"). _ PivotItems("PrinterCopier").Position = 3 ' Определение поля данных With PT.PivotFields("Revenue") .Orientation « xlDataField .Function « xlSum .Position = 1 .NumberFormat = "#,##0"
262 Глава 12 End With ’ Нулевые ячейки заменяют пустые ячейки PT.Nullstring = "О" ' Вычисление сводной таблицы PT.ManualUpdate = False PT.ManualUpdate = True End Sub Взгляните внимательно на результаты, показанные на рис. 12.14. Вычисле- ние PrinterCopier вполне корректно. Строка PrinterCopier представля- ет собой сумму Printers + Copiers. Математические расчеты подтвержда- ют, что 86 млн + 68 млн = 154 млн. Однако общий итог должен составлять 154 млн + 83 млн + 574 млн, т.е. 811 млн. Вместо этого программа Excel выво- дит общую сумму 968 млн. долларов. Общий объем продаж увеличился на 150 млн долларов. Программа возвращает неверные итоговые значения тогда, когда поле содержит как обычные, так и вычисляемые элементы. Единствен- ный внушающий доверие метод решения этой проблемы заключается в по- пытке сокрытия товаров, влияющих на значение PrinterCopier. Результат показан на рис. 12.15. With PT.PivotFields("Line of Business") .PivotIterns("Copier Sale").Visible = False .Pivotitems("Printer Sale").Visible = False Сумма по полю REVENUE UNEpr BUSINESS Итог Copier Sale 66 581 689 Printer Sale 68 368 778 PrintbiCopier 154 950 467 Parts 83 938 493 Service Plan 574 506 079 Общий итог 968 345 506 Рис. 12.14. Старайтесь избе- гать использования вычисля- емых элементов С/мма по полю REVENUE LINE OF BUSINESS ▼ Итог PrinterCopier 154 950 467 Parts 83 938 493 Service Plan 574 506 079 Общий итог 813 395 039 Рис 12.15. После сокрытия компо- нентов, влияющих на вычисляемый элемент PrinterCopier, итоговый объем продаж компании вновь стал правильным, и все же проще доба- вить в исходные данные новое поле Responsibility Подведение итогов в полях данных с помощью группировки При работе с данными транзакций часто обнаруживается, что подведенные по датам итоги состоят из одной строки. Несмотря на то что ежедневные дан- ные будут полезными для директора предприятия, многие работники компа- нии предпочитают получать итоги, подведенные за месяц, квартал или год. Программа Excel поддерживает вычисление итогов по датам в сводной таб- лице. Любой, кто использовал “секретную” формулу =А2+1 - Day (А2) для
Использование VBA для создания сводных таблиц 263 изменения ежедневных дат на ежемесячные, оценит легкость, с которой мож- но группировать данные транзакций по месяцам или кварталам. Создание группы в VBA требует определенной изворотливости. Метод .Group можно применять только к отдельной ячейке сводной таблицы, а ячейка должна содержать дату или метку поля Date. Ниже приведен первый пример в главе, в котором вы указываете VBA вычислять промежуточный ре- зультат для сводной таблицы. Создайте сводную таблицу с полем In Balance Date в поле строк. От- ключите ручное вычисление (Manualcalculation), чтобы вывести поле Date. Затем используйте свойство Label Range для нахождения дат и груп- пировки данных. На рис. 12.16 показан результат выполнения кода из лис- тинга 12.4. Сумма по полю REVt NUE Г Р*'SIGN Годы ▼ Кварт ы w IN BALANCE DATE * West North : South Общий итог 2006 Кв-л1 янв фев 8 720 47б{ 11 236 439! 12 727 533 32 684 448 9 225 674 11 185 957j 13 679 193 34 090 824 мар 9 225 618; 11 953 742 13 469 631 34 648 991 Квл2 апр 9 041 189 11 549 559' 13 368 172 33 958 920 май июн 9516 441: 11 765 501Г 13830 922 9 119 339, 11 054 716 f 13 530 350 35112864 33 704 405 Кв-лЗ июл 9158 797^ 10 080 363’ 13 094 448 33 133 608 авг 8 938 174 10 928 843{ 13 124 048 32 991 065 сен 8 765 593 10 602 069 12 937 835 32 305 497 Кв-л4 окт 9 366 436 11 724 576i 13 354 434 34 445 448 ноя 8 808 645 11 616 640j 13 319 244 33 744 529 дек 8 623 556! 11 300 522 13 127 058 33 051 136 2007 Кв-л1 янв 9 016 346 11 353 880; 13 372 402 33 742 628 фев мар 8 817 997 11 322 225 13 343 066 9 499 545 12 458 951 13 882 350 33 483 288 35 840 846 Кв-л2 апр 8 961 701 11 567 922! 13 180 773 33 710 396 май 9217 324 11 741 321 < 13 500 566 34 459 211 июн 8 818 100 11 557 867, 13115 848 33 491 815 Кв-лЗ июл 9 009 295 11 559 5121 13182 356 33 751 163 авг 8 974 245 11 786 294 13 468 008 34 228 547 сен 8 649 972; 11 393 225 12 792 406 32 835 603 Кв-л4 окт ноя 9 185 147 12 424 305“ 13 609 530 9 165 534 12 527 651 14 011254 35 218 982 35 704 439 |Дек 8 756 968 11 500 535? 12 798 883 33 056 386 Общий итог 216 582112 276 992 617 319 820 310 813 395 039 Рис 12.16. Поле in Balance Date теперь состоит из трех полей сводной таблицы, представляющих год, квартал и месяц Листинг 12.4. Код группировки для преобразования ежедневных данных в ежемесячные Sub ReportByMonth() Dim WSD As Worksheet Dim PTCache As PivotCache Dim PT As PivotTable Dim PRange As Range Dim FinalRow As Long Set WSD = Worksheets("PivotTable”) Dim WSR As Worksheet
264 Глава 12 ' Удаление предыдущих сводных таблиц For Each PT In WSD.PivotTables PT.TableRange2.Clear Next PT ' Определение области ввода и установка кэша FinalRow = WSD.Cells(Application.Rows.Count, 1).End(xlUp).Row FinalCol = WSD.Celled, Application.Columns.Count) . _ End(xlToLeft).Column Set PRange = WSD.Celled, 1) . Resize (FinalRow, FinalCol) Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:= _ xlDatabase, SourceData:=PRange.Address) ' Создание на основе кэша сводной таблицы Set PT = PTCache.CreatePivotTable(TableDestination:=WSD. _ Cells(2, FinalCol + 2), TableName:="PivotTablel") ' Отключение обновления при создании таблицы PT.ManualUpdate = True ' Определение поля строк PT.AddFields RowFields:="In Balance Date", ColumnFields:="Region" ' Определение поля данных With PT.PivotFields("Revenue") .Orientation = xlDataField .Function = xlSum .Position = 1 .NumberFormat = "#,##0" End With ' В области данных нулевые ячейки ' заменяют пустые ячейки PT.Nullstring = "0" ' Вычисление сводной таблицы так, чтобы ' позволить распознать даты PT.ManualUpdate = False PT.ManualUpdate = True ' Группировка по месяцам, кварталам и годам PT.PivotFields("In Balance Date").LabelRange.Group Start:=True, _ End:=True, Periods:= _ Array(False, False, False, False, True, True, True) ' Вычисление сводной таблицы PT.ManualUpdate = False PT.ManualUpdate = True End Sub Группировка по неделям Возможно, вы заметили, что программа Excel позволяет группировать дан- ные только по дням, месяцам, кварталам и годам. По неделям стандартная
Использование VBA для создания сводных таблиц 265 группировка не выполняется, однако можно определить группу, в которую бу- дут включены семь дней. По умолчанию программа Excel начинает неделю с первой даты, опреде- ленной в данных. Это означает, что неделя по умолчанию будет начинаться со вторника 1 января 2006 года и заканчиваться понедельником 31 декабря 2007 года. Чтобы изменить такое поведение, измените значение параметра Start с True на реальную дату. Используйте функцию WeekDay для определения количества дней, в которых требуется изменить начальную дату. В группировке по неделям есть только одно ограничение: группируя дан- ные по неделям, нельзя одновременно выполнять группировку по другим раз- мерностям (например, по неделям и кварталам). В листинге 12.5 приведен код создания отчета, который показан на рис. 12.17. M N 0 P Q 2 Сумма по полю REVENUE REGION H 3 •N BALANCE DATE West North South Общий итог 4 02.01 2006 - 08.01 200B 1 907 865 2 674 724 3 694 750 8 277 339 5 09.01.2006-15.01 2003 2 384 129 1 869 308 3 017 787 7 271 224 6 16 01.2006 - 22 Ч.2003 2117 490 3 071 926 2114 692 7 304 098 7'i 23.01 2006 - 29.01.2006 1 909 951 f 2 789 489 3135Б94 7 335134 8 30.01 2006 - 05.02.2006 2 168 063 2 756 914 2 526 931 7 451 908 9 06.02.2006-12 02.2006 1 755 401 [ 2 385 247 3 681 971 7 822 619 10 13.02 2006 -19 02.2006 2 332 649 2 386 434 2 315164 7 034 247 Jlj 20.02.2006 - 26.02.2006 1 943 883 2 628 402 3 709 099 8 341 384 12 i27.02.2006 - 05.03 2006 3 451 687 4 292 381 4 134 886 11 878 954 13’06 03.2006-12.03.2006 1 757 286, 2 535 487 3711 548 8 004 321 :5 13.03.2006- 19.03.2006 2 223 687] 2 224 709 3116171 3 089 593 7 564 567 20.03 2006 - 26 03 2006 2 153 934 3 038 399 8 281 926 Рис 12.17. Используйте настройку Количество дней для груп- пирования данных по неделям Листинг 12.5. Код группирования данных по неделям определяет понедельник в качестве ближайшего дня начала дат Sub ReportByWeek() Dim W§D As Worksheet Dim PTCache As PivotCache Dim PT As PivotTable Dim PRange As Range Dim FinalRow As Long Set WSD = Worksheets("PivotTable") Dim WSR As Worksheet ' Удаление предыдущих сводных таблиц For Each PT In WSD.PivotTables PT.TableRange2.Clear Next PT ' Определение области ввода данных и установка кэша FinalRow = WSD.Cells(Application.Rows.Count, 1).End(xlUp).Row FinalCol = WSD.Celled, Application.Columns.Count) . _ End(xlToLeft).Column Set PRange = WSD.Cells(l, 1).Resize(FinalRow, FinalCol)
266 Глава 12 Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:* _ xlDatabase, SourceData:=PRange.Address) ' Создание на основе кэша сводной таблицы Set PT = PTCache.CreatePivotTable(TableDestination:=WSD. _ Cells(2, FinalCol + 2), TableName:="PivotTablel") ' Отключение обновления при создании таблицы PT.ManualUpdate = True ' Определение поля строк PT.AddFields RowFields:="In Balance Date", ColumnFields:="Region" ' Определение поля данных With PT.PivotFields("Revenue") .Orientation = xlDataField .Function = xlSum .Position = 1 .NumberFormat = "#,##0" End With ' В области данных нулевые ячейки ' заменяют пустые ячейки PT.Nullstring = "0" ' Вычисление сводной таблицы так, чтобы ' позволить распознать даты PT.ManualUpdate = False PT.ManualUpdate = True ’ Группировка дат по неделям ’ Определение первого понедельника перед минимальной датой FirstDate = PT.PivotFields("In Balance Date").LabeIRange. _ Offset(1, 0).Value WhichDay = Application.WorksheetFunction.Weekday(FirstDate, 3) StartDate = FirstDate - WhichDay PT.PivotFields("In Balance Date").LabeIRange.Group _ Start:=StartDate, End:=True, By:=7, _ Periods:=Array(False, False, False, True, False, False, False) ' Вычисление сводной таблицы PT.ManualUpdate = False PT.ManualUpdate = True End Sub Специальные методики управления сводными таблицами Возможно, вы профессиональный разработчик сводных таблиц, но нико- гда не слышали о специальных методах управления ими. В следующих четы- рех разделах мы исправим это упущение.
Использование VBA для создания сводных таблиц 267 Метод AutoShow и создание исполняемых представлений Если вы разрабатываете исполняемую утилиту, выделите лучшую пятерку рынков. С помощью функции Автосортировка вы можете профессионально созда- вать сводные таблицы и никогда не использовать опцию Автоотображение программы Excel. Эта настройка позволяет выбирать п верхних или нижних записей на основе любого поля данных отчета. Код использования функции Автоотображение в VBA требует применения метода .Autoshow. ' Отображение пяти лучших рынков PT.PivotFields("Market").AutoShow Top:=xlAutomatic, Range:=xlTop, Count:=5, Field:="Sum of Revenue") При создании отчета с использованием метода AutoShow часто имеет смысл скопировать данные, а затем вернуться к исходному отчету для получе- ния итогов по всем рынкам. В следующем коде эта задача выполняется в ре- зультате удаления поля Market из сводной таблицы и копирования в отчет общего итога. В листинге 12.6 создается отчет, показанный на рис. 12.18. A В 1 C<£J D | 6 f F j 1 Top 5 Markets H L 2 . 1 _ ! j .. _ . 3 MARKET Copieг Sala Parti Printer 5 lie Service Plan Общий итог l4 California 4 020 3% 8 720 027 3 570 593" 45 325727 61 636 732 5- Shenandoah Valley 4 244 770 6 967 670 2 329 46 Я 42 691 680 56 233 581 В j Florida 3 783 617 5 037 033 4 823 314 33 718 447, 47 362 461 7 Ohio 5 217133 4 692 767 3 960 185 31 669 467 45 539 552 Gulf Coast 5630 988 4 889 560 2685 703 31 753026 45159185 fi Top 5 Total 23 096 793 30 307115 17 369 256’ 185 158 347 255 931 511 jo f I I . _ _ _ i i . 1 _ 1L Total Company 86 581 689; 83 938 493 68 368 778 574 506 073'813 395 039 Рис 12.18. Отчет Лучшие 5 рынков содержит две сводные таблицы Листинг 12.6. Код, используемый для создания отчета Лучшие 5 рынков 1 Sub Top5Markets() ’ Создание отчета по лучшим 5 рынкам Dim WSD As Worksheet Dim WSR As Worksheet Dim WBN As Workbook Dim PTCache As PivotCache Dim PT As PivotTable Dim PRange As Range Dim FinalRow As Long Set WSD = Worksheets("PivotTable") ' Удаление предыдущих сводных таблиц For Each PT In WSD.PivotTables PT.TableRange2.Clear Next PT
268 Глава 12 • Определение области ввода данных и установка кэша FinalRow ж WSD.Cells(Application.Rows.Count, 1).End(xlUp).Row FinalCol » WSD.Celled, Application. Columns . Count) . _ End(xlToLeft).Column Set PRange = WSD.Celled, 1) .Resize (FinalRow, FinalCol) Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:= _ xlDatabase, SourceData:=PRange.Address) • Создание на основе кэша сводной таблицы Set PT = PTCache.CreatePivotTable(TableDestination:=WSD. _ Cells(2, FinalCol + 2), TableName:="PivotTablel") • Отключение обновления на время создания таблицы PT.ManualUpdate = True • Определение поля строк PT.AddFields RowFields:="Market", ColumnFields:="Line of _ Business" • Определение поля данных With PT.PivotFields("Revenue") .Orientation = xlDataField .Function = xlSum .Position = 1 .NumberFormat = "#,##0" .Name = "Total Revenue" End With • В области данных нулевые ячейки • заменяют пустые ячейки PT.Nullstring = "0" • Сортировка рынков по убыванию объема продаж PT.PivotFields("Market").AutoSort Order:=xlDescending, _ Field:="Total Revenue" ’ Отображение только 5 лучших рынков PT.PivotFields("Market").AutoShow Type:=xlAutomatic, _ Range:«xlTop, Count:=5, Field:="Total Revenue" •Вычисление сводной таблицы так, чтобы • позволить распознавать даты PT.ManualUpdate = False PT.ManualUpdate = True • Создание пустой рабочей книги с одним рабочим листом Set WBN = Workbooks.Add(xlWBATWorksheet) Set WSR = WBN.Worksheets(1) WSR.Name = "Report" • Определение названия отчета With WSR.[Al] .Value = "Top 5 Markets" .Font.Size = 14 End With • Копирование данных сводной таблицы в строку 3 • листа отчета • Смещение для исключения строки заголовка
Использование VBA для создания сводных таблиц 269 ' сводной таблицы PT.TableRange2.Offset(1, 0).Copy WSR. [A3].PasteSpecial Paste:=xlPasteValuesAndNumberFormats LastRow = WSR.Cells(65536, 1).End(xlUp).Row WSR.Cells(LastRow, 1).Value = "Top 5 Total" 1 Возвращение к сводной таблице для получения ' итогов без AutoShow PT.PivotFields("Market").Orientation = xlHidden PT.ManualUpdate = False PT.ManualUpdate = True PT.TableRange2.Offset(2, 0).Copy WSR.Cells(LastRow + 2, 1).PasteSpecial _ Paste:=xlPasteValuesAndNumberFormats WSR.Cells(LastRow + 2, 1).Value = "Total Company" ' Очистка сводной таблицы PT.TableRange2.Clear Set PTCache = Nothing 1 Базовое форматирование ' Автоматическое заполнение столбцов, 1 выделение заголовков полужирным с выравниванием 1 по правому краю WSR.Range(WSR.Range("АЗ"), WSR.Cells(LastRow + 2, _ 6)).Columns.AutoFit Range("A3").EntireRow.Font.Bold = True Range("A3").EntireRow.HorizontalAlignment = xlRight Range("A3").HorizontalAlignment = xlLeft Range("A2").Select MsgBox "CEO Report has been Created" End Sub Отчет Лучшие 5 рынков содержит два снимка моментального состояния сводной таблицы. После использования опции AutoShow для захвата пяти лучших рынков с итоговыми значениями макрос возвращается к сводной таб- лице, отменяет действие метода AutoShow и обрабатывает данные всех рын- ков для создания строки Total Company. Использование метода ShowDetails для фильтрации набора записей Откройте любую сводную таблицу в пользовательском интерфейсе Excel. Дважды щелкните на любом числе в таблице. Программа Excel вставит в рабо- чую книгу новый рабочий лист и скопирует в него все исходные записи, пред- ставляющие это число. В пользовательском интерфейсе Excel это прекрасный способ быстрого запроса набора данных. В VBA эквивалентным свойством является ShowDetail. Присвоив этому свойству любой ячейки в сводной таблице значение True, вы генерируете но- вый рабочий лист со всеми записями, составляющими эту ячейку. PT.TableRange2.Offset(2, l).Resize(l, 1) .ShowDetail = True
270 Глава 12 В листинге 12.7 создается сводная таблица с общим объемом продаж для трех лучших магазинов с использованием свойства ShowDetails для каждого магазина. Этот метод является альтернативой использования команды Рас- ширенный фильтр. В результате выполнения этого макроса вы получите три новых листа. На рис. 12.19 показан первый созданный лист. |A , В L C 1 1 E F G H i ij i Detail for 35034064 (Store Rank 3) L t Г. j t 1 i г 3 REGION MARKt T STORE IN BAI ANCE DATE FISCAL PERIOD MODEL L INF OF BUSINESS REVENUE UNITS SOLD 4 South Illinois J 35034054 30 05.2006 200210 25U0C topieiSale - 44305' 11 5 South Illinois 135034054? 30.04.2007 200308 5001C Parts 1512 3 6 South Illinois J350340541"- 30.04 2006 Z&J2U6 4500C Service Plan 135519 0 7 South Illinois 35034054^ 29.12.2007 200404 5001P Parts 3552 0 81 South Illinois !35034054, 29.12.2007 200404 5001C Parts 5676 0 9”1 South Illinois 35034054' 27122007 200404 4500C Service Plan 127304 0 10 South Illinois ,35034054]“ 22.12.2007' 200404 3002P Parts 20407 0 11 South Illinois J 35034054 21.12 2007 200404 =Oi2P Service Plan 216639 0 12 South Illinois J35034054 20 12 2007 200404 3002P Parts 4757 0 *3 South Illinois 35034054 17.12.2007 .1)0404 3002C 2Jarts _ 3230 0 14 South Illinois ”35034064*" 17 122007 200404 3002C j Service Plan 61876 1 IS South Illinois I 35034054? 16.12.2007 200404 25C0P °rinter Sale 27194 4 Рис 12.19. Приложения сводных таблиц довольно многообразны. Этот макрос создает свод- ную таблицу с данными трех наиболее прибыльных магазинов (свойство ShowDetail исполь- зуется для извлечения записей каждого магазина) Листинг 12-7. Код поедставления данных о трех наиболее выгодных клиентах с помощью метода ShowDetail Sub RetrieveTop3StoreDetail() ' Извлечение данных трех лучших магазинов Dim WSD As Worksheet Dim WSR As Worksheet Dim WBN As Workbook Dim PTCache As PivotCache Dim PT As PivotTable Dim PRange As Range Dim FinalRow As Long Set WSD = Worksheets("PivotTable") ' Удаление предыдущих сводных таблиц For Each PT In WSD.PivotTables PT.TableRange2.Clear Next PT ' Определение области ввода данных и установка кэша FinalRow = WSD.CelIs(Application.Rows.Count, 1).End(xlUp).Row FinalCol = WSD.Cells(l, Application.Columns.Count). __ End(xlToLeft).Column Set PRange = WSD.Cells(l, 1).Resize(FinalRow, FinalCol) Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:= __ xlDatabase, SourceData:=PRange.Address) 1 Создание на основе кэша сводной таблицы Set PT = PTCache.CreatePivotTable(TableDestination:=WSD. _ Cells (2, FinalCol + 2), TableName:="PivotTablel")
Использование VBA для создания сводных таблиц 271 ' Отключение обновления при создании таблицы PT.ManualUpdate = True ' Определение поля строк PT.AddFields RowFields:="Store", ColumnFields:="Data" 1 Определение поля данных With PT.PivotFields("Revenue") .Orientation = xlDataField .Function = xlSum .Position = 1 .NumberFormat = "#,##0" .Name = "Total Revenue" End With 1 Сортировка магазинов по убыванию объема продаж PT.PivotFields("Store").AutoSort Order:=xlDescending, _ Field:="Total Revenue" 1 Отображение данных только лучших 3-х магазинов PT.PivotFields("Store").AutoShow Type:=xlAutomatic, Range:=xlTop, _ Count: =3, Field:="Total Revenue" 1 В области данных нулевые ячейки 1 заменяют пустые ячейки PT.Nullstring = "0" ' Вычисление сводной таблицы так, чтобы 1 распознавались даты PT.ManualUpdate = False PT.ManualUpdate = True ' Создание отчетов для каждого клиента For i = 1 То 3 PT.TableRange2 .Of f set (i + 1, 1).Resized, 1) .ShowDetail = True 1 Активный лист заменяется новым детальным отчетом 1 Добавление названия Range("Al:А2").EntireRow.Insert Range("Al").Value = "Detail for " & _ PT.TableRange2 .Of f set (i + 1, 0).Resized, 1) .Value & _ " (Store Rank: " & i & ")" Next i MsgBox "Detail reports for top 3 stores have been created." End Sub Создание отчетов для каждого региона или модели товара Сводная таблица может содержать одно или несколько полей страниц. По- ле страниц располагается в отдельном наборе строк над сводным отчетом. Оно может служить для фильтрации отчета по определенному региону, модели то- вара или комбинации региона и модели товара.
272 Глава 12 Чтобы задать поле страниц в VBA, используйте в методе AddFileds пара- метр Page Fie Ids. Следующая строка кода создает сводную таблицу с полем Region в качестве поля страниц. PT.AddFields RowFields:="Model", ColumnFileds:="Data", _ PageFields:="Region" Предыдущая строка кода устанавливает для поля страниц Region значе- ние (All), которое указывает выводить все регионы. Чтобы ограничить отчет лишь северным регионом, используйте свойство CurrentPage. PT.PivotFields("Region").CurrentPage = "North" । Один из способов эффективного использования полей страниц заключает- ся в создании пользовательской формы, в которой свойство CurrentPage ус- танавливает пользователь. Другой принцип использования полей страниц заключается в циклической обработке элементов Pivot Items и их отображении в поле страниц. С по- мощью этого метода вы можете быстро создать отчеты Десятка лучших по ка- ждому региону. Чтобы определить количество доступных регионов в наборе данных, ис- пользуйте следующий код. PT.PivotFields("Region").Pivotitems.Count Далее можно применять один из следующих циклов. For i = 1 То PT.PivotFields("Region").Pivotitems.Count PT.PivotFields("Region").CurrentPage = _ PT.PivotFields("Region").PivotItems(i).Name PT.ManualUpdate = False PT.ManualUpdate = True Next i For Each Pivltem In PT.PivotFields("Region").Pivotitems PT.PivotFields("Region").CurrentPage = Pivltem.Name PT.ManualUpdate = False PT.ManualUpdate = True Next Pivltem В обоих циклах отчеты по трем регионам отображаются так быстро, что их невозможно рассмотреть. На практике требуется сохранить каждый отчет. До сих пор в этой главе для копирования данных из сводной таблицы было использовано свойство PT.TableRange2. Свойство TableRange2 включает все строки сводной таблицы, в том числе и поля страниц. Существует также свойство .TableRangel, которое исключает поля страниц. Вы можете ис- пользовать любое выражение для получения детальных строк. PT.TableRange2.Offset(3, 0) PT.TableRangel.Offset(1, 0) Если использовать свойство TableRange2, то проблем при попытке уда- ления сводной таблицы с помощью метода PT. TableRange2 . Clear не воз- никнет. Если вы случайно попытаетесь очистить TableRangel с полями страниц, то получите сообщение о невозможности перемещения или удаления части сводной таблицы.
Использование VBA для создания сводных таблиц 273 В листинге 12.8 создается новая рабочая книга для каждого региона, как показано на рис. 12.20. Рис 12J0. Циклическая обработка всех элементов, найденных в поле страниц Re- gion, приводит к созданию рабочих книг для каждого регионального менеджера Листинг 12.8. Код создания рабочих книг для каждого региона Sub TopSByRegionReport() 1 Создание отчета для 5 лучших магазинов в регионах Dim WSD As Worksheet Dim WSR As Worksheet Dim WBN As Workbook Dim PTCache As PivotCache Dim PT As PivotTable Dim PRange As Range Dim FinalRow As Long Set WSD = Worksheets("PivotTable") 1 Удаление предыдущих сводных таблиц For Each PT In WSD.PivotTables PT.TableRange2.Clear Next PT 1 Определение области ввода данных и установка кэша FinalRow = WSD.Cells(Application.Rows.Count, 1).End(xlUp).Row FinalCol = WSD.Cells(lf Application.Columns.Count). _ End(xlToLeft).Column Set PRange = WSD.Celled, 1) .Resize(FinalRow, FinalCol) Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:= _ xlDatabase, SourceData:=PRange.Address) 1 Создание на основе кэша сводной таблицы Set PT = PTCache.CreatePivotTable(TableDestination:=WSD. _ Cells(2, FinalCol + 2), TableName:="PivotTablel") 1 Отключение обновления при создании таблицы PT.ManualUpdate = True 1 Определение поля строк PT.AddFields RowFields:="Store", ColumnFields:="Data", _ PageFields:="Region"
274 Глава 12 1 Определение поля данных With PT.PivotFields("Revenue") .Orientation = xlDataField .Function = xlSum .Position = 1 .NumberFormat = "#, ##0,K" .Name = "Total Revenue" End With ' Сортировка магазинов в порядке убывания объемов продаж PT.PivotFields("Store").AutoSort Order:=xlDescending, _ Field:="Total Revenue" 1 Вывод только 5 лучших магазинов PT.PivotFields("Store").AutoShow Type:=xlAutomatic, Range:=xlTop, _ Count:=5, Field:="Total Revenue" 1 В области данных нулевые ячейки 1 заменяют пустые ячейки PT.Nullstring = "0" 1 Вычисление сводной таблицы PT.ManualUpdate = False PT.ManualUpdate = True Ctr = 0 1 Циклическая обработка каждого региона For Each Pivltem In PT.PivotFields("Region").Pivotitems Ctr = Ctr + 1 PT.PivotFields("Region").CurrentPage = Pivltem.Name PT.ManualUpdate = False PT.ManualUpdate = True 1 Создание пустой рабочей книги с одним рабочим листом Set WBN = Workbooks.Add(xlWBATWorksheet) Set WSR = WBN.Worksheets(1) WSR.Name = Pivltem.Name 1 Установка названия для отчета With WSR.[Al] .Value = "Top 5 Stores in the " & Pivltem.Name & " Region" .Font.Size = 14 End With 1 Копирование данных сводной таблицы в строку 3 листа отчета 1 Смещение для исключения строк заголовков 1 сводной таблицы PT.TableRange2.Offset(3, 0).Copy WSR.[A3].PasteSpecial Paste:=xlPasteValuesAndNumberFormats LastRow = WSR.Cells(65536, 1).End(xlUp).Row WSR.Cells(LastRow, 1).Value = "Top 5 Total" 1 Базовое форматирование 1 Автозаполнение столбцов, выделение заголовков, 1 выравнивание по правому краю WSR.Range(WSR.Range("А2"), WSR.Cells(LastRow, 3)).Columns.AutoFit Range("A3").EntireRow.Font.Bold = True Range("A3").EntireRow.HorizontalAlignment = xlRight
Использование VBA для создания сводных таблиц 275 Range("АЗ").Ногizonta1Alignment = xlLeft Range("B3").Value = "Revenue" Range("A2").Select Next Pivltem ' Очистка сводной таблицы PT.TableRange2.Clear Set PTCache = Nothing MsgBox Ctr & " Region reports have been created" End Sub Ручная фильтрация нескольких элементов в сводной таблице Помимо настройки вычисляемого сводного элемента для отображения итога по нескольким товарам вы можете вручную фильтровать отдельные поля. Например, клиент, покупающий обувь, затребовал отчет по продажам сан- далий только в штатах с теплым климатом. Код сокрытия отдельного магазина следующий. PT.PivotFields("Store").Pivotitems("Minneapolis").Visible = False Проявляйте осторожность и никогда не устанавливайте значение False для всех элементов. В противном случае макрос вызовет ошибку. Это проис- ходит чаще, чем вы можете ожидать. Приложение может вначале вывести то- вары А и в, а затем, в следующем цикле — товары с и D. Если вы попытаетесь скрыть товары Айв перед выводом товаров с и D, то попадете в ситуацию, когда в поле вообще не будет отображаемых товаров, что равнозначно ошибке. Чтобы решить эту проблему, циклически обрабатывайте все элементы Pivot Items и устанавливайте для них значения Visible перед повторным запус- ком цикла. Эта проблема легко решается в VBA. После создания таблицы с полем Line of Business в поле страниц выполните цикл изменения свойства Visible и вывода итогов по определенным товарам. Для этого используется следующий код. ' Все элементы PivotItems видимы For Each Pivltem In _ PT.PivotFields("Line of Business").Pivotitems Pivltem.Visible = True Next Pivltem ' Циклический просмотр и отображение ' только определенных элементов For Each Pivltem In PT.PivotFields("Line of Business").Pivotitems Select Case Pivltem.Name Case "Copier Sale", "Printer Sale"
276 Глава 12 Pivltem.Visible = True Case Else Pivltem.Visible = False End Select Next Pivltem Ручное управление порядком сортировки Если ваша компания имеет много подотчетных регионов, представляемых в строгой последовательности South, North, West, то менеджерам не понра- вятся отчеты с последовательностью North, South, West хотя бы потому, что эта сортировка в алфавитном порядке предлагается сводными таблицами по умолчанию. Компания Microsoft предлагает совершенно необычный метод управления порядком сортировки в сводной таблице. Он называется порядком сортировки вручную. Чтобы изменить порядок сортировки в пользовательском интерфей- се, перейдите в ячейку сводной таблицы, которая содержит имя North, введи- те слово South и нажмите <Enter>. Поля North и South как по волшебству поменяются местами. Естественно, все числа для региона North переместят- ся в соответствующий столбец. Код выполнения сортировки вручную требует присвоения специальному элементу Pivotitem настройки Position. Эта операция небезопасна, по- скольку точно неизвестно, содержатся ли данные South для каждого дня. Ус- тановите опцию Error Checking для возобновления работы в случае, если данные South отсутствуют. On Error Resume Next PT.PivotFields("Region").Pivotitems("South").Position = 1 Функции СУММ, СРЗНАЧ, КОЛИЧЕСТВО, МИН, МАКС и другие До сих пор в каждом примере этой главы данные суммировались, можно также получить среднее, минимальное или максимальное значение данных. В VBA измените свойство поля данных Function и определите полю данных уникальное имя. Например, следующий фрагмент кода создает пять различ- ных итогов для поля, каждому из которых присваивается уникальное имя. 1 Определение поля данных With PT.PivotFields("Revenue") .Orientation = xlDataField .Function = xlSum .Position = 1 .NumberFormat = "#,##0,K" .Name = "Total Revenue" End With With PT.PivotFields("Revenue")
Использование VBA для создания сводных таблиц 277 .Orientation = xlDataField .Function = xlCount .Position = 2 .NumberFormat = "#,##0" .Name = "Number Orders" End With With PT.PivotFields("Revenue") .Orientation = xlDataField .Function = xlAverage .Position = 3 .NumberFormat = "#,##0" .Name = "Average Revenue" End With With PT.PivotFields("Revenue") .Orientation = xlDataField .Function = xlMin .Position = 4 .NumberFormat = "#,##0" .Name = "Smallest Order" End With With PT.PivotFields("Revenue") .Orientation = xlDataField .Function = xlMax .Position = 5 .NumberFormat = "#,##0" .Name = "Largest Order" End With Результирующая сводная таблица предоставляет статистику о среднем объе- ме продаж, самом крупном и самом мелком заказах и т.д. Процентные показатели Помимо таких доступных функций, как СУММ, МИН, МАКС и СРЗНАЧ, в свод- ной таблице можно вести расчеты с помощью так называемых процентных вы- числений. Они позволяют отображать отдельное поле в виде процентного пока- зателя относительно общего, строки, столбца или в виде относительной раз- ницы от предыдущего или последующего элемента. Все эти расчеты выполняются с помощью свойства .Calculation поля страниц. Действительными значениями для свойства .Calculation являются зна- чения xlPercentOf, xlPercentOf Column, xlPercentOfRow, xlPercent- OfTotal, xlRunningTotal, xlPercentDifferenceFrom, xlDiffer- enceFrom, xllndex и xlNoAdditionalCalculation. Каждое значение имеет уникальный набор правил. Некоторые из них требуют установки свой- ства BaseField, а другие— установки свойств BaseField и Baseitem. В следующих разделах описано несколько простых примеров.
278 Глава 12 Процент от общего Чтобы получить процентное значение от общего, определите свойству Calculation поля страниц значение xlPercentOfTotal. ' Процент от общего With PT.PivotFields("Revenue") .Orientation = xlDataField .Caption = "PctOfTotal" .Function = xlSum .Position = 2 .NumberFormat = "#0.0%" .Calculation = xlPercentOfTotal End With Процентный рост по сравнению с предыдущим месяцем Если в столбцах представлены месяцы, вы можете просматривать ежеме- сячный процентный рост. Эта задача решается в результате использования настройки xlPercentDifferenceFrom. В данном случае свойству Base- Field нужно установить значение In Balance Date и задать свойство Baseitem (например, (previous)). ' Процентный рост по сравнению с предыдущим месяцем With PT.PivotFields("Revenue") .Orientation = xlDataField .Function = xlSum .Caption = "%Change" .Calculation = xlPercentDifferenceFrom .BaseField = "In Balance Date" .Baseitem = "(previous)" .Position = 3 .NumberFormat = "#0.0%" End With Заметьте, что, работая с позиционными показателями, вы не можете ис- пользовать методы AutoShow и AutoSort. Процент отдельного элемента Многие компании предпочли бы, чтобы их доходы от обслуживания пре- вышали отдачу от продаж копировальных устройств. Используйте настройку xlPercentDif ferenceFrom для вывода доходов в виде процентного пока- зателя. ' Процент отдельного элемента With PT.PivotFields("Revenue") .Orientation = xlDataField .Function = xlSum .Caption = "% of Copier" .Calculation = xlPercentDifferenceFrom .BaseField = "ProductLine" .Baseitem = "Copier Sale" .Position = 3 .NumberFormat = "#0.0%" End With
Использование VBA для создания сводных таблиц 279 Промежуточные итоги Чтобы вывести промежуточные итоги, необходимо определить свойство BaseField. В данном примере отображается промежуточная сумма In Ba- lance Date. Чтобы описать столбец с промежуточными итогами для продаж, вы должны присвоить свойству BaseField значение In Balance Date. ' Промежуточные итоги With PT.PivotFields("Revenue") .Orientation = xlDataField .Function = xlSum .Caption = "YTD Total" .Calculation = xlRunningTotal .Position = 4 .NumberFormat = "#,##0,K" .BaseField = "In Balance Date" End With На рис. 12.21 показаны результат настройки сводной таблицы с тремя пользовательскими вычислениями, описанными ранее. . М “ Tn 41 " 1 1,1 0 — ...... 2 Данные * 3 Годы * IN BALANCE DATE rj Сумма по полю REVENUE ; PctOfTotal %Change YTD Total 4 2006 ЯНЕ. 32 684KS 4,0%. 1 32 684K фев 34 091К A 2% 4.3% 66 775k 5 ул "31 \ мар 34 64ЭК? 4,3%T 1,6%] 101 424k апр май июн 33 959k! 42%’ -2,0%'135 383k ~35'ii3kT 4'3%T 3,4%^ 170 496К ’33 704kf' ~4.1 %i ' -4,0%T204 200K 1Q июл 33 134K 1 i i ; t 1 I i ! i i • ’a ё и авг 32 991k 4,1%’ -0.4% 270 325k сен 32 305k 4.0% -2.1% 302 631k 13 14 окт ноя 34Z45K 33 745k 4,2%; 6,6%j 337 076k 4,1 %Г "-210%Т370 821 k 15 Д( к 33 051k 4.1 %' -2.1% 403 872k 16 Р 2007 янь 33 743K 4.1% [ 33 743k фев 33 483K 4,1 % j -0.8% 67 226k 18 мар 35 841k 4.4%! 7.0% 103L67K 19 а. о I I i i ! • г I 1 ! : 33 710k 4.1%’ -5.9% 136 777k 2U май 34 459k 4^%t 2^%| 171 236k 4.1%]' "-'2.8%: 204 728k 21 июн 33 492k 22 июл 33 751K 4.1% 0.8% 238 479k 23 авг 34 229k 4.2% 1.4% 272 708k 24 сен 32 836k 4.0%! -4.1% 305 543k 25 окт 35 219k 4.3%[ 7.3% 340 762k 26 ноя 35 704k 4.4%; 1.4% 376 467k 27] А* к 33 056k 4.1% -7.4% 409 523k 20 Общий итог 813 395k 100,0% Рис. 12.21. В эту сводную таблицу включено четыре метода представления объемов продаж. В столбце о выполняются стандартные вычисления. В столбце Р вычисляется процент от общего. В столбце Q выводится процентное изменение по сравнению с предыдущим месяцем. В столбце R находится промежуточная сумма
280 Глава 12 ПРАКТИКУМ Специальные решения для Excel 97 Поддержка сводных таблиц и VBA радикально изменили Excel 2000. В Excel 2000 компания Microsoft представила новый объект Pivotcache Этот объект позволя- ет создавать отдельный кэш и на его основе составлять множество отчетов свод- ных таблиц. Официально Microsoft перестала поддерживать Excel 97 несколько лет назад, но многие компании все еще продолжают его использовать. Можно создать VBA- код, который работал бы на унаследованной платформе, но для этого следует знать, как сводные таблицы создавались в Excel 97. В Excel 97 активно использовался метод pivotTableWizard. Взгляните на код, предназначенный для создания простой сводной таблицы, выводящей объемы продаж по регионам и торговым направлениям. Там, где в текущем коде исполь- зуется два шага (использование метода Pivotcache и метода CreatePivot Table), для создания таблицы в Excel 97 применяется только один шаг с исполь- зованием метода PivotTableWizard. Sub PivotExcel97Compatible() Код создания сводней таблицы WSD As Worksheet PT As PivotTable PRange As Range FinalRow As Long Dim Dim Dim Dim в Excel Set WSD я Worksheets("PivotTable”) * ’ « и / • Удаление предыдущих сводных таблиц For Each PT In WSD.PivotTables PT.TableRangel.Clear Next PT 1).End(xlUp) Row ’ Определение области ввода данных WSD.Cells(Application.Rows.Count, WSD.Cells(1, Application.Columns.Count)t End(xlToLeft).Column я WSD.Cells(l, 1).Resize(FinalRow, FinalCol) FinalRow = FinalCol « Set PRange ' Создание Set PT я WSD.PivotTableWizard(SourceType:=xlDatabase, SourceData:=PRange .Address < Tab3eDestination: = "R2C13", Tab1eName:«"PivotTable1") сводной таблицы с помощью метода PivotTableWizard ч PT. Manual Update я True ’ Задание поля строк PT.AddF .elds RowFields:="Region", ColumnFields:="Line of Business” ’ Определение поля данных Witn PT.PivotFields("Revenue”) .Orientation = xlDataField .Function = xlSum .Position = 3 .NumberFormat «
Использование VBA для создания сводных таблиц 281 .Name ’’Total Revenue” End With PT.ManualUpdate » False PT.ManualUpdate » True End Sun Дальнейшие шаги В приложении А вы найдете ответы на многие вопросы, связанные с управлением сводными таблицами.
Приложение Трудности, связанные с управлением сводными таблицами В данном приложении даются ответы на следующие вопросы. Недопустимое имя поля сводной таблицы При обновлении сводной таблицы пропадают данные При попытке группировки поля выводится сообщение об ошибке Невозможно сгруппировать ежемесячные данные в квартальные Сводная таблица дважды выводит один и тот же элемент Удаленные элементы все еще отображаются в поле страниц Невозможно скопировать формулу, ссылающуюся на сводную таблицу Сортировка элементов данных в уникальном порядке, а не по возрас- танию или убыванию Как преобразовать сводную таблицу в строгие данные Простой способ заполнения пустых ячеек полями строк Простой способ заполнения пустых ячеек во множестве столбцов Как добавить в сводную таблицу ранговое числовое поле В сводную диаграмму не включены месяцы для определенных элементов Можно ли создать сводную диаграмму в том же рабочем листе, в кото- ром расположена сводная таблица Как преобразовать отчет сводной таблицы в интерактивную Web-страницу Недопустимое имя поля сводной таблицы Проблема При попытке создания сводной таблицы выводится следующее сообщение об ошибке. Недопустимое имя поля сводной таблицы. Чтобы создать сводную таблицу, используйте данные, организованные в виде списка с заголовками столбцов. Для изменения имени поля сводной таблицы введите новое имя.
284 Приложение Решение Это сообщение означает, что один или несколько столбцов в источнике данных не имеет заголовка. Для решения этой проблемы перейдите к набору данных, используемому для создания сводной таблицы, и проверьте наличие заголовка для каждого столбца. При обновлении сводной таблицы пропадают данные Проблема После обновления сводной таблицы поле, помещенное в область данных, пропадает, а вместе с ним удаляются и данные сводной таблицы. Решение Подобная ситуация возникает, если изменить имя поля, помещенного в область данных. Например, если вы создали сводную таблицу и поместили по- ле Revenue в область данных, то сводная таблица будет отображать в области данных информацию о продажах. Если же вы перейдете к источнику данных и измените имя заголовка столбца с Revenue на Dollars, а затем обновите сводную таблицу, то цифры в области данных исчезнут. Причина заключается в том, что при обновлении сводной таблицы программа получает новый момен- тальный снимок источника данных, определяет, что поля Revenue больше нет и, соответственно, не может вычислить поле, которое отсутствует. Чтобы решить эту проблему, откройте список полей сводной таблицы и перетащите новое поле в область данных. При попытке группировки поля выводится сообщение об ошибке Проблема При попытке группировки поля выводится следующее сообщение. Выделенные объекты нельзя объединить в группу. Решение Это сообщение об ошибке отображается в следующих ситуациях. Вы пытаетесь группировать текстовое поле. Вы пытаетесь группировать поле дат, которое содержит текст или пус- тые ячейки. Вы пытаетесь группировать поле дат, которое не распознается про- граммой Excel как текст. Вы пытаетесь группировать область страниц сводной таблицы.
_____________________Трудности, связанные с управлением сводными таблицами 285 Чтобы решить эту проблему, выполните следующие действия. 1. Перейдите к источнику данных и убедитесь в том, что поле, которое вы хотите сгруппировать, имеет тип данных Дата и не содержит пустых ячеек или ячеек с текстом. Удалите весь текст, назначьте ячейкам в поле числовой формат Дата и введите во все пустые ячейки фиктивные даты. 2. Выделите столбец, который содержит группируемое поле. Перейдите в строку меню и выполните команду Данные^Текст по столбцам. Запус- тится мастер текстов. В его диалоговом окне щелкните на кнопке Да- лее, еще раз щелкните Далее, а затем — на кнопке Готово. 3. Вернитесь к сводной таблице, щелкните на ней правой кнопкой мыши и используйте команду Обновить данные. 4. Если вы пытаетесь сгруппировать поле, являющееся областью страниц сводной таблицы, то переместите это поле в область строк или столбцов. 5. На этом этапе вы сможете сгруппировать в поле элементы данных. По- сле группировки поля переместите его обратно в область страниц, если это необходимо. Невозможно сгруппировать ежемесячные данные в квартальные Проблема Вместо получения одного поля с данными нескольких месяцев выводится несколько полей, представляющих каждый месяц. Ваша сводная таблица вы- гладит примерно так, как показано на рис. 1. А 4 С о гп 1 еретащ&те сюда поля страниц, Список полей сводной га X Перетешите элементы в сводную таблицу MARKET * Данные ▼ Итог 4 5 Great Lakes Сумма по полю янь 03 730294 Сумма по полю фев 03 5670930 □ фев. 03 6 Сумма по полю мар.ОЗ £78091 со -Ч Г- 1 Сумма по полю апр.ОЗ Сумма по полю май.ОЗ 109789 578960 Ь Щмар.оЗ [- □ апр.ОЗ 9 Сумма по полю июн 03 678909 • ГО маиЛЗ ho ! Сумма по полю июл 03 5678I2 j5»! июн.ОЗ 11 12 13 Сумма по полю авг.ОЗ Сумма по полю сен.ОЗ Сумма по полю окт 03 567894 345781 567839 J июл-03 !- J авг.03 t 'Z 14 Сумма по полю дек 03 678950 j~jrPH.O3 ' J-J-.kt.03 115 New England Сумма по полю янв 03 10343246 16 Сумма по полю фев.ОЗ 1627075 ’ дек.ОЗ — ▼ 17 18 I Сумма по полю мар.ОЗ Сумма по полю апр.ОЗ 663391 1642000 19 ZL Сумма по полю май.ОЗ 872357 j Поместить в Область ctj ▼ Сумма по полю июн.03 946974 Рис. 1. Вместо одного поля, содержащего сведения по нескольким ме- сяцам, выводятся отдельные поля для каждого месяца
286 Приложение Проблема заключается в отсутствии группировки месяцев в кварталы, по- скольку сводные таблицы поддерживают группировку только элементов дан- ных внутри одного поля. Они не позволяют группировать поля вместе. По- скольку для каждого месяца выделено собственное поле, вы не сможете сгруппировать их в текущем состоянии. Решение Причина такого поведения таблицы кроется в исходно заданной структуре данных. Структура таблицы, показанная на рис. 2, неправильна. Основное правило при работе со сводными таблицами гласит, что имена столбцов в ис- точнике данных никогда не должны повторять элементы данных, которые бу- дут использоваться в качестве фильтров или критерия запроса (например, на- звания месяцев, даты, годы, названия мест, имена служащих). Решение этой проблемы заключается в изменении структуры источника данных таким образом, чтобы он содержал три столбца: Market, Month и Revenue (рис. 3). Д .. А В c J, Q c в -7 1 МАЖЕГ яивОЗ февОЗ 'мар 03 апрОЗ ^айСЗ 2 Great Lakes /30294 5670930 678031 109789 578960 .3 Shenandoah Vafey 981056 5674893 325648 456732 819234 4 Shenandoah Valley 885089 123461L 7658489 26832 87651 1Н New England 345209 48634 235482 395734 326341 6 №w Fng1^"1 567098 85423 234786 5362 ’852 7 Г Jew England 4567880 758934 6313 74534 5745 6 New Englan 1 970684 83473' 95675 980569 9875 9 NewEndand 3546754 641236, 4323 7345 84906 10 Nee England 345621 9375 86312 178456 437638 11 New York South 456324 9675 45890 2623 238746 12 New York South 567435 8634 42344 423423 6454 Рис. А.2. Структура источника данных некорректна. Большая часть названий столбцов в этой таблице дублируется в качестве критериев, используемых для идентификации месяцев A В 1 C ’ 1 Рынок Месяц Продажи 2 Great Lakes Декабрь 2003 678955 New England Декабрь 2003 8365 4 i New England Декабрь 2003 653 5 New England Декабрь 2003 86465 6 New England Декабрь 2003 598346 7 New England Декабрь 2003 7/84 J New England Декабрь 2003 6213 9 New York South Декабрь 2003, 4556 10 New York South Декабрь 2«й 423423 11 {Shenandoah Valley Декабрь 2003 88965 12 {Shenandoah Valley Декабрь 2003 9879601 Рис. А.З. Создание отдельных столб- цов для рынка и объемов продаж по- зволит использовать в сводной табли- це в качестве элементов данных на- звания месяцев, а не полей Существует простой способ замены структуры из рис. 2 структурой, пока- занной на рис. 3. Самое интересное заключается в том, что данный метод тре- бует создания сводной таблицы. 1 2 3 4 5 1. Поместите курсор внутри таблицы, перейдите в строке меню и выпол- ните команду Данные1^Сводная таблица. 2. Когда запустится мастер сводных таблиц и диаграмм, выберите вариант В нескольких диапазонах консолидации и щелкните на кнопке Далее. 3. Выберите опцию Создать поля страницы и щелкните на кнопке Далее. 4. В открывшемся диалоговом окне вас попросят указать диапазон источ- ника данных. Введите диапазон в соответствующее поле и щелкните на кнопке Готово. 5. В созданной сводной таблице дважды щелкните на пересечении общих итогов, как показано на рис. 4.
Трудности, связанные с управлением сводными таблицами 287 Итоговый результат, показанный на рис. 5, представляет совершенно но- вую таблицу, структурированную именно таким образом, как требуется для группировки месяцев. Помните, что перед использованием сводной таблицы вам придется несколько изменить ее форматирование (т.е. изменить формат дат и переименовать заголовки столбцов). 567812 567894! 345781* 567839] 678950] 97991*1 2347241 202093 144598 707526 23640: 46280 4098' 9167Г 427979 932'71 948737 4323211 532085? 1076925 11323401 1797635 98/293 1253689_Г" 2891380 Рис. 4. Для получения конечной таблицы дважды щелкните на пересечении общих итогов А R С 1 Строки Столоеи Значение 2 Great Lakes 01.12.2003! 678950 3 New England 01 12'2003: 8365 4 New England 4)1 12 2003 653 5 New England 01.12 2003 86465 6 New England 01 12.2003: 598346 7 HNew England 01.12 2003, 7484 F New England 01.12.2003' 6213 9 New York South 01.12 2003 4556 10 New York South 31.12.2003? 423423 11 Shenandoah Valley 01.12.2003 38965 12 Shenandoah Valley 01.12 2003! 987960 Рис. 5. После форматирования и переимено- вания столбцов в итоговой таблице на ее ос- нове можно создать новую сводную таблицу. Подобная структура позволит группировать месяцы по кварталам Сводная таблица дважды выводит один и тот же элемент Проблема Сводная таблица выводит один и тот же элемент данных два раза, представ- ляя каждый экземпляр элемента данных как отдельный объект. На рис. 6 про- демонстрирован пример этой ошибки. Решение Подобная проблема возникает весьма часто, поскольку, несмотря на визу- альное сходство элементов данных, между ними все же имеется большая раз- ница. Программа Excel учитывает эту разницу и “запоминает” два различных элемента данных. Чтобы решить эту задачу, нужно сделать так, чтобы про- блемные элементы данных были абсолютно одинаковы. Для этого выполните следующие операции. 1. Перейдите к источнику данных и отсортируйте таблицу по проблемно- му полю. В примере, показанном на рис. 6, проблемным является поле Date. 2. Найдите все экземпляры проблемного элемента данных (в нашем слу- чае элемент 1/3/2003) и убедитесь в том, что они ничем не отличают- ся. Вы можете выполнить эту задачу в результате копирования первого экземпляра элемента данных и его вставки поверх других экземпляров.
288 Приложение 3. Выделите столбец, содержащий проблемный элемент данных. Перейди- те в строку меню и выполните команду Данные*=>Текст по столбцам. В открывшемся диалоговом окне Мастер текстов щелкните на кнопке Далее, вновь щелкните на кнопке Далее, а затем щелкните на кнопке Готово. 4. Вернитесь к сводной таблице, щелкните на ней правой кнопкой мыши и выполните команду Обновить данные. Рис.6. Обратите внимание на то, что элемент 1/3/2003 выводится в сводной таблице дважды. Если выводимые даты одинаковы, их следует сгруппировать вместе, чтобы выполнить одно вычисление вместо двух Удаленные элементы все еще отображаются в поле страниц Проблема Вы удалили элемент данных из источника данных и обновили сводную таблицу. Тем не менее, этот элемент все еще выводится в сводной таблице. В примере, показанном на рис. 7, в поле страниц отображается четыре регио- на, включая Midwest (Средний Запад). Рис. 7. Проблема заключается в том, что регио- на Midwest больше не существует и в источни- ке данных нет записей, обозначенных как Mid- west. Сводная таблица хранит этот элемент данных в кэше
Трудности, связанные с управлением сводными таблицами 289 Решение Чтобы удалить данные-призраки из сводной таблицы, полностью удалите из сводной таблицы поле, содержащее старые элементы (в данном примере поле Region). Обновите сводную таблицу, а затем перетащите это поле об- ратно на исходную позицию. Фантомные элементы данных исчезнут. Невозможно скопировать формулу, ссылающуюся на сводную таблицу Проблема Если вы работаете в Excel 2002 или более поздней версии программы, то обнаружите совершенно ненужную настройку по умолчанию, затрагивающую поведение функции ПОЛУЧИТЬ . ДАННЫЕ . СВОДНОЙ. ТАБЛИЦЫ. Программа Excel автоматически вставляет функцию ПОЛУЧИТЬ. ДАННЫЕ. сводной. таблицы в любую ячейку, в которую вы пытаетесь ввести формулу, ссылающуюся на сводную таблицу. Проблема в том, что функция получить . данные . сводной. таблицы автоматически ссылается на ячейки сводной таблицы абсолютным образом, что делает невозможным простое ко- пирование формул и получение правильного ответа. Решение Для решения этой проблемы нужно выполнить следующие операции. 1. Перейдите к строке меню и выполните команду Сервис^Настройка. 2. На вкладке Команды выберите Данные. 3. Найдите команду Создать GetPivotData и перетащите ее на любую из панелей инструментов. 4. Щелкните на кнопке Закрыть. 5. Щелкните на кнопке Создать GetPivotData, чтобы отключить эту функцию. 6. Вновь введите формулу с отключенной функцией Создать GetPivotData. Сортировка элементов данных в уникальном порядке, а не по возрастанию или убыванию Проблема На рис. 8 в отчете сводной таблицы показана последовательность регио- нов, заданная по умолчанию. Регионы представлены в алфавитном порядке в последовательности North, South, West. Если предприятие базируется в Калифорнии, то по традиции регион West имеет смысл выводить первым.
290 Приложение - W- А В Г с Id 1 X 2 3 Сумма по полю REVENUE REGION *| 4 UNE OF BUSINESS * North , South West Общий итог £ Copier Sale 25 893 618! 36 711 470* 23 976 601 86 581 689 Б Parts 29 063 171 31 205 269; 23 670 053 83 938 493 7 Printer Sale 2C621317J 28 153 264 19 594 197 60 368 778 8 Service Plan 201 414 511 223 750 307 149 341 261 574 506 079 а Обший итог 276 992 617; 319 320 310; 216 582 112 813 395 039 Рис. 8. Традиции компании могут диктовать собственную по- следовательность вывода регионов: West, North, South. К сожалению, в этом она не совпадает с порядком сортировки как по возрастанию, так и по убыванию Решение Вы можете переставить элементы данных в сводной таблице вручную, вве- дя имена элементов данных отдельно, либо перетащить элемент данных в нужное место. Чтобы решить эту проблему, введите слово West в ячейку В5 и нажмите <Enter>. Сводная таблица отреагирует на ваши действия, изменив последова- тельность регионов. Объем продаж 216 млн долларов для региона West авто- матически переместится из столбца D в столбец в. Остальные регионы будут помещены в следующие два столбца. Как преобразовать сводную таблицу в строгие данные Проблема Вы создали сводную таблицу только для суммирования и получения итого- вых данных. Нет необходимости хранить ни исходные данные, ни сводную таблицу со всеми ее функциями. Решение Преобразование сводной таблицы в строгие данные позволяет использо- вать результаты сводной таблицы без необходимости работы с исходными данными или кэшем сводной таблицы. Метод преобразования сводной таб- лицы в строгие данные зависит от копируемой области сводной таблицы. Если вы копируете только часть сводной таблицы, то выполните следующее. 1. Выделите данные, которые хотите скопировать из сводной таблицы. Затем перейдите в строку меню и выполните команду Правка*^ Копировать. 2. Щелкните правой кнопкой мыши в таблице и используйте команду Вставить. Если требуется скопировать всю сводную таблицу, выполните следующее.
Трудности, связанные с управлением сводными таблицами 291 1. Выделите данные, которые хотите скопировать из сводной таблицы. Перейдите в строку меню и примените команду Правкам Копировать. 2. Щелкните правой кнопкой мыши в таблице и используйте команду Специальная вставка. 3. Выберите опцию Значения и щелкните на кнопке ОК. Простой способ заполнения пустых ячеек полями строк Проблема При преобразовании сводной таблицы в строгие данные вам доступны не только значения, созданные сводной таблицей, но и структура данных свод- ной таблицы. Например, данные на рис. 9 получены из сводной таблицы. А В C 1 MARKET LINE OF BUSINESS Итог 2 j California Copior Sale 4 020 385 3 Parts 8 720 027 4 Printer Sale 3 570 593 5 1 Service Plan 45 325 727 6 Central Copier Sale 3 506 717 7 Parts 2 487 047 е Printer Sale 3 414 010 9 Servlc e Plan 21 096 068 10 Colorado Copper Sale 3113 591 11 Parts 1 862 325 .12 Printer Sale 3 124 724 13 Service Plan 18116 561 Рис. 9. Поле Market имеет ту же структуру поля строк, которая при- сутствовала в сводной таблице Обратите внимание на то, что поле Market имеет ту же структуру поля строк, которая присутствовала в сводной таблице. Будет неблагоразумно ис- пользовать эти данные без заполнения пустых ячеек слева от поля строк. Но как заполнить эти пустые ячейки? Решение Вы, конечно, можете попробовать скопировать каждый рынок и вставить его в соответствующую пустую ячейку, однако если рынков много, игра не стоит свеч. Наилучшее решение заключается в использовании простой формулы. Эта формула, показанная на рис. 10, вводится перед первым элементом данных в поле строк. Идея состоит в создании столбца перед пустыми ячейками и его заполнении значениями. В данном случае этими значениями будут названия рынков.
292 Приложение г ? ч1 ч th KJ r . A..’,, , ~-ЕСЛИ(В2=-,А1;В2) В .MARKET г-i .California , С LINE OF BUSINESS Copier Sale Parts Printer Sale Servicc Plan ; о Итог 4 020 385 8 720 027 3 570 593 45 325 727 Рис. 10. Формула =ЕСЛИ(В2 = "" ;А1;В2) ПОЗВОЛЯет определить, что если ячейка после формулы пуста, используется ячейка над формулой. В противном случае используется ячейка после формулы После ввода корректной формулы копируйте ее до конца набора данных. Как видно на рис. 11, этот метод более эффективен, чем копирование и встав- ка названия 20 рынков. 7 A " ? a CD "" c ' 7 d J MARKET LINE OF BUSINESS Итог 2 California California Copier Sale 4 020 385 3 California Parts 8 720 027 4 California Printer Sale 3 570 593 £ .9 California Servic j Dlan 45 325 727 6 Central Central Copier Sale 3 506 717 7 Central Parts 2 487 047 8 Central Printer Sale 3 414 01G 9 * Central Service Plan 21 096 068 10 Colorado Coloracir Copier Sale 3113 591 11 1 Colorado Parts 1 862 325 12 Colorado Printer Sale 3 124 724 13 Colorado Service Plan 18116 561 Рис. 11. После ввода формулы вы можете копировать ее до конца набора данных, чтобы заполнить пустые места Проблема еще не решена. После заполнения пустых мест с помощью фор- мулы выделите весь столбец, щелкнув на букве столбца, как показано на рис. 12, затем перейдите в строку меню и выполните команду Правкам Копировать. Щелкните правой кнопкой мыши на букве столбца и примените команду Специальная вставка*^Значения. Щелкните на кнопке ОК. 1 В ‘®?КЕТ C LINE OF BUSINESS D Итог 2 California ’ Calfforms California California Central Central Central I California Coniei Sale 4 020 385 3 Parts 8 720 027 4 Printer Sale 3 570 593 5 Service Plan 45 325 727 6 Central Copier Sale 3 506 717 o&j-m j Parts Printer Sale 2 487 047 3 414 010 9 J Central ! Colorado S service Plan 21 096 068 10 Colorado Copier Sale 3 113 591 Рис. 12. Преобразуйте формулы в строгие значения с помощью команды Специальная вставка Последний этап, показанный на рис. 13, заключается в удалении столбца с пустыми ячейками и добавлении заголовка для только что соз- данного столбца.
Трудности, связанные с управлением сводными таблицами 293 . А В C РЫНОК Отрасль торговли Итог California Copier Sale 4 020 385 3 Califorr ia Parts 8 720 027 California Printer Sale 3 570 593 _5 California Seivice Plan 45 325 727 6 Central Copier Sale 3 506 717 7 Central Parts 2 487 047 6 Central Printer Sale 3 414 010 9 Central Service Plan 21 096 068 Ю Colorado Copier Sale 3113 591 Рис. 13. После дополнительного форматиро- вания вы получите требуемый результат Простой способ заполнения пустых ячеек во множестве столбцов Проблема При преобразовании сводной таблицы в строгие данные в вашем распоря- жении остается несколько пустых столбцов. Предыдущий метод прекрасно срабатывает только для одного столбца, однако на заполнение таким образом нескольких столбцов, как в примере сводной таблицы, показанной на рис. 14, уйдет немало времени. T'>" A 'Lao 1 Q "F— ’i MARKET UNE OF BUSINESS IN BALANCE DATE Итог TT M KJ California Copier Sale —w ЯНВ фев мар anp май июн 295 819 302 261 327 455 ”331 489 339 592 351 133 8 "9; 10 июл авг сан 335 742 312 499 382 426 11 12 13 окт ноя дек 362 035 320 288 359 646 14 Parts Япо фев 670 949 717 046 Рис 14. В столбцах с а по с нужно заполнить все пустые места Решение Это решение не настолько интуитивно, как в предыдущем примере, однако оно очень эффективно при заполнении нескольких пустых столбцов. Вы выбираете диапазон столбцов А, в и С, который простирается от первой строки с пустыми ячейками до строки над общим итогом. В нашем примере выделяется диапазон АЗ .* С10 0 9. В меню Правка выберите команду Перейти. В левом нижнем углу диалого- вого окна Переход щелкните на кнопке Выделить. Диалоговое окно Выделение группы ячеек предоставляет прекрасные возможности по модификации выделения на основе различных условий. В данном примере выбрана опция Пустые ячейки, как показано на рис. 15.
294 Приложение Рис. 15. Диалоговое окно Выделение группы ячеек позво- ляет выделить для заполнения все пустые ячейки Таким образом выделяются только пустые ячейки. Введите формулу, которая копирует значения элементов из ячейки выше в пустые ячейки. Вы можете ввести ее путем нажатия четырех клавиш — вве- дите знак равенства, нажмите клавишу со стрелкой вверх и, не отпуская кла- вишу <Ctrl>, нажмите клавишу <Enter>. Знак равенства указывает программе Excel на то, что вы вводите формулу в активную ячейку. Нажатие клавиши со стрелкой вверх указывает на ячейку над активной ячейкой. Комбинация <Ctrl+Enter> указывает программе Excel ввести подобную формулу во все выделенные ячейки, а не только в активную ячейку. Таким образом, вы вводите формулу для заполнения всех пустых яче- ек одновременно (рис. 16). Этот метод обеспечивает быстрое заполнение макета, предоставленного сводной таблицей. Как добавить в сводную таблицу ранговое числовое поле Проблема При сортировке и упорядочении поля большим количеством элементов данных может оказаться довольно сложным определить ранг анализируемого элемента данных. Более того, для дальнейших анализов может потребоваться преобразовать сводную таблицу в строгие значения. Поле целых чисел, содер-
Трудности, связанные с управлением сводными таблицами 295 жащее реальные индексы каждого элемента данных, может оказаться доволь- но удобным при анализе информации вне сводной таблицы. A В C D р MARKET LINE OF BUSINESS IN BALANCE DATE Итог 2 California Copier Sale ЯНЕ* 295 819 А California Copper Sale фее 302 261 California Collar Salt мар 327 455 5 California fcnpfor Salt Copier Sala апр 331 489 $ California май 339 592 California Copier Sale июн 351 133 California Copier$ale Copier $sla июл 335 742 9 California авг 312 499 То CalHo-’nia Cnpfoi* Sale сен 382 426 11 California Copter Sale ‘ окт 362 035 я California < *' Cooler Sa'e ниЯ 320 288 13 Californri Copier Sale дек 359 646 14 California Parts янв 670 949 Й California Parts фек 717 046 16, California Parts мар 684 975 171 California Pans апр 770 511 18 California май 743 869 California Parts июн 737 281 California Parts июл 818 287 21 aliforrj.a Parts авг 818 289 22 California Parts Parte Parts J сен 654 4% 23 California окт 727 676 24 Cahforn,» ноя 735 768 25 California Parts дек 640 886 26j I California ___ Printer Sale янв 271 903 Рис. 16. Нажав несколько клавиш, вы получите требуемый результат Решение Выберите ячейку в сводной таблице. На панели инструментов Сводные таблицы откройте список Сводная таблица и примените команду Формулы^ Вычисляемое поле. На рис. 17 показано диалоговое окно Вставка вычисляемого поля. Задайте полю имя, как например Market Rank. Формулу представьте выражением =1. Щелкните на кнопке Добавить, чтобы создать поле. Изначально поле MarketRank выглядит совершенно бесполезным, указы- вая, что все рынки имеют ранг 1. Щелкните правой кнопкой мыши на заголовке Сумма по полю MarketRank и примените команду Параметры поля. В диалоговом окне Вычисление поля сводной таблицы задайте полю имя Rank_. Щелкните на кнопке Дополнительно. В блоке Дополнительные вычисления расширенного диалогового окна выберите опцию С нарастающим итогом в поле. Поскольку это поле исполь- зуется для классификации рынков, выберите в области Поле имя Market. На рис. 18 показано диалоговое окно с измененными настройками. В результате вы получите новое поле данных с относительным рангом каж- дого рынка, как показано на рис. А. 19.
296 Приложение Рис. 17. Добавление рангов требует применения простого вычисляемого поля, которое назначит каждому рынку зна- чение 1 Рис. 18. Для поля Market задайте опцию С нарас- тающим итогом в поле Предупреждение Поле рангов задается только для поля Market. Если вы перекомпонуете отчет та- ким образом, чтобы вместо поля Market использовалось поле Region, вам при- дется в качестве базового задать поле Region.
Трудности, связанные с управлением сводными таблицами 297 А В 1 LINE OF BUSINESS C opier Saie ▼ 2 3 Данные ▼ 4 MARKET ▼ Сумма по полю REVENUE Rank_ 5 California 4 020 385 1 6 Central 3 506 717 2 7 Coloradi) 3113 591 3 8 Florida 3 783 617 4 9 Great Lake? 1 929 517 5 ю Gulf Coast 5 830 888 CD I I ! I ! i I i 11 Illinois 2 989 768 7 12 Indiana 3 616 687 8 13 Kentucky 5 872 430 9 14 New England 6Oil 684 10 15 New York North 3 932 881 11 16 New Y ork South 1 641 970 12 17 North Carolina 3 763 158 13 18 North West 3179141 14 19 Ohio 2 381 299 15 20 Shenandoah Valley 4 244 770 16 21 South Carolina 5 751 497 17 22 Southwest 4 532 147 18 23 Tennessee 6 323 837 19 24 Texas 4 531 085 20 25 Topeka 5 624 620 21 26 Общий итог 86 581 689 Рис. 19. После изменения настройки на С нарастающим итогом в поле вычисляемое поле представляет ранг каждого рынка В сводную диаграмму не включены месяцы для определенных элементов Проблема Если вы выводите на бумагу тенденции развития рынка с помощью свод- ной диаграммы, не вводя данные для отдельного месяца, то сводная диаграм- ма не будет содержать элемент данных для этого месяца. Однако в большинст- ве случаев требуется зарезервировать “пустое” место для этого месяца, чтобы указать на отсутствие для него данных. Например, в диаграмме на рис. 20 показана тенденция развития с января по декабрь, однако период с мая по июнь не выведен. Решение Решение этой проблемы заключается в настройке сводного поля для пока- за всех элементов без данных. В данном примере нужно дважды щелкнуть на поле In Balance Date и установить флажок Отображать пустые элементы, как показано на рис. 21. После настройки сводного поля для отображения всех элементов в сводной таблице будут выведены все месяцы независимо от наличия данных для каж- дого месяца. В результате будут показаны столбцы May, June и July, даже ес- ли для них не представлены данные (рис. 22).
298 Приложение Рис. 20. По причине отсутствия данных с мая по июнь сводная диаграмма не содержит эти ме- сяцы вообще. Однако неплохо, если бы в сводной диаграмме все же присутствовали показате- ли для всех 12 месяцев Рис. 21. Чтобы вывести диаграмму для всех месяцев независимо от наличия данных для каждого месяца, нужно установить флажок Отображать пустые эле- менты
Трудности, связанные с управлением сводными таблицами 299 Итог (Г! BALANCE ОАТЕ Рис. 22. Теперь понятно, что за май, июнь и июль данные не представлены Можно ли создать сводную диаграмму в том же рабочем листе, в котором расположена сводная таблица Проблема По умолчанию программа Excel создает все сводные диаграммы на отдель- ных рабочих листах. Однако вы можете изменить такое поведение программы и создавать сводные диаграммы в том же рабочем листе, в котором находится сводная таблица. Решение Поместите курсор в ячейку вне сводной таблицы и запустите мастер диа- грамм Excel. На шаге 1 мастера выберите тип диаграммы. На шаге 2 мастера щелкните на сводной таблице, а затем на кнопке Готово. Новая сводная диа- грамма будет создана в рабочем листе точно так же, как и обычная диаграмма. Вам остается только отформатировать ее.
300 Приложение__________________________________________________________ Как преобразовать отчет сводной таблицы в интерактивную Web-страницу Проблема Вы хотите использовать отчет сводной таблицы совместно с клиентами на Web-сайте. Для этого нужно создать Web-страницу, позволяющую клиентам использовать функциональные возможности сводной таблицы. Программа Excel содержит опции, позволяющие преобразовывать целую рабочую книгу, одну таблицу, диапазон ячеек или отдельный объект в Web- страницу. Для создания статической или интерактивной Web-страницы ис- пользуйте опцию Сохранить как Web-страницу. С помощью этой опции вы с легкостью можете создать интерактивную Web-страницу со сводной таблицей. Итак, откройте рабочую книгу и активизируйте лист, содержащий сводную таблицу. Перейдите в строку меню и используйте команду Файл>=>Сохранить как Web-страницу. Откроется диалоговое окно, показанное на рис. 23. Рис. 23. Начните процесс создания Web-страницы с отображения диалогового окна Сохранить как Web-страницу Можете использовать данную опцию для сохранения всей рабочей книги или выделения в рабочей книге. В представленном примере необходимо лишь опубликовать сводную таблицу, поэтому выберите опцию Выделенное: Лист. Кроме того, поскольку Web-страница должна быть интерактивной, установи- те флажок Добавить интерактивность. В этом диалоговом окне также содержится кнопка Изменить. Щелкнув на этой кнопке, вы можете редактировать заголовок Web-страницы. Этот заголо- вок поможет клиентам детально изучить отчет. И наконец, текстовое поле Имя файла позволяет изменять имена файлов результирующей Web-страницы. В большинстве случаев задается по умолча-
_____________________Трудности, связанные с управлением сводными таблицами 301 нию имя таблицы. Внесите требуемые настройки и щелкните на кнопке Опубликовать. Щелчком на кнопке Опубликовать активизируется диалоговое окно Пуб- ликация Web-страницы, показанное на рис. 24. В этом диалоговом окне пред- ставлено три раздела: Публикуемые элементы, Параметры просмотра и Опубликовать как. Рис 24. Диалоговое окно Публикация Web-страницы Для начала нужно идентифицировать публикуемые элементы, т.е. выбрать объект или объекты, которые будут перенесены в Web-страницу. В примере на рис. 24 необходимо показать только сводную таблицу, которая находится во вкладке Summary рабочей книги. Поэтому выберите из раскрывающегося списка Выбрать значение Элементы из Summary, а затем укажите Сводная таблица. Вы заметите, что при выборе в разделе Публикуемые элементы элемента Сводная таблица в разделе Параметры просмотра по умолчанию будет зада- на опция Работа со сводными таблицами. Это именно то, что нам нужно. Предупреждение Не сбрасывайте флажок Добавить интерактивность. В противном случае функ- циональные возможности сводной таблицы будут отключены и вы получите стати- ческую сводную таблицу. . в —................. ................... ним... В разделе Опубликовать как укажите место для хранения Web-страницы и документов поддержки. Кроме того, установив флажок Автопереиздание при каждом сохранении книги, вы сможете автоматически переиздавать Web- страницы каждый раз при сохранении рабочей книги.
302 Приложение Примечание После включения опции Автопереиэдание вы будете получать следующее сооб- щение при сохранении рабочей книги после публикации. Эта книга содержит элементы, которые при каждом ее сохранении автомати- чески переиздаются на Web-страницах. Вы можете выбрать одну из двух опций: Отключить автоматическое переиздание на время, пока открыта эта книга и Включить автоматическое переиздание. Что- бы гарантировать автоматическое переиздание Web-страницы после внесения изменений, выберите опцию Включить автоматическое переиздание. Щелкните на кнопке Опубликовать. В месте, заданном для хранения Web- страницы, вы увидите файл HTML и папку, содержащую два документа XML. Файл в формате HTML представляет итоговую Web-страницу. Документы XML содержат кэш сводной таблицы и компоненты, необходимые для кор- ректной работы Web-страницы. Поместите все эти документы на Web-сервер, чтобы клиенты могли работать с созданной вами Web-страницей. Ваша Web- страница будет похожа на страницу, показанную на рис. 25. Файя Правка Избранное Сервис Правка Поиск ^Избранное S Адрес: 1^4 C:\Documents агк! 5etarxjs\Igor,HO^E-5Dff271501Vocal 5ettings\Te«rK>orary Internet Р*к\СопСег*.MSj\EireC*etFapePreview\Chapter3 6-8SampteData.htm ▼] Cl Переход йыли * . ________________________;_________ _____________________________ ___________ _____ _______ __ ______ _ _ - _ -- ________________________________ _ REGION (Все) MARKET Есе) Сумма по полю REVEN г оды Кварталы 2003 2004 Общий итог JNE OF BUSINESS MODEL <в-л1 Кв-л2 Кв-лЗ Кв-л4 Кв-л1 h Св-л2 КвлЗ Кв-л4 Copier Sale 25OOC 9004J29 10128755 10644228 10553939 10842311 11696361 11747429 11361737 86681669 Copier Sale Итог 9004929 10128755 10644228 10553939 10842311 11696361 11747429 11961737 86561689 sarts Э002С 1077968 1744557 2595494 1852134 1931493 1806660 1850558 2395387 15164071 Э002Р 5554790 5331832 4971604 5234296 5080561 4829319 4643826 4666607 40312724 «Кгт 1993406 1865954 1596891 1587199 1571071 1466236 1421795 1272056 12776688 5001С 1162000 1244365 1290387 1157000 1366019 1381485 1287622 235827/ 11247152 5001Р 661131 617133 580070 561281 524638 486266 517567 489772 4437858 -arts Итог Ю#492П5 10603641 10946446 10391900 1047378? н~м~1ХУТ хядиив 9721367 111В1996 83938493 Winter Sale 2500Р 7852660 eeejbct 8606381 6521028 8515818 8291870 9003135 3894060 063687/0 Printer Sale Итог теовео *713606 М0ВЗВ1 8521028 6515818 8291870 9003135 8894060 68368778 Service Plan ЗОО2С 8686766 348856Й 7962273 8426535 8577582 8137518 8110040 8197025 66608307 Э002Р 33464829 32079744 29993153 31514У11 30871039 295/3922 26607 332 /8627/80 244682710 45OUC 22Л6959 23696264 216и3090 22530754 23647075 24503110 2394548Г 25630010 188174747 4500Р 2052812 1830734 I68i 159 2080646 2528243 2252504 2446440 2640171 17518709 5001С 1191102 1175740 1114285 1226549 1280851 1265373 1256/20 1323049 9831969 5001Р 5902691 5666937 5653155 5994851 6130261 6018896 5978865 6123979 47689637 Sendee Plan Итог 74117159 73159987 682331!5 71774246 73234851 71701325 .’6343382 71942014 574506079 Общий чтог 101424263 1Л2776169 98430170 101241113 103066762 101661422 100815313 103979807 813395039 Рис. 25. Вы успешно создали свою первую интерактивную сводную таблицу для Web Несколько слов о Web-компонентах Microsoft Office Чтобы клиенты могли соответствующим образом использовать вашу Web- страницу, у них должна быть установлена поограмма Microsoft Office Web Com- ponents. Это коллекция элементов управления Component Object Model (COM), которые устанавливаются вместе с Microsoft Office. Клиенты, в системах которых не установлен пакет Microsoft Office, не смогут использовать ижерактивную функциональность Web-страницы. Чтобы получить возможность использования всех функциональных средств Office Web Components, ваши клиенты должны установить Internet Explorers или более
_____________________Трудности, связанные с управлением сводными таблицами 303 позднюю версию браузера Кроме того, если вы создаете Web-страницу с помо- щью Office 2003, ваши клиенты, использующие предыдущие версии Office, должны обновить пакет Web Components путем установки пакета owcii.exe, который можно бесплатно загрузить с Web-сайта корпорации Microsoft.
Предметный указатель D DNS-сервер, 193 М MS Query, 185 О OLAP, 201 S SQLServer, 191 V VBA, 224; 233 Автоотображение, 108 Автосоргировка, 108; 214; 248 Автофильтр, 190 Автоформат, 75 Алфавитный порядок сортировки, 100 Анализ наборов данных, 177; 186 сводной таблицы, 37 Б База данных, 187; 208 В Версия программы, 238 Вклад в итоговую сумму, 64 Внедренная диаграмма, 152 Внешние данные, 169 Внешний источник данных, 183 Временной период, 35 Вставка вычисляемого поля, 124 вычисляемого элемента, 133 Выбор источника данных, 207 Вычисление поля сводной таблицы, 54 Вычисления в сводных таблицах, 140 Вычисляемое поле, 121; 214; 258 Вычисляемый элемент, 121; 133; 260 Г График, 161 Группировка полей, ПО сводных таблиц, ПО элементов, 133 д Дата, 110 Действия в кубе данных, 215 Диапазон консолидации, 171 Динамический отчет, 191 Дисперсия, 59 Добавление вычисляемого поля, 122; 182 вычисляемого элемента, 182 полей, 43 строк и столбцов, 51 функций, 222 Документирование формул, 146 Долговременное хранение данных, 203
Предметный указатель 305 Доля от суммы, 66 Доход по направлению деятельности, 69 Драйвер базы данных, 192 3 Заголовок, 30; 34 объединение, 83 Запись макроса, 218 Заполнение пустых ячеек, 38 Запрос, 193 создание, 190 И Изменение в источнике данных, 50 Изменение порядка выполнения расчетов, 145 Именованный диапазон, 142 Импорт внешних данных, 190 результатов, 194 Имя макроса, 218 поля, 56 сервера, 208 элемента, 135 Индекс, 68 Исключение итоговых сумм, 249 промежуточных сумм, 249 пустых ячеек, 248 Источник данных, 39; 122 изменение, 50 Итоговая сумма, 142 Итоговая таблица, 204 К Классическая сводная таблица, 78 Кнопка, 220 Кнопки полей диаграммы, 152 Комбинации клавиш, 237 Комбинирование кубов данных, 215 Компоновка данных, 209 Конкатенация, 141 Константа, 142 Круговая диаграмма, 152 Куб данных OLAP, 188; 201 Кэш сводной таблицы, 31 Л Локальный куб данных, 215 М Макет сводной таблицы, 41 страницы, 85 Макрос, 197; 217 Мастер диаграмм, 152 запросов, 187 сводных таблиц, 39; 50; 180 Мера, 213 Метод AutoShow, 267 Множественные диапазоны, 170 Множественные элементы, 98 Н Набор данных, 170 Назначение макроса, 223 Нарастающий итог, 65 Настройка таблицы, 81 Несколько источников данных, 169 Несколько полей данных, 256 Несопоставимые источники данных, 169 Новый источник данных, 192 О Область данных, 29
306 Предметный указатель сводной диаграммы, 155 столбцов, 30 страниц, 30; 212 строк, 29 Обновление данных, 50; 182; 218 отчета, 196 Обработка произвольных диапазонов данных, 236 Обратная запись данных, 215 Общая сумма, 82 Объединение ячеек, 83 Объектно-ориентированный код, 235 Ограничение на форматирование, 165 Оперативный анализ данных, 201 Операция, 58 Оптимизация макета сводной диаграммы, 153 Отклонение, 59 Отображение элементов, 93 Отслеживание данных, 64 Отчет сводной таблицы, 26 подготовка данных, 33 стиль, 77 Очистка данных, 37 П Панель Project Explorer, 234 инструментов сводной таблицы, 49 инструментов Формы, 220 Параметры данных, 198 диаграммы, 160 поля, 69; 222 сводной таблицы, 82 Первая десятка, 107 Перекомпоновка сводной таблицы, 44 Переменная объекта, 238 Переопределение сводной таблицы, 177 Перетаскивание полей, 42; 49 Печать заголовков, 87 Повторение подписей, 84 Подведение итогов, 262 Подготовка данных сводной таблицы, 33 Подключение к кубу данных OLAP, 205; 208 Подсчет данных, 58 Поле добавление, 43 имя, 56 перетаскивание, 42 Поле данных, 47; 98 Поле дат, НО Поле страницы, 172; 176; 211 Полоса прокрутки, 223 Получение данных, 187 Поля страниц, 31 Пользовательский интерфейс, 219 Пользовательский стиль форматирования, 79 Порядок выполнения операций, 141 Порядок сортировки, 248 Правила использования вычисляемых полей, 142 Правила использования вычисляемых элементов, 144 Приведенное отличие, 64 Приоритет выполнения операторов, 140 Прогнозирование итогов, 128 Промежуточные итоги, 60 добавление, 253 параметры, 62 Процентное соотношение, 66 Пустая ячейка, 36; 58; 248 Пустые элементы, 96
Предметный указатель 307 Р Рабочие данные, 203 Размер сводной таблицы, 242 Размерность, 213 Размещение полей данных, 154 Разработка источников данных, 36 Раскрывающийся список, 227 Расположение сводной таблицы, 40 Расположение элементов, 156 Расширение диапазона, 51 Редактор Visual Basic, 233 Результат выполнения макроса, 243 Реляционная база данных, 202 Ручная сортировка, 103 С Сводная диаграмма, 149 Сводная таблица, 25 OLAP, 209 макет, 41 мастер, 39 область применения, 28 ограничение, 32 перекомпоновка, 44 создание, 39 структура, 29; 76 Свойство, 236 Синхронизация сводных таблиц, 226 Скрытые значения, 83 Создание внешнего источника данных, 192 вычисляемого поля, 125 запроса, 190 куба данных, 204 отчета, 136 сводной диаграммы, 150 сводной таблицы, 180 в VBA, 238 Сокрытие промежуточных итогов, 60 элементов, 93 Сортировка вручную, 103 элементов, 99 Сохранение пароля, 196 форматирования, 84 Сочетание клавиш, 197; 218 Специальная вставка, 164 Списки данных, 105 Список полей обновление, 49 сводной таблицы, 209 Сравнение результатов, 64 Сравнение строк, 66 Сроки выполнения работ, 114 Ссылки на ячейки, 142 Стандартная диаграмма, 151 Стандартная сводная таблица, 39 Стиль отчета, 77 Структура, ПО сводной таблицы, 28; 76; 156; 174 Сумма по столбцам, 82 по строкам, 83 Т Таблица данных, 160 Табличная форма данных, 34 Текстовое поле, 116 Тип диаграммы, 151 Углубленный анализ данных, 214 Уникальный заголовок, 34 Условное форматирование, 140 ф Форма, 219 Формат объекта, 223
308 Предметный указатель поля, 161 ячеек, 56 Форматирование, 75; 252 вычисляемого поля, 130 отчета сводной таблицы, 196 полей, 36 сводной таблицы, 88 сводных диаграмм, 165 Функция записи макросов, 235 ИНДЕКС, 229 рабочего листа, 142 X Хранилища данных, 202 ц Центральная таблица базы данных, 204 Ч Числовое поле, 116 Числовой формат, 56; 248 э Элементы без данных, 96 Элементы управления формы, 220
Научно-популярное издание Билл Джелен, Майкл Александер Сводные таблицы в Microsoft Excel Литературный редактор Верстка Художественный редактор Корректор П.Н. Мачуга О. В. Романенко С.А. Чернокозинский ЛА. Гордиенко Издательский дом “Вильямс” 127055, г. Москва, ул. Лесная, д. 43, стр. 1 Подписано в печать 18.12.2006. Формат 70x100/16 Гарнитура Times. Печать офсетная Усл. печ. л. 25,8. Уч.-изд. л. 16,2. Тираж 3000 экз. Заказ № 3518. Отпечатано по технологии CtP в ОАО “Печатный двор” им. А. М. Горького 197110, Санкт-Петербург, Чкаловский пр., 15