Библия excel 2019 читать

А. Куслейка Р. Excel 2019. Библия пользователя 2019Полностью переработанный с учетом новых возможностей Excel 2019, этот бестселлер насыщен подсказками и рекомендациями, методами и приемами, полезными как для начинающих, так и для опытных пользователей.Узнайте о новинках в Excel 2019 и освежите в памяти основы — ячейки, формулы, функции, диаграммы. Научитесь обрабатывать данные всеми доступными способами, включая импорт, структурирование, консолидацию и анализ. Овладейте такими полезными средствами Excel, как условное форматирование, спарклайны, автозаполнение, пакет анализа и надстройка Power Query. Откройте для себя аналитическую мощь сводных таблицы и модели данных Power Pivot. Создавайте свои VBA-макросы, добавьте на рабочие листы элементы управления и попробуйте работу с событиям Excel. Для получения необходимых навыков поработайте с файлами рабочих книг с примерами, которые можно загрузить с веб-сайта этой книги.

img

Нажмите на звезду, чтобы оценить!

Прочитали: 664

Полностью переработанный с учетом новых возможностей «Excel 2019. Библия пользователя», этот бестселлер насыщен подсказками и рекомендациями, методами и приемами, полезными как для начинающих, так и для опытных пользователей.Узнайте о новинках в Excel 2019 и освежите в памяти основы — ячейки, формулы, функции, диаграммы.

Научитесь обрабатывать данные всеми доступными способами, включая импорт, структурирование, консолидацию и анализ. Овладейте такими полезными средствами Excel, как условное форматирование, спарклайны, автозаполнение, пакет анализа и надстройка Power Query. Откройте для себя аналитическую мощь сводных таблицы и модели данных Power Pivot. Создавайте свои VBA-макросы, добавьте на рабочие листы элементы управления и попробуйте работу с событиям Excel. Для получения необходимых навыков поработайте с файлами рабочих книг с примерами, которые представлены в архиве вместе с книгой.

Название: Excel 2019. Библия пользователя
Год издания: 2019
Авторы: Александер Майкл, Куслейка Ричард, Уокенбах Джон
Жанр: Компьютерная литература, компьютерные технологии
Язык: Русский
Количество страниц: 1138
Формат: PDF + Файлы примеров
Качество: Отличное, есть иллюстрации
Размер: 119 Mb

Скачать: Excel 2019. Библия пользователя (PDF + Файлы примеров)

Скачать | Download | TurboBit
https://turb.pw/9bmbnf2mnrh4/E_2019_Biblija_pol.rar.html

Скачать | Download | HitFile
https://hitf.cc/xuijABx/E_2019_Biblija_pol.rar.html

Скачать | Download | Turbo.to
https://turb.pw/9bmbnf2mnrh4/E_2019_Biblija_pol.rar.html

Скачать | Download | Hil.to
https://hitf.cc/xuijABx/E_2019_Biblija_pol.rar.html

Choose a download type Free Download

Limit reached for free download of this file. You can download this file using the premium access

Downloading is not possible. Free user can’t download large files.
Upgrate to PREMIUM and download files up to 100 GB!

Premium Download

Download time

48 minute(s) 45 second(s)

32 second(s)

Download restriction

a file every 60 minutes

none

Download speed

minimum

maximum

Watch video online

Accelerators are supported

No waiting time

No Advertisement

Resume aborted downloads

Unlimited parallel downloads

Table of contents :
Оглавление
Введение 31
Часть I. Вводный курс 37
Глава 1. Знакомство с Excel 39
Глава 2. Ввод данных на рабочий лист и их редактирование 67
Глава 3. Основные операции с рабочим листом 91
Глава 4. Работа с диапазонами и таблицами Excel 113
Глава 5. Форматирование рабочих листов 159
Глава 6. Работа с файлами и шаблонами Excel 195
Глава 7. Печать результатов работы 217
Глава 8. Настройка пользовательского интерфейса 241
Часть II. Формулы и функции 251
Глава 9. Основы формул и функций Excel 253
Глава 10. Использование формул в математических расчетах 285
Глава 11. Формулы для обработки текста 301
Глава 12. Формулы для работы с датами и временем 317
Глава 13. Формулы с проверкой условий 347
Глава 14. Использование формул для поиска и извлечения данных 369
Глава 15. Формулы и функции для финансового анализа 391
Глава 16. Формулы для статистического анализа 427
Глава 17. Использование формул в правилах условного форматирования 449
Глава 18. Понятие о формулах массивов 463
Глава 19. Поиск и исправление ошибок 485
Часть III. Создание диаграмм и другие приемы визуализации 507
Глава 20. Основы построения диаграмм 509
Глава 21. Расширенные возможности построения диаграмм 551
Глава 22. Графика спарклайнов 585
Глава 23. Работа с настраиваемыми числовыми форматами, изображениями и рисунками 599
Глава 24. Практика создания графических итоговых панелей 629
Часть IV. Управление данными и их анализ 643
Глава 25. Импорт и предварительная подготовка данных 645
Глава 26. Проверка данных 677
Глава 27. Структурирование рабочих листов 691
Глава 28. Связывание и консолидация данных 701
Глава 29. Понятие о сводных таблицах 721
Глава 30. Анализ данных с помощью сводных таблиц 745
Глава 31. Анализ данных с помощью сценариев «что если» 779
Глава 32. Анализ данных: подбор параметров и поиск решения 797
Глава 33. Надстройка Пакет анализа 819
Глава 34. Защита вашей работы 833
Часть V. Использование инструментов Power Pivot и Power Query 845
Глава 35. Надстройка Power Pivot 847
Глава 36. Работа непосредственно с внутренней моделью данных 875
Глава 37. Использование формул в надстройке Power Pivot 885
Глава 38. Что такое Power Query 907
Глава 39. Преобразование данных с использованием Power Query 935
Глава 40. Организация совместной работы запросов 967
Глава 41. Повышение эффективности работы с Power Query 983
Часть VI. Программирование в Excel 995
Глава 42. Введение в язык Visual Basic for Applications 997
Глава 43. Функции VBA: создание новых функций рабочего листа 1029
Глава 44. Создание экранных форм 1045
Глава 45. Элементы управления на рабочем листе 1067
Глава 46. Обработка событий в Excel 1083
Глава 47. Примеры VBA-программ 1097
Глава 48. Создание надстроек Excel 1115
Предметный указатель 1125

Microsoft’ Excel’ 2019

БИБЛИЯ ПОЛЬЗОВАТЕЛЯ

Microsoft” ЕхсеГ 2019

BIBLE Michael Alexander Dick Kusleika Previously by John Walkenbach

WILEY

John Wiley & Sons, Inc.

Microsoft* Excel* 2019

БИБЛИЯ ПОЛЬЗОВАТЕЛЯ Майкл Александер Ричард Куслейка Автор предыдущего издания Джон Уокенбах

Москва ♦ Санкт-Петербург 2019

ББК 32.973.26-018.2.75 А46 УДК 681.3.07

ООО «Диалектика»

По общим вопросам обращайтесь в издательство «Диалектика» по адресу: [email protected], http://www.dialektika.com Александер, Майкл, Куслейка, Ричард. А46

Excel 2019. Библия пользователя. : Пер. с англ. — СПб. : ООО «Диалектика», 2019. — 1136 с.: ил. — Парад, тит. англ. ISBN 978-5-907144-44-6 (рус.) ББК 32.973.26-018.2.75

Все названия программных продуктов являются зарегистрированными торговыми марка­ ми соответствующих фирм. Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в ка­ кой бы то ни было форме и какими бы то ни было средствами, будь то электронные или меха­ нические, включая фотокопирование и запись на магнитный носитель, если на это нет пись­ менного разрешения издательства John Wiley & Sons, Inc.

Copyright © 2019 by Dialektika Computer Publishing. Original English edition Copyright © 2018 by John Wiley & Sons, Inc.

All rights reserved including the right of reproduction in whole or in part in any form. This translation is published by arrangement with John Wiley & Sons, Inc.

Научно-популярное издание

Майкл Александер, Ричард Куслейка

Excel 2019. Библия пользователя Подписано в печать 15.05.2019 Формат 70×100/16. Гарнитура Times Усл. печ. л. 91,59. Уч.-изд. л. 70,85 Тираж 500 экз. Заказ № 4199

Отпечатано в АО «Первая Образцовая типография» Филиал «Чеховский Печатный Двор» 142300, Московская область, г. Чехов, ул. Полиграфистов, д.1 Сайт: www.chpd.ru, E-mail: [email protected], тел. 8(499)270-73-59

ООО «Диалектика», 195027, Санкт-Петербург, Магнитогорская ул., д. 30, лит. А, пом. 848

ISBN 978-5-907144-44-6 (рус.) ISBN 978-1-119-51478-7 (англ.)

© ООО «Диалектика», 2019 © John Wiley & Sons, Inc., 2018

Оглавление

Введение

31

Часть I. Вводный курс___________________________________________________________________ 37

Глава 1. Знакомство с Excel

39

Глава 2. Ввод данных на рабочий лист и их редактирование

67

Глава 3. Основные операции с рабочим листом

91

Глава 4. Работа с диапазонами и таблицами Excel

ИЗ

Глава 5. Форматирование рабочих листов

159

Глава 6. Работа с файлами и шаблонами Excel

195

Глава 7. Печать результатов работы

217

Глава 8. Настройка пользовательского интерфейса

241

Часть II. Формулы и функции___________________________________________________________ 251 Глава 9. Основы формул и функций Excel

253

Глава 10. Использование формул в математических расчетах

285

Глава И. Формулы для обработки текста

301

Глава 12. Формулы для работы с датами и временем

317

Глава 13. Формулы с проверкой условий

347

Глава 14. Использование формул для поиска и извлечения данных

369

Глава 15. Формулы и функции для финансового анализа

391

Глава 16. Формулы для статистического анализа

427

Глава 17. Использование формул в правилах условного форматирования

449

Глава 18. Понятие о формулах массивов

463

Глава 19. Поиск и исправление ошибок

485

Часть III. Создание диаграмм и другие приемы визуализации___________________________ 507

Глава 20. Основы построения диаграмм Глава 21. Расширенные возможности построения диаграмм Глава 22. Графика спарклайнов

509

551 585

Глава 23. Работа с настраиваемыми числовыми форматами, изображениями и рисунками

599

Глава 24. Практика создания графических итоговых панелей

629

6

Оглавление

Часть IV. Управление данными и их анализ_____________________________________________ 643

Глава 25. Импорт и предварительная подготовка данных

645

Глава 26. Проверка данных

677

Глава 27. Структурирование рабочих листов

691

Глава 28. Связывание и консолидация данных

701

Глава 29. Понятие о сводных таблицах

721

Глава 30. Анализ данных с помощью сводных таблиц

745

Глава 31. Анализ данных с помощью сценариев “что если”

779

Глава 32. Анализ данных: подбор параметров и поиск решения

797

Глава 33. Надстройка Пакет анализа

819

Глава 34. Защита вашей работы

833

Часть V. Использование инструментов Power Pivot и Power Query________________________ 845 Глава 35. Надстройка Power Pivot

847

Глава 36. Работа непосредственно с внутренней моделью данных

875

Глава 37. Использование формул в надстройке Power Pivot

885

Глава 38. Что такое Power Query

907

Глава 39. Преобразование данных с использованием Power Query

935

Глава 40. Организация совместной работы запросов

967

Глава 41. Повышение эффективности работы с Power Query

983

Часть VI. Программирование в Excel____________________________________________________ 995

Глава 42. Введение в язык Visual Basic for Applications

997

Глава 43. Функции VBA: создание новых функций рабочего листа

1029

Глава 44. Создание экранных форм

1045

Глава 45. Элементы управления на рабочем листе

1067

Глава 46. Обработка событий в Excel

1083

Глава 47. Примеры VBA-программ

1097

Глава 48. Создание надстроек Excel

1115

Предметный указатель

1125

Содержание Об авторах О технических рецензентах Благодарности авторов

Введение Для кого эта книга Версии программы Соглашения, принятые в книге Команды Excel Имена файлов и вводимые данные Соглашения относительно действий, выполняемых с помощью мыши Структура книги Как пользоваться книгой Веб-сайт книги Ждем ваших отзывов!

29 29 30 31 31 32 33 33 33 33 35 35 36 36

Часть I. Вводный курс

37

Глава 1. Знакомство с Excel

39

Обзор возможностей Excel Что нового в Excel 2019 Рабочая книга и рабочий лист Перемещение по рабочему листу Перемещение с использованием клавиатуры Перемещение с использованием мыши Интерфейс пользователя: лента Вкладки ленты Контекстные ленточные вкладки Типы ленточных команд Доступ к командам на ленте с помощью клавиатуры Использование контекстных меню Настройка панели быстрого доступа Работа с диалоговыми окнами Перемещение по элементам диалогового окна Диалоговые окна с вкладками Использование панели задач Создание первого рабочего листа Подготовка к работе Ввод названий месяцев Ввод данных о продажах Форматирование чисел , Форматирование таблицы

39 40 41 44 45 46 47 47 49 50 52 54 55 57 58 58 59 60 60 61 61 62 63

Суммирование значений Создание диаграммы Печать рабочего листа Сохранение рабочей книги

Глава 2. Ввод данных на рабочий лист и их редактирование Типы данных Excel Числовые значения Текст Формулы Ввод чисел и текста Ввод числовых значений Ввод текстовых значений Режим ввода данных Ввод значений дат и времени Работа с датами Ввод значений времени Изменение содержимого ячейки Удаление содержимого ячейки Замена содержимого ячейки Редактирование содержимого ячейки Некоторые удобные способы ввода данных Форматирование числовых значений Автоматическое форматирование чисел Форматирование чисел с помощью ленточных команд Форматирование чисел с использованием комбинаций клавиш Форматирование чисел с помощью диалогового окна Формат ячеек Числовые форматы, определяемые пользователем

Глава 3. Основные операции с рабочим листом Операции с рабочими листами Работа с окнами рабочих книг Excel Активизация рабочих листов Добавление нового рабочего листа Удаление листа из рабочей книги Изменение названия рабочего листа Изменение цвета ярлыков листов Переупорядочение рабочих листов Сокрытие и отображение рабочего листа Управление внешним видом рабочего листа Масштабирование рабочих листов для улучшения условий просмотра Просмотр листов в нескольких окнах Сравнение рабочих листов Разделение окна рабочего листа на две панели Закрепление областей в окне Отслеживание значений с помощью окна контрольного значения

63 64 65 65 67

67 68 69 69 70 70 70 71 72 72 72 73 73 74 74 76 83 85 85 86 87 90 91 91 92 94 95 96 96 97 97 99 100 100 101 102 103 103 105

Манипуляции строками и столбцами Вставка строк и столбцов Удаление строк и столбцов Изменение ширины столбцов и высоты строк Сокрытие строк и столбцов

Глава 4. Работа с диапазонами и таблицами Excel Ячейки и диапазоны Excel Выделение диапазонов Выделение строк и столбцов целиком Выбор несмежных диапазонов Выделение диапазонов на разных листах Выделение ячеек определенного типа Выделение ячеек с использованием функции поиска Копирование и перемещение диапазонов Копирование с помощью команд на ленте Копирование с помощью команд контекстного меню Копирование с помощью клавиатуры Копирование и перемещение с помощью операции перетаскивания Копирование в соседние ячейки Копирование диапазона ячеек в другие листы Использование буфера обмена Office для вставки Специальная вставка Использование диалогового окна Специальная вставка Именованные ячейки и диапазоны Создание именованных ячеек и диапазонов в рабочих книгах Управление именами Добавление примечаний к ячейкам Форматирование примечаний Изменение контура окна примечания Просмотр примечаний Сокрытие и отображение примечаний Редактирование примечаний Удаление примечаний Работа с таблицами Excel Что такое табличная структура Создание таблиц Добавление данных в таблицу Сортировка и фильтрация таблиц Изменение внешнего вида таблицы

Глава 5. Форматирование рабочих листов Средства форматирования Excel Средства форматирования на вкладке ленты Главная Инструменты форматирования на мини-панелях Диалоговое окно Формат ячеек Форматирование рабочих листов Форматирование рабочих листов с использованием различных шрифтов

106 106 108 108 110

113 113 114 115 116 117 119 122 124 125 126 126 127 128 129 130 131 133 135 136 139 141 142 143 143 144 144 144 145 145 147 148 149 155

159 159 161 161 162 162 162

Выравнивание содержимого ячеек Цвета и заливки Границы и линии Условное форматирование Задание условного форматирования Условные форматы с использованием графических элементов Создание правил условного форматирования на основе формул Примеры условного форматирования, основанного на формулах Работа с условными форматами Использование именованных стилей Применение стилей Изменение существующего стиля Создание новых стилей Объединение стилей из разных рабочих книг Стили и шаблоны Темы документов Применение тем Настройка тем

Глава 6. Работа с файлами и шаблонами Excel Создание новой рабочей книги Открытие существующей рабочей книги Отбор по типу файла Выбор способа отображения файлов Сохранение рабочих книг Средство Автовосстановление Восстановление версий текущей рабочей книги Восстановление несохраненных результатов работы Настройка режима автосохранения Защита рабочих книг паролем Организация файлов Другие задаваемые свойства рабочих книг Раздел Защита книги Раздел Поиск проблем Параметры управления книгой Параметры просмотра в браузере Раздел Режим ограниченной функциональности Закрытие рабочих книг Как избежать потери данных Работа с шаблонами Краткий обзор шаблонов Использование стандартных шаблонов Использование пользовательских шаблонов рабочих книг

Глава 7. Печать результатов работы Быстрая печать документов Режимы просмотра рабочих книг Обычный режим просмотра

165 170 171 173 174 174 179 182 184 186 187 188 189 190 190 190 192 193

195 195 197 199 200 201 202 203 204 204 205 205 206 206 207 207 207 208 208 208 209 209 213 215

217 217 219 219

Режим разметки страницы Страничный режим просмотра Задание параметров печатной страницы Выбор принтера Задание объекта для печати Изменение ориентации печатной страницы Задание формата бумаги Печать нескольких копий отчетов Задание размеров полей Управление разделителями страниц Печать заголовков строк и столбцов Масштабирование печатной страницы Печать сетки рабочего листа Печать заголовков строк и столбцов рабочего листа Использование фонового рисунка Создание колонтитулов Выбор предустановленных колонтитулов Коды элементов колонтитулов Другие параметры колонтитулов Другие темы, связанные с печатью Копирование параметров страниц между рабочими листами Сокрытие ячеек перед печатью Сокрытие объектов перед печатью Создание представлений Создание PDF-файлов

Глава 8. Настройка пользовательского интерфейса Настройка панели быстрого доступа Панель быстрого доступа Добавление новых команд на панель быстрого доступа Другие действия с панелью быстрого доступа Настройка ленты Зачем настраивать ленту Что можно настраивать на ленте Как настроить ленту Сброс ленты

221 222 223 225 225 226 226 227 227 228 229 231 231 231 231 233 234 235 236 236 236 237 237 239 240

241 241 242 243 246 247 247 247 248 250

Часть II. Формулы И функции

251

Глава 9. Основы формул и функций Excel

253

Знакомство с формулами Операторы, используемые в формулах Порядок выполнения операторов Использование в формулах функций Ввод формул в ячейки рабочего листа Ввод формул вручную Ввод формул путем указания

253 254 256 258 261 262 262

Вставка в формулы имен диапазонов Вставка функций в формулы Советы по вводу функций Редактирование формул Использование ссылок в формулах Абсолютные, относительные и смешанные ссылки Изменение типа ссылок Ссылки на ячейки за пределами текущего рабочего листа Использование формул в таблицах Итоговые вычисления в таблицах Использование формул в столбцах Ссылки на табличные данные Исправление ошибок в формулах Циклические ссылки Режимы вычислений Использование имен в формулах Присвоение имен константам Присвоение имен формулам Пересечение диапазонов Замена существующих ссылок именами Советы по работе с формулами Не используйте в формулах константы Строка формул в качестве калькулятора Получение точной копии формулы Преобразование формул в значения

263 263 266 266 267 268 270 270 272 272 273 275 276 277 278 279 279 280 281 282 283 283 283 283 284

Глава 10. Использование формул в математических расчетах

285

Расчет процентов Вычисление процента выполнения задания Вычисление процента отклонения Вычисление процентного отклонения в случае отрицательных значений Вычисление процентного распределения Вычисление нарастающих итогов Увеличение или уменьшение значений на заданный процент Обработка ситуации деления на нуль Округление чисел Округление чисел с помощью формул Округление до целых копеек Округление до заданного количества значащих цифр Подсчет значений в диапазоне Преобразование единиц измерения

Глава И. Формулы для обработки текста Работа с текстовыми значениями Функции работы с текстом Объединение текстовых строк

285 286 287 288 289 290 291 292 293 293 294 295 297 298 301 301 302 303

Изменение регистра символов текста Удаление лишних пробелов из строки текста Извлечение фрагментов из текстовой строки Поиск в текстовой строке определенного символа Поиск второго вхождения символа в строке Замена текста Подсчет количества определенных символов в тексте Использование в формуле символа конца строки Удаление из текстовых строк непечатаемых символов Дополнение числовых значений нулями Отображение отформатированных числовых значений в виде текста Отображение числовых значений в текстовом формате Денежный

Глава 12. Формулы для работы с датами и временем Как Excel обрабатывает значения дат и времени Даты как порядковые номера Ввод дат Работа с порядковыми номерами, соответствующими времени Ввод значений времени Форматирование значений дат и времени Проблемы, возникающие при работе с датами в Excel Функции обработки дат Отображение текущей даты Вычисление возраста человека Вычисление количества дней между двумя датами Вычисление количества рабочих дней между двумя датами Построение списка бизнес-дней с исключением выходных и праздничных дней Извлечение отдельных частей даты Вычисление количества лет и месяцев между двумя датами Преобразование дат в стандартном формате в юлианский формат Вычисление прошедшей и оставшейся частей года в процентах Определение последнего дня заданного месяца Определение календарного квартала по дате Вычисление финансового квартала по дате Определение финансового месяца по дате Определение даты N-го вхождения определенного дня недели в указанном месяце Определение даты последнего вхождения определенного дня недели в указанном месяце Извлечение отдельных частей из значений времени Вычисление прошедшего времени Округление значений времени Преобразование десятичных значений часов, минут и секунд в значение времени Прибавление к значению времени часов, минут и секунд

304 305 306 307 309 310 311 312 313 314 314 316 317

317 318 319 320 321 322 322 324 324 325 326 327 328 330 332 332 334 335 336 337 338

339

341 342 342 343

344 345

Глава 13. Формулы с проверкой условий Проверка условий с помощью формул Проверка выполнения простого условия Проверка нескольких условий Использование средств проверки данных для построения условия Проверка совпадения результатов двух условий Проверка удовлетворения первого или второго условия Вычисления с использованием формул с проверкой условий Суммирование всех значений, которые отвечают определенному условию Суммирование значений, которые соответствуют двум и более условиям Суммирование, если значения попадают в заданный диапазон дат Подсчет значений, которые отвечают заданному условию Подсчет количества значений, отвечающих двум и более условиям Вычисление среднего для всех значений, отвечающих определенному условию Вычисление среднего для всех значений, отвечающих двум и более условиям

Глава 14. Использование формул для поиска и извлечения данных Основные сведения о формулах поиска Функции, используемые для поиска и выборки значений Поиск точного совпадения при просмотре левого столбца таблицы Поиск точного совпадения при просмотре любого заданного столбца таблицы Поиск значений по горизонтали Сокрытие ошибок, возвращаемых функциями поиска Поиск ближайшего значения в списке граничных значений шкалы Нахождение ближайшего соответствия с помощью функций ИНДЕКС И поискпоз Поиск значений в нескольких таблицах Поиск значений на основании двух критериев Поиск значения на основе нескольких критериев Поиск последнего значения в столбце

Глава 15. Формулы и функции для финансового анализа Выполнение типовых бизнес-расчетов Расчет валовой прибыли и валовой прибыли в процентах Расчет дохода до вычета процентов и налогов и расчет прибыли до вычета процентов, налогов, износа и амортизации Расчет себестоимости реализованных товаров Расчет рентабельности активов Вычисление точки безубыточности Расчет оттока клиентов Расчет пожизненной ценности клиента Расчет текучести кадров Использование финансовых функций Excel Преобразование процентных ставок

347

347 348 349 350 352 355 356 356 360 361 363 364 366

367 369

369 370 371 373 375 376 378 380 382 384 386 388

391

391 392

393 395 395 397 399 401 401 403 403

Калькулятор выплаты кредита Создание графика погашения ссуды с переменной ставкой Расчет амортизации основных средств Расчет текущей стоимости Вычисление чистой приведенной стоимости Расчет внутренней ставки доходности Финансовое прогнозирование

Глава 16. Формулы для статистического анализа Работа со взвешенными средними Сглаживание данных с помощью скользящих средних Применение экспоненциального сглаживания к изменчивым данным Использование функций для создания описательной статистики Выборка максимального или минимального значения Выборка N-vo максимального или минимального значения Вычисление среднего, медианы и моды Группирование данных в процентили Выявление статистических выбросов с помощью межквартильного диапазона Создание частотных распределений Альтернативный вариант расчетов: без использования функции ЧАСТОТА

Глава 17. Использование формул в правилах условного форматирования Выделение ячеек, отвечающих определенному условию Выделение ячеек на основании значения другой ячейки Выделение значений, которые присутствуют в первом списке, но отсутствуют во втором Выделение значений, которые присутствуют одновременно в первом и втором списках Выделение ячеек на основании дат Выделение дней между двумя датами Выделение дат на основе текущей даты

Глава 18. Понятие о формулах массивов Введение в формулы массивов Формула массива для диапазона ячеек Формула массива для отдельной ячейки Создание массива констант Размерность массивов Одномерные горизонтальные массивы Одномерные вертикальные массивы Двухмерные массивы Именованные массивы констант Работа с формулами массивов Ввод формул массивов Выделение диапазона для формулы массива Редактирование формул массивов Расширение и сокращение диапазона, содержащего формулу массива

405 409 411 415 418 421 423 427 427 429 432 434 434 436 438 440

443 446 447 449

450 452 453 455 457 458 460 463 463 464 466 467 468 469 469 470 471 472 472 473 473 474

Формулы массивов для диапазонов ячеек Создание массивов на основе значений ячеек диапазона Создание массива констант на основе значений диапазона ячеек Выполнение операций над массивами Применение функций к массивам Транспонирование массивов Генерирование последовательности целых чисел Формулы массивов для отдельных ячеек Подсчет количества символов в диапазоне Суммирование трех наименьших значений диапазона Подсчет количества ячеек в диапазоне, содержащих текст Исключение промежуточных формул Использование массивов вместо ссылок на диапазоны

Глава 19. Поиск и исправление ошибок Поиск и исправление ошибок в формулах Несоответствие скобок Ячейки заполнены символами решетки Непустые «пустые» ячейки Лишние символы пробела Формулы, возвращающие значения ошибок Приоритет операторов Что делать, если формулы не вычисляются Точность значений десятичных чисел Ошибки, связанные с «фантомными» внешними ссылками Средства проверки Excel Выделение ячеек определенного типа Просмотр формул Отслеживание связей между ячейками Отслеживание ошибочных значений Циклические ссылки Фоновая проверка ошибок Вычисление формул Средства поиска и замены Поиск информации Замена информации Поиск формата Проверка орфографии Использование автозамены

475 475 476 476 477 477 478 480 480 481 482 483 484

485 485 486 487 488 488 488 493 493 494 495 495 495 496 496 498 498 498 500 500 501 502 502 503 504

Часть III. Создание диаграмм и другие приемы визуализации

507

Глава 20. Основы построения диаграмм

509

Что такое диаграмма Как Excel строит диаграммы Внедренные диаграммы Диаграмма, расположенная на отдельном листе

509 510 512 512

Элементы диаграмм Ограничения в диаграммах Создание диаграмм Пример создания диаграммы Изменение ориентации строк и столбцов Изменение типа диаграммы Выбор макета диаграммы Выбор стиля диаграммы Добавление и удаление элементов диаграмм Форматирование элементов диаграммы Манипуляции диаграммами Перемещение и изменение размеров диаграммы Перемещение внедренной диаграммы на собственный лист Копирование диаграммы Удаление диаграммы Добавление элементов в диаграмму Перемещение и удаление элементов диаграммы Форматирование элементов диаграммы Копирование форматирования диаграммы Переименование диаграмм Печать диаграмм Типы диаграмм Excel Определение типа диаграммы Гистограммы Линейчатые диаграммы Графики Круговые диаграммы Точечные диаграммы Диаграммы с областями Лепестковые диаграммы Поверхностные диаграммы Пузырьковые диаграммы Биржевые диаграммы Новые типы диаграмм в Excel Гистограммы Диаграммы Парето Каскадные диаграммы Диаграммы типа «ящик с усами» Диаграммы типа «солнечные лучи» Древовидные диаграммы Диаграммы «воронка» Картограммы

Глава 21. Расширенные возможности построения диаграмм Выделение элементов диаграммы Выделение с помощью мыши Выделение с помощью клавиатуры Выделение с помощью списка элементов диаграммы

514 516 516 517 518 518 520 5 20 521 522 523 523 524 525 525 525 525 526 527 528 5 28 5 29 529 531 533 534 535 537 538 539 540 541 541 542 542 543 544 545 545 547 547 548

551 552 552 553 554

Средства Excel для настройки элементов диаграммы Использование панели задач Формат Использование кнопок настройки диаграммы Использование ленты Использование мини-панелей Настройка области диаграммы Настройка области построения диаграммы Заголовки диаграммы Легенда диаграммы Линии сетки Настройка осей Настройка оси значений Настройка оси категорий Работа с рядами данных Удаление или сокрытие ряда данных Добавление нового ряда данных на диаграмму Изменение ряда данных Добавление подписей данных Обработка пропущенных данных Добавление планок погрешностей Добавление линии тренда Построение комбинированных диаграмм Отображение таблицы данных Создание шаблонов диаграмм

Глава 22. Графика спарклайнов

555 555 555 557 557 557 559 560 561 563 563 564 568 570 571 571 572 575 577 578 579 581 582 583

585

Типы спарклайнов Создание спарклайнов Настройка спарклайнов Изменение размеров ячеек со спарклайнами Обработка скрытых или отсутствующих данных Смена типа спарклайна Изменение цвета и ширины спарклайна Выделение определенных аспектов данных Настройка масштабирования осей спарклайнов Имитация опорной линии Задание оси дат Автоматическое обновление спарклайнов Отображение спарклайнов для динамического диапазона

586 587 589 589 590 590 591 591 592 593 594 596 596

Глава 23. Работа с настраиваемыми числовыми форматами, изображениями и рисунками

599

Визуализация с помощью числовых форматов Базовые приемы форматирования чисел Создание собственных числовых форматов Использование символов для улучшения отчетов Использование фигур и значков как средств визуализации Вставка фигур

600 600 602 610 613 614

Вставка значков в формате SVG Форматирование фигур и значков Использование фигур для повышения качества отчетов Распределение фигур по слоям для экономии места Создание динамических надписей Создание связанных рисунков Использование графики SmartArt и WordArt Вставка графических элементов SmartArt Использование WordArt Работа с другими типами графических объектов Несколько слов о графических файлах Вставка копий экрана Добавление подложки рабочего листа Работа с редактором уравнений

Глава 24. Практика создания графических итоговых панелей Подготовительный этап проекта панели итоговой отчетности Определение аудитории и назначения итоговой панели Определение основных показателей, представляемых на панели Каталогизация необходимых источников данных Определение размерности и фильтров итоговой панели Определение необходимых функций детализации Согласование графика обновления данных Разработка модели данных графической итоговой панели Разделение данных, анализа и презентации Начините с выбора правильно структуризированных данных Не превращайте модель данных в базу данных Документирование и организация модели данных Выбор дизайна графической итоговой панели

615 616 618 619 621 622 624 624 625 626 626 627 627 628

629 630 630 631 631 632 632 633 633 634 635 636 637 638

Часть IV. Управление данными и их анализ

643

Глава 25. Импорт и предварительная подготовка данных

645

Импорт данных в Excel Импорт данных из файла Импорт файла или его открытие Импорт текстового файла Копирование и вставка данных Методы предварительной подготовки данных Удаление повторяющихся строк Обнаружение повторяющихся строк Разбиение текста Изменение регистра символов Удаление лишних пробелов Удаление непечатаемых символов Преобразование значений

646 646 648 649 653 653 653 655 656 661 662 663 663

Классификация значений Объединение столбцов Переупорядочение столбцов Перестановка строк в произвольном порядке Выборка имени файла из URL Поиск текста в списке Перевод вертикально расположенных данных в горизонтально расположенные Заполнение пропусков в импортированном отчете Проверка правописания Замена или удаление текста в ячейках Добавление текста в ячейки Решение задачи с завершающим символом «минус» На что следует обратить внимание при подготовке данных Экспортирование данных Экспортирование данных в текстовые файлы Экспорт в файлы других форматов

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

Глава 27. Структурирование рабочих листов Что такое структура рабочего листа Создание структуры Подготовка данных Автоматическое создание структуры Создание структуры вручную Работа со структурами Отображение уровней Добавление данных к структуре Удаление структуры

664 665 666 667 667 667 668 671 672 673 674 674 675 675 675 676

677 677 678 679 681 683 683 685 685 685 686 686 687 687 688 688 689 689

691 691 695 695 696 697 698 699 699 699

Настройка символов структуры Сокрытие символов структуры

Глава 28. Связывание и консолидация данных Связывание рабочих книг Создание формул с внешними ссылками Синтаксис формул с внешними ссылками Создание формулы со ссылками путем указания Вставка связей Работа с формулами, содержащими внешние ссылки Создание связей с несохраненными рабочими книгами Открытие рабочей книги, содержащей формулы с внешними ссылками Запрос на обновление связей Обновление связей Изменение ссылки Разрыв связей Возможные проблемы при работе с формулами, содержащими внешние ссылки Переименование или перемещение исходной рабочей книги Использование команды Сохранить как Изменения в исходной рабочей книге Использование промежуточных связей Консолидация рабочих листов Консолидация с помощью формул Консолидация с помощью диалогового окна Специальная вставка Консолидация рабочих листов с помощью диалогового окна Консолидация Пример консолидации данных Обновление консолидированных данных Дополнительные сведения о консолидации

Глава 29. Понятие о сводных таблицах Что такое сводная таблица Пример сводной таблицы Отбор данных для сводных таблиц Автоматическое создание сводных таблиц Создание сводных таблиц вручную Определение местонахождения данных Определение расположения сводной таблицы Создание макета сводной таблицы Форматирование сводной таблицы Модификация сводной таблицы Другие примеры сводных таблиц Какова ежедневная сумма вкладов в каждом из отделений? На какой день недели приходятся наибольшие вклады по счетам? Сколько счетов было открыто в каждом из отделений и по каждому из типов счетов? Как распределены суммы по счетам?

700 700 701 701 702 703 703 704 704 705 705 707 707 708 708

708 709 709 709 710 711 712 713 714 716 719 719 721 721 722 725 727 728 729 730 731 734 736 738 738 739 740 741

Какие типы счетов чаще всего открывают кассиры? В каком отделении уполномоченные открыли наибольшее количество депозитов для новых клиентов? Что дальше

Глава 30. Анализ данных с помощью сводных таблиц Работа с нечисловыми данными Группирование элементов сводной таблицы Пример группирования данных вручную Автоматическое группирование Использование сводных таблиц для создания распределения частот Создание вычисляемого поля и вычисляемого элемента Создание вычисляемого поля Вставка вычисляемого элемента Фильтрация сводных таблиц с помощью срезов Фильтрация сводных таблиц с помощью временной шкалы Ссылки на ячейки сводной таблицы Создание сводных диаграмм Пример построения сводной диаграммы Еще о сводных диаграммах Применение моделей данных

Глава 31. Анализ данных с помощью сценариев «что если» Пример анализа «что если» Типы анализа «что если» Проведение анализа «что если» вручную Создание таблиц данных Диспетчер сценариев

Глава 32. Анализ данных: подбор параметров и поиск решения Анализ «что если» наоборот Подбор параметра для одной ячейки Пример подбора параметра Подробнее о процедуре подбора параметра Надстройка Поиск решения Характерные задачи поиска решения Простой пример поиска решения Параметры средства Поиск решения Примеры использования процедур поиска решений Решение системы линейных алгебраических уравнений Минимизация транспортных расходов Распределение ресурсов Оптимизация инвестиционного портфеля

Глава 33. Надстройка Пакет анализа Обзор возможностей надстройки Пакет анализа Установка надстройки Пакет анализа

742

742 743 745 745 747 748 749 754 756 758 760 763 765 766 768 768 771 772 779

780 781 781 782 789 797 797 798 798 800 801 801 802 807 809 809 811 814 816

819 819 820

Использование средств надстройки Пакет анализа Средства надстройки Пакет анализа Дисперсионный анализ Корреляционный анализ Ковариационный анализ Описательная статистика Экспоненциальное сглаживание F-тест (двухвыборочный тест для сравнения дисперсий) Анализ Фурье Гистограмма Скользящее среднее Генерация случайных чисел Ранг и процентиль Регрессия Выборка t-тест Двухвыборочный z-тест для средних

Глава 34. Защита вашей работы Типы защиты Защита рабочего листа Заблокированные и ^заблокированные ячейки Параметры защиты рабочего листа Назначение разрешений пользователям Защита рабочей книги Защита рабочей книги паролем, необходимым для ее открытия Защита структуры рабочей книги Защита проектов VBA Дополнительные темы Сохранение рабочих книг в формате PDF Финализация рабочей книги Инспектирование рабочей книги Использование цифровой подписи

Часть V. Использование инструментов Power Pivot и Power Query Глава 35. Надстройка Power Pivot Внутренняя модель данных Power Pivot Отображение интерфейса надстройки Power Pivot на ленте приложения Связывание таблиц Excel с Power Pivot Загрузка данных из сторонних источников Загрузка данных из реляционных баз данных Загрузка данных из плоских файлов Обновление соединений с внешними источниками данных и управление ими

821 822 822 822 823 824 824 825 825 825 827 828 829 829 830 830 831 833

833 834 834 836 837 838 838 839 840 841 841 842 842 843 845 847 848 848 849 858 858 864

870

Глава 36. Работа непосредственно с внутренней моделью данных Прямой доступ к внутренней модели данных Управление связями во внутренней модели данных Удаление таблицы из внутренней модели данных

Глава 37. Использование формул в надстройке Power Pivot Дополнение данных надстройки Power Pivot вычисляемыми столбцами Создание простого вычисляемого столбца Форматирование вычисляемых столбцов Ссылки на вычисляемые столбцы в других вычислениях Сокрытие промежуточных вычисляемых столбцов Использование языка DAX при создании вычисляемых столбцов Функции языка DAX, используемые для создания вычисляемых столбцов Создание вычисляемых столбцов с использованием функций языка DAX Ссылки на поля в других таблицах Вложение функций Использование вычисляемых мер Редактирование и удаление вычисляемых мер Использование аналитических функций Excel для манипуляции данными сводных таблиц

Глава 38. Что такое Power Query Основные концепции Power Query Этапы выполнения запроса Просмотр кода в окне Расширенный редактор Обновление данных в запросах Power Query Управление существующими запросами Действия на уровне столбца Действия на уровне таблицы Получение данных из внешних источников Импорт данных из файлов Импорт данных из систем баз данных Получение данных из других систем данных Управление параметрами источников данных Редактирование параметров источников данных

Глава 39. Преобразование данных с использованием Power Query Выполнение общих преобразований Удаление дублирующихся записей Заполнение пустых полей Заполнение пустых строк Объединение столбцов Изменение регистра текстовых значений Поиск и замена текстовых значений Обрезка и очистка текстовых значений Извлечение символов слева, справа и из середины значения

875 875 882 883

885 886 886 888 889 890 891 892 894 897 899 900 903 904 907

908 916 918 918 919 921 924 927 928 930 932 933 933 935 936 936 939 940 940 942 942 944 946

Извлечение первых и последних символов Извлечение символов из середины текстового значения Разделение столбцов с использованием маркерных символов Развертывание свернутых столбцов Развертывание других свернутых столбцов Свертывание столбцов Создание пользовательских столбцов Конкатенация исходных столбцов в настраиваемый пользовательский столбец Преобразование типов данных Тонкая настройка пользовательских столбцов с помощью функций Добавление в пользовательские столбцы условной логики Группирование и агрегирование данных

947 948 949 951 952 953 955

957 958 959 962 963

Глава 40. Организация совместной работы запросов

967

Повторное использование этапов запроса Использование функции добавления данных Создание необходимых базовых запросов Добавление данных Использование функции объединения запросов Типы объединения данных в средстве Power Query Объединение запросов

967 972 973 974 977 977 978

Глава 41. Повышение эффективности работы с Power Query Повышение эффективности работы с Power Query Быстрое получение информации о запросах Организация запросов в группы Быстрое выделение столбцов в запросах Переименование этапов запроса Быстрое создание справочных таблиц Копирование запросов с целью экономии времени Определение действий при загрузке данных, принимаемых по умолчанию Предотвращение автоматического преобразования типов данных Предотвращение проблем с производительностью в Power Query Используйте представления вместо таблиц Возложите часть преобразований информации на сервер базы данных Апгрейд до 64-разрядной версии Excel Для повышения производительности отключите функцию обеспечения конфиденциальности Отключите функцию распознавания связей

983

983 984 984 985 986 986 987 988 988 990 990 990 991 992 993

Часть VI. Программирование в Excel

995

Глава 42. Введение в язык Visual Basic for Applications

997

Введение в макросы VBA Вкладка Разработчик на ленте приложения

997 999

Безопасность макросов Сохранение рабочих книг, содержащих макросы Два типа VBA-макросов Подпрограммы VBA Функции VBA Создание VBA-макросов Запись макросов VBA Еще несколько слов о записи макросов VBA Написание кода VBA Дополнительные сведения

Глава 43. Функции VBA: создание новых функций рабочего листа Понятие функций VBA Простой вводный пример Создание новой функции Использование функции на рабочем листе Анализ новой пользовательской функции Процедуры-функции Запуск процедур-функций Вызов функции из другой процедуры Использование функций в формулах рабочего листа Аргументы процедур-функций Пример функции без аргументов Пример функции с одним аргументом Еще один пример функции с одним аргументом Пример функции с двумя аргументами Пример функции с аргументами-диапазонами Простая и полезная функция Отладка пользовательских функций Вставка собственных функций в формулы Дополнительные сведения

Глава 44. Создание экранных форм Зачем создавать новые диалоговые окна Альтернатива экранным формам Использование функции InputBox Использование функции MsgBox Создание пользовательских диалоговых окон Работа с экранными формами Вставка в экранную форму элементов управления Изменение свойств элементов управления Обработка событий Отображение экранных форм Пример экранной формы Создание экранной формы Тестирование экранной формы Создание процедур обработки событий

999 1001 1001 1002 1003 1005 1005 1014 1017 1027 1029 1029 1030 1030 1031 1031 1033 1034 1034 1035 1036 1036 1036 1037 1039 1039 1040 1041 1042 1044 1045 1045 1047 1047 1047 1051 1051 1052 1053 1054 1055 1055 1055 1056 1058

Еще один пример диалогового окна Создание диалогового окна Создание процедур обработки событий Отображение диалогового окна Тестирование диалогового окна Назначение макроса кнопке на рабочем листе Назначение макроса кнопке на панели быстрого доступа Дополнительная информация о создании диалоговых окон Добавление «горячих клавиш» Изменение последовательности обхода Дополнительные сведения

Глава 45. Элементы управления на рабочем листе Размещение элементов управления на рабочем листе Использование элементов управления Вставка элемента управления Режим конструктора Настройка свойств элементов управления Общие свойства элементов управления Связывание элементов управления с ячейками рабочего листа Создание макросов для элементов управления Обзор элементов управления ActiveX Флажок Поле со списком Кнопка Изображение Подпись Список Переключатель Полоса прокрутки Счетчик Текстовое поле Выключатель

Глава 46. Обработка событий в Excel События Excel Создание процедуры обработки события События уровня рабочей книги Использование события Open Использование события SheetActivate Использование события NewSheet Использование события BeforeSave Использование события BeforeClose События рабочего листа Использование события Change Отслеживание изменений в заданном диапазоне ячеек

1059 1059 1061 1062 1063 1064 1064 1065 1065 1066 1066 1067 1067 1070 1070 1071 1071 1072 1073 1074 1075 1076 1076 1077 1077 1078 1078 1079 1079 1080 1081 1082 1083

1083 1084 1086 1087 1088 1089 1089 1090 1090 1091 1091

Использование события Selectionchange Использование события BeforeRightClick События, не связанные с объектами Использование события OnTime Использование события ОпКеу

Глава 47. Примеры VBA-программ Работа с диапазонами Копирование диапазона Копирование диапазона произвольного размера Выборка до конца строки или до конца столбца Выборка всей строки или всего столбца Перемещение диапазона Циклические операции над диапазоном Запрос на ввод значения ячейки Определение типа выделенного объекта Выявление несмежных диапазонов Подсчет количества выделенных ячеек Работа с книгами Excel Сохранение всех рабочих книг Сохранение и закрытие всех рабочих книг Работа с диаграммами Изменение типа диаграммы Изменение свойств диаграммы Форматирование диаграммы Советы по ускорению работы VBA-кода Отключение функции обновления экрана Отключение предупреждающих сообщений Упрощение ссылок на объекты Объявление типов переменных

Глава 48. Создание надстроек Excel Что такое надстройка Работа с надстройками Зачем создавать надстройки Создание надстройки Пример создания надстройки Код в модуле Module 1 Описание экранной формы Тестирование рабочей книги Добавление описания Создание пользовательского интерфейса для макроса надстройки Защита проекта Создание надстройки Инсталляция надстройки

Предметный указатель

1092 1093 1094 1094 1095

1097 1097 1098 1099 1100 1101 1101 1102 1104 1105 1105 1106 1107 1107 1107 1108 1108 1109 1109 1110 1110 1110 1111 1111 1115 1115 1116 1117 1118 1119 1120 1121 1121 1121 1122 1123 1123 1124

1125

Об авторах Майкл Александер — сертифицированный разработчик приложений на основе продуктов Microsoft (MCAD) и автор нескольких книг по бизнес-анализу с использо­ ванием приложений Microsoft Access и Microsoft Excel. Его опыт по предоставлению консультаций и разработке решений в среде Microsoft Office превышает 20 лет. За существенный вклад в деятельность сообщества пользователей Excel Майк был удо­ стоен звания Microsoft MVP (Microsoft most valuable professional — наиболее ценный специалист Microsoft). Дополнительную информацию о нем можно найти на сайте www.datapigtechnologies.com. Ричард Куслейка более 20 лет работает с приложениями Microsoft Office и за это время 12 раз был удостоен звания Microsoft Excel MVP. Дик разрабатывает для своих клиентов решения на базе Microsoft Access и Microsoft Excel, а также проводит об­ учающие семинары по приложениям Microsoft Office в США и Австралии. Помимо этого, он ведет популярный среди пользователей Excel блог, который можно найти в Интернете по адресу www.dailydoseofexcel .com. Джон Уокенбах — автор более 50 книг, посвященных электронным таблицам, многие из которых стали бестселлерами. Он живет в Южной Аризоне среди гигант­ ских кактусов-цереусов, пекари, гремучих змей, рысей и огромных ящериц-ядозу­ бов, которые зачастую обращаются в бегство, услышав его искрометную игру на бан­ джо. Дополнительную информацию о нем желающие могут найти в Интернете.

0 технических рецензентах Джордан Голдмейер (Jordan Goldmeier) — аналитик-профессионал и эксперт по визуализации данных, получивший международное признание, автор книг, лек­ тор и руководитель высшего звена. Он — владелец компании Cambia Factor, консалт-агенства по данным, а также автор книги Advanced Excel Essentials (Apress, 2014) и соавтор книги Dashboards for Excel (Apress, 2015), посвященных методам углубленной аналитики в среде Excel. Джордан консультировал и проводил тренин­ ги для Учебной миссии НАТО, Пентагона, ВВС и ВМФ США, журнала Financial Times, Университета Цинциннати и многих других организаций. Его работы цитировались и перепечатывались в изданиях Associated Press, Bloomberg BusinessWeek, Dice News и на сайте American Express OPEN Forum. В 2013 году Джордан был удостоен пре­ стижного звания Microsoft MVP как владелец и продюсер Excel.TV, интерактивного сообщества, распространяющего обучающие материалы, сообщения об успехах или неудачах от экспертов и практиков в Excel, бизнес-аналитиков, специалистов и ана­ литиков по большим данным. Он неоднократно проводил техническое редактирова­ ние и составлял обзоры книг издательств Wiley, O’Reilly и пр. Джойс Дж. Нильсен (Joyce J. Nielsen) работает в книгоиздательстве более 25 лет и является автором, выпускающим или техническим редактором и руководителем проектов множества изданий по приложениям Microsoft Office, Windows, Интернету и другим ГГ-технологиям, выпущенных ведущими издательствами. Она является ав­ тором или соавтором более 40 компьютерных книг, а также редактором нескольких

сот изданий и более 2000 статей в онлайн-ресурсах. Джойс получила степень бакалавра по количественному бизнес-анализу в Университете штата Индиана в Блумигтоне, а в настоящее время проживает в штате Аризона. Дуг Холланд (Doug Holland) является архитектором программных решений в корпорации Microsoft, вместе со своими партнерами работающим над цифровой трансформацией информационных бизнес-структур посредством таких техноло­ гий, как Microsoft Cloud, Office 365 и HoloLens. Степень магистра в области разра­ ботки программного обеспечения он получил в Оксфордском университете, а сей­ час живет в Северной Калифорнии со своей женой и пятью детьми. Гай Харт-Дэвис (Guy Hart-Davis) является автором невероятного количества компьютерных книг самой разнообразной тематики. Если вам интересно, кто напи­ сал такие книги, как Word 2000 Developer’s Handbook, AppleScript: A Beginner’s Guide, iMac Portable Genius или Samsung Galaxy S8 Maniac’s Guide, то это именно он.

Благодарности авторов Мы благодарим профессионалов издательства John Wiley & Sons за все те часы на­ пряженной работы, которые они потратили, чтобы эта книга вышла в свет. Отдельно мы хотим поблагодарить Джордана Голдмейера, Джойс Нильсен, Дуга Холланда и Гая Харт-Дэвиса за предложенные ими многочисленные улучшения в отношении при­ меров и текста этой книги. Особые слова благодарности — членам наших семей за их терпение и понимание по поводу времени, которое было отнято нами у них и по­ трачено на этот проект. Наконец, мы хотели бы поблагодарить Джона Уокенбаха за его многолетний труд над предыдущими изданиями этой книги. Его усилия в рас­ пространении знаний по Excel сыграли важную роль не только потому, что помогли миллионам пользователей Excel достичь своих целей в изучении этого приложения, но и потому, что вдохновили многих Excel-специалистов поделиться своими знани­ ями и опытом со всеми членами сообщества пользователей Excel.

Введение

обро пожаловать в мир Excel! Конечно, это сказано несколько напыщенно и претенциозно, но если оглянуться вокруг и присмотреться к миру бизне­ са, финансов, промышленного производства и вообще почти ко всем областям человеческой деятельности, можно увидеть людей, активно использующих это приложение. Excel повсюду. Пожалуй, это наиболее популярная программа за всю историю существования бизнес-приложений. Поэтому не будет большим преувели­ чением сказать, что все мы живем в мире Excel. И вероятно, именно по этой причине вы обратили свое внимание на данную книгу. Вы нуждаетесь в чем-то, что поможет вам ускорить процесс обучения и быстро подняться на желаемый уровень владения любыми инструментами этого многогранного приложения. Дорогой читатель, не стоит волноваться! Независимо от того, для чего именно вам оказался нужен Excel — для получения новой должности (в этом случае прими­ те наши поздравления), для подготовки школьного задания или просто для сугубо личного использования, — эта книга является как раз тем, что вам нужно. В этой книге мы собрали все, что может понадобиться, чтобы быстро разобраться в основах, научиться уверенно использовать и перейти к эффективной самостоя­ тельной работе с данным программным продуктом. Открыв ее, вы убедитесь, что она содержит много полезных примеров, множество советов и эффективных приемов в отношении любых аспектов работы в Excel — от основных понятий до наиболее сложных и универсальных инструментов этого приложения. И все это в дальней­ шем вы сможете успешно применить на практике.

Д

Для кого эта книга Эта книга задумана так, чтобы помочь повысить свое мастерство читателям всех уровней (начинающим, продвинутым, опытным и даже профессиональным пользо­ вателям Excel). Если вы — новичок в Excel, начните чтение книги с самого начала. В части I вам будет предложено все необходимое, чтобы научиться вводить данные, мани­ пулировать файлами, форматировать рабочие листы и выводить данные на печать. Разобравшись в основах, вы сможете перейти к части II, в которой подробно обсуж­ дается все, что имеет отношение к формулам Excel. Если вы — опытный аналитик, заинтересованный в улучшении собственных на­ выков визуализации данных и в расширении набора аналитических инструментов, обратитесь к частям III и IV. Здесь вы найдете много примеров и полезных советов

32

Введение

в отношении анализа данных и создания в Excel визуально привлекательных пане­ лей итоговых отчетов. Если вы уже работали с предыдущими версиями Excel, эта книга также для вас! В части V обсуждаются новые наборы инструментов Excel, получившие название Power Pivot и Power Query. Ранее эти функциональные средства существовали в виде бес­ платных надстроек от Microsoft, использовавшихся как дополнительные инструменты. В новой версии они стали важнейшей частью инструментария Excel предназначенного для манипуляции данными и взаимодействия с их внешними источниками. Если вам необходимо познакомиться с основами программирования на язы­ ке Visual Basic for Applications (VBA), то примите к сведению, что все необходимое для достижения этой цели вы найдете в части VI книги. Тема VBA и его использования весьма обширна и заслуживает собственной книги, поэтому нами также была напи­ сана книга Excel 2019 Power Programming with VBA (Wiley, 2019). Тем не менее в этой книге вы найдете достаточный набор глав, изучение которых поможет вам уверенно начать использовать VBA для автоматизации и улучшения своих Excel-решений.

Версии программы Эта книга посвящена версии Excel 2019 для настольных компьютеров, работающих под управлением операционной системы Windows. Следует особо обратить ваше вни­ мание на то, что материал этой книги не применим к пакету Microsoft® Excel for Mac. Приложение Excel 2019 поставляется в нескольких версиях, включая веб-версию и версии, предназначенные для работы на планшетах и мобильных телефонах. Хотя данная книга была написана для версии Excel 2019, предназначенной для работы на настольных компьютерах, очень много информации в ней также вполне приме­ нимо и к версиям Excel для веба или для планшетов. Пользователи предыдущих вер­ сий, Excel 2016 и Excel 2013, также найдут значительную часть информации в книге вполне релевантной к их приложениям. Пользователи версии Excel из пакета Office 365, весьма вероятно, заметят неко­ торые функциональные возможности в своей версии Excel, которые не рассматрива­ ются в этой книге. Вот уже несколько лет как Microsoft взяла на вооружение гибкий цикл выпуска обновлений для пакета Office 365 — практически ежемесячно. Это очень хорошо для тех, кому нравится следить за появлением у Excel новых функци­ ональных возможностей. Но это вовсе не так привлекательно для тех, чья задача — описывать функции и инструменты этого замечательного приложения в книге. Мы полагаем, что Microsoft непременно продолжит свою практику быстрыми темпами добавлять в Excel новые примочки и навороты. Следовательно, в недале­ ком будущем вы вполне сможете обнаружить в нем функциональные возможности, не упоминаемые в этой книге. Но при этом Excel имеет широкий набор функций, большая часть которого стабильна и остается таковой на протяжении многих лет. Поэтому, даже если в Excel будут внесены изменения, они не будут настолько ра­ дикальными, чтобы эта книга совершенно утратила свою значимость. Основные функции приложения, описанные в ее главах, останутся актуальными, даже если механизмы работы Excel так или иначе изменятся.

Введение

33

Соглашения, принятые в книге Уделите минуту внимания данному разделу и ознакомьтесь с некоторыми типо­ графскими и организационными соглашениями, принятыми в этой книге.

Команды Excel В этой версии Excel используется контекстно-зависимый ленточный интерфейс. Слова в верхней строке окна (такие, как Файл, Вставка, Разметка страницы и т.д.) называют заголовками вкладок. Щелкните на любом из заголовков, и на ленточном интерфейсе программы появится набор команд, характерный для выбранной вклад­ ки. Каждая команда имеет имя, которое (обычно) отображается рядом с пиктограм­ мой или под ней. Все команды упорядочены в группы, названия которых выводятся в нижней строке ленточного интерфейса. По умолчанию при ссылке на команду сначала будет указано название вкладки, затем — название группы и наконец — название команды. Например, для указания команды, которая перенесет слова в ячейке на новую строку, я использую команду, которая в этой книге записывается так:

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

Имена файлов и вводимые данные То, что вы должны ввести с клавиатуры, в книге выделено полужирным моноширинным шрифтом. Имена файлов выделены обычным моноширинным шрифтом. Длинный вводимый список данных или команд обычно располагается в отдельной строке. Например, я могу предложить вам ввести следующую формулу: = «Имя раздела: » &ВПР(Имя_раздела,Список,2)

Все названия клавиш заключаются в угловые скобки (< >). Если две клавиши должны быть нажаты одновременно, они объединяются знаком «плюс»; например, для копирования содержимого выбранных ячеек следует нажать комбинацию кла­ виш . Четыре клавиши, обозначенные стрелками, еще известны как навигационные клавиши. Встроенные функции рабочего листа Excel обозначаются прописными буква­ ми и всегда выделяются моноширинным шрифтом, например «Введите формулу суммпроизв в ячейку С20».

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

34

Введение Указатель мыши. Маленькое графическое изображение, которое перемещается по экрану, когда вы двигаете мышь. Обычно указатель мыши — это стрелка, но он изменяет свой вид, когда вы перемещаете его в определенные области на экране или выполняете определенные действия.

Указать. Переместить мышь так, чтобы навести ее указатель на некоторый эле* мент. Щелкнуть. Один раз нажать и сразу же отпустить левую кнопку мыши. Щелкнуть правой кнопкой мыши. Нажать и сразу же отпустить правую кнопку мыши, которая используется в Excel для вызова контекстного меню, относящего­ ся к выделенному объекту.

Дважды щелкнуть. Дважды быстро нажать и сразу же отпустить левую кнопку мыши. Перетащить. Нажать левую кнопку мыши и удерживать ее в этом положении при перемещении мыши. Операция перетаскивания часто используется для вы­ бора диапазона ячеек или изменения размера объекта.

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

• “Щелчок” подразумевает касание. Это движение заключается в быстром каса­ нии пальцем кнопки, что идентично щелчку мышью.

• “Двойной щелчок” — это двойное касание. Быстрые кратковременные каса­ ния эквивалентны двойному щелчку. • “Щелчок правой кнопкой мыши” — нажмите и держите палец до тех пор, пока не появится меню. Для выполнения команды коснитесь пункта раскрывающе­ гося меню.

Не забудьте активизировать режим сенсорного управления на инструментальной панели быстрого доступа. Режим сенсорного управления увеличивает расстояние между командами ленты, что уменьшает вероятность ошибочного касания не той команды, которая вам нужна. Если режим сенсорного управления на вашей ин­ струментальной панели быстрого доступа отсутствует, коснитесь крайнего справа элемента управления и выберите режим сенсорного управления. Эта команда предназначена для переключения между режимом мыши и режимом сенсорного управления.

Введение

35

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

Часть II. Формулы и функции. В этой части приведено все, что необходимо знать для проведения разнообразных вычислений в Excel. Часть III. Создание диаграмм и другие приемы визуализации. Здесь описаны приемы создания эффективных диаграмм. Кроме того, здесь вы узнаете о воз­ можностях условной визуализации и информационных кривых или спарклайнов. Отдельная глава посвящена интеграции графики в рабочие таблицы.

Часть IV. Управление данными и их анализ. Здесь освещается обширная тема управления данными и их анализа, а также обсуждаются вопросы проверки дан­ ных, их связывания и консолидации, использования сводных таблиц и т.д. Часть V. Использование инструментов Power Pivot и Power Query. В этой части приводится углубленный обзор функциональных возможностей этих мощных инструментов Excel 2019. В начале обсуждается, как реализовать мощные реше­ ния в отношении формирования сложных итоговых отчетов с использованием функциональности Power Pivot, а затем на конкретных примерах поясняется, какие возможности в отношении автоматизации действий по загрузке, очистке и преобразованию данных предоставляет инструмент Power Query. Некоторые главы этой части, без сомнения, будут интересны пользователям всех уровней. Часть VI. Программирование в Excel. Эта часть предназначена для тех, кто хо­ чет настроить Excel по собственному усмотрению, а также разрабатывает рабо­ чие книги и надстройки для других пользователей. Сначала достаточно детально описывается язык Visual Basic for Applications (VBA), а затем обсуждаются методы создания экранных форм, надстроек и событий, а также приемы работы с ними.

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

Вы попали в затруднительное положение, пытаясь что-либо сделать.

Вам нужно сделать то, чего вы никогда раньше не делали.

У вас есть немного свободного времени, и вы хотите узнать что-то новое об Excel.

Обратите внимание на то, что каждая глава, как правило, посвящена одной большой теме. Если вы только начинаете работать с Excel, рекомендуем прочитать

36

Введение

первые главы, чтобы получить основное представление об электронных таблицах, а затем поэкспериментировать по своему усмотрению. Ознакомившись с Excel, мо­ жете обратиться к тем главам, которые вас больше всего интересуют. Однако неко­ торые пользователи предпочитают читать главы по порядку, одну за другой. Не отчаивайтесь, если какая-либо информация будет вами упущена. Большинство пользователей ограничиваются использованием только небольшого подмноже­ ства всего богатства возможностей Excel. На самом деле правило 80/20 примени­ мо и здесь: 80% пользователей Excel используют только 20% его возможностей. Но даже если вы используете возможности программы Excel лишь на 20%, этого может оказаться вполне достаточно для решения подавляющего большинства задач, кото­ рые будут поставлены перед вами.

Веб-сайт книги В этой книге рассмотрено большое количество примеров, которые вы можете за­ грузить в виде готовых рабочих книг с веб-сайта издательства Wiley, на котором есть раздел, посвященный англоязычному изданию этой книги. http://www.wiley.com/go/excel2019bible.

Кроме того, архив с адаптированными примерами можно скачать с веб-страницы русскоязычного издания книги на сайте издательства «Диалектика», расположен­ ной по адресу http://www.dialektika.com/books/978-5-907144-44-6.html

Ждем ваших отзывов! Вы, читатель этой книги, и есть главный ее критик. Мы ценим ваше мнение и хо­ тим знать, что было сделано нами правильно, что можно было сделать лучше и что еще вы хотели бы увидеть изданным нами. Нам интересны любые ваши замечания в наш адрес. Мы ждем ваших комментариев и надеемся на них. Вы можете прислать нам элек­ тронное письмо, либо просто посетить наш веб-сайт и оставить свои замечания там. Одним словом, любым удобным для вас способом дайте нам знать, нравится ли вам эта книга, а также выскажите свое мнение о том, как сделать наши книги более ин­ тересными для вас. Отправляя письмо или оставляя сообщение, не забудьте указать название книги и ее авторов, а также свой электронный адрес. Мы внимательно ознакомимся с вашим мнением и обязательно учтем его при отборе и подготовке к изданию новых книг. Наши электронные адреса:

E-mail: [email protected] WWW: http ://www.dialektika.com

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

В

В ЭТОЙ ЧАСТИ… Глава 1 Знакомство с Excel

Глава 2 Ввод данных на рабочий лист и их редактирование Глава 3 Основные операции с рабочим листом Глава 4 Работа с диапазонами и таблицами Excel Глава 5 Форматирование рабочих листов Глава 6 Работа с файлами и шаблонами Excel Глава 7 Печать результатов работы

Глава 8 Настройка пользовательского интерфейса

Глава

Знакомство с Excel В ЭТОЙ ГЛАВЕ… Обзор возможностей Excel Что нового в Excel 2019

Элементы основного окна Excel Перемещение по рабочему листу

Интерфейс пользователя: лента, контекстные меню, диалоговые окна и панели задач Практические занятия: создание первого рабочего листа

В

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

Обзор возможностей Excel Как вы, вероятно, знаете, Excel — это программа, которая относится к категории электронных таблиц и является частью пакета Microsoft Office. Кроме нее, суще­ ствует еще несколько подобных программ, но, безусловно, Excel — наиболее по­ пулярная из них и, можно сказать, является стандартом приложений электронных таблиц на протяжении многих лет. Одним из основных достоинств программы Excel является ее универсальность. Конечно же, в Excel наиболее развиты средства для выполнения различных вычис­ лений над числами, но ее можно применять и для решения множества других задач, не относящихся к числовым. Вот лишь несколько из возможных вариантов приме­ нения Excel.

Часть I. Вводный курс

40

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

Обработка текстовых данных. Очистка и стандартное представление текстовых данных.

Доступ к данным других типов. Возможность импортирования данных из мно­ жества различных источников.

Создание графических панелей с итоговыми отчетами. Представление боль­ шого количества деловой информации в сжатом виде. Создание рисунков и схем. Использование фигур Excel и средства SmartArt для создания простых (и не очень простых) схем.

Автоматизация сложных задач. Используя макросы Excel, можно выполнять однотипные задачи одним щелчком мыши.

Что нового в Excel 2019 Ниже приведен краткий обзор новых (по сравнению с Excel 2016) возможностей, появившихся в Excel 2019. Не забывайте, что в данной книге описывается лишь вер­ сия Excel для настольных компьютеров. В мобильной и онлайн-версиях Excel 2019 набор возможностей может быть несколько иным.

Появились новые типы диаграмм. В Excel 2019 поддерживаются два новых типа диаграмм: диаграмма Воронка (Funnel Chart) и Картограмма (Map Chart). Соответствующие примеры приведены в главе 20, «Основы построения диаграмм».

Улучшенная функция Автозавершение. Когда вы начинаете вводить имя функ­ ции, Excel отображает список функций, названия которых начинаются с уже вве­ денных вами символов. В Excel 2019 функция автозавершения получила допол­ нительные возможности в построении этого списка.

Инструменты Power Query и Power Pivot. В Excel 2019 возможности сводных таблиц и инструмента Скачать & преобразовать (так он назывался в Excel 2016) были улучшены и расширены за счет включения многих дополнительных функ­ ций, в том числе нескольких новых типов источников данных, режимов фильтра­ ции и вариантов преобразования данных. Подробно об этих улучшениях речь идет в части V, «Использование инструментов Power Pivot и Power Query». Отсутствие предупреждений в отношении формата CSV. В Excel 2019 уже не вы­ водятся предупреждающие сообщения о возможной потере функциональности при сохранении данных в файле формата CSV.

Глава 1. Знакомство с Excel

41

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

Изображения в формате SVG. В Excel 2019 обеспечена полная поддержка изоб­ ражений в формате Scalable Vector Graphic (SVG) и даже реализована возмож­ ность их преобразования в фигуры. Отмена выделения ячеек. Если вы выбрали одновременно несколько ячеек, щелкая на них при нажатой клавише , а затем оказалось, что среди них есть и та, которая вам не нужна, больше не придется начинать всю процедуру выбора сначала: достаточно просто еще раз щелкнуть на лишней ячейке мышью (попрежнему удерживая клавишу нажатой), и ее выделение будет отменено.

Макет сводной таблицы. В Excel 2019 появилась возможность сохранить пред­ почитаемые параметры настройки сводных таблиц как макет, используемый по умолчанию. В этом случае данные параметры будут автоматически приме­ няться для всех вновь создаваемых сводных таблиц.

Рабочая книга и рабочий лист Все результаты действий, выполняемых в Excel, хранятся в файле рабочей книги. Вы можете открыть сколько угодно рабочих книг, причем каждая из них будет от­ крыта в отдельном окне. Файлам рабочих книг Excel назначается стандартное рас­ ширение . xlsx.

На заметку В предыдущих версиях Excel пользователи имели возможность работать сразу с несколькими рабочими книгами, которые в таких случаях открывались в одном и том же окне приложения. Начиная с Excel 2013 такая возможность отсутствует, и каждая рабочая книга открывает­ ся в собственном окне. Это изменение сделало работу с Excel в большей степени похожей на работу с другими приложениями Office, а также обеспечило пользователям более удобный способ размещения различных рабочих книг на разных мониторах.

Каждая рабочая книга состоит из одного или нескольких рабочих листов, а рабо­ чий лист, в свою очередь, состоит из отдельных ячеек. В каждой ячейке может хра­ ниться число, формула или текст. Рабочий лист также имеет невидимый скрытый уровень (слой рисования), на котором содержатся графики, диаграммы, изображе­ ния и т.п. Объекты на слое рисования размещаются поверх ячеек, а не находятся внутри ячеек, как числа или формулы. Чтобы перейти с одного рабочего листа на другой, нужно щелкнуть на соответствующем ярлычке листа, который находит­ ся в нижней части окна рабочей книги. Кроме того, рабочие книги могут содержать листы диаграмм, на каждом из которых может находиться по одной диаграмме. Чтобы перейти на лист диаграммы, достаточно щелкнуть на ее ярлычке.

42

Часть I. Вводный курс

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

Строка заголовка Панель быстрого доступа

Список вкладок

I

I

Строка формул

I

Параметры Кнопки отображения управления ленты окном I I

Кнопка Файл —

Лента —

Поле Имя — Заголовки _ столбцов

Номера строк

Табличный курсор

Строка состояния

. j I Ярлыки Кнопки прокрутки листов ярлыков листов

1 Кнопка Новый лист

1 Горизонтальная полоса прокрутки

1 Кнопки просмотра страницы

I

Выбор масштаба

Вертикальная полоса прокрутки

Рис. 1.1. Окно Excel и его основные элементы

Таблица 1.1. Основные элементы окна Excel Элемент

Описание

Вертикальная полоса прокрутки

Позволяет прокручивать лист по вертикали

Выбор масштаба

Ползунок Масштаб позволяет изменять масштаб отображения активного рабочего листа

Горизонтальная полоса прокрутки

Позволяет прокручивать рабочий лист по горизонтали

Заголовки столбцов

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

Глава 1. Знакомство с Excel

43 Продолжение табл. 1.1

Элемент

Описание

Кнопка Новый лист

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

Кнопка сворачивания ленты

Щелчок на этой кнопке скрывает ленту, освобождая рабочее пространство экрана. После двойного щелчка на корешке любой вкладки (или нажатия ) лента появляется вновь

Кнопка Файл

Предоставляет доступ к представлению Microsoft Office Backstage, содержащему много опций, предназначенных для работы с документами (включая печать) и для установки параметров Excel

Кнопки прокрутки ярлыков листов

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

Кнопки просмотра страницы

Щелчок на одной из этих кнопок позволяет изменить способ отображения рабочего листа

Кнопки управления окном

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

Лента

Основное место расположения команд Excel. Щелчок на корешке любой вкладки разворачивает ее на ленте, изменяя тем самым набор отображаемых элементов

Номера строк

Каждая строка рабочего листа имеет заголовок, представленный числом от 1 до 1 048 576. Для того чтобы выделить все ячейки строки, щелкните на заголовке строки. Чтобы изменить высоту строк, щелкните на границе между двумя номерами строк

Панель быстрого доступа

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

Параметры отображения ленты

Раскрывающийся элемент управления, позволяющий выбрать один из трех вариантов отображения ленты

Поле Имя

Отображает адрес активной ячейки или имя выделенной ячейки, диапазона или объекта

Список вкладок

Подобен строке меню. Щелчок на корешке любой вкладки приводит к отображению на ленте соответствующего набора команд Excel

44

Часть 1. Вводный курс Окончание табл. 1.1

Элемент

Описание

Строка заголовка

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

Строка состояния

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

Строка формул

При вводе данных или формулы в ячейку они появляются в этой строке

Табличный курсор(или индикатор выбранной ячейки)

Это темный контур, выделяющий текущую активную ячейку (одну из 17 179 869 184 ячеек каждого рабочего листа)

Ярлыки листов

Каждый из этих ярлыков, напоминающих ярлычки записной книжки, представляет отдельный лист рабочей книги. Рабочая книга может иметь произвольное число рабочих листов; у каждого из них есть имя, которое и указывается на ярлыке листа

Перемещение по рабочему листу В этом разделе описываются различные способы перехода от одной ячейки рабо­ чего листа к любой другой. Каждый рабочий лист состоит из строк (пронумерованных от 1 до 1 048 576) и столбцов (обозначенных буквами от А до XFD). После столбца Z идет столбец АА, затем — столбцы АВ, АС и т.д. После столбца AZ следуют столбцы BA, ВВ и т.д. После столбца ZZ идут столбцы AAA, ААВ и т.д. На пересечении строки и столбца расположена отдельная ячейка, причем каж­ дая ячейка имеет уникальный адрес, состоящий из буквы столбца и номера строки. Например, адрес верхней левой ячейки — А1, тогда как адрес ячейки, расположен­ ной в последней строке в крайнем справа столбце рабочего листа, — XFD1048576. В любой момент времени только одна ячейка рабочего листа может быть актив­ ной. Активная ячейка — это ячейка, в которую будут помещены вводимые с клавиа­ туры данные; содержимое этой ячейки также можно редактировать. Активная ячей­ ка выделяется темным контуром (табличным курсором), как показано на рис. 1.2. Если на рабочем листе выделено более одной ячейки, темной рамкой будет огра­ ничено все выделение, при этом среди всех выделенных активная ячейка будет до­ полнительно подсвечена. Ее адрес, т.е. буква столбца и номер строки, всегда указы­ вается в поле Имя. В зависимости от выбранного способа перемещения по рабочей книге активная ячейка может перемещаться или оставаться неизменной.

Глава 1. Знакомство с Excel

45

Рис. 1.2. Активная ячейка С8 выделена темным контуром (табличным курсором)

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

На

заметку

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

Перемещение с использованием клавиатуры Вероятно, вы уже знаете, что для перемещения по рабочему листу можно ис­ пользовать клавиши управления курсором. Эти клавиши работают именно так, как можно было ожидать: нажатие клавиши со стрелкой вниз () перемещает таблич­

ный курсор вниз на одну строку, нажатие клавиши со стрелкой вправо ( , ). Один знак после запятой в числовых значениях исчезнет. Щелкните на этой кноп­ ке еще раз, и все значения будут представлены как целые числа, без дробных частей.

Форматирование таблицы Сейчас у нас все данные записаны в диапазон ячеек А1 :В13. Теперь преобразуем этот диапазон в «официальную» таблицу Excel. 1. Поместите табличный курсор в любую ячейку диапазона А1:В13.

2. Выберите команду Вставка’Таблицы^Таблица. В открывшемся диалоговом окне Создание таблицы удостоверьтесь, что программа Excel правильно опре­ делила диапазон ячеек, составляющих таблицу. 3. В диалоговом окне Создание таблицы щелкните на кнопке OK. Excel приме­ нит к таблице стандартный формат и от­ кроет контекстную ленточную вкладку Работа с таблицами^Конструктор.

Теперь ваша таблица должна иметь такой вид, как показано на рис. 1.16. Если вы не удовлетворены стандартным та­ бличным форматом, выберите другой формат из набора форматов, который становится до­ ступным после выбора команды Работа с таблицами^Конструктор^Стили таблиц. Обратите внимание, что можно предварительно просмо­ треть стили, перемещая мышь по ленте. Найдя стиль, который вам понравился, щелкните на нем, и он будет применен к таблице.

Рис. 1.16. Рабочий лист с диапазоном,

преобразованным в таблицу

Подробнее об “официальных” таблицах Excel читайте в главе 4, «Работа с диапазо­ нами и таблицами Excel”.

Суммирование значений На рабочем листе представлены объемы продаж по месяцам, но хотелось бы по­ лучить итог продаж за весь год. Поскольку наши данные уже преобразованы в та­ блицу, сделать это совсем просто. 1. Поместите табличный курсор в любую ячейку таблицы. 2. Выберите команду Работа с таблицами^Конструктор^Параметры стилей таблиц и установите флажок Строка итогов. Excel автоматически добавит

64

Часть I. Вводный курс

строку Итог внизу таблицы и создаст формулу, вычисляющую общую сумму в столбце объемов продаж. 3. Если хотите использовать другую формулу для вычисления итоговых зна­ чений (например, для вычисления среднего значения), то поместите та­ бличный курсор в ячейку В14, щелкните на маленькой кнопке со стрелкой, которая должна появиться рядом с ячейкой В14, и в открывшемся списке выберите другую, необходимую вам формулу для вычисления итоговых значений.

Создание диаграммы Теперь на основании табличных данных построим диаграмму. 1. Поместите табличный курсор в любую ячейку таблицы. 2. Выберите команду ВставкаоДиаграммы^Рекомендуемые диаграммы. Excel отобразит предлагаемые варианты типов диаграмм.

3. В диалоговом окне Вставка диаграммы щелкните на втором рекомендуе­ мом типе диаграмм (Гистограмма с группировкой), а затем на кнопке ОК. Excel вставит диаграмму в центр окна. Для того чтобы перенести диаграм­ му в другое место, щелкните на ее границе и перетащите диаграмму в любое удобное место.

4. Щелкните на диаграмме и выберите команду Работа с диаграммами Конструктор^Стили диаграмм. На рис. 1.17 показан рабочий лист после создания диаграммы. Ваша диаграмма мо­ жет иметь несколько иной вид если вы применили другой тип или стиль диаграммы.

Рис. 1.17. Таблица и диаграмма на рабочем листе

Рабочую книгу с построенными таблицей и диаграммой можно найти на веб-сайте www.wiley.com/go/excel2019bible. Имя соответствующего файла — table and chart .xlsx. Для русскоязычного издания книги файл называется PicO 1_17. xlsx.

Глава 1. Знакомство с Excel

65

Печать рабочего листа Теперь можно распечатать созданный рабочий лист. (Будем считать, что ваш принтер подключен и находится в рабочем состоянии.) 1. Убедитесь, что диаграмма не выделена. Если она выделена, то распечатана будет только диаграмма без таблицы данных. Чтобы отменить выделение ди­ аграммы, щелкните на любой ячейке или нажмите клавишу .

2.

Чтобы увидеть, как Excel разместит данные и диаграмму на печатной стра­ нице, щелкните на кнопке Разметка страницы, которая находится справа в строке состояния. Excel отобразит рабочий лист в виде печатной страницы, и вы сможете предварительно проанализировать, как результаты вашей рабо­ ты будут выведены на печать. Более того, здесь вам предоставляется возмож­ ность сразу исправить возможные недочеты внешнего вида и расположения данных на рабочем листе. Например, если диаграмма оказалась расположен­ ной сразу на двух печатных страницах, то можно или уменьшить ее, или пере­ тащить так, чтобы она располагалась только на одной печатной странице, на­ пример, поместив ее под таблицей с данными.

3. Когда рабочий лист будет готов к печати, выберите команду Файл^Печать. В этом месте можно изменить некоторые настройки печати. Например, можно выбрать печать в альбомной, а не книжной ориентации листа. Внесите не­ обходимые изменения, и вы увидите достигнутые результы в окне предвари­ тельного просмотра. 4. Если полученный результат вас полностью устраивает, щелкните на кнопке Печать, расположенной в верхнем левом углу. Страница распечатается, по­ сле чего вы возвратитесь к своей рабочей книге.

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

1. Щелкните на кнопке Сохранить панели быстрого доступа. На ней изобра­ жена «старинная» дискета, популярная в предыдущем столетии. Поскольку ваша рабочая книга ранее не сохранялась и имеет имя, назначенное по умол­ чанию, Excel откроет представление Microsoft Office Backstage, которое по­ зволит выбрать желаемое место для размещения файла рабочей книги. Этот экран позволяет сохранить файл в сетевой папке или на вашем локальном компьютере. 2. Щелкните на кнопке Обзор. Excel выведет диалоговое окно Сохранение документа.

Часть I. Вводный курс

66

3. В поле Имя файла введите подходящее имя файла, например прогноз продаж. Если хотите, можете указать какое-либо другое место для сохране­ ния файла. 4. Щелкните на кнопке Сохранить или нажмите клавишу . Excel со­ хранит рабочую книгу в файле. При этом рабочая книга останется открытой, и вы сможете продолжить работу с ней. На заметку По умолчанию Excel автоматически сохраняет копию вашей рабочей книги каждые десять минут. Для того чтобы настроить эту опцию (или установить ее, если она отключена), откройте с помощью команды Файл1^ Параметры диалоговое окно Параметры Excel. Затем перейдите на вкладку Сохранение этого диалогового окна. Установите в ней флажок Автосохранение каждые… и задайте требуемый временной интервал. Несмотря на наличие в Excel средства автосохранения — а также средства автовосстановления рабочих книг, — настоятельно рекоi мендуется не очень-то на них полагаться и периодически сохранять свою работу. Итак, вы ознакомились с основными возможностями Excel. Как видите, создавать рабочие книги Excel и работать с ними совсем нетрудно. Далее мы детальнее рас­ смотрим все эти и многие другие возможности Excel 2019.

Глава

Ввод данных на рабочий лист и их редактирование В ЭТОЙ ГЛАВЕ… Типы данных, которые могут использоваться в Excel Ввод текста и числовых значений в ячейки рабочего листа

Ввод на рабочий лист значений даты и времени

Изменение и редактирование информации

Использование встроенных и пользовательских числовых форматов

И

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

Типы данных Excel Как вы уже знаете, в рабочей книге Excel может содержаться произвольное чис­ ло рабочих листов, а каждый рабочий лист состоит более чем из 17 млрд, ячеек. В ячейке могут находиться данные одного из четырех типов.

Числовое значение

Текст

Формула

Сообщение об ошибке

Часть I. Вводный курс

68

Подробно сообщения об ошибках будут обсуждаться в части II, “Формулы и функции». На рабочем листе Excel могут находиться также графики, рисунки, диаграммы, кнопки и другие объекты. В действительности они находятся не в ячейках рабочего листа, а на графическом уровне. Графический уровень — это невидимый слой, рас­ положенный поверх рабочего листа.

Числовые значения Числовые значения, или просто числа, выражают различные количественные соотношения данных определенного типа, например объемы продаж, число слу­ жащих фирмы, атомный вес, тестовые оценки и т.д. Числовыми значениями могут быть также выражены даты (например, 16.02.2019) и время (например, 15:37:35). Как будет показано ниже, Excel позволяет довольно эффективно работать с этими типами данных.

Excel может отображать числовые данные в различных форматах. Ниже в этой главе, в разделе «Форматирование числовых значений”, вы увидите, какой внешний эф­ фект может вызвать применение к числам того или иного формата их отображения.

Вам может быть интересно, какие типы числовых значений используются в Excel. Например, для вас может быть важно выяснить, насколько большими могут быть числа и насколько точным является представление больших чисел. Для представления чисел в Excel используются 15 десятичных цифровых позиций. Например, если вы вводите большое число, такое как 123 456 789 123 456 789 (18 цифр), Excel сохраняет его с точностью до 15 цифр: 123 456 789 123 456 000. На первый взгляд, такое ограничение может показаться довольно жестким, но на практике это редко вызывает какие-либо проблемы. Все же не стоит забывать об этом ограничении при вводе номеров кредитных карт. В большинстве систем номер кредитной карты состоит из 16 цифр. Вследствие указанного ограничения после ввода номера карты Excel автоматически заменя­ ет последнюю цифру нулем. Чтобы обойти данное ограничение, следует вводить номера кредитных карт как текст. Для этого перед вводом измените формат яче­ ек на Текстовый (выберите команду Главная^Число и в раскрывающемся списке Числовой формат выберите пункт Текстовый). Также можно вводить перед номером кредитной карты какой-либо нечисловой символ, например апостроф. Так или иначе, Excel должен интерпретировать содержимое подобных ячеек как текст, а не как число, — позаботьтесь об этом

Ниже приведены другие числовые ограничения Excel. Наибольшее положительное число — 9,9Е+307.

Наименьшее отрицательное число——- 9,9Е+307. Наименьшее положительное число — 2,2251Е-308. Наибольшее отрицательное число——- 2,2251Е-308.

Глава 2. Ввод данных на рабочий лист и их редактирование

69

Эти числа представлены в экспоненциальном формате. А если выразить то же самое обычным языком, то, например, наибольшим положительным числом является произведение чисел 9,9 и 10 в степени 307, другими словами — 99 с 307 нулями. Но помните, что Excel хранит только 15 значащих цифр (первых слева) даже в таких огромных числах, а все остальные цифры этого числа будут заменены нулями.

Текст Помимо числовых значений, на большинстве рабочих листов присутствует текст. Текст может служить данными (например, список фамилий работников), подпися­ ми значений, заголовками столбцов или инструкцией по работе с данным рабочим листом. Как правило, текст используется для пояснения смысла значений числовых данных на рабочем листе или для представления информации о том, откуда они по­ ступили. Текст, который начинается с числа, все равно считается текстом. Например, если вы введете в ячейку текст, скажем, 12 служащих, то программа будет считать это текстом, а не числом. Поэтому данную ячейку нельзя будет использовать в вычис­ лениях. Если вы хотите использовать это число в вычислениях, введите число 12 в одну ячейку, а текст служащих — в соседнюю ячейку справа.

Формулы Формулы — это то, что делает электронную таблицу именно электронной табли­ цей. Без возможности использования формул программа Excel представляла бы собой всего лишь текстовый процессор с усовершенствованной функцией работы с табли­ цами. На самом же деле Excel позволяет вводить в ячейки очень сложные форму­ лы, в которых используются числовые значения, и даже текст. Если ввести формулу в ячейку, то в данной ячейке появится результат, вычисленный по этой формуле. Если вы измените любое из чисел, используемых в формуле, Excel автоматически повторит вычисления по этой формуле и отобразит новый результат. Формулой считается любое математическое выражение, но в формулах также можно использовать некоторые встроенные в Excel мощные функции. На рис. 2.1 показан рабочий лист, с помощью которого можно вычислить объем ежемесячных выплат по кредиту. В нем содержатся числа, текст и формулы. В ячейках в столбце А содержится текст. В столбце В находятся четыре числа и две формулы (формулы в ячейках В6 и В10). В столбце D представлено то, что в действительности находит­ ся в ячейках столбца В. Эту рабочую книгу под именем loan payment calculator.xlsx можно найти на веб-сайте книги WWW. wiley. com/go/ехсе12019ЫЫе. Для русскоязычного издания книги файл называется Pic02_01. xlsx. Более подробные сведения о формулах вы найдете в части II, “Формулы и функции”.

70

Часть I. Вводный курс

Рис. 2.1. Для создания в Excel полезных и наглядных

таблиц можно использовать числа, текст и формулы

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

Ввод числовых значений Чтобы ввести в ячейку числовое значение, переместите в нее табличный кур­ сор (в результате она станет активной), введите требуемое числовое значение и на­ жмите клавишу , или одну из клавиш управления курсором. Значение отобразится в ячейке и в строке формул, поскольку в строке формул всегда отоб­ ражается содержимое активной ячейки. При вводе чисел можно использовать де­ сятичные точки (или запятые) и знаки денежных единиц; кроме того, допускаются знаки «плюс», «минус» и «процент». Если поставить перед числом минус или заклю­ чить его в скобки, Excel будет считать это число отрицательным. При вводе больших чисел для удобства их чтения можно разделять группы разрядов пробелами: тысячи от единиц, миллионы от тысяч и т.д.

Ввод текстовых значений Вводить в ячейку текст так же просто, как и числовое значение: для этого сле­ дует активизировать нужную ячейку, ввести текстовое значение и нажать клавишу или одну из клавиш управления курсором. При вводе текста в одну ячей­ ку можно поместить не более 32 тысяч символов. Это примерно столько же, сколь­ ко символов (букв) в средней по размеру главе данной книги. Вы можете ввести в ячейку огромное количество символов, но отобразить их все на экране одновре­ менно будет непросто. Что произойдет, если вы введете в ячейку текст, который длиннее текущей ши­ рины столбца? Если ячейки, расположенные справа, пусты, Excel отобразит текст

Глава 2. Ввод данных на рабочий лист и их редактирование

71

целиком, заполняя соседние ячейки. Если же соседняя ячейка содержит какие-ли­ бо данные, программа отобразит столько символов текста, сколько возможно (весь текст по-прежнему находится в ячейке, просто он не отображается). Если вы хотите, чтобы в ячейке, рядом с которой находится заполненная ячейка, длинная строка текста отображалась полностью, можете сделать следующее. •

Сократить текст

Увеличить ширину столбца (перетащить вправо границу столбца в заголовке)

Выбрать более мелкий шрифт

Свернуть текст в ячейке таким образом, чтобы он отображался в несколько строк (для этого выберите команду Главная^Выравнивание^Перенести текст).

Совет

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

Рис. 2.2. Строка формул с увеличенной высотой позволяет отображать больше текста

Режим ввода данных В крайней слева позиции строки состояния Excel обычно присутствует слово Готово, указывающее на то, что программа готова ко вводу данных или редактиро­ ванию содержимого текущей ячейки рабочего листа. Если начать вводить в ячейку числовые данные или текст, в строке состояния появится сообщение Ввод указываю­ щее на то, что программа перешла в состояние ввода данных. Третьим из чаще всего встречающихся состояний программы является Правка — программа перейдет в него, если поместить курсор в строку формул. Подробнее об этом режиме работы програм­ мы речь пойдет в разделе «Изменение содержимого ячейки», ниже в этой главе. В режиме ввода вы непосредственно вводите что-либо в текущую ячейку. По мере ввода с клавиатуры введенный текст появляется в ячейке и в строке формул. В действительности содержимое ячейки не изменяется до тех пор, пока програм­ ма не выйдет из режима ввода, что сопровождается помещением введенных вами

72

Часть I. Вводный курс

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

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

Работа с датами Excel оперирует датами, используя их последовательную нумерацию. Самая ран­ няя дата, которую способна распознать программа Excel, — это 1 января 1900 года. Этой дате присвоен порядковый номер 1. Дата 2 января 1900 года имеет порядковый номер 2 и т.д. Такая система представления значительно облегчает использование дат в формулах. Зная это, можно, например, ввести формулу, по которой вычисля­ ется количество дней между двумя датами. В большинстве случаев вам не придется напрямую иметь дело с системой после­ довательной нумерации дат, принятой в Excel. Дата вводится в привычном формате, а о деталях программа заботится сама. Предположим, вам нужно ввести следующую дату: 1 июня 2019 года. Для этого нужно набрать 1 июнь 2019 (или использовать любой другой из распознаваемых форматов дат). Excel интерпретирует эту дату как значение 43 617, которое является порядковым номером введенной вами даты.

На

заметку

В примерах дат в этой книге используется система представления дат, применяемая в России. Поэтому в зависимости от региональных установок Windows на вашем компьютере, оказываю­ щих влияние на то, как программа Excel интерпретирует даты, данные, введенные в не соответ­ ствующем этим установкам формате (например, Июнь 1, 2019), могут быть интерпретированы как текст, а не как дата. В таком случае вам необходимо вводить даты только в таком формате, который соответствует региональным настройкам вашего компьютера, например 1 июнь 2019.

Более подробно работа с датами и временными данными обсуждается в главе 12, «Формулы для работы с датами и временем’.

Ввод значений времени При вводе значений времени Excel расширяет систему представления дат так, чтобы она включала десятичные дроби. Другими словами, Excel трактует время как

Глава 2. Ввод данных на рабочий лист и их редактирование

73

дробную часть дня. Например, порядковый номер даты 1 июня 2019 года — 43 617. Полдень указанного дня (момент перехода от первой половины суток к их второй половине) соответствует внутреннему представлению 43 617,5, поскольку представ­ ляющая этот момент времени дробь просто добавляется к порядковому номеру дня для получения полного числового значения даты/времени. Снова подчеркнем, что, скорее всего, вам не придется сталкиваться с поряд­ ковыми номерами дней и их дробными значениями для представления значений времени. Достаточно ввести в ячейку время в одном из распознаваемых форматов, а все остальное программа сделает сама. В данном случае достаточно ввести 1 Июнь 2019 12:00.

Подробно методы работы со значениями времени обсуждаются в главе 12, «Формулы для работы с датами и временем”.

Изменение содержимого ячейки После ввода в ячейку числового значения или текста эти данные можно изме­ нить несколькими способами. •

Удалить содержимое ячейки

Заменить содержимое ячейки новым значением

Отредактировать содержимое ячейки

На

заметку

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

Удаление содержимого ячейки Для того чтобы удалить содержимое ячейки, достаточно просто щелкнуть на этой ячейке и нажать клавишу . Чтобы удалить содержимое нескольких ячеек, следует выделить их и нажать клавишу . Нажатие клавиши приво­ дит к удалению содержимого ячейки, но атрибуты форматирования, которые были применены к ячейке (например, выделение полужирным шрифтом, курсивом или различные числовые форматы), сохраняются. Для получения большего контроля над процессом удаления можно воспользо­ ваться командой ГлавнаяФРедактирование^Очистить. При выборе этой команды на экране появится раскрывающееся меню с пятью дополнительными опциями. Очистить все. Ячейка полностью очищается. Будут удалены содержимое ячей­ ки, ее атрибуты форматирования и примечания (если таковые имеются).

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

74

Часть I. Вводный курс Очистить содержимое. Удаляется только содержимое ячейки при сохранении атри­ бутов ее форматирования. Результат такой же, как при нажатии клавиши .

Очистить примечания. Удаляются примечания (если таковые имеются), при­ крепленные к ячейке. Очистить гиперссылки. Удаляются гиперссылки, содержащиеся в выбранных ячейках. Текст и форматирование остаются, поэтому ячейка по-прежнему вы­ глядит так, будто содержит гиперссылку, но уже не работает как гиперссылка.

Удалить гиперссылки. Удаляются гиперссылки, содержащиеся в выбранных ячейках, в том числе форматирование этих ячеек. На заметку Удаление атрибутов форматирования не приводит к удалению цветного фона, назначенного ячейке диапазона после его преобразования в таблицу. Этот фон нужно удалять вручную. Подробнее о таблицах читайте в главе 4, “Работа с диапазонами и таблицами Excel”.

Замена содержимого ячейки Для того чтобы заменить содержимое ячейки, просто активизируйте ее и вве­ дите новые данные. В результате предыдущее содержимое ячейки будет заменено, однако атрибуты форматирования сохранятся и будут применены к ее новому со­ держимому. Можно также заменить содержимое ячеек путем перетаскивания данных из одной ячейки в другую или вставки данных из буфера обмена. В обоих случаях атрибуты форматирования ячейки, принимающей данные, заменяются атрибутами формати­ рования новых данных. Чтобы избежать замены атрибутов форматирования, выбе­ рите команду Главная1^ Буфер обмена^ Вставить1^Значения (3) либо Главная1^ Буфер обмена^ Вставить^Формулы (Ф).

Редактирование содержимого ячейки Если в ячейке содержится несколько символов, то проще всего заменить их, вве­ дя новые данные. Однако, если в ячейке находится длинный текст или сложная фор­ мула и нужно внести лишь небольшие изменения, проще будет отредактировать содержимое ячейки, чем вводить всю информацию заново. Чтобы отредактировать содержимое ячейки, воспользуйтесь одним из перечис­ ленных ниже способов перехода в режим редактирования. •

Дважды щелкните на ячейке. Это позволит отредактировать содержимое не­ посредственно в ячейке.

Нажмите клавишу . Это тоже позволит отредактировать содержимое не­ посредственно в ячейке.

Активизируйте ячейку, которую нужно отредактировать, а затем щелкните в строке формул. Это позволит отредактировать содержимое ячейки в строке формул.

Глава 2. Ввод данных на рабочий лист и их редактирование

75

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

На

заметку

Во вкладке Дополнительно диалогового окна Параметры Excel есть раздел Параметры правки, содержащий несколько опций, влияющих на возможности редактирования дан­ ных в ячейках. (Чтобы открыть диалоговое окно Параметры Excel, выберите команду Файл^>Параметры.) Если флажок Разрешить редактирование в ячейках сброшен, то вы не сможете редактировать содержимое прямо в ячейке (двойной щелчок ни к чему не приве­ дет). Кроме того, в зтом случае нажатие клавиши позволит редактировать содержимое ячейки в строке формул, но не в самой ячейке.

Все эти методы приводят к тому, что Excel переходит в режим редактирования. (В левой части строки состояния появляется слово Правка.) В этом режиме в строке формул появляются две новые кнопки-пиктограммы (рис. 2.3). Щелкнув на кнопке, на которой изображен символ *, можно отменить редактирование, и содержимое ячей­ ки останется прежним (нажатие клавиши приводит к тому же результату). После щелчка на кнопке с символом / редактирование завершается и измененные данные сохраняются в ячейке (нажатие клавиши приводит к такому же результату).

Рис. 2.3. Во время редактирования ячеек в строке формул появляются две дополнительные кнопки-пиктограммы: Отменить (*) и Ввести (/)

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

Добавление новых символов в месте точки вставки. Перемещайте точку встав­ ки с помощью:

клавиш управления курсором внутри ячейки;

клавиши для перемещения точки вставки в начало ячейки;

клавиши для перемещения точки вставки в конец ячейки.

Часть I. Вводный курс

76

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

Выбор символов в процессе редактирования ячейки. Для выделения симво­ лов во время редактирования можно также использовать мышь. Щелкните и проведите указателем мыши по тем символам, которые нужно выделить.

Удаление символа слева от точки вставки. Нажатие клавиши приведет к удалению выделенного текста или одного символа, расположен­ ного слева от точки вставки, если выделение символов отсутствует.

Удаление символа справа от точки вставки. Нажатие клавиши также приведет к удалению выделенного текста. Если выделение текста отсутству­ ет, будет удален один символ справа от точки вставки.

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

Автоматическое перемещение табличного курсора после ввода данных По умолчанию нажатие клавиши после ввода данных в ячейку позво­ ляет автоматически переместить табличный курсор на следующую ячейку внизу. Для того чтобы изменить эту установку, выберите команду Файл^Параметры и щел­ кните на вкладке Дополнительно (рис. 2.4). Опция, управляющая описанной воз­ можностью, называется Переход к другой ячейке после нажатия клавиши ВВОД. Здесь же можно указать направление, в котором будет перемещаться табличный курсор после ввода данных (вниз, влево, вправо или вверх). Совет

В этой главе уже упоминалось, что для завершения ввода данных в ячейку можно использо­ вать не только клавишу , но и любую из клавиш управления курсором, в результате чего табличный курсор будет перемещаться в указанном направлении. Например, если вы вводите данные, которые должны располагаться в строке, то, чтобы завершить ввод, лучше нажать клавишу >, а не . Для завершения ввода можно использовать даже клави^ши и .

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

Глава 2. Ввод данных на рабочий лист и их редактирование

77

Рис. 2.4. На вкладке Дополнительно диалогового окна Параметры Excel можно найти

несколько полезных параметров настройки для оптимизации процедуры ввода данных Для того чтобы пропустить текущую ячейку, нажмите клавишу . Чтобы вернуться к предыдущей ячейке, нажмите комбинацию клавиш . Если вы предпочитаете вводить данные по строкам, а не по столбцам, используйте вместо клавишу . Excel продолжит циклически обходить выбранный диапа­ зон до тех пор, пока вы не выберете ячейку вне диапазона. Однако выбор любой из клавиш управления курсором или клавиши приведет к выходу из диапазо­ на выбранных ячеек. Чтобы перемещаться внутри выделенного диапазона ячеек, можно использовать только клавиши и .

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

78

Часть I. Вводный курс

Изменение режима работы программы Клавиша позволяет переключать режимы работы программы Ввод и Правка. Например, если в режиме Ввод вводится длинное предложение, в котором была сде­ лана грамматическая ошибка, то, заметив ее, просто нажмите для переключе­ ния в режим Правка, а затем с помощью клавиш управления курсором переместитесь в место ошибки и исправьте ее. (При этом для перемещения сразу на целое слово можно использовать клавиши управления курсором при нажатой клавише .) Чтобы продолжить ввод текста после исправления ошибки вернитесь в точку ввода и вновь нажмите клавишу . Программа вернется в режим Ввод, и нажатие лю­ бой клавиши управления курсором вызовет уже переход к другой ячейке на рабо­ чем листе.

Автоматическое назначение десятичных запятых Этот способ ввода чисел заинтересует тех, кому приходится вводить множество цифр с фиксированным числом десятичных разрядов. Выберите команду Файл ^Параметры и щелкните на вкладке Дополнительно. Установите флажок Автоматическая вставка десятичной запятой и убедитесь в том, что в поле Число знаков после запятой установ­ лено нужное число десятичных разрядов. Если описываемая опция активизирована, Excel автоматически расставляет деся­ тичные запятые по мере ввода чисел. Например, если задать два десятичных знака после запятой, то после ввода в ячейку значения 12345 программа автоматически будет интерпретировать это число как 123,45 (десятичную запятую она также до­ бавит автоматически). Чтобы вернуться к первоначальному режиму, сбросьте фла­ жок этой опции в диалоговом окне Параметры Excel. Установка или отмена данной опции не влияет на ранее введенные числа. Внимание!

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

Использование функции Автозаполнение В Excel предусмотрена специальная возможность, которая называется Автозаполнение. Она облегчает ввод набора числовых значений или текстовых эле­ ментов в диапазон ячеек. Для этого используется маркер автозаполнения (малень­ кий квадратик, расположенный в нижнем правом углу активной ячейки). Чтобы скопировать содержимое ячеек или автоматически заполнить их набором данных, перетащите маркер автозаполнения по нужным ячейкам. На рис. 2.5 показан пример создания последовательности целых чисел с шагом 2. В ячейку А1 было введено число 1, а в ячейку А2 — число 3. После выделения обеих ячеек и перетаскивания маркера автозаполнения вниз была создана последователь­ ность чисел, представленная на этом рисунке. На нем также видна пиктограмма, после

Глава 2. Ввод данных на рабочий лист и их редактирование

79

щелчка на которой можно увидеть некоторые дополнительные параметры режима автозаполнения. Эта пиктограмма появляется лишь в том случае, если на вкладке Дополнительно диалогового окна Параметры Excel в разделе Вырезание, копирование и вставка установлен флажок Отображать кнопку параметров вставки при вставке содержимого. Для определения шаблона автозапол­ нения Excel проводит анализ содержимо­ го исходно выделенных ячеек. Если в двух выделенных ячейках будут содержаться значения 1 и 2, программа придет к за­ ключению, что значения автоматически заполняемых ячеек должны возрастать на единицу. Если же, как в нашем приме­ ре, начальными значениями будут 1 и 3, значения в ячейках будут возрастать с шагом 2. В Excel реализованы широкие возможности распознавания шаблона автозаполнения. Если в исходных ячей­ ках будут находиться значения 31/1/2019 и 28/2/2019, в последующие ячейки будут

вставлены даты последних дней следующих один за другим месяцев.

рис< 2.5. Эта последовательность чисел

создана с помощью средства Автозаполнение

Совет

Если нажать правую кнопку мыши после перетаскивания маркера автозаполнения, Excel отоб­ разит на экране контекстное меню. Используя это меню, можно установить дополнительные оп­ ции автозаполнения. Для обеспечения еще большего контроля над процессом автоматического заполнения диапазона можно также воспользоваться командой Главная^Редактирование^ Заполнить.

Использование функции Автозавершение С помощью функции Автозавершение можно выполнять автоматический ввод по­ вторяющихся текстовых данных. При этом нужно ввести в ячейку только несколько первых букв, и Excel автоматически завершит ввод, основываясь на данных, кото­ рые вы ввели ранее в этот столбец. Описываемая возможность не только позволяет уменьшить число нажатий клавиш, но и гарантирует, что вы всегда правильно вве­ дете ряд повторяющихся данных. Вот как осуществляется автоматический ввод. Допустим, вы вводите в столбец информацию о проданных товарах. Пусть один из них называется Виджет. Когда вы впервые вводите в ячейку слово Виджет, Excel его запоминает. Позже, когда вы только начнете вводить слово Виджет в том же столбце, Excel «узнает» это слово по первым нескольким буквам и продолжит ввод вместо вас. Для завершения ввода вам останется только нажать клавишу . Предлагаемый вариант ввода можно проигнорировать. Просто продолжайте вводить свой текст.

80

Часть I. Вводный курс

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

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

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

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

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

Глава 2. Ввод данных на рабочий лист и их редактирование

81

Использование функции Автозамена для ускоренного ввода данных С помощью функции Автозамена можно создать сокращения для часто употре­ бляемых слов или фраз. Например, если вы работаете в фирме «Рога и копыта», то для этого названия можно создать сокращение рик в качестве элемента функции Автозамена. Тогда каждый раз при наборе рик Excel автоматически будет вводить в ячейку значение Fora и копыта. В Excel встроен достаточно большой список слов, которые будут автоматически заменяться при вводе (в основном это ошибки, которые часто встречаются при вво­ де). Для настройки функции Автозамена выберите команду Файл^Параметры и во вкладке Правописание щелкните на кнопке Параметры автозамены. В открывшемся диалоговом окне Автозамена введите нужный элемент и его сокращение (рис. 2.6). При этом вы можете ввести столько элементов автозамены, сколько хотите. Не за­ бывайте, что не следует использовать в качестве автозамены те сокращения, кото­ рые могут встретиться в вашем тексте.

Рис. 2.6. С помощью функции Автозамена можно создавать

сокращения для часто употребляемых слов и выражений

Совет Список автозамены общий для всех приложений Microsoft Office, поэтому любые элементы ^автозамены, созданные, например, в Word, будут доступны и в Excel.

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

82

Часть I. Вводный курс

эквивалент такой дроби, как б7/^ введите 6 7/8 и нажмите клавишу . Программа введет в ячейку число 6,875 и автоматически отформатирует его как дробь. Если у числа нет целой части (например, г/8), то сначала нужно ввести нуль: О 1/8. Если вы снова установите табличный курсор на этой ячейке, то в строке формул увидите число 0,125, но в ячейке будет отображаться ‘/g.

Использование формы для ввода данных Многие используют таблицы Excel как простые базы данных, в которых информа­ ция организована по строкам. В этом случае Excel предлагает простой способ ввода данных с помощью встроенной формы, создаваемой Excel автоматически. Формы ввода данных работают как с обычными диапазонами ячеек, так и с диапазонами, преобразованными в таблицы (преобразование выполняется с помощью команды Вставка^Таблицы^Таблица). На рис. 2.7 показан пример такой формы.

Рис. 2.7. Встроенная форма Excel позволяет упростить ввод данных в таблицы

К сожалению, команды доступа к формам ввода данных нет среди команд, пред­ ставленных на ленте. Если вы собираетесь часто использовать эту команду, то име­ ет смысл поместить ее на панель быстрого доступа. 1. Щелкните правой кнопкой мыши на панели быстрого доступа на стрелке справа. В открывшемся контекстном меню выберите команду Другие команды. Появится диалоговое окно Параметры Excel с открытой вкладкой настройки панели быстрого доступа.

2. В раскрывающемся списке Выбрать команды из выберите пункт Команды не на ленте. 3. В левом списке окна выберите элемент Форма.

4. Щелкните на кнопке Добавить, и команда Форма будет добавлена на па­ нель быстрого доступа. 5. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно Параметры Excel.

Глава 2. Ввод данных на рабочий лист и их редактирование

83

После выполнения этих действий новая кнопка-команда Форма появится на па­ нели быстрого доступа. Для использования формы при вводе данных выполните следующее.

1. Организуйте данные таким образом, чтобы Excel распознала их табличную структуру. Начните ввод данных с определения заголовков столбцов. Они должны располагаться в первой строке диапазона вводимых данных. 2. Выделите любую ячейку в строке заголовка и щелкните на кнопке Форма панели быстрого доступа. Откроется диалоговое окно формы, содержащее поля редактирования и несколько кнопок (см. рис. 2.7). 3. Введите информацию. Нажмите клавишу для перемещения между по­ лями редактирования. Если в ячейке содержится формула, результат ее вы­ числения появится в текстовом виде. Другими словами, формулы из форм ввода данных редактировать нельзя. 4. Когда введете данные для одной строки, щелкните на кнопке Добавить. Excel загрузит данные в рабочую таблицу и очистит поля формы для ввода следу­ ющей строки.

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

Ввод текущих даты и времени Иногда нужно ввести в ячейку текущую дату или время. Для этой цели в Excel предусмотрены два клавиатурных эквивалента.

Текущая дата. Комбинация (точка с запятой).

Текущее время. Комбинация (точка с запятой).

Чтобы ввести в ячейку одновременно дату и время, нажмите , введите пробел, а затем нажмите . Данные о дате и времени берутся из системного времени вашего компьютера. Если вы считаете это время неточным, подкорректируйте его на панели управления Windows. На

заметку

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

Форматирование числовых значений Операция форматирования чисел, хранящихся в ячейках, означает только изме­ нение их внешнего вида. В Excel имеется множество возможностей, позволяющих

84

Часть I. Вводный курс

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

Помните, что форматирование можно применить только к выделенной ячейке или к диапазону ячеек. Поэтому, прежде чем форматировать ячейки, выделите их. Также следует помнить, что изменение формата представления чисел не воздействует на значение, хранящееся в ячейке. Форматирование чисел воздействует только на представление чисел на рабочем листе. После ввода числовые значения, как правило, никак не отформатированы, т.е. просто состоят из последовательности цифр. В общем случае введенные числа сле­ дует форматировать так, чтобы они легко читались и были согласованы по количе­ ству десятичных разрядов. На рис. 2.8 показаны два столбца чисел. Числа в первом столбце никак не от­ форматированы. Во втором столбце ячейки отформатированы так, чтобы числовые значения легко читались. В третьем столбце приведены названия примененных форматов.

Рис. 2.8. Неотформатированные и отформатированные числовые значения

Эта рабочая книга содержится на веб-сайте книги www.wiley. com/go/excel2019 bible. Файл называется number formatting.xlsx. Для русскоязычного изда­ ния книги файл называется Pic02_08.xlsx. Совет

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

Глава 2. Ввод данных на рабочий лист и их редактирование

85

Автоматическое форматирование чисел Некоторые операции форматирования программа Excel способна выполнять автоматически. Например, если вы вводите в ячейку 12,2%, то программа знает, что вы хотите использовать процентный формат, и применяет его автоматически. Аналогично, если вы используете пробел для отделения в числах тысяч от сотен (например, 123 456), Excel применяет форматирование с этим разделителем групп разрядов автоматически. А если вы ставите после числового значения знак денеж­ ной единицы, установленный по умолчанию, например а, то к данной ячейке будет применен денежный формат. Все, что вы введете, что может рассматриваться как дата, именно так и будет вос­ принято программой. И в зависимости от того, как это значение было введено, Excel выберет соответствующий формат его представления. Если вы введете 31/1/2020, программа Excel интерпретирует это значение как дату и отформатирует как 31.1.2020 (т.е. в том же стиле, в каком оно было введено). Если же вы введете 31 янв 2020, Excel отформатирует это значение в виде 31.янв.20. Менее очевидный пример — ввести значение 31/1, которое Excel отформатирует как 31.янв. Если же вам необходимо ввести в ячейку значение 31/1 и оно не должно представлять дату, сначала введите знак апострофа (‘), а затем само значение.

Совет Excel позволяет легко вводить в ячейки числовые значения в процентном формате. Если ячей­ ка отформатирована с применением этого формата, то можно вводить в нее числа в обычном виде и они будут восприниматься Excel как значения процентов (например, введите 12,5 для 12,5%). При вводе значений, не превышающих 1%, нужно предварить значение нулем (например, введите 0,52 для 0,52%). Если такое свойство процентного формата не рабо­ тает (или если, наоборот, вы хотите его отключить), откройте диалоговое окно Параметры Excel, перейдите на вкладку Дополнительно и в группе Параметры вставки установите (или ^сбросьте) флажок Автоматический ввод процентов.

Форматирование чисел с помощью ленточных команд В группе Число ленточной вкладки Главная находится несколько кнопок, позво­ ляющих быстро применять самые распространенные числовые форматы. В раскрывающемся списке Числовой формат, расположенном в этой груп­ пе команд, находится одиннадцать наиболее употребимых числовых форматов (рис. 2.9). Кроме них, в группе Главная^Число присутствуют дополнительные кноп­ ки: Финансовый числовой формат (для выбора денежного формата), Процентный формат и Формат с разделителями. В этой группе также содержатся две кнопки: одна — для увеличения разрядности чисел (количества цифр после запятой), а дру­ гая — для уменьшения разрядности чисел. Если выбрать один из этих форматов, то он сразу будет применен к активной ячейке. Можно также выделить диапазон ячеек (или даже всю строку либо столбец рабочего листа), а затем выбрать один из форматов. Если выделено несколько ячеек (как на рис. 2.9), то числовой формат будет применен ко всем выделенным ячейкам.

86

Часть I. Вводный курс

Рис. 2.9. Команды форматирования группы Число вкладки Главная

Форматирование чисел с использованием комбинаций клавиш Задать форматы чисел можно и с помощью комбинаций клавиш. В табл. 2.1 при­ ведены комбинации клавиш, которые используются при форматировании чисел для выделенной ячейки или диапазона ячеек. Обратите внимание на то, что клави­ ши и размещены на клавиатуре рядом в нижнем левом углу.

Таблица 2.1. Комбинации клавиш для форматирования чисел Комбинация клавиш

Применяемое форматирование

Общий числовой формат (т.е. неотформатированные значения)

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

Процентный формат без десятичных разрядов после запятой

Экспоненциальный формат чисел с двумя знаками после запятой

Формат дат с указанием дня, месяца и года

Формат дат с отображением часов и минут

Числовой формат с двумя знаками после запятой, разделителем разрядов и знаком “минус” для отрицательных значений

Глава 2. Ввод данных на рабочий лист и их редактирование

87

Форматирование чисел с помощью диалогового окна Формат ячеек Чаще всего тех числовых форматов, доступ к которым можно получить в группе команд Число вкладки Главная, оказывается вполне достаточно. Но иногда возни­ кает необходимость в использовании других вариантов форматирования. В Excel любые числовые форматы доступны в диалоговом окне Формат ячеек, которое со­ держит несколько вкладок (рис. 2.10). Для форматирования числовых значений ис­ пользуется вкладка Число.

Рис. 2.10. Форматирование чисел с помощью вкладки Число диалогового окна Формат ячеек

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

Выберите группу команд Главная^Число и щелкните на маленькой пикто­ грамме •, расположенной в правом нижнем углу группы Число.

Выберите команду Главная ^Число, откройте список Числовой формат и выбе­ рите в нем пункт Другие числовые форматы.

Щелкните правой кнопкой мыши на выделенных ячейках и выберите из кон­ текстного меню команду Формат ячеек.

Нажмите комбинацию клавиш .

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

88

Часть I. Вводный курс

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

Важно понимать, что применение числового формата к ячейке никоим образом не изменяет само число, которое в ней находится, — форматирование изменяет только внешний вид отображаемого числового значения. Например, если в ячей­ ке хранится число 0,874543, его можно отформатировать так, чтобы на экране оно выглядело как 87%. Но если на ячейку сделана ссылка в формуле, то во вре­ мя вычислений будет использоваться полное числовое значение (0,874543), а не отображаемое (87%). В некоторых случаях форматирование чисел может приводить к тому, что отобра­ жаемые результаты вычислений будут казаться неправильными, поскольку отоб­ ражаются с заданным ограниченным числом разрядов. Другими словами, они бу­ дут отображаться в округленном виде. Поскольку при вычислениях по формулам Excel использует точные значения, результат вычислений после округления может показаться неправильным.

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

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

Глава 2. Ввод данных на рабочий лист и их редактирование

89

Функция округл и многие другие встроенные функции будут рассмотрены в гла­ ве 9, «Основы формул и функций Excel». Ниже приведены категории числовых форматов с краткими пояснениями.

Общий. Формат, принятый по умолчанию. При его выборе числа отображаются в виде целых чисел, десятичных дробей или, если число слишком большое и не помещается в ячейке, в экспоненциальном формате. Числовой. Позволяет указать количество десятичных знаков, определить раз­ делитель групп разрядов и способ отображения отрицательных чисел (со знаком «минус», красным цветом или красным цветом со знаком «минус»).

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

Финансовый. Отличается от денежного тем, что знаки денежной единицы всег­ да выровнены по вертикали.

Дата. Позволяет выбрать один из форматов отображения дат. Время. Предоставляет на выбор несколько форматов отображения значений времени. Процентный. Позволяет выбрать количество десятичных знаков. Символ про­ цента отображается всегда.

Дробный. Позволяет выбрать один из девяти форматов отображения дробных чисел. Экспоненциальный. В этом формате число всегда отображается с буквой Е: 2,00Е+05 = 200 000; 2,05Е+05 = 205 000. Вы можете выбрать количество деся­ тичных знаков для отображения. Второй пример можно прочесть как «2,05 раза по 10 в пятой степени».

Текстовый. Его применение к числовому значению заставляет Excel рассматри­ вать это число как текст (даже если текст выглядит, как число). Эту возможность удобно применять при обработке номеров кредитных карт. Дополнительный. Включает четыре дополнительных числовых формата: Поч­ товый индекс, Индекс+4, Номер телефона и Табельный номер. Все форматы. Позволяет создавать собственные числовые форматы, не входя­ щие ни в одну из перечисленных категорий.

Совет Если в ячейке находится ряд символов “решетка” (#########), это значит, что столбец недо­ статочно широк для отображения числа в выбранном вами формате. Чтобы увидеть содержи­ мое ячейки, увеличьте ширину столбца или измените числовой формат. Символы “решетка” указывают также на отрицательное значение времени или недопустимую дату (т.е. на дату ^до 1 января 1900 года).

90

Часть I. Вводный курс

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

Глава

Основные операции с рабочим листом В ЭТОЙ ГЛАВЕ… Основные операции с рабочими листами Excel

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

Манипуляции строками и столбцами

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

В

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

Часть I. Вводный курс

92

Далее в этом разделе будет рассказано, что можно делать с рабочими листами и окнами Excel.

Работа с окнами рабочих книг Excel Каждый файл рабочей книги Excel отображается в отдельном окне. Окно пред­ ставляет собой системный контейнер, в который помещается рабочая книга при ее открытии. Одновременно можно открыть столько рабочих книг, сколько необходимо.

На заметку

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

Любое окно программы Excel снабжено пятью кнопками (каждая из которых имеет соответствующую пиктограмму), расположенными справа в строке заго­ ловка. Если рассматривать слева направо, это Вход, Параметры отображения ленты, Свернуть, Свернуть в окно/Развернуть и Закрыть. Окна Excel могут находиться в одном из трех состояний. Развернуто. Окно заполняет все рабочее пространство программы Excel. Для того чтобы развернуть окно, нужно щелкнуть на кнопке Развернуть. Свернуто. Окно скрыто, но файл остается открытым. Видна только пиктограмма этого окна на панели задач Windows. Для того чтобы свернуть окно, нужно щел­ кнуть на кнопке Свернуть.

Восстановлено (т.е. развернуто не полностью). Для того чтобы восстановить окно, которое было развернуто, щелкните на кнопке Свернуть в окно. Чтобы восстановить свернутое окно, щелкните на его пиктограмме на панели задач Windows. Окно в этом состоянии можно свободно перемещать по экрану и можно изменять его размеры. ч

Совет

Чтобы увеличить объем информации, доступной вашему обзору на рабочем листе, щелкни­ те на кнопке Параметры отображения ленты и выберите режим Автоматически скрывать ленту. Это приведет к разворачиванию окна, в котором лента и строка состояния программы будут скрыты. В этом режиме вы можете получить временный доступ к командам на ленте, щелкнув в любом месте строки заголовка. Чтобы вернуться к нормальному представлению ленты, предусмотренному по умолчанию, щелкните на кнопке Параметры отображения ленты и выберите вариант Показывать вкладки и команды. Работая с несколькими книгами одновременно (что встречается довольно часто), нужно знать, как перемещать окна рабочих книг, изменять их размеры и переклю­ чаться между ними.

Глава 3. Основные операции с рабочим листом

93

Перемещение окон и изменение их размеров Для того чтобы переместить окно, щелкните на его строке заголовка и перетащи­ те с помощью мыши. (Если оно развернуто, сначала щелкните на кнопке Свернуть в окно, чтобы выйти из полноэкранного режима.) При перемещении по экрану окно сохраняет свои текущие размеры. Если требуется изменить размеры окна, щелкните на одной из его границ и пере­ таскивайте ее до тех пор, пока окно не примет нужный размер. Когда вы помещаете указатель мыши на границу окна, вид указателя меняется на двунаправленную стрел­ ку, — именно этот факт служит сигналом о том, что можно приступить к изменению размеров окна. Для того чтобы изменить размеры окна одновременно по горизонтали и по вертикали, щелкните на одном из углов окна и перетащите его. Иногда необходимо, чтобы все окна открытых рабо­ чих книг были видны (т.е. не заслоняли одно другое). Это, конечно, можно сделать и вручную, соответству­ ющим образом изменив размеры окон и расположив их на экране. Однако Excel позволяет сделать это ав­ томатически. Команда Вид^Окно^Упорядочить все от­ крывает диалоговое окно, показанное на рис. 3.1. С его Рис. 3.1. Это диалоговое помощью можно расположить окна на экране четырь­ окно позволяет автоматически упорядочить окна всех мя способами. Выберите нужный вариант и щелкните открытых рабочих книг на кнопке ОК. Эта команда не оказывает воздействия на минимизированные окна.

Переключение между окнами Как уже упоминалось, только одно окно рабочей книги в текущий момент вре­ мени может быть активным — то, в которое вы вводите данные и в котором выпол­ няются ваши команды. Строка заголовка активного окна выделена другим цветом, и оно всегда расположено поверх остальных окон. Для того чтобы работать с рабо­ чей книгой из другого окна, необходимо сделать это окно активным. Активизировать другое окно можно несколькими способами. •

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

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

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

94

Часть I. Вводный курс •

Щелкните на кнопке программы Excel на панели задач Windows. Выберите нужное окно из раскрывшегося списка.

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

Л

Совет

Следует отметить, что одна и та же рабочая книга может быть открыта одновременно в не­ скольких окнах. Например, если рабочая книга состоит из двух рабочих листов, то можно открыть каждый из них в отдельном окне, чтобы сравнить содержимое этих листов. Все опи­ санные выше действия с окнами применимы и к этому случаю. Подробнее об этом читайте i в разделе “Просмотр листов в нескольких окнах” далее в этой главе.

Закрытие окон Если у вас открыто слишком много окон, закройте те из них, которые в данный момент не нужны. В Excel для этого предусмотрено несколько способов. •

Выберите команду Файл^Закрыть.

Щелкните на кнопке Закрыть (х), которая находится справа в строке заголов­ ка окна рабочей книги.

Нажмите комбинацию клавиш .

Нажмите комбинацию клавиш .

Когда вы закрываете окно рабочей книги, Excel проверяет, вносились ли в нее какие-либо изменения со времени открытия или последнего сохранения файла. Если вы внесли какие-либо изменения, то, прежде чем закрыть окно, Excel пред­ ложит вам сохранить файл. Если изменения не вносились, то окно закрывается безо всяких сообщений программы. Иногда при закрытии вы будете получать напоминания о необходимости со­ хранить рабочую книгу, даже если вы не вносили в нее никаких изменений. Это бывает в случаях, если ваша рабочая книга содержит какие-либо автоматически обновляемые функции. Например, если в какой-либо ячейке содержится функция =ТДАТА (), вам будет предложено сохранить соответствующую рабочую книгу, по­ скольку функция тдата обновила эту ячейку путем занесения в нее текущей даты и времени на момент открытия книги.

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

Глава 3. Основные операции с рабочим листом

95

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

. Активизируется следующий лист, если он существует.

Если в рабочей книге несколько листов, то не все их ярлыки могут быть видимы­ ми. Для просмотра других ярлыков следует воспользоваться кнопками прокрутки (рис. 3.2). Щелчок на этих кнопках прокручивает список на один ярлык в соответ­ ствующую сторону. Ярлыки листов находятся в той же строке, что и горизонтальная полоса прокрутки рабочего листа. Чтобы отобразить на экране большее или меньшее количество ярлыков, можно перетащить разделитель ярлыков (три точки по верти­ кали левее горизонтальной полосы прокрутки) в соответствующем направлении. Однако при перетаскивании этого разделителя одновременно изменяются не только число видимых ярлыков листов, но и размер горизонтальной полосы прокрутки.

Кнопки прокрутки _ ярлыков листов

Рис. 3.2. Кнопки прокрутки позволяют отобразить

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

Добавление нового рабочего листа Использование нескольких рабочих листов является прекрасным инструмен­ том организации данных. Вместо того чтобы размещать все на одном листе, можно создать в книге новые рабочие листы и распределить по ним имеющиеся данные в определенном логическом порядке. Например, если вы отслеживаете объемы продаж нескольких товаров, то можно разместить информацию по каждому това­ ру на отдельном рабочем листе. Затем можно создать еще один лист и объединить на нем полученные результаты. Существует четыре способа добавления нового рабочего листа в рабочую книгу. •

Щелкните на кнопке Новый лист (+), расположенной правее последнего отоб­ ражаемого ярлыка рабочего листа. Новый лист будет вставлен в рабочую книгу непосредственно после активного листа.

Нажмите комбинацию клавиш . Новый лист будет вставлен в ра­ бочую книгу перед активным листом.

На ленте выберите команду Главная^Ячейки^Вставить^Вставить лист. Новый лист будет вставлен в рабочую книгу перед активным листом.

96

Часть I. Вводный курс

Щелкните правой кнопкой мыши на ярлыке листа и выберите в открывшем­ ся контекстном меню команду Вставить. В открывшемся диалоговом окне Вставка дважды щелкните на пиктограмме Лист. Новый лист будет вставлен перед активным листом.

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

Щелкните правой кнопкой мыши на ярлыке листа и выберите в открывшемся контекстном меню команду Удалить.

Активизируйтененужныйлистивыберите команду Главная^Ячейки^Удалить^ Удалить лист.

Если на удаляемом листе есть какие-либо данные, Excel попросит вас подтвер­ дить необходимость удаления этого листа (рис. 3.3).

Рис. 3.3. Предупреждение Excel о возможной потере данных

Совет

Чтобы с помощью одной команды удалить из рабочей книги сразу несколько листов, их следу­ ет предварительно выделить. Для этого, удерживая нажатой клавишу , щелкните на яр­ лыках тех листов, которые хотите удалить (ярлыки этих листов будут выделены полужирным шрифтом), а затем удалите сразу все выделенные листы одним из описанных выше способов. Чтобы быстро выделить несколько соседних листов, щелкните на ярлыке первого листа, на^жмите клавишу и щелкните на ярлыке последнего листа.

Внимание! Операция удаления листа из рабочей книги необратима. Это одно из немногих действий ^в Excel, которые нельзя отменить.

Изменение названия рабочего листа По умолчанию рабочие листы называются Лист1, Лист2 и так далее — просто и не­ затейливо. Обычно в рабочих книгах со многими листами для упрощения поиска нуж­ ных данных рабочим листам принято давать более содержательные названия. Существует три способа изменить название рабочего листа.

На ленте выберите команду Главная^Ячейки^Формат^Переименовать лист, и вам будет предоставлена возможность изменить имя активного рабочего листа.

Глава 3. Основные операции с рабочим листом

97

Дважды щелкните на ярлыке требуемого листа.

Щелкните на ярлыке требуемого листа правой кнопкой мыши и выберите в открывшемся контекстном меню команду Переименовать.

Excel выделит на ярлыке выбранного листа его название — и вы сможете от­ редактировать или заменить его. При редактировании имени листа можно приме­ нять все обычные приемы редактирования текста, например использовать клави­ ши , , а также клавиши управления курсором, как по отдельности, так и при дополнительно нажатой клавише . Завершив редактирование, нажми­ те клавишу — и фокус ввода будет возвращен активной ячейке. Имя листа может состоять максимум из 31 символа, причем в нем допускаются пробелы. Однако в имени листа нельзя использовать следующие символы. Двоеточие

/

Косая черта

Обратная косая черта

[ ]

Квадратные скобки

?

Знак вопроса

*

Звездочка

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

Изменение цвета ярлыков листов В Excel можно изменять фоновый цвет ярлыков листов. Допустим, в вашей рабочей книге есть несколько листов, содержащих подобные данные. Тогда можно изменить цвет соответствующих ярлыков, чтобы подчеркнуть, что это листы одного типа. Чтобы изменить цвет ярлыка, щелкните на нем правой кнопкой мыши и выбе­ рите в открывшемся контекстном меню команду Цвет ярлычка. В появившемся диа­ логовом окне Цвет темы выберите желаемый цвет. У вас нет возможности изменить цвет текста, но Excel автоматически выберет контрастный цвет, чтобы сделать текст хорошо видимым. Если, например, вы сделаете ярлык листа черным, то Excel будет отображать не нем текст белым цветом. Если вы измените цвет ярлыка листа, то этот цвет будет видимым, только когда соответствующий лист не активен. Когда лист активизируется, на его ярлыке выво­ дится градиент — от назначенного ему цвета до белого.

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

98

Часть I. Вводный курс

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

Щелкните правой кнопкой мыши на ярлыке листа и выберите в открывшемся контекстном меню команду Переместить или скопировать, что позволит от­ крыть диалоговое окно Переместить или скопировать (рис. 3.4). В этом диа­ логовом окне укажите желаемое новое положение листа.

Рис. 3.4. Диалоговое окно Переместить или скопировать

На ленте выберите команду Главная^Ячейки^Формат^Переместить или ско­

пировать лист. Откроется то же самое диалоговое окно, что и в предыдущем варианте. •

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

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

Совет

Можно также переместить или скопировать несколько листов одновременно, предваритель­ но выделив их. Для этого, удерживая нажатой клавишу , щелкните на ярлыках соответ­ ствующих листов, а затем выполните действия, описанные выше.

Глава 3. Основные операции с рабочим листом

99

Если вы перемещаете или копируете рабочий лист в рабочую книгу, в которой уже есть лист с тем же именем, Excel изменит имя так, чтобы сделать его уникаль­ ным. Например, имя Лист1 будет заменено именем Лист1 (2). Для того чтобы сде­ лать имя листа более информативным, просто переименуйте перемещенный лист. Подробнее о переименовании читайте выше в этой главе, в разделе «Изменение на­ звания рабочего листа». На заметку

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

Сокрытие и отображение рабочего листа Иногда рабочий лист или несколько листов необходимо скрыть. Эта операция полезна в тех случаях, когда вы хотите, чтобы никто его не видел или чтобы он вам не мешал. Когда лист скрыт, его ярлык тоже скрыт. В каждой рабочей книге должен быть хотя бы один видимый лист, поэтому Excel не позволит скрыть все листы ра­ бочей книги. Для того чтобы скрыть рабочий лист, щелкните правой кнопкой мыши на его яр­ лыке и в открывшемся контекстном меню выберите команду Скрыть. Активный лист (или выделенные листы) будет скрыт. Чтобы отобразить скрытый лист, щелкните правой кнопкой мыши на любом яр­ лыке и в контекстном меню выберите команду Показать. Excel откроет диалоговое окно Вывод на экран скрытого листа со списком имеющихся в книге скрытых листов. Выберите лист, который нужно отобразить, и щелкните на кнопке ОК. В этом окне нельзя выбрать сразу несколько рабочих листов, поэтому вам придется повторить эту команду для каждого скрытого рабочего листа, который вы собираетесь сделать отображаемым. После восстановления отображения лист снова появится на своем прежнем месте.

Для предупреждения несанкционированного отображения в книге скрытых ли­ стов, вставки новых листов, их переименования, копирования или удаления вам предоставляется возможность защитить ее структуру. 1. Выберите команду Рецензирование^Защита^Защитить книгу. 2.

В открывшемся диалоговом окне Защита структуры и окон установите флажок Структуру.

3. Задайте пароль (необязательно) и щелкните на кнопке ОК.

После этого становятся недоступными несколько команд, ранее доступных на ленте или в контекстном меню, открываемом посредством щелчка правой кнопкой мыши на ярлыке листа. Речь идет о следующих командах: Вставить, Удалить, Переименовать, Переместить или скопировать, Цвет ярлычка, Скрыть и Показать. Но помните, что подоб­ ная защита достаточно слабая и взломать ее не так уж сложно.

Часть I. Вводный курс

100

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

Масштабирование рабочих листов для улучшения условий просмотра Excel позволяет изменять масштаб отображения рабочих листов. Обычно стан­ дартным является масштаб 100%. Вы можете изменять процент увеличения от 10 (очень мелкий) до 400 (очень крупный). Используя малый процент увеличения (уменьшение масштаба), можно увидеть рабочий лист целиком, что позволит оце­ нить его компоновку. Увеличение полезно в том случае, если у вас плохое зрение и вы испытываете определенные трудности, разбирая цифры, набранные мелким шрифтом. Увеличение не изменяет размер шрифта, заданного для ячеек, поэтому он никак не влияет на вывод на печать. Excel имеет отдельные опции для изменения размера распечатываемых документов. Для этого можно использовать возможности группы Разметка страницы^Вписать на ленте, которые подробно рассматриваются в главе 7, “Печать результатов работы”. Изменить коэффициент масштабирования активного окна можно любым из трех перечисленных ниже способов.

Используйте ползунок выбора масштаба, который находится справа в строке состояния. Щелкните и перетащите ползунок изменения масштаба в желае­ мом направлении — и вид экрана сразу же изменится.

Нажмите клавишу и, вращая колесико мыши, увеличьте или уменьшите масштаб.

Можно также ввести значение увеличения непосредственно в диалоговом окне Масштаб, которое открывается после выбора команды Вид^Масштаб^ Масштаб.

В группе Масштаб вкладки Вид также есть кнопка 100%, позволяющая немед­ ленно вернуть масштаб к стандартной величине масштаба 100%, а также кнопка Масштаб по выделенному, позволяющая автоматически изменить масштаб таким об­ разом, чтобы выделенный диапазон ячеек был увеличен в максимально возможной степени (но по-прежнему в пределах 10-400%).

Совет

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

Глава 3. Основные операции с рабочим листом

101

Если в вашем рабочем листе используются именованные диапазоны (подробнее об этом — в главе 4, “Работа с диапазонами и таблицами Excel”), то при уменьшении коэффициента масштабирования до 39% (или ниже) имя диапазона будет пере­ крывать соответствующие ячейки. Этот способ позволяет получить общее представ­ ление о структуре рабочего листа.

Просмотр листов в нескольких окнах Иногда возникает необходимость иметь в поле зрения одновременно две раз­ личные части одной рабочей таблицы. Это может понадобиться, например, чтобы проследить в формулах ссылки на ячейки, расположенные в разных местах рабо­ чего листа. Возможна также ситуация, когда необходимо видеть одновременно не­ сколько листов одной и той же рабочей книги. Для этого нужно открыть одно или несколько дополнительных окон текущей книги. Для того чтобы создать новое окно активной рабочей книги, выберите команду Вид^Окно^Новое окно. В результате Excel откроет новое окно и поместит в него активную рабочую кни­ гу, как показано на рис. 3.5. Обратите внимание на текст в строках заголовков этих окон, например Данные по регионам.xlsx: 1 и Данные по регионам.х1зх:2, — чтобы вы не перепутали окна, программа Excel добавляет в строку заголовка двоеточие и но­ мер окна.

Рис. 3.5. Используйте несколько окон для одновременного

просмотра разных частей одной и той же рабочей книги

102

Часть I. Вводный курс

Совет

Если при создании нового окна текущее окно активной рабочей книги будет максимизировано (т.е. развернуто на весь экран), вы можете не заметить, что создано новое окно. В таком случае обратите внимание на строку заголовка окна Excel, — здесь к имени рабочей книги будет добав­ лено :2. Выберите команду Вид^Окно^Упорядочить все и в появившемся диалоговом окне Расположение окон выберите один из вариантов, чтобы увидеть все открытые окна. Каждая рабочая книга может иметь сколько угодно видов (т.е. отдельных окон). Каждое окно не зависит от других. Иными словами, прокрутка в одном окне не вы­ зывает прокрутки в другом (других окнах), что позволяет отображать в отдельных окнах различные части рабочих листов. Однако если в определенном окне внести в рабочий лист книги изменения, то эти изменения будут отображены и в других представлениях этого рабочего листа. Чтобы закрыть дополнительные окна, которые больше не нужны, воспользуй­ тесь обычными методами. Например, щелчок на кнопке Закрыть (х), расположенной в строке заголовка, позволяет закрыть текущее активное окно, но не другие окна этой рабочей книги. Если в рабочей книге будут присутствовать несохраненные изменения, Excel предупредит вас об этом только при закрытии ее последнего окна.

Совет

Л

Отображение нескольких окон одной рабочей книги облегчает копирование данных из одно­ го рабочего листа в другой, — для этого достаточно воспользоваться методом перетаскивания.

Сравнение рабочих листов Иногда нужно сравнить два рабочих листа, расположенных в разных окнах, при этом листы могут принадлежать как одной, так и разным рабочим книгам. В Excel есть специальное средство для выполнения этой операции. Сначала убедитесь, что требуемые рабочие листы открыты в разных окнах. Если нужно сравнить два листа одной рабочей книги, выберите команду Вид^Окно1^ Новое окно, чтобы открыть еще одно окно активной рабочей книги. Затем перейдите в пер­ вое окно и выберите команду Вид^Окно1^ Рядом. Если открыто больше двух окон, появится диалоговое окно, в котором следует указать окно для сравнения. Два окна расположатся рядом, заполнив, таким образом, весь экран. В процессе сравнения строки и столбцы в обоих окнах будут прокручивать­ ся синхронно. В том случае, если вам не нужно такое одновременное прокручи­ вание, выберите команду Вид^Окно^Синхронная прокрутка (которая является переключателем). Если вы каким-то образом переместили окна, выберите коман­ ду Вид^Окно1^ Восстановить расположение окна для того, чтобы восстановить ис­ ходное положение. Чтобы выйти из режима сравнения листов, выберите команду Вид’^Окно’ЗРядом еще раз. Помните, что значения все равно придется сравнивать вручную. К сожалению, в Excel нет средств, позволяющих автоматически выделить на двух листах несовпа­ дающие данные.

Глава 3. Основные операции с рабочим листом

103

Разделение окна рабочего листа на две панели Если вы не хотите загромождать экран дополнительными окнами, воспользуй­ тесь другой возможностью Excel, которая позволяет отобразить в одном окне не­ сколько частей одного и того же рабочего листа. Команда Вид^Окно^Разделить разбивает отображение активного листа на две или четыре области в том месте, где находится табличный курсор. Если указатель ячейки находится на строке 1 или в столбце А, эта команда приведет к разбиению на две панели; в противном случае операция разделения дает четыре панели. Далее с помощью мыши можно перета­ щить полосы разделения панелей, чтобы придать им нужный размер. На рис. 3.6 показан рабочий лист, разделенный на две панели. Обратите внима­ ние на то, что в окне номера строк или буквы столбцов на разных панелях могут быть не последовательными. В верхней панели отображаются строки с 5 по 15, а в нижней — с 90 по 100. Другими словами, разделение окна на панели позволяет про­ сматривать в одном окне различные части рабочего листа. Чтобы вернуться к пер­ воначальному виду экрана, еще раз выберите команду Вид^Окно1^Разделить (или просто дважды щелкните на линии разделения).

Рис. 3.6. Окно рабочего листа можно разбить на две или четыре панели,

чтобы одновременно просматривать различные его области

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

104

Часть I. Вводный курс

закрепление областей. После закрепления области с заголовками при прокрутке рабочего листа эти заголовки всегда будут оставаться на экране. Чтобы закрепить области рабочего листа, переместите табличный курсор в ячей­ ку, которая находится на одну строку ниже той, которую требуется закрепить при прокрутке по вертикали, или на один столбец правее области, которую нужно закре­ пить при прокрутке по горизонтали. Далее выберите команду Вид^Окно^Закрепить области и в раскрывшемся списке выберите команду Закрепить области. Программа визуально отделит закрепленные строки и столбцы темными линиями. Чтобы отме­ нить закрепление областей, выберите команду Вид^Окно^Закрепитьобласти^Снять закрепление областей. На рис. 3.7 показан рабочий лист с закрепленными строками 1:7 и столбцом А. (При выборе команды Вид^Окно^ Закрепить области активной была ячейка В8.) Вы можете прокручивать строки и столбцы, но при этом заголовки данных в столбцах и значения в столбце А все время будут оставаться на своих местах. Как правило, на рабочем листе закрепляется первая строка или первый стол­ бец. Для их закрепления в Excel 2019 предусмотрены специальные команды: Вид^Окно^Закрепить области^Закрепить верхнюю строку и Вид^Окно1^Закрепить области^Закрепить первый столбец. Использование этих команд исключает необ­ ходимость правильно позиционировать активную ячейку перед закреплением пер­ вого столбца или первой строки.

Рис. 3.7. Закрепив определенные строки и столбцы, можно оставлять

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

Глава 3. Основные операции с рабочим листом

105

Совет Если вы преобразовали диапазон ячеек в таблицу (для этого надо применить команду Вставка^Таблицы^Таблица), то закреплять области нет необходимости. В этом случае при прокрутке строк заголовки столбцов таблицы помещаются вместо букв столбцов рабочего листа и постоянно остаются на экране. Как это выглядит, показано на рис. 3.8. Однако такое i замещение имеет место только тогда, когда табличный курсор находится в таблице.

Отслеживание значений с помощью окна контрольного значения В некоторых ситуациях может потребоваться отслеживать значение в опреде­ ленной ячейке листа в процессе работы с ним. Но если при работе просто прокручи­ вать лист, интересующая ячейка может оказаться за пределами отображаемого диа­ пазона. В этом случае вам поможет инструмент под названием Окно контрольного значения. С его помощью в специальном окне, которое всегда остается видимым, могут отображаться значения любого количества заданных ячеек. Чтобы отобразить это окно, выберите команду Формулы^Зависимости формул^ Окно контрольного значения. В действительности Окно контрольного значения пред­ ставляет собой панель задач, которую можно закрепить в окне или перетащить в удобное место на рабочем листе.

Рис. 3.8. В ходе прокручивания таблицы заголовки ее столбцов замещают заголовки столбцов рабочего листа

106

Часть I. Вводный курс

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

Рис. 3.9. Панель Окно контрольного значения позволяет легко проследить изменения значений в любых ячейках рабочей книги

Совет

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

Манипуляции строками и столбцами В этом разделе описаны операции, которые можно выполнять над строками и столбцами (а не над отдельными ячейками). Напомним, что в каждом рабочем листе содержится ровно 1 048 576 строк и 16 384 столбца и эти значения изменить нельзя.

На заметку Рабочая книга, созданная в более ранних версиях Excel (до версии 2007), открывается в ре­ жиме совместимости. Рабочие листы в таких книгах имеют 65 536 строк и 256 столбцов. Чтобы увеличить количество строк и столбцов в этих книгах, сохраните их как файл Excel в формате . xlsx или . xlsm и затем откройте заново.

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

Глава 3. Основные операции с рабочим листом

107

Последняя строка, если она пустая, удаляется из рабочей таблицы. Вставка нового столбца приводит к сдвигу столбцов вправо, а последний столбец просто удаляется (если он пустой).

На заметку Если последняя строка не пустая, то вы не сможете вставить новую строку. Аналогично, если в последнем столбце содержится информация, Excel не позволит вам вставить новый стол­ бец. В этом случае при попытке добавить в таблицу строку или столбец на экране появится ^сообщение, показанное на рис. 3.10.

Рис. 3.10. Сообщение программы о том, что в рабочий

лист нельзя добавить новую строку или столбец

Чтобы вставить новую строку (или строки), воспользуйтесь одним из следующих методов. •

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

Переместите табличный курсор на строку, перед которой нужно вставить но­ вую, и выберите команду Главная^Ячейки^Вставить^Вставить строки на лист. Если вы выделите несколько ячеек в столбце, то Excel вставит столько строк, сколько было выделено ячеек в столбце, и сместит вниз строки, расположен­ ные под добавляемыми строками.

Для вставки нового столбца (или нескольких столбцов) воспользуйтесь одним из следующих методов.

Выделите весь столбец или несколько столбцов, щелкнув и перетащив указа­ тель мыши по соответствующим заголовкам столбцов, которые расположены на границе рабочего листа. Щелкните правой кнопкой мыши и выберите из контекстного меню команду Вставить.

Переместите табличный курсор в столбец, перед которым нужно вставить новый столбец, и выберите команду Главная^Ячейки^Вставить^Вставить столбцы на лист. Если вы выделите несколько ячеек в строке, то Excel вставит столько же столбцов, сколько было выделено ячеек.

108

Часть I. Вводный курс

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

Кроме того, можно вставлять не только строки и столбцы, но и отдельные ячейки. Выделите об­ ласть, в которую хотите добавить новые ячейки, и выберите команду Главная^ЯчейкиФВставить1^ Вставить ячейки (или щелкните правой кнопкой мыши и выберите в появившемся контекстном меню пункт Вставить). Чтобы вставить несколько ячеек, нужно сдвинуть остальные ячейки вправо или вниз. Excel открывает диалоговое окно, ко­ торое показано на рис. 3.11. В этом окне нужно указать, в каком направлении следует сдвигать ячейки. Заметим, что это диалоговое окно также позволяет вставлять целые строки или столбцы.

Удаление строк и столбцов Иногда возникает необходимость удалить строки или столбцы. Например, рабочий лист может содержать устаревшие данные, которые нужно удалить с рабочего листа. Чтобы удалить строку или несколько строк, воспользуйтесь одним из следующих методов.

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

Поместите табличный курсор на строку, которую хотите удалить, и выберите команду Главная^Ячейки^Удалить1^ Удалить строки с листа. Если вы выделите несколько ячеек в столбце, Excel удалит все соответствующие строки.

Удаление столбцов выполняется точно так же. Если вы ошибочно удалите не ту строку или столбец, то для отмены этого дей­ ствия выберите команду Отменить на панели быстрого доступа или нажмите комби­ нацию клавиш . Совет

Для вставки и удаления строк, столбцов или ячеек также можно использовать комбинации клавиш =ДЕНЬНЕД(ДАТА($А6;$В6;1)) ) ) *7

В этой формуле выполняются определенные математические расчеты для вы­ числения, какую именно дату в пределах месяца следует вернуть при заданных конкретном номере дня недели и требуемом вхождении. Чтобы воспользоваться таблицей, приведенной на рис. 12.14, просто введите ин­ тересующие вас периоды, задаваемые годом и месяцем, в ячейки, начиная с А6 и В6. Затем для получения нужной информации просто укажите требуемое вхождение в ячейке В2. Так, если вас интересуют даты первых понедельников в каждом месяце, введите в ячейку В2 единицу и воспользуйтесь датами, отображаемыми в столбце для понедельника. А если вам нужно знать дату третьей среды в каждом из месяцев, введите в ячейку В2 число 3 и получите нужные данные в столбце для среды. В ячейке С4 этой таблицы (см. рис. 12.15) содержится следующая формула: =ДАТА($А4;$В4+1;1)- ДЕНЬНЕД(ДАТА($А4;$В4+1;С$2))

Глава 12. Формулы для работы с датами и временем

341

Определение даты последнего вхождения определенного дня недели в указанном месяце Функции работы с датами, рассмотренные выше в этой главе, можно использо­ вать для построения динамической таблицы, которая будет автоматически предо­ ставлять информацию о датах последнего вхождения каждого дня недели в указан­ ном месяце. Так, на рис. 12.15 показана таблица, которая позволяет вычислить дату последнего воскресенья, последнего понедельника, последнего вторника и так да­ лее во всех указанных месяцах.

Рис. 12.15. Динамическая таблица вычисления последнего

вхождения дней недели в каждый из месяцев

В этой формуле выполняются определенные математические расчеты для вы­ числения, какую именно дату в пределах месяца следует вернуть при заданных кон­ кретном годе, месяце и номере дня недели. Чтобы воспользоваться таблицей, приве­ денной на рис. 12.15, просто введите интересующие вас периоды, задаваемые годом и месяцем, в ячейки, начиная с А4 и В4. Ее назначение в том, чтобы в своих отчетах при необходимости вы могли сослаться на ячейку с нужной датой или даже просто скопировать ее содержимое, чтобы использовать значения интересующих дат.

Часть II. Формулы и функции

342

Извлечение отдельных частей из значений времени Довольно часто оказывается полезным воспользоваться отдельной частью имею­ щегося значения времени. Программа Excel предоставляет набор простых функций, позволяющих выделять в отформатированных значениях времени их отдельные со­ ставные элементы. К этим функциям относятся следующие. •

ЧАС. Извлекает из заданного значения времени количество часов.

МИНУТЫ. Извлекает из заданного значения времени количество минут.

СЕКУНДЫ. Извлекает из заданного значения времени количество секунд.

Рис. 12.16. Извлечение отдельных

частей значения времени

На рис. 12.16 продемонстрировано использо­ вание этих функций для выделения отдельных частей значения времени, помещенного в ячей­ ку СЗ. Особенности работы и назначение этих функций вполне очевидны. Функция ЧАС возвращает целое число в диа­ пазоне от 0 до 23 в соответствии с количеством часов в переданном ей значении времени. Следующая формула вернет значение 6.

=час(«6:15:27»)

Функция минуты возвращает целое число в диапазоне от 0 до 59 в соответствии с количеством минут в переданном ей значении времени. Следующая формула вер­ нет значение 15. =МИНУТЫ(«6:15 : 27 «)

Функция секунды возвращает целое число в диапазоне от 0 до 59 в соответствии с количеством секунд в переданном ей значении времени. Следующая формула вер­ нет значение 27. =СЕКУНДЫ(«б:15:27»)

Вычисление прошедшего времени Одним из чаще всего встречающихся типов расчетов, связанных со значения­ ми времени, является определение продолжительности промежутка времени, т.е. количества часов и минут, прошедших между заданными начальным и конечным показаниями времени. На рис. 12.17 представлен список начальных и конечных значений времени и со­ ответствующие вычисленные значения времени, прошедшего между этими отмет­ ками. Посмотрите на рисунок, и вы увидите, что в ячейке D4 находится следующая формула: =ЕСЛИ(С4< В4; 1+С4-В4; С4-В4)

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

Глава 12. Формулы для работы с датами и временем

343

значение из конечного значения. Однако здесь есть один нюанс. Если значение ко­ нечного времени меньше, чем начального, то можно предположить, что часы прошли полный 24-часовой суточный цикл, вернувшись к началу отсчета. В этом случае до­ статочно просто добавить к конечному значению единицу, представляющую продол­ жительность полных суток. Такой подход гарантирует, что вы никогда не получите отрицательных значений времени, прошедшего от начала отсчета.

Рис. 12.17. Вычисление прошедшего времени

В представленной выше формуле расчета прошедшего времени для проверки, какое значение времени больше (начальное или конечное), используется функ­ ция если. Если конечное значение меньше, к простой разности значений, как было определено выше, добавляется единица. Если оно больше, выполняется только вы­ читание. =ЕСЛИ(С4< В4; 1+С4-В4; С4-В4)

Подробнее о функции если рассказывается в разделе “Проверка выполнения про­ стого условия” главы 13, “Формулы с проверкой условий”.

Округление значений времени Иногда полезны формулы, округляющие значения времени с определенной точ­ ностью. Например, если вы работаете консультантом, то, вероятно, предпочитае­ те назначать время проведения консультаций с интервалом в 15 минут, а может, и 30 минут. На рис. 12.18 показано, как можно округлить значения времени с приращением в 15 или 30 минут.

344

Часть II. Формулы и функции

Рис. 12.18. Округление значений времени с приращением в 15 и 30 минут

Формула, помещенная в ячейку Е4, выглядит следующим образом: =ОКРУГЛВВЕРХ(С4*24/0,25;0)*(0, 25/24)

Формула в ячейке F4 мало отличается от предыдущей: =0КРУГЛВНИЗ(С4*24/0,5;0)*(0,5/24)ё

Округлить значение времени вверх до ближайшего часа можно, умножив исход­ ное значение времени на 24, передав результат в функцию ОКРУГЛВВЕРХ, а затем поделив возвращенное ей значение на 24. Например, приведенная ниже формула вернет значение 7:00:00: =ОКРУГЛВВЕРХ(«6:15:27″*24; 0) /24

Для округления значений времени вверх до ближайшей четверти часа доста­ точно будет в предыдущей формуле вместо 24 часов использовать значение 24, де­ ленное 0,25, т.е. количество четвертей часа в сутках. Следующая формула вернет значение 6:30:00: =ОКРУГЛВВЕРХ(«6:15:27″*24/0, 25; 0)/(24/0,25)

Для округления значений времени вниз до ближайшего прошедшего получаса в формуле достаточно воспользоваться количеством получасовых промежутков в сутках, т.е. 24, деленное на 0,5, и поменять функцию округления вверх на функ­ цию округления вниз. Приведенная ниже формула вернет значение 6:00:00: =ОКРУГЛВНИЗ(«6:15:27″*24/0, 5; 0)/(24/0,5)

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

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

Глава 12. Формулы для работы с датами и временем

345

времени, отформатированные требуемым образом. Например, для интервала вре­ мени в 1 час 30 минут может быть указано значение 1,5, а не требуемое по стан­ дарту 1:30. Однако это несоответствие легко исправить, просто поделив исход­ ное десятичное значение в часах на 24, а затем отформатировав его как значение времени. На рис. 12.19 приведено несколько при­ меров конвертации десятичных значений в часах в корректные значения времени. Если разделить десятичное значение ча­ сов на 24, то в результате будет получено, опять же, десятичное число, но в этом слу­ чае Excel уже сможет распознать его как соответствующее значение времени. Для преобразования в значение времени коли­ чества минут, заданных десятичным чис­ лом, это число следует разделить на 1440 (количество минут в сутках). Следующая Рис. 12.19. Преобразование количества формула вернет значение 1:04 (т.е. 1 час часов, заданного десятичным числом, и 4 минуты): в соответствующее значение времени =64,51/1440

Для преобразования количества секунд, заданного десятичным числом, в значение времени, необходимо разделить это количество секунд на число 86 400 (количество се­ кунд в сутках). Следующая формула вернет значение 0:06:30 (т.е. 6 минут, 30 секунд): =390,45/86400

Прибавление к значению времени часов, минут и секунд Поскольку значение времени представляет собой не более чем расширение де­ сятичными дробными разрядами целочисленного значения, представляющего дату, можно просто сложить два значения времени, чтобы получить суммарное значение времени, которое будет правильно интерпретироваться программой. Однако в не­ которых случаях может потребоваться увеличить значение времени на определен­ ное количество часов и/или минут, заданное десятичным числом. В этой ситуации проще всего воспользоваться функцией время. Например, на рис. 12.20 в ячейке D4 содержится приведенная ниже формула, с помощью которой значение времени в ячейке С4 увеличивается на 5 часов и 30 минут: =С4+ВРЕМЯ(5; 30; 0)

Функция время позволяет создать произвольное значение времени с исполь­ зованием трех аргументов: часов, минут и секунд. Например, следующая формула вернет значение 14:30:30: =ВРЕМЯ(14;30; 30)

346

Часть II. Формулы и функции

Рис. 12.20. Увеличение значения времени

на заданное количество часов и минут Для увеличения существующего значения времени на определенное количество часов, минут и секунд просто воспользуйтесь функцией время для создания значе­ ния времени, соответствующего временному сдвигу, а затем сложите его с исход­ ным значением времени. Приведенная ниже формула увеличит исходное значение на 30 минут и вернет значение 15:00:00: =»14:30:00″ + ВРЕМЯ(0;30;0)

Формулы с проверкой условий В ЭТОЙ ГЛАВЕ… Способы проверки условий с помощью формул Вычисления с использованием формул с проверкой условий

В

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

В данном случае проверка условий предполагает выполнение различных дей­ ствий в зависимости от того, выполняется ли заданное условие.

Проверка условий с помощью формул В данном контексте под условием понимается результат вычисления выражения, которое возвращает одно из двух значений: ИСТИНА или ЛОЖЬ. Исходя из вычислен­ ного значения условия, в формуле затем будет использоваться один из двух возмож­ ных вариантов выполнения вычислений. Иначе говоря, когда условие возвращает значение истина, возвращается одно значение или вычисляется первое выраже­ ние, а остальная часть формулы просто игнорируется. Если же условие возвращает значение ложь, все происходит наоборот: возвращается другое значение или вы­ числяется второе выражение, а первая часть формулы игнорируется. В этом разделе будут рассмотрены некоторые из логических функций, доступ­ ных в Excel.

Рабочая книга со всеми приведенными в этой главе примерами находится в фай­ ле Conditional Analysis.xlsx на веб-сайте книги (www.wiley.com/go/ ехсе12019bible). Для русскоязычногоиздания книги файл называется Picl3_01. xlsx.

Часть II. Формулы и функции

348

Проверка выполнения простого условия На рис. 13.1 приведены список из нескольких штатов США и соответствующие цены на газ за шесть месяцев. Для каждого значения цены в этой таблице требу­ ется установить, выше она или ниже среднего значения цены на газ для всех шта­ тов в данном месяце. Если цена выше средней, должно выводиться сообщение «Высокая», а если ниже средней — «Низкая». Для вывода этих сообщений будут использоваться ячейки, расположенные ниже исходной таблицы. Вот формула, ко­ торую можно использовать для решения поставленной задачи. =ЕСЛИ(СЗ>СРЗНАЧ(С$ 3:C$11);»Высокая»;»Низкая»)

Рис. 13.1. Цены на газ в отдельных штатах по месяцам и их оценка

Функция ЕСЛИ — это фундаментальная функция проверки условий в Excel. Она имеет три аргумента: условие, действие, когда условие выполняется, и действие, когда условие не выполняется. В нашем примере аргумент условия имеет вид СЗ>СРЗНАЧ(С$3:С$11). Выражения в аргументах задания условия всегда должны быть построены так, что­ бы возвращать одно из двух возможных значений: ИСТИНА или ЛОЖЬ. А это, как правило, означает, что в нем должен присутствовать оператор сравнения (напри­ мер, знак равенства или знак «больше чем») либо другая функция рабочего листа, возвращающая значение истина или ЛОЖЬ (например, ЕОШ или ЕПУСТО). В нашем примере условие включает знак «больше чем» и предполагает сравнение значения в ячейке СЗ со средним значением для содержимого всех ячеек диапазона СЗ:С 11.

Глава 13. Формулы с проверкой условий

349

Если при проверке условия возвращается значение ИСТИНА, в ячейку с фор­ мулой возвращается второй аргумент функции ЕСЛИ. В нашем примере это стро­ ка «Высокая», и поскольку значение в ячейке СЗ действительно больше среднего значения для содержимого ячеек заданного диапазона, в ячейке С14 отображается слово Высокая. В ячейке С15 с тем же средним значением сравнивается значение в ячейке С4. Поскольку оно меньше среднего, при проверке условия возвращается значение ложь, а значит, функция ЕСЛИ возвращает свой третий аргумент. Поскольку третий аргумент в нашем примере представляет собой строку «Низкая», в ячейке С15 ото­ бражается слово Низкая.

Проверка нескольких условий Простые условия, подобные приведенному на рис. 13.1, можно связывать между собой; такой подход известен как «вложение функций». В этом случае аргументы «если условие выполнено» и «если условие не выполнено» также могут включать в себя проверку простых условий. В результате появляется возможность проверить более одного условия, причем выбор последующих проверяемых условий зависит от результата проверки первого условия. На рис. 13.2 показан рабочий лист с двумя полями ввода, значение в которых выбирается пользователем: с полем Тип автомобиля и полем Особенности, предна­ значенным для уточнения характеристик автомобиля выбранного типа. Возможные значения для поля ввода Особенности приведены ниже в двух диапазонах — для каждого из двух допустимых типов автомобиля. Если пользователь выберет определенные значения в поле типа и в поле особенностей автомобиля, в поле Какое авто с помощью приведенной ниже формулы будет отображено название класса ав­ томобилей с указанными характеристиками: Купе, Седан, Пикап или Трейлер. =ЕСЛИ(Е2=»Легковой»;ЕСЛИ(Е3=»2-х дверный»;»Купе»;»Седан»); ЕСЛИ(ЕЗ=»Есть кузов»;»Пикап»;»Трейлер»))

Рис. 13.2. Определение класса автомобилей по заданным характеристикам

350

Часть II. Формулы и функции

При выполнении проверки условий результат проверки первого условия опре­ деляет второе проверяемое условие. В нашем случае, если первое условие воз­ вращает результат истина, т.е. в ячейке Е2 выбрано значение Легковой, то вторым условием будет проверка, какое значение находится в ячейке ЕЗ: 2-х дверный или 4-хдверный. Если же в ячейке Е2 выбрано значение Грузовик, то вторым условием станет проверка, находится ли в ячейке ЕЗ значение Есть кузов или значение Нет кузова. Как было показано выше, для выполнения проверки условий Excel предлагает функцию ЕСЛИ. Также, когда необходимо проверить более одного условия, можно использовать вложенные функции ЕСЛИ, т.е. в первой функции ЕСЛИ как аргумент можно использовать другие функции ЕСЛИ. В нашем примере первая функция ЕСЛИ проверяет значение в ячейке Е2, но вместо того, чтобы просто вернуть значение, определяемое вторым аргументом, если результат первой проверки есть истина, в формуле используется другая функция ЕСЛИ, которая проверяет значение в ячей­ ке ЕЗ. Аналогичным образом третий аргумент является не просто конкретным зна­ чением, возвращаемым, когда результат первой проверки будет ложь, а третьей функцией ЕСЛИ, которая также проверяет значение в ячейке ЕЗ. На рис. 13.2 пользователь выбрал в ячейке Е2 значение Грузовик. В результате в формуле в ячейке Н2 первая функция ЕСЛИ возвращает значение ложь, поскольку значение в ячейке Е2 не соответствует строке «Легковой», и на следующем этапе выполняется проверка, задаваемая третьим ее аргументом. В этом аргументе зада­ на функция ЕСЛИ, сравнивающая значение в ячейке ЕЗ со строкой «Есть кузов». В нашем примере результат сравнения — ИСТИНА, поэтому вся формула возвращает значение Пикап. Однако, если пользователь в ячейке ЕЗ выберет вариант Нет кузова, результатом второй проверки будет ЛОЖЬ и вся формула возвратит значение третье­ го аргумента второй функции если, т.е. Трейлер.

Использование средств проверки данных для построения условия На рис. 13.2 предлагаемые пользователю поля ввода в действительности пред­ ставляют собой списки допустимых значений. Иначе говоря, вместо ввода данных с клавиатуры пользователю предлагается просто выбрать значение в раскрываю­ щемся списке, связанном с соответствующей ячейкой. В правилах проверки дан­ ных, установленных для ячейки ЕЗ, используется интересный прием, основанный на применении функции двссыл для изменения списка допустимых значений для ячейки ЕЗ в зависимости от значения, выбранного пользователем в ячейке Е2. На этом рабочем листе (Лист2 в книге Picl3_01. xlsx) создано два именован­ ных диапазона. Диапазон с именем Легковой включает ячейки Е6:Е7, а диапазон с именем Грузовик — ячейки Е10:Е11. Эти имена идентичны допустимым значе­ ниям, заданным для ячейки Е2 с помощью списка допустимых значений, определен­ ного в диалоговом окне Проверка вводимых значений. На рис. 13.3 показано окно Проверка вводимых значений для ячейки ЕЗ. Как видите, в этом окне в качестве ис­ точника списка допустимых значений указана функция двссыл с ячейкой Е2 в ка­ честве аргумента.

Глава 13. Формулы с проверкой условий

351

Рис. 13.3. Проверка вводимых данных

с использованием функции двссыл Функция ДВССЫЛ имеет один аргумент: строку текста, преобразуемую ею в ссылку на ячейки. В нашем примере, поскольку в ячейке Е2 находится строка «Грузовик», формула в конечном счете приобретает вид =ДВССЫЛ («Грузовик»). Далее, поскольку значение «Грузовик» является именем определенного на этом рабочем листе диапазона, функция двссыл возвращает ссылку на этот диапазон, Е1О:Е11, а значения его ячеек воспринимаются программой как список допустимых значений для ячейки ЕЗ. Если в ячейке Е2 будет выбрано значение Легковой, функ­ ция двссыл вернет диапазон Е6:Е7, и список допустимых значений для ячейки ЕЗ будет сформирован уже из значений этих ячеек. С этим типом использования средств проверки данных для построения условия связана одна проблема: при изменении значения в ячейке Е2 значение в ячейке ЕЗ остается прежним. Список допустимых значений для ячейки ЕЗ изменился, но пока пользователь не выберет одно из допустимых значений в этом новом списке, фор­ мула в ячейке Н2 может возвращать некорректный результат.

Использование функций поиска и выбора значений Если в формуле очень много вложенных функций ЕСЛИ, она становится слишком длинной и сложной для понимания. На рис. 13.4 представлен несколько иной вари­ ант реализации модели определения класса автомобиля. Вместо того чтобы жестко вписывать результирующие значения во вложенные функции ЕСЛИ, эти результаты вводятся в ячейки, расположенные рядом с возможными значениями особенностей автомобилей (например, значение Седан вводится в ячейку, соседнюю с той, в кото­ рой содержится свойство 4-хдверная). Новая формула выглядит следующим образом. =ЕСЛИ(Е2=»Легковой»;ВПР(ЕЗ;Е6:F7;2;ЛОЖЬ);ВПР(ЕЗ;Е10:F11;2;ЛОЖЬ))

Теперь эта формула может использоваться для определения класса автомобиля. Как видите, условие в функции ЕСЛИ осталось прежним, но теперь, если резуль­ тат проверки условия равен истина, осуществляется поиск и выбор требуемого

352

Часть II. Формулы и функции

значения в диапазоне ячеек Е6:Е7, а если результат — ЛОЖЬ, то поиск и выбор зна­ чения осуществляются в диапазоне Е10:F11. Подробнее об использовании функции ВПР речь пойдет в главе 14.

Рис. 13.4. Другой вариант определения класса

автомобилей по заданным характеристикам

Проверка совпадения результатов двух условий Функции проверки условия, помимо вложения друг в друга, можно одновремен­ но анализировать как аргументы в рамках одной функции И. Такой подход полезен, если одновременно необходимо проанализировать выполнение двух и более усло­ вий, прежде чем можно будет решить, по какой ветви далее пойдет выполнение расчетов. На рис. 13.5 представлен перечень хранящихся на складе изделий с указани­ ем их количества в наличии и размера скидки, установленной при их продаже. Обозначение каждого изделия состоит из трех элементов, разделенных дефисами. Первый элемент определяет цех-изготовитель, второй указывает, чем это изделие является: отдельной деталью (PRT), сборочным блоком (SUB) или полностью со­ бранным продуктом (FIN). Третий элемент представляет собой уникальный четы­ рехзначный код. Задача состоит в том, чтобы назначить скидку в 10% только для тех изделий, которые изготовлены в цеху 202 и являются полностью собранным про­ дуктом. Для всех остальных изделий на складе скидка отсутствует. Вот как выгля­ дит формула, позволяющая решить поставленную задачу. =ЕСЛИ(И(ЛЕВСИМВ(В5;3)=»202″;ПСТР(В5;5;3)=»FIN”) ; 10%;0%)

Функция ЕСЛИ возвращает значение 10%, если проверка условия дает значение ИСТИНА, и 0%, если результат проверки условия — ЛОЖЬ. В ее аргументе, пред­ ставляющем проверяемое условие (первый аргумент), требуется записать выраже­ ние, которое вернет значение истина только в том случае, когда первый элемент кода изделия равен 202, а второй имеет значение FIN. Для решения подобных за­ дач программа Excel предлагает функцию и. Эта функция допускает передачу ей на вход до 255 логических аргументов, разделенных символами точки с запятой.

353

Глава 13. Формулы с проверкой условий

Логические аргументы представляют собой выражения, возвращающие одно из двух значений: ИСТИНА или ЛОЖЬ. В данном примере используются всего два логи­ ческих аргумента.

Рис. 13.5. Список изделий на складе

Первый логический аргумент, левсимв(В5;3) =»2 02″, возвращает значение ИСТИНА, если первые три символа кода изделия в ячейке ВЗ равны 202. Второй логический аргумент, ПСТР(В5;5;3) =»FIN», возвращает значение ИСТИНА в том случае, если три символа в коде изделия, начиная с пятой позиции, будут иметь значение FIN. Функции работы с текстовыми значениями подробно описываются в главе 11. Функция и вернет значение истина только в том случае, если все ее логиче­ ские аргументы вернут значение ИСТИНА. Если хотя бы один из логических аргу­ ментов функции и вернет значение ЛОЖЬ, функция также вернет значение ЛОЖЬ. В табл. 13.1 представлены значения, возвращаемые функцией и с двумя логически­ ми аргументами в зависимости от значений этих аргументов. Таблица 13.1. Значения, возвращаемые функцией и

в зависимости от значений ее аргументов 1-й логический аргумент

2-й логический аргумент

Значение, возвращаемое функцией и

ИСТИНА ИСТИНА ЛОЖЬ ЛОЖЬ

ИСТИНА ЛОЖЬ ИСТИНА ЛОЖЬ

ИСТИНА ЛОЖЬ ложь ложь

Часть II. Формулы и функции

354

В ячейке D3 первый логический аргумент функции и вернет значение ИСТИНА, поскольку первые три символа кода изделия равны 202. Второй логический аргу­ мент вернет значение ЛОЖЬ, поскольку средний элемент кода изделия — PRT, а не FIN. В соответствии с табл. 13.1, если аргументы имеют значение истина и ложь, функция вернет значение ЛОЖЬ, а значит, вся формула вернет значение 0%. В свою очередь, в ячейке D5 формула вернет значение 10%, поскольку оба логических ар­ гумента функции и вернут значение истина.

Размещение значений логических аргументов в ячейках Функция и на рис. 13.5 включает два логических аргумента, которые могут воз­ вращать значения ИСТИНА или ЛОЖЬ. При создании сложных формул с использо­ ванием функции И иногда может быть полезно вынести ее логические аргументы в отдельные ячейки. На рис. 13.6 представлен модифицированный вариант того же списка изделий, в котором добавлены два дополнительных столбца. В этих столб­ цах фиксируются результаты, возвращаемые логическими аргументами исходного варианта функции И, что позволяет уточнить, по какой причине определенное из­ делие получило или не получило скидку.

Рис. 13.6. Модифицированный вариант того же списка изделий

В данной модификации результат остается прежним, но конечная формула упро­ щается: =ЕСЛИ(И(D3;E3);10%;0%)

Глава 13. Формулы с проверкой условий

355

Проверка удовлетворения первого или второго условия В примере, представленном на рис. 13.6, скидка предоставлялась на определен­ ный продукт, определяемый по его коду изделия. В следующем примере требуется расширить количество продуктов, на которые предоставляется скидка. Как и рань­ ше, скидка предоставляется только на готовые продукты, но количество цехов уве­ личивается до двух: цех 202 и цех 203. На рис. 13.7 представлен перечень продук­ тов на складе с процентом скидки, установленным по новым правилам, — для этой цели использовалась следующая формула. =ЕСЛИ(И(ИЛИ(ЛЕВСИМВ(ВЗ;3)=»202″;ЛЕВСИМВ(ВЗ;3)=»203″);ПСТР(ВЗ;5;3)=»FIN»);10%;0%)

Рис. 13.7. Скидка на изделия предоставляется по новым правилам

В этой формуле аргумент условия функции ЕСЛИ был расширен для учета изме­ нений в правилах предоставления скидки. Функция И является ограничивающей, поскольку все ее аргументы должны иметь значение ИСТИНА, чтобы эта функция также вернула значение ИСТИНА. В противоположность ей функция или является включающей, так как она возвращает значение истина, если хотя бы один из ее аргументов имеет значение ИСТИНА. В этом примере функция ИЛИ была вложена в функцию и, — она используется в качестве одного из аргументов внешней функ­ ции ИЛИ. В табл. 13.2 приведены значения, возвращаемые функцией И с двумя ло­ гическими аргументами, одним из которых является функция ИЛИ.

356

Часть II. Формулы и функции

Таблица 13.2. Значения, возвращаемые функцией и с вложенной

функцией или в качестве первого аргумента 1-й логический

2-й логический

Значение,

2-й логический

Значение,

аргумент

возвращаемое функцией или

аргумент

функции или

аргумент функции или

возвращаемое функцией и

ИСТИНА ИСТИНА ЛОЖЬ ЛОЖЬ ИСТИНА ИСТИНА ЛОЖЬ ЛОЖЬ

ИСТИНА ЛОЖЬ ИСТИНА ЛОЖЬ ИСТИНА ЛОЖЬ ИСТИНА ЛОЖЬ

ИСТИНА

ИСТИНА ИСТИНА ИСТИНА ИСТИНА ЛОЖЬ ЛОЖЬ ЛОЖЬ

ИСТИНА ИСТИНА ЛОЖЬ ИСТИНА ИСТИНА ИСТИНА ЛОЖЬ

функции и

ложь

ИСТИНА ИСТИНА ИСТИНА ЛОЖЬ ЛОЖЬ ЛОЖЬ ложь ложь

На рис. 13.7 значение в ячейке D9 демонстрирует, что изделие, на которое рань­ ше не было скидки, теперь ее получило в связи с введением новых правил ее предо­ ставления. В данном случае выражение с функцией или, а именно — или (левсимв (ВЗ; 3) = «202» / ЛЕВСИМВ (ВЗ; 3) = «203 «), возвращает значение ИСТИНА, поскольку один из его аргументов также имеет значение истина.

Вычисления с использованием формул с проверкой условий Простые функции проверки условий, подобные функции ЕСЛИ, обычно работают только с одним значением или ячейкой за раз. Поэтому программа Excel предостав­ ляет также несколько других функций проверки условий, предназначенных специ­ ально для обобщения данных, например суммирования или вычисления среднего значения. В этом разделе обсуждается несколько полезных приемов организации вычисле­ ний, выполняемых с учетом заданного набора некоторых условий.

Суммирование всех значений, которые отвечают определенному условию На рис. 13.8 представлен список бухгалтерских счетов с положительным и от­ рицательным балансами. Необходимо просуммировать все отрицательные остатки, а затем сравнить полученное значение с суммой всех положительных остатков, чтобы убедиться, что они равны. Для суммирования значений с учетом заданного условия программа Excel предоставляет функцию СУММЕСЛИ. Вот как выглядит со­ ответствующая формула. =СУММЕСЛИ(СЗ:С12; «=»&G3. Также вы могли обратить внимание, что формула в ячейке G3 вы­ глядит как =»>=»&10л6, т.е. в ней для представления значения в один миллион используется оператор возведения в степень (л). Представление больших значений с использованием оператора возведения в степень помогает уменьшить количество ошибок, связанных с введением неправильного количества нулей.

Подсчет количества значений, отвечающих двум и более условиям Функция суммесли имеет свой аналог — функцию счётесли. Безусловно, ком­ пания Microsoft не могла оставить функцию СУММЕСЛИМН, выполняющую сумми­ рование значений, отвечающих одновременно нескольким условиям, без соответ­ ствующего двойника, обеспечивающего подсчет количества значений, отвечающих сразу нескольким условиям: это функция СЧЁТЕСЛИМН. На рис. 13.14, представлен список медалистов по горнолыжному спорту на зим­ них Олимпийских играх 1972 года. Предположим, требуется узнать, во скольких именах серебряных медалистов (в латинском написании) есть буква о. Буква, ко­ торая нас интересует, вводится в ячейку 13, а тип медали — в ячейку 14. При этих условиях требуемая формула будет выглядеть так, как показано ниже. =СЧЁТЕСЛИМН(СЗ:С2 0;»*»& 13 &»*»;F3:F2 0;14)

В функции СЧЁТЕСЛИМН аргументы, определяющие анализируемый диапазон и критерий отбора, предоставляются парами, как и в функции СУММЕСЛИМН. Однако у функции СУММЕСЛИМН всегда должно быть нечетное количество параметров, тогда как у функции СЧЁТЕСЛИМН число параметров всегда должно быть четным. Первый анализируемый диапазон представляет собой список имен спортсменов и содержится в ячейках СЗ:С20. Аргумент критерия отбора в соответствии с задан­ ными условиями имеет вид т.е. ссылка на ячейку 13, по обе стороны от которой находится по одному символу звездочки. В функции СЧЁТЕСЛИМН звез­ дочки — это подстановочный символ, замещающий произвольное количество лю­ бых символов: нуль, один, два и т.д. Поместив звездочки до и после адреса ячейки, мы даем Excel указание подсчитать количество всех имен, которые включают за­ данный в ячейке 13 символ в любом месте имени спортсмена. Иначе говоря, нас не

Глава 13. Формулы с проверкой условий

365

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

Рис. 13.14. Медалисты по горнолыжным видам спорта зимних Олимпийских игр 1972 года

Пара аргументов второго критерия отбора указывает, что нас интересуют только те строки, для которых в ячейках диапазона F3:F20 содержится значение Серебро (это значение введено в ячейку 14). В результате функция подсчитает только те строки, для которых выполняются и первое, и второе условия отбора (т.е. в имени спорт­ смена присутствует буква б и он является серебряным медалистом). В этом примере серебряные медали выиграли Густав Тёни (Gustav Thoni) в слаломе среди мужчин, Аннемари Мозер-Прёль (Annemarie Moser-Proll) в скоростном спуске среди женщин и она же — в гигантском слаломе, что в итоге дает результат подсчета, равный трем.

Поиск нестандартных символов Символ б был введен в ячейку 13 особым способом: необходимо нажать клави­ шу , а затем ввести 0246 на цифровой клавиатуре. Не пытайтесь ввести эти цифры, пользуясь верхним рядом клавиш на обычной клавиатуре, — этот вариант не сработает. Секрет здесь прост: число 246 является десятичным представлени­ ем кода ASCII для символа б (вводить надо при английской раскладке клавиатуры). Любой из символов, отображаемых на экране монитора, имеет свой код ASCII. Еще раз взгляните нарис.13.14:в ячейках 1-18:112 находится небольшая табличка сим­ волов и их кодов. В ячейку Н8 была введена формула =ПСТР ($С$ 8; СТРОКА () +14; 1), которая возвращает 22-й символ из имени спортсмена в ячейке С8. (Двадцать второй символ был выбран произвольно, просто он находится рядом с символом, который представляет для нас интерес.) Данная формула скопирована в несколько располо­ женных ниже ячеек, чтобы в конечном счете извлечь и тот символ, который нас инте­ ресует: этот символ (б) находится в ячейке НЮ. Знаки доллара в адресе ячейки $С$8 указывают на то, что этот адрес является абсолютным и не должен изменяться при ко­ пировании формулы в другие ячейки. Функция СТРОКА () без аргументов возвращает номер строки, в которой находится содержащая ее ячейка. А это означает, что при

Часть II. Формулы и функции

366

копировании исходной формулы в расположенные ниже ячейки функция строка () будет возвращать значения 8,9,10 и т.д. В ячейке I8 находится формула =КОДСИМВ (Н8). Функция рабочего листа КОДСИМВ возвращает ASCII-код того символа, который был передан ей в качестве аргумен­ та. В нашем примере можно видеть, что ASCII-код прописной буквы Т (латиница) равен 84, ASCII-код строчной буквы i — 105 и, наконец, ASCII-код буквы о — 246. Вооружившись этими знаниями, нажмите клавишу и введите с цифровой кла­ виатуры четырехзначный код нужного символа в любом месте на рабочем листе, где это может потребоваться.

Вычисление среднего для всех значений, отвечающих определенному условию После суммирования и подсчета строк вычисление среднего значения для заданно­ го набора числовых значений является следующей по частое использования операци­ ей обобщения данных. Среднее значение, которое иначе называют арифметическим средним, представляет собой сумму этих значений, поделенную на их количество. На рис. 13.15 вновь представлен список медалистов по горнолыжному спорту на зимних Олимпийских играх 1972 года. На этот раз требуется определить средний показанный результат, но только для спортсменов из Швейцарии. Название стра­ ны вводится в ячейку 13, что позволяет провести расчет для спортсменов из любой страны. Для выполнения расчетов использована приведенная ниже формула. =СРЗНАЧЕСЛИ(D3 : D2 0; 13; Е3 : Е2 0)

Рис. 13.15. Средний результат для спортсменов одной страны

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

Глава 13. Формулы с проверкой условий

367

два обязательных аргумента: анализируемый диапазон и заданный критерий отбо­ ра. Третий необязательный аргумент может использоваться для указания отдельного диапазона, содержащего те числовые значения, на основании которых вычисляется среднее значение. В нашем примере каждая ячейка в диапазоне ЕЗ:Е20 либо включа­ ется, либо не включается в расчет среднего значения, — в зависимости от того, отве­ чает ли соответствующая ячейка в диапазоне D3:D20 заданному критерию. Если заданному критерию не соответствует ни одна ячейка из анализируемого диапазона, функция срзначесли возвращает ошибку #ДЕЛ/0!.

Вычисление среднего для всех значений, отвечающих двум и более условиям Как и следовало ожидать, вместе с функциями суммеслимн и счётеслимн ком­ пания Microsoft предоставляет пользователям Excel функцию СРЗНАЧЕСЛИМН, по­ зволяющую вычислить арифметическое среднее для всех значений из диапазона, отвечающих двум и более условиям. Продолжим анализ таблицы результатов по горнолыжному спорту на зимних Олимпийских играх 1972 года. На рис. 13.16 приведен пример определения сред­ него значения величин, для отбора которых используется более одного критерия. В данном случае при вычислении среднего значения предварительно проводится отбор по стране, по полу спортсмена и по достоинству медали, — требуемые зна­ чения вводятся в ячейки 13:15 соответственно. Нас интересует среднее значение только для тех результатов, для которых выполняются все заданные условия. Вот соответствующая формула. =СРЗНАЧЕСЛИМН(Е 3:Е2 0;D3:D2 0;13;ВЗ:В2 0;»*»& 14;F3:F2 0;15)

Рис. 13.16. Среднее значение, вычисленное с учетом трех условий отбора

368

Часть II. Формулы и функции

Функция СРЗНАЧЕСЛИМН по своей структуре подобна рассмотренной выше функ­ ции СУММЕСЛИМН. Первый аргумент определяет диапазон значений для вычисления среднего, а остальные до 127 пар аргументов определяют анализируемый диапазон и критерий отбора. В приведенной в этом примере формуле использованы три сле­ дующие пары критериев отбора.

D3: D2 0,13 — в подсчет включаются только те строки, которые представляют результаты спортсменов из Швейцарии.

ВЗ: В20, » * «& 14 — в подсчет включаются только те строки, в категории со­ ревнования которых присутствует слово женщины.

F3: F20,15 — в подсчет включаются только те строки, в которых вручаемая медаль определяется значением Золото.

Для всех прошедших отбор строк вычисляется среднее значение результатов, представленных в ячейках диапазона ЕЗ:Е20.

Глава

Использование формул для поиска и извлечения данных В ЭТОЙ ГЛАВЕ… Формулы поиска и извлечения данных из таблиц Функции рабочего листа, предназначенные для выполнения поиска

Более сложные решения поиска и извлечения данных

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

В

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

Часть II. Формулы и функции

370

Л

На

заметку

В этой главе термин таблица используется для обозначения прямоугольного диапазона яче­ ек. Этот диапазон ячеек не обязан быть “официальной” таблицей Excel, которая создается ^с помощью команды Вставка^Таблицы^Таблица. В Excel предусмотрено несколько функций, которые можно использовать для соз­ дания формул выбора и поиска значений в таблице данных. Основные функции этой категории кратко описаны в табл. 14.1.

Таблица 14.1. Функции поиска и извлечения значений Функция

Описание

ВПР

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

ВЫБОР

Выбирает значение из списка значений аргументов

ГПР

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

ЕСЛИ

Возвращает одно значение, если условие истинно, и другое — в противном случае

ЕСЛИОШИБКА

Возвращает первый аргумент, если он не содержит ошибки, либо возвращает второй аргумент, если первый представляет собой сообщение об ошибке

ИНДЕКС

Использует номер элемента (индекс) для выбора значения из таблицы или диапазона

ПОИСКПОЗ

Возвращает относительное положение элемента в диапазоне, соответствующем заданному значению

ПРОСМОТР

Ищет значения в диапазоне, включающем одну строку или один столбец. Другая форма функции просмотр работает аналогично функции впр, отличаясь от нее тем, что она возвращает значение из последнего столбца диапазона

СМЕЩ

Возвращает ссылку на диапазон, отстоящий от ячейки или диапазона ячеек на заданное количество строк и столбцов

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

Глава 14. Использование формул для поиска и извлечения данных

371

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

Рабочая книга со всеми приведенными в этой главе примерами находится в файле PerformingLookups. xlsx на веб-сайте книги (www. wiley. com/go/excel2019 bible). Для русскоязычного издания книги файл называется Picl4_01. xlsx.

Поиск точного совпадения при просмотре левого столбца таблицы Многие таблицы упорядочены таким образом, что ключевой элемент данных, т.е. тот элемент, который делает каждую строку данных уникальной, помещается в крайний слева столбец. Хотя в Excel немало функций поиска, функция ВПР была разработана именно для таких случаев. На рис. 14.1 представлен список работников. Наша задача — заполнить данными простейшую платежную форму, извлекая инфор­ мацию из этой таблицы по заданному идентификатору работника (столбец ID).

Рис. 14.1. Таблица с данными работников

Чтобы выполнить расчет, пользователю достаточно выбрать идентификатор ра­ ботника в списке допустимых значений в ячейке L3. Этого элемента данных будет достаточно, чтобы выбрать из исходной таблицы имя и фамилию работника, данные о его месте работы и всю прочую информацию, необходимую для заполнения полей платежной формы, представленной на рис. 14.2. Формулы, которые используются в разных полях этой платежной формы, представлены ниже. Работник =ВПР($Ь$3; $В$3:$ I $ 12;2;ЛОЖЬ)

Начислено =ВПР($L$3;$В$3:$1$12;5;ЛОЖЬ)*ВПР($L$3;$В$3:$1$12;4;ЛОЖЬ)

372

Часть II. Формулы и функции

Налоги =(М7-О8-О9)*ВПР($L$3;$В$3:$ 1$12;6;ЛОЖЬ)

Страховка =ВПР($L$3;$В$3:$ I $ 12;7;ЛОЖЬ)

Пенсионный фонд =М7*ВПР($L$3;$В$3:$1$12;8;ЛОЖЬ)

Всего =СУММ(07:010)

К выплате =М7-011

В формуле, обеспечивающей поиск и извлечение имени и фамилии работни­ ка, используется функция ВПР. Функция ВПР имеет четыре аргумента: значение, которое нужно найти; диапазон, в котором осуществляется поиск; столбец, из которого извлекается возвращаемое значение; и наконец, требуемый тип совпа­ дения. Функция ВПР будет просматривать значения в ячейках первого (крайнего слева) столбца указанного диапазона поиска до тех пор, пока не найдет требуе­ мое значение. Когда оно будет найдено, функция ВПР вернет значение из ячейки того столбца этой строки, который задан третьим аргументом. В нашем примере значение третьего аргумента равно 2, поэтому функция вернет имя и фамилию работника, которые хранятся во втором столбце анализируемой таблицы.

Рис. 14.2. Простая платежная форма

В других формулах платежной формы также используется функция ВПР, но с небольшими модификациями. Для полей Цех/участок и Страховка структура формул не отличаются от формулы в поле Работник, просто возвращаемые зна­ чения извлекаются из других столбцов. Формула в поле Начислено содержит две

Глава 14. Использование формул для поиска и извлечения данных

373

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

На заметку

В этом примере во всех формулах четвертый аргумент функции впр имеет значение ложь. Для аргумента задания типа совпадения значение ложь указывает на то, что функция впр должна возвращать значение только в случае нахождения точного совпадения аргумента поиска и значения анализируемой ячейки. Если такого значения найдено не будет, функ­ ция ВПР вернет ошибку #Н/Д. На рис. 14.7 ниже в этой главе приведен пример использо­ вания другого допустимого значения четвертого аргумента: истина. В этом случае функция ВПР осуществляет поиск точного или приблизительного совпадения. Формула в поле Пенсионный фонд умножает сумму начисленной зарплаты на процент отчислений в этот фонд, извлекаемый из восьмого столбца таблицы. И наконец, формула в поле Налоги сначала вычитает из суммы начисленной зар­ платы выплаты по страховке и отчисления в пенсионный фонд, а затем умножает полученный результат на процентную ставку налога, извлекаемую функцией ВПР из шестого столбца таблицы. Безусловно, при реальном начислении заработной платы расчеты будут слож­ нее, чем в этом примере, но если вы поняли, как функция впр работает, то сможете реализовать на практике и более сложные модели.

Поиск точного совпадения при просмотре любого заданного столбца таблицы В отличие от таблицы, представленной на рис. 14.1, далеко не все таблицы со­ держат значения, по которым осуществляется поиск, в своем крайнем слева столб­ це. К счастью, программа Excel предоставляет несколько функций, возвращающих значения, которые находятся правее тех, по которым выполнялся поиск. На рис. 14.3 представлена информация о расположении книжных магазинов в городах и штатах. Необходимо предоставить пользователю сведения о городе и номере магазина, когда он выбирает тот или иной штат в раскрывающемся списке поля Штат в столбце F. В полях столбца F формы на рис. 14.3 содержатся следующие формулы.

Город =ИНДЕКС(ВЗ: D25;П0ИСКП03(G4;СЗ:С25;ЛОЖЬ);1)

№ магазина =ИНДЕКС(ВЗ:D2 5;П0ИСКП03(G4;СЗ:С2 5;ЛОЖЬ);3)

374

Часть II. Формулы и функции

Рис. 14.3. Перечень книжных магазинов с указанием города и штата

Функция индекс возвращает значение из определенных строки и столб­ ца диапазона. В нашем случае на вход ей передается вся таблица информации о магазинах, номер строки в виде значения, возвращаемого функцией ПОИСКПОЗ, и номер столбца. В формуле в поле Город должен быть указан первый столбец, поэтому соответствующий аргумент в ней — 1. Для поля № магазина в форму­ ле должен быть указан третий столбец, поэтому ее соответствующий аргумент имеет значение 3. Если только используемый диапазон не начинается с ячейки А1, номер строки и столбца не будет соответствовать строке и столбцу рабочей таблицы. Эти значе­

ния отсчитываются от ячейки в верхнем левом углу заданного диапазона, а не всего рабочего листа. Формула вида =ИНДекс(G2: Р10,2,2) фактически возвращает зна­ чение из ячейки НЗ, поскольку ячейка НЗ в этом случае находится во второй строке и втором столбце заданного в формуле диапазона — G2:P10. На заметку

Если передать в функцию индекс номер строки, который будет превышать количество строк в указанном диапазоне, или номер столбца, который будет превышать количество столбцов ^в этом диапазоне, индекс вернет значение ошибки #ССЫЛКА!.

Глава 14. Использование формул для поиска и извлечения данных

375

Чтобы получить требуемое значение номера строки, в этих формулах исполь­ зуется функция ПОИСКПОЗ. Эта функция возвращает номер той позиции в спи­ ске, в которой было найдено искомое значение. Функция ПОИСКПОЗ имеет три аргумента. Искомое значение. Значение, которое требуется найти. Просматриваемый диапазон. Один столбец или одна строка, в которой осущест­ вляется поиск.

Тип совпадения. Если требуется точное совпадение, этот аргумент должен иметь значение ложь или 0.

То значение, для которого ищется совпадение, представляет собой штат, вы­ бранный пользователем в ячейке G4, а поиск производится в диапазоне СЗ:С25, содержащем список тех штатов, в которых находятся книжные магазины. Функция ПОИСКПОЗ просматривает этот диапазон сверху вниз, пока не найдет требуемое зна­ чение, — в нашем примере это NH. Оно будет найдено в 12-й позиции списка, поэто­ му функции ИНДЕКС в качестве второго аргумента, определяющего номер строки, будет передано значение 12.

На

заметку

Второй аргумент функции поискпоз должен представлять собой диапазон высотой в одну ячейку или шириной в одну ячейку. Если этот диапазон будет шире или выше, функция i поискпоз вернет ошибку #Н/Д. Получив возвращаемое значение от функции поискпоз, функция индекс бу­ дет иметь всю необходимую ей информацию, чтобы вернуть требуемое значение. В двенадцатой строке заданного диапазона она выберет возвращаемое значение либо из первого столбца (для поля Город), либо из третьего столбца (для поля Магазин).

Поиск значений по горизонтали Если данные структурированы таким образом, что искомые значения находятся в верхней строке, а не в левом столбце диапазона, а извлекаемая информация на­ ходится в расположенных ниже строках, а не в соседних столбцах, программа Excel может предоставить удобную функцию и на этот случай. На рис. 14.4 приведена таблица с названиями городов и температурой возду­ ха в них. Пользователь может выбрать название города в раскрывающемся списке поля Ваш город (столбец С), и значение температуры в этом городе будет предо­ ставлено ему в расположенном ниже поле Температура. Вот формула, которая на­ ходится в этом поле: =ГПР(С5;С2:L3;2;ЛОЖЬ)

Часть II. Формулы и функции

376

Рис. 14.4. Таблица с информацией о температуре воздуха в некоторых городах

Функция ГПР имеет тот же набор аргументов, что и функция ВПР. Буква г в ее названии соответствует слову «горизонтальный» тогда как буква В названии функ­ ции ВПР соответствует слову «вертикальный». Поэтому функция ГПР просматривает таблицу данных построчно, слева направо, т.е. по горизонтали, а не по вертикали, как функция ВПР. В нашей формуле, когда функция ГПР находит соответствие за­ данному аргументу поиска, она возвращает значение из второй строки того столб­ ца, в котором было найдено соответствие.

Сокрытие ошибок, возвращаемых функциями поиска В тех случаях, когда в качестве последнего аргумента функций поиска исполь­ зуется значение ложь, функции возвращают найденное значение только в случае точного совпадения значения в строке и заданного аргумента поиска. Если же по­ следний аргумент имеет значение ЛОЖЬ, а точное совпадение во всем диапазоне поиска не найдено, функции поиска возвращают значение ошибки #Н/Д. Вывод ошибки #Н/Д в разрабатываемых решениях Excel является полезным ин­ струментом, поскольку предупреждает разработчиков о том, что требуемого точно­ го соответствия аргументу поиска в имеющихся данных нет. Но если вся таблица или ее часть предназначена для использования в качестве отчета, наличие в ней ошибок #Н/Д будет существенно ухудшать ее внешний вид. В программе Excel есть функция, позволяющая обнаруживать и перехватывать такие ошибки, возвращая вместо них что-нибудь иное. На рис 14.5 представлен список компаний и их руководителей. Здесь же в другом списке выведены фамилии некоторых руководителей и сведения об их годовом до­ ходе. Для объединения данных этих двух таблиц используется функция ВПР, пред­ ставленная ниже. Однако, поскольку во втором списке есть информация о доходах далеко не всех руководителей компаний, упомянутых в первом списке, при объеди­ нении таблиц программа выводит множество сообщений об ошибке #Н/Д. =ВПР(СЗ;$F$3:$G$11;2;ЛОЖЬ)

На рис. 14.6 используемую для объединения данных формулу изменили. Теперь исходная формула вложена в функцию еслиошибка, которая будет возвращать пу­ стое значение, если при объединении данных таблиц в ячейку будет помещено со­ общение об ошибке: =ЕСЛИО1ПИБКА (ВПР (СЗ; $F$ 3: $G$ 11; 2; ЛОЖЬ) ; » » )

Глава 14. Использование формул для поиска и извлечения данных

377

Рис. 14.5. Отчет о годовых доходах руководителей компаний

Рис. 14.6. Очищенный вариант отчета

Функции ЕСЛИОШИБКА в качестве первого аргумента передается значение или формула, а вторым аргументом является то значение, которое функция вернет в случае получения сообщения об ошибке от первого аргумента. Если первый ар­ гумент возвращает любое сообщение об ошибке, функция возвращает значение, определяемое ее вторым аргументом. Если же возвращаемое первым аргументом

Часть II. Формулы и функции

378

значение не является сообщением об ошибке, функция ЕСЛИОШИБКА передает его на выход без изменений. В этом примере второй аргумент функции еслиошибка представляет собой пу­ стую строку (это два символа кавычек, между которыми нет никаких других сим­ волов). В результате отчет будет очищен от сообщений об ошибках, портящих его внешний вид. Тем не менее с помощью функции еслиошибка сообщения об ошибках можно заменить чем угодно, например фразой «Нет информации» или просто нулем.

Совет

Функция еслиошибка одинаково обрабатывает любые сообщения об ошибках, которые мо­ гут возвращать функции программы Excel, включая #Н/Д, #дел/0 ! и #ЗНАЧ!. Учтите, что у вас нет возможности так или иначе ограничить перечень ошибок, на которые будет реаги­ ровать функция еслиошибка. Для целей отладки программа Excel предоставляет три функции перехвата сообщения об ошибках.

еошибка. Возвращает значение истина, если ее аргумент возвращает любое сообще­

еош. Возвращает значение истина, если ее аргумент возвращает любое сообщение

ние об ошибке. об ошибке, кроме #н/д.

енд. Возвращает значение истина, если ее аргумент возвращает сообщение об ошибке

#н/д, и возвращает значение ложь во всех остальных случаях, включая любые другие сообщения об ошибках.

Все эти функции перехвата сообщений об ошибках возвращают значения истина или ложь и чаще всего используются вместе с функцией ЕСЛИ.

______________________________________________________________________________________________________________________

Поиск ближайшего значения в списке граничных значений шкалы Функции ВПР, гпр и поискпоз допускают произвольную сортировку анализи­ руемых при поиске данных, поскольку у каждой из этих функций есть последний аргумент, с помощью которого можно потребовать выполнять поиск с точным соот­ ветствием и возвращением сообщения об ошибке если поиск оказался неудачным. Однако эти функции могут работать и с отсортированными данными — в тех слу­ чаях, когда по условиям задачи допустимо достичь лишь приближенного соответ­ ствия условию поиска. На рис. 14.7 представлена таблица для исчисления взимае­ мого подоходного налога. В этой таблице не представлены все возможные значения облагаемых налогом сумм, вместо этого она содержит небольшой список граничных значений, образующих шкалу ставок налогообложения. Сначала следует опреде­ лить, в какую зону шкалы попадает облагаемая налогом сумма, а затем восполь­ зоваться данными в соответствующей строке таблицы для исчисления взимаемого подоходного налога с помощью следующей формулы, помещенной в ячейку D16. =ВПР (D15;ВЗ:ЕЮ; 3;ИСТИНА) + (DIS-ВПР (D15;ВЗ:ЕЮ; 1;ИСТИНА) ) *ВПР (D15;ВЗ:ЕЮ; 4ЮСТИНА)

Глава 14. Использование формул для поиска и извлечения данных

379

Рис. 14.7. Исчисление взимаемого подоходного налога

В этой формуле используются три функции впр, с помощью которых из табли­ цы извлекаются три элемента данных, необходимых для выполнения расчета. Последний аргумент в каждой функции впр имеет значение истина, что говорит о том, что при поиске нас устроит только приближенное соответствие. Чтобы получить правильные результаты, когда значение последнего аргумента функции впр равно истина, данные в том столбце, по которому осуществляется по­ иск (на рис. 14.7 это столбец В), должны быть отсортированы по возрастанию. В процессе выполнения функция впр будет просматривать крайний слева столбец таблицы данных сверху вниз и остановится, как только очередное анализируемое значение окажется больше, чем искомое. В результате будет найдено наибольшее значение, которое не превосходит значения, заданного в аргументе поиска. В примере на рис. 14.7 функция впр завершит работу в строке 5, поскольку 1023 представляет собой наибольшее значение в списке, которое не превосходит аргу­ мента поиска, т.е. 2003,8 9. Упомянутые выше три составные части формулы сра­ ботают следующим образом.

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

Вторая функция ВПР возвратит из первого столбца Зарплата от значение, ко­ торое будет вычтено из исходной облагаемой налогом суммы в ячейке D15.

Третья, и последняя, функция ВПР вернет процентную ставку налога, извле­ ченную из четвертого столбца. Это процентное значение будет умножено на «избыток облагаемой суммы», а полученный результат будет добавлен к базовой сумме.

Принимая во внимание результаты, возвращаемые тремя функциями впр, можно записать числовое представление формулы в следующем виде: = 69, 80 + (2003, 89 — 1023, 001*15, 0%

В результате это и дает содержащееся в ячейке D16 значение 216,93.

380

Часть II. Формулы и функции

Внимание! Поиск приближенного соответствия с помощью функций поиска и подстановки не гарантирует нахождения ближайшего соответствия значению аргумента. На самом деле будет найдено самое большое из имеющихся значений, которое не превосходит искомого значения, даже в том случае, если следующее превышающее аргумент поиска значение будет к нему ближе, чем предыдущее меньшее, выбранное в качестве результата. Если данные в столбце поиска не будут отсортированы по возрастанию, вы не получите сообщения об ошибке, но с очень большой вероятностью получите некорректный результат. Функции поиска при выполнении поиска приближенного соответствия используют метод двоичного поиска. В этом случае по­ иск начинается с середины просматриваемого столбца и при этом определяется, в какой по­ ловине может находиться искомое значение — в верхней или нижней. Выбранная половина значений вновь делится на две равные части, и для этих двух частей выполняется тот же ана­ лиз. Этот процесс деления остатка пополам и выбора нужной половины будет продолжаться до тех пор, пока не будет получен требуемый результат.

Как легко можно понять, двоичный поиск в неотсортированном списке значений рано или поздно непременно приведет к выбору неправильной половины для дальнейшего просмотра, ^а значит, и к возвращению функцией некорректных данных. ————————————————————————————————————————————- Совет Метод, который функции поиска и извлечения используют при поиске приближенного соответ­ ствия, работает значительно быстрее, чем при выполнении ими поиска с точным соответстви­ ем. В последнем случае функция вынуждена последовательно анализировать каждое из значе­ ний, содержащееся в просматриваемом столбце. Если вы точно знаете, что используемые вами данные всегда будут отсортированы по возрастанию значений в ключевом поле и в них всегда будут присутствовать все значения, точно соответствующие возможным аргументам поиска, мо­ жете значительно сократить время пересчета формул на рабочем листе, присвоив последним аргументам во всех используемых на нем функциях поиска и извлечения значение истина. Поиск с приближенным соответствием в любом случае найдет точное совпадение с аргументом ^поиска, если только анализируемые данные правильно отсортированы.

Нахождение ближайшего соответствия с помощью функций ИНДЕКС И ПОИСКПОЗ Во все рассмотренные выше формулы поиска может быть подставлена комбина­ ция функций индекс и поискпоз, которые часто используются совместно для поис­ ка и извлечения значений из таблиц. Как и функции ВПР и ГПР, функция поискпоз также имеет последний аргумент, позволяющий осуществить поиск с приближен­ ным соответствием. Функция ПОИСКПОЗ имеет дополнительное преимущество, по­ скольку позволяет работать с данными, упорядоченными по убыванию. Формула, построенная с использованием функции ВПР и успешно работавшая в предыдущем примере, представленном на рис. 14.7, в примере на рис. 14.8 возвра­ щает в ячейке D16 значение #Н/Д. Так происходит потому, что функция ВПР начи­ нает просмотр с середины анализируемого столбца и обнаруживает, что значение

Глава 14. Использование формул для поиска и извлечения данных

381

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

Рис. 14.8. Та же самая таблица, что и на рис. 14.7,

но с данными, упорядоченными по убыванию

В этом примере в ячейке D18 находится приведенная ниже формула, в которой используются функции индекс и ПОИСКПОЗ, и, как видно из рис. 14.8, она возвра­ щает правильный результат. =ИНДЕКС(ВЗ:Е10;ПОИСКПОЗ(О15;ВЗ:В10;-1)+1;3)+Ю15ИНДЕКС(ВЗ: ЕЮ; ПОИСКПОЗ (D15 ;ВЗ: BIO;-1) +1; 1) ) * ИНДЕКС(ВЗ:Е10;ПОИСКПОЗ(D15; ВЗ: В10; -1) +1; 4)

Последний аргумент функции ПОИСКПОЗ может принимать целочисленные зна­ чения -1, 0 и 1. •

Значение -1 используется для данных, которые отсортированы по убыва­ нию, — от больших значений к меньшим. В этом случае функция ищет ми­ нимальное значение, которое больше или равно искомому значению. С по­ мощью функций ВПР и ГПР эквивалентный результат получить невозможно.

Значение 0 используется для неотсортированных данных, и в этом случае осуществляется поиск по точному совпадению. Этот вариант эквивалентен использованию функций впр и ГПР, последний аргумент которых имеет зна­ чение ЛОЖЬ.

382

Часть II. Формулы и функции

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

Когда последний аргумент функции ПОИСКПОЗ имеет значение -1, она находит в анализируемом столбце значение, которое больше искомого значения, поэтому к найденному ею значению в формуле добавляется единица, чтобы извлечь данные из требуемой строки.

Поиск значений в нескольких таблицах В некоторых случаях данные, в которых осуществляется поиск, могут находиться более чем в одной таблице, но обрабатываться будет лишь одна из этих таблиц, — в за­ висимости от выбора, который сделает пользователь. В примере на рис. 14.9 рабочий лист предназначен для выполнения вычислений, подобных тем, которые выполнялись в примере, представленном на рис. 14.7. Различие состоит лишь в том, что пользователь может выбрать один из двух вариантов расчета — либо для одиноких лиц, либо для тех, кто состоит в браке. Если пользователь выбирает вариант Холост, поиск требуемых дан­ ных выполняется в таблице для одиноких налогоплательщиков, а если он выбирает ва­ риант В браке, то в таблице для налогоплательщиков, состоящих в браке. В Excel можно использовать именованные диапазоны, а функция ДВССЫЛ позво­ ляет выбрать для проведения поиска соответствующую таблицу. Прежде чем со­ ставлять формулу, необходимо определить на рабочем листе два именованных диа­ пазона: в_браке, содержащий таблицу расчета налогов для тех, кто состоит в браке, и Холост, — с таблицей расчетов налогов для тех, кто одинок. Чтобы создать эти именованные диапазоны, выполните следующие действия. 1. Выделите диапазон ячеек В4:Е11.

2. Выберите команду Формул неопределенные имена Ф Задать имя. Откроется диалоговое окно Создание имени, показанное на рис 14.10. 3. В поле Имя введите значение в_браке. 4. Щелкните на кнопке ОК.

5. Выделите диапазон ячеек В15:Е22. 6. Вновь выберите команду ФормулыФОпределенные именаеЗадать имя. 7. В открывшемся диалоговом окне введите в поле Имя значение Холост.

8. Щелкните на кнопке ОК.

На рабочем листе, представленном на рис. 14.9, в ячейке D25 определен рас­ крывающийся список допустимых значений. Этот список содержит два значения, В браке и Холост, которые соответствуют именам двух только что созданных диа­ пазонов ячеек. Значение в ячейке D25 будет использоваться для определения, в ка­ кой из двух таблиц следует искать данные, необходимые для проведения расче­ тов. Именно поэтому значения в списке допустимых значений и имена диапазонов должны быть идентичными.

Глава 14. Использование формул для поиска и извлечения данных

383

Рис. 14.9. Исчисление взимаемого подоходного налога с использованием двух таблиц

Рис. 14.10. Диалоговое окно Создание имени

Измененная соответствующим образом формула исчисления взимаемого подо­ ходного налога будет выглядеть так: =ВПР(D29/ДВССЫЛ(D25)/3/ИСТИНА) + (D2 9-ВПР(D2 9;ДВССЫЛ(D25)/1/ИСТИНА))* ВПР(D29/ДВССЫЛ(D25)/4,-ИСТИНА)

384

Часть II. Формулы и функции

Как видите, формула в этом примере очень похожа на ту, которая показана на рис. 14.7. Единственное различие состоит в том, что вместо конкретного указания диапазона ячеек просматриваемой таблицы здесь используется функция двссыл. Первый аргумент функции ДВССЫЛ является обязательным: это должно быть тек­ стовое представление ссылки на ячейку или диапазон ячеек. На рис. 14.9 в ячей­ ке D25 содержится текстовое значение Холост. Задача функция двссыл — преоб­ разовать это значение в ссылку на ячейку или диапазон. Если значение первого аргумента функции изначально не является корректной ссылкой на диапазон ячеек (в нашем случае это именно так), функция ДВССЫЛ в попытке найти соответствие проверяет список определенных в рабочей книге или на рабочем листе имен диа­ пазонов. Если бы мы не создали предварительно именованный диапазон Холост, функция двссыл вернула бы ошибку # ссылка 1. У функции двссыл есть и второй, необязательный аргумент, — он называется al. Этот аргумент должен иметь значение ИСТИНА, если первый аргумент интер­ претируется как ссылка в стиле А1, либо должен иметь значение ложь, если первый аргумент интерпретируется как ссылка в стиле R1C1. Для именованных диапазонов безразлично, какое значение имеет второй аргумент, истина или ложь, функция двссыл в любом случае вернет корректную ссылку на диапазон.

Внимание!

Функция двссыл позволяет также вернуть ссылку на диапазон на другом рабочем листе или даже в другой рабочей книге. Однако, если на рабочем листе используется ссылка на другую рабочую книгу, эта другая книга должна быть открыта. Запомните, если имеют место ссылки на другую рабочую книгу, эта книга должна быть открыта. Функция двссыл не работает с закрытыми рабочими ннигами.

Поиск значений на основании двух критериев Поиск значений на основании двух критериев осуществляется в прямоугольном диапазоне ячеек. Иначе говоря, этот диапазон должен включать более одной строки и одновременно более одного столбца. В обсуждавшихся ранее формулах комби­ нация функции индекс и поискпоз использовалась как альтернатива для других функций поиска значений. Однако на самом деле функции индекс и поискпоз были разработаны именно для работы с прямоугольными диапазонами. На рис. 14.11 представлена таблица с данными о продажах по регионам по го­ дам. Каждая строка содержит сведения по отдельному региону, а каждый столбец — данные по одному году. Пользователю предоставлена возможность указать в соот­ ветствующих полях регион и год, чтобы увидеть значение объема продаж по за­ данному региону за указанный год в поле Продажи. Решить поставленную задачу позволяет следующая формула. =ИНДЕКС(С4:F9;ПОИСКПОЗ(С13;В4:В9;ЛОЖЬ);ПОИСКПОЗ(С14;СЗ:ЕЗ;ЛОЖЬ))

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

Глава 14. Использование формул для поиска и извлечения данных

385

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

Рис. 14.11. Данные о продажах по годам и регионам

Вспомним, что функция поискпоз возвращает позицию искомого значения в списке. На рис. 14.11 выбран регион Север, поэтому первая функция поискпоз возвращает значение 3, так как искомое значение является третьим в списке. В функции индекс это значение определяет номер требуемой строки. В поле Год выбрано значение 2011, поиск которого выполняется в верхней строке таблицы. Поскольку это значение является в ней вторым, вторая функция ПОИСКПОЗ возвра­ щает значение 2. В результате двум первым аргументам функции ИНДЕКС присво­ ены значения 2 и 3, возвращенные двумя функциями поискпоз, и она помещает в ячейку С15 требуемое нам значение.

Поиск по значениям, принимаемым по умолчанию Давайте немного усложним формулу, которая использовалась для поиска инфор­ мации о продажах. Изменим ее так, чтобы пользователь мог указать только регион, только год или вообще ничего не указывать. Если один из аргументов поиска опу­ щен, будем полагать, что пользователя интересует общий итог по всем значениям, соответствующим введенному аргументу. Если пользователь не введет ни одного аргумента, формула предоставит общий итог по всей таблице. =ИНДЕКС(С4:G10;ЕСЛИОШИБКА(ПОИСКПОЗ(С13;В4:В10;ЛОЖЬ);СЧЁТЗ(В4:В10)); ЕСЛИОШИБКА(ПОИСКПОЗ(С14;СЗ:G3;ЛОЖЬ);СЧЁТЗ(СЗ:G3)))

Общая структура формулы остается той же самой, но несколько деталей потребо­ валось изменить. Диапазон ячеек, который указан в функции ИНДЕКС, теперь вклю­ чает строку 10 и столбец G. Диапазон поиска в каждой функции ПОИСКПОЗ также расширен аналогичным образом. Наконец, обе функции ПОИСКПОЗ теперь вложены в функцию ЕСЛИОШИБКА, которая и возвращает позицию итоговой строки или ито­ гового столбца.

386

Часть II. Формулы и функции

Альтернативное возвращаемое значение для функции еслиошибка предо­ ставляет вложенная в нее функция счётз. Функция СЧЁТЗ осуществляет подсчет ячеек, содержащих любые значения (т.е. не пустых), в том числе числовые и тек­ стовые. В результате она возвращает позицию последней строки или последнего столбца в заданном диапазоне. Конечно, можно было бы просто жестко закодиро­ вать номер итоговой строки или итогового столбца непосредственно в формуле, но тогда в случае вставки в анализируемый диапазон новой строки или столбца потребуется вручную откорректировать эти значения в функциях СЧЁТЗ, увели­ чив их на единицу. На рис. 4.12 представлена та же самая таблица, что и в предыдущем примере, но в этом случае пользователь при вводе своего запроса оставил пустым поле Год. Поскольку в столбце заголовков нет пустых значений, функция ПОИСКПОЗ вер­ нет сообщение об ошибке #н/д. Обнаружив это сообщение, функция ЕСЛИОШИБКА вернет значение своего второго аргумента (т.е. то, которое возвратит ей функция СЧЁТЗ), а значит, функции индекс будет передан номер последнего итогового столбца таблицы.

Рис. 14.12. Включение итоговых значений в информацию о продажах по годам и регионам

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

Глава 14. Использование формул для поиска и извлечения данных

387

указать два значения, поскольку в строках данных конкретное значение как регио­ на, так и подразделения может встречаться по нескольку раз. Для решения поставленной задачи можно воспользоваться функцией суммпроизв, которая позволяет получить доступ к строке, в которой будут содержаться оба иско­ мых значения. Соответствующая формула будет выглядеть так, как показано ниже. =СУММПРОИЗВ(($В$3:$В$45=Н5)*($С$3:$С$45=Н6)*($Е$3:$Е$45))

Рис. 14.13. Таблица с данными о бюджетах подразделений

При выполнении функции СУММПРОИЗВ сначала в первых двух элементах вы­ ражения, представляющего ее аргумент, значение каждой ячейки в заданном диа­ пазоне сравнивается с искомыми значениями, в результате чего в каждом случае формируется массив из значений ИСТИНА и ложь, выбираемых в зависимости от ре­ зультатов каждого сравнения. Далее эти массивы перемножаются, при этом значе­ ния истина воспринимаются как 1, а ЛОЖЬ — как 0. Третий элемент, также заклю­ ченный в скобки, не содержит оператора сравнения, поскольку это просто тот са­ мый исходный диапазон, содержащий значения, которые функция должна вернуть. Если в результирующем массиве сравнения либо со значением в поле Регион, либо со значением в поле Подразделение в соответствующей позиции находится значение ложь, конечный результат для этой строки будет иметь значение 0. И это понятно: логическое значение ЛОЖЬ эквивалентно нулевому цифровому значению, а результат умножения любого числа на нуль всегда равен нулю. Если в опреде­ ленной строке будет обнаружено соответствие как для значения в поле Регион, так и для значения в поле Подразделение, результатом в каждом случае будет логиче­ ское значение ИСТИНА, которому соответствует единичное числовое значение. Эти две единицы перемножаются между собой, а затем на значение в соответствующей

388

Часть II. Формулы и функции

строке столбца Е, и полученный результат (очевидно, равный значению ячейки из столбца Е) возвращается в формулу. В примере, представленном на рис. 14.13, для строки 12 функция суммпроизв перемножает значения 1*1*1697 697. Вычисленное значение суммируется со зна­ чениями для всех остальных строк. Однако, поскольку все эти значения равны нулю, так как в каждой из строк есть хотя бы одно значение ложь, возвращаемое в поле Бюджет значение также будет равно 1697 697.

Возвращение текстового значения при использовании функции суммпроизв Предложенный выше способ использования функции суммпроизв будет ра­ ботать только в том случае, если предполагается извлечение числового значения. Если использовать тот же прием для извлечения текстового значения, то при выпол­ нении функции все текстовые значения будут восприняты как нулевые значения, а это означает, что функция СУММПРОИЗВ всегда будет возвращать нули. Однако существует возможность совместного использования функции суммпроизв и пары функций индекс и строка таким образом, который обеспечит корректное возвращение текстовых значений. Например, если в предыдущем примере вместо бюджета потребуется возвратить имя менеджера, то для решения этой задачи можно воспользоваться следующей формулой. =ИНДЕКС(D:D;СУММПРОИЗВ(($В$3:$В$45=Н5)*($С$3:$С$45=Н6)* (СТРОКА($Е$3:$Е$45)));1)

Вместо того, чтобы в третьем элементе выражения просто выбрать значение из ячейки в столбце, здесь используется функция строка, — чтобы вернуть но­ мер строки в массиве. Теперь функция СУММПРОИЗВ вычисляет выражение 1*1*12 и получает значение 12. Далее это значение 12 используется как аргумент, зада­ ющий номер строки в функции индекс вместо того, чтобы возвращать обобщен­ ное значение из столбца D:D. Так как функция СТРОКА возвращает номер строки на рабочем листе, а не в исходной таблице данных, этот результат передается в функцию индекс, которая использует в качестве анализируемого диапазона весь столбец D:D.

Поиск последнего значения в столбце На рис. 14.14 представлен неотсортированный список накладных. Наша за­ дача — выбрать данные по последней накладной в этом списке. Самый простой способ отыскать последний элемент в столбце — это использовать функцию ИНДЕКС, на вход которой передать подсчитанное количество элементов в спи­ ске, что и позволит определить его последнюю строку. Ниже приведена соот­ ветствующая формула. =ИНДЕКС(В:В;СЧЁТЗ(В:В)+1)

Функция ИНДЕКС при использовании для поиска в одном столбце требует за­ дания только одного аргумента, определяющего строку. В третьем аргумен­ те, задающем номер столбца, в этом случае нет необходимости. Функция СЧЁТЗ

Глава 14. Использование формул для поиска и извлечения данных

389

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

Рис. 14.14. Список накладных

Внимание!

Функция счётз подсчитывает ячейки, содержащие числовые значения, текст, даты и вообще все что угодно, за исключением пустых ячеек. Если в данных присутствуют пустые строки (на­ пример, в качестве разделителей), функция счётз вернет не то значение, которое требуется для работы приведенной выше формулы.

Поиск последнего значения с помощью функции просмотр Функции ИНДЕКС и СЧЁТЗ прекрасно справляются с поиском последней строки, но только если в данных нет пустых строк. Если в данных присутствуют пустые строки, а извлекаемые значения являются числовыми, для решения задачи можно воспользоваться функцией ПРОСМОТР и очень большим числовым значением. На рис 14.14 в ячейке G5 содержится следующая формула, построенная с использова­ нием указанного метода. =ПРОСМОТР(9,99E+307;D:D)

Заданное искомое значение является максимально большим числом, с которым программа Excel может работать (это примерно чуть меньше чем единица с по­ следующими 308 десятичными нулями). Поскольку функция ПРОСМОТР никогда не сможет найти значение, превосходящее заданное, она остановится на последнем значении, которое сможет обнаружить в диапазоне, а затем передаст его как воз­ вращаемое значение.

390

Часть II. Формулы и функции

————————————————————————————————————————————- Совет Числа, подобные 9.99Е+307, представлены в экспоненциальной нотации. Числовое зна­ чение до буквы Е имеет одну цифру слева от десятичной запятой и две справа. Числовое значение после буквы Е определяет, на какое количество десятичных позиций следует пере­ двинуть десятичную запятую, чтобы представить это число в нормальной десятичной нота­ ции (в нашем случае это 307). Если это число положительное, то запятая сдвигается вправо, а если отрицательное, то влево. Так, запись вида 4.32Е-02 является экспоненциальной нотаi цией числа 0,0432 в обычной десятичной нотации.

Этот метод с использованием функции ПРОСМОТР имеет дополнительное пре­ имущество: всегда возвращается последнее числовое значение, даже если в ячей­ ках анализируемого диапазона есть текст, сообщения об ошибках или пустые ячейки.

Формулы и функции для финансового анализа В ЭТОЙ ГЛАВЕ… Выполнение типовых бизнес-расчетов

Использование финансовых функций Excel

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

Э

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

Рабочая книга с приведенными в этой главе примерами находится в файле Financial Analysis. xlsx на веб-сайте книги (www. wiley. com/go/excel2019bible). Для русскоязычного издания книги файл называется Picl5 01. xlsx.

392

Часть II. Формулы и функции

Расчет валовой прибыли и валовой прибыли в процентах Валовая прибыль представляет собой сумму денег, оставшихся после вычита­ ния из полученной выручки себестоимости реализованной продукции. Это объем поступлений от продаж, который в бизнесе используется для покрытия накладных и других косвенных расходов. Для вычисления валовой прибыли достаточно просто вычесть из общей суммы выручки себестоимость проданных товаров. Для опреде­ ления валовой прибыли в процентах (валовой маржи) достаточно просто поделить валовую прибыль на общий объем выручки. На рис. 15.1 показан отчет о прибылях и убытках (в тысячах рублей) некоторой производственной компании за два года. Размер валовой прибыли представлен в ячейке С5, а валовой прибыли в процентах (или валовой маржи) определяется в ячейке D5. Эти значения вычисляются с по­ мощью следующих простых формул.

Валовая прибыль: =СЗ-С4 Валовая прибыль в процентах: =С5 / $с$ 3

Рис. 15.1. Финансовые показатели производственной компании

В формуле вычисления валовой прибыли содержимое ячейки С4 просто вычита­ ется из содержимого ячейки СЗ. Валовая прибыль в процентах определяется про­ стым делением содержимого ячейки С5 на содержимое ячейки СЗ, но обратите вни­ мание, что ссылка на ячейку СЗ здесь является абсолютной, поскольку в ней присут­ ствуют символы доллара. Такой подход позволяет копировать эту формулу в другие строки отчета, чтобы определить соответствующую прибыль в процентах, — это типичный вариант анализа, выполняемого в подобных документах.

Глава 15. Формулы и функции для финансового анализа

393

Расчет наценки Наценку часто путают с валовой прибылью в процентах, но это различные по­ нятия. Наценка — это процент, добавленный к стоимости, чтобы получить цену ре­ ализации продукции. На рис. 15.2 представлена информация о реализации одного из видов изделий с применением наценки и вычислением валовой прибыли в про­ центах после реализации.

Рис. 15.2. Наценка и валовая прибыль

в процентах для одного вида изделий

Наценка вычисляется как частное от деления отпускной цены на себестоимость изделия, из которого затем вычитается единица. =(СЗ/С2)-1

Если установить наценку равной 32%, то валовая прибыль в процентах соста­ вит 24%. Если же вы хотите установить наценку на изделие такой, чтобы получить валовую прибыль на продукт на уровне 32% (как показано в столбце Е на рис. 15.2), то для вычисления размера наценки следует воспользоваться следующей формулой. = 1 / (1-Е9) -1

В нашем примере использование этой формулы дает для наценки значение 47%, — именно такой она должна быть, чтобы валовая прибыль на это изделие составила 32%.

Расчет дохода до вычета процентов и налогов и расчет прибыли до вычета процентов, налогов, износа и амортизации Расчет дохода до вычета процентов и налогов (Earnings Before Interest and Taxes — EBIT) и расчет прибыли до вычета процентов, налогов, износа и амор­ тизации (Earnings Before Interest, Taxes, Depreciation and Amortization — EBITDA), которую иначе называют доналоговой прибылью, — типичные расчеты для оцен­ ки результатов ведения бизнеса. Оба показателя рассчитываются путем сложения определенных расходов с показателем дохода, известным как чистая прибыль. На рис. 15.3 представлены отчет по доходам и результаты расчета этих финансовых показателей по формулам, приведенным ниже.

394

Часть II. Формулы и функции

EBIT: =С18+ВПР(«Процентные расходы»;$В$2:$С$18;2;ЛОЖЬ)+ ВПР(«Расходы по налогу на прибыль»;$В$2:$С$18;2;ЛОЖЬ)

EBITDA: =С20+ВПР(«Амортизация материальных активов»;$В$2:$С$18;2;ЛОЖЬ) + ВПР(«Амортизация нематериальных активов»;$В$2:$С$18;2;ЛОЖЬ)

Рис. 15.3. Отчет о доходах с вычислением значений EBIT и EBITDA

В формуле вычисления дохода до вычета процентов и налогов (EBIT) складыва­ ется значение в ячейке С18 с результатами выполнения двух функций ВПР, извле­ кающих приведенные в отчете значения выплат по процентным расходам и налогу на прибыль. В формуле вычисления доналоговой прибыли (EBITDA) суммируются результат вычисления предыдущего показателя (EBIT) с еще двумя значениями из отчета, также извлекаемыми с помощью функций ВПР, и представляющими собой суммы отчислений на амортизацию материальных и нематериальных активов. Есть определенный выигрыш в использовании функций ВПР для извлечения тре­ буемых значений об издержках из строк отчета вместо простого указания ссылок на соответствующие ячейки. Если строки этого отчета со сведениями о доходах по­ требуется сместить вверх или вниз, формулы, предназначенные для вычисления по­ казателей EBIT и EBITDA, останутся без изменения.

Подробнее о функции ВПР и ее использовании рассказывается в главе 14, “Использование формул для поиска и извлечения данных”.

Глава 15. Формулы и функции для финансового анализа

395

Расчет себестоимости реализованных товаров Себестоимость реализованной продукции — это полная сумма прямых затрат, понесенных при изготовлении реализованной продукции. Это важнейший компо­ нент при вычислении доходов. Если на предприятии используется система посто­ янно поддерживаемых складских запасов, необходимо вычислять себестоимость реализованной продукции для каждой ее реализованной партии. В более простых случаях этот показатель также можно вычислять, опираясь на физические остатки изделий на складе на конец отчетного периода. На рис 15.4 показано, как вычисляется себестоимость реализованных изделий, если учитывается только стоимость начального и конечного количества изделий на складах, а также общая стоимость всех запасов, поступивших на склад за период. Стоимость изделий, доступных для продажи: =сумм (СЗ: С4) Стоимость проданных изделий: =с 5 — с 6

Рис. 15.4. Вычисление себестоимости реализованных товаров

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

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

Часть II. Формулы и функции

396

Для вычисления показателя рентабельности активов следует прибыль за период разделить на арифметическое среднее общей стоимости активов компании на на­ чало и на конец периода. На рис. 15.5 приведен простой пример отчета о прибылях и убытках и балансовый отчет, включающий показатель рентабельности активов. Он вычисляется с помощью формулы, приведенной ниже. =G15/CP3HA4(С12:D12)

Рис 15.5. Вычисление рентабельности активов

В этой формуле делимое — это просто значение чистой прибыли, взятое из от­ чета о прибылях и убытках. В делителе функции СРЗНАЧ используется для вычис­ ления среднего значения стоимости активов за период.

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

Глава 15. Формулы и функции для финансового анализа

397

за период. Формула, вычисляющая значение этого показателя на рис. 15.5, имеет следующий вид. =G15/CP3HA4(С25:D25)

Вычисление точки безубыточности В бизнесе может оказаться важным определить, каким должна быть выручка, чтобы чистая прибыль оказалась в точности нулевой. Такая ситуация в бизнесе на­ зывается точкой безубыточности. Предприятию необходимо оценить постоянные расходы и установить процент каждой статьи своих переменных расходов, и тогда, оперируя этими цифрами, можно будет определить размер выручки, при которой достигается точка безубыточности. На рис. 15.6 представлен пример расчета точки безубыточности. В ячейках столбца С присутствуют либо значения Ф, указывающие на фиксированное значе­ ние в этой строке, либо процентное значение для расходов, размер которых меня­ ется при изменении объема выручки. Например, расходы на исследования и раз­ работки определяются соответствующей статьей бюджета и не зависят от увеличе­ ния или уменьшения торговой выручки. И наоборот, если условия ведения бизнеса включают выплату комиссионных, торговые издержки будут увеличиваться или уменьшаться в соответствии с изменением выручки.

Рис. 15.6. Вычисление точки безубыточноности В примере на рис. 15.6 используются следующие формулы. Операционная прибыль: =СУММ (D15: D18)

Прибыль за вычетом переменных расходов: =СУММ (D10: D13)

398

Часть II. Формулы и функции

Валовая прибыль: =СУММ (D7: D8) Выручка: =ОКРУГЛ(D8/(1-СУММ(С4:С7));0)

Присутствующие на рис. 15.6 две меняющие свое значение статьи расходов, се­ бестоимость реализованной продукции и торговые издержки, вычисляются пере­ множением выручки на заданные процентные значения. В примере на рис. 15.6 со­ ответствующие формулы расчета выглядят следующим образом. Себестоимость реализованной продукции: =округл (D3*C4; 0) Торговые издержки: =округл (D3*С7; 0) Чтобы построить модель расчетов для определения точки безубыточности, пред­ ставленную на рис. 15.6, выполните следующее.

1. Введите в ячейку D18 значение 0, которое будет задавать нулевой уровень чистой прибыли. 2. В тех строках, где в ячейках столбца С присутствует индикатор фикси­ рованной суммы Ф, введите в ячейки столбца D значения фиксирован­ ных расходов по соответствующим статьям, названия которых указаны в столбце В. 3. Введите процент торговых издержек компании в ячейку С7 (в нашем примере это 8%). 4. В ячейку С4 введите процентное значение, равное 100% минус ожидае­ мый процент валовой прибыли. В нашем примере компания ожидает вало­ вую прибыль на уровне 60%, поэтому в ячейку С4 было введено значение 40%.

5. В ячейку D13 введите приведенную выше формулу расчета операцион­ ной прибыли. Операционная прибыль должна представлять собой сумму процентных расходов и прочих доходов и расходов. Как видно на рис. 5.6, если оценить процентные расходы в 465 тыс. руб., а сумму прочих доходов и расходов — на уровне 1 млн. 368 тыс. руб., то, чтобы чистая прибыль была равна нулю, операционная прибыль должна составить 1 млн. 833 тыс. руб. 6. В ячейку D8 введите приведенную выше формулу расчета прибыли за вычетом переменных расходов. Это значение вычисляется как сумма опе­ рационной прибыли и фиксированных операционных расходов. Данная ве­ личина необходима для расчета значения выручки.

7. В ячейку D7 введите приведенную выше формулу расчета торговых из­ держек. На данный момент формула расчета выручки еще не введена в мо­ дель, поэтому в данной ячейке будет отображаться нулевое значение. Но как только требуемая формула будет введена в ячейку СЗ, в ячейке D7 появится корректное значение. 8. В ячейку D4 введите приведенную выше формулу расчета себестоимости реализованной продукции. Как и в случае торговых издержек, если значе­ ние в этой ячейке будет нулевым, то в модели не будет вычислено значение выручки.

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

Глава 15. Формулы и функции для финансового анализа

399

расходов делится на 100% минус сумма процентных значений переменных расходов. В примере на рис. 15.6 сумма двух процентных значений пере­ менных расходов составляет 48% (40% плюс 8%) от выручки. При вычитании этой величины из 100% получим 52%; именно на это число необходимо раз­ делить прибыль за вычетом переменных расходов, чтобы получить искомое значение выручки.

Как можно видеть, в нашем примере, если компания обеспечит валовую прибыль на уровне 60%, выплатит 8% в качестве комиссионных и обеспечит точное соблю­ дение расходов по фиксированным выплатам на уровне указанных оценок, то ей необходима выручка на уровне 16 млн. 935 тыс. руб., чтобы покрыть все расходы и достичь точки безубыточности.

Расчет оттока клиентов Отток клиентов является показателем того, сколько клиентов было потеряно за определенный период времени. Это важный показатель в бизнесе, работающем по принципу абонентской подписки, т.е. когда клиент должен регулярно вносить определенную плату за доступ к продукту или услуге. Тем не менее он применим и в других моделях получения доходов. Если показатель притока клиентов (темп увеличения количества клиентов) компании выше, чем показатель их оттока, то клиентская база компании растет. Если же нет, то компания теряет клиентов бы­ стрее, чем может добавить новых, а значит, что-то в ее работе следует изменить. На рис. 15.7 приведен пример вычисления показателя оттока клиентов для ком­ пании, получающей доход за счет регулярных ежемесячных платежей. Для вы­ полнения расчетов необходимо знать число клиентов на начало и на конец месяца, а также количество новых клиентов, заключивших с компанией договоры в этом месяце. На этом рабочем листе используются следующие формулы. Потеряно клиентов: =С2+С3-С4 Показатель оттока клиентов: =С6/С2

Рис. 15.7. Вычисление показателя оттока клиентов

Для определения количества клиентов, потерянных компанией на протяжении месяца, число новых клиентов суммируется с числом клиентов на начало месяца, после чего из полученной суммы вычитается количество клиентов компании на ко­ нец месяца. Для вычисления показателя оттока клиентов количество клиентов,

Часть II. Формулы и функции

400

потерянных компанией за месяц, делится на количество клиентов компании на на­ чало месяца. В нашем примере показатель оттока клиентов для компании равен 9,21%, и это означает, что в компании за месяц новых клиентов появилось больше, чем ее по­ кинуло. Таким образом, данное значение показателя свидетельствует об отсутствии проблем с оттоком клиентов в компании. Однако, если показатель оттока клиентов будет выше, чем ожидалось, компания может провести исследование, чем вызван такой уровень потери клиентов, и в соответствии с полученной информацией из­ менить свою ценовую политику, расширить функциональные возможности предла­ гаемых продуктов или обратить внимание на другие аспекты своего бизнеса.

Вычисление годового показателя опока Если бизнес построен на предоставлении лицензии на месяц, это означает, что клиенты должны ежемесячно возобновлять подписку и оплачивать свой абонемент. Для таких компаний ежемесячно рассчитывать показатель оттока клиентов вполне логично и целесообразно. Любые новые клиенты, обратившиеся в компанию на про­ тяжении месяца, не покинут ее в этом же месяце, поскольку они его уже оплатили. Однако в обычных журналах подписка оформляется чаще всего сразу на весь год. В таких случаях более правильным подходом будет вычисление показателя от­ тока клиентов за год в целом. Если компания заинтересована в вычислении пока­ зателя оттока клиентов за период, больший чем установлен для получения ее дохо­ да, например вычисление годового оттока клиентов для компании с ежемесячным возобновлением подписки, формула расчетов показателя несколько изменится. На рис. 15.8 приведен пример расчета показателя оттока клиентов за год. Для выпол­ нения расчетов на этом рабочем листе используется следующая формула. Показатель опока клиентов за год: =С 6/СРЗНАЧ (С2; с4)

Рис. 15.8. Определение показателя опока клиентов за год для компании с месячным периодом получения доходов

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

Глава 15. Формулы и функции для финансового анализа

401

Расчет пожизненной ценности клиента Пожизненная ценность клиента — это показатель, характеризующий валовую прибыль, принесенную одним клиентом за все время его сотрудничества с компанией. Показатель оттока клиентов, пример вычисления которого был приведен на рис. 15.7, является одним из компонентов расчета пожизненной ценности клиента. На рис. 15.9 представлен пример вычисления показателя пожизненной ценно­ сти клиента с использованием показателя оттока клиентов, вычисленного ранее. На первом этапе вычисляется средняя валовая прибыль в расчете на одного клиента с использованием формул, приведенных ниже. Валовая прибыль: =F2-F3

Средняя прибыль на одного клиента: =F4 /СРЗНАЧ (С4; С2) Пожизненная ценность клиента: = F6/C7

Рис. 15.9. Вычисление пожизненной ценности клиента

Чтобы вычислить показатель пожизненной ценности клиента, выполните сле­ дующее. 1. Вычислите значение валовой прибыли.

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

3. Вычислите значение показателя пожизненной ценности клиента, разде­ лив среднюю прибыль на клиента на показатель оттока клиентов. В нашем примере каждый клиент за время своего сотрудничества с компанией приносит ей 828,97 тыс. руб.

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

402

Часть II. Формулы и функции

условий работы или оплаты труда ниже среднего уровня). Увольнения обычно про­ исходят как по собственному желанию работника, так и вследствие иных причин, независимо от его пожеланий. На рис. 15.10 представлены сведения об изменениях в количестве работников ор­ ганизации за период в 12 месяцев. Чтобы определить количество работников на ко­ нец месяца, к числу работников на начало месяца добавляется количество вновь при­ нятых, а затем из этой суммы вычитается количество уволенных за данный месяц работников. Для остальных вычислений используются следующие формулы. Среднемесячное количество работников: =срзнач (F3:F14) Всего уволено: =СУММ(ЕЗ:Е14) Текучесть кадров: = F17 / F16

Рис. 15.10. Количество работников по месяцам за один год

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

Глава 15. Формулы и функции для финансового анализа

403

Использование финансовых функций Excel Можно с уверенностью утверждать, что Excel чаще всего используется для вы­ полнения расчетов, так или иначе связанных с денежными суммами. Каждый день люди принимают сотни тысяч финансовых решений, основываясь на результатах, полученных с помощью тех или иных расчетов, выполненных с помощью электрон­ ных таблиц. Эти решения охватывают широкий диапазон от самых простых («Могу ли я позволить себе купить новую машину?») до самых сложных («Приведет ли по­ купка корпорации XYZ к положительному денежному потоку в ближайшие 18 ме­ сяцев?»). В этом разделе рассматриваются основные финансовые расчеты, которые можно выполнить с помощью Excel.

Преобразование процентных ставок Два распространенных средства котировки процентных ставок — это номиналь­ ная ставка и эффективная ставка. Номинальная ставка. Это заявленная ставка, и она обычно сочетается с перио­ дом начисления процентов, например 3,75% годовых, начисляемых ежемесячно. В этом примере 3,75% — это номинальная ставка, применяемая на годовой осно­ ве, а один месяц — период начисления процентов.

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

На рис. 15.11 представлены данные за 12 периодов начисления процентов в се­ редине цикла погашения 30-летнего займа. Первоначальный кредит составлял 165 тыс. долларов с номинальной ставкой 3,75% годовых, начисляемых ежемесячно, и требовал 30 ежегодных выплат в размере 9169,68 доллара каждый. В каждый период, когда процент начисляется, но платеж не выполняется, баланс возрастает на сумму процентов. При выполнении платежа некоторая его часть идет на погашение процентов последнего месяца, а остаток используется для уменьше­ ния тела кредита (остатка основного займа). В ячейке F17 суммируются все начисленные проценты за год, а в ячейке F18 эта сумма делится на начальное значение баланса для определения значения эффек­ тивной процентной ставки. К счастью, в Excel не требуется создавать полный гра­ фик погашения ссуды для преобразования процентных ставок. Программа предо­ ставляет в распоряжение пользователя функции рабочего листа эффект и номинал, предназначенные для выполнения этих преобразований. Формулы, выполняющие соответствующие расчеты, выглядят так, как показано ниже. Эффективная ставка: =эффект (F2 0; 12)

Номинальная ставка: =номинал (F2 3; 12)

404

Часть II. Формулы и функции

Рис. 15.11. Часть графика погашения ссуды

для вычисления эффективной ставки Обе функции, ЭФФЕКТ и НОМИНАЛ, принимают два аргумента: процентную ставку, которая должна быть преобразована, и количество периодов. Первый аргумент за­ дает преобразуемую ставку: эффективную для функции номинал и номинальную для функции ЭФФЕКТ. Второй аргумент определяет количество периодов начис­ ления процентов в номинальном периоде ставки. В нашем примере номинальная ставка является годовой, поэтому в нее входит 12 периодов начисления процентов, по одному на каждый месяц года. Если же например, предоставить ссуду с годовой номинальной ставкой, но ежедневным начислением процентов, то второй аргумент в этом случае должен быть равен 365.

Вычисление эффективной ставки с помощью функции бс Эффективная ставка также может быть рассчитана с использованием функ­ ции БС. Хотя при наличии в программе такого удобного инструмента, как функция ЭФФЕКТ, может и не быть особой необходимости обращаться к функции БС, тем не менее обсуждение такой возможности может быть полезно с точки зрения понима­ ния внутренней взаимосвязи, существующей между функциями ЭФФЕКТ и БС. Итак, для вычисления эффективной ставки можно также воспользоваться следующей формулой. =БС(3,75%/12;12;0;-1)-1

Глава 15. Формулы и функции для финансового анализа

405

Эта формула вычисляет будущее значение займа в 1 доллар при ставке 3,75% го­ довых, начисляемых ежемесячно в течение года, а затем вычитает из этого значения исходный заем в 1 доллар. Если взять такой заем, то через год для его погашения придется выплатить 1,03815 доллара. А это означает, что к исходной сумме займа придется добавить проценты в размере 0,03815 доллара, что дает эффективную ставку в размере 3,815%.

Калькулятор выплаты кредита В программе Excel функция рабочего листа ПЛТ может использоваться для опре­ деления суммы денег, которая должна ежемесячно выплачиваться для погашения ссуды. В качестве аргументов этой функции можно жестко указать такие величины, как общая сумма займа и номинальная процентная ставка, но гораздо удобнее вве­ сти эти значения в определенные ячейки, адреса которых будут переданы функции в качестве аргументов. В результате вы получите удобный инструмент, позволяю­ щий изменять любые исходные значения и наблюдать, как при этом будут меняться размеры соответствующих выплат. На рис. 15.12 представлен пример простого калькулятора выплаты кредита. Пользователь вводит значения в ячейки С2:С4, а вычисленный размер ежемесячной выплаты выводится в ячейку С6, в которой находится приведенная ниже формула. =ПЛТ(СЗ/12;С4*12;С2;0;0)

Рис. 15.12. Простой калькулятор выплаты кредита Функция ПЛТ имеет три обязательных аргумента и два необязательных, кратко описываемых ниже.

Ставка (обязательный). В этом аргументе функции передается годовая но­ минальная процентная ставка, деленная на установленное количество перио­ дов начисления процентов в году. В нашем примере в ячейке СЗ указывается годовая номинальная ставка, а выплата процентов осуществляется ежемесяч­ но, поэтому в качестве первого аргумента используется значение в ячейке СЗ, деленное на 12. Кпер (обязательный). Второй аргумент определяет общее количество плате­ жей, которое потребуется сделать до полного погашения займа. Поскольку в на­ шем примере известно количество лет, отведенное на погашение кредита, а в

406

Часть II. Формулы и функции

каждом году потребуется сделать по 12 выплат, для получения общего количе­ ства платежей следует содержимое ячейки С4 умножить на 12. Пс (обязательный). Третий аргумент задает текущую приведенную стоимость, т.е. общую сумму займа, которую предстоит возвратить. В программе Excel при­ нято, что все функции, связанные с расчетом кредитов (к которым относится и функция плт), работают на основе денежных потоков. В этом представлении, когда речь идет о текущем значении займа или выплате, они воспринимаются как входящие или исходящие денежные потоки, — так проще понять, когда зна­ чение должно быть положительным, а когда отрицательным. В нашем примере банк предоставляет заем в размере 215 000, что для его получателя представля­ ется как входящий денежный поток, а следовательно, это значение должно быть положительным. В свою очередь, вычисленное функцией ПЛТ значение ежеме­ сячной выплаты для пользователя является исходящим потоком, а следователь­ но, должно быть представлено как число отрицательное.

Совет Чтобы функция плт возвращала положительное значение, можно представить значение ар­ гумента пс (третьего аргумента) как число отрицательное. Это все равно что смотреть на про­ цесс выдачи ссуды и ее погашения со стороны не получателя, а банка: заем будет представ^лен исходящим потоком, а платежи заемщика — входящим.

Внимание!

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

Запомните: программа Excel в действительности не знает, с какой периодичностью представ­ лены данные — в днях, месяцах или годах. Она опирается в расчетах лишь на единственное предположение: размер процентной ставки и количество расчетных периодов представлены с соблюдением одной и той же периодичности.

Глава 15. Формулы и функции для финансового анализа

407

Создание графика погашения кредита Вычислив размер платежа, можно создать график погашения кредита, в котором будет показано, какая часть каждого платежа идет на погашение тела кредита (ос­ новного займа), а какая — на выплату процентов и каким будет остаток основного займа после каждого платежа. На рис. 15.13 показана часть такого графика для на­ шего примера.

Рис. 15.13. Часть графика погашения кредита

Ниже подробно описывается содержимое отдельных столбцов этого графика по­ гашения кредита. Номер платежа. Порядковый номер выполняемого платежа. Значение 1 введе­ но в ячейку D11. В ячейку D12 введена формула =D11+1, которая затем скопи­ рована во все расположенные ниже ячейки, вплоть до ячейки D370 (весь график погашения кредита включает 360 платежей). Размер платежа. В ячейках этого столбца содержится результат, вычисленный функцией пят и округленный до двух десятичных знаков после запятой. Хотя про­ грамма Excel может проводить вычисления с очень большим количеством дробных разрядов, чек может быть выписан только на доллары и центы, рубли и копейки и т. д. Фактически это означает, что в конце выплаты ссуды возможен небольшой остаток из-за ошибок округления. В ячейку Е11 была введена формула =-ОКРУГЛ ($ С $ 6; 2), которая затем была скопирована в ячейки ниже вплоть до Е370.

408

Часть II. Формулы и функции

Погашение кредита. Сумма из каждого платежа, которая была направлена на погашение остатка общей суммы займа. В ячейку F11 была введена формула =Е11G11, которая затем была скопирована вниз до ячейки F370. Процент. Сумма из каждого платежа, которая была направлена на выплату про­ центов. Для ее вычисления баланс после предыдущего платежа умножается на про­ центную ставку, деленную на 12. Результат округляется до двух десятичных знаков после запятой. В ячейку G11 была введена формула =округл (Н10*$с$3/12;2), которая затем была скопирована вниз до ячейки G370.

Баланс. Остаток от общей суммы займа после данной выплаты. В ячейку НЮ была введена формула =С2, возвращающая исходное значение суммы предостав­ ленного кредита. Далее, в ячейку Н11, была введена формула =Н10-F11, скопи­ рованная вниз вплоть до ячейки Н370. Эта формула уменьшает остаток общей суммы кредита на сумму, указанную в столбце F этой строки. В примере, представленном на рис. 15.13, срок погашения кредита был установлен равным 15 годам, тогда как на рис. 15.12 он был равен 30 годам. Как видите, сокра­ щение срока выплаты кредита привело к увеличению размера ежемесячных выплат. Последним этапом в нашей работе будет сокрытие тех строк рабочего листа, которые окажутся ниже последней строки графика погашения кредита. Эта задача решается с использованием методов условного форматирования; для сокрытия со­ держимого лишних ячеек достаточно будет изменить для них цвет шрифта на бе­ лый. Белый шрифт на белом фоне ячеек будет абсолютно невидим, что позволит полностью скрыть ненужные данные. Требуемая формула условного форматирова­ ния представлена ниже, а ее определение на рабочем листе показано на рис. 15.14. (Эта формула применена ко всем ячейкам диапазона D12:Н370.) =$D12>$C$4*12

Рис. 15.14. Создание правила условного

форматирования строк рабочего листа В этой формуле значение номера выплаты в ячейке столбца D строки сравнива­ ется с общим количеством выплат, определяемым как произведение срока выплаты

Глава 15. Формулы и функции для финансового анализа

409

кредита в годах, сохраняемого в ячейке С4, на 12. Как только номер платежа превы­ сит это вычисленное значение, формула вернет значение ИСТИНА, и к содержимому ячейки будет применено форматирование белым цветом шрифта. Если номер пла­ тежа меньше или равен общему числу выплат, данное правило условного формати­ рования к ячейке не применяется.

Подробнее об условном форматировании говорится в главе 5, “Форматирование рабочих листов”.

Создание графика погашения ссуды с переменной ставкой На рис. 15.13 был представлен график погашения ссуды с фиксированной про­ центной ставкой. Однако существуют и такие кредиты, когда процентная ставка мо­ жет меняться по ходу погашения займа. Часто в таких кредитах используется про­ центная ставка, размер которой связан с некоторым публикуемым индексом, таким, например, как Лондонская межбанковская ставка предложения (London Interbank Offered Rate — LIBOR). К значению этого индекса может также добавляться некото­ рый фиксированный процент, и тогда подобная процентная ставка будет обозначе­ на, например, как «LIBOR плюс 3%». На рис. 15.15 представлен график погашения займа с переменной процентной ставкой. Здесь к использованному ранее формату графика погашения ссуды был добавлен столбец Ставка, что совершенно необходимо, когда размер процентной ставки меняется. Отдельная табличка предназначена для записи сведений о том, как и когда менялась используемая процентная ставка.

Рис. 15.15. График погашения ссуды с переменной процентной ставкой

Часть II. Формулы и функции

410

В ячейке G11 столбца Ставка содержится приведенная ниже формула, предна­ значенная для выбора правильного значения процентной ставки из вспомогатель­ ной таблицы. (Эта формула была скопирована вниз вплоть до ячейки G370). =ВПР(D11;$K$11:$L$23;2;ИСТИНА)

В столбце Процент копируемая формула была соответствующим образом изме­ нена, чтобы использовать значение из столбца G данной строки вместо значения в ячейке СЗ. =ОКРУГЛ(I1O*G11/12;2)

В столбце Ставка используется функция впр, четвертый аргумент которой име­ ет значение ИСТИНА. Когда четвертый аргумент этой функции имеет значение ИСТИНА, необходимо, чтобы таблица, в которой выполняется поиск, была отсорти­ рована в порядке возрастания значений анализируемого столбца. В нашем примере функция ВПР анализирует в дополнительной таблице ставок столбец с номерами платежа. В данной формуле не требуется точное совпадение, и функция возвратит номер строки, в которой номер платежа превышает искомое значение. Например, если искомое значение равно 16, функция впр возвращает вторую строку таблицы ставок, поскольку в следующей ее строке значение номера платежа равно 98, а это больше, чем искомое значение. Подробнее об использовании функции впр читайте в главе 14, “Использование формул для поиска и извлечения данных». Формула в столбце Процент аналогична той, которая использовалась в приме­ ре, представленном на рис. 15.13, — за исключением того, что абсолютная ссылка на ячейку $С$3 заменена в ней относительной ссылкой на ячейку данной строки в столбце G (т.е. G11 для формулы в строке 11).

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

1. В ячейку D11 введите дату первого платежа.

2. В ячейку D12 введите следующую формулу и скопируйте ее вниз во все ячейки вплоть до D370. =ДАТА(ГОД(Dl1);МЕСЯЦ(DI1)+1;ДЕНЬ(D11))

3. В дополнительной табличке процентных ставок в столбце № платежа за­ мените номера платежей датами, в которых значение процентной ставки было изменено.

Глава 15. Формулы и функции для финансового анализа

411

4. Замените существующую формулу условного форматирования ячеек гр а фика погашения ссуды следующей. =$М2>=ДАТА(Г0Д($0$11);МЕСЯЦ($D$11) + ($С$4* 12);ДЕНЬ($D$11) )

Рис. 15.16. Графин погашения ссуды с указанием дат, а не номеров платежей

Расчет амортизации основных средств Программа Excel включает пять функций рабочего листа, позволяющих рассчи­ тать амортизацию активов за время их эксплуатации, включая пуо, ФУО, ДДОБ, апл и АСЧ. В этом разделе будут рассмотрены функции расчета амортизации линейным методом (АПЛ) и методом уменьшаемого остатка (ПУО). На

заметку

Амортизация для первого года и последнего года срока эксплуатации актива обычно рассчи­ тывается иначе, чем для всех остальных лет между этими годами. Существует соглашение, что амортизация за полный год не применяется к первому году эксплуатации. Общепринятыми вариантами являются полугодие, середина месяца и середина квартала. Для полугодового варианта предполагается, что актив был введен в эксплуатацию в середине года, и, следо­ вательно, для этого года записывается только половина суммы амортизации, вычисленной ^для полного года.________________________________________________________________________________________________ На рис. 15.17 показан расчет амортизации для пяти активов, построенный с ис­ пользованием линейного метода и полугодового соглашения.

412

Часть II. Формулы и функции

Рис. 15.17. Расчет амортизации с использованием линейного метода

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

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

Введен в эксплуатацию. Год, когда актив был введен в эксплуатацию. Это зна­ чение может отличаться от года, когда были проведены выплаты на приобрете­ ние актива. Эта дата считается начальной для расчета амортизации актива. Срок эксплуатации. Количество лет, которое актив по оценкам будет находить­ ся в эксплуатации.

Формула, помещенная в ячейки диапазона F3.N7, выглядит следующим образом. =ЕСЛИ(ИЛИ(ГОД(F$2)$D3+$E3);0;АПЛ($СЗ;0;$ЕЗ))‘ ЕСЛИ(ИЛИ(ГОД(F$2)=$D3 + $E3;ГОД(F$2)=$D3);0,5;1)

Основные расчеты в этой формуле выполняет функция АПЛ($СЗ,0,$ЕЗ). Функция рабочего листа АПЛ вычисляет сумму амортизации актива за один период по линейному методу. Она принимает три аргумента: начальную стоимость актива, остаточную стоимость и период его эксплуатации. Для упрощения в этом приме­ ре остаточная стоимость актива (или его ликвидационная стоимость) принимается равной нулю. Это означает, что начальная стоимость актива будет полностью спи­ сана к концу срока его эксплуатации. Функция АПЛ довольно проста, но формула содержит еще немало других компо­ нентов. Первая функция ЕСЛИ определяет, попадает ли данный столбец в установ­ ленный период эксплуатации актива. Если год в дате, находящейся в ячейке F2, мень­ ше, чем год ввода актива в эксплуатацию, то актив еще не используется и амортизация для него равна нулю. Если год в ячейке F2 больше, чем год ввода актива в эксплуата­ цию, плюс срок его службы, амортизация этого актива уже закончилась и начисляе­ мая сумма амортизации также равна нулю. Оба эти условия вложены в функцию ИЛИ,

Глава 15. Формулы и функции для финансового анализа

413

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

Дополнительные примеры использования функций ЕСЛИ с вложенными функция­ ми или можно найти в главе 13, «Формулы с проверкой условий”.

Вторая часть формулы также содержит функцию ЕСЛИ с вложенной в нее функцией ИЛИ. Однако здесь эти инструменты проверки условий предназначены для определения, является ли год в дате, помещенной в ячейку F2, первым или по­ следним годом в периоде эксплуатации актива. Если это так, то вычисленный функ­ цией апл результат умножается на 0,5, — таким образом применяется полугодовое соглашение. Все ссылки на ячейки в этой формуле являются смешанными, поэтому формула может быть скопирована и вниз, и вправо от данной ячейки, при этом все ссылки в ней будут автоматически изменены соответствующим образом. Ссылки на строку 2 содержат абсолютный адрес этой строки, поэтому при копировании вниз или впра­ во копии формулы всегда будут указывать на дату в строке 2. Ссылки на столбцы диапазона С:Е также являются абсолютными, поэтому ссылки на значения в столб­ цах Стоимость, Введен в эксплуатацию и Срок эксплуатации также всегда будут кор­ ректными при копировании формулы вниз или вправо.

Подробнее об абсолютных и относительных ссылках говорится в главе 9, «Основы формул и функций Excel”.

Расчет ускоренной амортизации материальных активов Линейный метод расчета амортизации активов предусматривает одинаковый размер амортизации в любой год в пределах его срока эксплуатации. В некоторых организациях используется ускоренный метод расчета, при котором амортизация в начале срока службы актива является самой высокой, а затем постепенно снижа­ ется к концу срока его эксплуатации. Теория выдвигает положение, что актив из­ нашивается быстрее, когда он только что введен в эксплуатацию, в сравнении с по­ следующими годами его эксплуатации. Для расчета амортизации по ускоренному методу программа Excel предостав­ ляет функцию ДДОБ (метод двойного уменьшения остатка). Функция ДДОБ на ос­ новании текущей стоимости актива вычисляет размер амортизации по линейному методу, а затем удваивает его. Проблема с функцией ДДОБ состоит в том, что она не позволяет полностью списать всю начальную стоимость актива за установленный срок его эксплуатации. Сумма амортизации актива с каждым годом становится все меньше и меньше, но установленный срок эксплуатации актива истечет раньше, чем она достигнет нулевого значения. Чаще всего используемым вариантом расчета по методу ускоренной амортизации является применение метода двойного уменьшения остатка в начале срока службы актива, с переключением на использование линейного метода во всех дальнейших расчетах вплоть до истечения срока эксплуатации актива, как только предлагае­ мая по методу двойного уменьшения остатка сумма амортизации окажется меньше

Часть II. Формулы и функции

414

суммы, вычисленной для этой же даты по линейному методу. Вся эта логика реали­ зована в другой предлагаемой Excel функции рабочего листа — ПУО. На рис. 15.18 показан расчет амортизации для тех же исходных данных, что на рис. 15.17, но уже с использованием в расчетной формуле функции ПУО. =ЕСЛИ(ИЛИ(ГОД(F$2)$D3+$E3);0;ПУО($СЗ;0;$ЕЗ*2; ЕСЛИ(ГОД(F$2)=$D3;0;ЕСЛИ(ГОД(F$2)=$D3 + $E3;$ЕЗ*2-1; (ГОД(F$2)-$D3)*2-1));ЕСЛИ(ГОД(F$2)=$D3;1;ЕСЛИ(ГОД(F$2)= $D3+$E3;$ЕЗ*2;(ГОД(F$2)—$D3)*2+1))))

Рис. 15.18. Расчет ускоренной амортизации

Вы, наверное, уже заметили, что эта формула существенно сложнее, чем форму­ ла с использованием функции апл из предыдущего примера. Однако не стоит бес­ покоиться: мы последовательно, фрагмент за фрагментом, обсудим ее работу, так что в конце вы будете иметь ясное представление о том, как эта формула работает. Начальная часть формулы выглядит так: =ЕСЛИ(ИЛИ(ГОД(F$2)$D3+$E3);0;ПУО(…))))

Как видите, эта часть формулы ничем не отличается от предыдущей формулы с ис­ пользованием функции АПЛ. Если дата в строке 2 не попадает в период установ­ ленного срока эксплуатации актива, сумма амортизации равна нулю. Если же она находится в пределах срока его эксплуатации, формула возвращает значение, вы­ численное функцией ПУО: ПУО($СЗ,О,$ЕЗ*2,начали ный_период, конечный период)

Первые три аргумента функции ПУО те же самые, что и у функции АПЛ: начальная стоимость актива, остаточная стоимость и период его эксплуатации. Функция АПЛ возвращает одно и то же значение для любого года в пределах периода эксплуата­ ции, поэтому нет необходимости сообщать ей, какой именно год из этого периода в данном случае обсчитывается. Что касается функции ПУО, то она возвращает раз­ ные значения в зависимости от обсчитываемого года в пределах эксплуатационно­ го периода актива. Поэтому два последних аргумента функции ПУО предназначены для предоставления именно этой информации. Обратите внимание, что период экс­ плуатации актива, сохраняемый в ячейке ЕЗ, при передаче в функцию ПУО удваива­ ется. Зачем это делается, поясняется чуть ниже. А сейчас посмотрим, что же нахо­ дится в формуле под сокращенным обозначением начальный_период.

На чальный—Период: ЕСЛИ(ГОД(F$2)=$D3;0;ЕСЛИ(ГОД(F$2)=$D3+$E3;$ЕЗ*2-1;(ГОД(F$2)-$D3)*2-1))

Глава 15. Формулы и функции для финансового анализа

415

Ни одна из встроенных функций Excel, предназначенных для расчета амортиза­ ции, не принимает во внимание существование соглашений в отношении первого и последнего годов общего срока эксплуатации актива. Иначе говоря, в программе Excel амортизация всегда рассчитывается так, как если бы все без исключения акти­ вы вводились в эксплуатацию в первый день года. Однако такой подход нельзя на­ звать практичным. В нашем примере мы приняли полугодовое соглашение, поэтому в первый и последний годы периода эксплуатации всех активов реальная сумма амортизации принимается равной половине расчетной. Для реализации такого подхода с использованием функции пуо было решено заставить программу Excel полагать, что актив имеет вдвое больший срок эксплуатации. В этом случае для актива с периодом эксплуатации пять лет первый год соот­ ветствует периоду от 0 до 1. Второй год соответствует периоду от 1 до 3. Третий год охватывает периоды от 3 до 5. Так продолжается до последнего, пятого, года, который охватывает периоды от 9 до 10 (10 — это удвоенный реальный период эксплуатации актива, равный пяти годам). Тогда вычисление стартового периода в формуле должно следовать следующим правилам. •

Если год, для которого проводится расчет, является годом ввода ресурса в экс­ плуатацию, стартовый период принимается равным 0.

Если год, для которого проводится расчет, является последним годом эксплуа­ тации ресурса, стартовый период принимается равным удвоенному значению всего срока эксплуатации ресурса минус 1.

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

Часть формулы, обозначенная выше как конечныи_период, подобна только что рассмотренной части, обозначенной как начальный_период. Для первого года пе­ риод окончания равен 1. Для последнего года период окончания равен удвоенно­ му значению срока эксплуатации ресурса. Для всех промежуточных годов периоды вычисления будут теми же самыми за исключением того, что последняя операция будет не вычитанием, а добавлением единицы. В результате за счет удвоения в формуле длины срока эксплуатации — скажем, с 7 до 14 периодов для актива с принятым сроком эксплуатации 7 лет — появляется возможность учесть в ней полугодовое соглашение при выполнении расчетов по ме­ тоду ускоренной амортизации с использованием функций Excel, подобных ПУО.

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

416

Часть II. Формулы и функции

для вычисления текущей стоимости. В своей самой простой форме функция ПС дис­ контирует сумму будущей стоимости согласно ставке дисконтирования, чтобы по­ лучить текущую стоимость. Например, если вам пообещали выплатить через год 10 тыс. руб., какую сумму вы могли бы получить уже сегодня, вместо того чтобы ожидать целый год? На рис. 15.19 показано, как можно вычислить это значение с ис­ пользованием приведенной ниже формулы. =ПС(С4;СЗ;0;-С2)

Рис. 15.19. Вычисление текущей стоимости

Калькулятор текущей стоимости, представленный на рис. 15.19, предлагает вам получить 9434 рубля сегодня, вместо того чтобы получить 10 тыс. ровно через год. Если вы заберете эти 9434 рубля и будете иметь возможность заработать на них 6% на протяжении следующего года, то по его истечении на руках у вас окажутся те же самые 10 тыс. рублей. Функция ПС имеет пять аргументов, подробно описанных ниже. Ставка. Этот аргумент, который иначе называют дисконтной ставкой, опреде­ ляет процент возврата, который, как предполагается, можно получить за весь дисконтный период. При определении текущей стоимости этот фактор самый важный, и при этом его сложнее всего определить. Если вы склонны к консер­ ватизму, выбирайте более низкое значение — такое, в реальной достижимости которого вы абсолютно уверены. Если бы эта сумма предназначалась для по­ гашения кредита с фиксированной ставкой, то определить дисконтную ставку было бы намного проще. Количество периодов. Этот аргумент определяет общий период времени, на ко­ торый дисконтируется будущая стоимость. В приведенном выше примере этот аргумент имел значение «один год», введенное в ячейку СЗ. Ставка и количество периодов должны быть заданы в одних и тех же единицах. Иначе говоря, если указанна годовая ставка, то и количество периодов должно быть задано в годах, а если используется месячная ставка, количество периодов также должно быть задано в месяцах.

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

Глава 15. Формулы и функции для финансового анализа

417

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

Тип. Если этот необязательный аргумент имеет значение 0 или опущен, то вы­ плата производится в конце периода. Если же он имеет значение 1, то выплата производится в начале периода. В данном примере этот аргумент просто не име­ ет смысла, поскольку размер выплаты равен нулю.

Расчет текущей стоимости будущих платежей Другой вариант использования функции пс — вычисление текущей стоимости серии будущих выплат одинакового размера. Например, если вы должны платить по 5000 долларов в год за аренду помещения на протяжении следующих 10 лет, то функцию ПС можно использовать для вычисления, сколько вы должны были бы за­ платить сейчас, чтобы полностью покрыть все предстоящие платежи. На рис. 15.20 показано, какой будет текущая стоимость всех предстоящих платежей в данном сце­ нарии. Для вычислений здесь использовалась формула, приведенная ниже. =ПС(С4;СЗ;-С2; 0; 1)

Рис. 15.20. Расчет текущей стоимости

серии будущих платежей

418

Часть II. Формулы и функции

Если ваш арендодатель согласится с тем, что он сможет получать 3% годовых с выплачиваемых вами сумм, вы могли бы уже сегодня выплатить ему 43 930 дол­ ларов вместо десяти платежей по 5000, выплачиваемых на протяжении последую­ щих 10 лет. В данном случае последний, пятый, аргумент функции ПС имеет значе­ ние 1, поскольку арендная плата обычно взимается в начале очередного периода. При использовании функции ПС для расчетов с несколькими платежами эта функция фактически вычисляет текущую стоимость каждого платежа в отдельно­ сти, а затем суммирует все полученные результаты. На рис. 15.20 представлены вычисления, выполненные для каждого платежа в отдельности. При этом текущая стоимость первого платежа равна сумме платежа, поскольку этот платеж прово­ дится непосредственно в данное время. Выплата за второй год будет проводиться через год от текущего момента, и ее значение дисконтируется до 4854 долларов. Последний платеж, который будет проведен через девять лет, дисконтируется уже до 3832 долларов. Все полученные по отдельным платежам результаты складывают­ ся, и эта сумма является тем значением, которое возвращает формула в ячейке С5. Как видите, понимание особенностей работы функции ПС не является такой уж сложной задачей.

Вычисление чистой приведенной стоимости Функция ПС, которая использовалась в примере, приведенном на рис. 15.20, по­ зволяет вычислять текущую стоимость будущих денежных выплат, если все эти бу­ дущие выплаты будут одного и того же размера. Но в некоторых случаях ситуация оказывается иной. Функция ЧПС (чистая приведенная стоимость) — это решение, которое предлагается программой Excel для вычисления общей текущей стоимости нескольких будущих выплат различного размера. Предположим, что некто хочет инвестировать 30 тыс. долларов в новый биз­ нес. В обмен на эти инвестиции он будет иметь право на ежегодные дивиденды в течение следующих семи лет. Примерные суммы этих дивидендов представ­ лены на рис. 15.21. Также предположим, что этот инвестор хотел бы получить от своих инвестиций доход на уровне 8%. Чтобы определить, даст ли эта пред­ полагаемая инвестиция ожидаемый результат, можно воспользоваться функци­ ей чпс для вычисления ее чистой приведенной стоимости с помощью показан­ ной ниже формулы. =ЧПС(С2;С5:Cl1)

Функция ЧПС дисконтирует каждую выплату в отдельности исходя из заданного значения ставки, так же, как это делает функция ПС. Однако, в отличии от функ­ ции ПС, функция чпс получает на вход диапазон ячеек с будущими выплатами, а не единственное значение, одинаковое для всех предстоящих выплат. У функции чпс нет аргумента, определяющего общее количество выплат, поскольку количество ячеек со значениями выплат в указанном ей диапазоне однозначно определяет ко­ личество предстоящих платежей.

Глава 15. Формулы и функции для финансового анализа

419

Рис. 15.21. Чистая приведенная стоимость

предполагаемых будущих выплат

Хотя сами платежи могут иметь различные размеры, предполагается, что их проведение будет выполняться регулярно с некоторым интервалом (например, раз в год). И, как и в случае всех прочих функций определения стоимости денег во времени, рассматриваемых в этой главе, здесь предполагается, что период для став­ ки дисконтирования совпадает с периодичностью проведения платежей. В нашем примере значение 8% понимается как ставка годовой доходности, а платежи также являются годовыми, следовательно, требование согласованности их периодичности соблюдается. Если речь будет идти о дивидендах за квартал, потребуется пересчи­ тать годовую ставку доходности на квартальную. Функция чпс для указанных будущих выплат рассчитала чистую приведенную стоимость на уровне 33 068 долларов. Поскольку требуемый для получения всех этих выплат размер инвестиции, равный 30 тыс. долларов, меньше, чем возвраща­ емое функцией ЧПС значение (и в предположении, что сделанные оценки верны), данный вариант можно считать хорошей инвестицией. В действительности эти дан­ ные показывают, что инвестор вполне может получить даже лучший результат, чем ожидаемые им 8% доходности.

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

420

Часть II. Формулы и функции

В очередном примере предположим, что в новый бизнес вместо единовременной инвестиции в 30 тыс. долларов инвестируется 15 тыс. долларов в первый год, 10 тыс. долларов — во второй год и 5 тыс. долларов — в третий год. Размер инвестируемых сумм уменьшается по мере роста бизнеса, и это позволяет доходам инвестора неу­ клонно возрастать. На четвертый год, когда новые инвестиции уже не потребуются, можно ожидать, что бизнес станет достаточно прибыльным, чтобы начались регу­ лярные выплаты дивидендов. На рис. 15.22 представлена таблица, в которой суммы платежей в первые три года являются отрицательными, а возврат вложений имеет место только на протяжении последних четырех лет. Используемая для расчетов формула с функцией ЧПС имеет тот же самый вид, что и в предыдущем примере, из­ менены лишь исходные данные. =ЧПС(С2;С5:Cl1)

Рис. 15.22. Чистая приведенная стоимость для случая как положительных, так и отрицательных значений выплат

В первом примере использования функции ЧПС сумма инвестиций не являлась частью расчетов. Мы просто взяли возвращенный формулой результат и сравнили его с размером вложенной суммы. Однако в данном примере часть инвестируемой суммы представляет собой будущие платежи, поэтому все инвестируемые суммы представлены здесь как отрицательные значения (исходящие денежные потоки), тогда как ожидаемые в конечном счете дивиденды представлены положительными числами (входящие денежные потоки). Вместо сравнения суммы предварительных вложений с вычисленным ожидае­ мым результатом в этом примере возвращенное функцией ЧПС значение следует сравнивать с нулем. Если функция возвращает значение больше нуля, вся серия входящих и исходящих денежных потоков обеспечивает доходность больше 8%, а если возвращенное ей значение будет меньше нуля, то доходность вложений бу­ дет меньше 8%. Судя по данным, представленным на рис. 15.22, этот вариант также является хорошей инвестицией.

Глава 15. Формулы и функции для финансового анализа

421

Расчет внутренней ставки доходности В двух предыдущих примерах определялась чистая приведенная стоимость ожи­ даемых будущих платежей, которая затем сравнивалась с инвестируемой суммой. Поскольку чистая приведенная стоимость в этих примерах оказалась больше исход­ ных инвестиций, можно обоснованно утверждать, что предполагаемая ставка до­ ходности вложений будет больше желаемого уровня. Но насколько больше? Какой в действительности будет ожидаемая ставка доходности вложений? Предоставляемую программой Excel функцию ВСД можно использовать для вы­ числения внутренней ставки доходности будущих выплат. Функция ВСД очень близка к функции чпс. В сущности, функция ВСД вычисляет ставку доходности, при которой функция чпс для тех же самых данных получает результат, в точности рав­ ный нулю. Чтобы использовать функцию ВСД, необходимо структурировать исходные дан­ ные несколько иначе. В диапазоне ее исходных данных обязательно должны при­ сутствовать по крайней мере одна положительная выплата (входящий денежный поток) и одна отрицательная выплата (исходящий денежный поток). Если все вы­ платы будут положительными, то это будет означать, что никаких инвестиций не было, деньги просто поступали по каким-то иным причинам. Это, конечно, самый заманчивый вариант инвестиций, но ему не хватает реалистичности. Как прави­ ло, исходящие денежные потоки имеют место в самом начале инвестиционного периода, а входящие потоки приходят им на смену ближе к концу этого периода. Но это необязательно должно быть именно так; вполне достаточно, если в исход­ ных данных будет присутствовать хотя бы по одной выплате каждого типа. Итак, в данном примере для обеспечения успешной работы функции ВСД не­ обходимо в исходные данные добавить строку, соответствующую первоначальной инвестиции. Как видно на рис. 15.23, в начало диапазона исходных данных была добавлена строка за предыдущий год, выплата в которой отражает размер исходной инвестиции — 30 тыс. долларов. Приведенная ниже формула, помещенная в ячей­ ку С12, включает функцию ВСД и возвращает значение внутренней ставки доход­ ности, равное 10,53%. =ВСД (СЗ:СЮ; 0, 08)

Первый аргумент функции ВСД представляет собой диапазон с будущими вы­ платами. Второй ее аргумент задает предполагаемое значение внутренней нормы прибыли. Если этот аргумент опустить, программа Excel по умолчанию примет для него значение 10%. Функция ВСД вычисляет значение текущей стоимости для каждой будущей выплаты, исходя из переданного ей значения второго аргу­ мента. Если сумма всех этих значений окажется больше нуля, она уменьшит став­ ку и повторит попытку. Эти итерации будут продолжаться до тех пор, пока сумма не окажется равной нулю. Как только сумма всех значений текущей стоимости в диапазоне станет равной нулю, функция возвратит текущее использованное значение ставки доходности.

422

Часть II. Формулы и функции

Рис. 15.23. Внутренняя норма прибыли для серии будущих выплат

Расчет непериодических будущих денежных потоков В алгоритмах обеих функций, как ЧПС, так и ВСД, предполагается, что будущие выплаты будут осуществляться регулярно с некоторым фиксированным интерва­ лом. Однако так бывает не всегда. На тот случай, когда выплаты происходят не с ре­ гулярным интервалом, для выполнения соответствующих расчетов программа Excel предоставляет функцию чиствндох. Функция чиствндох принимает на один аргумент больше, чем функция вед: этот аргумент определяет даты. Функцию ВСД даты выплат не интересуют, посколь­ ку предполагается, что все они осуществляются с некоторым фиксированным ин­ тервалом. Не важно, будет это один день или один год; для работы функции ВСД это не имеет значения. Главное условие — используемое в расчетах значение ставки доходности должно быть согласовано с периодом проведения выплат. Иначе говоря, если используемая ставка доходности годовая, то и выплаты должны быть ежегод­ ными. Если выплаты проводятся раз в квартал, то и ставка доходности должна быть квартальной. Л

Совет У функции чиствндох есть близкородственная функция, предназначенная для вычисле­ ния чистой приведенной стоимости непериодических платежей, — это функция чистнз. Как и фуннция чиствндох, функция чистнз требует указания соответствующего диапазона дат ^проведения платежей.

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

Глава 15. Формулы и функции для финансового анализа

423

денежных средств годовая ставка доходности у инвестора составила 10,15%. Для ее вычисления использовалась приведенная ниже формула, в которой функция чиствндох обеспечивала проведение необходимых вычислений. =ЧИСТВНДОХ(СЗ:С17;ВЗ:В17;0, 08)

Внутренний алгоритм работы функции ЧИСТВНДОХ очень похож на алгоритм ра­ боты функции вед. Для каждой из выплат в индивидуальном порядке вычисляется приведенная текущая стоимость с выполнением необходимого числа итераций под­ бора такого значения ставки доходности, при котором общая сумма всех приведен­ ных стоимостей обращается в нуль. Вычисление приведенной текущей стоимости построено на количестве дней, прошедших между текущей выплатой и выплатой, предшествующей ей по дате, после чего соответствующим образом пересчитывает­ ся ставка доходности.

Рис. 15.24. Внутренняя ставка доходности

для непериодических платежей

Финансовое прогнозирование Под прогнозированием мы подразумеваем предсказание значений, основанное на «исторических» значениях (т.е. на значениях, которые отмечались в прошлом). Эти значения могут быть финансовыми (например, объемы продаж или величины дохода) или какими-либо другими данными, связанными со временем (например, количество работников). В Excel 2019 процесс прогнозирования стал намного проще, чем это было прежде.

424

Часть II. Формулы и функции

Чтобы создать прогноз, начните с исторических, связанных со временем дан­ ных, например с ежемесячных объемов продаж. На рис. 15.25 представлен простой пример. В столбце В содержатся данные ежемесячных объемов продаж с 2015 по 2018 год включительно. Кроме того, для этих исходных данных был построен гра­ фик, на котором вполне очевиден циклический характер изменения объемов про­ даж, причем продажи всегда снижаются в летние месяцы. Поставленная задача заключается в том, чтобы предсказать ежемесячные объемы продаж на последу­ ющие два года. Эту рабочую книгу можно найти в файле forecasting example.xlsx на веб­ сайте книги (www.wiley.com/go/excel2019bible). Для русскоязычного из­ дания книги файл называется Picl5_25.xlsx.

Начните с выделения соответствующих данных. Для этого примера сначала вы­ делите диапазон А1 :В49. Затем выберите налейте команду Данные^Прогноз^Лист прогноза, и Excel отобразит диалоговое окно Создание листа прогноза, показанное на рис. 15.26. (Чтобы отобразить на экране дополнительные параметры, присут­ ствующие в этом окне на рис.15.26, щелкните в нем на кнопке Параметры.) В этом диалоговом окне показан график, на котором отображаются «исторические» дан­ ные, прогнозируемые данные, а также доверительные интервалы для этого про­ гноза.

Рис. 15.25. Ежемесячные объемы продаж за четыре года

Глава 15. Формулы и функции для финансового анализа

425

Рис. 15.26. Диалоговое окно Создание листа прогноза

Доверительный интервал (на графике он показан более тонкими линиями) опре­ деляет «плюс/минус» значения для этого прогноза и указывает степень доверия к данному прогнозу. Повышая значение доверительного интервала, вы расширяете диапазон предсказания. Обратите внимание: график, представленный в этом диа­ логовом окне, соответствующим образом изменяется при изменении значений па­ раметров. Щелкните на кнопке Создать, и Excel вставит в рабочую книгу новый рабочий лист, который содержит таблицу и диаграмму. На рис. 15.27 представлена часть этой таблицы. В ней отображаются прогнозируемые значения, а также нижний и верхний доверительные интервалы. Эти значения генерируются с помощью функций предсказ.етз и предсказ.ets.довинтервал. Это достаточно слож­ ные функции (именно поэтому Excel берет на себя выполнение всей соответству­ ющей работы).

426

Часть II. Формулы и функции

Рис. 15.27. На рабочем листе прогноза содержатся таблица и график

Формулы для статистического анализа В ЭТОЙ ГЛАВЕ… Работа со взвешенными средними Сглаживание данных с помощью скользящих средних Создание описательной статистики Создание частотных распределений

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

П

Рабочая книга со всеми приведенными в этой главе примерами находится в файле StatisticalAnalysis.xlsx на веб-сайте книги (www.wiley.com/go/excel 2019ЫЫе). Для русскоязычного издания книги файл называется Picl6_01.xlsx.

Работа со взвешенными средними Взвешенное среднее используется для усреднения значений, когда опреде­ ленные значения играют большую или меньшую роль во всем наборе данных. На рис. 16.1 представлена информация по портфелю инвестиций. Для каждого фонда в портфеле показаны общая сумма инвестиций и возврат (норма прибыли) на эти инвестиции. Необходимо определить общую доходность этого портфеля. Простое среднее в данном случае использовать нельзя, поскольку каждая из инвестиций вносит различный вклад в доходность портфеля в целом.

428

Часть II. Формулы и функции

Рис. 16.1. Портфель инвестиций с указанием нормы прибыли

Чтобы вычислить взвешенное среднее, процентное выражение той части, кото­ рую каждая инвестиция составляет в отношении общей суммы инвестиций портфе­ ля, умножается на ее норму прибыли. Для суммирования результатов перемноже­ ния значений в двух массивах данных лучше всего подходит функция СУММПРОИЗВ. Функции СУММПРОИЗВ можно передавать до 255 аргументов, разделенных точкой с запятой, но в нашем случае достаточно будет только двух. Соответствующая фор­ мула выглядит следующим образом. =СУММПР0ИЗВ((СЗ:С7/$С$8);D3:D7)

Первый аргумент извлекает сумму каждой инвестиции и делит это значение на общую сумму инвестиций портфеля. Результатом будет пять процентных значе­ ний, представляющих «вес» каждой инвестиции. Например, для фонда Roboto Bond весовое значение составляет 17% и вычисляется как результат деления 72 021,35 на 423 655,02. Второй аргумент функции СУММПРОИЗВ определяет диапазон с нор­ мами прибыли по отдельным инвестициям. Присутствие символа доллара в ссылке на ячейку $С$8 говорит о том, что это аб­ солютная ссылка, а не относительная, как остальные ссылни в формуле. Подробнее об абсолютных и относительных ссылках читайте в главе 9, «Основы формул и функ­ ций Excel”.

Функция СУММПРОИЗВ перемножает каждый элемент массива, определяемого первым аргументом, на соответствующий элемент массива, определяемого вторым аргументом. Иначе говоря, элемент СЗ/С8 умножается на D3, элемент С4/С8 ум­ ножается на D4 и т.д. После перемножения всех элементов функция СУММПРОИЗВ суммирует все полученные результаты. Если для определения простого среднего для нормы прибыли воспользоваться функцией СРЗНАЧ, то можно получить значение 5,906%. Это значение ниже, чем вы­ численное ранее взвешенное среднее, поскольку инвестиция в фонд Sparkle Growth and Income имеет одновременно и более высокую, чем простое среднее значение, норму прибыли, и самую высокую долю в общей сумме портфеля. Есть и альтернативный вариант: вся выполняемая функцией СУММПРОИЗВ рабо­ та по вычислению взвешенного среднего может быть выполнена с помощью более

Глава 16. Формулы для статистического анализа

429

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

Рис. 16.2. Расширение процедуры вычисления

взвешенного среднего на соседние ячейки

Сглаживание данных с помощью скользящих средних Скользящее среднее используется для сглаживания значений данных с целью выявления более четкой картины общей тенденции в исходных данных. Этот метод работает особенно хорошо, когда отдельные точки данных имеют большой разброс. На рис. 16.3 представлена часть списка результатов матчей по гольфу одного из игроков. Каждый, кто играет в эту игру, понимает, насколько непредсказуемым мо­ жет быть результат игры от одного матча к другому. На рис. 16.4 представлен график изменения результатов матчей этого игрока в гольф во времени. На представлен­ ном графике трудно оценить, как результаты этого игрока изменяются в долгосроч­ ной перспективе, поскольку на нем множество высоких пиков и глубоких провалов. Желательно построить такую диаграмму, на которой будет представлена общая тенденция изменения результатов матчей во времени, со сглаженными пиками и про­ валами, вызванными отдельными нетипичными значениями данных. Чтобы получить такой результат, достаточно вычислить скользящее среднее значений данных и вы­ вести их на диаграмму. Для этой цели воспользуемся следующей функцией. =ЕСЛИ(СТРОКА()3ависимости формул=>Проверка наличия ошибок^Источник ошибки. Excel укажет стрелками на возможные источники ошибки.

Циклические ссылки Если вы случайно создали формулу с циклической ссылкой, Excel отобразит окно с предупреждением (при этом адрес ссылки будет отображен в строке со­ стояния). Если в этом окне щелкнуть на кнопке OK, Excel нарисует стрелки меж­ ду ячейками, ссылки на которые составляют циклические вычисления. Если эти стрелки не помогут решить проблему с циклической ссылкой, выберите команду Формулы^Зависимости формул^Проверка наличия ошибок1^ Циклические ссылки, которая отобразит список всех ячеек, участвующих в образовании циклической ссылки. Поочередно выбирайте ячейки из этого списка и проверяйте формулы, ко­ торые содержатся в этих ячейках, пока не найдете источник ошибки.

Фоновая проверка ошибок Иногда очень удобно использовать средство фоновой проверки ошибок Excel. Чтобы его включить (отключить), установите (снимите) флажок Включить фоновую проверку ошибок на вкладке Формулы диалогового окна Параметры Excel (рис. 19.1). Кроме того, ниже в этом же окне в группе Правила проверки ошибок можно опреде­ лить типы ошибок, которые будут проверяться в фоновом режиме. Если фоновая проверка ошибок включена, то Excel постоянно проверяет фор­ мулы на наличие ошибок. Если найдена формула, в которой может быть (или есть)

Глава 19. Поиск и исправление ошибок

499

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

Рис. 19.1. Теперь Excel будет проверять формулы на наличие ошибок

Во многих случаях приходится выбирать команду Пропустить ошибку, после чего выбранная ячейка больше не будет проверяться на наличие ошибок, а смарт-тег исчезнет. Отменить эту команду можно только для всех ячеек активизированного рабочего листа сразу — для этого во вкладке Формулы диалогового окна Параметры Excel щелкните на кнопке Сброс пропущенных ошибок (см. рис. 19.1). Для проверки ошибок можно воспользоваться командой Формулы1^Зависимости формулФПроверка наличия ошибок, а затем в открывшемся диалоговом окне просмо­ треть все ошибки на рабочем листе. По принципу работы это диалоговое окно очень похоже на окно проверки орфографии. Внимание!

к

Средство проверки ошибок Excel нельзя считать идеальным. В действительности его нельзя считать даже достаточно надежным. Иначе говоря, не стоит полагать, что рабочий лист дей­ ствительно свободен от ошибок, исходя только из того факта, что этот инструмент Excel их не обнаружил! Учтите, что это средство не поможет вам обнаружить ошибку даже в таком про­ стом случае, как замена формулы возвращаемым ей значением.

Часть II. Формулы и функции

500

Вычисление формул Средство Вычисление формулы позволяет поэтапно вычислить сложную форму­ лу так, как это делает Excel. Чтобы воспользоваться им, выделите ячейку с форму­ лой и выберите команду Формулы^Зависимости формул^Вычислить формулу. На экране появится диалоговое окно Вычисление формулы, показанное на рис. 19.2.

Рис. 19.2. В окне Вычисление формулы можно поэтапно вычислить формулу

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

4. Нажмите клавишу .

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

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

Глава 19. Поиск и исправление ошибок

501

Чтобы открыть диалоговое окно Найти и заменить (рис. 19.3), начните с выделения диапазона, в котором будет проводиться поиск. Если выделить только одну ячейку, будет выполнен поиск по всему рабочему листу. Выберите команду ГлавнаяФРедактирование^ Найти и выделить1^Найти (или нажмите комбинацию клавиш ).

Рис. 19.3. Диалоговое окно Найти и заменить

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

Если необходимо просто найти нужную информацию, перейдите на вкладку Найти. Если же нужно заменить существующий текст новым, перейдите на вкладку Заменить. С помощью кнопки Параметры можно отобразить (или скрыть) дополни­ тельные параметры поиска, которые и показаны на рис. 19.3.

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

В раскрывающемся списке Область поиска укажите, какие данные следует просматривать (формулы, значения или примечания). С помощью флажка Учитывать регистр можно указать, следует ли выполнять поиск с учетом регистра символов. С помощью флажка Ячейка целиком можно указать, следует ли выполнять по­ иск всего содержимого ячейки или только ее фрагмента.

С помощью кнопки Формат… можно задать поиск ячеек, имеющих определен­ ное форматирование (см. ниже раздел «Поиск формата»).

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

502

Часть II. Формулы и функции

расширится и внизу добавится список адресов ячеек, в которых была найдена ис­ комая информация. Если щелкнуть на какой-либо записи в этом списке, то Excel прокрутит рабочий лист так, чтобы на экране была видна выделенная ячейка. Совет

После использования кнопки Найти все для выбора всех найденных в рабочем листе ячеек ^нажмите комбинацию клавиш .

На заметку Поскольку диалоговое окно Найти и заменить является немодальным, можно вносить измеi нения в рабочий лист, оставив это окно открытым.

Замена информации Чтобы заменить заданную текстовую строку другой строкой, перейдите на вклад­ ку Заменить диалогового окна Найти и заменить. В поле Найти введите искомый текст, а в поле Заменить на — тот текст, которым он должен быть заменен. Установите дру­ гие параметры, как было описано в предыдущем разделе. Щелкните на кнопке Найти далее, чтобы найти первую ячейку с искомым тек­ стом. Затем щелкните на кнопке Заменить, чтобы заменить этот текст новым. Excel заменит содержимое выбранной ячейки, после чего перейдет к следующей ячейке с искомым текстом. Чтобы заменить содержимое следующей ячейки, снова щелкни­ те на кнопке Заменить. Чтобы заменить содержимое всех ячеек с искомым текстом, щелкните на кнопке Заменить все. Если замена прошла не так, как было заплани­ ровано, отмените ее с помощью кнопки Отменить панели быстрого доступа (или нажмите комбинацию клавиш ). Совет Чтобы удалить определенную информацию, на вкладке Заменить диалогового окна Найти и заменить в поле Найти введите искомый текст, а поле Заменить на оставьте пустым.

Поиск формата С помощью диалогового окна Найти и заменить можно отыскать ячейки, которые имеют определенные атрибуты форматирования, и, как вариант, заменить их други­ ми. Например, предположим, что нужно найти и выделить все ячейки, отформати­ рованные полужирным шрифтом, а затем заменить полужирный шрифт курсивным. Для этого выполните следующие действия. 1. Выберите команду Главная^Редактирование^ Найти и выделить^Найти (или нажмите комбинацию клавиш ). Откроется диалоговое окно Найти и заменить.

Глава 19. Поиск и исправление ошибок

503

2. Перейдите на вкладку Заменить. При необходимости расширьте диалоговое окно, щелкнув на кнопке Параметры.

3. Если в полях Найти и Заменить на содержится текст, удалите его.

4. Щелкните на верхней кнопке Формат, чтобы открыть диалоговое окно Найти формат. Это окно очень похоже на обычное диалоговое окно Формат

ячеек. 5. В диалоговом окне Найти формат перейдите на вкладку Шрифт.

6. В списке Начертание выберите полужирный и щелкните на кнопке ОК.

7. Щелкните на нижней кнопке Формат, чтобы открыть диалоговое окно Заменить формат. 8. В этом диалоговом окне перейдите во вкладку Шрифт. 9. В списке Начертание выберите курсив и щелкните на кнопке ОК. 10. В диалоговом окне Найти и заменить щелкните на кнопке Заменить все. Excel определит ячейки, в которых используется полужирный шрифт, и за­ менит его курсивом.

Также можно выполнить поиск атрибутов форматирования на основании опре­ деленной ячейки. В диалоговом окне Найти формат щелкните на кнопке Выбрать формат из ячейки, а затем на ячейке, содержащей искомое форматирование. Внимание!

С помощью диалогового окна Найти и заменить нельзя найти цветовое форматирование, задаваемое стилем таблиц, а также атрибуты форматирования, задаваемые условным фор­ матированием.

Проверка орфографии Работая в текстовом процессоре, вы, вероятно, часто используете средство про­ верки орфографии. Ошибки в правописании могут быть столь же досадными и в том случае, когда они появляются в электронной таблице. К счастью в Excel тоже имеется аналогичная функция. Для проверки правописания выберите команду Рецензирование^Правописание^ Орфография или нажмите клавишу . Если вы хотите проверить орфографию только в определенном диапазоне, выделите его перед выбором этой команды. На

заметку

Проверка правописания распространяется на содержимое ячеек, текстовые элементы в гра­ фических объектах и диаграммах, а также на колонтитулы печатных страниц. Проверяется даже содержимое скрытых строк и столбцов.

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

504

Часть II. Формулы и функции

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

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

Пропустить все. Пропускает текущее слово и все его последующие вхождения. Добавить в словарь. Добавляет слово в словарь.

Заменить. Заменяет текущее слово значением, указанным в поле Варианты. Заменить все. Без подтверждения заменяет текущее слово и все его последую­ щие вхождения словом, указанным в поле Варианты.

Автозамена. Добавляет неверно написанное слово в правильном виде в список слов, исправляемых автоматически (подробнее об этом — в следующем разделе).

Использование автозамены Автозамема — это удобное средство, которое помогает автоматически исправ­ лять типичные опечатки. Также пользователю предоставляется возможность попол­ нить список слов, исправляемых автоматически. Диалоговое окно Автозамена пока­ зано на рис. 19.4. Чтобы его открыть, выберите команду Файл1^Параметры, затем и в диалоговом окне Параметры Excel перейдите на вкладку Правописание и щелкните на кнопке Параметры автозамены.

Рис. 19.4. Диалоговое окно Автозамена, позволяющее

автоматически исправлять характерные опечатки В этом диалоговом окне есть несколько флажков опций. Исправлять ДВе ПРописные буквы в начале слова. Excel будет автоматически исправлять слова с двумя прописными буквами. Например, слово Бюджет будет

Глава 19. Поиск и исправление ошибок

505

исправлено на Бюджет. Это типичная ошибка, которая часто встречается при быстром наборе текста. При желании можно щелкнуть на кнопке Исключения, чтобы указать список исключений из правила.

Делать первые буквы предложений прописными. Автоматически преобразу­ ет первую букву предложения в прописную. Писать названия дней с прописной буквы. Программа будет автоматически заменять первую букву в названии дня недели прописной буквой. Например, если ввести слово понедельник, Excel исправит его на Понедельник.

Устранять последствия случайного нажатия CAPS LOCK. Программа автомати­ чески устранит последствия случайного нажатия клавиши при на­ боре текста. Заменять при вводе. Excel будет автоматически исправлять слова при наборе. В Excel включен довольно длинный список типичных опечаток для автозамены. Кроме того, в нем имеются записи для некоторых символов. Например, (с) заменя­ ется знаком ©, а (г) — знаком ®. При необходимости можно добавить в этот список собственные записи. Например, если вы часто ошибаетесь при наборе слова январь и пишете явнарь, создайте соответствующую запись для автозамены. Ошибочное слово введите в поле заменять, а правильное — в поле на. Как было отмечено выше, это можно сделать в диалоговом окне Проверка орфографии. Впоследствии всегда можно будет удалить те записи, которые больше не требуются.

Совет Средство автозамены можно использовать для создания сокращений часто используемых слов и фраз. Например, если вы работаете в компании Объединенная Корпорация Обработки Данных, то создайте запись для замены сокращения окод этим длинным названием. Теперь, как только вы наберете окод, Excel автоматически заменит его названием Объединенная Корпорация Обработки Данных. Нужно лишь проследить за тем, чтобы вы не использо­ вали для подобных целей такое сочетание символов, которое должно присутствовать в вашем тексте (в противном случае оно также будет заменено, что, разумеется, не входит в ваши ^намерения).______________________________________________________________________________________________________

На

заметку

Иногда нужно отменить действие средства Автозамена. Например, вам может понадобиться ввести именно (с), а не символ ©©. В этом случае сразу после того, как Excel выполнит автозамену, щелкните на кнопке Отмена панели быстрого доступа или нажмите комбинацию i клавиш . Для управления некоторыми другими автоматическими настройками в Excel можно использовать вкладку Автоформат при вводе диалогового окна Автозамена. Вкладка Действия этого окна активизирует действия, которые в предыдущих вер­ сиях Excel были реализованы в виде смарт-тегов для определенных типов данных

506

Часть II. Формулы и функции

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

Часть III

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

В

ЭТОЙ ЧАСТИ… Глава 20 Основы построения диаграмм Глава 21 Расширенные возможности построения диаграмм

Глава 22 Графика спарклайнов Глава 23 Работа с настраиваемыми числовыми форматами, изображениями и рисунками Глава 24 Практика создания графических итоговых панелей

Основы построения диаграмм В ЭТОЙ ГЛАВЕ… Как в Excel реализована поддержка диаграмм Составные элементы диаграмм Основные этапы создания диаграмм

Работа с диаграммами

Примеры диаграмм различных типов

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

Д

можно было с одного взгляда оценить взаимосвязи между отдельными зна­ чениями, отметить существующие различия и выявить тенденции в динамике бизнес-процесса. Еще несколько механизмов позволяют обобщать данные даже бы­ стрее, чем диаграммы, и могут стать ключевыми компонентами при создании графи­ ческих панелей итоговых отчетов. Большинство людей считают, что процессоры электронных таблиц, включая Excel, — это просто большое количество пронумерованных столбцов и строк. Но программа Excel вовсе не так проста, особенно в тех случаях, когда необходимо представить данные в виде графика или диаграммы. В этой главе описываются ос­ новные средства построения диаграмм Excel и объясняется, как создавать и настра­ ивать собственные диаграммы.

Большинство примеров, обсуждаемых в этой главе, можно найти в рабочей книге Intro to Charts.xlsx на веб-сайте книги (www.wiley. com/go/excel2019 bible). Для русскоязычного издания книги этот файл называется pic2 0 01 .xlsx.

Что такое диаграмма Начнем с базовых понятий. Диаграмма — это средство наглядного представ­ ления информации, заданной в виде таблицы чисел. Диаграммы, которые также

510

Часть III. Создание диаграмм и другие приемы визуализации

называют графиками, стали неотъемлемой частью программ электронных таблиц еще со времен появления программы Lotus 1-2-3. Первые средства построения диа­ грамм были очень ограниченными, но со временем их возможности значительно расширились, и сейчас Excel располагает развитыми средствами для создания раз­ нообразных диаграмм, которые могут помочь вам эффективнее донести ваше по­ нимание ситуации. Демонстрация данных с помощью хорошо продуманной диаграммы помогает лучше их понять и может существенно ускорить работу. Так как графики представ­ ляются в виде изображения, они могут быть очень полезными для анализа рядов чисел и представления их взаимосвязи. Создав диаграмму, можно определить тен­ денции и структуру процесса, представленного таблицей чисел, что практически невозможно сделать, имея лишь таблицу. На рис. 20.1 представлен пример листа, содержащего простую диаграмму, на ко­ торой отображаются объемы продаж фирмы за месяц в течение года. Достаточно одного взгляда на диаграмму, чтобы понять, что летом (июнь, июль и август) про­ дажи падают по сравнению с зимой, весной и осенью. Разумеется, вы можете просто изучить числовые значения, но графическое отображение данных делает этот про­ цесс более наглядным и быстрым.

Рис. 20.1. Простейший пример столбиковой диаграммы (гистограммы),

содержащей ежемесячные объемы продаж Гистограмма — это всего лишь один из многих типов диаграмм, которые можно создать с помощью Excel. Кстати, создать такую диаграмму очень просто: выделите данные в диапазоне А1 :В 13 и нажмите комбинацию клавиш .

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

Глава 20. Основы построения диаграмм

511

данные, сохраняемые на любом количестве рабочих листов, которые даже могут находиться в разных рабочих книгах. Решение использовать данные из одного ра­ бочего листа или из нескольких листов в действительности зависит от принятой у вас модели данных, природы источников данных и того уровня интерактивности, который вы хотите обеспечить на своей графической панели итоговых данных. Диаграмма — это, по сути, объект, создаваемый Excel. Этот объект создается из одного или нескольких рядов данных, которые представляются в графическом виде. Как именно они будут представлены графически, зависит от выбранного типа диаграммы. Например, если вы строите график по двум рядам данных, то он будет содержать две линии — каждая для представления одного ряда. Данные для каждо­ го ряда хранятся в отдельном столбце или строке. Каждая точка на линии графика определяется по значению, которое находится в отдельной ячейке и представляется маркером. Чтобы отличить одну линию от другой, для них задают разную толщину, цвет или используют различные маркеры (кружочки, звездочки, квадратики и т.п.). На рис. 20.2 показан пример графика, представляющего две числовые последо­ вательности, которые содержат данные о средних ценах на жилье за период в де­ вять лет. Чтобы различать ряды данных, используются разные маркеры точек дан­ ных (квадратики и кружочки), показанные в легенде под диаграммой. Различается также цвет линий графиков, что плохо заметно на черно-белом изображении.

Рис. 20.2. График, представляющий два ряда данных

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

512

Часть III. Создание диаграмм и другие приемы визуализации

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

на рабочем листе с данными (внедренная диаграмма);

на отдельном листе диаграммы.

Внедренные диаграммы Внедренная диаграмма обычно расположена на верхнем слое рабочего листа, который иначе называют графическим. Обе диаграммы, представленные выше в этой главе, являются внедренными. Как и другие графические объекты (фигуры либо объекты SmartArt или WordArt), диаграмму можно перемещать; можно изменять ее размеры и пропорции, выравни­ вать границы, а также добавлять эффекты, например тень. Главное преимущество внедренных диаграмм в том, что их можно расположить рядом с данными, которые использовались для их построения. Кроме того, на одном рабочем листе можно по­ местить несколько внедренных диаграмм, что позволит вывести их на печать на од­ ной странице. По умолчанию диаграмма всегда создается как внедренная диаграмма. Исклю­ чением является лишь ситуация, когда вы создаете стандартную диаграмму, выбрав данные и нажав клавишу . В этом случае диаграмма создается на отдельном листе. Чтобы внести какие-либо изменения во внедренную диаграмму, сначала не­ обходимо щелкнуть на ней левой кнопкой мыши, т.е. активизировать ее. После активизации диаграммы на ленте появляются две новые вкладки под общим заго­ ловком Работа с диаграммами: вкладка Конструктор и вкладка Формат, как показано на рис. 20.3.

Диаграмма, расположенная на отдельном листе Внедренную диаграмму можно перенести на отдельный рабочий лист, после чего просмотреть ее можно будет, просто щелкнув на его ярлычке. Диаграмма, располо­ женная на отдельном листе, всегда занимает весь этот лист. Поэтому, если создава­ емую диаграмму предполагается печатать на отдельной странице, для нее лучше использовать собственный лист диаграммы. Если вам предстоит создать много диа­ грамм, имеет смысл разместить каждую из них на отдельном листе, чтобы избежать загромождения рабочего листа. Кроме того, этот метод позволяет легко отыскать нужную диаграмму, присвоив листам диаграмм содержательные имена. Хотя листы диаграмм обычно не используют в традиционных графических панелях итоговых отчетов, они могут оказаться очень удобным вариантом при подготовке отчетов, ко­ торые будут входить в состав рабочих книг с большим количеством рабочих листов. Когда активизируется лист диаграммы, на ленте появляются контекстные вклад­ ки под общим заголовком Работа с диаграммами, — точно так же, как и при активи­ зации внедренной диаграммы.

Глава 20. Основы построения диаграмм

Рис. 20.3. При активизации диаграммы на ленте Excel

появляются две новые вкладки

Рис. 20.4. Диаграмма на листе диаграммы

513

514

Часть III. Создание диаграмм и другие приемы визуализации

Элементы диаграмм Диаграмма включает множество элементов, причем все они не являются обяза­ тельными. Да, можно создать диаграмму, в которой не будет ни одного элемента — пустую диаграмму. Можно усомниться в полезности такого действия, но Excel это позволяет. Чтобы познакомиться с названиями различных элементов диаграмм, взгляните на рис. 20.5.

Ряды данных

Линии сетки

Область построения

I

I

Название диаграммы I

Область Диаграммы I

Г |_

Верикальная ось (значений)

I—————1———— 1

Легенда

|

Верикальная ось (значений)

Горизонтальная ось (категорий)

Рис. 20.5. Основные элементы диаграммы

Здесь приведен пример комбинированной диаграммы, на которой отобража­ ются столбики и линия. В этой диаграмме используются два ряда данных: Доход и Прибыль. Значения дохода изображены в виде вертикальных столбиков, а значе­ ния прибыли продаж — в виде линии с маркерами-квадратиками. Каждый столбик (или маркер линии) представляет одну точку ряда данных (данные, содержащиеся в одной ячейке). Диаграмма имеет горизонтальную ось, которая называется осью категорий. На этой оси отображается категория каждой единицы данных (Январь, Февраль и т.д.). Метки внизу диаграммы (названия месяцев) являются метками оси категорий. Для этой оси название не указано, так как смысл ее значений очевиден. Обратите внимание, что рассматриваемая диаграмма имеет две вертикальные оси, которые называются оси значений. У каждой из осей своя шкала. Левая ось предназначена для визуализации данных, представленных столбиками (Доход), а правая — представленных линией (Прибыль).

Глава 20. Основы построения диаграмм

515

Шкалы этих осей отличаются одна от другой. Левая ось содержит значения от 0 до 250 000 руб. с шагом в 50 000 руб. Правая ось использует другую шкалу зна­ чений: от 0% до 14% с шагом в 2%. Для осей значений можно задавать желаемые максимальное и минимальное значения, а также шаг приращения. Использовать две вертикальные оси удобно в тех случаях, когда две число­ вые последовательности значительно отличаются одна от другой. Например, если для представления ряда данных Прибыль использовать левую ось, то этот ряд прак­ тически сольется с горизонтальной осью и его значений просто не будет видно на диаграмме. Если на диаграмме представлено более одного ряда данных, необходимо иметь возможность идентифицировать каждый ряд данных или точек данных. Для этих целей обычно используется легенда. В приведенном примере легенда размещена под диаграммой. В некоторых диаграммах используются подписи данных, которые показывают значения каждой точки ряда данных. В нашем примере подписи дан­ ных используются для ряда Прибыль, а для ряда Доход подписи данных не отобра­ жаются. Дополнительно многие диаграммы (в том числе показанная на рисунке) содержат заголовок диаграммы и названия осей. Диаграмма также содержит горизонтальные линии сетки (которые относятся к левой оси значений). Горизонтальные линии являются продолжением шкалы зна­ чений. Они облегчают наблюдателю определение значения точек данных. Помимо прочего, все диаграммы имеют область диаграммы (это вся фоновая об­ ласть диаграммы) и область построения (в нашем случае для нее выбран другой цвет фона). На области построения отображается сама диаграмма, включая оси и элементы представления данных. Диаграммы могут иметь и дополнительные элементы, а также элементы, завися­ щие от типа диаграммы. Например, круговая диаграмма (рис. 20.6) включает секторы и не имеет осей, а трехмерная диаграмма может иметь стенки и основание (рис. 20.7).

Рис. 20.6. Круговая диаграмма

516

Часть III. Создание диаграмм и другие приемы визуализации

Рис. 20.7. Трехмерная диаграмма

В диаграмму также можно добавить другие типы элементов. Например, можно добавить линии тренда, представляющие тенденции, или вывести столбики от­ клонений.

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

Таблица 20.1. Ограничения для диаграмм Excel Элемент

Ограничение

Количество диаграмм на листе

Определяется доступным объемом памяти

Количество рабочих листов, на которые ссылается диаграмма

255

Количество рядов данных в диаграмме

255

Количество точек данных в рядах данных

32 000

Количество точек данных в рядах данных (трехмерные диаграммы) 4000

Общее количество точек данных во всей диаграмме

256 000

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

Глава 20. Основы построения диаграмм

517

Пример создания диаграммы Для создания диаграммы, представленной на рис. 20.8, выполните следующие действия. 1. Выделите данные, на основании которых будет построена диаграмма. Убедитесь, что в выделение включены заголовки столбцов, если они имеются (в нашем примере следует выделить диапазон А1:С4). Другой способ — вы­ брать одну ячейку в диапазоне с данными, после чего Excel использует весь этот диапазон для построения диаграммы.

Рис. 20.8. Данные, которые будут использованы для построения диаграммы

2. Выберите команду ВставкаФДиаграммы, а затем раскройте палитру кноп­ ки Вставить гистограмму или линейчатую диаграмму, щелкнув на ее стрелке справа. В этой палитре (рис. 20.9) представлены различные подтипы гистограмм и линейчатых диаграмм.

Рис. 20.9. Пиктограммы в группе Вставка^Диаграммы позволяют раскрыть

палитры с образцами диаграмм соответствующих подтипов 3. Выберите в этой палитре подтип Гистограмма, и Excel создаст диаграмму указанного типа. На рис. 20.10 показана гистограмма, построенная на осно­ вании данных в выделенном ранее диапазоне.

518

Часть III. Создание диаграмм и другие приемы визуализации

Рис. 20.10. Гистограмма с двумя рядами данных

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

Изменение ориентации строк и столбцов При создании диаграммы программа Excel использует специальный алгоритм для определения, как именно организованы исходные данные — по столбцам или по строкам. Чаще всего Excel решает эту задачу успешно, но если выбранная про­ граммой ориентация оказалась неверной, эту ошибку можно быстро исправить: ак­ тивизируйте диаграмму и выберите команду Работа с диаграммами^Конструктор^ Данные^Строка/столбец. Кнопка этой команды ведет себя как переключатель, поэ­ тому, если переориентация диаграммы не сделала ее лучше, просто выберите эту же команду еще раз, и все вернется на свои места (или щелкните на кнопке Отменить на панели быстрого доступа). Смена ориентации рядов данных оказывает сильный эффект на внешний вид диаграммы (а также, несомненно, и на ее понятность). На рис. 20.11 показана та же гистограмма, что и на рис. 20.10, но после смены ориентации ее рядов данных. Обратите внимание: на диаграмме теперь присутствует три ряда данных, по одному на каждый месяц. Если целью вашей работы является сравнение фактических по­ казателей с плановыми, по каждому месяцу, этот вариант диаграммы будет гораз­ до сложнее интерпретировать, поскольку пары сравниваемых столбцов находятся на диаграмме не рядом, а в разных группах.

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

Глава 20. Основы построения диаграмм

519

выбором, это не мешает попробовать применить к этим данным и некоторые дру­ гие типы диаграмм. Выберите команду Работа с диаграммами^Конструктор^Тип^ Изменить тип диаграммы, и откроется диалоговое окно Изменение типа диаграммы, показанное на рис. 20.12. В этом окне можно поэкспериментировать с выбором диа­ грамм другого типа для тех же исходных данных.

Рис. 20.11. Та же гистограмма, но после смены ориентации рядов данных по строке/столбцу

Рис. 20.12. Диалоговое окно Изменение типа диаграммы

520

Часть III. Создание диаграмм и другие приемы визуализации

На заметку

Если в диаграмме используется более одного ряда данных, то прежде чем выбирать коман­ ду Работа с диаграммами^Конструктор^Тип^Изменить тип диаграммы, убедитесь, что на диаграмме выбран не один из рядов данных, а какой-то иной элемент. Если будет выбран один из рядов данных, то все изменения, которые вы сделаете в диалоговом окне Изменение типа диаграммы, будут применены только к этому выбранному ряду. В диалоговом окне Изменение типа диаграммы основные типы диаграмм пере­ числены в левой части этого окна, а в правой его части будут представлены подти­ пы той категории, которая в данный момент выбрана слева. Подберите подходящий подтип и щелкните на нем, а затем щелкните на кнопке ОК, после чего Excel пере­ рисует диаграмму с использованием указанного вами типа. Если полученный ре­ зультат вас не устраивает, щелкните на кнопке Отменить панели быстрого доступа.

Совет

Если диаграмма встроенная, то ее тип можно изменить, воспользовавшись командами груп­ пы Вставка^Диаграммы. В действительности этот метод даже более эффективен, поскольку не предполагает работу в каком-либо дополнительном диалоговом окне.

Выбор макета диаграммы Для каждого типа диаграмм имеется некоторое количество заранее разработан­ ных макетов, которые можно применить к уже созданной диаграмме одним щелчком мыши. Любой макет предусматривает некоторые дополнительные элементы, такие как заголовок, метки данных, оси и т.д. Этот этап необязателен, но один из таких встроенных макетов может оказаться как раз тем, что вам нужно. И даже если не­ который макет — не совсем то, что вам нужно, он может быть достаточно близок к желаемому варианту, так что вам потребуется лишь внести в него несколько из­ менений. Чтобы применить к диаграмме некоторый макет, активизируйте ее, а затем вы­ берите команду Работа с диаграммами^Конструктор^Макеты диаграмм^Экпрессмакет. Тем не менее, как уже говорилось выше, применение к диаграммам экспрессмакетов не является действием обязательным.

Выбор стиля диаграммы В группе Работа с диаграммами^Конструктор^Стили диаграмм предлагается не­ сколько различных стилей оформления диаграмм, которые можно применить к соз­ даваемой диаграмме. В каждом стиле используются определенная цветовая гамма и некоторые специальные эффекты, — на рис. 20.13 представлено, как может вы­ глядеть гистограмма после применения к ней различных стилей. Однако, как и в случае экпресс-макетов, применение стилей к диаграммам не является действием обязательным.

Глава 20. Основы построения диаграмм

521

Рис. 20.13. Различные стили оформления гистограмм,

которые можно выбрать одним щелчком мыши

Совет Набор стилей, представленных в галерее Стили диаграмм, зависит от выбранной темы ра­ бочей книги. Если с помощью команды Разметка страницы^Темы изменить тему рабочей книги, то вам будет предложен иной набор стилей диаграмм, разработанный специально для выбранной темы.

Добавление и удаление элементов диаграмм В некоторых случаях применение к диаграмме макета или стиля (как это описы­ валось выше) позволит получить диаграмму, на которой уже будут присутствовать все требуемые ее элементы. Однако весьма вероятно, что в каждом отдельном слу­ чае вам потребуется добавить или удалить некоторые элементы, чтобы диаграмма приобрела именно тот вид, который вам необходим. Решается эта задача с помо­ щью элементов управления вкладок Работа с диаграммами^Конструктор и Работа с диаграммамиФФормат. Например, чтобы поместить на диаграмму заголовок выберите команду Работа с диаграммами ^Конструктор ^Макеты диаграмм^ Добавить элемент диаграммы, а затем

522

Часть III. Создание диаграмм и другие приемы визуализации

выберите в раскрывшемся меню вариант Название диаграммы. В открывшемся под­ меню вам будут предложены возможные варианты расположения заголовка. Программа первоначально всегда вставляет в диаграмму строку заголовка с тек­ стом «Название диаграммы». Чтобы изменить его, щелкните на заголовке правой кнопкой мыши и выберите в открывшемся контекстном меню команду Изменить текст.

Форматирование элементов диаграммы Любой элемент на диаграмме может быть отформатирован и настроен множе­ ством различных способов. Многие пользователи остаются вполне довольны своими диаграммами в том виде, в каком они были созданы с использованием тех приемов, которые обсуждались выше в этой главе. Но, поскольку вы читаете эту книгу, вам, вероятно, будет интересно узнать, как можно настраивать и модифицировать диа­ граммы для достижения их максимальной выразительности (с вашей точки зрения). Тема форматирования и настройки диаграмм подробно обсуждается в главе 21.

В Excel предлагается два способа форматирования и настройки параметров от­ дельных элементов диаграмм, однако в каждом случае требуется сначала выбрать этот элемент. •

Использовать элементы управления на вкладке Работа с диаграммами^Формат ленты.

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

Кроме того, чтобы открыть панель задач Формат… для некоторого элемента диа­ граммы, можно просто дважды щелкнуть на нем. Например, предположим, что на диаграмме требуется изменить цвет столбиков для одного из рядов данных. Щелкните на любом столбике, представляющем точку данных этого ряда (будут выделены все точки данных этого ряда), и выберите ко­ манду Работа с диаграммами^Формат^Стили фигур^Заливка фигуры, а затем ука­ жите в раскрывшейся палитре требуемый цвет. Чтобы изменить свойства контура столбика данных, откройте меню кнопки Работа с диаграммамиФформатФСтили фигура Контур фигуры. Для изменения эффекта, примененного к столбикам ряда данных (например, это может быть тень, которую следует добавить, изменить или удалить), откройте меню кнопки Работа с диаграммами^Формат^Стили фигур^Эффекты фигуры. Альтернативный вариант — выбрать на диаграмме требуемый ряд данных, на­ жать комбинацию клавиш и воспользоваться элементами управления па­ нели задач Формат ряда данных, представленной на рис. 20.14. Обратите внимание, что эта панель задач имеет три вкладки — для переключения между ними щелкайте на пиктограммах в верхней части панели. Каждая панель содержит один или более разделов, — их необходимо раскрыть (щелчком на стрелке слева от названия раз­ дела), чтобы получить доступ к элементам управления данного раздела. Эта панель может быть прикреплена в границам окна, так что в дальнейшем достаточно будет

Глава 20. Основы построения диаграмм

523

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

Рис. 20.14. Использование панели задач Формат ряда данных

Манипуляции диаграммами В этом разделе рассматриваются способы выполнения различных манипуляций диаграммами.

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

Ч

Перемещение и изменение размеров диаграммы Если вы работаете с внедренной диаграммой, то можете легко перемещать и из­ менять ее размер с помощью мыши. Для этого нужно щелкнуть на рамке диаграммы, а затем перетащить ее за рамку в требуемое место листа. Чтобы изменить размер диаграммы, перетащите один из восьми маркеров размера на ее рамке. Маркеры размера имеют вид небольших кружков, отображаемых на углах и сторонах рамки диаграммы после ее активизации. При наведении на эти маркеры курсор приоб­ ретает вид двунаправленной стрелки, — щелкните на маркере и измените размеры диаграммы. Также; когда диаграмма выделена, ее точный размер можно установить с по­ мощью элементов управления группы Работа с диаграммами^Формат^Размер. Можно изменить размер диаграммы с помощью счетчиков или непосредственно ввести требуемые значения ее размеров в поля ввода.

524

Часть II]. Создание диаграмм и другие приемы визуализации

Для перемещения внедренной диаграммы просто щелкните на ее рамке в лю­ бом месте, кроме маркеров размера, а затем перетащите в требуемое место. Также для перемещения внедренной диаграммы можно использовать стандартную проце­ дуру вырезания и вставки. Выделите диаграмму и выберите команду Главная1^ Буфер обменам Вырезать (или нажмите комбинацию клавиш ). Затем активизи­ руйте ячейку, рядом с которой должна появиться диаграмма, и выберите команду Главная1^ Буфер обменам Вставить (или нажмите комбинацию клавиш ). Новое положение диаграммы может быть на другом рабочем листе или даже в дру­ гой рабочей книге. Если диаграмма перемещается в другую рабочую книгу, то ав­ томатически устанавливается связь между рабочей книгой, в которую перемещена диаграмма, и рабочей книгой, содержащей исходные данные, на основании которых построена диаграмма. Еще один способ перемещения диаграммы — выбрать команду Работа с диаграммамиФКонструктор^Расположение^Переместить диаграмму. В результате откроет­ ся диалоговое окно Перемещение диаграммы, в котором можно будет указать тот лист данной рабочей книги, на который следует переметить диаграмму (он может быть как обычным рабочим листом, так и листом диаграммы).

Перемещение внедренной диаграммы на собственный лист Если диаграмма создается с использованием пиктограмм группы Вставка^ Диаграммы, то созданная диаграмма всегда будет внедренной. Если после создания потребуется перенести ее на собственный лист, то сделать это совсем несложно. Чтобы переместить внедренную диаграмму на отдельный лист диаграмм, выде­ лите диаграмму и выберите команду Работа с диаграммами^Конструктор^Расположение^Переместить диаграмму. В открывшемся диалоговом окне Перемещение диаграммы установите переключатель в положение на отдельном листе и (необяза­ тельно) введите требуемое имя этого листа диаграммы.

Рис. 20.15. Использование диалогового окна Перемещение диаграммы

для переноса внедренной диаграммы на собственный лист

Для перемещения диаграммы с собственного листа на обычный рабочий лист щелкните на ярлычке ее листа и выберите на ленте команду Работа с диаграммами^Конструктор^Расположение^Переместить диаграмму. В открывшемся диа­ логовом окне Перемещение диаграммы установите переключатель в положение на имеющемся листе и выберите в раскрывающемся списке слева тот лист, на кото­ рый должна быть перемещена эта диаграмма.

Глава 20. Основы построения диаграмм

525

Копирование диаграммы Чтобы сделать точную копию внедренной диаграммы, щелкните на рамке диа­ граммы и, не отпуская левую кнопку мыши, нажмите и удерживайте нажатой кла­ вишу , а затем перетащите копию диаграммы на новое место. Либо выбери­ те команду Главная^Буфер обмена^Вырезать (или нажмите комбинацию клавиш ), а затем активизируйте ячейку, рядом с которой должна появиться диа­ грамма, и выберите команду Главная1^ Буфер обменам Вставить (или нажмите ком­ бинацию клавиш ). Новое положение диаграммы может быть на другом рабочем листе или даже в другой рабочей книге. Если диаграмма перемещается в другую рабочую книгу, то она автоматически будет связана с данными в исходной рабочей книге. Чтобы скопировать диаграмму, расположенную на отдельном листе, выполните те же действия, но перетаскивайте не саму диаграмму, а ярлычок листа, на котором она находится.

Удаление диаграммы Чтобы удалить внедренную диаграмму, нажмите клавишу , щелкните на ди­ аграмме (в результате диаграмма будет выделена как объект) и нажмите клавишу . Удерживая нажатой клавишу , вы можете выбрать сразу несколько диаграмм, а затем удалить их одним махом, нажав клавишу . Чтобы удалить диаграмму, расположенную на отдельном листе, щелкните правой кнопкой мыши на ее ярлычке и выберите из контекстного меню команду Удалить. Если нужно удалить несколько листов диаграмм, сначала щелкните на их ярлычках при нажатой клавише , чтобы выбрать их все, а затем щелкните правой кноп­ кой мыши и выберите из контекстного меню команду Удалить.

Добавление элементов в диаграмму Чтобы добавить в диаграмму новые элементы (такие, как заголовки, легенда, метки данных или линии сетки), активизируйте диаграмму и воспользуйтесь эле­ ментами управления в меню кнопки Элементы диаграммы (со знаком «+»), которая появляется справа от верхнего правого угла диаграммы. Напомним, что все эти эле­ менты могут расширяться для отображения дополнительных параметров. Также можно воспользоваться элементами управления диалогового окна Доба­ вить элементы диаграмм на вкладке Работа с диаграммами и Нет заливки позволяет сделать эту область прозрачной. В результате сквозь нее будут видны цвет и заливка области диаграммы. Чтобы изменить положение области построения диаграммы, следует выделить ее и перетащить, захватив за одну из границ. Для изменения размера области по­ строения диаграммы нужно перетащить один из ее угловых маркеров. Различные типы диаграмм по-разному реагируют на изменения, внесенные в их области построения. Например, нельзя изменять пропорции области построения круговой и лепестковой диаграмм: у этих типов диаграмм она всегда квадратная. Работая с другими типами диаграмм, можно изменять пропорции сторон, уменьшая или увеличивая их высоту или ширину. На рис. 21.6 показана диаграмма с уменьшенными размерами области построе­ ния, — для того, чтобы поместить на нее текстовую надпись.

Рис. 21.6. Область построения диаграммы уменьшена,

чтобы поместить на нее текстовую надпись

Важно помнить, что размер области построения может автоматически изменять­ ся во время форматирования других элементов диаграммы. Например, если доба­ вить к диаграмме легенду, область построения может увеличиться, чтобы появилось дополнительное место для размещения легенды.

Часть III. Создание диаграмм и другие приемы визуализации

560

Совет

Изменение размера и расположения области построения диаграммы может очень сильно сказаться на внешнем виде всей диаграммы. При настройке диаграммы вам наверняка за­ хочется поэкспериментировать с различными размерами и местом расположения области i построения._____________________________________________________________________________________________________

Заголовки диаграммы В диаграммах используется несколько типов заголовков.

Заголовок диаграммы

Заголовок оси категорий

Заголовок оси значений

Заголовок вспомогательной оси категорий

Заголовок вспомогательной оси значений

Заголовок вспомогательной оси, показывающей глубину на трехмерной диа­ грамме

Количество заголовков зависит от типа диаграммы. Например, в круговой диа­ грамме имеется только заголовок диаграммы, поскольку в ней нет никаких осей. Проще всего добавить заголовок, воспользовавшись кнопкой Элементы диаграммы (со знаком «плюс»), которая появляется справа от диаграммы при ее вы­ боре. Активизируйте диаграмму, щелкните на кнопке Элементы диаграммы и выбе­ рите в списке элемент Название диаграммы. Для определения расположения заго­ ловка сместите указатель мыши над элементом списка Название диаграммы вправо и щелкните на стрелке. В открывшемся подменю можно задать требуемый вариант размещения названия диаграммы или выбрать команду Дополнительные параметры, чтобы открыть панель задач Формат названия диаграммы. Аналогичным образом задаются названия осей. При этом в вашем распоряжении будут дополнительные опции для определения того, название какой оси вы хотите задать. После добавления заголовка можно будет заменить его стандартный текст требу­ емым, а затем перетащить заголовок в нужное место диаграммы. Следует заметить, что нельзя изменить размер заголовка путем перетаскивания его границ. Достичь изменения его размеров можно только изменением размера используемого шрифта.

Совет В заголовке диаграммы или заголовках осей могут использоваться ссылки на ячейки. Например, можно создать ссылку в диаграмме так, чтобы на ней всегда использовался в ка­ честве заголовка текст, содержащийся в ячейке А1. Для того чтобы создать ссылку на заголо­ вок, достаточно ввести знак равенства (=), указать на ячейку и нажать клавишу . После создания ссылки при выборе заголовка в строке формул отобразится ссылка на ячейку.

Глава 21. Расширенные возможности построения диаграмм

561

Область применения текста в диаграмме не ограничивается одними только за­ головками. Существует возможность добавления свободно плавающего текста. Для этого необходимо активизировать диаграмму и выбрать на ленте команду Вставка^Текст^Надпись. Щелкните на том месте, где необходимо создать текстовое окно, и введите текст. Можно изменить размеры текстового окна, переместить его на новое место, а также изменить его форматирование и т.д. Существует еще один способ: в диаграмму можно добавить объект Фигура, а затем добавить текст в этот объект (если сам объект Фигура поддерживает эту возможность). Пример вставки фигуры с текстом был показан на рис. 21.6.

Легенда диаграммы Легенда диаграммы состоит из текста и ключей, идентифицирующих ряды дан­ ных на диаграмме. Ключ — это маленький графический объект, сопоставленный определенному ряду данных диаграммы (по одному ключу на каждый ряд). Чтобы добавить на диаграмму легенду, активизируйте диаграмму и щелкни­ те на пиктограмме Элементы диаграммы. Установите флажок Легенда и щелкни­ те на стрелке справа, чтобы задать расположение легенды. В открывшемся меню можно будет выбрать любой из доступных вариантов — Справа, Слева, Вверху или Внизу. После вставки легенды при необходимости можно будет перетащить ее в лю­ бое желаемое положение.

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

Чтобы удалить легенду, выделите ее и нажмите клавишу . Можно выделить отдельный элемент легенды и отформатировать только его. Например, чтобы привлечь внимание к определенному ряду данных, название этого ряда можно выделить полужирным написанием. Чтобы выделить отдельный элемент в легенде, сначала выделите всю легенду, а затем щелкните на нужном элементе. Если вы не включили текст для подписей легенды в диапазон исходных данных, Excel будет использовать в легенде имена Ряд 1, Ряд 2 и т.д. Чтобы добавить назва­ ния рядов данных, выберите команду Работа с диаграммами^Конструктор1^Данные ^Выбрать данные, и откроется диалоговое окно Выбор источника данных (рис. 21.7). Выделите ряд, которому хотите присвоить новое имя, и щелкните на кнопке Изменить. В открывшемся диалоговом окне Изменение ряда в поле Имя ряда введи­ те новое имя (название ряда). Такие же действия повторите для всех рядов данных, названия которых требуется изменить. В некоторых случаях для обозначения рядов данных вместо легенды можно при­ менить специальный тип автофигур, называемых выносками. На рис. 21.8 показано использование выносок вместо легенды. Они взяты из галереи автофигур, которая находится в разделе ленты Работа с диаграммами ^Формат1^ Вставка фигур.

562

Часть III. Создание диаграмм и другие приемы визуализации

Рис. 21.7. Диалоговое окно Выбор источника данных

позволяет изменить название ряда данных

Рис. 21.8. Использование выносок вместо легенды

Предположим, что была создана очень сложная диаграмма, на форматирование и на­ стройку которой было потрачено много времени. И теперь нужно создать еще одну такую же. Что делать в таких случаях? Существует несколько вариантов действий. Копирование параметров форматирования. Создайте вторую диаграмму с настрой­

ками, установленными по умолчанию. Затем выделите первую диаграмму и вы­ берите команду Главная^Буфер обмена^Копировать (или нажмите комбинацию клавиш ). Щелкните на второй диаграмме, чтобы выделить ее, а затем выберите команду Главная^Буферобмена^Вставить^Специальная вставка. В открыв­ шемся диалоговом окне Специальная вставка установите переключатель Вставить в положение Форматы. Копирование диаграммы путем изменения источника данных. Выделите первую диаграмму. Затем, удерживая нажатой клавишу , переместите ее в любое дру­ гое место рабочего листа, — в результате будет создана точная копия первой диа­ граммы. Выберите команду Работа с диаграммами^Конструктор^Данные^Выбрать

Глава 21. Расширенные возможности построения диаграмм

563

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

вой кнопкой мыши и выберите в раскрывшемся контекстном меню команду Сохранить как шаблон. В появившемся диалоговом окне Сохранение шаблона диаграммы введи­ те имя вновь создаваемого шаблона диаграммы и щелкните на кнопке Сохранить. Теперь при создании новой диаграммы этот шаблон можно будет использовать как новый тип диаграмм. (Более подробно о создании шаблонов диаграмм рассказыва­ ется в конце этой главы, в разделе “Создание шаблонов диаграмм”.)

Линии сетки Линии сетки помогают определить числовые значения представляемых на диа­ грамме данных. Линии сетки — это продолжения делений осей. Одни диаграммы с линиями сетки выглядят довольно неплохо, а другие сетка слишком загромождает. Иногда горизонтальных линий сетки вполне достаточно, хотя точечные диаграммы лучше выглядят с горизонтальными и вертикальными линиями сетки. Чтобы добавить или удалить линии сетки, активизируйте диаграмму и щелкните на кнопке Элементы диаграммы, расположенной справа от диаграммы. Установите флажок Сетка и щелкните на расположенной справа стрелке, чтобы задать требуе­ мый тип линий сетки. На заметку Для каждой оси предусмотрены два вида линий сетки: основные и вспомогательные (проме­ жуточные). С помощью линий основной сетки показан уровень меток делений осей, а линии вспомогательной сетки располагаются между линиями основной сетки.

к

Чтобы изменить цвет, толщину или вид линий сетки, щелкните на одной из них, а затем воспользуйтесь командами группы Работа с диаграммами^Формат^Стили фигур. Другой вариант — воспользоваться мини-панелью управления для основ­ ных или вспомогательных линий сетки. Если линии сетки слабо выделяются на общем фоне, попробуйте изменить их цвет на более яркий, а если слишком сильно — вывести их пунктирными линиями.

Настройка осей Диаграммы различаются количеством используемых осей. Круговые и кольце­ вые диаграммы, а также диаграммы «солнечные лучи» и древовидные диаграммы вообще не имеют осей. Все двухмерные диаграммы имеют две оси или три (если используется вспомогательная ось значений) и даже четыре (если используется вспомогательная ось категорий в точечной диаграмме). Настоящие трехмерные диаграммы имеют три оси. Excel позволяет управлять всеми параметрами осей с помощью панели задач Формат оси. Содержимое этой панели зависит от типа выбранной оси.

564

Часть III. Создание диаграмм и другие приемы визуализации

Настройка оси значений Для того чтобы изменить ось значений, щелкните на ней правой кнопкой мыши и выберите в открывшемся контекстном меню команду Формат оси. На рис. 21.9 показана вкладка Параметры оси панели задач Формат оси для оси значений. В дан­ ном примере развернут раздел Параметры оси, а другие три раздела свернуты. Другие пиктограммы, расположенные вверху этой панели задач, связаны с изменением внеш­ него вида оси и форматированием ее цифр. По умолчанию Excel определяет шкалу оси (т.е. минимальное и максимальное зна­ чения на оси и цену основных и промежу­ точных делений) самостоятельно, основы­ ваясь на диапазоне значений данных ряда. Если вы не согласны с автоматическими определениями шкалы Excel, задайте соб­ ственные максимальное и минимальное значения в группе Границы. Если изменить эти значения, слово Автоматически, рас­ положенное справа, изменится на кнопку Сброс. Щелкните на кнопке Сброс, чтобы Рис. 21.9. Панель задач Параметры оси вернуться к режиму автоматического мас­ для настройки оси значений штабирования шкал. Программа Excel также автоматически настраивает максимальные и минималь­ ные единицы для осей. И вновь, можно изменить выбранные программой Excel зна­ чения и задать собственные значения. Изменение шкалы оси значений может существенно повлиять на внешний вид диаграммы. В некоторых случаях манипулирование шкалой может привести к тому, что отображенные данные будут восприниматься неверно. На рис. 21.10 показаны два графика, на которых отображены одни и те же данные. На левом графике авто­ матически выбранная шкала охватывает диапазон от 0 до 300 000 ₽, а на правом — от 130 000 до 250 000 ₽. Очевидно, что правый график более наглядно отображает динамику изменения данных, чем левый. Какую шкалу использовать, зависит от ситуации, поскольку каких-то строгих правил не существует. Однако старайтесь избегать искажения данных, выбирая не­ верную шкалу и манипулируя диаграммой, чтобы выявить тенденцию, которой не существует. Совет

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

Глава 21. Расширенные возможности построения диаграмм

565

Рис. 21.10. Два графика с разными шкалами, построенные на основе одних и тех же данных

Еще одним параметром на панели задач Формат оси является флажок Обратный порядок значений. На левой диаграмме на рис. 21.11 используются настройки, при­ нятые по умолчанию. На правой диаграмме используется режим Обратный порядок значений, в котором направление оси значений меняется на обратное. Заметим, что ось категорий при этом располагается вверху. Если нужно оставить ее внизу диаграммы, установите переключатель Горизонтальная ось пересекает в положение Максимальное значение по оси.

Рис. 21.11. На правой гистограмме для оси значений

используется режим обратного порядка значений

Если значения, по которым строится диаграмма, имеют очень большой разброс, то для ее оси значений рационально использовать логарифмическую шкалу. Такая шка­ ла часто используется для представления научных данных. На рис. 21.12 показаны два графика: верхний имеет стандартную шкалу, а нижний — логарифмическую.

На заметку

Для логарифмической шкалы по умолчанию используется основание логарифма 10, поэтому каж­ дое следующее значение цены деления будет в 10 раз больше предыдущего. Увеличение значе­ ния основания до 100 приведет к тому, что каждое значение отметки будет в 100 раз больше, чем то, которое размещается перед ним. Можно задать основание в диапазоне между 2 и 1000.

566

Часть III. Создание диаграмм и другие приемы визуализации

Рис. 21.12. На обеих диаграммах отображаются одинаковые данные,

но для нижнего графика используется логарифмическая шкала

Диаграммы, показанные на рис. 21.12, сохранены в рабочей книге, находящей­ ся в файле log scale.xlsx на веб-сайте книги (www.wiley.com/go/excel 2019bible). Для русскоязычного издания книги файл называется Pic21_12. xlsx.

Если для построения диаграммы используются очень большие числовые зна­ чения, можно установить новую цену делений для оси значений с помощью одно­ именного раскрывающегося списка на панели задач Формат оси. На рис. 20.13 представлена диаграмма (слева), в которой используются большие числа. На диаграмме справа используется режим Цена деления: миллионы с установлен­ ным флажком Отображать на диаграмме. К автоматически отображаемым на этой диаграмме меткам дополнительно были добавлены слова Километры и Миллионы километров. Для настройки отметок, отображаемых на оси, на панели задач Формат оси раз­ верните раздел Деления на вкладке Формат оси. Для управления отображением делений на оси используются параметры Основные и Промежуточные. Основные деления — это отметки на осях, которые сопровождаются обозначениями. Промежуточные деления обычно размещаются между основными делениями.

Глава 21. Расширенные возможности построения диаграмм

567

Рис. 21.13. Для правой диаграммы использована шкала в миллионах единиц

Если развернуть раздел Подписи, появится возможность позиционировать метки осей в трех местах: рядом с осью, вверху и внизу (рис. 21.14). Каждая ось на рисунке охватывает диапазон значений от -10 до +10. Если эти настройки совместить с за­ данием опции Горизонтальная ось пересекает, можно создать еще больше вариантов графиков.

Рис. 21.14. Одинаковые графики с разными положениями осей и подписей к ним

568

Часть III. Создание диаграмм и другие приемы визуализации

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

Настройка оси категорий На рис. 21.15 показана вкладка Параметры оси панели задач Формат оси для оси категорий. Многие опции этой панели дублируют опции аналогичной панели задач для оси значений. Самым важным параметром на этой вкладке панели задач является Тип оси: он определяет, какая это ось — ось текста или ось дат. При созда­ нии новой диаграммы Excel автоматически опре­ деляет, содержит ли ее ось категорий значения даты или времени. Когда справедливо последнее, создается временная диаграмма. На рис. 21.16 представлен простой пример такой диаграммы. В столбце А содержатся даты, а в столбце В — дан­ ные, на основе которых была построена гисто­ грамма. Несмотря на то что диаграмма содержит значения только для 10 дней, Excel все равно раз­ бивает ось на 30 равных по величине интервалов. Это означает, что данные оси являются датами. Иногда создавать временную ось нежелатель­ но. Чтобы отменить эту установку, на вкладке Параметры оси панели Формат оси в разделе Параметры оси установите переключатель Тип Рис. 21.15. Параметры настройки, оси в положение Ось текста. Результат показан доступные для оси категорий рис. 21.17 — для тех же исходных данных, что и на рис. 20.16. В данном случае использование категории временного типа позво­ ляет более точно представить характер распределения исходных данных во времени.

Рис. 21.16. Excel распознает даты и создает

ось категории временного типа

Глава 21. Расширенные возможности построения диаграмм

569

Рис. 21.17. Те же данные, что на рис. 21.16,

но с использованием оси текстового типа

Excel самостоятельно определяет, как отображать подписи оси категорий. Но вы всегда можете «исправить» Excel отформатировав ось категорий по-своему. На рис. 21.18 показана гистограмма, на которой подписями к оси категорий являют­ ся названия месяцев. Программа Excel выбрала расположение названий месяцев под углом. Если сделать диаграмму более широкой, то названия месяцев расположат­ ся горизонтально. Настроить подписи можно также с помощью параметров настройки в разделе Выравнивание вкладки Размер и свойства панели задач Формат оси.

Рис. 21.18. Так Excel автоматически создает подписи к оси категорий

Следует учитывать, что на оси категорий могут присутствовать метки, включаю­ щие более одного столбца. На рис. 21.19 представлена диаграмма, в которой для соз­ дания меток оси категорий используются текстовые значения в двух столбцах. При создании этой гистограммы был выделен диапазон ячеек А1 :D10 и программа само­ стоятельно сформировала подписи на оси категорий.

570

Часть III. Создание диаграмм и другие приемы визуализации

Рис. 21.19. На этой диаграмме для создания меток оси категорий используются два столбца

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

После создания базовой диаграммы вам наверняка захочется сделать ее копию для своих экспериментов. Экспериментируя только с копией диаграммы, всегда можно вернуться к ее первоначальному виду. Для создания копии внедренной диаграммы выделите ее и, удерживая нажатой клавишу , переместите на но­ вое место. Если необходимо сделать копию листа диаграммы, щелкните на его яр­ лыке и, удерживая нажатой клавишу , переместите его на новое место. То же самое можно проделать с помощью известных комбинаций клавиш и .

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

Отображает имя ряда в списке Элементы диаграммы, который находится в группе команд Работа с диаграммами^Формат^Текущий фрагмент.

Глава 21. Расширенные возможности построения диаграмм

Отображает формулу =РЯД в строке формул.

Выделяет ячейки, содержащие данные этого ряда.

571

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

л

Внимание! Если панель задач Формат еще не отображена, то, чтобы вывести на экран панель задач Формат ряда данных, дважды щелкните на нужном ряду данных. Однако при этом следует быть внимательным: если ряд данных уже выбран, двойной щелчок приведет к появлению панели задач Формат точки данных. Это окно позволяет внести изменения только для одной точки ряда данных. Для того чтобы отредактировать именно ряд данных, необходимо, чтобы перед щелчком на ряду данных был выбран другой элемент диаграммы. Еще один вариант ^для отображения панели задач просто нажмите комбинацию клавиш .

Удаление или сокрытие ряда данных Чтобы удалить ряд данных, выделите его и нажмите клавишу . Ряд дан­ ных будет удален из диаграммы, но данные в рабочем листе останутся в неизмен­ ном виде. На

заметку

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

Чтобы временно скрыть какой-либо ряд данных, активизируйте диаграмму и щелкните на расположенной справа кнопке Фильтры диаграммы. Снимите фла­ жок у того ряда данных, который хотите скрыть, и щелкните на кнопке Применить. Выбранный ряд данных будет скрыт, но он по-прежнему будет связан с диаграм­ мой, поэтому в дальнейшем его легко можно будет вернуть на экран. Все ряды на диаграмме скрыть не удастся, по крайней мере один ряд должен оставаться ви­ димым. Кнопка Фильтры диаграммы также позволяет скрывать отдельные точки данных ряда. Обратите внимание на то, что в новых типах диаграмм, появившихся в Excel 2016 и Excel 2019, кнопка Фильтры диаграммы не отображается.

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

572

Часть III. Создание диаграмм и другие приемы визуализации

Использование диалогового окна Выбор источника данных. Активизируйте диаграмму, а затем выберите команду Работа с диаграммами^Конструктор^ Данные^Выбрать данные. В открывшемся диалоговом окне Выбор источника данных щелкните на кнопке Добавить. В очередном открывшемся диалоговом окне Изменение ряда в поле Имя ряда укажите название нового ряда данных, а в поле Значения укажите диапазон ячеек, содержащий значения для ново­ го ряда данных. Диалоговое окно Выбор источника данных также доступно из контекстного меню, которое открывается после щелчка правой кнопкой мыши на большинстве элементов диаграммы.

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

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

Совет

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

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

Перетаскивание границы диапазона Если вы работаете с внедренной диаграммой, самый простой способ изменения диапазона данных, на основе которого она построена, — это перетаскивание грани­ цы диапазона. После щелчка на диаграмме Excel выделит соответствующий диапа­ зон ячеек на рабочем листе, на основании которого она построена. Чтобы увеличить или сократить ряд данных, нужно просто перетащить маркер заполнения, располо­ женный в правом нижнем углу рамки диапазона, как показано на рис. 21.20. В этом случае в диаграмму нужно было включить две дополнительные точки данных.

Глава 21. Расширенные возможности построения диаграмм

573

Рис. 21.20. Для изменения ряда данных диаграммы выделите диаграмму и перетащите маркер заполнения

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

Использование диалогового окна Изменение ряда Чтобы обновить диаграмму для нового диапазона данных, можно использовать диалоговое окно Изменение ряда. Наиболее быстрый способ добраться до этого окна — щелкнуть правой кнопкой мыши на какой-либо точке ряда данных и вы­ брать в контекстном меню команду Выбрать данные. В открывшемся диалоговом окне Выбор источника данных выделите ряд данных, который надо изменить, и щел­ кните на кнопке Изменить. Во вновь открывшемся диалоговом окне Изменение ряда (рис. 21.21) в поле Значения измените диапазон ряда данных.

Рис. 21.21. Диалоговое окно Изменение ряда

Можно изменить сразу весь диапазон данных, используемый для построения диаграммы, воспользовавшись полем Диапазон данных для диаграммы диалогового

574

Часть III. Создание диаграмм и другие приемы визуализации

окна Выбор источника данных. Или выделите какой-либо ряд из этого списка и щел­ кните на кнопке Изменить, чтобы внести изменения в выделенный вами ряд.

Редактирование формулы ряда С каждым набором данных в диаграмме связана определенная формула РЯД. Она появляется в строке формул, если на диаграмме выделен ряд данных. Если вы пони­ маете, как работает формула ряд, то сможете отредактировать ссылки на диапазон данных, которые использовались для построения диаграммы, прямо в формуле ряд.

На

заметку

Формула РЯД не является обычной формулой Excel: ее нельзя применять в ячейках рабочего листа и в ней нельзя использовать функции. Однако редактировать аргументы этой формулы I можно.____________________________________________________________________________________________________________

Синтаксис функции РЯД приведен ниже: =РЯД (имя_ряда; метки_категории; диапазон_данных; номер_ряда;размеры)

Функция РЯД имеет несколько аргументов, описанных ниже.

• имя_ряда

(необязательный). Содержит ссылку на ячейку, в которой находит­ ся имя ряда, используемое в легенде. Если в диаграмме один ряд данных, то в этом аргументе указывается заголовок диаграммы. Аргумент может вклю­ чать текст, заключенный в кавычки. Если данный аргумент опущен, то Excel создаст стандартное имя ряда (например, Ряд 1, Ряд 2 и т.д.).

• метки_категории

(необязательный). Содержит ссылку на диапазон ячеек, в котором записаны метки для оси категорий. Если этот аргумент опущен, то Excel создаст метки оси категорий в виде чисел натурального ряда, начи­ ная с 1. Для точечных графиков этот аргумент содержит значения для оси Л». Допускается в качестве аргумента задавать несмежный диапазон. В этом слу­ чае адреса диапазонов разделяются точкой с запятой и заключаются в кру­ глые скобки. Аргументом также может быть массив числовых или текстовых значений, заключенный в фигурные скобки.

• диапазон-данных

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

• номер_ряда (обязательный). Содержит номер ряда данных в диаграмме. Этот аргумент имеет значение только тогда, когда в диаграмме имеется несколь­ ко рядов данных. Не допускается в качестве этого аргумента использовать ссылку на ячейку.

Глава 21. Расширенные возможности построения диаграмм

575

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

В функции РЯД указываются абсолютные ссылки на ячейки (с двумя символа­ ми $) и обязательно указывается имя рабочего листа. Например, формула =РЯД мо­ жет иметь такой вид: -РЯД(Лист1!$ В$1;;Лист1!$В$2:$В$7;1)

Совет В качестве аргументов функции ряд вместо ссылок на диапазоны можно использовать име­ на этих диапазонов. В этом случае перед именем диапазона обязательно указываются имя рабочего листа и рабочей книги, как показано в следующей формуле: -РЯД(Лист!!$В$1;;budget.xlsx!Мои данные;1)

Более подробно об именованных диапазонах читайте в главе 4, “Работа с диапазо­ нами и таблицами Excel”.

Добавление подписей данных Иногда необходимо, чтобы на диаграмме отображались конкретные значения данных в каждой точке. Для добавления подписей для рядов данных в диаграмме выберите ряд и щелкните на кнопке Элементы диаграммы, расположенной справа от диаграммы. Установите флажок Подписи данных и щелкните на стрелке справа, чтобы задать расположение подписей. Для того чтобы добавить подписи данных для всех рядов, воспользуйтесь той же процедурой, но предварительно выберите любой другой объект диаграммы, отлич­ ный от рядов данных. На рис. 21.22 показаны три диаграммы с минимальным оформлением и подписями. Для того чтобы изменить тип информации, которая отображается в подписях данных, выберите подписи данных для ряда и используйте панель задач Формат подписей данных (если панель задач невидима, нажмите ). Затем для на­ стройки подписей данных воспользуйтесь разделом Параметры подписи. Например, в подпись можно включить имя ряда и имя категории. Подписи данных привязаны к рабочему листу, поэтому при изменении данных подписи также изменяются. При необходимости заменить подпись данных другим текстом выберите ее и введите новый текст. В некоторых ситуациях вам может понадобиться использовать для какого-то ряда другие подписи данных. Для этого на панели задач Формат подписей данных установите флажок значения из ячеек (он находится в разделе Параметры подписи). После этого появится диалоговое окно Диапазон меток данных, с помощью которого вы сможете выбрать нужный диапазон, содержащий подписи точек данных.

576

Часть III. Создание диаграмм и другие приемы визуализации

Рис. 21.22. Диаграмма с подписями данных, но без осей

На рис. 21.23 представлена точечная диаграмма, в которой используются под­ писи, хранящиеся в диапазоне. В версиях до Excel 2013 добавлять такие подписи данных можно было только вручную или с помощью макросов. Поскольку это новая возможность (появившаяся в Excel 2013), подписи данных, применяющиеся с ис­ пользованием этого метода, не будут отображаться в Excel 2007 и более ранних версиях.

Рис. 21.23. Диаграмма с подписями данных,

расположенными в отдельном диапазоне

Глава 21. Расширенные возможности построения диаграмм

577

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

Обработка пропущенных данных Иногда в наборе данных для диаграммы может быть пропущено одно или не­ сколько значений. Как видно на рис. 21.24, Excel предлагает три способа обработки таких ситуаций.

Рис. 21.24. Три возможных варианта обработки пропущенных данных

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

578

Часть III. Создание диаграмм и другие приемы визуализации

Показывать пустые ячейки как линию. Пропущенные данные вычисляются на основании соседних значений таким образом, чтобы они соединяли прямой линией эти соседние значения. Данная опция доступна только для графиков, диаграмм с областями и точечных графиков. Возможность выбора желаемого варианта предоставляется в диалоговом окне Настройка скрытых и пустых ячеек, которое открывается после выбора команды Работа с диаграммамиФКонструктор^Данные^Выбрать данные и щелчка на кнопке Скрытые и пустые ячейки в диалоговом окне Выбор источника данных. В диалоговом окне Настройка скрытых и пустых ячеек предоставляются на выбор три имеющихся в наличии метода обработки пропущенных данных. Перечисленные опции диало­ гового окна Настройка скрытых и пустых ячеек действуют на все ряды данных акти­ визированной диаграммы. Поэтому нельзя применить разные опции к различным рядам данных одной и той же диаграммы. Совет

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

Добавление планок погрешностей В определенных типах диаграмм можно добавить к точкам данных планки по­ грешностей. Они обычно используются для определения области изменения значе­ ния данных в конкретной точке. Планки погрешностей применяются только к диа­ граммам с областями, гистограммам, графикам и точечным диаграммам. Чтобы добавить планки погрешностей к значениям выделенного ряда данных, активизируйте диаграмму и щелкните на кнопке Элементы данных, расположенной справа от диаграммы. Установите флажок рядом с элементом Пределы погрешностей и щелкните на стрелке справа, чтобы указать требуемый тип планок погрешностей. Дополнительные возможности по выбору и настройке планок погрешностей предо­ ставляет панель задач Формат предела погрешностей. В этом окне имеется несколь­ ко опций, задающих планки погрешностей разных типов.

Фиксированное значение. сированный размер.

Планки погрешностей имеют заданный вами фик­

Процент. Размер планки погрешностей задается в процентах от каждого значения.

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

Глава 21. Расширенные возможности построения диаграмм

579

На рис. 21.25 представлен график, содержащий планки погрешностей.

Рис. 21.25. На этой диаграмме отображаются

планки погрешности, выраженные в процентах Совет

Ряд данных точечной диаграммы может иметь планки погрешностей для значений осей ХиУ ^одновременно.___________________________________________________________________________________________________ Рабочая книга с несколькими другими примерами планок погрешности находит­ ся в файле error bars example.xlsx на веб-сайте книги (www. wiley.сот/ go/excel2019bible). Для русскоязычного издания книги файл называется Pic21 25.xlsx.

Добавление линии тренда Если вы строите диаграмму для данных, зависящих от времени, то можете по­ строить линию тренда, которая отобразит тенденции изменения данных. В неко­ торых случаях с помощью линий тренда можно прогнозировать изменение данных. Чтобы дополнить диаграмму линией тренда, выделите ряд данных и щелкните на кнопке Элементы данных, расположенной справа от диаграммы. Установите фла­ жок Линия тренда и щелкните на стрелке справа, чтобы задать тип линии тренда. Выбор типа линии тренда зависит от данных, но самый распространенный тип — линейный (рис. 21.26). Для более точной настройки параметров линии тренда выберите вариант Дополнительные параметры… (см. рис. 21.26). В результате откроется панель за­ дач Формат линии тренда, представленная на рис. 21.27. Здесь можно выбрать до­ полнительные варианты построения линий тренда, например Логарифмическая, Экспоненциальная или Скользящее среднее.

580

Часть III. Создание диаграмм и другие приемы визуализации

Рис. 21.26. Добавление к диаграмме линии тренда

Рис. 21.27. Панель задач Формат линии тренда предоставляет дополнительные возможности настройки параметров линии тренда.

Глава 21. Расширенные возможности построения диаграмм

581

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

два ряда данных. На рис. 21.28 показана гистограмма с двумя рядами данных. Значения рядов довольно сильно различаются, поэтому ряд Осадки сложно анализировать на этой диаграмме. Именно этот факт может послужить причиной для создания комбини­ рованной диаграммы.

Рис. 21.28. Значения второго ряда плохо видны на общей диаграмме

Изменим тип второго ряда с гистограммы на график и воспользуемся для этого ряда отдельной осью значений. 1. Активизируйте диаграмму и выберите Работа с диаграммами^Конструктор^Тип^Изменить тип диаграммы. На экране появится диалоговое окно Изменение типа диаграммы. 2. Перейдите на вкладку Все диаграммы. 3. В списке типов диаграмм выберите тип Комбинированная. 4. Для ряда данных Ср. темп. С задайте тип диаграммы Гистограмма с группировкой. 5. Для ряда Осадки, см задайте тип диаграммы График и установите флажок Вспомогательная ось.

6. Для вставки диаграммы на рабочий лист щелкните на кнопке ОК.

582

Часть III. Создание диаграмм и другие приемы визуализации

На рис. 21.29 показано диалоговое окно Изменение типа диаграммы после опре­ деления параметров отображения каждого ряда данных.

Рис. 21.29. Использование диалогового окна Изменение типа диаграммы

для преобразования гистограммы в комбинированную диаграмму Рабочая книга с приведенным выше примером находится в файле weather combination chart.xlsx на веб-сайте книги (www.wiley.com/go/excel 2019bible). Для русскоязычного издания книги файл называется Pic21_29. xlsx.

На заметку

Некоторые типы диаграмм совмещать нельзя. Например, невозможно создать комбиниро­ ванную диаграмму, которая включала бы пузырьковую или объемную диаграмму. При соз­ дании комбинированной диаграммы в диалоговом окне Изменение типа диаграммы всегда ^отображаются только совместимые типы диаграмм.

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

Глава 21. Расширенные возможности построения диаграмм

583

Чтобы избежать подобных осложнений, программа Excel предлагает иной вари­ ант решения задачи — непосредственно под диаграммой отобразить таблицу дан­ ных, на основании которых эта диаграмма была построена. В этой таблице данных будут представлены числовые значения для каждой отображаемой на диаграмме точки данных, что позволит избежать загромождения ее графической части. Чтобы добавить к диаграмме таблицу данных, активизируйте диаграмму и щел­ кните на кнопке Элементы данных, расположенной справа от диаграммы. Установите флажок Таблица данных и щелкните на стрелке справа, чтобы уточнить дополни­ тельные параметры таблицы. На рис. 21.30 показана диаграмма с таблицей данных.

Рис. 21.30. К этой комбинированной диаграмме добавлена таблица данных

Вывести таблицу данных можно не для всех типов диаграмм. Если опция Таблица данных отсутствует, это как раз и означает, что данный тип диаграммы не поддер­ живает такой возможности. Совет

Л

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

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

584

Часть III. Создание диаграмм и другие приемы визуализации

Если вам приходится постоянно изменять вид диаграмм, то, создав собственные шаблоны, вы, вероятно, сэкономите время. Если вам часто приходится создавать множество комбинированных диаграмм, то, создав шаблон типичной комбиниро­ ванной диаграммы, вы сможете избежать выполнения всех необходимых для ком­ бинирования диаграмм настроек вручную. Для создания шаблона диаграмм выполните такие действия. 1. Постройте диаграмму, которая послужит основой вашего шаблона. Данные, которые будут отображены в этой диаграмме, могут быть любыми. Но лучше использовать такие данные, которые будут типичными для диаграмм, созда­ ваемых в будущем на основе разрабатываемого шаблона. 2. Отформатируйте диаграмму и измените ее параметры по своему усмотре­ нию. В результате вами будет определен внешний вид диаграмм, создавае­ мых впоследствии на основе данного шаблона. 3. Активизируйте созданную диаграмму и щелкните правой кнопкой мыши на области диаграммы или области построения, а затем выберите в кон­ текстном меню пункт Сохранить как шаблон. Excel откроет диалоговое окно Сохранение шаблона диаграммы.

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

Чтобы создать диаграмму на основе уже имеющегося шаблона, выполните такие действия. 1. Выделите данные, необходимые для построения диаграммы. 2. Выберите команду Вставка^Диаграммы^Рекомендуемые диаграммы. Откроется диалоговое окно Вставка диаграммы. 3. Перейдите на вкладку Все диаграммы.

4. На левой панели диалогового окна Вставка диаграммы щелкните на эле­ менте Шаблоны. Excel отобразит в окне Вставка диаграммы пиктограммы всех ранее созданных шаблонов.

5. Щелкните на пиктограмме нужного шаблона, а затем на кнопке OK. Excel создаст диаграмму на основе выбранного шаблона.

Глава

Графика спарклайнов В ЭТОЙ ГЛАВЕ… Что такое спарклайны

Внедрение спарклайнов на рабочий лист

Настройка параметров спарклайнов Как сделать, чтобы спарклайны отображали только последние данные

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

С

О настоящих диаграммах подробнее читайте в главах 20, “Основы построения диа­ грамм”, и 21, “Расширенные возможности построения диаграмм”. В этой главе вы познакомитесь со спарклайнами и научитесь использовать их на рабочих листах. На заметку Спарклайны (инфолинии) впервые появились в Excel 2010. При создании рабочей книги с использованием спарклайнов и открытии этой книги с помощью Excel 2007 или более ранней версии ячейки со спарклайнами будут пустыми.

586

Часть III. Создание диаграмм и другие приемы визуализации Все примеры для данной главы содержатся в рабочей книге sparkline exam­ ples.xlsx на веб-сайте КНИГИ (www.wiley.com/go/excel2019bible). Для русскоязычного издания книги файл называется Pic22_01 .xlsx.

Типы спарклайнов В программе Excel поддерживаются спарклайны трех типов. На рис. 22.1 при­ ведены примеры графиков спарклайнов всех типов, отображенных в столбце Н. На каждом спарклайне отображается шесть точек данных, расположенных слева.

Рис. 22.1. Примеры трех групп спарклайнов

Спарклайн «Линия». Подобен линейной диаграмме. Как дополнительная воз­ можность графики они могут отображаться с маркером каждой точки. В первой группе на рис. 22.1 отображаются линейные спарклайны с точками. Даже при беглом просмотре можно заметить выпадение из общей тенденции фондового номера W-91, в то время как все остальные фондовые номера на протяжении рас­ сматриваемого шестимесячного периода только теряют свои активы.

Спарклайн «Гистограмма». Аналогичен столбиковой диаграмме. Во второй группе на рис. 22.1 отображаются те же данные, что и в первой, но с использова­ нием спарклайнов-гистограмм.

Глава 22. Графика спарклайнов

587

Спарклайн «Выигрыш/проигрыш». По сути, это диаграмма «бинарного» типа, отображающая каждую точку в виде приподнятого или опущенного прямоу­ гольника. Обратите внимание на то, что используемые здесь данные отличаются от исходных. В каждой ячейке представлено изменение относительно предыду­ щего месяца. В этом типе спарклайна каждая точка данных отображается в виде приподнятого прямоугольника темного цвета (выигрыш) или опущенного свет­ лого прямоугольника (проигрыш). В этом примере положительное изменение показателя относительно показателя предыдущего месяца представляет собой выигрыш, в то время как отрицательное — проигрыш.

Если термин спарклайны кажется вам странным, то это вина совсем не Microsoft. Эдвард Тафт (Edward Tufte) впервые использовал этот термин в своей книге Beautiful Evidence (Graphics Press, 2006), описав его значение следующим образом: «Спарклайны:

выразительная, простая, широко распространенная графика».

Для случая Excel спарклайны — это графика, умещающаяся в одну ячейку. Как вид­ но из этой главы, спарклайны не ограничиваются только линиями.

Создание спарклайнов На рис. 22.2 представлены данные, которые будут проанализированы с помощью спарклайнов.

Рис. 22.2. Данные, которые анализируются с помощью спарклайнов

Для создания спарклайнов выполните описанные ниже действия. 1. Выделите данные, которые будут отображаться (без заголовков столбцов). При создании нескольких спарклайнов выберите данные по всем анализируе­ мым категориям. В данном примере в начале работы выделите диапазон В4:М12.

2. Выделив данные, выберите на ленте группу Вставка^Спарклайны, а затем щелкните на одном из трех типов спарклайнов: График, Гистограмма или

Часть III. Создание диаграмм и другие приемы визуализации

588

Выигрыш/проигрыш. Откроется ди­ алоговое окно Созданиеспарклайнов, оно показано на рис. 22.3.

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

Рис. 22.3. Для задания диапазона данных и размещения графиков используется диалоговое окно Создание спарклайнов

нов в ячейки, которые уже содержат данные. Расположение спарклайнов должно совпадать с источником данных по количеству строк или столбцов. Для данного примера укажем диапазон N4:N 12. 4. Щелкните на кнопке ОК. В указанных ячейках программа создаст графики спарклайнов заданного типа.

На рис. 22.4 представлены спарклайны в виде столбцов, построенные на основа­ нии информации о количестве выпавших осадков.

Рис. 22.4. Спарклайны-гистрограммы с информацией о количестве осадков в девяти населенных пунктах Совет В большинстве случаев спарклайны создаются на том же рабочем листе, что и данные. Чтобы создать спарклайны на другом рабочем листе, начните с активизации листа, на котором будут отображаться спарклайны. Затем в диалоговом окне Создание спарклайнов задайте исход­ ные данные, указав на них курсором или непосредственно введя ссылку на нужный лист (на­ пример, Лист1! Al: С12). Учтите, что в диалоговом окне Создание спарклайнов можно ука­ зать другой рабочий лист в поле Диапазон данных, но нельзя этого сделать в поле Диапазон расположения. Другой вариант: можно создать спарклайны на том же рабочем листе, что ^и данные, а затем скопировать их и вставить ячейки на другой рабочий лист.

Спарклайны связаны с данными, поэтому, если вы внесете изменения в значе­ ния, лежащие в диапазоне их исходных данных, график спарклайнов обновится.

Глава 22. Графика спарклайнов

589

Часто, чтобы улучшить читабельность спарклайнов, требуется увеличить ширину или высоту ячеек, в которых они размещаются.

Обычно спарклайны создаются группами — по одному для отдельной строки или столбца данных. Рабочий л ист может содержать любое количество групп спарклай­ нов. Excel запоминает каждую группу и позволяет работать с ней как с отдельной единицей. Например, можно выбрать один спарклайн в группе, а затем изменить с его помощью форматирование всех спарклайнов в группе. Если выбрать одну ячейку со спаркпайном, Excel выделит и все другие спарклайны в этой группе. Однако есть операции, которые можно применять только к одному спарклайну в группе. • Изменить источник данных спарклайна. Выделите требуемую ячейку со спарк-

лайном и выберите команду Работа со спарклайнами^Конструктор^Спарклайн^ Изменить данные^Изменить данные отдельного спарклайна. Excel выведет диало­ говое окно, в котором можно будет изменить источник данных только для вы­ бранного спарклайна. • Удалить спарклайн. Выделите требуемую ячейку со спарклайном и выбери­

те команду Работа со спарклайнами^Конструктор^Группа^Очистить^Очистить выбранные спарклайны.

Обе операции можно выполнить и с помощью контекстного меню, которое появля­ ется, если щелкнуть правой кнопкой мыши на ячейке со спарклайном. Кроме того, можно отменить группирование спарклайнов, выделив один из входя­ щих в группу спарклайнов и выбрав команду Работа со спарклайнами^>Конструктор^ Группа^ Разгруппировать. После разгруппирования с каждым спарклайном можно будет работать в отдельности.

Обратите внимание, что можно также удалить всю группу спарклайнов, если вам проще начать работу с ними “с нуля”. Для этого выберите команду Работа со спарклайнами^Конструктор^Группа^Очистить^Очистить выбранные группы спарклайнов.

Настройка спарклайнов При активизации ячейки, содержащей спарклайн, программа Excel выделит все спарклайны в данной группе. После этого для настройки группы спарклайнов мож­ но будет воспользоваться командами вкладки Работа со спарклайнами^Конструктор.

Изменение размеров ячеек со спарклайнами Изменяя ширину или высоту ячейки, содержащей спарклайн, вы тем самым из­ меняете размеры самого спарклайна. Кроме того, спарклайн можно вставлять в объ­ единенные ячейки. На рис. 22.5 представлен один и тот же спарклайн в четырех вариантах, демон­ стрирующих его изменение в зависимости от ширины столбца и высоты строки,

590

Часть III. Создание диаграмм и другие приемы визуализации

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

Рис. 22.5. Один и тот же спарклайн, отображаемый

в ячейках разных размеров

Обработка скрытых или отсутствующих данных По умолчанию, если скрыть строки или столбцы, присутствующие в исходных дан­ ных спарклайнов, в графике спарклайнов скрытые данные отображаться не будут. Кроме того, в графике спарклайнов отсутствующие данные отображаются пробелом. Чтобы изменить указанные выше параметры настройки, принятые по умолча­ нию, выберите команду Работа со спарклайнами^Конструктор^Спарклайн^Изменить данные^Скрытые и пустые ячейки. В открывшемся диалоговом окне Настройка скрытых и пустых ячеек (рис. 22.6) укажите требуемый способ обработки скрытых и пустых ячеек.

Рис. 22.6. Диалоговое окно Настройка скрытых

и пустых ячеек

Смена типа спарклайна Как уже упоминалось, программа Excel поддерживает работу с тремя типами спар­ клайнов: график, гистограмма и «Выигрыш/проигрыш». После создания спарклайна или группы спарклайнов можно легко изменить их тип, выбрав спарклайн и щелкнув на ленте на одном из трех значков в группе Работа со спарклайнамиФКонструктор^Тип.

Глава 22. Графика спарклайнов

591

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

Изменение цвета и ширины спарклайна После создания спарклайна изменить его цвет не составляет большого труда. Для этого предназначена группа команд на ленте Работа со спарклайнами^Конструктор^Стиль. На заметку Цвета, которые используются в графике спарклайнов, привязаны к темам. Таким образом, если вы измените тему (это можно сделать с помощью команды Разметка страницы^Темы^Темы), I цвета спарклайнов изменится в соответствии с цветами новой выбранной темы.

10

Подробнее о темах читайте в главе 5, “Форматирование рабочих листов”.

Для линейных спарклайнов можно также дополнительно задать требуемую ши­ рину линий — с помощью команды Работа со спарклайнами^Конструктор^Стиль1^ Цвет спарклайна1^ Толщина.

Выделение определенных аспектов данных Для выделения на спарклайнах определенных аспектов данных можно восполь­ зоваться элементами управления группы Работа со спарклайнами^Конструктор1^ Показать. В этой группе на ленте находятся следующие флажки.

Максимальная точка. Выделение на спарклайне особым цветом максимальных данных.

Минимальная точка. Выделение на спарклайне особым цветом минимальных данных. Отрицательные точки. Выделение на спарклайне особым цветом отрицатель­ ных данных.

Первая точка. Выделение на спарклайне особым цветом первой точки данных. Последняя точка. Выделение на спарклайне особым цветом последней точки данных.

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

Часть III. Создание диаграмм и другие приемы визуализации

592

Цвет выделения для каждого упомянутого выше случая можно изменить с помо­ щью команды Работа со спарклайнамиФКонструктор^Стиль^Цвет маркера. К сожа­ лению, нельзя изменить размер маркеров, отображаемых на спарклайнах-графиках. На рис. 22.7 представлены спарклайны-графики, к которым применены различ­ ные типы выделения.

Рис. 22.7. Возможности выделения точек данных для спарклайнов-графиков

Настройка масштабирования осей спарклайнов При создании одного или нескольких спарклайнов по умолчанию используется автоматическое масштабирование осей. Другими словами, минимальные и макси­ мальные значения вертикальных осей определяются автоматически для каждого спарклайна в группе на основании числового диапазона данных, задействованных при его построении. Меню, открывающееся при выборе команды Работа со спарклайнами1^ Конструктор^ Группа^Ось позволяет обойти это правило и предоставляет в ваше распоряжение рычаги управления минимальным и максимальным значениями спарклайна или группы спарклайнов. Для более точной настройки можно воспользоваться коман­ дой этого меню Пользовательское значение и задать минимальное и максимальное значения для группы спарклайнов.

На

заметку

На спарклайнах вертикальная ось не отображается, поэтому фактически вы настраиваете ось._________________________________________________________________________________________________

^невидимую

На рис. 22.8 представлены две группы спарклайнов. В группе вверху использу­ ются стандартные настройки осей (когда выбрана опция Автоматическое для каждого спарклайна). Каждый спарклайн имеет свой автоматически выбранный масштаб вертикальной оси и представляет тенденцию за шесть месяцев продаж товара, но обозначения величин значений здесь отсутствуют. Для группы спарклайнов, расположенной внизу на этом рисунке, используются те же данные, но минимум и максимум для вертикальных осей изменены за счет выбора команды Фиксированное для всех спарклайнов. В результате стал очевиден разброс значений по отдельным товарам, но представление тенденций по месяцам для каждого товара значительно нивелировалось.

Глава 22. Графика спарклайнов

593

Рис. 22.8. Нижняя группа спарклайнов демонстрирует эффект от установки одинаковых минимальных и максимальных значений вертикальной оси для всех спарклайнов группы

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

Имитация опорной линии В реализации графики спарклайнов в Excel отсутствует одна полезная возмож­ ность — опорная линия. Например, иногда полезно показать значение некоторого параметра относительно некой опорной величины. Если опорное значение отобра­ жается в виде линии на спарклайне, то пользователь может быстро оценить, на­ сколько показатель за данный период приблизился к желаемой цели. Однако можно преобразовать данные таким образом, чтобы ось спарклай­ на имитировала опорную линию. Пример этого подхода приведен на рис. 22.9. Предположим, студентам было поставлено задание прочитывать каждый месяц по 500 страниц текста. Далее реальное количество прочитанных страниц было вве­ дено в диапазон данных и отражено на спарклайнах, расположенных в столбце Н. Спарклайны представляют информацию о прочитанных страницах за шесть меся­ цев, но из них совершенно непонятно, кто из студентов не выполнил или, наоборот, смог выполнить и перевыполнить задание и в какие месяцы это имело место.

Рис. 22.9. С помощью спарклайнов представлено количество

прочитанных студентами страниц за каждый месяц

594

Часть III. Создание диаграмм и другие приемы визуализации

На рис. 22.10 приведен другой подход к решению этой задачи. Данные были преобразованы таким образом, чтобы выполнению задания соответствовало значе­ ние 1, а невыполнению 1. Достигнуто это было с помощью следующей формулы (в ячейке В18), предназначенной для преобразования исходных данных (затем она была скопирована во все другие ячейки диапазона B18.G25): =IF(В6>$С$2;1;-1)

Рис. 22.10. Использование спарклайнов выигрыша и проигрыша для отображения факта выполнения задания

На основании преобразованных данных были созданы спарклайны типа «Выигрыш/проигрыш». Такой подход лучше первоначального, но он не отражает разницу в величинах. Например, нельзя точно сказать, сколько страниц не дочитал студент до выполнения задания: 1 страницу или все 500. На рис. 22.11 представлен более показательный метод. Здесь исходные данные были преобразованы посредством вычитания планового значения из количества прочитанных страниц. Эта формула находится в ячейке В31 и имеет вид =В6-$С$2. Затем эта формула была скопирована в другие ячейки диапазона В31 :G38, на осно­ вании которых далее была создана группа линейных спарклайнов с отображенной осью. Дополнительно был выбран режим Отрицательные точки, что позволило от­ четливо увидеть отрицательные значения (в этом случае именно они соответствуют факту невыполнения задания).

Задание оси дат Обычно спарклайны строятся исходя из предположения, что отображаемые на них данные были получены через равные промежутки. Например, спарклайн может отображать ежедневный баланс на счету, ежемесячные продажи или еже­ годную прибыль. Но что произойдет, если исходные данные поступали не через равные промежутки времени? На рис. 22.12 представлены данные за отдельные дни вместе с графикой спар­ клайнов, созданной по значениям, хранящимся в столбце В. Обратите внимание на то, что в исходной информации данные по некоторым дням отсутствуют, в то время как на спарклайнах все отображено так, словно все данные были получены через равные интервалы времени.

Глава 22. Графика спарклайнов

595

Рис. 22.11. Ось спарклайнов имитирует опорную линию

Рис. 22.12. На этом спарклайне данные представлены так, словно они были получены через равные интервалы времени

Решение, направленное на более качественное представление данных, заключает­ ся в определении оси дат. Выделите спарклайн и выберите команду Работа со спарклайнами^Конструктор^Группа^Ось^Тип оси дат. Программа Excel выведет диалого­ вое окно, запрашивая диапазон, который будет содержать требуемые даты. В нашем примере в этом окне задается диапазон А2:А11. Щелкните на кнопке ОК, и на спар­ клайне появятся пропуски, соответствующие недостающим датам (рис. 22.13).

Рис. 22.13. После задания оси дат значения данных

в спарклайне отображаются более точно

596

Часть III. Создание диаграмм и другие приемы визуализации

Автоматическое обновление спарклайнов Если спарклайны построены на основании данных из определенного диапазо­ на ячеек, то добавление новых данных в начало или в конец диапазона не при­ водит к соответствующему автоматическому обновлению спарклайна. Для об­ новления диапазона данных в этом случае следует воспользоваться диалоговым окном Изменение спарклайнов (оно открывается после выбора на ленте команды Работа со спарклайнами^Конструктор^Спарклайн^Изменить данные). Но если дан­ ные спарклайна расположены в столбце таблицы (созданной с помощью команды Вставка^Таблицы^Таблица), то спарклайн будет автоматически использовать данные, добавленные в конец таблицы. Пример такого спарклайна показан на рис. 22.14. Этот спарклайн был создан с использованием данных из столбца Ставка приведенной на рисунке таблицы. При добавлении нового значения за сентябрь спарклайн автоматически обновит свой диапазон данных.

Рис. 22.14. Создание спарклайнов

на основе данных в таблице

Отображение спарклайнов для динамического диапазона В примере, приведенном в данном разделе, описывается, каким образом можно создать спарклайн, на котором будут отображаться последние данные из диапазона. На рис. 22.15 представлен рабочий лист, на котором собрана информация о еже­ дневных объемах продаж. На спарклайне, отображаемом в ячейках 04: Е5, показаны только семь последних точек данных из столбца В. Когда в столбец В добавляются новые данные, спарклайн автоматически изменяется так, чтобы на нем отобража­ лась информация только за последние семь дней продаж.

Глава 22. Графика спарклайнов

597

Рис. 22.15. Использование именованного динамического диапазона

для отображения на спарклайне только семи последних точек данных Начнем построение с создания именованного динамического диапазона. 1. Выберите команду Формулы ^Определенные имена ^Задать имя и в от­ крывшемся окне Создание имени задайте имя Последние? и введите сле­ дующую формулу в поле Диапазон: =СМЕЩ(Лист9•$В$2;СЧЕТЗ(ЛистЭ!$В:$В)-7-1;0;7;1)

По этой формуле требуемый диапазон вычисляется с помощью функции СМЕЩ. Первый аргумент представляет собой первую ячейку диапазона (В2). Второй аргумент — количество ячеек в столбце (минус количество возвращенных и минус 1 для учета надписи в ячейке В1) Это имя всегда будет соответствовать семи последним непустым ячейкам столбца В. Для того чтобы отображать другое количество точек данных, из­ мените в обоих случаях значение 7 на другое значение.

2. Выберите команду Вставка^Спарклайны^График. Откроется диалоговое окно Создание спарклайнов. 3. В поле Диапазон данных введите значение Последние? (имя динамическо­ го диапазона) и в поле Диапазон расположения укажите ячейку Е4. На спар­ клайне будут отображены данные из диапазона В12:В 18.

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

Работа с настраиваемыми числовыми форматами, изображениями и рисунками В ЭТОЙ ГЛАВЕ… Создание собственных числовых форматов

Визуализация с использованием фигур и изображений

Создание собственных элементов инфографики Краткий обзор прочих графических средств Excel

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

В

Все примеры для данной главы содержатся в рабочей книге visualizations, xlsx на веб-сайте книги (www.wiley.com/go/excel2019bible). Для русско­ язычного издания книги файл называется Pic23_02. xlsx.

600

Часть IIL Создание диаграмм и другие приемы визуализации

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

Базовые приемы форматирования чисел На ленте Excel в группе команд Число вкладки Главная находится несколько ко­ манд, позволяющих быстро применить к данным самые распространенные число­ вые форматы. В раскрывающемся списке Числовой формат представлены одиннад­ цать часто используемых форматов. В этой же группе находится несколько кнопок, представляющих разные числовые форматы. Если щелкнуть на одной из этих кно­ пок, соответствующий числовой формат будет применен ко всем выбранным в дан­ ный момент ячейкам. В табл. 23.1 приведены числовые форматы, которые можно применить, щелкнув на соответствующей кнопке форматирования в группе Число вкладки Главная.

Таблица 23.1. Кнопки форматирования чисел в ленточном интерфейсе Кнопка

Применяемое форматирование

Финансовый числовой формат

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

Процентный формат

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

Формат с разделителями

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

Увеличить разрядность

Увеличивает на единицу число десятичных разрядов после запятой

Уменьшить разрядность

Уменьшает на единицу число десятичных разрядов после запятой

Глава 23. Работа с настраиваемыми числовыми форматами…

601

На заметку Некоторые из этих кнопок фактически применяют предопределенный стиль к выделенным ячейкам. Все предопределенные стили доступны в группе Стили вкладки Главная. Для изме­ нения параметров стиля выберите команду Изменить в контекстном меню, которое открыва­ ется после щелчка правой кнопкой мыши на названии стиля. Дополнительную информацию по этому вопросу можно найти в главе 5, “Форматирование рабочих листов”.

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

Таблица 23.2. Комбинации клавиш для форматирования чисел Комбинация клавиш

Применяемое форматирование

Общий числовой формат (т.е. неформатированные значения)

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

Формат дат с отображением часов и минут

Формат дат с указанием дня, месяца и года

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

Процентный формат без десятичных разрядов после запятой

Экспоненциальный формат чисел с двумя знаками после запятой

Форматирование чисел с помощью диалогового окна Формат ячеек Полный набор существующих опций настройки числовых форматов находится на вкладке Число диалогового окна Формат ячеек. Открыть это окно можно одним из следующих способов.

Щелкните на кнопке Числовой формат (»), находящейся в правом нижнем углу группы Число вкладки Главная.

Выберите команду Главная^ЧислоФЧисловой формат^Другие числовые фор­ маты.

Нажмите комбинацию клавиш .

Щелкните правой кнопкой на выделенном диапазоне ячеек и выберите в от­ крывшемся контекстном меню команду Формат ячеек…

В зависимости от языковых настроек операционной системы действие некоторых комбина­ ций клавиш может отличаться. — Примеч. ред.

602

Часть III. Создание диаграмм и другие приемы визуализации

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

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

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

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

Экспоненциальный. В этом формате число всегда отображается в сопровожде­ нии буквы «Е»: 2.00Е+05 = 200 000. Также можно указать число десятичных зна­ ков для отображения слева от буквы «Е».

Текстовый. После применения этого формата к ячейке ее содержимое будет рассматриваться Excel как текст (даже если текст выглядит, как число). Такой формат пригодится, например, для отображения номеров кредитных карт. Дополнительный. Включает четыре дополнительных числовых Почтовый индекс, Индекс+4, Номер телефона и Табельный номер.

формата:

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

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

Глава 23. Работа с настраиваемыми числовыми форматами…

603

Чтобы увидеть шаблон числового формата, выполните следующие действия, применив к выделенным ячейкам обычное числовое форматирование. 1. Щелкните правой кнопкой мыши на выделенном диапазоне ячеек и вы­ берите в открывшемся контекстном меню команду Формат ячеек… Откроется диалоговое окно Формат ячеек. 2. Перейдите на вкладку Число, выберите в списке Числовые форматы ка­ тегорию Числовой и установите флажок Разделитель групп разрядов(); далее в счетчике Число десятичных знаков задайте значение 0, а в списке Отрицательные числа выберите нижнее значение (красный цвет со зна­ ком минус). 3. Теперь в списке Числовые форматы выберите категорию (все форматы), как показано на рис. 23.1. В поле Тип Excel выведет строку символов или шаблон, который и определяет тот числовой формат, который вы выбрали.

Рис. 23.1. В поле Тип можно ввести шаблон, определяющий требуемый числовой формат

Шаблон числового форматирования состоит из нескольких индивидуальных числовых форматов, разделяемых точкой с запятой. В нашем случае в шаблоне присутствует два таких формата: формат слева от точки с запятой и формат справа от точки с запятой. # Н0_ / [Красный]-# ##0

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

604

Часть III. Создание диаграмм и другие приемы визуализации

и отображаться со знаком минус, тогда как положительные числа будут отображать­ ся обычным образом, как, например, -1 890 и 1 982 соответственно, причем первое число будет выведено красным цветом.

На

заметку

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

НО

В этом случае перед положительными числами будет выводиться знак «плюс», а от­ рицательные числа будут отображаться тем же цветом, что и положительные, на­ пример вот так: +1 200 и -15 000. Такой подход будет вполне уместен при форматировании процентных значений. Например, в поле Тип: можно создать собственный шаблон для процентных значе­ ний в следующем виде:

+0% ; — 0% В результате числовые значения, отформатированные этим шаблоном, будут выгля­ деть, например, вот так: +43% и -54%. Можно продолжить наши исследования и, предположим, потребовать, чтобы от­ рицательные процентные значения выводились в скобках, а положительные — без скобок и знака «плюс». В этом случае соответствующий шаблон числового форма­ тирования будет выглядеть так: 0%_); (0%)

Теперь отформатированные этим шаблоном процентные значения будут иметь сле­ дующий вид: 43% и (54%) для положительных и отрицательных величин соответ­ ственно.

На заметку

Обратите внимание: в предыдущем примере шаблон для положительных чисел заканчива­ ется символами “_)». Такая запись указывает программе Excel на необходимость вставлять пробел на ширину знака закрывающей снобки справа от положительных числовых значений. Это необходимо для того, чтобы в столбцах положительные и отрицательные значения были выровнены правильно, поскольку все отрицательные величины справа будут иметь дополниiтельный знак закрывающей скобки._______________________________________________________________________

Глава 23. Работа с настраиваемыми числовыми форматами…

605

Форматирование чисел в тысячах и миллионах Форматирование числовых значений в тысячах или миллионах позволяет пред­ ставить большие величины, например годовые обороты на уровне многих милли­ онов рублей, более удобным для анализа образом, не перегружая внимание ауди­ тории громоздкими числовыми величинами. Чтобы отобразить числовые значения в ячейках в тысячах или миллионах, выделите их, щелкните правой кнопкой мыши и выберите в открывшемся контекстном меню команду Формат ячеек… В диалоговом окне Формат ячеек в списке Числовые форматы выберите кате­ горию (все форматы), и содержимое этого диалогового окна примет вид, схожий с представленным на рис. 23.1. В поле Тип: введите следующий код формата (в кон­ це шаблона здесь присутствует один пробел, представляющий разделитель между сотнями и тысячами): # ###

При использовании этого шаблона числа будут отображаться без последних трех разрядов, стоящих слева от десятичной запятой, т.е. число будет выглядеть так, как если бы его разделили на 1000 и округлили до ближайшего целого. Чтобы уточнить, что данное значение представлено именно в тысячах, можно дополнить этот ша­ блон следующим образом: # ### » т.»

Самой замечательной особенностью здесь является тот факт, что приведенный метод в действительности не осуществляет каких-либо манипуляций (например, обрезки или округления) с самими числовыми значениями в ячейках. В данном случае шаблон определяет лишь способ их отображения на рабочем листе, т.е. яв­ ляется чисто косметическим средством. Чтобы понять, о чем идет речь, просто вни­ мательно посмотрите на рис. 23.2.

Рис. 23.2. Шаблон числового форматирования влияет только на способ отображения значения в ячейке, оставляя само это значение без изменения

Выделенная ячейка (С5) отформатирована так, чтобы значение в ней отобража­ лось в тысячах, именно поэтому вы видите в ней 118 т. Но если взглянуть на стро­ ку формул, то можно заметить, что реальное неформатированное значение в этой ячейке — 15-значное число 117943,605787004. Иначе говоря, значение118 т, кото­ рое вы видите в самой ячейке, является лишь отформатированной версией ее реаль­ ного числового значения, отображаемого в строке формул.

606

Часть III. Создание диаграмм и другие приемы визуализации

Л

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

Как уже говорилось выше, при необходимости можно дополнительно указать, что значения отображаются в тысячах, просто добавив в шаблон соответствующий текстовый элемент. # ### » т.»

В результате отображаемые в ячейках значения будут иметь такой вид: 118 т. или 318 т. Этот прием можно применить и в случае разного форматирования положитель­ ных и отрицательных чисел: # ### » т.»;[Красный]-# ### » т.”

При использовании этого шаблона отрицательные значения будут также представ­ лены в тысячах: 118 т. и -318 т. (при этом последнее, отрицательное, значение будет дополнительно выведено красным цветом). Вывести значения в миллионах тоже совсем несложно. Просто поставьте два пробела после знаков, представляющих отображаемые числовые разряды: # ##0,00

» млн»

Обратите внимание, что в этом числовом шаблоне после знаков появилось не­ сколько нулей после запятой (, 00), представляющих дробные десятичные разряды, присутствующие в отображаемых в ячейках значениях. При преобразовании ис­ ходных числовых значений в миллионы такой подход часто оказывается полезным: 24,65 млн. Присутствие в этом шаблоне нуля слева от десятичной запятой указы­ вает программе на необходимость вывода незначащего нуля, если отображаемое значение будет меньше одного миллиона: 0,89 млн.

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

Глава 23. Работа с настраиваемыми числовыми форматами…

607

Например, в следующем шаблоне числового форматирования нулевые значения будут заменены текстовым значением «н/д»:

# НО;-# „0;»н/д» Кроме того, можно просто подавить отображение нулевых значений в ячейках. Для этого достаточно добавить в шаблон второй символ точки с запятой, после которого ни­ чего больше не будет. В этом случае ячейки с нулями будут выглядеть просто пустыми.

# НО;-# ##0;

И вновь, все эти манипуляции являются лишь косметическими и не оказывают никакого влияния на реальное содержимое ячеек. На рис. 23.3 это наглядно демон­ стрируется: в выделенной ячейке отображается значение «н/д», но если посмотреть на строку формул, то можно увидеть, что реальное значение этой ячейки нулевое.

Рис. 23.3. С помощью шаблона числового форматирования

нулевые значения в ячейках заменяются текстом н/д

Использование цвета в шаблонах числового форматирования В пользовательских шаблонах числового форматирования можно управлять не только способом отображения числовых значений, но и цветом, которым эти значе­ ния будут выведены. Например, при форматировании процентных значений можно отображать положительные значения синим цветом и со знаком «плюс», а отрица­ тельные значения — красным цветом и со знаком «минус». В этом случае шаблон в поле Тип: будет иметь следующий вид. [Синий]+0%;[Красный]-0%

Обратите внимание, что для выбора цвета достаточно просто указать его название, заключенное в квадратные скобки [ ]. В Excel доступно всего несколько конкретных цветов (восемь цветов языка Visual Basic), которые можно задать их названиями, как это показано ниже. Данные цвета представляют собой восемь первых цветов в палитре, которую Excel унаследовала из прошлых версий (стандартная палитра из 56 цветов, которая была определена в версиях программы до Excel 2007). [Черный] [Синий] [Голубой] [Зеленый]

608

Часть III. Создание диаграмм и другие приемы визуализации

[Фиолетовый] [Красный] [Белый] [Желтый]

Хотя при определении шаблонов цвета чаще всего указываются своими имена­ ми, не все из этих именованных цветов можно считать подходящими. Например, зеленый цвет, определенный под этим именем в Visual Basic, довольно неприятен для глаз (яркий неоновый зеленый). Вы можете убедиться в этом сами, если вос­ пользуетесь следующим шаблоном числового форматирования: [Зеленый]+0%;[Красный]-0%

Однако не все так плохо, поскольку все 56 цветов стандартной палитры прону­ мерованы и при записи формата шаблона форматирования любой цвет может быть задан и своим номером. Чтобы указать цвет его номером необходимо поместить в шаблон выражение [ЦветМ], где W представляет число от 1 до 56. В следующем примере в шаблоне используется цвет 10, представляющий собой гораздо более приятный оттенок зеленого. [Цвет10]+0%;[Красный] -0%

Форматирование дат и времени Пользовательские шаблоны числового форматирования предназначены не толь­ ко для чисел; с их помощью можно также форматировать значения дат и времени. Как показано на рис. 23.4, в том же самом диалоговом окне Формат ячеек в поле Тип: можно вводить шаблоны, предназначенные для форматирования не только обыч­ ных числовых значений, но и значений дат и времени.

Рис. 23.4. Диалоговое окно Формат ячеек также позволяет

определять форматы для значений дат и времени

Глава 23. Работа с настраиваемыми числовыми форматами…

609

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

Таблица 23.3. Коды некоторых определяемых пользователем форматов дат и времени Код

Что отображает

Пример для 31.01.2019 19:42:53

м мм

Месяц в виде числа, исключая первый нуль Месяц в виде числа, включая первый нуль

01

МММ

Месяц в виде аббревиатуры из трех букв

Янв

мммм ммммм

Полное название месяца

Январь

Первая буква названия месяца

Я

д дд

День в виде числа, исключая первый нуль

31

День в виде числа, включая первый нуль

31

ДДД

День в виде аббревиатуры

Чт

дддд гг

Полное название дня

Четверг

Год в виде двухзначного числа

19

гггг

Год в виде четырехзначного числа

2019

Ч ИЛИ ЧЧ

Значение часа в виде числа с отбрасыванием 19 первого нуля или с его сохранением

М ИЛИ ММ

Минуты в виде числа с отбрасыванием первого нуля или с его сохранением

42

с или сс

Секунды в виде числа с отбрасыванием первого нуля или с его сохранением

53

ммм-гг дд/мм/гггг

Месяц и год

Янв-19

Полная дата

31/01/2019

ДДДД МММ гггг

День недели, месяц, год

Четверг Янв 2019

ДД-ММ-ГГГГ чч:мм

Дата и время

31-01-2019 19:42

ЧЧ

Час

19

чч:мм

Часы и минуты

19:42

чч:мм:сс

Часы, минуты и секунды

19:42:53

1

610

Часть III. Создание диаграмм и другие приемы визуализации

Использование символов для улучшения отчетов Символы— это небольшие графические элементы, похожие на те, которые при­ сутствуют в специальных шрифтах Wingdings, Webdings и других им подобных. Однако доступные в Excel символы в действительности не являются элементами из конкретных шрифтов, а представляют собой символы, определенные в универсаль­ ной кодировке Unicode. Символы Unicode — это набор стандартизованных элемен­ тов текста, разработанных для предоставления любым пользователям надежного набора символов, сохраняющих свои характеристики на любой платформе и неза­ висимо от особенностей национальных алфавитов, использующихся в различных странах мира. Одним из хороших примеров повсеместно используемых символов является сим­ вол авторского права Этот символ является символом Unicode и может с одина­ ковым успехом использоваться на китайском, турецком, французском или русском персональном компьютере. Он будет гарантировано доступен всем, независимо от существующих национальных языковых различий. В отношении создаваемых в Excel презентаций символы Unicode (или просто символы) могут использоваться в тех местах, где невозможно использование ус­ ловного форматирования. Например, в метках данных на диаграммах, как показано на рис. 23.5, метки оси X дополнительно могут содержат стрелки тренда, создавая дополнительный уровень анализа информации. Это решение не может быть реали­ зовано с использованием условного форматирования.

Рис. 23.5. Использование символов для создания

дополнительного уровня анализа на диаграмме Давайте разберемся, каким именно образом была построена диаграмма, показан­ ная на рис. 23.5. Начнем с данных, представленных на рис. 23.6. Обратите внима­ ние, что здесь имеется специальная ячейка, в которую будут помещены все симво­ лы, которые предполагается использовать (в нашем случае это ячейка С1). На самом деле эта ячейка не является чем-то очень важным. Она просто содержит символы, которые будут вставляться в диаграмму.

Глава 23. Работа с настраиваемыми числовыми форматами…

611

Рис. 23.6. Исходные данные и ячейка, предназначенная

для хранения используемых символов А теперь выполните следующие действия.

1. Щелкните на ячейке С1, чтобы ее выделить, а затем выберите команду ВкладкаФСимволы^Символ. Откроется диалоговое окно Символ, показан­ ное на рис. 23.7.

Рис. 23.7. Для вставки нужных символов в ячейку, предназначенную

для их хранения, используйте диалоговое окно Символ 2. В этом окне найдите и поочередно выберите нужные вам символы, каж­ дый раз щелкая на кнопке Вставить, чтобы поместить очередной символ в ячейку. В нашем примере выберите треугольник вершиной вверх и щел­ кните на кнопке Вставить. Затем выберите треугольник вершиной вниз и еще раз щелкните на кнопке Вставить, после чего закройте это диалоговое окно. В результате в ячейке С1 появятся два символа треугольников, вершиной вверх и вершиной вниз, как показано на рис. 23.8.

612

Часть III. Создание диаграмм и другие приемы визуализации

Рис. 23.8. Скопируйте два только что вставленных

в ячейку С1 символа в буфер обмена

Совет

Чтобы в окне Символ найти нужные символы, необходимо в списке Шрифт (вверху слева) выбрать шрифт, содержащий достаточно полный набор символов Unicode (в данном случае это Arial), затем в списке Код знака ххх из: (внизу справа) выбрать нужную кодировку (в на­ шем случае это Юникод (шести.)) и в завершение указать в списке Набор (вверху справа) интересующую группу символов (в нашем примере это геометрические фигуры). 3. Щелкните на ячейке С1, а затем выделите в строке формул отображаемые в ней два символа и нажмите комбинацию клавиш , чтобы скопи­ ровать их в буфер обмена. 4. В таблице данных щелкните правой кнопкой мыши на любой ячейке в первом столбце, содержащем значения в процентах, и выберите в от­ крывшемся контекстном меню команду Формат ячеек…

5. В диалоговом окне Формат ячеек создайте новый пользовательский ша­ блон числового форматирования, вставив символы треугольников вер­ шиной вверх и вершиной вниз в соответствующие форматы шаблона (рис. 23.9). В нашем случае перед любыми положительными процентными значениями будет выводиться символ треугольника вершиной вверх, а перед отрицательными значениями — символ треугольника вершиной вниз.

Рис. 23.9. Создание пользовательского шаблона числового форматирования, включающего символы

Глава 23. Работа с настраиваемыми числовыми форматами…

613

б. Щелкните на кнопке ОК. Выбранные ранее символы треугольников теперь стали частью нового пользовательского шаблона числового форматирования. Примените этот шаблон ко всем ячейкам первого столбца таблицы данных. На рис. 23.10 показан результат применения созданного нами шаблона чис­ лового форматирования к ячейкам рабочего листа. Попробуйте изменить любое значение в первом столбце с положительного на отрицательное (или наоборот) — и программа Excel автоматически применит к значению в этой ячейке соответ­ ствующий символ.

Рис. 23.10. Выбранные символы теперь являются элементом числового форматирования

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

Использование фигур и значков как средств визуализации Программы, входящие в состав Microsoft Office (включая Excel), предлагают ши­ рокий выбор настраиваемых графических изображений, называемых фигурами. Вставлять фигуры на рабочие листы можно для создания простых диаграмм, ото­ бражения текста или просто для улучшения их визуального восприятия. При этом следует иметь в виду, что фигуры могут визуально перегружать рабо­ чий лист. Как полезный совет можно рекомендовать соблюдать при использовании фигур необходимую меру. В идеале фигуры должны привлекать внимание только к определенным аспектам на рабочем листе и не должны занимать в нем централь­ ное место.

614

Часть III. Создание диаграмм и другие приемы визуализации

Вставка фигур Фигуру можно добавить на графический слой рабочего листа с помощью коман­ ды Вставка^Иллюстрации^Фигуры, которая открывает палитру фигур, показанную на рис. 23.11.

Рис. 23.11. Палитра фигур в Excel 2019

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

Глава 23. Работа с настраиваемыми числовыми форматами…

615

Щелкните на выбранной фигуре в палитре фигур, а затем на рабочем листе. На рабочий лист будет добавлена фигура стандартного размера.

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

Ниже приведено несколько советов, которые следует учитывать при создании фигур.

Всем фигурам присваиваются имена вида Фигура 1, Фигура 2 и т.д. (Неко­ торым из фигур присваиваются более содержательные имена, например Прямоугольник 1.) Чтобы изменить имя фигуры, выделите ее, а затем введите новое имя в поле Имя и нажмите клавишу .

Чтобы на рабочем листе выделить нужную фигуру, просто щелкните на ней.

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

Во вкладке Дополнительно диалогового окна Параметры Excel можно контро­ лировать, как объекты будут выглядеть на экране. Как правило, в разделе Параметры отображения книги установлен переключатель Показывать объекты: все. Но можно скрыть все объекты, установив переключатель Показывать объекты: никакие (скрыть объекты). Если на рабочем листе расположено много сложных объектов, которые долго перерисовываются, то их сокрытие может существенно ускорить работу.

Вставка значков в формате SVG В Excel 2019 включена новая библиотека значков, содержащая коллекцию бес­ платных рисунков в формате SVG (Scalable Vector Graphics — масштабируемая век­ торная графика). Изображения в формате SVG можно изменять в размерах и форма­ тировать с сохранением их исходного качества. Эта коллекция значков, в сущности, представляет собой набор графических файлов, которыми можно воспользоваться для добавления визуальных эффектов на итоговые графические панели, при созда­ нии инфографики и для оформления различных отчетов. Для добавления значка на рабочий лист выберите команду Вставка^ Иллюстрации^Значки — и программа откроет диалоговое окно Вставка значков, показанное на рис. 23.12. В этом окне все доступные значки распределены по категориям, на­ звания которых приводятся в списке слева. Выберите требуемый значок и дважды щелкните на нем, — Excel вставит его на активный рабочий лист.

616

Часть III. Создание диаграмм и другие приемы визуализации

Рис. 23.12. Библиотека значков пакета Microsoft Office

Самый простой способ выделения объектов — использование панели задач Выделение. Чтобы открыть эту панель, выделите любую фигуру и выберите ко­ манду Средства рисования^Формат^Упорядочить^Область выделения. Другой вари­ ант можно использовать, когда никакая фигура не выделена: выберите команду Главная^Редактирование^Найти и выделить^Область выделения.

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

Чтобы скрыть объект, щелкните на пиктограмме в виде глаза справа от имени это­ го объекта. Кнопки, расположенные вверху панели, позволяют быстро скрыть (или отобразить) все объекты на рабочем листе.

Форматирование фигур и значков Хотя значки внешне воспринимаются и ведут себя как обычные стандартные фи­ гуры, у них собственные, отличные от фигур, контекстные вкладки (рис. 23.13). При выделении любой фигуры программа Excel отображает на ленте контекстную вкладку Средства рисования^Формат, которая содержит следующие группы команд. Вставка фигур. Команды этой группы предназначены для вставки новых фигур и замены одной фигуры другой.

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

Глава 23. Работа с настраиваемыми числовыми форматами…

617

Рис. 23.13. У фигур и значков разные контекстные вкладки

Стили WordArt. Эти команды предназначены для изменения и настройки внеш­ него вида текста, помещенного на фигуры.

Специальные возможности. Группа используется для ввода альтернативного текста, предназначенного для людей со слабым зрением. Упорядочение. Команды этой группы управляют порядком отображения и вы­ равниванием фигур, объединением нескольких фигур в одну группу, а также по­ воротом фигур. Размер. Эти команды предназначены для задания точных размеров фигуры.

При выделении значка программа Excel отображает на ленте контекстную вкладку Работа с рисунками^Формат, которая содержит следующие группы команд. Изменить. Команды этой группы предназначены для замены одного значка дру­ гим, взятым из библиотеки Microsoft Office или полученным из Интернета, а так­ же для преобразования значка в фигуру.

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

Специальные возможности. Группа позволяет вводить альтернативный текст, предназначенный для людей со слабым зрением. Упорядочение. Команды этой группы управляют порядком отображения и вы­ равниванием значков, объединением нескольких значков в одну группу, а также поворотом значков. Размер. Команды этой группы предназначены для задания точных размеров значка.

618

Часть III. Создание диаграмм и другие приемы визуализации

Как альтернативу контекстным вкладкам ленты можно использовать панели за­ дач Формат фигуры или Форматировать рисунок — для фигур и значков соответ­ ственно. Щелкните правой кнопкой мыши на фигуре или значке и выберите в от­ крывшемся контекстном меню соответствующую команду форматирования. Обе панели задач предоставляют некоторые дополнительные возможности форматиро­ вания, для которых нет соответствия на вкладках ленты. Любые внесенные изме­ нения немедленно отображаются, а сама панель задач может оставаться открытой и при выполнении других операций на рабочем листе. Можно прочитать 20 страниц подробнейшего описания всех возможностей фор­ матирования фигур и значков, но такой подход едва ли будет эффективным мето­ дом обучения. Гораздо полезнее изучать приемы форматирования фигур и значков на практике: все команды форматирования интуитивно понятны, и в вашем рас­ поряжении всегда есть команда Отменить, если полученный эффект окажется не совсем таким, как ожидалось.

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

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

Рис. 23.14. Оформление раздела итогового отчета в виде вкладки

Глава 23. Работа с настраиваемыми числовыми форматами…

619

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

Рис. 23.15. Раздел, оформленный в виде вкладки,

разобран на составные элементы

Хотите обратить внимание пользователя на несколько ключевых показателей? Попробуйте представить их предложенным выше способом. На рис. 23.16 показано, как может выглядеть раздел сводного отчета, оформленного с использованием дан­ ного приема. Здесь «ленточки» с названиями регионов успешно заменяют скучные текстовые заголовки. Как и в предыдущем примере, требуемый эффект достигается посредством правильного размещения нескольких графических элементов на раз­ ных уровнях таким образом, что они, частично перекрывая друг друга, создают же­ лаемый визуальный эффект.

Распределение фигур по слоям для экономии места Можно предложить немало идей, как получить максимальную отдачу от создава­ емых графических итоговых панелей. Например, можно воспользоваться тем фак­ том, что фигуры и другие объекты графического слоя размещаются на нем в виде стопки, причем каждый вновь добавленный объект помещается в ней поверх пре­ дыдущих. Так, если поместить круговую диаграмму поверх гистограммы, это по­ зволит добиться большей выразительности и наглядности в представлении данных (рис. 23.17).

Часть III. Создание диаграмм и другие приемы визуализации

620

Рис. 23.16. Оформление раздела отчета с использованием графических элементов

Рис. 23.17. Комбинируя фигуры с диаграммами, можно повысить наглядность

представляемых данных

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

На заметку На панели задач Выделение приводится перечень объектов графического слоя в поряд­ ке их расположения в стопке (первый объект в списке располагается вверху стопки). Для изменения положения объекта в стопке просто перетащите его название в нужное место ^на панели задач Выделение.

Глава 23. Работа с настраиваемыми числовыми форматами…

621

Построение собственных графических элементов из фигур В программе Excel реализовано средство, позволя­ ющее изменять фигуры посредством редактирования их узлов. Эта функция открывает широкие возмож­ ности создания собственных графических элементов, представляющих те или иные особенности имеющих­ ся данных. Чтобы получить доступ к этому средству, щелкните на фигуре правой кнопкой мыши и выбери­ Рис. 23.18. Для построения те в открывшемся контекстном меню команду Начать собственных графических изменение узлов. В результате по периметру фигу­ элементов можно ры будут выведены небольшие точки, как показано использовать инструмент на рис. 23.18. Для изменения формы фигуры можно редактирования узлов фигур просто перетащить эти точки в требуемое положение. Измененные фигуры можно комбинировать с другими фигурами для создания соб­ ственных элементов инфографики. На рис. 23.19 показано, как можно создать такие элементы, комбинируя измененные фигуры со стандартной окружностью и надписью.

Рис. 23.19. Использование измененных фигур

для создания новых элементов инфографики

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

622

Часть III. Создание диаграмм и другие приемы визуализации

отображаемую в строке формул). Если значение в ячейке СЗ изменится, в надписи будет отображено это новое, измененное значение.

Рис. 23.20. Фигуры типа Надпись можно связать с ячейками

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

2. Нажмите комбинацию клавиш , чтобы скопировать содержимое диапазона. 3. Выделите другую ячейку. 4. Выберите команду Главная^Вставка^Буфер обмена^Вставить^Связанный рисунок (рис. 23.21).

В результате будет создан связанный рисунок, отображающий состояние диапазона ячеек, вы­ бранного на первом этапе. Связанный рисунок позволяет легко протестировать различные макеты и размер диаграмм без необходи­ мости заботиться о ширине столбцов, скрытых стро­ ках и прочих подобных вещах. Кроме того, связанные рисунки обеспечивают доступ к командам контекст­ ной вкладки Работа с рисунками^Формат. Щелкните на связанном рисунке — и эта контекстная вкладка по­ явится на ленте, предоставив вам доступ к различным стилям оформления рисунков. На рис. 23.22 представлены два связанных рисунка, Рис. 23.21. Вставка отображающих содержимое расположенных слева диапасвязанного рисунка зонов ячеек. При изменении их содержимого связанный рисунок справа будет соответствующим образом изменен. Сами связанные рисунки можно перемещать, изменять в размерах и даже переносить на другой рабочий лист.

Глава 23. Работа с настраиваемыми числовыми форматами…

623

Рис. 23.22. Использование связанных рисунков

для улучшения качества визуализации Совет

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

1. Щелкните правой кнопкой мыши на панели быстрого доступа и выберите в открывшемся контекстном меню команду Настройка панели быстрого доступа. Откроется диалоговое окно Параметры Excel с выбранной вкладкой Панель быстрого доступа. 2. В списке Выбрать команды из: выберите значение Команды не на ленте

3. В списке команд выберите команду Камера и щелкните на кнопке Добавить. 4. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно Параметры Excel. Когда кнопка команды Камера присутствует на панели быстрого доступа, создавать связанные рисунки очень просто. Выделите требуемый диапазон ячеек и щелкните на кнопке команды Камера. Далее щелкните на рабочем листе — и программа поместить связанный рисунок ука­ занного диапазона ячеек на графический слой указанного рабочего листа. При внесении изме­ нений в ячейки связанного диапазона эти изменения сразу же будут отображены в связанном рисунке.

624

Часть III. Создание диаграмм и другие приемы визуализации

Использование графики SmartArt и WordArt Графический инструмент Excel получивший название SmartArt, позволяет созда­ вать на рабочих листах профессиональные организационные диаграммы, которые легко изменять и настраивать по своему усмотрению. Это новое средство, впервые появившееся в Office 2007, вероятно, больше подойдет пользователям PowerPoint, од­ нако многие пользователи Excel также наверняка найдут ему полезное применение.

Вставка графических элементов SmartArt Чтобы вставить объект SmartArt на рабочий лист, выберите команду Вставка^ MnniocTpaunn^SmartArt. Откроется диалоговое окно, показанное на рис. 23.23. В нем диаграммы разбиты по категориям, которые перечислены в левой части окна. Подобрав подходящий тип диаграммы, щелкните на образце диаграммы в средней части окна — ив правой части окна выбранный образец будет отображен более круп­ но. Для вставки выбранной диаграммы на рабочий лист щелкните на кнопке ОК.

Рис. 23.23. Вставка диаграммы SmartArt

На заметку

Не обращайте внимания на то, сколько элементов имеет образец диаграммы в окне Выбор рисунка SmartArt. После вставки диаграммы на рабочий лист вы легко сможете настроить ее i так, чтобы она содержала нужное число элементов. Excel при вставке или выделении какой-либо диаграммы SmartArt выводит диа­ логовое окно Введите текст, позволяющее быстро и легко ввести текст во все эле­ менты диаграммы (рис. 23.24). Чтобы добавить на диаграмму SmartArt новый элемент, воспользуйтесь коман­ дами меню Работа с рисунками SmartArt^ Конструктор^Создание рисунка^Добавить фигуру. Также можно просто выбрать элемент, щелкнуть на нем правой кнопкой мыши и выбрать аналогичную команду в контекстном меню.

Глава 23. Работа с настраиваемыми числовыми форматами…

625

Рис. 23.24. Вводтенста в организационную диаграмму

При работе с диаграммами SmartArt следует помнить, что можно по отдельности перемещать, изменять размер и форматировать любой элемент диаграммы. Для это­ го служат команды вкладки Работа с рисунками БплаИАг^Формат. Очень просто изменить макет любой диаграммы SmartArt, — для этого доста­ точно выделить объект SmartArt и выбрать команду Работа с рисунками SmartArt1^ Конструктор^Макеты. При этом любой введенный вами ранее текст не изменяется. После того как подходящий макет будет выбран, можно применить к нему какой-либо из других стилей или цветов. С помощью команд группы Работа с рисунками SmartArt1^ Формат^Стили фигур можно легко изменить стиль и цвет диаграммы SmartArt.

Совет Набор доступных стилей SmartArt изменяется в зависимости от темы документа, назна­ ченной рабочей книге. Для изменения темы рабочей книги выберите команду Разметка страницы^Темы^Темы. Однако не забывайте, что изменение темы документа может иметь драматические последствия в отношении внешнего вида диаграмм SmartArt.

Использование WordArt Средство WordArt позволяет создавать графические изображения на осно­ ве текста. Чтобы вставить графику WordArt на рабочий лист, выберите команду BcTaBKa^TeKCT^WordArt и в открывшейся палитре стилей выберите требуемый стиль графического текста. Excel вставит на рабочий лист объект с текстом «Поместите здесь ваш текст». Замените этот текст требуемым, задайте для него нужный размер и примените любые другие атрибуты форматирования. Когда объект WordArt выделен, на ленте отображается контекстная вкладка Средства рисования. Команды этой вкладки предназначены для настройки внеш­ него вида текста в объекте WordArt. Можно также щелкнуть правой кнопкой мыши на объекте WordArt и выбрать из открывшегося контекстного меню команду Формат фигуры. Появится панель задач Формат фигуры, с помощью которой можно выпол­ нить любые настройки внешнего вида текста WordArt.

626

Часть III. Создание диаграмм и другие приемы визуализации

Объекты Word Art состоят из двух компонентов: текста и фигуры, содержащей этот текст. Панель задач Формат фигуры имеет две вкладки — Параметры фигуры и Параметры текста. Однако элементы управления на ленте, расположенные в группе Средства рисования^Формат^Стили фигур, работают только с фигурами, содержащи­ ми текст, а не с самим текстом. Для того чтобы изменить форматирование текста, вос­ пользуйтесь элементами управления из группы Средства рисования^Формат^Стили WordArt. Также можно воспользоваться стандартными элементами управления форма­ тированием, имеющимися на вкладке Главная или на мини-панели.

Работа с другими типами графических объектов На рабочий лист Excel можно импортировать разнообразные графические фай­ лы. Это действие можно выполнить следующими способами. Вставка изображения из компьютера. Если графическое изображение, которое вы хотите вставить, имеется в файле, просто импортируйте файл в свой рабочий лист. Выберите команду Вставка^Иллюстрации^Рисунки. Появится диалоговое окно Вставка рисунка, позволяющее выполнить поиск нужного файла и просмо­ треть его. К сожалению, нельзя просто взять и перетащить изображение на ра­ бочий лист, но у вас есть возможность перетащить какое-либо изображение из веб-браузера и опустить его на рабочий лист.

Вставка изображения из Интернета. Выберите команду Вставка^Иллюстрации^ Изображения из Интернета. Откроется диалоговое окно Вставка картинок, позво­ ляющее осуществлять поиск нужного файла. Копирование и вставка. Если нужное вам изображение хранится в буфере об­ мена Windows, можете вставить его на рабочий лист с помощью последовательно­ сти команд Главная^Буфер обменам Вставить или комбинации клавиш .

Несколько слов о графических файлах Графические файлы можно разделить на две большие категории. Растровые. Растровые изображения состоят из отдельных точек. Они выглядят очень привлекательно в том размере, в котором создавались, но при масштаби­ ровании их четкость резко снижается. Среди популярных растровых форматов можно выделить BMP, PNG, JPEG, TIFF и GIF.

Векторные. Эти изображения состоят из точек и кривых, представленных ма­ тематическими уравнениями, поэтому они сохраняют свою четкость независимо от размера изображения. Примерами популярных векторных форматов являют­ ся CGM, SVG, WMF и EPS. В Интернете вы можете найти тысячи свободно распространяемых графических файлов. Однако всегда будьте внимательны и не нарушайте авторские права.

Внимание! Использование растровой графики на рабочем листе может значительно увеличить размер ^рабочей книги.___________________________________________________________________________________________________

Глава 23. Работа с настраиваемыми числовыми форматами…

627

При вставке картинки на рабочий лист остается возможность ее модификации с помощью команд контекстной группы Работа с рисунками^Формат, которая появ­ ляется при выборе объекта «рисунок». Например, можно изменить цвет, контраст­ ность и яркость изображения. Кроме того, можно добавить границы, тени, отраже­ ния и так далее аналогично тому, как это делается для фигур. Кроме того, достаточно щелкнуть правой кнопкой мыши и выбрать команду Формат рисунка, чтобы воспользоваться средствами одноименной панели задач. Интересную возможность предоставляет команда управления художественными эффектами. Это средство можно использовать для создания эффектов изображения, аналогичных тем, которые имеются в арсенале программы Photoshop. Для того что­ бы получить доступ к нему, щелкните на изображении и выберите команду Работа с рисунками^Формат^Изменение^Художественные эффекты. Каждый из этих эф­ фектов предоставляет возможность настройки. Поэтому, если вы не удовлетворены стандартным эффектом, попробуйте изменить некоторые его параметры. Вероятно, вы будете приятно удивлены возможностями доработки изображений, включая возможность удаления фона фотографий. Освоить это средство лучше все­ го экспериментальным путем. Даже если нет необходимости доработки изображе­ ния, можно получить удовольствие от работы с изображениями, когда вам потребу­ ется просто отвлечься от работы с числами.

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

3. Щелкните на нужном изображении. Excel вставит его на ваш рабочий лист.

Для изменения изображений копий экрана можно воспользоваться любой про­ граммой для обработки растровой графики. Если вам не нужен снимок всего окна, выберите в п. 2 команду Вырезка экрана. Затем перетащите указатель мыши для того, чтобы выделить ту часть экрана, с кото­ рой будет делаться снимок.

Добавление подложки рабочего листа Чтобы использовать графическое изображение в качестве подложки рабочего листа (аналогично обоям на рабочем столе Windows), выберите команду Разметка страницыФПараметры страницы^Подложка и укажите нужный файл. В результате весь рабочий лист будет заполнен копиями выбранного изображения. К сожалению, подложка рабочего листа отображается только на экране и не вы­ водится при печати рабочего листа.

628

Часть III. Создание диаграмм и другие приемы визуализации

Работа с редактором уравнений Последняя тема, затронутая в данной главе, связана с редактором уравнений. Этим средством можно воспользоваться для вставки отлично отформатированных математических формул в виде графических объектов. На рис. 23.25 приведен пример ис­ пользования уравнения на рабочем листе. Следует отметить, что эти фор­ мулы не выполняют вычислений: они предназначены только для демонстра­ ционных целей. х/ Лучше всего познакомиться с реРис. 23.25. Уравнение, созданное с помощью встроенного в Excel редактора уравнений дактоРом УРавне»ии’ встввив °Д»У из уже имеющихся формул. Выберите ко­ манду Вставка^Символы^Уравнение и щелкните на какой-либо из формул в спи­ ске. В результате соответствующее уравнение будет вставлено на рабочий лист. После выбора на рабочем листе объекта Уравнение на ленте отображаются две дополнительные контекстные вкладки.

Средства рисования^Формат. Используется для форматирования содержимо­ го объекта. Работа с уравнениями^Конструктор. Используется для редактирования урав­ нений.

Контекстная вкладка Работа с уравнениями^Конструктор содержит три группы управляющих элементов.

Сервис. Предназначена для вставки нового уравнения или контроля за отобра­ жением уравнения. Щелкните для этого на кнопке расположенной в нижнем правом углу группы Сервис, и откроется диалоговое окно Параметры уравнений, в котором можно задать, каким образом копируется уравнение, а также задать сим­ волы для автозамены (для этого щелкните на кнопке Автозамена математическими символами). Символы. Содержит общие математические символы и операторы, которые можно использовать в формулах.

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

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

Практика создания графических итоговых панелей В ЭТОЙ ГЛАВЕ Подготовительный этап проекта создания графической итоговой панели

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

Выбор дизайна графической итоговой панели

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

Г •

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

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

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

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

630

Часть III. Создание диаграмм и другие приемы визуализации

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

Подготовительный этап проекта панели итоговой отчетности Предположим, что руководитель попросил вас разработать графическую итого­ вую панель, которая будет предоставлять всю необходимую итоговую информацию о заявках на ежемесячное обслуживание. Как вы поступите: немедленно приступи­ те к работе, на скорую руку соединяя в одно целое все, что придет вам на ум в по­ пытке угадать, что именно хочет видеть ваш руководитель, и надеясь, что ваш выбор окажется полезным? Этот вопрос может показаться смешным, но подобных ситуа­ ций в действительности бывает гораздо больше, чем вы думаете. Чтобы найти правильный подход к проекту графической итоговой панели, необ­ ходимо сначала привести в соответствующее состояние свое сознание. Разработка графических панелей требует значительно большей подготовительной работы, чем проведение в Excel обычного анализа. Потребуется гораздо более тесное взаимо­ действие с руководящим составом и более глубокое понимание требований конеч­ ных пользователей. Вспомните, сколько раз руководитель просил вас провести анализ, а получив результаты заявлял «Нет, я имел в виду вот что» либо «Теперь, когда я это вижу, я понимаю, что мне это, возможно, нужно». И если слышать такие слова было разо­ чарованием для простого анализа, то представьте, каково это будет при повторе­ нии вновь и вновь на всем протяжении реализации сложного итогового проекта, включающего несколько процессов интеграции данных. Вопрос состоит в том, что вы предпочтете: в начале работы потратить определенное время на сбор и анализ требований и предпочтений пользователей либо в конце работы потратить массу времени на кропотливую переделку и модернизацию уже готовой итоговой графи­ ческой панели, поскольку она не соответствует ожиданиям заказчика. Процесс сбора требований и пожеланий пользователей не должен быть слишком сложным или абсолютно формальным. Вот несколько простых вещей, которые вы можете сделать, чтобы убедиться, что у вас есть четкое представление о назначении создаваемой графической итоговой панели.

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

Глава 24. Практика создания графических итоговых панелей

631

откуда поступил исходный запрос, а затем уточните, что именно заказчики хотели получить. Обсудите назначение создаваемой итоговой панели и обязательно уста­ новите основные причины, по которым они потребовали ее создать. В результате вполне может оказаться, что для удовлетворения запросов заказчиков будет доста­ точно простого отчета, подготовленного в Excel, а в разработке полномасштабной графической итоговой панели нет никакой необходимости. Если же графическая итоговая панель — это действительно именно то, что хочет получить заказчик, выясните, кто именно входит в число ее конечных пользователей. Обязательно найдите время, чтобы встретиться хотя бы с некоторыми из них и обсу­ дить, как именно они намереваются ее использовать. Будет ли эта панель служить ин­ струментом повышения производительности для региональных менеджеров? Будет ли эта панель использоваться для обмена информацией с внешними заказчиками? Обсуждение этих фундаментальных вопросов с нужными людьми поможет вам со­ ставить верное представление о поставленной задаче и избежать получения такого конечного результата, который не соответствует всем предъявляемым требованиям.

Определение основных показателей, представляемых на панели Большинство графических итоговых панелей разрабатываются на базе опреде­ ленного набора оценок или ключевых показателей эффективности (Key Performance Indicator — KPI). Каждый KPI является индикатором выполнения задания, которое считается важным для ежедневных действий или процессов. Идея состоит в том, что KPI сигнализируют об уровне результативности, который находится вне пределов нормального диапазона для определенного показателя, а следовательно, сигнализи­ руют о необходимости повышенного внимания или прямого вмешательства в процес­ сы. Хотя те показатели, которые вы включите в создаваемую итоговую панель, офици­ ально могут и не рассматриваться как ключевые, они все равно обязательно должны играть ту же самую роль, т.е. привлекать внимание к возникающим проблемам. Набор показателей и оценок, используемый в любой итоговой панели, должен обеспечивать поддержку исключительно той цели, для которой эта панель создает­ ся. Например, если вы создаете итоговую панель, фокусирующуюся на процессах, происходящих в цепи поставок, может не иметь особого смысла включать в нее дан­ ные о численности занятого персонала. В общем случае следует считать хорошей практикой избегать размещения на графических итоговых панелях каких-то необя­ зательных, пусть даже интересных данных только для того, чтобы заполнить сво­ бодное место или просто потому, что они доступны. Если информация не требуется для достижения основной цели, на итоговой панели ее быть не должно.

Каталогизация необходимых источников данных Составив список показателей, которые необходимо представить на итоговой па­ нели, необходимо проанализировать имеющиеся источники, чтобы определить, до­ ступны ли данные, необходимые для вычисления этих показателей. Задайте себе следующие вопросы.

632

Часть III. Создание диаграмм и другие приемы визуализации

Есть ли у меня доступ ко всем необходимым источникам данных?

Как часто данные этих источников обновляются?

Кто владеет этими источниками данных и кто их обслуживает?

Какова процедура получения данных из этих ресурсов?

Существуют ли эти данные вообще?

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

Определение размерности и фильтров итоговой панели В контексте создания отчетов размерность данных определяется категорией, ис­ пользуемой для организации бизнес-данных. Примерами размерности являются регион, рынок, отрасль, менеджер, предприятие, работник. Устанавливая размер­ ность на этапе определения требований конечного пользователя, вы фактически выясняете, как должны быть сгруппированы или распределены анализируемые показатели. Например, если итоговая панель должна предоставлять информацию об отдельном работнике, необходимо убедиться, что существующие процедуры сбо­ ра и объединения данных обеспечивают предоставление детальной информации на уровне работника. Как нетрудно догадаться, добавление новой размерности по­ сле завершения разработки итоговой панели может оказаться очень сложным де­ лом, особенно когда заложенные в ней процедуры включают неоднократное объ­ единение данных из многих источников. Можно сделать обоснованное заключение, что фиксация размерности данных для итоговой панели еще на ранних этапах ее создания впоследствии, безусловно, избавит вас от ненужной головной боли. Исходя из тех же соображений, вам следует как можно раньше получить чет­ кое представление обо всех типах фильтров, которые вам потребуются. В контексте графических итоговых панелей под фильтрами понимаются механизмы, позволяю­ щие сузить область всех исходных данных до одного измерения. Например, можно фильтровать данные по году, по работнику или по региону. И вновь, если вы сразу не учтете необходимость использования определенного фильтра еще на стадии раз­ работки процедуры функционирования итоговой панели, вас, скорее всего, будет ждать неприятный сюрприз: перепроектирование процедур как сбора данных, так и функционирования итоговой панели. Если вас смущает различие между размерностями и фильтрами, представьте себе простую таблицу Excel. В этом случае под размерностью можно будет понимать столбец данных этой таблицы (например, столбец, содержащий фамилии работни­ ков). Тогда фильтр можно будет представить как механизм, позволяющий сузить исходную таблицу до отображения данных только по определенному работнику. В частности, применив к столбцу с фамилиями средство Автофильтр, вы создадите в таблице требуемый механизм фильтрации.

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

Глава 24. Практика создания графических итоговых панелей

633

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

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

Разработка модели данных графической итоговой панели В большинстве случаев разработчики тратят очень немного времени на обду­ мывание той модели данных, которая будет положена в основу создаваемой ими процедуры генерации отчетных данных на итоговой панели. Если они вообще заду­ мываются над этим, то обычно начинают с построения макета готовой графической панели, а затем продолжают работу, двигаясь в обратном направлении. Вместо того, чтобы просто представлять уже законченную графическую панель, попытайтесь продумать весь процесс прохождения данных, от начала до конца. Откуда будут получены данные? Как эти данные следует структурировать? Какой потребуется выполнять анализ? Как данные будут поступать на графическую ито­ говую панель? Как будет осуществляться обновление содержимого панели? Очевидно, что ответы на все эти вопросы очень сильно зависят от конкретной ситуации. Тем не менее существуют некоторые успешные приемы моделирова­ ния структуры данных, которые укажут вам новые способы анализа и построения

634

Часть III. Создание диаграмм и другие приемы визуализации

процесса генерации отчетных данных. Именно об этом и пойдет речь в нескольких следующих разделах.

Разделение данных, анализа и презентации Одна из наиболее важных концепций построения модели данных — это разде­ ление данных, анализа и презентации. Основная идея здесь состоит в том, что не следует слишком тесно увязывать и подгонять данные под детали процедуры вы­ полнения анализа и особенности выбранного способа презентации результатов. Чтобы лучше понять эту концепцию, представьте себе обычную квитанцию или счет на оплату. Когда вы получаете такой документ, то не предполагаете, что фи­ нансовая информация в этом счете является источником соответствующих данных. Это скорее презентация реальных данных, которые в действительности хранятся в какой-то базе данных. Эти же данные могут быть представлены вам и в ином виде: как диаграмма, как таблица или даже как веб-страница. Это кажется вполне оче­ видным, тем не менее пользователи Excel часто смешивают в своем представлении данные, анализ и презентацию. Например, нам приходилось видеть рабочие книги Excel, содержащие 12 листов, на каждом из которых была представлена информация за один месяц. И на каждом листе данные за соответствующий месяц соседствовали с формулами, сводными та­ блицами и итоговыми сводками. А теперь представьте, что создателей таких книг попросят предоставить сводную информацию по кварталам. Как им следует посту­ пить? Просто добавить новые формулы и сводные таблицы на все рабочие листы, содержащие данные по месяцам? Главной проблемой в этой ситуации является тот факт, что рабочие листы, содержащие исходные данные, одновременно используют­ ся и для проведения анализа, и для представления полученных результатов. Наилучший способ избежать подобных проблем с масштабируемостью заключа­ ется в разделении модели данных на три уровня: уровень данных, уровень анализа и уровень презентации. Можно представить себе эти уровни в виде трех различных рабочих листов в од­ ной и той же рабочей книге. На одном листе находятся исходные данные, на осно­ вании которых строится отчет, следующий лист используется как место проведения анализа этих данных и формирования итоговой информации, ну а третий лист слу­ жит исключительно для презентации полученных результатов в требуемом виде. Уровень анализа состоит преимущественно из формул, с помощью которых дан­ ные, сохраняемые на первом уровне, анализируются и переносятся в отформатиро­ ванные таблицы, которые обычно называют промежуточными. Именно эти проме­ жуточные таблицы в конечном счете и используются для предоставления информа­ ции всем компонентам презентационного уровня (таким, как диаграммы, формулы условного форматирования и прочие средства визуализации). Говоря коротко, тот лист, на котором размещен уровень анализа, представляет собой промежуточную площадку, где данные обобщаются, группируются и предоставляются в требуемом виде всем компонентам графической итоговой панели. Такой подход дает много преимуществ. Во-первых, вся модель отчетности лег­ ко может быть обновлена простой заменой ее исходных данных новым набором

Глава 24. Практика создания графических итоговых панелей

635

данных, при этом формулы уровня анализа автоматически обработают обновлен­ ную информацию. Во-вторых, при необходимости любой дополнительный анализ легко может быть реализован с использованием различных комбинаций формул на листе уровня анализа. Если при этом потребуются данные, которые отсутствуют на листе исходной информации, их легко можно будет добавить в модель, разместив на свободном месте этого листа, что не окажет никакого влияния на уровни анализа и презентации. Обратите внимание, что в действительности нет никакой необходимости разме­ щать данные, формулы их анализа и элементы презентации результатов действи­ тельно на отдельных рабочих листах. Если модель данных невелика, может ока­ заться проще разместить исходные данные на одном участке рабочего листа, а про­ межуточные таблицы — на другом. Продолжая рассуждения в том же духе, следует сказать, что в действительности никто не ограничивает вас именно тремя рабочими листами. Другими словами, вы вполне можете использовать для размещения исходных данных столько рабочих листов, сколько сочтете нужным, и то же самое можно сказать в отношении уровня анализа или уровня презентации. Как бы вы ни решили разместить различные слои модели, всегда помните об од­ ном: уровень анализа должен состоять преимущественно из формул, которые из­ влекают данные из таблиц уровня данных и после обработки помещают результаты в промежуточные таблицы, используемые как источник информации для уровня презентации.

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

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

636

Часть И1. Создание диаграмм и другие приемы визуализации

Плоские файлы хорошо подходят для использования в моделях данных Еще одним типом файлов данных являются плоские файлы. Плоский файл — это хранилище информации, организованной в виде строк и столбцов. Каждая строка представляет один набор элементов данных или, как иначе говорят, одну запись. Каждый столбец представляет собой поле. Поле соответствует одному уникальному элементу данных в записи. Кроме того, здесь нет дополнительных пустых промежут­ ков и каждая строка (или запись) соответствует уникальному набору информации. Плоские файлы прекрасно подходят для использования в моделях данных в Excel, поскольку могут быть достаточно детализированными, чтобы содержать нужные данные, и в то же время обеспечивать возможность широкого анализа с ис­ пользованием простых формул, например сумм, срзнач, впр или суммесли.

Не превращайте модель данных в базу данных В попытке иметь в непосредственной доступности так много данных, как это только возможно, многие пользователи Excel помещают на свои рабочие листы каж­ дый из элементов данных, к которому у них есть доступ. Таких людей легко мож­ но опознать по 40-мегабайтным файлам рабочих книг, которые они пересылают по электронной почте. Вы наверняка сталкивались с такими файлами: два рабочих листа с презентацией и шесть скрытых рабочих листов с многими тысячами строк данных (большая часть которых никак не используется). Фактически это обширная база данных, упакованная в рабочую книгу Excel. Что же плохого в том, чтобы использовать такое количество данных, которое только можно заполучить? Вот несколько замечаний по этому поводу.

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

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

Глава 24. Практика создания графических итоговых панелей

637

на итоговой панели информация формируется на основании модели данных, при распространении рабочей книги с графической итоговой панелью потре­ буется включить в нее (и обеспечить поддержку) и саму эту модель (желатель­ но на скрытых рабочих листах). Помимо того, что это вызовет существенное увеличение объема файла, включение в модель слишком большого объема данных может существенно снизить производительность итоговой панели. Почему? При открытии файла Excel весь этот файл загружается в оперативную память машины, что гарантирует высокую скорость обработки информации и доступа к ней. Недостатком такого подхода является тот факт, что программе Excel требуется много оперативной памяти при обработке даже относительно небольших изменений на рабочих листах. Вы и сами могли заметить, что при попытке выполнить какое-то действие на рабочем листе с большим количе­ ством формул программа Excel часто реагирует на ваши действия с задержкой, отображая в строке состояния индикатор Вычисления. Чем больше набор дан­ ных, тем менее эффективен пересчет связанных с ними формул в Excel.

Большой набор данных может вызвать проблемы с масштабируемостью. Предположим, что вы работаете в небольшой компании и в своей модели данных использовали информацию о транзакциях за месяц. В среднем за месяц вводится около 80 тысяч строк данных. Со временем вы разработали хорошо отлаженную рабочую книгу, включающую все формулы, сводные таблицы и макросы, необхо­ димые для анализа данных, сохраняемых на аккуратно поддерживаемом рабочем листе. А теперь подумайте, что произойдет через год? Вы создадите новый рабо­ чий лист для хранения исходных данных? Как будет выполняться анализ двух наборов данных, расположенных на разных рабочих листах, но которые должны восприниматься как один объект? Способны ли учесть эту особенность существу­ ющие формулы? Потребуется ли вам переписать уже имеющиеся макросы?

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

Документирование и организация модели данных Кажется вполне естественным ожидать, что для размещения модели данных будет достаточно одного рабочего листа. Многие пользователи полагают, что от­ слеживание состояния всех данных, расположенных на одном листе, осуществить намного проще, чем на нескольких. Однако решению ограничить модель данных только одним рабочим листом свойственны определенные недостатки. •

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

638

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

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

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

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

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

Глава 24. Практика создания графических итоговых панелей

639

использованию. Иначе говоря, в процессе подготовки следует учесть еще один важ­ ный аспект проектируемой итоговой панели и отнестись к нему с не меньшим вни­ манием: аспект дизайна. Пользователи Excel живут в мире чисел и таблиц, а не визуализации и дизайна. Типичный разработчик приложений в Excel не имеет опыта визуального дизайна и при создании графических итоговых панелей ему обычно приходится полагаться лишь на собственные предпочтения и вкусы в отношении их визуального оформле­ ния. В результате большинство таких панелей в Excel в действительности создается без учета базовых концепций и минимальных требований в отношении визуально­ го дизайна, что обычно приводит к их чрезмерной загроможденности и неэффек­ тивности пользовательского интерфейса. Хорошая новость состоит в том, что концепция графической итоговой панели по­ явилась так давно, что за прошедшее время была накоплена обширная база знаний о предпочтительных методах визуализации и принципах дизайна в этой области. Многие из этих принципов кажутся вполне очевидными, и тем не менее большинство пользователей Excel редко о них задумываются. Поскольку назначение этой главы — познакомить читателя с некоторыми лучшими приемами и принципами проектиро­ вания графических панелей итоговой отчетности, ниже мы рассмотрим несколько ос­ новных принципов дизайна этих панелей, которые позволят существенно повысить их эффективность и привлекательность для конечного пользователя.

Стремитесь к простоте Эксперт в области дизайна графических итоговых панелей, Стефен Фью (Stephen Few), вывел правило: «Упрощайте, упрощайте и еще раз упрощайте». Основная идея состоит в том, что панели, загроможденные слишком большим количеством пока­ зателей или просто привлекательных для глаз элементов могут растворить в себе важную информацию, которую вы пытаетесь предоставить пользователю. Сколько раз вам говорили, что ваши отчеты слишком «перегружены»? По сути, это замечание говорит о том, что на странице или на экране присутствует слишком много всякой всячины, что затрудняет просмотр фактических данных. Вот несколько рекомендаций, которые можно применить, чтобы сделать дизайн создаваемой графической итоговой панели более простым и эффективным.

Не превращайте свою панель в хранилище данных Признайте это. Вы всегда стремитесь включить в свой отчет настолько много информации, насколько это возможно, — прежде всего для того, чтобы вас не по­ просили предоставить дополнительные сведения. Мы все так поступаем. Но приняв предлагаемые здесь правила создания графических итоговых панелей, вы должны будете всеми силами бороться с желанием поместить на свое творение каждый до­ ступный вам кусочек данных. Если перегрузить пользователя слишком большим количеством данных, он мо­ жет сосредоточить свое внимание на несущественной информации и упустить из виду ту основную цель, ради которой и создавалась эта панель. Все присутствующие на итоговой панели показатели должны соответствовать ее исходному назначению. Избегайте стремления заполнить свободное пространство чем угодно просто из

640

Часть III. Создание диаграмм и другие приемы визуализации

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

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

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

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

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

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

Ограничьте общий размер итоговой панели одной печатной страницей Графические итоговые панели по самой своей сути должны предоставлять чет­ кий и лаконичный обзор ключевых показателей, относящихся к определенному

Глава 24. Практика создания графических итоговых панелей

641

бизнес-процессу или достижению поставленной задачи. А это означает, что все данные должны быть на одной странице, которую можно было бы охватить одним взглядом. Хотя разместить всю необходимую информацию на одной странице не всегда бывает просто, преимущества такого решения, когда все можно увидеть на одной странице или экране, неоспоримы. Можно без затруднений сравнивать данные в разных разделах и выявлять причинно-следственные связи, в меньшей степени полагаясь на свою кратковременную память. Если же пользователь вы­ нужден прокручивать содержимое экрана влево или вправо, вверх или вниз, эти преимущества исчезают. Более того, пользователи склонны считать, что если ин­ формация находится за пределами основного поля обзора (т.е. для ее просмотра требуется прокрутка), то она в какой-то степени является менее важной. Но что делать, если все данные все же не удается разместить на одном листе? Прежде всего, пересмотрите все показатели, отображаемые на панели, и еще раз продумайте, действительно ли они должны здесь присутствовать. Далее, заново отформатируйте все элементы, чтобы они занимали меньше места (переформати­ руйте шрифт, сократите пустое пространство, точнее настройте ширину столбцов и высоту строк). Наконец, попробуйте сделать итоговую панель интерактивной, предоставив пользователям возможность динамически изменять набор отображае­ мых на панели элементов таким образом, чтобы они могли видеть на ней только те показатели, которые их интересуют.

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

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

Выводите десятичные значения с дробными разрядами только в том слу­ чае, если этого требует заданный уровень точности. Например, очень редко может потребоваться выводить дробную часть величин, представленных в ва­ люте, например 23 450,42 рублей или 123,45 долларов; в большинстве случаев будет достаточно вывести 23 450 или 123. Аналогичное замечание касается и процентов: используйте для таких значений столько дробных десятичных разрядов, сколько минимально необходимо для их эффективного представ­ ления. Например, в большинстве случаев вместо 43,21% вполне допустимо вывести просто 43%.

Выводите символ валюты (С или $) только тогда, когда требуется уточнить, что данное значение является именно денежной суммой. Если диаграмма

642

Часть III. Создание диаграмм и другие приемы визуализации

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

Большие величины представляйте в тысячах или миллионах. Например, вместо значения 16 906 714 в большинстве случаев вполне достаточно будет вывести 17 млн.

Используйте эффективные заголовки и подписи Хотя это покажется вам странным, большинство разработчиков часто не уделяют необходимого внимания созданию продуманных и эффективных заголовков и под­ писей к элементам графических итоговых панелей. Если руководитель смотрит на вашу панель и спрашивает «0 чем это должно мне сказать?», весьма вероятно, что соответствующие подписи были выбраны вами неправильно. Вот несколько реко­ мендаций в отношении выбора эффективных заголовков и подписей в создаваемых графических итоговых панелях и отчетах.

Всегда помещайте в документ временную отметку в отношении отчетного периода. Это позволит минимизировать возможную путаницу при регуляр­ ном распространении одной и той же панели на ежемесячной или еженедель­ ной основе.

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

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

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

Часть IV Управление данными и их анализ рограмма Excel — прекрасный ин­ В струмент для анализа данных, если, конечно, вы знаете, как извлечь из рабочих листов ту информацию, которая вам действительно нужна. В этой части рассматриваются методы получения, обра­ ботки и анализа данных. Как вы скоро убе­ дитесь, средства анализа данных в Excel не только чрезвычайно мощны, но и очень просты в использовании.

П

ЭТОЙ ЧАСТИ… Глава 25 Импорт и предварительная подготовка данных Глава 26 Проверка данных Глава 27 Структурирование рабочих листов Глава 28 Связывание и консолидация данных

Глава 29 Понятие о сводных таблицах Глава 30 Анализ данных с помощью сводных таблиц Глава 31 Анализ данных с помощью сценариев “что если” Глава 32 Анализ данных: подбор параметров и поиск решения

Глава 33 Надстройка Пакет анализа Глава 34 Защита вашей работы

Глава

25

Импорт и предварительная подготовка данных В ЭТОЙ ГЛАВЕ… Импорт данных в Excel Предварительная подготовка данных Извлечение и слияние данных Обработка возможных ошибок

Экспорт данных в другие форматы

анные окружают нас повсюду. Например, если вы запустите собственный веб­ сайт, он постоянно будет собирать некоторую информацию, а вы об этом можете даже и не знать. После каждого посещения вашего сайта в файле на сервере автоматически будут сохраняться определенные данные. В этом файле будет много полезной для вас информации, если вы, конечно же, найдете время для ее изучения. Это только один пример сбора данных. Практически каждая автоматизирован­ ная система собирает данные и сохраняет их. Очень часто, но далеко не всегда, со­ бирающие данные системы оснащены возможностью проверки и анализа данных. И конечно же, данные могут собираться вручную. Ярким примером практического применения такого подхода является неавтоматизированный опрос по телефону. Программа Excel является хорошим средством для анализа данных, и она часто ис­ пользуется для обобщения информации и ее отображения в виде таблиц и диаграмм. Но зачастую собираемые данные не являются полными. По той или иной причине, перед тем как приступить к анализу, их потребуется каким-либо образом обработать. Одним из наиболее привычных применений программы Excel является ее исполь­ зование для предварительной подготовки (или, как иногда говорят, очистки) дан­ ных. В этом случае подготовка данных подразумевает получение исходных данных

Д

Часть IV. Управление данными и их анализ

646

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

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

Импорт данных из файла В этом разделе описываются типы файлов, которые программа Excel может от­ крывать непосредственно с помощью команды Файл^Открыть. На рис. 25.1 показан список параметров фильтрации файлов, которые Excel позволяет задавать в диало­ говом окне Открытие документа.

Рис. 25.1. Фильтрация по расширению файла в диалоговом окне Открытие документа

Форматы файлов рабочих листов В дополнение к имеющимся форматам файлов (XLSX, XLSM, XLSB, XLTX, XLTM и XLAM) программа Excel 2019 может открывать файлы всех предыдущих версий, как описано ниже.

XLS. Двоичные файлы, которые создавались в Excel 4, Excel 95, Excel 97, Excel 2000, Excel 2002 и Excel 2003.

XLM. Двоичные файлы, содержащие макросы Excel 4 (не данные).

XLT. Двоичные файлы для шаблонов Excel.

XLA. Двоичные файлы для надстроек Excel.

Глава 25. Импорт и предварительная подготовка данных

647

Программа Excel может также работать с файлами, созданными в других про­ граммах электронных таблиц и сохраненными в формате ODS (OpenDocument Spreadsheet). Файлы ODS создаются в ряде программ с открытым исходным кодом, включая Google Sheets, Apache OpenOffice, LibreOffice и несколько других.

Файлы баз данных Excel 2019 может открывать файлы баз данных, сохраненных в перечисленных ниже форматах. •

Файлы Access. Имеют различные расширения, включая .mdb и . accdb.

Файлы dBase. Это формат файлов dBase III и dBase IV. Программа Excel не поддерживает файлы dBase II.

При открытии файла базы данных с помощью команды Файл ^Открыть програм­ ма Excel в действительности не открывает этот файл. Вместо этого она создает под­ ключение к внешнему источнику данных, которым будут те таблицы в базе данных, которые вы укажете. Excel поддерживает различные типы подключения к базам данных, которые позволяют извлекать данные избирательно. Например, вместо «открытия» базы данных и выбора в ней таблицы можно выполнить запрос к этой таблице и извлечь из нее только те записи данных, которые действительно нужны (а не всю таблицу в целом).

Форматы текстовых файлов Текстовый файл — это файл, содержащий текстовые символы без какого-либо форматирования. Программа Excel может открывать большинство типов текстовых файлов. •

CSV. Значения, разделенные запятыми. Столбцы разделяются запятыми, а строки — символами конца строки.

ТХТ. Столбцы разделены символами табуляции, а строки — символами конца строки.

PRN. Столбцы разделяются несколькими символами пробела, а строки — сим­ волами конца строки. Программа Excel импортирует файлы этого типа в один столбец.

DIF. Формат файла, который использовался программой работы с электрон­ ными таблицами VisiCalc. Используется редко.

SYLK. Формат файла, первоначально использовавшийся программой Multiplan. Используется редко.

Большинство из перечисленных выше типов текстовых файлов могут иметь раз­ личные вариации. Например, текстовые файлы, созданные на компьютерах Мас, имеют другой символ конца строки. Обычно Excel справляется с вариантами этих файлов без особых проблем. При открытии текстового файла в Excel запускается инструмент Мастер текстов (импорт), позволяющий определить, как именно следует извлекать данные из этого файла.

648

Часть IV. Управление данными и их анализ

Совет

Чтобы отказаться от использования инструмента Мастер текстов (импорт), щелкая на кнопке Открыть диалогового окна Открытие документа, удерживайте нажатой клавишу .

Если Excel не поддерживает определенный формат файла, не торопитесь сдавать­ ся. Попробуйте найти в Интернете расширение этого файла, задав в строке поиска через плюс также слово “Excel”. Вероятно, уже существует какой-то преобразова­ тель файлов такого типа или, может быть, кто-то смог найти решение, как можно воспользоваться какой-то промежуточной программой для того, чтобы открыть файл с подобным расширением и затем экспортировать его данные в файл, рас­ познаваемый программой Excel.

Импорт HTML-файлов Программа Excel способна открывать большинство HTML-файлов из числа храня­ щихся на вашем локальном диске или на веб-сервере. Возможности визуализации HTML-кода в Excel существенно варьируются. Иногда HTML-файл будет выглядеть почти так же, как в браузере, а иногда сходство будет весьма отдаленным, особенно если в HTML-файле используются стили CSS. В некоторых случаях получить доступ к данным в вебе можно с использова­ нием инструмента Power Query. Подробно эта тема будет обсуждаться в части V, «Использование инструментов Power Pivot и Power Query» этой книги.

Импортирование файлов XML Формат XML (Extensible Markup Language) — это текстовый формат, предназна­ ченный для описания структур данных. При этом данные заключаются в специаль­ ные теги, которые предназначены для описания данных. Excel может открывать XML-файлы, и простые файлы будут корректно отобра­ жаться при приложении минимума усилий с вашей стороны. Однако для отображе­ ния сложных XML-файлов потребуются определенные усилия (обсуждение вопро­ сов, связанных с этой проблематикой, выходит за рамки данной книги). Информацию о нюансах экспортирования данных из XML-файлов можно почерпнуть из справоч­ ной системы программы Excel и из источников, размещенных в Интернете.

Импорт файла или его открытие При выборе команды Файл ^Открыть для открытия файла, формат которого отли­ чается от традиционного формата файлов программы Excel, этот файл можно будет либо открыть, либо импортировать в зависимости от его типа. Как уже отмечалось, файлы баз данных не открываются, вместо этого из них импортируются данные из указанных таблиц.

Глава 25. Импорт и предварительная подготовка данных

649

Еще одним примером файлов, которые не открываются в Excel напрямую, явля­ ются файлы формата XML. При открытии XML-файла вам будет предложено сделать выбор: любо открыть его как рабочую книгу в режиме только для чтения, либо им­ портировать его в таблицу. Текстовые файлы всегда открываются напрямую. Excel понимает структуру CSVфайлов, поэтому при их открытии вам не будет задано никаких дополнительных во­ просов. В случае текстовых файлов с разделением полей символом табуляции либо файлов с фиксированной длиной полей можно будет воспользоваться инструмен­ том Мастер текстов (импорт), который поможет определить структуру импортируе­ мых данных. Когда файл открывается напрямую, в строке заголовка Excel выводится его имя. На рис. 25.2 показана строка заголовка программы после открытия файла с именем Реализация по месяцам. txt. Когда же команда Файл^Открыть на самом деле осуществляет импорт данных, они всегда импортируются в новую рабочую книгу. В этом случае в строке заголовка отображается стандартное название новой рабо­ чей книги Excel, например Книга!.

Рис. 25.2. В строке заголовка Excel отображается имя открытого файла

Новинка! До версии Excel 2019 при работе в этой программе с файлами формата CSV Excel напомина­ ла пользователю о том, что он работает с файлом, формат которого отличается от собственно­ го формата файлов Excel, всякий раз, когда пользователь намеревался сохранить этот файл. Суть в том, что если в файл этого формата были добавлены формулы или было выполнено какое-либо форматирование его данных, то при сохранении в формате CSV все это неиз­ бежно утрачивалось. Начиная с версии Excel 2019 программа больше не выводит подобных напоминаний столь часто. Теперь предупреждение о возможной потере данных выводится непосредственно при открытии файла, и пользователю предоставляется возможность отказаться от повторного вывода подобных напоминаний в дальнейшем.

Импорт текстового файла Одним из преимуществ импортирования файлов вместо их открытия является то, что в этом случае данные можно поместить в конкретный диапазон ячеек на рабо­ чем листе, вместо того чтобы просто их ввести, начиная с ячейки А1. В приведен­ ном ниже примере показано, как импортировать текстовый файл в определенный диапазон, а также представлены основные этапы работы с инструментом Мастер текстов (импорт).

650

Часть IV. Управление данными и их анализ

Начиная с версии Excel 2019 импорт текстовых файлов рекомендуется выполнять с использованием средства Скачать и преобразовать, а не устаревшего инструмента Мастер текстов (импорт). Средство Скачать и преобразовать представляет собой мощ­ ный инструмент, который подробно будет обсуждаться в части V, «Использование инструментов Power Pivot и Power Query», этой книги. Однако в этом примере мы остановимся на использовании именно инструмента Мастер текстов (импорт), кото­ рый принято считать уже устаревшим. Дело в том, что при всей его мощи средству Скачать и преобразовать недостает некоторой гибкости, например оно не поддержи­ вает строки заголовков. Поэтому вам будет полезно знать, как можно использовать оба способа импорта тестовых файлов. Однако, прежде чем начать обсуждение примера, нужно активизировать функ­ цию устаревшего мастера импорта. Для этого выберите команду Файл^Параметры1^ Данные и установите флажок Из текста (прежних версий), как показано на рис. 25.3. В результате на последующих этапах выполнения примера у вас в меню появится необходимая команда.

Рис. 25.3. Активизация устаревшего мастера импорта текста

На рис. 25.4 показан CSV-файл небольшого размера. В следующих инструкциях описано, как можно импортировать файл PeanM3au,nH_no_MecHuaM.csv в диапа­ зон, начинающийся с ячейки СЗ.

Глава 25. Импорт и предварительная подготовка данных

651

Рис. 25.4. Этот CSV-файл будет импортирован в диапазон ячеек

1. Выберите команду Данные1^ Получить и преобразовать данные1^ Получить данные^Устаревшие мастеры^Из текста (прежних версий). Откроется диалоговое окно Импорт текстового файла. 2. Перейдите в папку, содержащую нужный текстовый файл. 3. Выберите файл, а затем щелкните на кнопке Импорт. На экране откроется диалоговое окно Мастер текстов (импорт), показанное на рис. 25.5.

Рис. 25.5. Первый этап работы Мастера импорта текста

4. В первом окне Мастер текстов (импорт) задайте способ импортирова­ ния данных: установите переключатель Укажите формат данных в поло­ жение С разделителями и убедитесь, что флажок Мои данные содержат заголовки сброшен. Щелкните на кнопке Далее.

652

Часть IV. Управление данными и их анализ

5. В следующем окне мастера укажите символ-разделитель: для CSV-файлов установите флажок запятая (рис. 25.6).

Рис. 25.6. На втором этапе работы мастера укажите символ-разделитель

б. Щелкните на кнопке Готово. Откроется диалоговое окно Импорт данных, по­ казанное на рис. 25.7.

Рис. 25.7. Для завершения импорта данных

из CSV-файла в этом окне укажите, куда их следует поместить 7. В диалоговом окне Импорт данных задайте размещение импортируемых данных. Это может быть ячейка на существующем рабочем листе или новый рабочий лист. 8. Щелкните на кнопке ОК, и Excel выполнит импортирование данных (рис. 27.8).

Глава 25. Импорт и предварительная подготовка данных

653

Рис. 25.8. Данные в диапазон начиная с ячейки СЗ импортированы непосредственно из CSV-файла

Копирование и вставка данных Если описанным выше способом перенести данные в Excel не удается, можно воспользоваться стандартной, хорошо известной всем методикой «копипаста». При копировании данных из приложений (например, из обычного текстового процессо­ ра или документа, просматриваемого с помощью средства просмотра PDF-файлов) существует большая вероятность того, что копирование данных из них в рабочую книгу Excel завершится удачно. Для этого лучше всего воспользоваться командой Главная^Буфер обмена^Вставка^Специальная вставка и поэкспериментировать с различными параметрами этой операции. Зачастую переносимые данные требуют определенной предварительной подготовки.

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

Дополнительные примеры формул для обработки текстов, которые могут приго­ диться в процессе предварительной подготовки данных, приведены в главе 11, “Формулы для обработки текста”.

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

654

Часть IV. Управление данными и их анализ

«продвинутой» технологии фильтрования. Однако сейчас удаление повторяющихся строк существенно упростилось, и в первую очередь — благодаря появлению ко­ манды Удалить дубликаты (впервые она появилась в Excel 2007). Начните с того, что установите курсор в любую ячейку в обрабатываемом ди­ апазоне данных. Затем выберите команду Данные1^Работа с данными1^ Удалить дубликаты. Откроется диалоговое окно Удалить дубликаты, показанное на рис. 25.9.

Рис. 25.9. Использование диалогового окна Удалить дубликаты

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

На заметку

Если ваши данные размещены в таблице, для выполнения этой задачи можно воспользовать­ ся номандой Работа с таблицами^ Конструктора Инструменты Удалить дубликаты. Эти ^две команды работают абсолютно одинаково. В диалоговом окне Удалить дубликаты приводится список всех столбцов в вашем диапазоне данных или в таблице. Установите флажок рядом со столбцами, значения из которых должны быть учтены в процессе поиска повторяющихся значений. Чаще всего выбираются все столбцы, и такая установка задается по умолчанию. Щелкните на кнопке ОК, и программа Excel просмотрит все строки с повторяющимися значе­ ниями и выведет сообщение с информацией о том, сколько дубликатов было удале­ но. Если программа Excel удалит слишком много строк, есть возможность отменить действие процедуры удаления дубликатов. Для этого щелкните на кнопке Отменить удаление дубликатов на панели быстрого доступа (или нажмите комбинацию кла­ виш ). Если задать в диалоговом окне Удалить дубликаты все столбцы, Excel удалит стро­ ку только в том случае, если повторяются значения во всех столбцах. Если в ва­ шей ситуации учитывать значения, находящиеся в определенных столбцах, не нужно, для таких столбцов просто сбросьте их флажки в диалоговом окне Удалить дубликаты. Например, если каждая строка включает некий уникальный идентифи­ кационный код, в этом столбце Excel никогда не найдет ни одного повторяющегося

Глава 25. Импорт и предварительная подготовка данных

655

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

Внимание!

Повторяющиеся значения определяются по значению, отображаемому в ячейке, а не по зна­ чению, хранящемуся в ячейке. Например, предположим, что в двух ячейках содержится одна и та же дата. Одна из дат представлена в формате 15.05.2019, а другая — в формате 15 май 19. При удалении повторяющихся значений Excel будет считать, что это различные значения. Аналогично числовые значения, которые отформатированы по-разному, считаются разными, поэтому значение 1 209,32₽ — это совсем не одно и то же, что значение 1209,32. Поэтому, для того чтобы обеспечить успешный поиск повторяющихся значений в таблице или диапазоне данных, рекомендуется предварительно применить один и тот же вариант форма­ тирования ко всем ячейкам столбца.

Обнаружение повторяющихся строк Есть еще один метод, которым можно воспользоваться, если вам нужно выделить повторяющиеся строки, чтобы проанализировать их, а не удалять сразу. В отличие от вышеописанного метода, этот метод работает с реальными, а не с отображаемыми значениями. Создадим справа от анализируемых данных формулу, конкатенирующую (т.е. объединяющую в одно целое) все ячейки, расположенные слева от нее. В приведен­ ных внизу формулах предполагается, что данные хранятся в столбцах A:F. Для этого введите в ячейку G2 следующую формулу: =CUEII(A2:F2)

В ячейку Н2 поместите другую формулу. Эта формула выведет значение, соответ­ ствующее тому, сколько раз встречается значение, полученное в соответствующей ячейке столбца G: =СЧЁТЕСЛИ(G:G;G2)

Скопируйте эти формулы вниз для всех строк данных. В ячейке столбца Н будет отображено количество появлений данной стро­ ки в столбце G. Неповторяющимся строкам будет соответствовать значение 1. Повторяющимся строкам будет соответствовать значение больше единицы, указы­ вающее на то, сколько раз такая строка была найдена в столбце G. На рис. 25.10 приведен простой пример. Если вас не интересует определенный столбец, не включайте его в формулу, находящуюся в столбце G. Например, если вам нужно найти повторяющиеся строки, не учитывая при этом значение столбца Статус, уберите из формулы конкатенации упоминание о ячейке D2. =СЦЕП(А2:С2,Е2:F2)

656

Часть IV. Управление данными и их анализ

Рис. 25.10. Использование формул для выявления повторяющихся строк данных

Разбиение текста В процессе импортирования данных может оказаться, что многие значения были импортированы в один столбец. На рис. 25.11 приведен пример такой проблемы, часто возникающей при импортировании данных.

Рис. 25.11. Все импортированные данные были скопированы

в один столбец, а не в соответствующие столбцы

Л Совет Для отображения данных, показанных на рис. 25.11, лучше всего использовать моно­ ширинный шрифт типа Courier New. При использовании стандартного пропорционального шрифта не будет настолько очевидно, что данные правильно выровнены в столбцах фиксиро­ ванной ширины.

Если все столбцы текста имеют одинаковую ширину (как в нашем примере), можно довольно просто написать последовательность формул, которые выбирали

Глава 25. Импорт и предварительная подготовка данных

657

бы информацию в отдельные столбцы. Для решения такой задачи могут использо­ ваться функции ЛЕВСИМВ, ПРАВСИМВ И ПСТР.

Примеры формул, предназначенных для извлечения подстрок из текста, приведены в главе И, “Формулы для обработки текста’. Также не следует забывать о том, что Excel располагает двумя средствами раз­ биения данных, в которых формулы не задействованы, — это команды Текст по столбцам и Мгновенное заполнение.

Использование команды Текст по столбцам Команда Текст по столбцам позволяет разбирать строки на составляющие их эле­ менты. Сначала убедитесь в том, что у столбца, содержащего разбиваемые строки данных, справа достаточно пустых столбцов, чтобы разместить извлеченные из строк дан­ ные. Затем выберите анализируемые данные и выполните команду Данные^Работа с данными^Текст по столбцам. Excel откроет окно мастера Мастер распределения текста по столбцам, выводящего последовательность диалоговых окон, которые по­ могут вам преобразовать один столбец данных в несколько. На рис. 25.12 представ­ лен начальный этап, на котором выбирается тип данных. С разделителями. Разбиваемые данные разделены разделителями: запятыми, косыми чертами, пробелами или другими символами.

Фиксированной ширины. Все компоненты в строке имеют одинаковую длину, т.е каждому из них отведено одно и то же количество символов.

Рис. 25.12. Первое диалоговое окно мастера распределения текста по столбцам

658

Часть IV. Управление данными и их анализ

Установите переключатель Укажите формат данных в требуемое положение и щелкните на кнопке Далее, чтобы перейти к этапу 2, который зависит от выбора, сделанного на этапе 1. Работая с данными, разделенными разделителями, задайте символ (или симво­ лы) разделителя. Вы увидите предварительный вид ожидаемого результата. При работе с данными фиксированной длины задайте ширину столбцов прямо в окне предварительного просмотра. Если полученный результат вас полностью удовлетворяет, щелкните на кнопке Далее, чтобы перейти к этапу 3. На этом этапе щелкните в окне предварительно­ го просмотра на заголовке каждого столбца и с помощью переключателя Формат данных столбца выберите для него требуемый формат данных. В завершение щел­ кните на кнопке Готово, и Excel разобьет данные в соответствии с заданным вами правилом.

Использование команды Мгновенное заполнение Мастер распределения текста по столбцам хорошо работает для многих типов данных. Но иногда можно столкнуться с данными, которые не могут быть разобра­ ны с помощью этого мастера. Например, мастер распределения текста по столбцам оказывается бесполезным в случае данных переменной длины, которые не имеют разделителей. В подобной ситуации сэкономить довольно много времени поможет команда Мгновенное заполнение. Однако следует иметь в виду, что она правильно работает, только если данные однотипные. При использовании команды мгновенного заполнения данных для их извле­ чения (а также объединения) используется специальный шаблон. Для этого до­ статочно ввести несколько образцов в столбец, расположенный рядом с данными, и выбрать команду Данные^Работа с данными^Мгновенное заполнение (или нажать комбинацию клавиш ). Excel проанализирует эти примеры и попытается за­ полнить остальные ячейки согласно приведенному образцу. Если Excel неправиль­ но распознает предложенный вами шаблон, нажмите комбинацию клавиш , введите еще один-два образца и попробуйте снова. На рис. 25.13 представлен рабочий лист с текстовыми значениями, хранящим­ ся в ячейках одного столбца. Задача заключается в том, чтобы выбрать численное значение из каждой ячейки и поместить его в отдельную ячейку соседнего столбца. Мастер распределения текста по столбцам здесь вам не поможет, так как раздели­ тели столбцов четко не определены. Вполне вероятно, что существует возможность написать формулу массива, но она окажется очень сложной. Эту рабочую книгу, которая включает в себя и другие примеры использования ко­ манды мгновенного заполнения, можно найти в файле flash fill demo.xlsx на веб-сайте книги (www. wiley. com/go/excel2019bible). Для русскоязычно­ го издания книги файл называется Pic25_13 .xlsx.

Для того чтобы воспользоваться возможностью мгновенного заполнения, пе­ рейдите к ячейке В1 и введите в нее первое число — 20. Перейдите к ячейке В2 и введите второе число — 180. Сможет ли команда мгновенного заполнения е этом случае идентифицировать оставшиеся числа и заполнить ими остальные ячейки?

Глава 25. Импорт и предварительная подготовка данных

659

Выберите команду Данные^ Работа с данными ^Мгновенное заполнение (или нажми­ те комбинацию клавиш ), и Excel мгновенно заполнит остальные ячейки. На рис. 25.14 приведен полученный результат.

Рис. 25.13. Задача заключается в том, чтобы извлечь

числовые значения из столбца А

Рис. 25.14. Инструмент Мгновенное заполнение в некоторых случаях сделал

ошибочные выводы на основании двух образцов, введенных в ячейки В1 и В2

Легко видеть, что программа Excel правильно идентифицировала большую часть значений, но не все. Точность угадывания возрастет в том случае, если предоста­ вить программе больше образцов. Задайте, например, образец в виде десятичного числа с дробными знаками. Удалите введенные значения, введите в ячейку В6 зна­ чение 3,12 и нажмите комбинацию клавиш . На этот раз Excel угадает все точно (рис. 25.15). Этот простой пример демонстрирует два важных момента. •

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

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

660

Часть IV. Управление данными и их анализ

Рис. 25.15. После ввода образца в виде дробного десятичного

числа Excel точно определяет все числовые значения

На рис. 25.16 приведен другой пример — список имен людей, расположенный в столбце А. Задача заключается в том, чтобы выбрать имя, фамилию и отчество (если таковое задано). В столбце В функция Мгновенное заполнение успешно вос­ создаст все имена, воспользовавшись для этого только двумя образцами имен (Лев и Анна), а также успешно выберет все фамилии (это столбец С), воспользовавшись для этого только образцами Толстой и Ахматова. Выборка образов отчеств или ини­ циалов (это столбец D) не будет работать, пока не будут введены образцы, включа­ ющие пробел как в начале, так и в конце отчества.

Рис. 25.16. Применение инструмента мгновенного заполнения для разбиения полных имен на элементы

В целом можно констатировать, что инструмент Мгновенное заполнение, предла­ гаемый программой Excel, как оказывается, способен работать надежно только в том случае, если данные являются полностью согласованными. Поэтому даже тогда, ког­ да вы считаете, что все сработало правильно, не забудьте внимательно проверить полученные результаты. И подумайте дважды перед тем, как доверять программе

Глава 25. Импорт и предварительная подготовка данных

661

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

На

заметку

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

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

ПРОПИСН. Преобразует все символы текстовой строки В ПРОПИСНЫЕ.

СТРОЧН. Преобразует все символы текстовой строки в строчные.

ПРОПНАЧ. Преобразует первую букву каждого слова текстовой строки В Про­

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

Буква, следующая за апострофом, всегда будет прописной (например, Don’T). Очевидно, это делается для обработки фамилий наподобие O’Reilly.

Функция пропнач не обрабатывает имена с внутренней прописной буквой, такие как McDonald.

Первые буквы в союзах всегда будут прописными. Например, не всегда же­ лательно, чтобы первая буква третьего слова в названии United States Of America тоже была прописной.

Конечно же, эти проблемы легко решить с помощью команды Найти и заменить.

Часть IV. Управление данными и их анализ

662

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

для преобразования исходных данных. 2. Во временном столбце создайте формулы и убедитесь в том, что они коррек­ тно работают. 3.

Выделите все ячейки с формулами.

4.

Выберите команду Главная^Буфер обмена^Копировать (или нажмите комби* нацию клавиш ).

5.

Выделите столбцы с исходными данными.

6.

Выберите команду Главная1^Буфер обмена^Вставить^Значения (3).

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

Удаление лишних пробелов Правила аккуратности при вводе текста предписывают, чтобы между словами был только один пробел. Очень сложно визуально обнаружить пробел в конце тек­ стовой строки. Лишние пробелы могут вызвать множество проблем, особенно ког­ да требуется сравнивать текстовые строки. Строка «Июль» — это совсем не то же самое, что и строка «Июль » с пробелом в конце. Если первая строка имеет длину четыре символа, то вторая — пять. Можно создать формулу, в которой функция сжпробелы будет использоваться для удаления всех начальных и завершающих пробелов, а также для замены всех последовательностей из нескольких пробелов одним пробелом. Следующая форму­ ла возвратит строку «Доходы в четвертом квартале» (без лишних пробелов): =СЖПРОБЕЛЫ(«

Доходы

в

четвертом

квартале

«)

Импортированные с веб-страниц данные всегда содержат различные типы про­ белов, например неразрывный пробел, обозначенный в HTML-коде тегом  . В Excel этот символ можно генерировать с помощью формулы =СИМВОЛ(160)

Для того чтобы заменить такие пробелы обычными пробелами, можно воспользо­ ваться следующей формулой: =ПОДСТАВИТЬ(А2;СИМВОЛ(160) ; » «)

Глава 25. Импорт и предварительная подготовка данных

663

Также для замены символов неразрывного пробела обычными пробелами и удале­ ния при этом лишних пробелов можно воспользоваться формулой =СЖПРОБЕЛЫ(ПОДСТАВИТЬ(А2;СИМВОЛ(160)»))

Удаление непечатаемых символов Зачастую данные, импортированные на рабочий лист Excel, содержат непонят­ ные (иногда непечатаемые) символы. Для того чтобы удалить все непечатаемые символы из строки, можно воспользоваться функцией печсимв. Если данные хра­ нятся в ячейке А2, с такой задачей справится формула =ПЕЧСИМВ(А2)

На

заметку

Функция печсимв может “не замечать” некоторые непечатаемые символы Unicode. Она за­ программирована для удаления первых 32-х непечатаемых символов в 7-битовом коде ASCII. В справочной системе по функции печсимв Excel приведена информация о том, как можно удалить непечатаемые символы в формате Unicode.

Преобразование значений В некоторых случаях нужно преобразовать значения из одной системы измере­ ний в другую. Например, при импортировании файла, хранящего значения в унци­ ях, может потребоваться представить эти данные в миллилитрах. Осуществить это и множество других преобразований может удобная функция Excel ПРЕОБР. Если ячейка А2 содержит значение в унциях, следующая формула преобразует их в миллилитры: =ПРЕОБР(А2;»oz»;»ml»)

Эта функция очень многогранна и может обрабатывать практически все известные единицы измерения в следующих категориях: вес и масса, расстояние, время, дав­ ление, сила, энергия, магнетизм, температура, объемы жидкостей, площадь, биты/ байты и скорость. В Excel также есть возможность переводить значения из одной системы счисления в другую. Например, пусть был импортирован файл, содержащий шестнадцатерич­ ные значения, и необходимо преобразовать их в десятичные. Воспользуйтесь для это­ го функцией ШЕСТИ.В.ДЕС. Например, следующая формула возвращает значение 1 279 — десятичный эквивалент шестнадцатеричного аргумента этой функции: =ШЕСТН.В.ДЕС(«4FF» )

Excel также может преобразовать двоичные числа в десятичные (функ­ ция дв.в.дес) и восьмеричные числа в десятичные (функция восьм.в.дес). Существуют и функции, выполняющие обратное преобразование из десятичного основания в другое, — дес . в. шести, дес . в. дв и дес . в. восьм.

664

Часть IV. Управление данными и их анализ

В Excel 2013 была включена новая функция ОСНОВАНИЕ, которая преобразует деся­ тичное число в число с любым основанием. Однако следует заметить, что в программе нет функции, которая работала бы в обратном направлении. Excel не предоставляет функцию, которая преобразует число с любым основанием в десятичное. Здесь вы ограничены только двоичными, восьмеричными и шестнадцатеричными числами.

Классификация значений Часто случается так, что в вашем распоряжении имеются значения, которые каким-либо образом должны группироваться. Например, если собираются данные о возрасте людей, может возникнуть необходимость в классификации их по воз­ растным группам, например 17 и моложе, 18-24,25-34 и т.д. Проще всего это реализуется с помощью таблиц просмотра. На рис. 25.17 по­ казано, что значения возраста люей хранятся в столбце А, а их классификация — в столбце В. Для заполнения значениями столбца В используется таблица просмо­ тра, хранящаяся в диапазоне D2:E9. В ячейку В2 была занесена приведенная ниже формула, которая затем была скопирована в расположенные под ней ячейки. =ВПР(А2;$D$2:$Е$9;2)

Рис. 25.17. Применение таблицы просмотра

для классификации по возрастным группам Рабочую книгу, которая содержит примеры из этого раздела, можно найти в фай­ ле classifying data.xlsx на веб-сайте книги (www.wiley.com/go/excel 2019bible). Для русскоязычного издания книги файл называется Pic25_17. xlsx.

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

Глава 25. Импорт и предварительная подготовка данных

665

Рис. 25.18. Использование таблицы просмотра для распределения регионов по федеральным округам

Таблица просмотра, состоящая из двух столбцов, размещается в диапазоне D2:E84. Хранящаяся в ячейке В2 формула копируется в ячейки, расположенные снизу от нее: =ВПР(А2;$D$2:$Е$84;2;ЛОЖЬ)

Совет Еще одна выгода, которую можно извлечь при использовании функции впр, заключается в том, что она возвращает значение ложь, если соответствие найдено не было. Это удобно для выявления ошибок в написании названий регионов (в данном примере). То, что послед­ ним аргументом передается значение ложь, отражает тот факт, что требуется обеспечить точ­ ное соответствие названий.

Объединение столбцов Для совмещения в формуле данных из двух и более столбцов можно восполь­ зоваться функцией сцеп. Например, следующая формула совмещает содержимое столбцов А1, В1 иС1: =СЦЕП(А1:С1)

Зачастую необходимо вставлять пробел между содержимым ячеек, например если столбцы содержат должность, имя и фамилию. Конкатенация с помощью при­ веденных выше формул в результате дает что-то вроде ИвановИ.И. Модифицируем формулу для того, чтобы добавить в результат пробелы (т.е. чтобы получилось Иванов И. И.): ОБЪЕДИНИТЬ(» «;ИСТИНА;Al:С1)

Часть IV. Управление данными и их анализ

666

Первый аргумент функции объединить задает разделитель, который будет вставляться между значениями в отдельных ячейках. Второй аргумент, когда он имеет значение ИСТИНА, определяет требование игнорировать пустые ячейки. Если же он имеет значение ложь, то на месте пустых ячеек будет стоять два разделителя подряд. На рис. 25.19 представлены три примера использования функции ОБЪЕДИНИТЬ. В первом примере пустые ячейки отсутствуют, поэтому значение второго аргумен­ та не имеет для нас значения. Во втором и третьем примерах второй аргумент имеет значения ЛОЖЬ и ИСТИНА соответственно, а разделитель пробел для наглядности за­ менен запятой. Как видите, если пустые ячейки при объединении не игнорируются, на их месте появляются два разделителя подряд (в данном случае — две запятые).

Рис. 25.19. Функция объединить вставляет заданный

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

Переупорядочение столбцов При необходимости переупорядочить столбцы на рабочем листе можно вставить пустой столбец, а затем перетащить содержимое другого столбца в новый пустой столбец. Однако после этого перемещенный столбец оставляет за собой пустое ме­ сто, которое необходимо будет удалить. Ниже описан еще более простой способ. 1. Щелкните на заголовке столбца, который будет переноситься. 2. Выберите команду Главная1^ Буфер обмена >Вырезать. 3. Щелкните на заголовке столбца, расположенного справа от целевого столбца. 4. Щелкните правой кнопкой мыши и выберите в появившемся контекстном меню Вставить вырезанные ячейки.

Повторяйте эту последовательность действий до тех пор, пока не получите нуж­ ный порядок расположения столбцов.

Глава 25. Импорт и предварительная подготовка данных

667

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

Затем отсортируйте данные, используя этот столбец в качестве ключа сортиров­ ки (строки будут переставлены в произвольном порядке), а в завершение удалите этот столбец.

Выборка имени файла из URL В определенных случаях в вашем распоряжении может быть список интернетадресов, из которых нужно выделить только имя файла. Следующая формула воз­ вращает имя файла, выделенное из URL. Предположим, что приведенный ниже ин­ тернет-адрес содержится в ячейке А2: http://example.com/assets/images/horse.jpg

Следующая формула возвратит имя файла horse .jpg: =ПРАВСИМВ(А2;ДЛСТР(А2)-НАЙТИ(» * «;ПОДСТАВИТЬ(А2;»/”;»*»;ДЛСТР(А2)ДЛСТР (ПОДСТАВИТЬ (А2) ) ) ) )

Эта формула возвращает весь текст, расположенный после последней косой чер­ ты. Если в ячейке А2 не будет найден хотя бы один символ косой черты, формула возвратит ошибку. Для того чтобы выбрать только остальную часть URL, без имени файла, потребу­ ется следующая формула: =ЛЕВСИМВ(А2;НАЙТИ(» * «;ПОДСТАВИТЬ(А2;»/»;;ДЛСТР(А2)ДЛСТР(ПОДСТАВИТЬ(А2)))))

На

заметну

Этот тип выборки может очень пригодиться при использовании команды Мгновенное ^заполнение (см. выше раздел “Разбиение текста”).

Поиск текста в списке Допустим, у вас есть список данных, который необходимо проверить на соот­ ветствие другому списку. Например, вам может потребоваться идентифицировать строки данных, в которых данные из определенных столбцов появляются в раз­ личных списках. На рис. 25.20 представлен простой пример. Данные располага­ ются в столбцах А:С. Наша задача — идентифицировать строки, значение столбца Членский номер из которых можно найти и в списке исключенных членов некото­ рого сообщества, который хранится в столбце F. Это делается для того, чтобы можно было удалить исключенных членов сообщества из списка.

668

Часть IV. Управление данными и их анализ

Рис. 25.20. Задача заключается в идентификации членов сообщества,

номер ноторых встречается в списке исключенных членов в столбце F

Эту рабочую книгу можно найти в файле match names.xlsx на веб-сайте книги (www.wiley.com/go/excel2019bible). Для русскоязычного издания книги файл называется Pic25_20.xlsx. Ниже приведена формула, которая позволяет решить эту задачу. Она была вве­ дена в ячейку D2 и скопирована во все нижележащие ячейки: =ЕСЛИ(СЧЁТЕСЛИ ($F$2:$F$22;В2)>0;»Исключен»; «» )

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

Перевод вертикально расположенных данных в горизонтально расположенные На рис. 25.21 приведен довольно часто встречающийся при импортировании файлов тип расположения данных. Каждая запись состоит из трех последовательных

Глава 25. Импорт и предварительная подготовка данных ячеек, расположенных в одном столбце и со­ держащих значения полей ФИО, Отдел и Рас­ положение. Нужно преобразовать эти данные таким образом, чтобы каждая запись располага­ лась в трех столбцах. Есть несколько способов преобразования данных такого типа, но мы опишем самое про­ стое решение. Оно требует очень незначитель­ ной подготовительной стадии, а вся задача вы­ полняется с помощью одной формулы, которая копируется в диапазон. Начнем с создания неких вертикальных и го­ ризонтальных цифровых «заголовков», как по­ казано на рис. 25.22. В столбце С указаны числа, которые соответствуют первой строке каждого элемента данных (в нашем случае это будет столбец ФИО). В этом примере в столбец С по­ мещены следующие значения: 1, 4, 7,10,13,16 и 19. Для генерирования этой последователь­ ности чисел можно воспользоваться простой формулой.

669

Рис. 25.21. Вертикальные данные, которые должны быть преобразованы в строки из трех столбцов

Рис. 25.22. Цифровые “заголовки” используются для преобразования

вертикально расположенных данных в горизонтальные строки

670

Часть IV. Управление данными и их анализ

Горизонтальный диапазон заголовков состоит из последовательных целых чи­ сел, начиная с 1. В этом примере каждая запись содержит три ячейки данных, по­ этому горизонтальный заголовок содержит 1,2 и 3.

Эту рабочую книгу можно найти в файле vertical data .xlsx на веб-сайте кни­ ги (www.wiley.com/go/excel2019bible). Для русскоязычного издания книги файл называется Pic25_21 .xlsx. А вот и формула, которая будет помещена в ячейку D2: =СМЕЩ($А$1;$C2+D$1-2; 0)

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

Рис. 25.23. Одна и та же формула преобразует все вертикально

расположенные данные в строки из трех ячеек Этот метод совсем несложно адаптировать для работы с вертикально располо­ женными данными, которые содержат различное количество полей. Например, если каждая запись содержит десять полей данных, то значения цифровых «заголовков», хранящихся в столбце С, должны быть 1, 11, 21, 31 и т.д. В свою очередь, горизон­ тальные «заголовки» будут состоять из значений от 1 до 10, а не от 1 до 3. Заметим, что в приведенной выше формуле используется абсолютная ссылка на ячейку А1. Эта ссылка не должна меняться во время копирования формулы, так как ячейка А1 используется в формулах в качестве базовой. Если данные располо­ жены в другом месте рабочего листа, то вместо $А$1 нужно указать адрес первой ячейки соответствующего диапазона.

Глава 25. Импорт и предварительная подготовка данных

671

В этой формуле также используются «смешанные» ссылки во втором аргументе функции СМЕЩ. В ссылке на ячейку С2 символ доллара находится перед С, поэтому столбец С является абсолютной частью ссылки. В ссылке D1 символ доллара стоит перед 1, поэтому здесь абсолютной частью ссылки является строка 1.

Больше информации об использовании смешанных ссылок в формулах представле­ но в главе 9, “Основы формул и функций Excel”.

Заполнение пропусков в импортированном отчете При импортировании данных часто можно столкнуться с ситуацией, аналогич­ ной приведенной на рис. 25.24. Этот тип форматирования отчетов встречается до­ вольно часто. Легко видеть, что запись в столбце А относится к нескольким строкам данных. Попытавшись отсортировать список такого типа, мы увидим, что отсут­ ствующие данные создают неразбериху, после чего будет довольно затруднительно определить, кто и что продал.

Рис. 25.24. Этот отчет содержит пропуски в столбце Торгпред

Если этот отчет невелик, можно ввести недостающие значения в ячейки вруч­ ную, воспользовавшись командой Главная^Редактирование^Заполнить^Вниз или комбинацией клавиш . Но если у вас большой список, то воспользуйтесь следующим приемом. 1. Выделите имеющий пропуски диапазон (например, АЗ:А14).

2. ВыберитекомандуГлавная^Редактирование^Найтиивыделить^Выделить

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

4. В строке формул введите знак равенства (=) и адрес первой ячейки с ин­ формацией в исходном столбце (в нашем случае это =АЗ) и нажмите ком­ бинацию клавиш .

Часть IV. Управление данными и их анализ

672

5. Еще раз выделите исходный диапазон и, для того чтобы скопировать вы­ деленное, нажмите . 6. Для преобразования формул в значения выберите команду Главная ФБуфер обмена ^Вставить значения. После выполнения всех этих действий пропуски заполнятся правильной инфор­ мацией и ваш рабочий лист будет выглядеть подобно рабочему листу, представлен­ ному на рис. 25.25.

Рис. 25.25. Пропуски исчезли, и этот список теперь можно отсортировать

Эту рабочую книгу можно найти в файле fill in gaps. xlsx на веб-сайте книги (www.wiley.com/go/excel2019bible). Для русскоязычного издания книги файл называется Pic25_24 .xlsx.

Проверка правописания При использовании для подготовки исходных данных любой программы редак­ тирования текстов всегда можно воспользоваться ее средствами проверки право­ писания. Ошибки правописания в текстовом документе могут просто раздражать, но в данных они могут вызвать серьезные проблемы. Например, при группировании данных по месяцам ошибка в написании названия месяца может привести к тому, что в году окажется 13 месяцев, а может, и больше. Для того чтобы выполнитть проверку правописания в программе Excel, выберите команду Рецензирование^Правописание^Орфография или нажмите клавишу . Для того чтобы провести проверку правописания в определенном диапазоне, перед запуском процедуры проверки предварительно выделите нужный диапазон. Если функция проверки правописания обнаруживает слова, которые она не мо­ жет распознать, открывается диалоговое окно Орфография. Все элементы этого окна вполне понятны без каких-либо дополнительных пояснений.

Подробнее о диалоговом окне Орфография читайте в главе 19, “Поиск и исправ­ ление ошибок”.

Глава 25. Импорт и предварительная подготовка данных

673

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

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

В этом случае задачу можно решить только с помощью достаточно простой фор­ мулы, которая заменяет второе тире двоеточием: ^ПОДСТАВИТЬ(А2;;”:»;2)

Для того чтобы удалить второе тире, достаточно не задавать третий аргумент функции подставить: =ПОДСТАВИТЬ(А2;»-«;;2)

Кстати, это еще один случай, когда для решения задачи можно также воспользо­ ваться командой мгновенного заполнения.

На заметку Если у вас есть опыт работы с языками программирования, вы должны быть знакомы с кон­ цепцией регулярного выражения. Регулярное выражение — это средство сравнения текстовых строк с помощью очень точных (и часто непонятных) кодовых строк. Программа Excel не под­ держивает концепцию регулярных выражений, но, воспользовавшись безграничными воз­ можностями Интернета, можно научиться пользоваться регулярными выражениями в VBA, а также можно поискать новые надстройки, которые позволяют использовать регулярные вы­ ражения в рабочих книгах Excel.

Часть IV. Управление данными и их анализ

674

Добавление текста в ячейки При необходимости добавления текста в ячейки можно использовать новый столбец с формулами. Ниже приведено несколько примеров.

Следующая формула добавляет ID: и пробел в начало ячейки А2: = «ID: «&А2

Следующая формула добавляет .mp3 в конец ячейки А2: =А2&».трЗ»

Следующая формула вставляет тире после третьего символа в ячейке А2: =ЛЕВСИМВ(А2;3)&»-«&ПРАВСИМВ(А2;ДЛСТР(А2)-3)

И вновь, чтобы добавить текст в ячейки, можно также воспользоваться командой мгновенного заполнения.

Решение задачи с завершающим символом “минус” Импортированные данные иногда содержат отрицательные значения, обозна­ ченные завершающим символом «минус». Например, отрицательное значение мо­ жет быть представлено как 3 498-, а не как обычное -3 498. Программа Excel не преобразует эти значения и рассматривает их как текстовую строку. Решение этой проблемы настолько простое, что может вас даже удивить. 1. Выделите данные, имеющие завершающие символы «минус». В эту вы­ борку также могут быть включены положительные значения.

2. Выберите команду Данные^Работа с даннымиФТекст по столбцам, чтобы запустить мастер распределения текста по столбцам. 3. На первом же экране мастера щелкните на кнопке Готово.

Эта процедура работает благодаря настройке, установленной по умолчанию в диалоговом окне Дополнительная настройка импорта текста, кнопку открытия ко­ торого обычно никто не замечает. Для того чтобы отобразить диалоговое окно, по­ казанное на рис. 25.27, перейдите на третий экран мастера распределения текста по столбцам и щелкните на кнопке Подробнее.

Рис. 25.27. Опция Знак минус в конце отрицательных чисел существенно упрощает исправление ситуации с завершающими минусами в диапазоне данных

Глава 25. Импорт и предварительная подготовка данных

675

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

Обладают ли все столбцы уникальными и описательными заголовками?

Отформатированы ли все столбцы данных однотипно?

Производилась ли проверка на повторяющиеся или отсутствующие строки?

Однотипно ли используется регистр символов для текстовых данных?

Производилась ли проверка на ошибки правописания?

Содержат ли данные дополнительные пробелы?

Организованы ли столбцы в правильном (или логическом) порядке?

Существуют ли пустые ячейки, которые по логике не должны быть пустыми?

Были ли исправлены завершающие знаки «минус»?

Достаточно ли широки столбцы для отображения всех данных?

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

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

CSV. Файлы, содержащие значения, разделенные запятыми.

ТХТ. Файлы, содержащие значения, разделенные знаками табуляции.

PRN. Отформатированный текст.

Эти типы файлов мы обсудим в следующих разделах.

Файлы CSV При экспортировании рабочих листов в текстовые файлы в формате CSV данные сохраняются так, как они отображаются. Другими словами, если в ячейке содержит­ ся значение 12,8312344, но эта ячейка отформатирована с двумя дробными десятич­ ными знаками после запятой, будет сохранено значение 12,83. В этом формате ячейки в строке разделяются запятой, а строки — символом кон­ ца строки.

676

Часть IV. Управление данными и их анализ

На заметну

При экспорте данных в Мас-формате символом конца строки служит только символ возврата каретки, без символа перевода строки, как это принято в системе Windows. Следует заметить, что если в ячейке содержится запятая, то значение ячейки будет заключено в кавычки. Если в ячейке содержатся кавычки, то они появятся дважды.

Файлы ТХТ Экспортирование рабочих книг в простые текстовые файлы формата ТХТ почти аналогично сохранению в формате CSV, описанному выше. Единственное отличие заключается в том, что значения ячеек в строке здесь разделяются символами табу­ ляции, а не запятыми. Если рабочий лист содержит символы в формате Unicode, то потребуется экспор­ тировать файл с использованием кодировки Unicode. В противном случае символы Unicode будут сохранены как знаки вопроса.

Файлы PRN Файлы в формате PRN можно сравнить с печатным представлением рабочего листа. Ячейки здесь, как правило, разделяются несколькими символами пробелов. Кроме того, длина строки ограничена 240 символами. Если строка превышает этот предел, излишек будет перенесен на следующую строку. Текстовые файлы в форма­ те PRN используются редко.

Экспорт в файлы других форматов Программа Excel также позволяет работать с несколькими другими форматами. Формат обмена данными. Эти файлы имеют расширение . dif. Используется редко. Symbolic Link. Эти файлы имеют расширение . sylк. Используется редко.

Portable Document Format. Эти файлы имеют расширение .pdf. Это очень ча­ сто используемый формат файлов, предназначенный только для чтения. XML Paper Specification Document. Эти файлы имеют расширение . xps. Это аль­ тернатива формату PDF, разработанная компанией Microsoft. Используется редко.

Веб-страницы. Эти файлы имеют расширение . htm. Часто сохранение рабочей книги в таком формате приводит к созданию папки с дополнительными файлами, необходимыми для точной визуализации страницы. Электронные таблицы OpenDocument. Эти файлы имеют расширение .ods и предназначены для различных открытых (бесплатных) программ обработки электронных таблиц.

Глава

Проверка данных В ЭТОЙ ГЛАВЕ… Обзор средств проверки данных в Excel

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

В

Средства проверки данных Механизм проверки данных в Excel позволяет задать определенные прави­ ла, по которым будет контролироваться корректность ввода данных в ячейки. Например, пусть необходимо, чтобы число, содержащееся в ячейке, принадлежа­ ло диапазону от 1 до 12. И если предварительно описать это в правилах проверки данных, то в случае, если пользователь введет неправильное значение, программа выведет соответствующее сообщение, как показано на рис. 26.1.

Рис. 26.1. Вывод сообщения о неправильно введенных данных

678

Часть IV. Управление данными и их анализ

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

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

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

1. Выделите ячейку или диапазон ячеек.

2. Выберите команду Данные^Работа с даннымиПроверка данных. Excel выведет диалоговое окно Проверка вводимых значений (рис. 26.2).

Рис. 26.2. Три вкладки диалогового окна Проверка вводимых значений

3. Щелкните на корешке вкладки Параметры. 4. Выберите одно из значений в раскрывающемся списке Тип данных. В за­ висимости от выбранного варианта внешний вид вкладки Параметры может измениться за счет добавления или удаления дополнительных элементов управления. (Для определения формулы нужно выбрать опцию Другой.)

Глава 26. Проверка данных

679

5. С помощью имеющихся на этой вкладке элементов управления задай­ те критерий проверки данных. Доступные элементы управления зависят от выбора, сделанного на предыдущем этапе.

6. (Дополнительно.) Щелкните на вкладке Сообщение для ввода и введите сообщение, которое должно появляться на экране при выделении указанной ячейки. Это сообщение выводится для того, чтобы сообщить пользователю, какие данные ему можно вводить. Если пропустить этот шаг, то при выделе­ нии ячейки не появится никакого сообщения.

7.

(Дополнительно.) Щелкните на вкладке Сообщение об ошибке и введите сообщение, которое должно появляться в случае, если пользователь введет недопустимое значение. Выбор вида сообщения в списке Вид определит, ка­ кой выбор будет у пользователя при внесении неверных данных. Для пре­ дотвращения ввода неправильных значений нужно выбрать вид сообщения Остановка. Если пропустить этот шаг, то при возникновении ошибки будет появляться стандартное сообщение об ошибке.

8. Щелкните на кнопке ОК. После выполнения указанных действий в выделен­ ной ячейке или диапазоне будет выполняться проверка вводимых данных. Внимание! Даже при действующей проверке данных у пользователя остается возможность ввести оши­ бочные данные. Если в списке Вид на вкладке Сообщение об ошибке диалогового окна Проверка вводимых значений выбрано любое значение, отличное от Остановка, ошибочные данные могут быть введены. Указать на ошибочные данные можно путем выделения их кругом ^(как это сделать, объясняется в следующем разделе).

Типы проверяемых данных Вкладка Параметры диалогового окна Проверка вводимых значений предоставля­ ет большой выбор типов данных для условий проверки. Выбрать тип допустимых данных можно в раскрывающемся списке Тип данных (как уже отмечалось, осталь­ ные элементы управления этой вкладки изменяются в зависимости от выбранного типа данных). Можно выбрать следующие типы данных. Любое значение. Выбор этого варианта приводит к удалению условия провер­ ки данных. Однако сообщение для ввода все равно будет выводиться, если не сбросить флажок Отображать подсказку, если ячейка является текущей на вкладке Подсказка по вводу.

Целое число. Пользователь должен ввести целое число. С помощью раскрыва­ ющегося списка Значение можно определить допустимый диапазон значений. Например, можно определить, что вводимое значение должно быть целым чис­ лом, большим или равным 100.

Действительное. Пользователь должен ввести действительное число. Диапазон допустимых значений можно определить с помощью раскрывающегося списка

680

Часть IV. Управление данными и их анализ

Значение. Например, можно определить, что вводимое число должно быть меж­ ду 0 и 1.

Список. Пользователь должен выбрать значение из предложенного списка значе­ ний. Небольшой список можно здесь же ввести в поле Источник (значения в спи­ ске должны отделяться точкой с запятой) либо указать в виде диапазона ячеек. Подробнее об этом речь идет ниже, в разделе «Создание раскрывающегося списка».

Дата. Пользователь должен ввести дату. С помощью раскрывающегося списка Значение можно определить допустимый диапазон дат. Например, можно опре­ делить, что вводимая дата должна быть больше или равна 1 января 2019 года и меньше или равна 31 декабря 2019 года.

Время. Пользователь должен ввести значение времени. С помощью раскрыва­ ющегося списка Значение можно определить допустимый диапазон значений. Например, вводимое значение времени должно быть больше, чем 10:00.

Длина текста. Ограничивается максимальная длина вводимой строки (количе­ ство символов). С помощью раскрывающегося списка Значение можно опреде­ лить допустимую длину строки. Например, можно установить, что длина вводи­ мой строки должна равняться одному символу. Другой. В этом случае потребуется определить логическую формулу, которая определяет правильность вводимых пользователем данных (напомним, что ло­ гическая формула возвращает значение ИСТИНА или ЛОЖЬ). Можно ввести фор­ мулу непосредственно в поле Формула (которое появляется после выбора этого типа проверки) или определить ссылку на ячейку с формулой. Далее в этой гла­ ве приводятся примеры нескольких полезных формул. Также на вкладке Параметры диалогового окна Проверка вводимых значений при­ сутствуют следующие флажки опций.

Игнорировать пустые ячейки. Если этот флажок установлен, то допускается оставить данную ячейку пустой. Список допустимых значений. Этот флажок появляется только при выборе в списке Тип данных значения Список и управляет выводом рядом с текущей ячейкой кнопки со стрелкой, предназначенной для раскрытия списка допусти­ мых значений, в котором пользователь сможет сделать свой выбор.

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

В Excel имеется команда Данные1^ Работа с данными^Проверка данных^Обвести неверные данные, после выбора которой все неверные значения (с точки зрения средств проверки данных) будут обведены красными кружками. После исправления неверного зна­ чения кружок исчезнет. Для того чтобы убрать кружки с рабочего листа, выберите команду Данные1^Работа с данными^Проверка данных^Удалить обводку неверных данных. На рис. 26.3 все значения, большие 105 и меньшие 10, являются неверными.

Глава 26. Проверка данных

681

Рис. 26.3. Ячейки с неверными значениями (в данном случае ячейки со значениями, большими 105 или меньшими 10) обведены кружками

Создание раскрывающегося списка Чаще всего средство проверки вводимых данных используется для создания раскрывающегося списка допустимых значений, которые можно вводить в данную ячейку. На рис. 26.4 приведен пример, в котором названия месяцев, содержащиеся в диапазоне А1 :А12, используются для создания такого раскрывающегося списка.

Рис. 26.4. Этот раскрывающийся список создан

с помощью средства проверки данных

682

Часть IV. Управление данными и их анализ

Чтобы создать такой список, выполните следующие действия. 1. Введите список допустимых значений в один столбец или строку. Эти зна­ чения будут присутствовать в раскрывающемся списке.

2. Выберите ячейку, которая должна содержать раскрывающийся список, а затем команду Данные^Работа с данными Проверка данных. Откроется диалоговое окно Проверка вводимых значений.

3. Перейдите на вкладку Параметры и в списке Тип данных выберите значе­ ние Другой.

4. В поле Формула введите следующую формулу (рис. 26.5): =ЕНЕЧЁТ(В2)

В этой формуле применена функция енечёт, которая возвращает значение ИСТИНА, если ее аргумент является нечетным числом. Обратите внимание:

684

Часть IV. Управление данными и их анализ

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

Рис. 26.5. Ввод формулы в диалоговое окно Проверка вводимых значений

5. Перейдите на вкладку Сообщение об ошибке и выберите тип сообщения Остановка. Также в поле Сообщение об ошибке введите текст сообщения Разрешается ввод только нечетных чисел. 6. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно Проверка вводимых значений.

Обратите внимание, что введенная формула содержит ссылку на верхнюю левую ячейку выделенного диапазона. Эта формула должна применяться ко всему диапа­ зону ячеек, поэтому следует ожидать, что каждая ячейка этого диапазона содержит такую же формулу. Поскольку в формуле ссылка на ячейку относительная, эта фор­ мула изменяется для каждой отдельной ячейки диапазона В2:В10. Чтобы удостове­ риться в этом, установите табличный курсор, например, в ячейку В5 и откройте диа­ логовое окно Проверка вводимых значений. В этом окне вы должны увидеть формулу =ЕНЕЧЁТ(В5)

На заметку Альтернативный метод заключается во вводе логической формулы в некоторую ячейку, с по­ следующим занесением ссылки на эту ячейку в поле Формула диалогового окна Проверка вводимых значений. Для нашего примера поместите в ячейку С2 формулу =енечёт(В2), после чего скопируйте ее вниз по столбцу до ячейки СЮ включительно. После этого в поле Формула диалогового окна Проверка вводимых значений введите формулу =С2. В большин­ стве случаев вводить формулу непосредственно в поле Формула гораздо проще и эффективнее.

Глава 26. Проверка данных

685

В общем случае, когда формула для проверки данных вводится в диапазон ячеек, следует использовать относительную ссылку на его активную ячейку, которой, как правило, является верхняя левая ячейка выделенного диапазона. Исключение со­ ставляют ситуации, когда нужно сделать ссылку на некоторую конкретную ячейку. Например, вы хотите, чтобы в диапазон А1 :В10 вводились только такие значения, ко­ торые превышают значение в ячейке С1. Для этого можно воспользоваться формулой =А1>$С$1

В данном случае ссылка на ячейку С1 делается абсолютной, и в результате эта ссылка остается неизменной во всех ячейках выделенного диапазона. Например, формула проверки данных для ячейки А2 будет выглядеть следующим образом: =А2>$С$1

Относительная ссылка на ячейку автоматически изменяется, в то время как абсо­ лютная ссылка на ячейку — нет.

Примеры формул для проверки данных В этом разделе приведено несколько примеров, в которых для проверки вводи­ мых данных используются различные формулы. В приведенных примерах все фор­ мулы были введены непосредственно в поле Формула на вкладке Параметры диало­ гового окна Проверка вводимых значений. Эти примеры помогут вам лучше понять, как можно создавать собственные формулы проверки вводимых данных. Все примеры, приведенные в этом разделе, можно найти в файле data validation examples.xlsx на веб-сайте книги (www.wiley.com/go/excel2019bible ). Для русскоязычного издания книги файл называется Piс26 06.xlsx.

Ввод только текста Программа Excel предоставляет встроенную возможность тем или иным обра­ зом ограничить длину вводимых текстовых значений, но не обеспечивает возмож­ ности ограничить вводимые в ячейку данные только текстовыми значениями (не числовыми). Для того чтобы разрешить ввод в ячейку или диапазон только текста и запретить ввод числовых значений, используется следующая формула проверки вводимых значений: =ЕТЕКСТ(А1)

Здесь предполагается, что при вводе формулы именно ячейка А1 является активной в выделенном диапазоне.

Ввод значений, больших, чем в предыдущей ячейке Следующая формула проверки данных позволяет ввести число в ячейку только в том случае, если оно больше, чем значение в предыдущей ячейке: =А2>А1

Часть IV. Управление данными и их анализ

686

В формуле предполагается, что активной ячейкой выделенного диапазона явля­ ется ячейка А2. Заметьте, что эту формулу нельзя использовать в первой строке рабочего листа.

Ввод только уникальных значений Следующая формула проверки вводимых данных не позволит пользователю вве­ сти в диапазоне А1 :С20 повторяющиеся значения: =СЧЁТЕСЛИ($А$1:$С$20;А1)=1

Это логическая формула, возвращающая значение ИСТИНА в случае, если значе­ ние из ячейки появляется в диапазоне А1:С20 только один раз. В противном слу­ чае эта формула возвращает значение ЛОЖЬ, и на экран выводится диалоговое окно Повторение данных!. Здесь также предполагается, что А1 является активной ячейкой выделенного диапазона. Обратите внимание на то, что в качестве первого аргумента функции СЧЁТЕСЛИ используется абсолютная ссылка. Вторым аргументом является относи­ тельная ссылка, которая меняется для каждой ячейки выделенного диапазона. На рис. 26.6 показано, как работает эта формула. Здесь сделана попытка ввести в ячей­ ку В5 значение 17, которое уже есть в диапазоне А1 :С20.

Рис. 26.6. Использование средства проверки данных для предотвращения

ввода дублирующихся значений

Ввод текста, начинающегося с определенного символа В следующей формуле используется прием, который позволяет проводить провер­ ку по заданному символу. В данном случае формула вернет значение ИСТИНА, если ввести в ячейку строку, которая будет начинаться с буквы А (независимо от регистра). =ЛЕВСИМВ(А1)=»а»

Глава 26. Проверка данных

687

Это логическая формула, возвращающая значение истина в том случае, если пер­ вым символом ячейки является буква А. В любом другом случае эта формула воз­ вращает значение ЛОЖЬ. При вводе этой формулы предполагается, что активной ячейкой выделенного диапазона является ячейка А1. Следующая формула является вариантом предыдущей формулы. В ней использу­ ются групповые символы во втором аргументе функции СЧЁТЕСЛИ. В этом случае формула проверки данных гарантирует, что содержимое ячейки начинается с бук­ вы А и содержит ровно пять символов: =СЧЁТЕСЛИ(А1;»А????»)=1

Ввод дат по дню недели Следующая формула проверки данных предполагает, что содержимое ячейки яв­ ляется датой, и подтверждает, что эта дата является понедельником: =ДЕНЬНЕД(А1)=2

При вводе этой формулы предполагается, что активной ячейкой диапазона явля­ ется ячейка А1. В ней задействована функция ДЕНЬНЕД, возвращающая значение 1 для воскресенья, 2 — для понедельника и т.д. Обратите внимание, что функция ДЕНЬНЕД принимает в качестве аргумента любое неотрицательное значение (не только даты).

Ввод значений, не превышающих суммы На рис. 26.7 представлен простой рабочий лист с расчетом бюджета, составляю­ щие которого лежат в диапазоне ячеек В1 :В6. Запланированный бюджет хранится в ячейке Е5, и в данный момент пользователь хочет ввести в ячейку В2 такое зна­ чение, которое приведет к тому, что сумма (значение в ячейке Е6) превысит уста­ новленный бюджет. Следующая формула проверки данных будет контролировать, чтобы сумма составляющих не превышала бюджета: =СУММ($В$1:$В$6)Анализ команда Поиск решения отсутствует, необходимо просто загрузить соответствующую над­ стройку. Это совсем несложно. 1.

Выберите команду Файл^>Параметры. Откроется диалоговое окно Параметры

Excel. 2. В этом диалоговом окне откройте вкладку Надстройки. 3.

В нижней части этой вкладки в раскрывающемся списке Управление выберите

опцию Надстройки Excel и щелкните на кнопке Перейти. Откроется диалоговое

окно Надстройки. 4.

В диалоговом окне Надстройки в списке Доступные надстройки установите флажок Поиск решения и щелкните на кнопке ОК.

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

Простой пример поиска решения Знакомство с процедурой использования средства Поиск решения начнем с про­ стого примера. Ниже в этой главе для демонстрации всех возможностей этого сред­ ства будет приведено несколько более сложных примеров. На рис. 32.4 показан рабочий лист, с помощью которого можно вычислить прибыль от продажи трех видов продукции. В столбце В отображено количество по каждому изделию, в столбце С — доход от продажи единицы изделия. В столб­ це D содержатся формулы, по которым вычисляется доход от продажи каждого вида товара путем умножения их количества на прибыль от продажи единицы изделия.

Рис. 32.4. Процедура поиска решения будет

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

Глава 32. Анализ данных: подбор параметров и поиск решения

803

Рабочую книгу с этим примером можно найти в файле three products.xlsx на веб-сайте книги (www. wiley. com/go/excel2019bible). Для русскоязычно­ го издания книги файл называется Pic32_04 .xlsx. Не обязательно иметь ученую степень по экономическим наукам, чтобы по­ нять, что наибольшую прибыль от продажи единицы продукции дает изделие С. Следовательно, можно принять вполне логичное решение — изготавливать только изделие С, причем в максимальных количествах. Если бы на самом деле все было так просто, то такое мощное средство, как процедура поиска решения, не потребовалось бы. Но, как и в большинстве случаев, есть несколько ограничений, которые компа­ нии приходится учитывать.

Общий объем производства не может быть более 300 единиц изделий в день.

Компании нужно произвести 50 единиц изделия А для выполнения существу­ ющего заказа.

Компании нужно произвести 40 единиц изделия В для выполнения планового заказа.

Поскольку сбыт изделий С относительно небольшой, в день может быть из­ готовлено не более 40 единиц этого изделия.

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

2. Выберите команду Данные ^Анализ^ Поиск решения. Откроется диалого­ вое окно Параметры поиска решения. 3. В этом диалоговом окне укажите целевую ячейку. 4. Укажите диапазон, который содержит изменяемые ячейки.

5. Задайте ограничения. 6. При необходимости измените параметры выполнения процедуры поиска решения.

7. Щелкните на кнопке Найти решение и предоставьте возможность проце­ дуре поиска решения выполнить поставленную задачу. Итак, чтобы запустить процедуру поиска решения, выберите команду Данные1^ Анализа Поиск решения. Откроется диалоговое окно Параметры поиска решения, по­ казанное на рис. 32.5. В этом примере целевой ячейкой является D6, в которой вычисляется общая при­ быль по трем видам изделий. Далее выполните следующее.

1. В поле Оптимизировать целевую функцию введите адрес ячейки D6 или просто щелкните на этой ячейке на рабочем листе.

804

Часть IV. Управление данными и их анализ

Рис. 32.5. Диалоговое окно Параметры поиска решения

2. Поскольку наша цель — максимизировать значение в этой ячейке, устано­ вите переключатель До в положение Максимум. 3. В поле Изменяя ячейки переменных укажите изменяемые ячейки (в на­ шем случае это диапазон ВЗ:В5). Далее необходимо задать ограничения, по одному за один раз. Все установленные ограничения будут отображены в списке В соответствии с ограничениями. 4. Для того чтобы добавить очередное ограничение, щелкните на кнопке Добавить. Откроется диалоговое окно Добавление ограничения (рис. 32.6),

в котором нужно ввести ссылку на ячейку, выбрать оператор и указать гра­ ничное значение. 5. Первое ограничение — общий объем продукции должен быть равен 300 единицам изделий. Введите адрес ячейки В6, выберите в раскрывающем­ ся списке операторов значение «меньше или равно» (=40

Не больше 40 единиц изделия С

В5=0

C14=G14 C15=G15

Е22>=0

F22>=0

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

На заметку Прежде чем решить задачу с помощью средства Поиск решения, попытайтесь найти мини­ мальную стоимость перевозок, изменяя вручную значения в диапазоне D12:F17. Не забудьте проверить, все ли ограничения удовлетворены. Немного поэкспериментировав, вы обнару­ жите, что в действительности это достаточно сложная задача, позволяющая по достоинству оценить всю мощь средства Поиск решения.

Постановка задачи является, пожалуй, одним из самых сложных этапов, посколь­ ку необходимо ввести девять ограничений. После задания всей необходимой ин­ формации щелкните на кнопке Найти решение, чтобы начать решение задачи. Этот процесс будет продолжаться некоторое время, но в конечном счете программа вы­ ведет на экран решение, показанное на рис. 32.13. Общая стоимость перевозок составит 55 515 долларов, при этом все потребности магазинов будут удовлетворены. Обратите внимание на то, что в розничный ма­ газин, находящийся в Майами, товары будут поступать как из Сент-Луиса, так и из Бостона. Можно предположить, что оставить склад вообще без каких-либо запа­ сов — это нежелательный вариант развития событий. В таком случае следует из­ менить ограничения, заданные для ячеек диапазона D22:F22, потребовав, чтобы их значения были не меньше некоторого минимально допустимого значения.

814

Часть IV. Управление данными и их анализ

Рис. 32.13. Результаты, полученные с помощью средства Поиск решения

Средство Поиск решения представляет собой сложный инструмент, и в этой главе оно описано вкратце. Если вы хотите узнать о нем больше, посетите веб-сайт ком­ пании «Frontline Systems” (www.solver.com). Именно компания Frontline Systems разработала надстройку Поиск Решения для Excel. На этом веб-сайте имеются не­ которые учебные материалы и большой объем другой полезной информации, включая детальное руководство, которое можно загрузить. Кроме того, там мож­ но найти дополнительные средства поиска решения для Excel, которые позволяют решать значительно более сложные задачи.

Распределение ресурсов В этом разделе рассматривается пример, который можно отнести к категории идеальных задач для решения с использованием средства Поиск решения. По су­ ществу, в задачах подобного типа определяются способы оптимизации объемов выпускаемой продукции в зависимости от имеющегося количества ресурсов. На рис. 32.14 приведен пример такого расчета для компании по производству дет­ ских игрушек.

Глава 32. Анализ данных: подбор параметров и поиск решения

815

Рис. 32.14. Применение средства Поиск решения для максимизации

прибыли, получаемой в условиях ограниченности ресурсов

Рабочую книгу с этим примером можно найти в файле allocating resources. xlsx на веб-сайте книги (www.wiley. com/go/excel2019bible). Для русско­ язычного издания книги файл называется Pic32_14 .xlsx. Эта компания выпускает пять видов игрушек, для которых используется шесть видов материалов в различных количествах. Например, для выпуска игрушки А тре­ буется 3 единицы синей краски, 2 единицы белой краски, 1 единица пластмассы, 3 единицы древесины и 1 единица клея. В столбце G показаны текущие запасы каж­ дого вида материала. В строке 10 показана прибыль от производства одной игрушки каждого вида. Количество изготовленных игрушек указывается в диапазоне Е311 :F11. Эти зна­ чения как раз и будут определяться с помощью процедуры поиска решения. Цель данного примера — определить, как нужно распределить имеющиеся ресурсы, чтобы максимизировать значение суммарной прибыли, которое находится в ячей­ ке В13. Другими словами, с помощью средства Поиск решения будет определено, какое количество каждой из игрушек следует изготовить, чтобы получить макси­ мальную прибыль. Ограничения для этого примера сравнительно просты.

Нужно обеспечить, чтобы на выпуск продукции требовалось количество ресурсов, не превышающее имеющегося в наличии. Этого можно достичь, указав, что значения в каждой ячейке столбца I должны быть больше или рав­ ны нулю.

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

816

Часть IV. Управление данными и их анализ

На рис. 32.15 приведены результаты, полученные с помощью процедуры поис­ ка решения. В таблице показано, какое количество продукции каждого вида нуж­ но выпустить, чтобы получить максимальную прибыль, равную 12 365 долларам. Обратите внимание на то, что при этом все ресурсы, кроме клея, будут использова­ ны полностью.

Рис. 32.15. С помощью средства Поиск решения определено, как нужно использовать ресурсы, чтобы получить максимальную общую прибыль

Оптимизация инвестиционного портфеля В этом примере демонстрируется, как средство Поиск решения можно использо­ вать для того, чтобы максимизировать ожидаемый доход от инвестиций. Портфель содержит несколько инвестиционных проектов, каждый из которых приносит раз­ личный доход. Кроме того, можно наложить несколько дополнительных ограниче­ ний, которые помогут снизить риск потерь и правильно распорядиться капиталом. Без таких ограничений подобная задача решается очень просто — нужно вложить все свои деньги в предприятие, приносящее наибольший доход. В этом примере используется гипотетическая модель кредитного союза — фи­ нансовой организации, которая принимает деньги от своих членов и выдает ссуды под проценты другим членам, выдает кредиты банкам и осуществляет некоторые другие виды инвестиционной деятельности. Часть дохода от этих инвестиций пере­ распределяется между членами организации в виде дивидендов, которые зависят от доли их депозитных вкладов. Этот гипотетический кредитный союз должен придерживаться нескольких пра­ вил, касающихся инвестиций, плюс его правление установило несколько собствен­ ных правил. Все эти требования в совокупности и составляют набор ограничений для данной задачи. На рис. 32.16 показан рабочий лист, который создан специально для этого примера.

Глава 32. Анализ данных: подбор параметров и поиск решения

817

Рис. 32.16. Рабочий лист для решения задачи о максимизации

доходов от инвестиций кредитного союза

Рабочую книгу с этим примером можно найти в файле investment portfolio. xlsx на веб-сайте книги (www.wiley.com/go/excel2019bible). Для русско­ язычного издания книги файл называется Pic32_16.xlsx. Ниже перечислены ограничения, которых необходимо придерживаться при ра­ боте с портфелем ценных бумаг стоимостью 5 миллионов долларов. •

Сумма инвестиций в кредиты на приобретение новых автомобилей долж­ на быть по крайней мере в три раза больше суммы инвестиций в кредиты на приобретение подержанных автомобилей. (Кредиты на приобретение подержанных автомобилей — это более рискованные инвестиции.) Это огра­ ничение записывается так: С5>=С6*3.

Инвестиции на приобретение автомобилей должны составлять не менее 15% от общей суммы всех инвестиций. Это ограничение записывается так: D14>=0,15.

Рискованные ссуды должны составлять не больше 25% от суммы всех ин­ вестиций. Это ограничение записывается так: Е8=0,10.

Весь объем инвестиций должен составлять 5 миллионов долларов.

Все инвестиции должны быть больше или равны нулю.

818

Часть IV. Управление данными и их анализ

Изменяемые ячейки — С5:С9, а цель данной задачи — максимизировать общий процент прибыли, указанный в ячейке D12. В изменяемые ячейки введено началь­ ное значение 1 000 000. Если запустить процедуру поиска решения с этими пара­ метрами, то будет получен результат, показанный на рис. 32.17. При этом общий процент прибыли составит 9,25%.

Рис. 32.17. Результаты оптимизации инвестиционного портфеля

Глава

Надстройка Пакет анализа В ЭТОЙ ГЛАВЕ… Обзор возможностей надстройки Пакет анализа Использование средств надстройки Пакет анализа Средства надстройки Пакет анализа

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

Н

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

820

Часть IV. Управление данными и их анализ

Дисперсионный анализ (три вида)

Корреляционный анализ

Ковариационный анализ

Описательная статистика

Экспоненциальное сглаживание

Г-тест

Анализ Фурье

Гистограмма

Скользящее среднее

Генерация случайных чисел

Ранг и персентиль

Регрессия

Выборка

t-тест (три вида)

z-тест

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

Установка надстройки Пакет анализа Средство Пакет анализа — это надстройка Excel и ею можно воспользоваться лишь в том случае, если она загружена. Если в группе команд Данные1^ Анализ при­ сутствует команда Анализ данных, значит, данная надстройка уже подключена и за­ гружена. В противном случае, чтобы загрузить эту надстройку, выполните следую­ щую последовательность действий.

1. Выберите команду Файл^Параметры.

2. В открывшемся диалоговом окне Параметры Excel перейдите на вкладку Надстройки. 3. В нижней части этой вкладки, в раскрывающемся списке Управление, вы­ берите опцию Надстройки Excel и щелкните на кнопке Перейти. Откроется диалоговое окно Надстройки.

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

5. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно Надстройки.

Глава 33. Надстройка Пакет анализа

821

Использование средств надстройки Пакет анализа Пользоваться процедурами надстройки Пакет анализа относительно просто. Выберите на ленте команду Данные^Анализ^Анализ данных, чтобы открыть диа­ логовое окно Анализ данных, показанное на рис. 33.1. Затем прокрутите представ­ ленный в нем список, чтобы найти необходимое средство, и выделите его строку. Щелкните на кнопке ОК, после чего откроется новое диалоговое окно, вид которого будет зависеть от выбранной вами процедуры.

Рис. 33.1. Выберите нужное средство

в диалоговом окне Анализ данных

Далее обычно требуется определить один или несколько диапазонов ячеек с ис­ ходными данными и диапазон ячеек для размещения выходных результатов (в по­ следнем случае часто достаточно будет указать одну ячейку, представляющую верхний левый угол выделяемого для размещения результатов диапазона). Также можно потребовать, чтобы результаты анализа помещались на новом рабочем листе или даже в новой рабочей книге. В каждой процедуре нужно будет также указать разное количество дополнительной информации. Во многих диалоговых окнах есть флажок, с помощью которого уточняется, содержатся ли в заданном диапазоне дан­ ных заголовки. Если заголовки в данных присутствуют, то для анализа необходимо ввести ссылку на весь диапазон, включая заголовки, и указать программе, что заго­ ловки находятся в первом столбце или в первой строке. Программа Excel будет ис­ пользовать эти заголовки в создаваемых ею таблицах. Большинство средств имеет также различные опции, влияющие на вид предоставляемых результатов. Внимание! Следует отметить, что при генерации отчетов надстройка Пакет анализа действует не всег­ да единообразно. В некоторых случаях процедуры анализа вычисляют результат с исполь­ зованием формул, поэтому при изменении входных данных результат изменяется автомати­ чески. В других процедурах результат анализа выдается в форме фиксированных значений, так что, если просто изменить исходные данные, не выполняя пересчета, результат останет^ся прежним.

822

Часть IV. Управление данными и их анализ

Средства надстройки Пакет анализа В этом разделе описано каждое средство надстройки Пакет анализа и приведены соответствующие примеры. Объем данной книги не позволяет подробно рассмо­ треть каждую опцию в этих процедурах. Но если вам потребуются некоторые слож­ ные инструменты анализа этой надстройки, вы, конечно, сами во всем разберетесь. Также настоятельно рекомендуется перед первым использованием любого сред­ ства анализа из этой надстройки обязательно прочитать информацию о нем, имею­ щуюся в справочной системе Excel.

На веб-сайте книги (www.wiley.com/go/excel2019bible) можно найти ра­ бочую книгу, в которой представлены результаты применения всех средств, об­ суждаемых в этом разделе. Соответствующий файл называется atp examples, xlsx. В этой рабочей книге также содержатся некоторые альтернативные решения, базирующиеся на формулах. Такие решения подчас бывают лучше использования средств надстройки Пакет анализа. Для русскоязычного издания книги файл на­ зывается Pic33 02.xlsx.

Дисперсионный анализ Дисперсионный анализ (иногда для него используют аббревиатуру «ANOVA» от англ. «ANalysis of VAriance») — это статистический тест, который определяет, взяты ли две или больше выборок из одной и той же генеральной совокупности. С помощью пакета анализа можно выполнять дисперсионный анализ трех типов. Однофакторный дисперсионный анализ. Простой дисперсионный анализ с использованием только одной выборки для каждой группы данных.

Двухфакторный анализ с повторениями. Расширенный дисперсионный ана­ лиз с несколькими выборками (или повторениями) для каждой группы данных. Двухфакторный анализ без повторений. Расширенный дисперсионный ана­ лиз с одной выборкой для каждой группы данных. На рис. 33.2 показано диалоговое окно однофакторного дисперсионного анали­ за. Параметр Альфа в этом окне определяет уровень статистической достоверности для теста. Результаты представляют средние значения и дисперсию для каждой из четырех вы­ борок, величину /-‘, критические значения /■’ и значимость / -статистики (вероятность).

Корреляционный анализ Коэффициент корреляции широко используется в статистике для оценки степе­ ни зависимости значений в двух наборах данных. Например, если максимальные значения одного набора данных связаны с максимальными значениями второго на­ бора, то у этих наборов положительная корреляция. Степень корреляции выража­ ется коэффициентом, который лежит в интервале от -1,0 (полная отрицательная корреляция) до +1,0 (полная положительная корреляция). Нулевой коэффициент корреляции означает, что два набора некоррелированы (это часто принимается как подтверждение того, что наборы данных полностью независимы).

Глава 33. Надстройка Пакет анализа

823

Рис. 33.2. Определение параметров однофакторного дисперсионного анализа

Диалоговое окно инструмента Корреляция показано на рис. 33.3. Здесь вам нуж­ но определить входной диапазон ячеек, который может состоять из любого количе­ ства переменных, сгруппированных по строкам или по столбцам.

Рис. 33.3. Диалоговое окно Корреляция

Результат будет представлен в виде корреляционной матрицы, в которой указы­ ваются коэффициенты корреляции для каждой пары переменных.

На заметку

Обратите внимание на то, что в результирующей корреляционной матрице не используют­ ся формулы для вычисления результатов. Поэтому, если данные изменятся, корреляционная матрица останется неизменной. Для создания корреляционной матрицы, которая автомати­ чески обновляется при изменении исходных данных, можно использовать функцию коррел.

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

824

Часть IV. Управление данными и их анализ

отклонений каждой пары точек данных от их средних. Как и корреляция, этот по­ казатель характеризует степень зависимости двух случайных переменных. Поскольку данное средство не генерирует формулы, результаты ковариацион­ ного анализа не обновляются после изменения исходных данных. Матрицу кова­ риаций, которая автоматически пересчитывалась бы после изменения исходных данных, можно вычислить с помощью функции КОВАР.

Описательная статистика С помощью средства Описательная статистика надстройки Пакет анализа созда­ ется таблица с некоторыми стандартными статистическими параметрами данных. Пример отчета этого средства анализа показан на рис. 33.4.

Рис. 33.4. Пример отчета средства Описательная статистика Поскольку выходной результат состоит из значений (а не из формул), эту проце­ дуру анализа можно использовать только в случае, если вы уверены, что данные не будут изменяться. Иначе придется заново выполнить всю процедуру. Статистические данные можно также вычислить, используя соответствующие формулы.

Экспоненциальное сглаживание Это метод прогнозирования, основанный на данных предыдущего периода и откорректированный с учетом погрешностей в прогнозе предыдущего периода. В окне настройки можно определить коэффициент затухания (также называемый константой сглаживания); он берется из интервала от 0 до 1. Этот коэффициент определяет, насколько существенно влияют на прогнозы погрешности предыдуще­ го периода. Кроме того, можно вывести стандартные погрешности и построить диа­ грамму.

Глава 33. Надстройка Пакет анализа

825

С помощью этой процедуры создается формула, в которой используется задан­ ный коэффициент затухания. Поэтому при изменении данных результаты расчетов по формулам автоматически обновляются.

F-тест (двухвыборочный тест для сравнения дисперсий) Это часто используемый статистический тест, который позволяет сравнить дис­ персии двух выборок. Небольшой пример отчета, генерируемый этим тестом, по­ казан на рис. 33.5.

Рис. 33.5. Пример отчета F-теста

В результатах анализа приведены среднее значение и дисперсия для каждой из выборок, величина F-статистики, критические значения F-статистики и ее значи­ мость.

Анализ Фурье С помощью этого средства выполняется быстрое преобразование Фурье для диа­ пазона данных. Диапазон ограничен следующими размерами: 1, 2, 4, 8, 16, 32, 64, 124, 256, 512 и 1024 точки данных. Входные и выходные значения этой процедуры могут быть комплексными числами, представленными текстовыми строками (а не числовыми значениями).

Гистограмма Эта процедура полезна для анализа распределения данных и построения гисто­ грамм (графика эмпирической плотности вероятности). В качестве исходных зна­ чений нужно указать входной диапазон и интервалы значений. Интервал значе­ ний определяет границы для каждого из столбцов гистограммы. Если не указывать интервалы значений, Excel автоматически создаст 10 равномерно распределенных интервалов. Размер каждого интервала определяется по следующей формуле: =(МАКС(входной-Диапазон)-МИН(входной_диапазон))/10

826

Часть IV. Управление данными и их анализ

Вывод средства Гистограмма показан на рис. 33.6. В качестве дополнительной возможности предусмотрена сортировка результирующей диаграммы по частоте попадания данных в каждый интервал.

Рис. 33.6. Средство Гистограмма позволяет проводить анализ распределения данных и представлять его результаты в графическом виде

Если в окне настройки установлен флажок Парето (отсортированная гистограмма), то в интервале значений должны находиться только значения, формулы использо­ вать нельзя. Если в интервале значений появятся формулы, то сортировка, выпол­ няемая программой Excel, будет неверной и на рабочем листе появятся ошибочные значения. Средство Гистограмма не использует формулы, поэтому, если вы измени­ те какие-либо входные данные, потребуется повторить процедуру для обновления результатов. О других способах построения распределения частот читайте в главе 30, “Анализ данных с помощью сводных таблиц”. Excel 2019 также поддерживает два новых типа диаграмм: гистограмму и диаграмму Парето. Эти типы диаграмм работают с диа­ пазоном данных и не требуют отдельного интервала значений. Соответствующий пример приведен в главе 20, “Основы построения диаграмм”.

Глава 33. Надстройка Пакет анализа

827

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

Рис. 33.7. Диаграмма, созданная средством Скользящее среднее на основании

предоставленных ему данных

Обратите внимание на то, что в нескольких первых выходных ячейках всегда содержится значение ошибки #Н/Д. Причина состоит в том, что для вычисления скользящего среднего этих начальных значений имеется недостаточное количество исходных данных.

828

Часть IV. Управление данными и их анализ

Генерация случайных чисел Хотя в Excel и предусмотрена встроенная функция для вычисления случайных чисел, средство Генерация случайных чисел в надстройке Пакет анализа является бо­ лее удобным и гораздо более гибким инструментом, поскольку позволяет опреде­ лять тип распределения для случайных чисел. На рис. 33.8 показано диалоговое окно Генерация случайных чисел. Его параметры изменяются в зависимости от вы­ бранного типа распределения.

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

В поле Число переменных указывается необходимое количество столбцов, а в поле Число случайных чисел — необходимое количество строк. Например, если нуж­ но получить 200 случайных чисел, расположенных в 10 столбцах и 20 строках, вве­ дите в эти поля соответственно числа 10 и 20. Поле Случайное рассеивание позволяет задать начальное значение, которое бу­ дет использовано программой в алгоритме генерации случайных чисел. Обычно это поле оставляют пустым. Однако, если необходимо генерировать одинаковые после­ довательности случайных чисел, задайте рассеивание в диапазоне от 1 до 32 767 (допускаются только целые числа). В раскрывающемся списке Распределение мож­ но выбрать один из перечисленных ниже вариантов.

Равномерное.

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

Нормальное.

Генерируется последовательность случайных чисел, соответству­ ющих нормальному распределению. Задаются среднее значение и стандартное отклонение.

Бернулли.

Генерируется последовательность случайных чисел, принимающих только значение 0 или 1, в зависимости от заданной вероятности успеха.

Глава 33. Надстройка Пакет анализа

829

Биномиальное.

Генерируется последовательность случайных чисел, соответ­ ствующих распределению Бернулли для некоторого числа попыток, с заданной вероятностью успеха.

Пуассона.

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

Модельное.

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

Дискретное.

Эта опция позволяет определить вероятность, характеризующую вы­ бираемые значения. Для нее требуется входной диапазон, состоящий из двух столб­ цов: в первом столбце содержатся значения, а во втором — вероятности каждого значения. Сумма вероятностей во втором столбце должна равняться 100 процентам.

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

Регрессия С помощью средства Регрессия выполняется регрессионный анализ данных ра­ бочего листа (рис. 33.9). Регрессия используется для анализа тенденций и постро­ ения прогнозирующих моделей. Очень часто к этому средству прибегают для того, чтобы как-то связать набор, на первый взгляд, не связанных между собой чисел.

Рис. 33.9. Диалоговое окно Регрессия

830

Часть IV. Управление данными и их анализ

Регрессионный анализ позволяет выявить степень зависимости одного диапазо­ на данных (зависимая переменная) от одного или нескольких других диапазонов данных (независимые переменные). Зависимость выражается математически с ис­ пользованием значений, вычисленных в Excel. Эти вычисления можно использовать для создания математической модели данных и предсказания значения зависимой переменной, которое определяется различными значениями одной или нескольких независимых переменных. С помощью этого средства можно выполнять простую или множественную линейную регрессию и автоматически вычислять и стандарти­ зировать остатки. Как видите, в нем находится довольно много опций, которые кратко описаны ниже. Входной интервал Y. Диапазон, содержащий значения зависимой переменной. Входной интервал X. Один или несколько диапазонов, содержащих значения независимых переменных.

Константа-ноль. Если флажок данной опции установлен, то регрессия будет со­ держать нулевую константу (это значит, что линия регрессии будет проходить через начало координат; другими словами, когда значение V— «нуль», предска­ занное значение } тоже будет «нуль»). Уровень надежности. Уровень надежности для регрессии.

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

Выборка С помощью средства Выборка можно выполнить случайную выборку данных из диапазона входных значений. Этот инструмент будет полезен при работе с большой базой данных для генерации ее подмножества. Использование этого средства зависит от двух параметров — Периодический и Случайный. Периодическая выборка выбирает каждое n-е значение входного диа­ пазона, где п — заданный период. При случайной выборке задается размер выбор­ ки и каждое значение выбирается из диапазона входных значений с равной веро­ ятностью.

t-тест Процедура t-mecm используется для определения факта статистически значимо­ го различия между двумя небольшими выборками. Пакет анализа может выполнять подобные тесты трех типов. Парный двухвыборочный t-тест для средних. Используется для парных вы­

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

Глава 33. Надстройка Пакет анализа

831

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

Двухвыборочный t-тест с разными дисперсиями. Используется для независи­ мых выборок. Предполагает неравные дисперсии выборок. На рис. 33.10 показан отчет парного двухвыборочного t-теста. Для его получе­ ния вам нужно задать уровень надежности — параметр Альфа — и гипотетическую среднюю разность между двумя средними (нулевая гипотеза).

Рис. 33.10. Результаты выполнения парного t-теста

Двухвыборочный z-тест для средних Тогда как t-тесты используются для небольших выборок, z-тест предназначен для больших выборок или совокупностей данных, при этом должны быть известны дисперсии для обоих входных интервалов. Чаще всего t-тесты используются в тех случаях, когда размер выборки не превышает 30 значений и вы не знаете ее стан­ дартного отклонения. В противном случае используется z-тест.

Глава

Защита вашей работы В ЭТОЙ ГЛАВЕ… Защита рабочих листов

Защита рабочих книг Защита проектов Visual Basic for Applications

Создание PDF-файлов и проверка документов

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

К

Типы защиты Средства защиты Excel можно разбить на три категории.

Защита рабочих листов. Защищает от изменения весь рабочий лист или его часть либо запрещает вносить изменения в рабочий лист определенным поль­ зователям. Защита рабочих книг. Защищает рабочую книгу от вставки или удаления от­

дельных листов, а также требует пароль для открытия книги. Защита проектов VBA. С помощью пароля защищает код VBA от просмотра или изменения сторонними лицами.

834

Часть IV. Управление данными и их анализ

Внимание! Прежде чем приступать к описанию перечисленных типов защиты, скажем несколько слов о проблеме безопасности вообще. Использование паролей для защиты каких-либо фраг­ ментов ваших рабочих книг не гарантирует полной безопасности. Утилиты подбора паролей (и даже некоторые простые приемы) заставят вас в этом убедиться. Пароли применяются для защиты от честных людей, но если кто-то захочет получить доступ к вашим данным, то он обязательно это сделает. Если для вас критична абсолютная безопасность, то Excel, к сожале­ нию, не предоставляет для этого соответствующих средств.

Защита рабочего листа Пользователи Excel защищают отдельные рабочие листы с различными целями: чаще всего — для предотвращения удаления с рабочего листа формул или других критических данных. В подобных случаях, как правило, защита строится таким об­ разом, чтобы числовые данные можно было изменять, а формулы — нет. Для защиты конкретного рабо­ чего листа активизируйте его и вы­ берите команду Рецензированием Защитам Защитить лист. Програм­ ма Excel откроет диалоговое окно Защита листа, показанное на рис. 34.1. Отметим, что задание пароля на снятие защиты листа является необязательным дей­ ствием. Если вы установите па­ роль, то он потребуется для того, чтобы снять защиту с рабочего листа. Если в этом окне остаРис. 34.1. Для организации защиты рабочего z » г _ вить без изменения значения листа предназначено диалоговое окно Защита листа всех параметров, установленных по умолчанию, то в результате ни в одну ячейку этого листа нельзя будет вносить какие-либо изменения. Для того чтобы отменить защиту защищенного листа, выберите команду РецензированиеМЗащитамСнять защиту листа. Если лист был защищен паролем, вам бу­ дет предложено ввести этот пароль.

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

Глава 34. Защита вашей работы

835

ячейка рабочего листа имеет атрибут Защищаемая ячейка, который определяет, бу­ дет ли ячейка доступной для изменений, если весь рабочий лист защищен. По умолчанию для всех ячеек рабочего листа установлен атрибут Защищаемая ячейка. Чтобы изменить его, выделите ячейку или диапазон ячеек и откройте вклад­ ку Защита диалогового окна Формат ячеек (рис. 34.2). Для того чтобы открыть это окно, щелкните правой кнопкой мыши на выделенной ячейке (или диапазоне яче­ ек) и в открывшемся контекстном меню выберите команду Формат ячеек либо про­ сто нажмите комбинацию клавиш . Сбросьте флажок Защищаемая ячейка и щелкните на кнопке ОК.

Рис. 34.2. Вкладка Защита диалогового окна Формат ячеек:

установка и снятие атрибута Защищаемая ячейка

На

заметку

На вкладке Защита диалогового окна Формат ячеек также имеется флажок Скрыть формулы. Если этот флажок установлен, то после включения режима защиты листа содержимое вы­ деленной ячейки не будет отображаться в строке формул, но сама ячейка не будет скры­ та и в ней будет показан результат вычисления формулы, содержащийся в данной ячейке. Обычно этот режим используется для того, чтобы не только защитить формулу от изменения, ^но и скрыть ее содержание.

Если на рабочем листе атрибут Защищаемая ячейка некоторых ячеек будет из­ менен, обязательно выберите команду РецензированиеФЗащита^Защитить лист, чтобы включить режим защиты для данного рабочего листа. В результате содер­ жимое незаблокированных ячеек изменять будет можно, но при попытке изменить содержимое заблокированных ячеек Excel выведет предупреждение, показанное на рис. 34.3.

836

Часть IV. Управление данными и их анализ

Рис. 34.3. Предупреждение о попытке изменить содержимое заблокированной ячейки

На заметку Не забывайте, что атрибут Защищаемая ячейка действует только в том случае, если рабочий лист защищен. На незащищенном листе поведение ячеек с любым значением этого атрибута будет одинаковым.

Параметры защиты рабочего листа В диалоговом окне Защита листа (см. рис. 34.1) имеется ряд флажков, которые определяют, что пользователь может делать на защищенном рабочем листе.

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

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

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

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

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

837

Глава 34. Защита вашей работы

Использование автофильтра. Когда этот флажок установлен, пользователю раз­ решается использование существующего автофильтра.

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

Изменение сценариев. Когда этот флажок установлен, пользователю разреша­ ется использовать средства управления сценариями.

О создании и использовании сценариев можно узнать из главы 31, «Анализ данных с помощью сценариев «что если»”. Совет Если при защите листа был установлен флажок Выделение незаблокированных ячеек, то для перехода между незаблокированными ячейками можно использовать клавишу (заблокированные ячейки в этом случае пропускаются). Этот прием значительно упрощает ^ввод данных на защищенный лист.

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

1. Снимите защиту рабочего листа, если ранее таковая была установ­ лена. 2. Выберите команду Рецензирование^Защита^ Разрешить измене­ ние диапазонов. Откроется диа­ логовое окно Разрешить изменение диапазонов, показанное на рис. 34.4. 3. В диалоговом окне Разрешить из­ менение диапазонов щелкните на кнопке Создать. Откроется диало­ говое окно Новый диапазон.

Рис. 34.4. Диалоговое окно Разрешить

изменение диапазонов

Часть IV. Управление данными и их анализ

838

4. В окне Новый диапазон заполните соответствующими значениями поля Имя, Ячейки и Пароль диапазона, а затем щелкните на Разрешения. Откроется диалоговое окно Разрешения для группы…

5. В диалоговом окне Разрешения для группы… щелкните на кнопке Добавить. Откроется диалоговое окно Выбор: “Пользователи или Группы”. 6. Введите в этом окне требуемое имя пользователя в системе Windows или в домене и щелкните на кнопке ОК. Откроется диалоговое окно Разрешения для группы…

7. В этом диалоговом окне оставьте установленным флажок Разрешить либо сбросьте его и установите флажок Запретить и щелкните на кнопке ОК. 8. Закройте все прочие открытые диалоговые окна, щелкая в каждом из них на кнопке ОК.

9. Установите режим защиты рабочего листа. Это можно сделать, щелкнув на кнопке Защитить лист в диалоговом окне Разрешить изменение диапазонов перед его закрытием либо уже после его закрытия обычным образом выбрав на ленте команду Рецензирование^Защита^Защитить лист.

Защита рабочей книги Excel предлагает два способа защиты рабочей книги.

Защитить рабочую книгу паролем, необходимым для ее открытия.

Защитить рабочую книгу от манипуляций пользователя ее рабочими листами (вставка, удаление, сокрытие и т.д.).

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

Защита рабочей книги паролем, необходимым для ее открытия При сохранении рабочей книги Excel позволяет задать пароль, который впослед­ ствии будет необходим, чтобы открыть эту книгу. Чтобы добавить к рабочей книге пароль ее открытия, выполните следующие действия. 1. ВыберитекомандуФайл^Сведения^Защитить книгу ^Зашифровать с использованием паро­ ля. Программа выведет диалоговое окно Шиф­ рование документа, показанное на рис. 34.5. 2. Введите пароль и щелкните на кнопке ОК.

3. Введите пароль еще раз и щелкните на кноп­ ке ОК. 4. Сохраните рабочую книгу.

Рис. 34.5. Диалоговое окно Шифрование документа

Глава 34. Защита вашей работы

На

839

заметку

Описанные действия достаточно выполнить только один раз — нет необходимости задавать ^пароль при каждом сохранении рабочей нниги. Чтобы удалить пароль из рабочей книги, повто­ рите ту же самую процедуру, но в п. 2 в диалоговом окне Шифрование документа просто удалите суще­ ствующий пароль, щелкните на кнопке ОК, после чего снова сохраните эту рабочую книгу. На рис. 34.6 показано диалоговое окно Введите пароль, которое появляется при попытке открыть рабочую книгу, защищенную паролем. Excel предлагает еще один способ защиты рабо­ чей книги паролем.

Рис 34 6 Для открытия этой рабочей книги требуется пароль

1. Выберите команду Файл^Сохранить как и щелкните на кнопке Обзор. Excel откроет диалоговое окно Сохранение документа.

2. В диалоговом окне Сохранение документа щелкните на кнопке Сервис и выберите в открывшемся меню команду Общие параметры. Откроется диалоговое окно Общие параметры. 3. В диалоговом окне Общие параметры введите пароль в поле Пароль для открытия.

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

На

заметку

В диалоговом окне Общие параметры есть еще одно поле для ввода пароля — Пароль для изменения. Если вы зададите этот пароль, то пользователь, не знающий его, сможет открыть данную рабочую книгу лишь в режиме “только для чтения» и не сможет сохранить ее под тем же именем. При установке флажка Рекомендовать доступ только для чтения без пароля Excel предполагает, что файл может открываться в режиме “только для чтения», но пользователь сможет обойти это предположение.

Защита структуры рабочей книги Чтобы предотвратить некоторые нежелательные манипуляции рабочей книгой со стороны других пользователей (или с вашей стороны), можно установить режим защиты ее структуры. Когда защищена структура книги, пользователь не сможет выполнить следующее.

Вставить в книгу новый лист.

Удалить лист.

840

Часть IV. Управление данными и их анализ

Скрыть лист.

Отобразить скрытый лист.

Переименовать лист.

Переместить лист.

Чтобы установить режим защиты структуры рабочей книги, выполните такие действия. 1. Выберите команду Рецензирование^Защита1^ Защитить книгу. Программа Excel выведет диа­ логовое окно Защита структуры и окон, показан­ ное на рис. 34.7. 2. В этом окне установите флажок Структуру. 3. Если хотите, можете задать пароль.

Рис. 34.7. Диалоговое окно

4. Щелкните на кнопке ОК.

Защита структуры и окон

Чтобы снять защиту структуры книги, повторно выберите команду Рецензирование^Защита1* Защитить книгу. Если структура рабочей книги была защищена паролем, вам будет предложено ввести этот пароль. На заметку

Л

В предыдущих версиях Excel можно было также защищать окна рабочей книги. Этот тип за­ щиты не позволял другим пользователям (или самому владельцу) изменять размеры и поло­ жение окон рабочей книги. Из-за введения режима однодокументного интерфейса, появив^шегося в Excel 2013, возможность защиты окон более не предоставляется.

Защита проектов VBA Если в рабочей книге содержатся макросы, может возникнуть необходимость в защите присутствующего в ней проекта VBA от просмотра и изменения макросов со стороны других пользователей. Чтобы защитить программный проект VBA, вы­ полните такие действия. 1. 2.

Откройте окно редактора Visual Basic for Application, нажав для этого ком­ бинацию клавиш .

Выберите свой проект в окне Projects (Проекты).

3. Выберите команду Tools сХимя проекта> Properties (где — имя вашего проекта). Программа Excel выведет диалоговое окно — Project Properties (Свойства проекта).

4. В диалоговом окне — Project Properties перейдите на вклад­ ку Protection (Защита), представленную на рис. 34.8. 5. На этой вкладке установите флажок Lock project for viewing (Заблокировать проект для просмотра).

Глава 34. Защита вашей работы 6.

841

В поля Password (Пароль) и Comfirm Password (Повторите пароль) дваж­ ды ведите выбранный пароль.

7. Щелкните на кнопке ОК и сохраните файл. Когда файл будет закрыт и еще раз открыт, для просмотра или модификации кода VBA потребуется ввести указанный пароль.

Рис. 34.8. Диалоговое окно для защиты VBA-проектов

Макросы VBA подробно рассматриваются в части VI, “Программирование в Excel», настоящей книги.

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

Сохранение рабочих книг в формате PDF Формат PDF (Portable Document Format — формат переносимых документов) широко используется для представления документов в режиме «только для чтения» с полным сохранением структуры исходного документа. Программное обеспечение для просмотра PDF-файлов предоставляется бесплатно и легко доступно из многих источников. Программа Excel (с соответствующей надстройкой) также может созда­ вать PDF-файлы, но не позволяет их открывать. Формат XPS — это еще один формат «электронных бумаг», разработанный ком­ панией Microsoft в качестве альтернативы формату PDF. В настоящее время этот формат слабо поддерживается сторонними производителями. Для сохранения рабочей книги в формате PDF или XPS выберите команду ФайлФ Экспорт^Создать документ PDF/XPS^Создать PDF/XPS. Программа Excel выведет со­ ответствующее диалоговое окно, в котором можно будет указать имя сохраняемого

Часть IV. Управление данными и их анализ

842

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

Финализация рабочей книги Excel позволяет финализировать рабочую книгу. Если рабочей книге присвоен такой статус, то такую книгу можно:

открывать лишь в режиме «только для чтения», без возможности сохранения ее под тем же именем;

только просматривать, — в ней ничего нельзя будет изменить.

При открытии финализированной рабочей книги под лентой появится соот­ ветствующее сообщение. Состояние финализации книги можно отменить, щелкнув на кнопке Все равно редактировать. Чтобы финализировать рабочую книгу, выберите команду Файл^Сведения1^ Защита книги^Пометить как окончательный.

Внимание! Средство финализации рабочей книги не относится к средствам ее защиты. Любой, кто откро­ ет эту книгу, может отменить этот статус, повторно выбрав команду Файл^Сведения^Защита книги^Пометить как окончательный. После этого она вновь станет полностью доступной для редактирования.

Инспектирование рабочей книги Если вы планируете распространять созданную вами рабочую книгу среди поль­ зователей, то имеет смысл скрыть от чужих глаз содержащуюся в ней конфиден­ циальную и личную информацию. Средство Excel Инспектор документов поможет найти в рабочей книге всю скрытую информацию о вас, вашей организации или о данной рабочей книге, среди которой вы сможете указать те сведения, которые никому не хотите передавать. Чтобы запустить средство Инспектор документов в работу, выберите команду Файл^Сведения^Поиск проблем^Инспектор документов. В открывшемся диалого­ вом окне, показанном на рис. 34.9, щелкните на кнопке Проверить, и Excel отобразит результаты проверки рабочей книги и предоставит возможность удалить из книги все, что было найдено в результате ее проверки. Внимание!

Если средство Инспектор документов обнаружит в рабочей книге какие-то скрытые и пер­ сональные сведения, то это не означает, что их обязательно надо удалять. Другими словами, в окне Инспектор документов не спешите вслепую щелкать на кнопке Удалить все с целью убрать из книги всю ту информацию, которая была найдена. Например, обнаруженные скрытые листы могут содержать данные, критически необходимые для наких-то вычислительных целей. И если удалить такие скрытые листы, то многие формулы в рабочей книге могут неожидан­ но перестать работать. Поэтому примите дружеский совет: прежде чем запускать Инспектор документов и удалять все, что он нашел, сделайте резервную копию своей рабочей книги.

Глава 34. Защита вашей работы

843

В меню Файл^Сведения^ Поиск проблем есть еще две команды. Проверка читаемости. Проверка рабочей книги на содержимое, которое людям с ограниченными возможностями будет трудно читать. Проверка совместимости. Проверка рабочей книги на использование возможно­ стей, которые в предыдущих версиях Excel не работают.

Рис. 34.9. Средство Инспектор документов выявляет скрытую

и персональную информацию, присутствующую в рабочей книге

Подробнее о проверке совместимости файлов читайте в главе 6, “Работа с файлами и шаблонами Excel».

Использование цифровой подписи Excel позволяет добавить в рабочую книгу цифровую подпись. Цифровая под­ пись в определенном смысле используется аналогично подписи на бумажном доку­ менте. Она помогает подтвердить аутентичность рабочей книги и гарантирует, что содержимое книги не модифицировалось после ее подписания. После подписания рабочей книги подпись будет актуальна до того момента, пока в этот документ не будут внесены любые изменения, а затем он будет заново со­ хранен.

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

844

Часть IV. Управление данными и их анализ

который в дальнейшем в любой момент будет готов проверить и подтвердить аутен­ тичность вашей подписи. Цена этой услуги зависит от компании, выдающей серти­ фикаты.

Подписание книги Excel поддерживает два типа цифровых подписей: видимую и невидимую. Для того чтобы поместить в документ видимую подпись, выберите команду Вставка^ТекстФСтроки подписи^Строка подписи Microsoft Office. Excel выведет диалоговое окно Настройка подписи, в котором будут присутствовать подсказки об информации, необходимой программе для оформления подписи. После добав­ ления блока подписи дважды щелкните на нем, чтобы отобразить диалоговое окно Подпись, в котором вам будет предоставлена возможность подписать документ, вве­ дя для этого свое имя или загрузив отсканированное изображение своей подпи­ си. После подписания документ помечается как окончательный. Любое изменение файла сделает подпись недействительной. Для того чтобы добавить невидимую цифровую подпись, выберите команду Файл^ Сведения^Защита книги^Добавить цифровую подпись. При внесении любых измене­ ний в документ невидимая цифровая подпись также становится недействительной.

Часть V

Использование инструментов Power Pivot и Power Query части V этой книги вы познакоми­ В тесь с двумя мощными инструмента­ ми Excel — надстройкой Power Pivot и средством Power Query. Вы научитесь соз­ давать эффективные отчеты с исполь­ зованием внешних данных и модели данных в надстройке Power Pivot. Кроме того вы узнаете, как широкий набор ин­ струментов, предлагаемый средством Power Query, позволяет экономить время за счет автоматизации процессов получения и под­ готовки внешних данных, а также суще­ ственно расширяет возможности анализа данных и отображения полученных резуль­ татов в виде отчетов.

В

ЭТОЙ ЧАСТИ… Глава 35 Надстройка Power Pivot

Глава 36 Работа непосредственно с внутренней моделью данных Глава 37 Использование формул в надстройке Power Pivot Глава 38 Что такое Power Query

Глава 39 Преобразование данных с использованием Power Query Глава 40 Организация совместной работы запросов

Глава 41 Повышение эффективности работы с Power Query

Глава

35

Надстройка Power Pivot В ЭТОЙ ГЛАВЕ… Что такое надстройка Power Pivot

Связывание данных в Excel Управление отношениями Загрузка данных из сторонних источников

свое время, принимая во внимание важность происходящей в сфере бизнесаналитики революции и того места, которое в ней отведено программе Excel, компания Microsoft сделала существенные инвестиции в улучшение тех функциональных возможностей Excel, которые в наибольшей степени могут быть востребованы в происходящих процессах. В частности, особое внимание было уде­ лено необходимому уровню соответствия Excel всем требованиям, выдвигаемым современной бизнес-аналитикой, а также расширению возможностей программы в отношении ее средств управления, манипулирования и анализа информации, по­ ступающей из постоянно расширяющегося круга доступных источников данных. Основным результатом приложенных компанией Microsoft усилий стала над­ стройка Power Pivot. Этот мощный инструмент добавил в арсенал программы спо­ собность устанавливать отношения между разрозненными источниками данных большого объема и осуществлять слияние информации из этих источников, кото­ рые могут содержать сотни тысяч строк данных, в одном аналитическом механизме, встроенном непосредственно в программу Excel. Начиная с версии Excel 2013 компания Microsoft включила надстройку Power Pivot непосредственно в дистрибутив программы Excel. А это означает, что все мощ­ ные средства надстройки Power Pivot станут доступными вам непосредственно «из коробки», т.е. сразу после установки приложения! В этой главе вниманию читателя предлагается обзор основных возможностей надстройки Power Pivot и ее ключевых функций, а также главных преимуществ.

В

Часть V. Использование инструментов Power Pivot и Power Query

848

Внутренняя модель данных Power Pivot По своей сути надстройка Power Pivot представляет собой ядро служб аналитики SQL Server, доступное в виде процесса в оперативной памяти, выполняющегося не­ посредственно в рамках приложения Excel и представляющего собой хранилище для табличных моделей данных. Техническое название этого процесса — анали­ тическое ядро xVelocity, однако в терминологии Excel на этот процесс принято ссы­ латься как на внутреннюю модель данных. Каждая рабочая книга Excel содержит внутреннюю модель данных, которая представляет собой отдельный экземпляр ядра Power Pivot в памяти. В этом разделе объясняется, как использовать внутреннюю модель данных надстройки Power Pivot для импорта и интегрирования данных из самых разных источников.

Отображение интерфейса надстройки Power Pivot на ленте приложения Вкладка надстройки Power Pivot на ленте программы может появиться только в том случае, если эта надстройка была активизирована. Важно также отметить, что надстройка Power Pivot включена в состав не всех версий дистрибутивов па­ кета Microsoft Office. Например, если у вас Microsoft Office Home edition, в своем приложении Excel вы не сможете найти и активизировать надстройку Power Pivot, а значит, у вас не будет и доступа к ее интерфейсу на ленте приложения. На момент написания этой книги ленточный интерфейс надстройки Power Pivot был доступен только в следующих изданиях Microsoft Office или Excel.

Microsoft Office 2013, 2016 или 2019 Professional Plus. Доступен только при приобретении соответствующей лицензии.

Microsoft Office 365 Pro Plus. Доступен по подписке на сайте Of f ice365. com.

Excel 2013, 2016 или 2019, отдельное издание. Доступен для заказа через любого ретейлера.

Если у вас установлено любое из этих изданий, вы можете активизировать лен­ точный интерфейс надстройки Power Pivot, выполнив следующую последователь­ ность действий.

1. Откройте программу Excel и поищите на ленте вкладку Power Pivot. Если она там уже присутствует, пропустите все остальные этапы — вам ничего не нужно делать.

2. На ленте Excel выберите команду Файл^Параметры. Откроется диалоговое окно Параметры Excel. 3. В диалоговом окне Параметры Excel перейдите на вкладку Настроить ленту. 4. В списке Основные вкладки в правой части окна найдите флажок Power Pivot и установите его.

Глава 35. Надстройка Power Pivot

849

5. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно Параметры Excel. Вкладка Power Pivot должна появиться на ленте приложения (рис. 35.1). Если вкладка Power Pivot на ленте не появилась, закройте программу и вновь за­ пустите Excel.

Рис. 35.1. Вкладка Power Pivot на ленте приложения Excel

С момента выхода Excel 2010 корпорация Microsoft выпустила несколько версий надстройки Power Pivot, доступных для скачивания. Начиная с версии Excel 2013 надстройка Power Pivot была включена непосредственно в состав дистрибутива Excel. Суть в том, что сейчас существуют и широко используются различные версии надстройки Power Pivot, каждая из которых предназначена для работы с различ­ ными версиями основной программы. Все это, безусловно, требует определенных соглашений о совместимости, знать о которых вам просто необходимо.

Следует соблюдать осторожность при распространении рабочих книг, использую­ щих средства надстройки Power Pivot, в таком окружении, в котором определенная часть аудитории все еще использует более ранние версии программы Excel (на­ пример, Excel 2010), тогда как остальная часть уже перешла на последние версии программы. Открытие и обновление содержимого рабочих книг, включающих мо­ дель данных Power Pivot, созданную в более старых версиях этой надстройки, при­ ведет к автоматическому обновлению сохраняемой в книге внутренней модели. И как только это произойдет, все пользователи более старых версий надстройки больше уже не смогут использовать эти рабочие книги. В общем случае использование рабочих книг с моделью данных Power Pivot, соз­ данных в той версии программы Excel, которая соответствует вашей или является более старой, не должно вызывать у вас никаких затруднений. Однако такие за­ труднения могут иметь место при использовании рабочих книг с моделью данных Power Pivot, созданных в более новых версиях Excel в сравнении с той версией программы, который вы пользуетесь.

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

850

Часть V. Использование инструментов Power Pivot и Power Query

Большинство примеров, приводимых в этой главе, можно найти в рабочей кни­ ге, сохраненной в файле Power Pivot intro.xlsx на веб-сайте книги (www. wiley.com/go/excel2019bible). Для русскоязычного издания книги файл на­ зывается Pic35 02.xlsx. В рассматриваемом примере используется три набора данных, сохраненных на трех различных рабочих листах: Клиенты, Заголовок_счета и Детали_счета, как показано на рис. 35.2.

Рис. 35.2. Модель данных Power Pivot будет использована для анализа данных

на трех рабочих листах: Клиенты, Заголовок_счета и Детали_счета

Набор данных Клиенты содержит основную информацию о заказчиках компании, такую как идентификатор клиента, наименование организации-заказчика, ее адрес и т.д. Набор данных Заголовок_счета содержит сведения о каждом отдельном счете, выставленном конкретному заказчику. В наборе данных Детали_счета содержится подробная информация о позициях, представленных к оплате в каждом из счетов. Наша задача — проанализировать доходы по клиентам за месяц. Совершенно очевидно, что для этого потребуется каким-то образом объединить информацию из трех имеющихся таблиц данных, чтобы получить возможность провести требуемый анализ. Прежде нам потребовалось бы предварительно проделать целую серию «пи­ руэтов», предусматривающих использование функции ВПН или ей подобных для по­ строения «умных» формул, позволяющих достичь поставленной цели. Однако с по­ мощью надстройки Power Pivot задачу построения взаимосвязей между данными трех таблиц можно решить, сделав всего лишь несколько щелчков мышью.

Предварительная подготовка таблиц Excel При связывании данных из рабочих книг Excel с внутренней моделью надстрой­ ки Power Pivot наилучшим решением будет предварительно преобразовать обыч­ ные данные на рабочих листах в явно именованные таблицы. Хотя с технической точки зрения это не является обязательным, присвоение таблицам осмысленных

851

Глава 35. Надстройка Power Pivot

имен поможет отслеживать данные в модели данных Power Pivot и управлять ими. Если предварительно не преобразовать данные на рабочих листах Excel в имено­ ванные таблицы, программа не станет выполнять это вместо вас, а просто присво­ ит этим наборам данных совершенно бессмысленные имена, подобные Таблица1, Таблица2 и т.д. Чтобы преобразовать каждый из наборов данных в таблицу Excel, выполните следующие действия.

1. Откройте рабочий лист Клиенты и щелкните на любой его ячейке с дан­ ными. 2. Нажмите комбинацию клавиш (или выберите на ленте команду Вставка ^ Таб­ лицы ^Таблица). В результате откроется ди­ алоговое окно Создание таблицы, показанное на рис. 35.3. 3. В диалоговом окне Создание таблицы убе­ дитесь, что предлагаемый программой диапазон точно соответствует диапазону рас-

Рис. 35.3. Преобразование диапазона данных в таблицу Excel

положения данных, а флажок Таблица с заголовками установлен, после чего щелкните на кнопке ОК. На ленте появится контекстная вкладка Работа с таблицами^Конструктор.

4. На ленте откройте вкладку Работа с таблицами ^Конструктор и в группе Свойства введите в поле Имя таблицы более подходящее для этой таблицы имя (рис. 35.4). Таким образом вы по­ лучите гарантию, что при работе с вну­ тренней моделью данных вы всегда будете знать, с какой именно таблицей имеете дело.

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

5. Повторите пп. 1-4 для наборов данных Заголовок_счета и Детали счета.

Добавление таблиц Excel в модель данных После преобразования обычных диапазонов данных в таблицы Excel все готово для их добавления в модель данных надстройки Power Pivot. Чтобы добавить вновь созданные таблицы Excel в модель данных, откройте на ленте вкладку Power Pivot и выполните следующее. 1. Щелкните на любой ячейке в таблице Excel Клиенты.

2. На ленте выберите команду Power Pivot ^Таблицы ^Добавить в модель данных. Надстройка Power Pivot создаст копию указанной таблицы и откроет свое окно Power Pivot для Excel, представленное на рис. 35.5.

Часть V. Использование инструментов Power Pivot и Power Query

852

Рис. 35.5. В окне надстройки Power Pivot представлены все данные,

которые на текущий момент включены в модель данных Хотя окно надстройки Power Pivot выглядит почти так же, как и окно самой про­ граммы Excel, в действительности это совершенно отдельная программа. Обратите внимание, что в этом окне сетка таблицы Клиенты включает номера строк, но не со­ держит буквенных заголовков столбцов, используемых в ссылках. Также заметьте, что у вас нет возможности редактировать данные в таблице. Эти данные представ­ ляют собой лишь моментальный снимок содержимого той таблицы Excel, которая была импортирована в надстройку. Кроме того, взглянув на панель задач Windows в нижней части экрана вашего монитора, вы увидите, что надстройка Power Pivot имеет собственное окно, отлич­ ное от окна Excel. Вы можете свободно переключаться между окнами Excel и Power Pivot, щелкая на кнопке соответствующей программы на панели задач. Повторите пп. 1 и 2 для каждой из оставшихся таблиц Excel: Заголовок_счета и Детали_счета. После завершения импорта всех таблиц Excel в модель данных в окне надстройки Power Pivot они будут отображаться каждая на своей вкладке, как показано на рис. 35.6.

На

заметку

Поскольку данные, которые только что были импортированы на отдельные вкладки в окне надстройки Power Pivot, остаются связанными с таблицами Excel, в модели данных надстрой­ ки Power Pivot будут автоматически применены любые внесенные в эти таблицы изменения. Иными словами, несмотря на то, что данные в надстройке представляют собой моменталь­ ный снимок содержимого таблицы на момент ее добавления в модель данных, они будут ав­ томатически обновляться при редактировании исходных таблиц в программе Excel.

Глава 35. Надстройка Power Pivot

853

Рис. 35.6. В окне надстройки Power Pivot каждая добавленная в модель данных таблица отображается на собственной вкладке

Создание отношений между таблицами в модели данных Power Pivot В настоящий момент надстройке Power Pivot уже известно, что в модели данных имеется три таблицы, но пока нет никакой информации о том, как эти три таблицы можно связать между собой. Чтобы связать их, необходимо определить отношения между таблицами Клиенты, Заголовок_счета и Детали счета. Сделать это можно не­ посредственно в окне надстройки Power Pivot.

Совет Если вы случайно закроете окно надстройки Power Pivot, имейте в виду, что его легко можно вновь открыть, выбрав на ленте приложения Excel команду Power Pivot^Mopenb данных^Управление. Другой вариант — выбрать на ленте Excel команду Данные1^ Работа ^с данными^Вернуться в окно Power Pivot. 1. Перейдите в окно надстройки Power Pivot и выберите на ее ленте команду ГлавнаяФПросмотрФПредставление диаграммы. Надстройка Power Pivot отобразит окно с графическим представлением всех таблиц, входящих в ее модель данных, как показано на рис. 35.7.

В окне представления диаграммы таблицы можно произвольно перемещать, просто перетаскивая их мышью за строку заголовка. Основное назначение этого представления — указание первичных ключей индексов в каждой из таблиц с последующим их соединением для установления связей. В нашем примере таблицы Клиенты и Заголовок счета могут быть соединены с помо­ щью поля ID-клиента. В свою очередь, таблицы Заголовок_счета и Детали_ счета могут быть соединены с помощью поля Номер_счета.

854

Часть V. Использование инструментов Power Pivot и Power Query

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

в модель данных

2. Щелкните на поле Ю_клиента в таблице Клиенты, чтобы выделить его, а затем протащите указатель мыши от этого поля к одноименному полю в таблице Заголовок_счета, как показано на рис. 35.8.

Рис. 35.8. Для создания отношения между таблицами просто

перетащите указатель мыши между двумя их полями

3. Щелкните на поле Номер_счета в таблице Заголовок_счета и перета­ щите указатель мыши к полю Номер_счета в таблице Детали_счета. На этот момент диаграмма должна выглядеть примерно так, как показано на рис. 35.9. Обратите внимание, что надстройка Power Pivot вывела особые линии между таблицами, которые только что были соединены. В терминоло­ гии баз данных эти линии называют связями.

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

Глава 35. Надстройка Power Pivot

855

Рис. 35.9. После определения отношений надстройка Power Pivot на своей диаграмме

представляет линиями все созданные между таблицами связи

Обратите внимание, что линии связей на диаграмме имеют стрелки, направлен­ ные от одной таблицы к другой. Стрелки в этих линиях связей всегда указывают на ту таблицу, в которой значения ключевого поля не являются уникальными. В нашем примере в таблице Клиенты содержится уникальный список клиентов компании, каждый из которых имеет собственный идентификационный номер. Это означает, что все значения в поле Юклиента являются уникальными и не дублиру­ ются. В таблице Заголовок счета может быть несколько записей с одним и тем же значением в поле Ю клиента, поскольку любой клиент может сделать в компании сколько угодно заказов, на каждый из которых будет оформлен отдельный счет. Совет

Чтобы в окне надстройки Power Pivot закрыть представление диаграммы и вернуться к таблицам данных, выберите на ее ленте команду Главная^Представление данных.

k

Управление созданными отношениями Чтобы вернуться назад и отредактировать или удалить связь, установленную между двумя таблицами в модели данных, достаточно выполнить следующие дей­ ствия. 1. Перейдите в окно надстройки Power Pivot и выберите на ленте команду Конструктор^Связи^Управление связями. Откроется диалоговое окно Управление связями, представленное на рис. 35.10. 2. В этом окне щелкните на строке связи, которую требуется отредактиро­ вать или удалить, а затем щелкните на кнопке Изменить или Удалить со­ ответственно. После щелчка на кнопке Изменить откроется диалоговое окно Изменение связи, показанное на рис. 35.11.

3. В этом окне воспользуйтесь имеющимися элементами управления для вы­ бора требуемой таблицы и того поля, которое будет использоваться в дан­ ной связи, после чего щелкните на кнопке ОК.

856

Часть V. Использование инструментов Power Pivot и Power Query

Рис. 35.10. Диалоговое окно Управление связями предназначено

для редактирования или удаления уже установленных связей

Рис. 35.11. Диалоговое окно Изменение связи предназначено для переопределения

таблиц и полей, которые были заданы для выбранной связи

Глава 35. Надстройка Power Pivot

857

Использование данных из модели надстройки Power Pivot при создании отчетов Как только отношения между таблицами в модели данных надстройки Power Pivot будут установлены, все будет готово к ее использованию. В терминах над­ стройки Power Pivot использование в основном предполагает проведение анализа посредством создания сводных таблиц. В действительности все данные, сохранен­ ные в надстройке Power Pivot, представляются в рабочих книгах Excel с использо­ ванием инструментария и функциональных возможностей сводных таблиц.

Тема сводных таблиц подробно рассматривается в главе 29, “Понятие о сводных таблицах”, и главе 30, “Анализ данных с помощью сводных таблиц”. Итак, чтобы получить в Excel доступ к данным надстройки Power Pivot, выполни­ те следующие действия.

1. Откройте окно надстройки Power Pivot и выберите на ее ленте команду Главная^Сводная таблица. Откроется диалоговое окно Создать сводную таблицу.

2. В этом окне укажите, где требуется создать сводную таблицу — на новом

листе или на уже существующем, после чего щелкните на кнопке ОК. 3. Воспользовавшись открывшейся панелью задач Поля сводной таблицы, создайте такой макет сводной таблицы, который необходим для проведе­ ния требуемого анализа, — точно так, как это делается при создании стан­ дартных сводных таблиц.

Сводная таблица, представленная на рис. 35.12, содержит информацию из всех таблиц, присутствующих в модели данных надстройки Power Pivot. В такой конфи­ гурации мы, по сути, получаем мощный кросстабличный аналитический инстру­ мент, представленный в форме уже знакомой стандартной сводной таблицы. На этом рисунке показано, как можно определить среднюю цену за единицу изделия для каждого из клиентов компании. До того как в программе Excel появилась надстройка Power Pivot проведение подобного анализа было бы очень непростой задачей. Сначала потребовалось бы создать формулы с функцией ВПР, предназначенные для извлечения в таблицу Заголовоксчета данных из таблицы Клиенты. Затем нужно было бы сформировать следующий набор формул с функцией впр, предназначенных для извлечения ин­ формации из таблицы Заголовок счета в таблицу Детали счета. Получив собранную с помощью этих формул информацию, далее вам потребовалось бы придумать спо­ соб так обобщить эти данные, чтобы появилась возможность рассчитать среднюю стоимость изделия для каждого клиента.

858

Часть V. Использование инструментов Power Pivot и Power Query

Рис. 35.12. Теперь у вас есть сводная таблица, управляемая надстройкой

Power Pivot, в которой объединены данные из нескольких таблиц Excel

Загрузка данных из сторонних источников Как уже упоминалось в начале этой главы, нет ограничения, допускающего ис­ пользование в надстройке Power Pivot только тех данных, которые уже существуют в рабочих книгах Excel. Надстройка Power Pivot способна выйти за пределы рабочей книги и импортировать данные, сохраняемые в различных внешних источниках. В действительности то, что делает надстройку Power Pivot столь мощным инстру­ ментом, как раз и состоит в ее способности консолидировать данные из самых раз­ ных источников и устанавливать между ними взаимосвязи. Все это означает, что теоретически вы можете создать модель данных Power Pivot, которая будет вклю­ чать информацию частично из таблиц базы данных SQL Server, частично — из баз данных Microsoft Access и даже необходимые данные из специально созданных для этой цели текстовых файлов.

Загрузка данных из реляционных баз данных Одним из важнейших источников данных, которые используются аналитиками в среде Excel, являются реляционные базы данных. Очень часто такие аналитики свободно владеют всеми инструментами доступа к данным в базах данных Microsoft Access, SQL Server или Oracle. В этом разделе речь пойдет о том, какие действия не­ обходимо выполнить для загрузки данных непосредственно из хранилищ внешних баз данных реляционного типа.

Глава 35. Надстройка Power Pivot

859

Загрузка данных из СУБД SQL Server Базы данных на платформе SQL Server очень часто используются для хранения данных на уровне предприятия. При этом большая часть таких баз данных развер­ тывается и сопровождается в рамках подразделений информационных технологий. Чтобы подключиться к базе данных SQL Server, вам потребуется обратиться в отдел информационных технологий вашего учреждения, чтобы получить доступ для чте­ ния к той части базы данных, из которой предполагается извлекать данные. Получив требуемый доступ к базе данных, откройте Excel и выберите на лен­ те команду Power Pivots Модель данных^Управление. Откроется окно надстройки Power Pivot. В этом окне выберите на ленте команду Главная^Получение внешних данных1^ Из других источников. Откроется диалоговое окно Мастер импорта таблиц, представлен­ ное на рис. 35.13. В этом окне выберите вариант Microsoft SQL Server и щелкните на кнопке Далее.

Рис. 35.13. В окне Мастер импорта таблиц выберите вариант Microsoft SQL Server В следующем диалоговом окне мастера вам будет предложено ввести информа­ цию, необходимую для подключения к выбранному источнику данных. Эта инфор­ мация включает такие данные, как адрес сервера, учетные данные для входа и на­ звание базы данных. В этом окне мастер может выводить различные наборы полей

860

Часть V. Использование инструментов Power Pivot и Power Query

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

Понятное имя соединения. В этом поле можно ввести любое выбранное вами название для этого источника данных. Как правило, лучше использовать описа­ тельное название, достаточно простое для прочтения и запоминания. Имя сервера. В этом поле указывается имя сервера, на котором находится та база данных, к которой необходимо подключиться. Это имя можно выяснить в том подразделении информационных технологий, в котором вам было предо­ ставлено право доступа к этому источнику данных. Вход на сервер. В этой группе полей указываются учетные данные, необхо­ димые для получения доступа к серверу. В зависимости от того, какой имен­ но доступ вам был предоставлен в подразделении информационных техноло­ гий, нужно будет установить переключатель в этой группе в одно из положе­ ний — Использовать проверку подлинности Windows либо Использовать проверку подлинности SQL Server. В первом случае подразумевается, что сервер должен будет опознать вас по вашим учетным данным в Windows. Во втором случае под­ разумевается, что в подразделении информационных технологий специально для вас на сервере были созданы уникальное имя пользователя и пароль, кото­ рыми вы должны в данном случае воспользоваться. Учтите, что для извлечения данных из базы вам в ней должны быть предоставлены права доступа как мини­ мум на чтение данных. Сохранить пароль. Если установить этот флажок, то введенное вами имя поль­ зователя и пароль будут сохранены в данной рабочей книге Excel. Такое реше­ ние позволит обновлять данные из этого источника даже в том случае, если с книгой будут работать другие люди. Однако в этом случае имеют место опре­ деленные проблемы с безопасностью, поскольку любой, кто сможет просмотреть свойства данного соединения, сможет узнать использованное вами имя пользо­ вателя и пароль. Выбирать этот режим целесообразно только в тех случаях, когда в подразделении информационных технологий вам была предоставлена учетная запись приложения (другими словами, эта учетная запись была создана специ­ ально для использования многими пользователями).

Имя базы данных. На любом сервере, на котором работает СУБД SQL Server, мо­ жет быть размещено произвольное количество баз данных. Введите в этом поле название той базы данных, к которой требуется подключиться, — это название должны будут сообщить вам в подразделении информационных технологий при предоставлении к ней доступа.

После ввода всех требуемых учетных данных щелкните на кнопке Далее — и ма­ стер импорта таблиц отобразит свое очередное окно, представленное на рис. 35.14. В этом окне необходимо определить способ извлечения данных из базы. Либо вам будет предоставлен список существующих в ней таблиц и представлений, либо не­ обходимо будет ввести собственный запрос к этой базе данных с использовани­ ем синтаксиса языка SQL. Поскольку последний вариант предполагает написание

Глава 35. Надстройка Power Pivot

861

собственного сценария на языке SQL, в большинстве случаев выбирается первый вариант, т.е. извлечение данных с использованием списка таблиц и представлений, существующих в БД.

Рис. 35.14. На этом этапе лучше выбрать вариант

с использованием списка таблиц и представлений

Далее мастер импорта таблиц обратится к базе данных и предоставит вам пол­ ный список всех доступных в ней таблиц и представлений (рис. 35.15). Для таблиц будут использованы пиктограммы в виде табличной сетки, а для представлений по­ верх этой сетки будет помещен квадратик, чуть меньше размером.

Рис. 35.15. Мастер импорта таблиц вывел список таблиц

и представлений в указанной базе данных

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

862

Часть V. Использование инструментов Power Pivot и Power Query Л

Совет

В окне на рис. 35.15 также присутствует кнопка Связанные таблицы. Выбрав в этом окне одну или более таблиц, можно затем просто щелкнуть на этой кнопке, после чего надстройка Power Pivot просканирует всю базу данных и автоматически выберет для импорта все табли­ цы, для которых установлены связи с уже выбранной вами таблицей или таблицами. Это очень удобное средство при работе с большими базами данных, содержащими десятки таблиц. Очень важно помнить, что при импорте таблицы импортируются все имеющиеся в ней столбцы и записи данных. Эта особенность может оказать существенное вли­ яние на размер и быстродействие создаваемой модели данных надстройки Power Pivot. Очень часто оказывается, что в действительности вам требуется информация лишь из небольшого количества столбцов данных импортируемых таблиц. В таких случаях в этом окне следует воспользоваться кнопкой Просмотр и фильтрация. Щелкните на названии таблицы, чтобы выделить ее строку (как показано на рис. 35.15), а затем щелкните на кнопке Просмотр и фильтрация. Мастер импорта таблиц выведет окно предварительного просмотра выбранной таблицы, показанное на рис. 35.16. В этом окне будут представлены все столбцы данных таблицы и не­ которая выборка ее строк.

Рис. 35.16. Окно Просмотр и фильтрация позволяет отменить импорт лишних столбцов, а в остальных столбцах отфильтровать только те строки, которые содержат требуемые данные

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

Глава 35. Надстройка Power Pivot

863

В заголовках столбцов также присутствуют кнопки фильтров, с помощью кото­ рых можно выбрать для импорта только те записи таблицы, которые содержат дей­ ствительно нужные данные. После щелчка на такой кнопке открывается меню, по­ зволяющее определить критерии отбора ненужных записей. Эти кнопки работают в точности так, как и обычные кнопки фильтрации в приложении Excel. Завершив отбор импортируемых данных, щелкните в окне мастера импорта та­ блиц на кнопке Готово. Начнется процесс импорта данных и мастер выведет окно с информацией о ходе процесса импорта, показанное на рис. 35.17. Когда процесс завершится, в этом окне будет отображена сводка итоговых данных о выполненной процедуре импорта.

Рис. 35.17. Окно мастера импорта таблиц

с информацией о ходе процесса импорта

Последним этапом загрузки информации из базы данных SQL Server будет анализ нового состояния диаграммы модели данных и определение необходимых связей между ее таблицами. Для этого перейдите в окно надстройки Power Pivot и выбери­ те на ее ленте команду Главная^Просмотр^Представление диаграммы. Надстройка Power Pivot выведет экран с диаграммой текущей структуры ее внутренней модели данных, которую можно будет проанализировать. Далее, при необходимости связи между таблицами можно будет отредактировать так, как это потребуется (см. раз­ дел «Создание отношений между таблицами в модели данных Power Pivot», приве­ денный выше в этой главе).

Совет

Если окажется, что требуется дополнительно откорректировать правила фильтрации импорти­ рованных данных, можно вновь открыть окно Просмотр и фильтрация, в котором они были заданы. Для этого просто выберите целевую таблицу в окне надстройки Power Pivot и выбери­ те на ленте команду Конструктор^Свойства таблицы. Вы сразу заметите, что открывшееся диалоговое окно в сущности то же самое, что и окно Просмотр и фильтрация мастера им­ порта таблиц (см. рис. 35.16). Здесь вы сможете выбрать столбцы, которые прежде были от­ фильтрованы, отредактировать правила фильтрации, сбросить фильтры и даже использовать iдругие таблицы или представления.

864

Часть V. Использование инструментов Power Pivot и Power Query

Загрузка данных из других систем реляционных баз данных Если требуемые данные находятся в базах данных систем Microsoft Access, Oracle, dBase или MySQL, то нет повода для беспокойства, — у вас есть возможность из­ влечь требуемые данные из реляционной базы данных практически любого типа. Если у вас установлен соответствующий драйвер доступа к базе данных, то у вас есть и возможность подключить надстройку Power Pivot к требуемым данным. На заметку Чтобы подключиться к любой системе баз данных, на компьютере должен быть установлен соответствующий драйвер доступа к этой системе. Системы баз данных SQL Server и Access являются продуктами корпорации Microsoft, и драйверы для них практически гарантирован­ но будут установлены на большинстве машин, с которыми вам придется иметь дело. А вот драйверы для других систем баз данных, скорее всего, потребуется устанавливать на ком­ пьютере дополнительно. Как правило, эта задача решается силами специалистов подразде­ ления информационных технологий вашей организации, — либо изначально, при установке на компьютере всего пакета корпоративного программного обеспечения, либо по отдельно­ му запросу. Если на вашем компьютере требуемые драйверы доступа к базам данных отсуг^ствуют, обратитесь в подразделение информационных технологий.

Откройте окно надстройки Power Pivot и выберите на ее ленте команду Главная1^ Получение внешних данных1^ Из других источников. Откроется диалоговое окно Мастер импорта таблиц, которое уже было представлено выше, на рис. 35.13. В этом окне выберите из предложенных вариантов ту систему реляционных баз данных, которая вам требуется. Так, если вам требуется получить доступ к системе баз данных Oracle, выберите строку Oracle, а если данные необходимо получить из системы баз данных Sybase, выберите строку Sybase. Для подключения к любой из существующих систем реляционных баз данных потребуется выполнить приблизительно ту же последовательность действий, что и при импорте данных из базы данных SQL Server, как было описано выше в этой главе. Однако вам могут встретиться и некоторые альтернативные диалоговые окна, в зависимости от особенностей той системы баз данных, которую вы выберете. Вполне понятно, что корпорация Microsoft не имеет возможности обеспечить пользователей именованными соединениями абсолютно со всеми существующими системами реляционных баз данных. Поэтому, если в предложенном списке вы не найдете той системы баз данных, которая вас интересует, просто выберите в этом списке вариант Прочие (OLEDB/ODBC). В этом случае мастер импорта таблиц начнет свою работу с вывода диалогового окна с предложением ввести строку установки соединения с той системой баз данных, которая вам необходима.

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

Глава 35. Надстройка Power Pivot

865

файлы. Огромное количество важной информации записывается и сохраняется в виде плоских файлов. В этом разделе речь пойдет о том, как такие плоские фай­ лы можно использовать в качестве источников импортируемых данных непосред­ ственно в модель данных надстройки Power Pivot.

Загрузка данных из внешних файлов Excel В начале этой главы было показано, как можно связать между собой таблицы, за­ грузив их в модель данных надстройки Power Pivot, сохраняемую в той же самой ра­ бочей книге. Связанные таблицы имеют явные преимущества перед другими типами импортируемых данных, поскольку в этом случае обеспечивается немедленная реак­ ция на внесение любых изменений в исходные таблицы Excel сохраняемые в той же рабочей книге. Если вы измените данные в одной из таблиц в рабочей книге, эти из­ менения будут автоматически внесены и в связанную с ней таблицу в модели данных надстройки Power Pivot. Моментальная реакция на изменения в реальном времени — это замечательное свойство связанных таблиц модели данных Power Pivot. Недостатком связанных таблиц можно считать то, что все исходные данные должны храниться в той же рабочей книге, в которой сохраняется и сама модель данных надстройки Power Pivot, а это не всегда возможно. Можно привести множе­ ство ситуаций, когда в анализ требуется включить определенные данные, которые по самой своей сути должны находиться в другой рабочей книге. В подобных слу­ чаях придется воспользоваться мастером импорта таблиц надстройки Power Pivot, чтобы создать подключение к файлу другой, внешней рабочей книги Excel. Итак, откройте окно надстройки Power Pivot и на ее ленте выберите команду Главная^Получение внешних данных^Из других источников. Откроется диалоговое окно Мастер импорта таблиц. В этом окне прокрутите список вниз и выберите вари­ ант Файл Excel, как показано на рис. 35.18, а затем щелкните на кнопке Далее. В следующем окне мастер импорта таблиц запросит у вас всю информацию, не­ обходимую ему для подключения к целевой рабочей книге. В этом окне нужно бу­ дет ввести следующие данные.

Понятное имя соединения. В этом поле можно ввести любое выбранное вами название для этого источника данных. Как правило, лучше использовать описа­ тельное название, достаточно простое для прочтения и запоминания. Путь к файлу Excel. Введите в это поле полный путь к файлу целевой рабочей книги Excel. Для поиска и выбора того файла рабочей книги, из которого следует извлечь информацию, можно воспользоваться кнопкой Обзор…

Использовать первую строку в качестве заголовков столбцов. В большинстве случаев данные в программе Excel уже содержат заголовки столбцов. Если это так, убедитесь, что флажок Использовать первую строку в качестве заголовков столбцов установлен, чтобы надстройка Power Pivot смогла правильно их обра­ ботать при импорте. Закончив ввод указанной выше информации, щелкните на кнопке Дапеее, и ма­ стер импорта таблиц выведет следующее окно, представленное на рис. 35.19. Здесь вы видите список всех рабочих листов, имеющихся в указанной рабочей книге Excel. Установите флажки для тех рабочих листов, которые необходимо импортировать.

866

Часть V. Использование инструментов Power Pivot и Power Query

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

Рис. 35.18. Откройте окно мастера импорта таблиц

и выберите вариант Файл Excel

Рис. 35.19. Установите флажки для тех рабочих листов,

которые необходимо импортировать

Глава 35. Надстройка Power Pivot

867

Совет

При извлечении данных из внешних файлов Excel надстройка Power Pivot позволяет выбрать не только целые рабочие листы, но и поименованные диапазоны ячеек. Последний вариант будет удобен в тех случаях, когда требуется импортировать не все данные рабочего листа, ^а только определенную их часть.

Как уже говорилось в этой главе, в этом окне дополнительно можно восполь­ зоваться кнопкой Просмотр и фильтрация, чтобы отфильтровать из импортируемых данных ненужные столбцы и записи данных. Если это не требуется, щелкните в окне мастера импорта таблиц на кнопке Готово, чтобы завершить процедуру импорта. На

заметку

Не забывайте, что при загрузке в модель данных внешних файлов Excel вы не достигнете того уровня интерактивности, который предоставляется при работе со связанными таблицами в той же рабочей книге. Как и при импорте информации из таблиц систем баз данных, по­ мещенная в модель информация будет представлять собой всего лишь моментальный снимок состояния внешнего источника данных на момент загрузки. Чтобы обновить эту информацию и увидеть те изменения, которые могли быть внесены во внешний файл Excel за прошедшее с момента загрузки время, необходимо будет тем или иным способом обновлять это соеди­ нение. (Подробнее об этом говорится в разделе “Обновление соединений с внешними ис^точниками данных и управление ими» ниже в этой главе.)

Загрузка данных из текстовых файлов Текстовые файлы — это еще один тип файлов, широко используемый для ввода и передачи данных. Эти файлы чаще всего представляют собой результат вывода информации из устаревших вычислительных систем или веб-сайтов. С помощью надстройки Power Pivot можно пойти дальше и интегрировать информацию из этих файлов с данными из других источников. Откройте окно надстройки Power Pivot и выберите на ее ленте команду Главная^ Получение внешних данных1^ Из других источников. Откроется диалоговое окно Мас­ тер импорта таблиц. Прокрутите список в этом окне вниз (как было показано выше, на рис. 35.18) и выберите вариант Текстовый файл, после чего щелкните на кнопке Далее. Мастер импорта таблиц откроет следующее окно, Соединение с неструктуриро­ ванным файлом, в котором вам нужно будет указать информацию, необходимую для установления соединения с целевым текстовым файлом. В этом окне нужно ввести следующее.

Понятное имя соединения. В этом поле можно ввести любое выбранное вами название для этого источника данных. Как правило, лучше использовать описа­ тельное название, достаточно простое для прочтения и запоминания. Путь к файлу. Введите в это поле полный путь к целевому текстовому файлу. Для поиска и выбора того файла, из которого следует извлечь информацию, мож­ но воспользоваться кнопкой Обзор…

868

Часть V. Использование инструментов Power Pivot и Power Query

Разделитель столбцов. В этом раскрывающемся списке выберите тот символ, который в целевом текстовом файле был использован в качестве разделителя столбцов. Понятно, что прежде чем сделать это, необходимо выяснить, какой именно символ использовался в данном файле для этих целей. Например, в фай­ лах формата CSV для разделения значений полей в записи всегда используется запятая. В других файлах для этой цели может использоваться символ табуляции или точка с запятой. Данный список содержит шесть наиболее распространен­ ных вариантов разделителей полей в тестовых файлах: Табуляция, Запятая, Точка с запятой, Пробел, Двоеточие и Вертикальная черта. Использовать первую строку в качестве заголовков столбцов. Если целевой текстовый файл содержит строку заголовков столбцов, обязательно убедитесь, что флажок Использовать первую строку в качестве заголовков столбцов установ­ лен, чтобы надстройка Power Pivot смогла извлечь эти заголовки и правильно их обработать при импорте. Закончив ввод указанной выше информации, щелкните на кнопке Далее, и ма­ стер импорта таблиц выведет следующее окно, предоставляющее возможность предварительно просмотреть и проанализировать загружаемую информацию. Как и в случае других типов данных, обсуждавшихся выше, в этом случае имеется воз­ можность отфильтровать лишние столбцы данных, просто сбросив флажки рядом с их названиями в строке заголовков. Кроме того, в строке заголовков для каждого столбца дополнительно выведена кнопка фильтра, воспользовавшись которой, мож­ но отфильтровать и ненужные строки данных. Завершив подготовку, щелкните на кнопе Готово, чтобы запустить процесс им­ порта. После его завершения данные из указанного текстового файла станут частью модели данных надстройки Power Pivot. Как всегда, не забудьте провести анализ нового состояния диаграммы модели данных и установить требуемые связи между таблицами, только что загруженными в модель данных Power Pivot.

Загрузка данных из буфера обмена Надстройка Power Pivot предусматривает интересный вариант загрузки данных непосредственно из буфера обмена. Иначе говоря, речь идет о возможности вста­ вить в модель данные, предварительно скопированные где-то в другом месте. Этот вариант получения данных предполагается использовать как разовое средство, по­ зволяющее быстро внести в модель данных надстройки Power Pivot некоторую по­ лезную информацию. Если вас заинтересовал этот вариант импорта данных, примите к сведению, что в этом случае не существует никакого реального источника данных. Вы вручную про­ сто копируете некоторые данные в буфер обмена, а затем вставляете их в модель. Эта процедура ничем не отличается от копирования и вставки любых других объектов в среде Windows. Естественно, в дальнейшем у вас не будет никакой возможности обновить эти данные, а также выяснить, откуда именно они были скопированы. Предположим, что у вас есть документ Word, в котором имеется таблица с на­ званиями компаний, которые можно рассматривать как потенциальных партнеров. Вам кажется полезным скопировать этот фиксированный список и включить его в модель данных настройки Power Pivot в таком же виде, как показано на рис. 35.20.

Глава 35. Надстройка Power Pivot

869

Рис. 35.20. Данные можно скопировать непосредственно из документа Microsoft Word

Вы можете скопировать эту таблицу в буфер обмена, а затем перейти в окно над­ стройки Power Pivot и выбрать на ее ленте команду Главная1^ Буфер обмена^ Вставить. Откроется диалоговое окно Просмотр вставки, показанное на рис. 35.21. В этом окне можно проанализировать, что именно будет вставлено в модель данных надстройки.

Рис. 35.21. Диалоговое окно Просмотр вставки позволяет уточнить,

что именно будет вставлено в модель данных

870

Часть V. Использование инструментов Power Pivot и Power Query

В этом окне можно изменить совсем немного параметров. Можно определить имя создаваемой таблицы, под которым она будет представлена на диаграмме над­ стройки Power Pivot, а также уточнить, содержит ли первая строка этих данных наи­ менования столбцов создаваемой таблицы. После щелчка на кнопке ОК эти данные будут импортированы в модель данных надстройки Power Pivot без каких-либо промежуточных этапов. Далее можно будет применить к ним желаемое форматирование, а также определить необходимые свя­ зи с другими таблицами модели.

Обновление соединений с внешними источниками данных и управление ими После загрузки данных из внешних источников в надстройку Power Pivot вы фак­ тически получите статический моментальный снимок состояния источника данных на момент создания связи. Именно этот статический снимок надстройка Power Pivot будет хранить в своей внутренней модели данных. Со временем прежнее содержимое внешнего источника данных может изменить­ ся, а количество строк данных в нем увеличиться за счет вновь добавленных за­ писей. Однако надстройка Power Pivot в своей модели данных по-прежнему будет использовать уже устаревший моментальный снимок содержимого этого источника, и так будет продолжаться до тех пор, пока для него не будет создан новый момен­ тальных снимок. Процедуру изменения содержимого модели данных надстройки Power Pivot по­ средством создания нового моментального снимка содержимого некоторого ис­ точника данных называют обновлением данных. Обновление данных может быть выполнено вручную либо посредством настройки процедуры автоматического об­ новления.

Обновление данных в модели Power Pivot вручную В окне надстройки Power Pivot на вкладке Главная ленты есть кнопка Обновить. Если щелкнуть на стрелке раскрытия списка в нижней части этой кнопки, откроется меню с двумя командами: Обновить и Обновить все. Командой Обновить можно воспользоваться для немедленного обновления той таблицы в надстройке Power Pivot, которая в данный момент активна в ее окне Представление данных. Иначе говоря, если сейчас в окне надстройки Power Pivot ак­ тивной является вкладка таблицы Клиенты, то щелчок на кнопке Главная^Обновить вызовет обращение к соответствующему источнику внешних данных и выдачу за­ проса на обновление информации только для таблицы Клиенты. Этот вариант очень удобен, когда вам по определенным соображениям необходимо обновить информа­ цию только для отдельных источников данных. Если выбрать команду Главная^Обновить^Обновить все, то это приведет к об­ новлению информации во всей модели данных надстройки данных Power Pivot. На этой панели задач выберите вкладку Подключения и щелкните на том соеди­ нении, для которого необходимо настроить процедуру автоматического обновления.

Глава 35. Надстройка Power Pivot

871

Настройка процедуры автоматического обновления Существует возможность настроить соединение с источником данных таким образом, что извлечение из него данных с обновлением информации в моде­ ли данных надстройки Power Pivot будет происходить автоматически. Чтобы ре­ ализовать эту возможность, в окне программы Excel выберите на ленте команду Данные^Запросы и подключения3апросы и подключения. Откроется панель задач Запросы и подключения, представленная на рис. 35.22.

Рис. 35.22. Панель задач Запросы и подключения В открывшемся диалоговом окне Свойства соединения перейдите на вкладку Использование, показанную на рис. 35.23. Для настройки автоматического обнов­ ления выбранного источника данных на этой вкладке необходимо задать значения следующих параметров.

Обновлять каждые X минут. Если установить этот флажок, то программа Excel будет автоматически обновлять выбранный источник данных с интервалом, за­ данном в поле счетчика этой строки (в минутах). В этом случае также будут ав­ томатически обновляться и все другие таблицы, связанные с этим соединением. Обновление при открытии файла. Если установить этот флажок, то программа Excel будет автоматически обновлять выбранное соединение при каждом откры­ тии данной рабочей книги. В этом случае при каждом открытии рабочей книги будут автоматически обновляться и все другие таблицы, связанные с этим со­ единением. Обновлять это подключение по команде «Обновить все». Выше в этом разде­ ле сообщалось о том, что при выборе в окне надстройки Power Pivot команды Главная^Обновить^Обновить все можно одновременно обновить все соедине­ ния, посредством которых информация передается в модель данных надстройки. Однако, если через определенное соединение из внешнего источника в модель импортируются миллионы строк данных, вызванный этим фактом приостанов

872

Часть V. Использование инструментов Power Pivot и Power Query

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

Рис. 35.23. Диалоговое окно Свойства соединения позволяет установить для выбранного соединения режим автоматического обновления

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

Расположение сервера в сети или местонахождение файла источника данных изменилось.

Изменилось название сервера или файла источника данных.

Необходимо внести изменения в учетные данные или в саму процедуру ау­ тентификации.

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

Глава 35. Надстройка Power Pivot

873

В окне надстройки Power Pivot выберите на ее ленте команду Главная ^Получение внешних данных^Существующие соединения. Откроется диалоговое окно Существую­ щие соединения, представленное на рис. 35.24. Соединения относящиеся к модели данных надстройки Power Pivot, будут собраны в группе Подключения к данным Power Pivot. Выберите в этой группе то соединение, которое требуется отредактировать.

Рис. 35.24. Диалоговое окно Существующие соединения позволяет перенастроить соединения надстройки Power Pivot с внешними источниками данных

Выбрав в окне Подключения к данным Power Pivot требуемое соединение, для из­ менения его параметров можно воспользоваться кнопками Изменить и Открыть. Какую именно кнопку следует выбрать зависит от того, что именно необходимо из­ менить.

Кнопка Изменить.

Позволяет переопределить адрес сервера, путь к файлу и па­ раметры учетной записи.

Кнопка Открыть.

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

Работа непосредственно с внутренней моделью данных В ЭТОЙ ГЛАВЕ… Прямой доступ к внутренней модели данных рабочей книги

Управление связями во внутренней модели данных Удаление таблиц из внутренней модели данных

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

Д

Большинство примеров, приводимых в этой главе, можно найти в рабочей книге, сохраненной в файле Internal Data Model.xlsx на веб-сайте книги (www. wiley.com/go/excel2019bible). Для русскоязычного издания книги файл на­ зывается Pic36 01.xlsx.

Прямой доступ к внутренней модели данных Предположим, что в рабочей книге Excel на одном из листов имеется таблица сведений об услугах, предоставленных клиентам персоналом некой компании, представленная на рис. 36.1 (рабочий лист Обслуживание). На другом рабочем ли­ сте этой книги находится таблица с личными сведениями о работниках компании (рабочий лист Персонал), представленная на рис. 36.2.

876

Часть V. Использование инструментов Power Pivot и Power Query

Рис. 36.1. Сведения об услугах, предоставленных клиентам

работниками компании (указаны их табельными номерами)

Рис. 36.2. Информация о персонале компании

Необходимо провести анализ в отношении общей стоимости выполненных ра­ бот, сгруппировав их по отдельным должностям исполнителей. В обычной ситуации это довольно непростая задача, поскольку информация о стоимости услуг и долж­ ностях работников находится в разных таблицах. Однако при наличии внутренней модели данных вся задача решается буквально в несколько щелчков мышью. Прежде всего необходимо преобразовать эти данные в таблицу Excel — объект, который внутренняя модель данных сможет распознать. Для этого выполните сле­ дующие действия. 1. Щелкните на любой ячейке с данными рабочего листа Обслуживание и выберите на ленте команду Вставка^Таблицы^Таблица. Откроется диа­ логовое окно Создание таблицы.

2. В этом окне убедитесь, что выбран весь диапазон с данными на этом ра­ бочем листе и что флажок Таблица с заголовками установлен, после чего

Глава 36. Работа непосредственно с внутренней моделью данных

877

щелкните на кнопке ОК. Диапазон данных теперь преобразован в таблицу Excel. Далее будет полезно присвоить этой таблице какое-либо понятное на­ звание, которое будет легко узнаваемо во внутренней модели данных. Если этого не сделать, внутренняя модель данных будет состоять исключительно из таблиц с весьма удачно выбранными названиями: Таблица1, Таблица2, ТаблицаЗ и т.д. 3. В только что созданной таблице Excel щелкните на любой ячейке, а за­ тем на ленте приложения перейдите в контекстную вкладку Работа с таблицами ^Конструктор. Слева на этой вкладке находится группа Свойства, в которой присутствует поле ввода Имя таблицы. Введите в это поле новое значение — то имя, которое вы выбрали для вновь созданной таблицы Excel (в нашем примере это Обслуживание). Теперь все готово к тому, чтобы включить эту таблицу во внутреннюю модель данных рабочей книги.

4. Выберите на ленте команду Данные^Получить и преобразовать данные*^ Получить данные с помощью существующего подключения. Откроется ди­ алоговое окно Существующие подключения. 5. В окне Существующие подключения перейдите на вкладку Таблицы. Здесь вы увидите список всех таблиц Excel, существующих на данный момент в этой рабочей книге (рис. 36.3).

Рис. 36.3. В диалоговом окне Существующие подключения

перечислены все доступные в этой книге таблицы Excel 6. В этом окне дважды щелкните на строке таблицы Обслуживание. Откроется

диалоговое окно Импорт данных, показанное на рис. 36.4. 7.

В окне Импорт данных установите переключатель Выберите способ

представления данных в книге в положение Только создать подключение и щелкните на кнопке ОК. Приведенную выше последовательность действий повторите для диапазона с данными на рабочем листе Персонал. (В нашем примере таблице Excel на этом листе было присвоено имя Работники.)

878

Часть V. Использование инструментов Power Pivot и Power Query

Рис. 36.4. Воспользуйтесь окном Импорт данных

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

1. На ленте приложения выберите команду Данные^Получить и преобра­ зовать данные ^Получить данные с помощью существующего подклю­ чения. Откроется диалоговое окно Существующие подключения.

2. В окне Существующие подключения перейдите на вкладку Таблицы и дважды щелкните на строке Таблицы в модели данных книги (рис. 36.5). Откроется диалоговое окно Импорт данных.

Рис. 36.5. В этом окне внутреннюю модель данных рабочей книги можно выбрать как источник данных для создания сводной таблицы

3. В диалоговом окне Импорт данных установите переключатель Выберите способ представления данных в книге в положение Отчет сводной диаграммы, переключатель Куда следует поместить данные? в положение

Глава 36. Работа непосредственно с внутренней моделью данных

879

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

Рис. 36.6. Создание требуемой сводной

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

Рис. 36.7. На панели задач Поля сводной таблицы

откройте вкладку Все, чтобы увидеть все таблицы, доступные во внутренней модели данных книги 5. Создайте требуемую сводную таблицу таким образом, как это обычно де­ лается. В нашем случае поле Должность следует поместить в область Строки, а поле Стоимость работ — в область Значения.

880

Часть V. Использование инструментов Power Pivot и Power Query Как видно на рис. 36.8, программа Excel немедленно обнаружила, что в свод­ ной таблице используются две таблицы из внутренней модели данных книги, и предложила создать между ними необходимые связи. Вы можете позволить Excel автоматически выявить и установить требуемые отношения между та­ блицами либо вы можете щелкнуть на кнопке Создать и выполнить эту работу вручную. В общем случае связи между таблицами во внутренней модели луч­ ше устанавливать вручную, что позволит избежать любых возможных ошибок, если программа поймет что-либо неправильно, поэтому щелкните на кнопке Создать — и программа откроет диалоговое окно Создание отношения.

Рис. 36.8. Программа Excel предлагает позволить ей создать связь между двумя таблицами автоматически либо выполнить это вручную

Глава 36. Работа непосредственно с внутренней моделью данных

881

б. В диалоговом окне Создание отношения (рис. 36.9) необходимо указать таблицы и их поля, которые будут использованы для создания отноше­ ния. Как видно на рисунке, в нашем случае в таблице Обслуживание поле Исполнитель связывается с полем Таб._номер в таблице Работники.

Рис. 36.9. Создайте отношение, воспользовавшись

раскрывающимися списками Таблица и Столбец

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

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

Часть V. Использование инструментов Power Pivot и Power Query

882

На заметку

На рис. 36.9 показано, что нижний правый раскрывающийся список имеет название Свя­ занный столбец (первичный ключ). “Первичный” означает, что внутренняя модель данных использует это поле связанной таблицы как первичный ключ. Первичным ключом называют поле, которое содержит только уникальные непустые зна­ чения (т.е. дублирование значений или отсутствие значения в этом поле не допускается). Первичные ключи необходимы в модели данных для предотвращения агрегирования оши­ бочных и дублирующихся записей. Каждое создаваемое между таблицами отношение должно включать поле, обозначенное как первичный ключ.

Таким образом, в таблице Работники (как это показано на рис. 36.9) в поле Таб_номер должны присутствовать исключительно уникальные значения и не может быть пустых или отсутствующих значений. Только при таких условиях программа Excel может гарантировать целостность данных при объединении информации из нескольких таблиц.

Управление связями во внутренней модели данных После включения таблиц во внутреннюю модель данных рабочей книги может потребоваться установить между этими таблицами определенные связи. Чтобы внести изменения в отношения между таблицами во внутренней модели данных, необходимо воспользоваться диалоговым окном Управление отношениями, которое открывается при выборе команды Данные1^Работа с данными^Отношения. Для на­ шего примера это диалоговое окно показано на рис. 36.11.

Рис. 36.11. Диалоговое окно Управление отношениями позволяет внести изменения в отношения между таблицами во внутренней модели данных

В этом окне присутствуют следующие командные кнопки, предназначенные для управления отношениями.

Глава 36. Работа непосредственно с внутренней моделью данных

883

Создать. Создается новое отношение между двумя таблицами во внутренней модели данных.

Автоматическое обнаружение. Надстройке Power Pivot предоставляется воз­ можность автоматически выявить и создать отношения между таблицами, исходя из сохраняемых в них данных. Изменить. Предоставляется возможность внести изменения в выбранное отно­ шение. Активировать. Выбранное отношение вводится в силу, т.е. программе Excel указывается на необходимость принимать это отношение во внимание при обоб­ щении и анализе информации с использованием внутренней модели данных ра­ бочей книги.

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

Удалить. Выбранное отношение удаляется.

Удаление таблицы из внутренней модели данных В некоторых случаях может потребоваться удалить таблицу или источник данных из внутренней модели данных рабочей книги. Чтобы сделать это, на ленте програм­ мы выберите команду Данные^Запросы и подключения^Запросы и подключения. Откроется панель задач Запросы и подключения, представленная на рис. 36.12.

Рис. 36.12. Панель задач Запросы и подключения

можно использовать для удаления любой таблицы из внутренней модели данных

На этой панели задач щелкните правой кнопкой мыши на той таблице, кото­ рую следует удалить из внутренней модели данных (в нашем примере это табли­ ца Обслуживание), и выберите в открывшемся контекстном меню команду Удалить. В открывшемся окне с запросом на подтверждение необходимости удаления щел­ кните на кнопке ОК для завершения операции.

Использование формул в надстройке Power Pivot В ЭТОЙ ГЛАВЕ… Создание собственных вычисляемых столбцов Использование языка запросов DAX для создания вычисляемых столбцов Создание вычисляемых мер

Использование аналитических функций Excel для манипуляции данными сводных таблиц

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

В

Большинство примеров, приводимых в этой главе, можно найти в рабочей книге, сохраненной в файле Power Pivot Formulas. xlsx на веб-сайте книги (www. wiley.com/go/excel2019bible ). Для русскоязычного издания книги файл на­ зывается Pic37 01.xlsx.

Часть V. Использование инструментов Power Pivot и Power Query

886

Дополнение данных надстройки Power Pivot вычисляемыми столбцами Вычисляемыми столбцами называют такие столбцы, которые создаются поль­ зователями для расширения таблиц надстройки Power Pivot с использованием вы­ числений, выполняемых созданными ими формулами. Вычисляемые столбцы созда­ ются непосредственно в окне надстройки Power Pivot и становятся частью исходных данных, доступ к которым предоставляется и контролируется этой надстройкой. Вычисляемые столбцы работают на уровне строки, а это означает, что формула, по­ мещенная в ячейки вычисляемого столбца, выполняет любые требуемые операции, манипулируя данными, расположенными исключительно в каждой отдельной стро­ ке таблицы. Например, пусть в таблице Power Pivot есть столбец Доход и столбец Затраты. Тогда в этой же таблице можно создать новый столбец, значения в котором будут вычисляться как разность между значениями в ячейке столбца [Доход] и в ячейке столбца [Затраты] для каждой строки этой таблицы. Эти вычисления просты и будут действительны для каждой строки во всем наборе данных. Вычисляемые меры используются для выполнения более сложных вычислений, которые работают с обобщенными данными. Такие вычисления применяются непо­ средственно к имеющейся сводной таблице, и результатом их является своего рода виртуальный столбец, который невозможно увидеть в окне надстройки Power Pivot. Вычисляемые меры могут быть полезны при необходимости проведения вычислений, основанных на обобщенных значениях групп строк данных, например таких, как раз­ ность между суммой затрат в строках за [Год2] и суммой затрат в строках за [Год1].

Создание простого вычисляемого столбца В надстройке Power Pivot процедура создания вычисляемого столбца очень на­ поминает процедуру внесения формул в таблицу Excel. Проще всего познакомить­ ся с этой процедурой на конкретном примере. Итак, чтобы создать в таблице над­ стройки Power Pivot вычисляемый столбец, выполните следующие действия.

1. В программе Excel откройте файл примера с именем Pic37_01. xlsx и вы­ берите на ленте команду Power Pivots Модель данных^Управление, что­ бы открыть окно надстройки Power Pivot. В этом окне перейдите на вкладку Детали_счета.

2. В таблице на этой вкладке крайним справа будет пустой столбец с назва­ нием Добавление столбца; щелкните на его верхней пустой ячейке. 3. В строке формул окна Power Pivot введите следующую формулу, как по­ казано на рис. 37.1: =[Цена_единицы]*[Количество]

4. Нажмите клавишу — и введенная формула будет распространена по всем ячейкам этого столбца.

Глава 37. Использование формул в надстройке Power Pivot

887

Рис. 37.1. Начните создание вычисляемого столбца с ввода в строку формул

той формулы, которая будет выполнять вычисления в этом столбце

5. Надстройка Power Pivot автоматически присвоит столбцу название Вычисляемый столбец 1, поэтому дважды щелкните на его заголовке и переименуйте его, — пусть он будет называться Общий_доход.

На

заметку

В окне надстройки Power Pivot можно переименовать любой столбец, — просто дважды щел­ кните на его заголовке и введите его новое название. Другой вариант — щелкнуть на заголовке правой кнопкой мыши и выбрать в открывшемся контекстном меню команду Переименовать ^столбец._________________________________________________________________________________________________________

Совет

При создании формулы вычисляемого столбца вовсе необязательно вводить ее вручную пол­ ностью, -для упрощения работы можно воспользоваться мышью. Например, вместо того что­ бы в строке формул набирать полный текст формулы = [Цена_единицы] * [Количество], можно ввести только символ =, затем щелкнуть на любой ячейке столбца Цена_единицы, ввести знак *, щелкнуть на любой ячейке столбца Количество и нажать клавишу . Результат будет тот же самый. Учтите, что в формулах можно указывать и собственные фикси­ рованные данные. Например, можно ввести формулу, которая будет добавлять к значениям ^десять процентов налога, — эта формула будет выглядеть так: = [Цена единицы] *1.10. Каждый созданный вычисляемый столбец автоматически будет добавлен в лю­ бую сводную таблицу, которая связана с моделью данных надстройки Power Pivot. В этом отношении от вас не потребуется никаких дополнительных действий. Так, на рис. 37.2 показано, что вычисляемый столбец Общий_доход уже появился в спи­ ске полей на панели задач Поля сводной таблицы, хотя вы для этого не предприни­ мали никаких специальных действий. Теперь это вычисляемое поле можно будет использовать в данной сводной таблице точно так же, как и любое другое поле.

Часть V. Использование инструментов Power Pivot и Power Query

888

Совет

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

Рис. 37.2. Вычисляемые столбцы автоматически добавляются

в список полей на панели задач Поля сводной таблицы

На

заметку

Если в вычисляемом столбце потребуется отредактировать формулу, в окне надстройки Power Pivot найдите этот столбец, щелкните в любом его месте и внесите требуемые изменения не­ посредственно в строке формул.

Подробнее о создании сводных таблиц с использованием модели данных надстрой­ ки Power Pivot читайте в главе 35, “Надстройка Power Pivot”.

Форматирование вычисляемых столбцов Часто необходимо изменить форматирование столбцов таблиц в окне приложе­ нии Power Pivot таким образом, чтобы их вид соответствовал содержащимся в них данным. Например, может потребоваться представить числовые значения как де­ нежные суммы, удалить дробную часть чисел или отобразить даты каким-либо осо­ бым образом.

Глава 37. Использование формул в надстройке Power Pivot

889

Безусловно, все, что будет сказано ниже, относится не только к вычисляемым столбцам: те же самые действия можно применить к любому столбцу любой табли­ цы в окне приложения Power Pivot.

1. В окне приложения Power Pivot щелкните на любой ячейке того столбца, который требуется отформатировать.

2. На ленте надстройки на вкладке Главная найдите группу команд Фор­ матирование (рис. 37.3). 3. Воспользуйтесь элементами управления в этой группе, чтобы придать значениям в столбце нужный вид.

Рис. 37.3. В окне надстройки Power Pivot для форматирования значений любого из столбцов в ее модели данных предназначены элементы управления группы Форматирование на вкладке Главная

Совет

Те, кто уже работал в Excel со сводными таблицами, знают, что изменение числовых форматов в каждом из столбцов этих таблиц в отдельности — занятие утомительное. Одно из замеча­ тельных свойств инструментов форматирования в надстройке Power Pivot состоит в том, что любой формат, примененный к некотором у столбцу, автоматически применяется ко всем i сводным таблицам, связанным с моделью данных книги!

Ссылки на вычисляемые столбцы в других вычислениях Как и в случае любых вычислений в Excel, надстройка Power Pivot позволяет ссы­ латься на значения в вычисляемых столбцах как на переменные в составе формул, используемых для создания других вычисляемых столбцов. На рис. 37.4 это поло­ жение иллюстрируется посредством создания нового вычисляемого столбца с на­ званием Валовая прибыль. Обратите внимание на строку формул — здесь в форму­ ле используется ссылка на созданный ранее вычисляемый столбец Общий_доход.

890

Часть V. Использование инструментов Power Pivot и Power Query

Рис. 37.4. В новом вычисляемом столбце Валовая_прибыль используется

ссылка на ранее созданный вычисляемый столбец Общий_доход

Сокрытие промежуточных вычисляемых столбцов Так как в формулах вычисляемых столбцов можно использовать ссылки на другие вычисляемые столбцы, вполне может иметь место ситуация, когда часть вычисляе­ мых столбцов создается исключительно как промежуточный результат для других вычислений. Такие столбцы вовсе необязательно будут интересны конечным поль­ зователям, а значит, они просто не должны отображаться клиентскими средствами. (Под клиентскими средствами в данном контексте понимаются сводные таблицы, сводные диаграммы, а также панели итоговых отчетов, созданные с использовани­ ем средств Power View и Power Map.) Подобно тому, как осуществляется сокрытие столбцов на рабочих листах Excel, надстройка Power Pivot позволяет скрыть любой столбец в модели данных (в том числе не являющийся вычисляемым). Чтобы скрыть определенные столбцы табли­ цы, просто выделите их и щелкните в любом месте выделенной области правой кнопкой мыши, а затем выберите в открывшемся контекстном меню команду Скрыть из набора клиентских средств, как показано на рис. 37.5.

Рис. 37.5. Щелкните правой кнопкой мыши на выделенной области и выберите в контекстном меню команду Скрыть из набора клиентских средств

Глава 37. Использование формул в надстройке Power Pivot

891

Если столбец скрыт, он будет отсутствовать в списке доступных полей на панели задач Поля сводной таблицы. Однако, если перед сокрытием столбец уже являлся частью какого-либо отчета, созданного на основе сводной таблицы, т.е. его назва­ ние уже было перемещено из списка доступных полей в одну из областей сводной таблицы, то его сокрытие не приведет к автоматическому удалению этого столбца из отчета. Сокрытие столбца вызывает лишь удаление его названия из списка до­ ступных полей на панели задач Поля сводной таблицы, и не более того. Как видно на рис. 37.6, в надстройке Power Pivot столбцы таблиц в ее окне окра­ шиваются в зависимости от их характеристик. Так, скрытые столбцы отображаются затененными, в сером цвете, тогда как вычисляемые столбцы выделены более свет­ лым оттенком серого и имеют темные (черные) заголовки.

Рис. 37.6. Скрытые столбцы затенены, а вычисляемые

столбцы имеют более темные заголовки

На заметку

Чтобы отменить сокрытие столбца, выберите его в окне надстройки Power Pivot, щелкните правой кнопкой мыши на выделенной области и выберите в открывшемся контекстном меню i команду Отобразить в наборе клиентских средств.

Использование языка DAX при создании вычисляемых столбцов Язык запросов DAX (Data Analysis Expression — выражения для анализа данных) по своей сути является языком написания формул, который в надстройке Power Pivot применяется для выполнения вычислений в рамках собственных конструкций с использованием таблиц и столбцов. Язык DAX предназначен для записи формул с использованием его собственного набора функций. Одни из этих функций могут применяться в вычисляемых столбцах для выполнения вычислений на уровне стро­ ки, тогда как другие разработаны для использования в вычисляемых мерах и пред­ назначены для выполнения обобщающих операций.

892

Часть V. Использование инструментов Power Pivot и Power Query

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

В языке DAX есть более 150 функций. Примеры использования функций языка DAX, приво­ димые в этой главе, предназначены для того, чтобы дать читателю лишь общее представление о том, как могут работать формулы в вычисляемых столбцах и мерах. Полный обзор всех возможностей языка DAX выходит далеко за рамки этой книги. Если после ознакомления с материалом этой главы у вас появится желание получить более глубокие сведения о языке DAX, обратите внимание на книгу Альберто Феррари (Alberto Ferrari ) и Марко Руссо (Marco Russo) “The Definitive Guide to DAX”, выпущенную издательством Microsoft Press в 2015 году (на английском языке). Эта книга — превосходный исчерпывающий обзор всех возможно^стей языка DAX, и при этом она очень проста для понимания.

Функции языка DAX, используемые для создания вычисляемых столбцов В предыдущем разделе речь шла о том, как в надстройке Power Pivot можно соз­ давать вычисляемые столбцы посредством ввода математических выражений непо­ средственно в строку формул, присутствующую в ее окне. Как вы могли уже заме­ тить, в окне надстройки левее строки формул находится кнопка |~л~|, — она похожа на кнопку Вставить функцию в окне программы Excel. Щелчок на этой кнопке откры­ вает диалоговое окно Вставить функцию, показанное по рис. 37.7. В этом диалоговом окне можно просматривать, искать и вставлять в строку формул окна надстройки Power Pivot функции языка DAX, доступные в этой надстройке.

Рис. 37.7. В диалоговом окне Вставка функции доступны все функции, существующие в языке DAX

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

Глава 37. Использование формул в надстройке Power Pivot

893

функции Excel. Однако не поддавайтесь этому ошибочному впечатлению, — это во­ все не функции приложения Excel. Главное их отличие в том, что в Excel функции всегда работают с ячейкой или диапазоном ячеек, тогда как эти функции языка DAX спроектированы так, чтобы работать на уровне таблиц и столбцов. Чтобы лучше понять, о чем идет речь, попробуем создать новый вычисляемый столбец на вкладке Деталисчета. Щелкните в строке функций и введите в нее хо­ рошо вам известную функцию суммирования: =SUM( [Валовая_прибыль]) . На рис. 37.8 показан результат, который вы получите.

Рис. 37.8. Функция SUM языка DAX может лишь просуммировать

все значения заданного столбца

Как видите, функция SUM просуммировала все значения в указанном столбце и поместила этот результат во все ячейки нового вычисляемого столбца. Это про­ исходит по той причине, что надстройка Power Pivot и встроенный в нее язык DAX разработаны для работы с таблицами и столбцами в целом. В надстройке Power Pivot просто не существует программного конструкта, который определял бы отдельные ячейки или их диапазоны. В табличной сетке этой надстройки даже отсутствуют буквенные заголовки столбцов, характерные для программы Excel. Там, где в функ­ ции суммирования Excel обычно вводятся ссылки на диапазон ячеек, в функции SUM языка DAX предполагается использование всего столбца. В завершение следует сказать, что не все функции языка DAX могут использо­ ваться в формулах определения вычисляемых столбцов. Поскольку при создании вычисляемых столбцов расчеты производятся на уровне строки, в этих столбцах могут использоваться только те функции языка DAX, которые выполняют расчеты с единственной точкой данных. Как приближенное правило отбора функций языка DAX, пригодных для созда­ ния вычисляемых столбцов, можно принять положение, что если функция в каче­ стве аргумента принимает массив или диапазон ячеек, то ее нельзя использовать в формулах создания вычисляемых столбцов. Отсюда следует, что такие функции языка DAX, как sum, min, max, average и count, не будут работать в вычисляемых столбцах. С другой стороны, те функции языка DAX, которые в качестве аргумента

’в надстройке Power Pivot, в отличие от самого приложения Excel, названия функций языка DAX не русифицированы. — Примеч. ред.

894

Часть V. Использование инструментов Power Pivot и Power Query

требуют указания единственной точки данных, будут успешно работать в формулах вычисляемых столбцов. Это такие функции, как year, month, mid, left, right, if ИIFERROR.

Создание вычисляемых столбцов с использованием функций языка DAX Чтобы продемонстрировать полезность использования функций языка DAX для расширения возможностей создания вычисляемых столбцов, давайте вернемся к нашему примеру. Перейдите в окно надстройки Power Pivot и щелкните на вклад­ ке Заголовок_счета. Если вы уже закрыли окно надстройки Power Pivot, чтобы вновь открыть его, выберите в окне программы Excel команду ленты Power Pivot^Moflenb данных^Управление. На вкладке Заголовок счета, показанной на рис. 37.9, присутствует столбец Дата_ счета. Хотя этот столбец достаточно важен и в своем исходном виде, в ходе анализа данных с использованием сводной таблицы работать с конкретными датами не всег­ да удобно. Будет гораздо удобнее создать отдельные столбцы для значений года и месяца, извлеченных из поля Дата_счета. Поступив так, мы получим возможность обобщать и анализировать данные по месяцам и годам.

Рис. 37.9. Функции языка DAX можно использовать для дополнения этой таблицы вычисляемыми столбцами Месяц и Год Для этих целей воспользуемся функциями year (), month () и format () языка DAX. Чтобы добавить в модель данных вычисляемые столбцы с требуемыми размер­ ностями времени, выполните следующие действия. 1. В таблице 3аголовок_счета щелкните на верхней пустой ячейке в край­ нем справа столбце с заголовком Добавление столбца. 2.

В строке формул введите выражение =YEAR( [Дата_счета]) и нажмите клавишу . Надстройка Power Pivot автоматически переименует стол­ бец, присвоив ему название Вычисляемый столбец1, а затем заполнит его вы­ численными функцией year значениями.

3. Дважды щелкните на заголовке этого столбца и переименуйте его, при­ своив этому столбцу название Год.

Глава 37. Использование формул в надстройке Power Pivot

895

4. Еще раз щелкните на верхней пустой ячейке в следующем (крайнем спра­ ва) столбце, который теперь имеет название Добавление столбца. 5. В строке формул введите выражение =МОЫТН ([Дата_счета]) и нажмите клавишу . Надстройка Power Pivot автоматически переименует стол­ бец, присвоив ему название Вычисляемый столбец1, а затем заполнит его вы­ численными функцией month значениями.

6. Дважды щелкните на заголовке этого столбца и переименуйте его, при­ своив этому столбцу название №_месяца.

7. И вновь щелкните на верхней пустой ячейке в следующем (крайнем спра­ ва) столбце, который теперь имеет название Добавление столбца.

8. В строке формул введите выражение =FORMAT( [Дата_счета], «пшип») и нажмите клавишу . Надстройка Power Pivot автоматически пере­ именует столбец, присвоив ему название Вычисляемый столбец1, а затем за­ полнит его вычисленными функцией FORMAT значениями. 9. Дважды щелкните на заголовке этого столбца и переименуйте его, при­ своив этому столбцу название Месяц.

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

Рис 37.10. С помощью функций языка DAX в таблицу были добавлены три вычисляемых столбца — Год, №_месяца и Месяц

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

Сортировка сводных таблиц по месяцам Одно из самых раздражающих качеств в надстройке Power Pivot — то, что она не знает, как правильно сортировать названия месяцев. В отличие от самой про­ граммы Excel, надстройка Power Pivot не позволяет использовать предоставляемые пользователем списки, определяющие правильный порядок следования названий месяцев в году. Когда в модели данных создаются вычисляемые столбцы, подобные созданному нами столбцу Месяц, при использовании этих столбцов в сводных та­ блицах значения в них будут сортироваться в алфавитном порядке, как показано на рис. 37.12.

Часть V. Использование инструментов Power Pivot и Power Query

896

Рис. 37.11. Вычисляемые столбцы, созданные с использованием функций языка DAX, сразу же становятся доступными в любой сводной таблице, связанной с моделью данных надстройки Power Pivot

Рис. 37.12. В сводных таблицах, связанных моделью данных надстройки Power Pivot, сортировка по названиям месяцев выполняется некорректно

Исправить эту досадную ошибку чрезвычайно просто. Перейдите в окно надстрой­ ки Power Pivot и выберите на ее ленте команду Главная^Сортировка и фильтрация^ Сортировка по столбцам. Откроется диалоговое окно Сортировка по столбцу, показан­ ное на рис. 37.13.

Рис. 37.13. Диалоговое окно Сортировка по столбцу позволяет определить,

как именно должны быть отсортированы значения в столбцах

Идея состоит в том, чтобы можно было выбрать тот столбец, значения в котором требуется отсортировать, а затем указать другой столбец, значения в котором будут определять порядок сортировки первого столбца. В нашем примере значения столб­ ца Месяц следует отсортировать в соответствии со значениями в столбце №_месяца.

Глава 37. Использование формул в надстройке Power Pivot

897

Указав эти требования в окне Сортировка по столбцу, щелкните на кнопке ОК. Сначала вам покажется, что ничего не произошло, — и все потому, что заданный только что порядок сортировки предназначен не для информации в окне надстрой­ ки Power Pivot. Заданный порядок сортировки предназначен для упорядочивания информации в сводной таблице. Перейдите в окно программы Excel, и в сводной таблице вы сразу увидите результат выполненных действий (рис. 37.14).

Рис. 37.14. Теперь строки по месяцам

расположены в правильном порядке

Ссылки на поля в других таблицах В некоторых случаях те операции, которые необходимо выполнить для опре­ деления значений в вычисляемом столбце, могут потребовать использования зна­ чений из полей в других таблицах, входящих в состав модели данных надстройки Power Pivot. Например, в нашем примере при создании вычисляемого столбца в та­ блице Деталисчета может потребоваться использовать сведения о размере скидки, назначаемой клиентам компании в индивидуальном порядке (рис. 37.15).

Рис. 37.15. Значение в столбце Скидка таблицы Клиенты может быть использовано для создания вычисляемого столбца в другой таблице

Чтобы решить поставленную задачу, воспользуемся функцией языка DAX под на­ званием RELATED. Подобно функции ВПР в приложении Excel, функция RELATED

898

Часть V. Использование инструментов Power Pivot и Power Query

позволяет находить и извлекать значения из одной таблицы, чтобы использовать их в другой таблице. Для создания в таблице Детали_счета вычисляемого поля, в котором будет отоб­ ражаться значение дисконтированного дохода для каждой операции, сведения о ко­ торой имеются в этой таблице, выполните следующие действия. 1. В таблице Детали_счета щелкните на верхней пустой ячейке крайнего справа столбца с заголовком Добавление столбца. 2.

В строке формул введите выражение =related (. Как только в этом выражении будет введена открывающая скобка, надстройка Power Pivot выведет меню со списком полей, доступных для вставки в соз­ даваемую формулу, как показано на рис. 37.16. Обратите внимание, что зна­ чения в этом списке представляют собой названия таблиц в апострофах, за которыми следуют названия их полей, заключенные в квадратные скобки. В данном случае нас интересует поле ‘ Клиенты’ [Скидка].

Рис. 37.16. Функция related будет использована для поиска

и извлечения значения поля в другой таблице

На заметку

к

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

3. Дважды щелкните в меню на строке поля ‘Клиенты’ [Скидка], а затем нажмите клавишу . Надстройка Power Pivot автоматически изменит название столбца на Вычисляемый столбец1, а затем заполнит его соответству­ ющими значениями, определенными с использованием функции related. 4. Дважды щелкните на названии этого столбца и замените его новым: %_скидки.

Глава 37. Использование формул в надстройке Power Pivot

899

5. Вновь щелкните на верхней пустой ячейке крайнего справа столбца с на­ званием Добавление столбца.

6. В строке формул введите выражение =[Цена_единицы] * [Количество] * * (1- [%_скидки]) и нажмите клавишу . Надстройка Power Pivot ав­ томатически изменит название столбца на Вычисляемый столбец1, а затем за­ полнит его вычисленными по этой формуле значениями.

7. Дважды щелкните на названии этого столбца и замените его новым: Дисконтированный_доход. Наградой за эти усилия будет новый столбец, содержащий информацию о разме­ ре дисконтированного по каждой операции дохода, при вычислении которого будет использован размер предоставляемой каждому конкретному клиенту скидки, из­ влеченный из таблицы Клиенты. На рис. 37.17 показано, как теперь будет выглядеть таблица, дополненная новым вычисляемым столбцом.

Рис. 37.17. При вычислении значений в столбце Дисконтированный_доход

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

Вложение функций В предыдущем примере в таблице Детали счета сначала был создан вычисляе­ мый столбец %_скидки, значения в котором извлекались из таблицы Клиенты с помо­ щью функции related, а затем значения из этого столбца использовались для рас­ чета значений во втором вычисляемом столбце, содержащем интересующую нас информацию о размере дисконтированного дохода. Важно отметить, что в действительности при создании вычисляемых столбцов нет необходимости использовать именно такой, многоступенчатый подход с соз­ данием промежуточных вычисляемых столбцов. На самом деле функцию related можно вложить непосредственно в ту формулу, по которой рассчитываются значе­ ния во втором вычисляемом столбце. Вот как в этом случае будет выглядеть эквива­ лентная формула, в которой используются вложенные вычисления. =[Цена_единицы]*[Количество]*(1-RELATED(‘Клиенты'[Скидка]))

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

Часть V. Использование инструментов Power Pivot и Power Query

900

вычисляемого столбца %_скидки, мы просто поместили ее в то место выражения, вы­ полняющего расчет дисконтируемого дохода, в котором использовалось значение, выбираемое из этого промежуточного столбца.

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

Использование вычисляемых мер Функциональные возможности отчетов, созданных с использованием модели данных надстройки Power Pivot, можно расширить за счет использования еще одно­ го типа вычисляемых величин, называемых вычисляемыми мерами. Вычисляемые меры используются для выполнения более сложных вычислений, в которых осу­ ществляется агрегирование или обобщение данных. Эти вычисления невозможно применять прямо в окне надстройки Power Pivot, как это имеет место с вычисля­ емыми столбцами. Вместо этого они применяются непосредственно к созданным на основе модели данных надстройки Power Pivot сводным таблицам, образуя в них некий вариант виртуальных столбцов, которые невозможно увидеть в окне над­ стройки Power Pivot. Вычисляемые меры используются в тех случаях, когда требу­ ется провести вычисления, предполагающие агрегацию данных в предварительно сгруппированных строках. Предположим, что в нашем примере требуется для каждого из клиентов компа­ нии показать разницу в себестоимости приобретенных им изделий в 2007 и 2006 го­ дах. Давайте подумаем о том, какие манипуляции исходными данными потребуются для реализации подобных вычислений. Для каждого клиента сначала нужно бу­ дет вычислить суммарную себестоимость изделий, приобретенных им в 2007 году, и суммарную себестоимость изделий, приобретенных им в 2006 году, а затем вычесть значение второй суммы из первой. Легко понять, что подобные вычисления просто невозможно реализовать с использованием вычисляемых столбцов. Единственный способ определения разницы между суммами за 2007 и 2006 годы — это использо­ вание вычисляемых мер. Итак, для создания вычисляемой меры выполните следующие действия.

1. В окне программы Excel перейдите на вкладку со сводной таблицей, соз­ данной на основе модели данных надстройки Power Pivot. 2. На ленте приложения выберите команду Power Рп/о^Вычисления^Меры^ Создать меру. Откроется диалоговое окно Мера, показанное на рис. 37.18.

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

Глава 37. Использование формул в надстройке Power Pivot

901

Рис. 37.18. Создание новой вычисляемой меры

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

3. В диалоговом окне Мера введите в указанные ниже поля следующую ин­ формацию.

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

Часть V. Использование инструментов Power Pivot и Power Query

902

Формула. Введите формулу на языке DAX, по которой будут вычисляться зна­ чения, помещаемые в это новое виртуальное поле. Параметры форматирования. Определите особенности форматирования, которое должно быть применено к значениям в виртуальном столбце вычис­ ляемой меры. В нашем примере мы воспользуемся следующей формулой, записанной на языке DAX: ^CALCULATE(

SUM(’Детали_счета'[Себестоимость_единицы] ), YEAR(’Заголовок_счета'[Дата_счета])=2007 )

В этой формуле используется функция CALCULATE, выполняющая суммиро­ вание значений в столбце Себестоимость единицы в таблице Детали счета, для тех строк, в которых в соответствующей строке таблицы Заголовок счета в столбце Дата счета значение года равно 2007.

4. Чтобы убедиться, что введенная формула не содержит синтаксических ошибок, щелкните на кнопке Проверить формулу. Если формула свобод­ на от ошибок, будет выведено сообщение Формула не содержит ошибок. Если ошибки в формуле присутствуют, будет выведено полное описание всех об­ наруженных ошибок.

5. Для завершения процедуры создания вычисляемой меры щелкните на кнопке ОК. Диалоговое окно Мера будет закрыто, а на панели задач Поля сводной таблицы появится новое виртуальное поле вычисляемой меры. 6. Повторите пп. 2-5 для каждой вычисляемой меры, которую необходимо создать в сводной таблице. В нашем примере сначала потребуется создать меру, представляющую сумму себестоимости изделий за 2006 год. Вот соответствующая формула. CALCULATE( SUM(‘Детали_счета'[Себестоимость_единицы]), YEAR(‘Заголовок_счета'[Дата_счета])=2006 )

7. Далее нам потребуется мера, вычисляющая значение разницы между двумя суммами. Вот соответствующая формула: =[Себестоимость_2007]-[Себестоимость_2006]

На рис. 37.19 демонстрируется использование в сводной таблице вновь создан­ ных виртуальных полей трех вычисляемых мер. Вычисляемые меры применены к каждому клиенту и иллюстрируют разность в суммарной себестоимости приоб­ ретенных им изделий за 2007 и 2006 годы. Как можно видеть, каждая вычисляемая мера доступна для выбора на панели задач Поля сводной таблицы.

Глава 37. Использование формул в надстройке Power Pivot

903

Рис. 37.19. Поля вычисляемых мер доступны в списке полей

на панели задач Поля сводной таблицы

Редактирование и удаление вычисляемых мер Безусловно, может возникнуть необходимость так или иначе отредактировать формулу расчета или параметры уже существующей вычисляемой меры. Чтобы сде­ лать это, выполните следующие действия.

1. Щелкните в любом месте соответствующей сводной таблицы, а затем вы­ берите на ленте приложения команду Power Рйго^ВычисленияФМеры1^ Управление мерами. Откроется диалоговое окно Управление мерами, пока­ занное на рис. 37.20.

Рис. 37.20. Диалоговое окно Управление мерами позволяет отредактировать или удалить любую из уже существующих вычисляемых мер

Часть V. Использование инструментов Power Pivot и Power Query

904

2. Выберите требуемую вычисляемую меру и щелкните на кнопке Изменить либо Удалить.

После щелчка на кнопке Изменить откроется диалоговое окно Мера, в кото­ ром можно внести любые желаемые изменения в существующее определение данной меры. После щелчка на кнопке Удалить откроется окно с запросом на подтвержде­ ние необходимости удаления данной вычисляемой меры. Щелкните в нем на кнопке Да, и выбранная мера будет удалена из этой сводной таблицы.

Использование аналитических функций Excel для манипуляции данными сводных таблиц Аналитические функции (или функции куба) — это группа функций Excel, ко­ торые могут использоваться для доступа к данным в модели данных надстройки Power Pivot с целью избавления от ограничений, накладываемых сводными табли­ цами. Хотя аналитические функции сами по себе не применяются непосредствен­ но для выполнения вычислений, они могут быть использованы для извлечения данных из сводных таблиц, после чего эти данные станут доступными для исполь­ зования в обычных формулах, присутствующих в ячейках другой части рабочего листа Excel. Один из простейших способов познакомиться с работой аналитических функ­ ций — позволить программе Excel конвертировать сводную таблицу в набор ана­ литических функций. Идея состоит в том, чтобы предложить Excel заменить зна­ чения во всех ячейках сводной таблицы формулами, которые обеспечат доступ к соответствущей информации в модели данных надстройки Power Pivot. Итак, чтобы преобразовать сводную таблицу в набор аналитических функций, выполните следующую последовательность действий. 1. Перейдите на рабочий лист со сводной таблицей, созданной на основе мо­ дели данных надстройки Power Pivot например той, которая была создана в предыдущем разделе с использованием вычисляемых мер.

2. Щелкните на любой ячейке сводной таблицы, а затем выберите на лен­ те приложения команду Работа со сводными таблицами ОАнализ^Вычисления^Средства OLAP ^Преобразовать в формулы, как показано на рис. 37.21.

На заметку

Файл с примером этой главы (Pic37_01.xlsx) содержит вкладку с названием Аналити­ ческие формулы с уже преобразованной сводной таблицей.

Глава 37. Использование формул в надстройке Power Pivot

905

Через секунду или две ячейки, в которых находилась сводная таблица, будут за­ полнены аналитическими формулами. Пример такой аналитической формулы при­ веден в строке формул Excel на рис. 37.22.

Рис. 37.21. Для преобразования сводной таблицы в аналитические

функции выберите команду Преобразовать в формулы

Рис. 37.22. Сейчас эти ячейки уже заполнены аналитическими функциями

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

906

Часть V. Использование инструментов Power Pivot и Power Query

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

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

Что такое Power Query В ЭТОЙ ГЛАВЕ… Основные концепции Power Query Этапы выполнения запроса

Управление существующими запросами Обзор выполняемых запросом действий

Получение данных из внешних источников Управление параметрами источников данных

системах управления информацией обычно предполагается реализация трех независимых функций, необходимых для интеграции информации, поступа­ ющей из различных источников данных: извлечение, преобразование и за­ грузка. Функция извлечения предусматривает считывание данных из конкретных источников и извлечение из всей поступающей информации требуемого подмно­ жества данных. Функция преобразования предусматривает выполнение очистки, предварительной обработки и агрегации полученных данных с целью приведения их к желаемой структуре. Функция загрузки предусматривает фактический импорт или запись подготовленных данных в отведенное для них место хранения. Аналитики, работающие с программой Excel, многие годы вынуждены были вы­ полнять все эти процедуры вручную. И до сих пор миллионы пользователей Excel регулярно собственными силами извлекают данные из внешних источников, а за­ тем предварительно обрабатывают их необходимым образом, чтобы появилась воз­ можность включить нужную информацию в создаваемые ими отчеты. Все это пред­ полагает огромные затраты ручного труда. Средство Power Query позволяет решить эту проблему с помощью простого и ин­ туитивно понятного механизма извлечения данных из внешних источников самых разных типов с последующим выполнением их предварительной обработки доста­ точно широкого спектра сложности, завершающейся загрузкой этих данных в рабо­ чую книгу или в ее внутреннюю модель данных.

В

908

Часть V. Использование инструментов Power Pivot и Power Query

В этой главе будут рассмотрены основные концепции средства Power Query и дан общий обзор тех преимуществ, которые она предоставляет в отношении экономии вре­ мени и автоматизации действий, необходимых для обеспечения абсолютной чистоты данных, импортируемых в модели отчетности, существующие в вашей организации.

Основные концепции Power Query Проще всего начать ознакомление с основными концепциями средства Power Query с рассмотрения конкретного примера. Предположим, что необходимо импор­ тировать сведения о ценах на акции корпорации Microsoft за последние 30 дней, воспользовавшись информацией с сайта Yahoo Finance. В этом сценарии нам по­ требуется создать такой запрос к веб-странице с необходимыми данными на сайте Yahoo Finance, который обеспечит их извлечение из этого источника. Чтобы создать подобный запрос, выполните следующие действия.

1. В окне программы Excel выберите на ленте команду Данные^Получить и преобразовать данные1^ Получить данные^Из других источников^Из Интернета (рис. 38.1). Откроется диалоговое окно Из Интернета.

Рис. 38.1. Создание запроса к веб-странице

с использованием средства Power Query

2. В этом диалоговом окне введите URL-адрес страницы, содержащей требу­ емые данные (рис 38.2), и щелкните на кнопке ОК. В нашем примере этот адрес имеет вид http: / /finance. yahoo. сот/q/hp?s=MSFT. Через некото­ рое время в окне приложения откроется панель задач Навигатор. Здесь нужно будет выбрать тот источник данных, из которого следует извлечь информа­ цию. Для справки можно щелкнуть на названии каждой из таблиц, чтобы оз­ накомиться с общим видом представленных в ней данных.

Глава 38. Что такое Power Query

909

Рис. 38.2. В диалоговом окне Из Интернета введите URL-адрес

страницы с требуемыми данными

3. На панели Навигатор выберите тот источник данных, из которого бу­ дет извлекаться необходимая информация, а затем щелкните на кнопке Изменить. В нашем случае воспользуемся таблицей с именем Table 2, в кото­ рой содержится историческая информация об интересующих нас ценах на ак­ ции Microsoft (рис. 38.3).

Рис. 38.3. В диалоговом окне Навигатор выберите требуемый

источник данных и щелкните на кнопке Изменить

Часть V. Использование инструментов Power Pivot и Power Query

910

На заметку

Наверное, вы обратили внимание на то, что на панели задач Навигатор, показанной на рис. 38.3, присутствует и кнопка Загрузить (рядом с кнопкой Изменить). Эта кнопка по­ зволяет пропустить любые этапы редактирования и импортировать данные в том виде, в ка­ ком они предоставляются на этой веб-странице. Если вы уверены, что никаких преобразо­ ваний или фильтрации данных не требуется, можете просто щелкнуть на кнопке Загрузить и немедленно импортировать данные непосредственно в модель данных рабочей книги или на ее рабочий лист.

Внимание! В программе Excel есть и другая кнопка команды Из Интернета ( ), расположенная на вкладке Данные в группе Получить и преобразовать данные, справа от кнопки Получить данные. Эта непонятная дублирующая кнопка на самом деле предоставляет доступ к устарев­ шему инструменту поиска и извлечения данных в среде веб (web scraping), присутствовавше­ му во всех версиях программы Excel начиная с Excel 2000. Версия этой команды в средстве Power Query (доступ к которой осуществляется командой в меню кнопки Получить данные) позволяет сделать гораздо больше, чем просто искать нужные данные на веб-страницах. Средство Power Query не только позволяет извлекать данные из сложных веб-страниц, но и обеспечивает возможность манипулирования ими. Не забывайте об этом дублировании ^и при извлечении данных из Интернета всегда пользуйтесь правильным инструментом.

После щелчка на кнопке Изменить средство Power Query откроет новое окно Редактор Power Query, которое содержит собственный ленточный интерфейс и панель предварительного просмотра Запросы, на которой будут отображе­ ны загружаемые данные (рис. 38.4). В этом окне к данным перед их загрузкой можно будет применить различные действия с целью их очистки, преобразо­ вания или фильтрации. Идея состоит в том, чтобы предварительно обработать каждый столбец дан­ ных, представленный в окне редактора Power Query, выполнив действия, не­ обходимые для выделения только нужных данных и обеспечения требуемого их структурирования. Подробно о тех действиях, которые могут выполнять­ ся со столбцами данных, будет рассказано ниже в этой главе. А на данный момент мы просто сосредоточимся на том, что необходимо выполнить, что­ бы получить данные о стоимости акций корпорации Microsoft за последние 30 дней. 4. В окне редактора Power Query щелкните правой кнопкой мыши на за­ головке столбца Date и выберите в открывшемся контекстном меню (в нем представлены все действия, которые можно выполнить над данными этого столбца) команду Тип изменения^Дата, как показано на рис. 38.5. Теперь у нас есть гарантии, что данные в столбце Date будут отформатирова­ ны требуемым образом.

911

Глава 38. Что такое Power Query Строка формул

Панель предварительного просмотра

Параметры запроса

Рис. 38.4. Окно Редактор Power Query позволяет преобразовывать,

очищать и фильтровать загружаемые данные

Рис. 38.5. В контекстном меню заголовка столбца Date укажите тип

данных, требуемый для этого столбца

912

Часть V. Использование инструментов Power Pivot и Power Query

5. Удалите все столбцы, которые нас не интересуют, поочередно щелкая на их заголовках и выбирая в контекстном меню команду Удалить. В нашем при­ мере, помимо столбца Date, необходимо получить данные столбцов High, Low и Close. Альтернативный вариант: удерживая нажатой клавишу , щелкни­ те на заголовках всех требуемых столбцов, а затем щелкните правой кнопкой мыши на заголовке любого выделенного столбца и выберите в открывшемся контекстном меню команду Удалить другие столбцы, как показано на рис. 38.6.

Рис. 38.6. Выделите требуемые столбцы и удалите все остальные, выбрав в контекстном меню команду Удалить другие столбцы 6. Убедитесь, что данные в столбцах High, Low и Close отформатированы требуемым образом, для чего выберите их при нажатой клавише , щелкните правой кнопкой мыши на заголовке любого из них и выбе­ рите в контекстном меню команду Тип изменения^Используя локаль. Откроется диалоговое окно Изменение типа по локали. Зачем нам это надо? Проблема в том, что согласно нашим требованиям в этих столбцах должны находиться данные, представленные в виде десятичных чи­ сел, но прямой выбор соответствующей команды в контекстном меню (т.е. Тип изменения^Десятичное число) в нашем случае приведет к ошибке из-за различий в настройке параметров локализации русскоязычных компьютеров и англоязыч­ ного сайта Yahoo Finance. Как можно видеть на рис. 38.6, в числовых значениях этих столбцов в качестве разделителя дробной части используется точка, а по нормам русского языка в качестве разделителя должна использоваться запятая. По этой причине программа Excel, работающая на русскоязычном компьютере, не сможет распознать значения в выделенных столбцах как числовые и будет считать их ошибочными — все без исключения. Вот почему нам предварительно следует указать программе, что данный сайт англоязычный, чтобы она смогла корректно распознать используемый на нем числовой формат данных. Итак, в открывшемся диалоговом окне Изменение типа по локали в списке Тип данных выберите значение Десятичное число, а в списке Языковый стандарт — Английский (США), как показано на рис. 38.7; затем щелкните на кнопке ОК.

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

913

Глава 38. Что такое Power Query

Рис. 38.7. Определение формата представления исходных данных

с использованием локали 7. Удалите строки с сообщениями об ошибках, щелкнув правой кнопкой мыши на заголовке столбца High и выбрав в открывшемся контекстном меню команду Удалить ошибки, как показано на рис. 38.8.

Рис. 38.8. Удаление из данных строк с ошибками

8. После удаления ошибок добавим к таблице поле Week Of, в котором бу­ дет отображаться дата начала недели, к которой относится дата в столбце Date в каждой строке таблицы. Чтобы сделать это, щелкните правой кноп­ кой мыши на заголовке столбца Date и выберите в открывшемся контекстном меню команду Создать дубликат столбца. На панели предварительного про­ смотра появится новый столбец с заголовком Копия Date.

9. Щелкните правой кнопкой мыши на заголовке нового столбца и выбери­ те в контекстном меню команду Переименовать, а затем непосредственно в заголовке введите новое название столбца: Week Of. 10. Щелкните правой кнопкой мыши на заголовке столбца Week Of и выбери­ те в контекстном меню команду Преобразование ^Неделя ^Начало недели, как показано на рис. 38.9. Программа Excel преобразует каждую дату в этом столбце, заменив ее датой начала той недели, к которой эта дата относится. Теперь, чтобы получить информацию за последние 30 дней, как это требуется

914

Часть V. Использование инструментов Power Pivot и Power Query

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

Рис. 38.9. Редактор Power Query можно использовать для различных

преобразований данных в столбцах, например для отображения даты начала недели, к которой принадлежит конкретная дата

11. На этом подготовку исходных данных к им­ порту будем считать законченной; оста­ лось сохранить созданное описание запроса на подключение и загрузить требуемые дан­ ные. Для этого на ленте редактора Power Query щелкните на кнопке Главная^Закрыть^Закрыть и загрузить. Откроется меню с двумя командами: Закрыть и загрузить и Закрыть и загрузить в… При выборе команды Закрыть и загрузить за­ прос будет сохранен, а результаты его выпол­ нения будут помещены на новый рабочий лист рабочей книги в виде таблицы Excel. При вы­ боре команды Закрыть и загрузить в… откроет­ ся диалоговое окно Импорт данных, представ­ ленное на рис. 38.10, в котором можно будет указать, куда требуется поместить результа­ ты выполнения запроса, и выбрать способ их представления в рабочей книге.

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

Глава 38. Что такое Power Query

915

В диалоговом окне Импорт данных также можно указать, что импортирован­ ные данные следует поместить не на рабочий лист, а во внутреннюю модель данных рабочей книги. Более того, данные можно даже не импортировать; можно лишь сохранить созданный запрос как запрос на подключение. В по­ следнем случае данный запрос можно будет использовать в различных про­ цессах непосредственно в памяти машины, без необходимости куда-либо выводить его результаты. В нашем примере установите переключатель Куда следует поместить данные? в положение Новый лист. В этом случае резуль­ таты выполнения запроса в виде таблицы Excel будут помещены на новый рабочий лист в активной рабочей книге. На данный момент в вашем распоряжении будет таблица данных, похожая на пред­ ставленную на рис. 38.11. Ее можно сразу использовать для создания сводной табли­ цы или для любых других целей, которые могут представлять для вас интерес.

Рис. 38.11. Результаты работы запроса на извлечение данных из Интернета: информация была найдена, преобразована, отфильтрована и помещена в таблицу Excel, готовую для преобразования в сводную таблицу

Задержитесь на минуту, чтобы оценить то, что средство Power Query позволило вам выполнить прямо сейчас. Посредством всего лишь нескольких щелчков мышью был выполнен поиск в Интернете и были найдены необходимые исходные дан­ ные. Эти данные были приведены к требуемому виду: оставлены только требуемые столбцы, отформатированные необходимым образом, и даже добавлен собственный столбец, распределяющий данные по неделям, что добавило к исходной информа­ ции новое измерение, которое затем использовалось для фильтрации загружаемых данных. И в завершение требуемая информация была импортирована в рабочую

916

Часть V. Использование инструментов Power Pivot и Power Query

книгу Excel в выбранном виде, полностью подготовленной для немедленного ис­ пользования. И в этом вся суть средства Power Query: оно позволяет легко извле­ кать, преобразовывать и фильтровать данные, не требуя каких-либо дополнитель­ ных усилий по созданию соответствующего программного обеспечения.

Этапы выполнения запроса Средство Power Query для кодирования запросов использует собственный язык формул, известный как языкМ. Как и в случае макрорекодера, каждое ваше действие, предпринимаемое в окне Редактор Power Query, приводит к генерации строки кода, которая записывается как очередной этап выполнения запроса. Этапы выполнения запроса представляют собой встроенную в рабочую книгу последовательность опе­ раторов языка М, что обеспечивает возможность повторного выполнения запроса всякий раз, когда потребуется обновить данные, полученные с помощью Power Query. Этапы выполнения запроса для любого из созданных вами запросов можно увидеть в окне редактора Power Query на панели задач Параметры запроса в разделе Примененные шаги (рис. 38.12). Чтобы открыть эту панель, выберите на ленте редактора команду Просмотр^Структура^Параметры запроса. В этой же группе команд можно дополнительно уста­ новить флажок Строка формул, что позволит детально анализировать каждый этап с помо­ щью строки формул, которая будет содержать формулу на языке М, определяющую действия, выполняемые на данном этапе. Каждый этап запроса представляет от­ дельное действие, предпринятое вами при подготовке извлекаемых данных к импорту. Щелкнув на любом из этапов этой панели, в строке формул редактора Power Query вы Рис. 38.12. На панели увидите формулу на языке М, обеспечиваюзадач Параметры запроса представлен щую выполнение необходимых на этом этапе каждый этап выполнения запроса действий. Например, если щелкнуть на этапе

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

На заметку

Если в разделе Примененнные шаги щелкнуть на любом из этапов, на панели предваритель­ ного просмотра данные примут такой вид, какой они имели после выполнения всех предыду­ щих этапов и этого выбранного. Так, если на панели, представленной на рис. 38.12, щелкнуть на этапе Измененный тип, предшествующем этапу Другие удаленные столбцы, то на панели предварительного просмотра данные будут представлены такими, какими они были до удале­ ния ненужных столбцов.

Глава 38. Что такое Power Query

917

Если на любом из этапов щелкнуть правой кнопкой мыши, откроется контекст­ ное меню, содержащее набор команд, которые могут быть применены к данному этапу. Этот набор команд показан на рис. 38.13, а ниже приводится краткое описа­ ние некоторых из них.

Рис. 38.13. Контекстное меню, открывающееся после щелчка правой кнопкой мыши на любом из этапов запроса, содержит команды, позволяющие отредактировать, переименовать, удалить или переместить этот этап

Изменить параметры. Редактирование аргументов или параметров действия, определяющего этот этап.

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

Вверх. Переместить выбранный этап вверх в общей последовательности выпол­ няемых этапов. Вниз. Переместить выбранный этап вниз в общей последовательности выпол­ няемых этапов.

Извлечь предыдущий. Извлечь все этапы, предшествующие данному, в новый запрос.

918

Часть V. Использование инструментов Power Pivot и Power Query

Просмотр кода в окне Расширенный редактор Средство Power Query предоставляет возможность просмотра и прямого редакти­ рования программного кода на языке М, встроенного в запрос. Для этого на ленте в окне Редактор Power Query выберите команду Просмотр^Подробнее^Расширенный редактор. Диалоговое окно Расширенный редактор — это нечто большее, чем просто поле, в котором можно отредактировать существующий код на языке М или вве­ сти собственный. В этом диалоговом окне опытные пользователи с помощью язы­ ка М могут даже расширять функциональные возможности самого средства Power Query, просто вводя в нем программный код новых этапов собственной разработки. Подробнее о языке М речь пойдет в главе 39, «Преобразование данных с использо­ ванием Power Query».

Обновление данных в запросах Power Query Очень важно отметить, что импортированные с помощью средства Power Query данные не будут каким-либо образом связаны с теми источниками данных, из ко­ торых они были получены. Фактически импортированная средством Power Query таблица данных представляет собой моментальный снимок состояния оригиналь­ ных данных на момент выполнения запроса. Другими словами, если исходные данные в источнике будут изменены, импортированные средством Power Query данные останутся в прежнем состоянии, поскольку этот инструмент не обеспечи­ вает автоматического обновления данных, полученных при выполнении запросов. Заботится о регулярном обновлении импортированных данных необходимо самим пользователям. Если при выполнении запроса Power Query был выбран вариант загрузки им­ портированных данных в таблицу Excel в существующей рабочей книге, то мож­ но вручную обновить эти данные, щелкнув на них правой кнопкой мыши и выбрав в открывшемся контекстном меню команду Обновить. Если импортированные средством Power Query данные были загружены во вну­ треннюю модель данных, то для их обновления необходимо на ленте приложения выбрать команду Данные1^Запросы и подключения^Запросы и подключения, а затем на открывшейся одноименной панели задач, на вкладке Запросы, щелкнуть пра­ вой кнопкой мыши на требуемом запросе и выбрать в контекстном меню команду Обновить. Если требуется добиться немного большей автоматизации в отношении обнов­ ления импортируемых по запросам данных, то можно настроить соответствующие источники данных так, чтобы для них процедура обновления импортированных средством Power Query данных выполнялась автоматически. Для этого выполните следующую последовательность действий. 1. На ленте приложения Excel выберите команду Данные^Запросы и подключенияФЗапросы и подключения. Откроется одноименная панель задач.

2. На панели задач Запросы и подключения откройте вкладку Подключения, щелкните правой кнопкой мыши на требуемом запросе Power Query

Глава 38. Что такое Power Query

919

и выберите в открывшемся контекстном меню команду Свойства. От­ кроется диалоговое окно Свойства подключения. 3. В окне Свойства подключения перейдите на вкладку Использование и установите флажки для выбранных вариантов режима обновления дан­ ных, импортируемых с помощью этого запроса. Здесь вам будут доступны следующие варианты.

Обновлять каждые X минут. Если установить этот флажок, программа Excel будет автоматически обновлять указанные данные с заданным интервалом. При этом будут обновляться все таблицы данных, связанные с данным под­ ключением. Обновление при открытии файла. Если установить этот флажок, про­ грамма Excel автоматически будет обновлять указанные данные при каж­ дом открытии этой рабочей книги. При открытии рабочей книги будут обновляться все таблицы данных, связанные с данным подключением. Эти режимы автоматического обновления будут полезны, когда необходимо иметь гарантии, что пользователи рабочей книги всегда будут работать со свежими данными. Безусловно, установка этих режимов автоматического об­ новления никак не отражается на возможности обновления данных вручную.

Управление существующими запросами По мере добавления в рабочую книгу различных запросов возникает необ­ ходимость как-то ими управлять. Для этих целей программа Excel предоставляет в распоряжение пользователей панель задач Запросы и подключения, на кото­ рой можно редактировать, дублировать и обновлять любые запросы и подключе­ ния, существующие в данной рабочей книге, а также управлять ими. Чтобы от­ крыть эту панель задач, на ленте приложения выберите команду Данные^Запросы и подключения^Запросы и подключения. Открыв эту панель, перейдите на вкладку Запросы, найдите требуемый запрос и щелкните на нем правой кнопкой мыши. Откроется контекстное меню, содержащее все команды, которые можно применить к данному запросу (рис. 38.14). Ниже приводится краткое описание некоторых из этих команд. Изменить. Открывается диалоговое окно Редактор Power Query, в котором мож­ но отредактировать этапы запроса.

Удалить. Выбранный на данный момент запрос удаляется. Переименовать. Предоставляется возможность переименовать запрос, выбран­ ный на данный момент. Обновить. Обновляются данные выбранного запроса.

Загрузить в… Открывается диалоговое окно Импорт данных, в котором можно переопределить способ представления и местоположение результата выполне­ ния выбранного запроса.

920

Часть V. Использование инструментов Power Pivot и Power Query

Рис. 38.14. На панели Запросы и подключения щелкните

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

Ссылка. Создается новый запрос, который ссылается на выходные данные ис­ ходного запроса.

Объединить. Выделенный запрос сливается с другим запросом в данной рабо­ чей книге посредством сопоставления указанных столбцов. Добавить. К результатам выбранного запроса дописываются результаты друго­ го запроса в этой рабочей книге.

Переслать в каталог данных. Выбранный запрос публикуется и становится до­ ступным для совместного доступа на сервере Power BI, созданном и управляемом ГГ-подразделением вашей организации.

Экспортировать файл подключения… Сохранить файл в формате Of ice Data Connection (* . ode), содержащий учетные данные соединения для доступа к ис­ ходным данным запроса. Переместить в группу. Выбранный запрос пересылается в логическую группу, которая была создана из соображений улучшения структуризации. Вверх. Перемещает выбранный запрос на панели Запросы и подключения на одну позицию вверх.

Глава 38. Что такое Power Query

921

Вниз. Перемещает выбранный запрос на панели Запросы и подключения на одну позицию вниз. Показать выбор. Отображает результаты выполнения выбранного запроса на панели предварительного просмотра.

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

Действия на уровне столбца Если в диалоговом окне Редактор Power Query на панели предварительного просмот­ ра щелкнуть правой кнопкой мыши на заголовке любого столбца данных, откроется кон­ текстное меню, содержащее полный набор команд которые можно к нему применить. Определенные действия можно также применять сразу к нескольким столбцам, выбрав два или более столбцов и щелкнув на выделенной области правой кнопкой мыши. На рис. 38.15 приведено контекстное меню для отдельного столбца данных, а в табл. 38.1 дано их краткое описание, а также описание нескольких других команд которые до­ ступны только в ленточном интерфейсе окна Редактор Power Query.

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

922

Часть V. Использование инструментов Power Pivot и Power Query

На заметку

Обратите внимание, что все команды уровня столбца данных, доступные в контекстном меню, доступны и на ленточном интерфейсе в окне Редактор Power Query. Следовательно, у вас есть выбор, как именно получить доступ к нужной команде: выбрать ее в контекстном меню или воспользоваться ленточным интерфейсом. Однако на ленте есть также несколько команд, которые отсутствуют в контекстном меню (табл. 38.1).

Таблица 38.1. Команды уровня работы со столбцом Обработка сразу нескольких столбцов

Команда

Назначение

Удалить

Удаление выбранных столбцов из данных Да запроса Power Query

Удалить другие столбцы

Удаление всех не выбранных столбцов из Да данных запроса Power Query

Создать дубликат столбца Создание дубликата выбранного столбца Нет в качестве нового столбца, добавляемого в таблицу крайним справа. Именем но­ вого столбца будет Копия X, где X — имя исходного столбца

Добавить столбец из примеров…

Создание пользовательского столбца, Да в котором данные из других столбцов будут скомбинированы на основании нескольких приведенных пользовате­ лем примеров. Как и в случае команды Мгновенное заполнение программы Excel, встроенная интеллектуальная ло­ гика выявления шаблона средства Power Query выведет на основании предостав­ ленных образцов алгоритм преобразова­ ния данных, а затем применит его для за­ полнения нового столбца вычисленными значениями

Удалить дубликаты

Удаляет в выбранном столбце все строки, Да в которых значение в столбце дублирует уже найденное ранее. Строка с первым вхождением этого значения не удаляется

Удалить ошибки

Удаляет все строки, в выбранном столб­ це которых присутствуют сообщения об ошибке

Да

Тип изменения

Открывает меню, позволяющее выбрать требуемый тип данных для выделенных столбцов

Да

Глава 38. Что такое Power Query

923 Продолжение табл. 38.1

Команда

Назначение

Преобразование

Открывает меню, позволяющее выбрать Да для выделенных столбцов способ пред­ ставления данных. Для текстовых данных возможны следующие варианты: нижний регистр, ВЕРХНИЙ РЕГИСТР, Каждое Слово С Прописной, Усечь, Очистить, Длина, JSON и XML. Если тип данных в столбце — “дата/время”, возможные ва­ рианты будут следующими: Год, Квартал, Месяц, Неделя и День, причем для каж­ дого варианта есть несколько подко­ манд. Если значения в столбце являются числовыми, возможные варианты будут следующими: Округление, Абсолютное значение, Факториал, Десятичный логарифм, Натуральный логарифм, Степень и Квадратный корень

Замена значений…

Поиск в выбранном столбце некоторого указанного значения и замена его дру­ гим заданным значением

Заменить ошибки…

Замена стандартных сообщений об ошиб­ Да ке собственным текстовым сообщением

Группировать по…

Группирование данных по значениям Да в строках. Например, можно группиро­ вать данные по регионам и либо под­ считывать количество городов в каждом регионе, либо суммировать их население для каждого региона

Заполнить

Заполнение пустых ячеек столбца зна­ чением из его первой непустой ячейки. Можно выбрать направление заполне­ ния: сверху вниз или снизу вверх

Да

Отменить свертывание столбцов

Транспонирование выбранных столбцов в строки или, наоборот, строк в столбцы

Да

Отменить свертывание других столбцов

Транспонирование невыбранных столбцов в строки или, наоборот, строк в столбцы

Да

Отменить свертывание только для выбранных столбцов

Транспонирование выбранных столбцов Да в строки или наоборот. Эта команда также сохраняет список столбцов на теку­ щем этапе, чтобы тот же набор столбцов не разворачивался в будущих операциях обновления

Обработка сразу нескольких столбцов

Да

924

Часть V. Использование инструментов Power Pivot и Power Query Окончание табл. 38.1

Команда

Назначение

Обработка сразу нескольких столбцов

Переименовать

Имя выбранного столбца заменяется но­ вым, заданным пользователем

Переместить

Выбранный столбец перемещается в ука­ Да занную позицию в таблице. Возможные варианты: Левый, Правый, В начало и В конец

Детализация

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

Добавить как новый запрос

Нет Создает новый запрос, возвращаю­ щий содержимое данного столбца. Осуществляется это посредством созда­ ния в новом запросе ссылки на исходный запрос. Имя нового запроса будет совпа­ дать с названием выбранного столбца, указанным в его заголовке

Разделить столбец (только на ленте)

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

Объединить столбцы (только на ленте)

Значения из двух или более столбцов Да объединяются в один столбец с использо­ ванием указанного разделителя, такого как запятая, точка с запятой, символ табуляции и т.д.

Нет

Нет

Действия на уровне таблицы При работе в диалоговом окне Редактор Power Query средство Power Query так­ же позволяет применить определенные операции ко всей таблице данных в целом. Доступный набор операций на уровне таблицы в целом можно увидеть, щелкнув на кнопке Действия с таблицей ( ), расположенной в верхнем левом углу таблицы на панели предварительного просмотра. Полный перечень команд в открывшем­ ся меню представлен на рис. 38.16; назначение этих команд кратко описывается в табл. 38.2.

Глава 38. Что такое Power Query

925

Рис. 38.16. Щелкните на кнопке Действия с таблицей в верхнем левом углу таблицы на панели предварительного просмотра в окне Редактор Power Query, чтобы увидеть набор операций, которые можно применить к таблице в целом

Таблица 38.2. Действия, выполняемые на уровне таблицы в целом Команда

Назначение

Копровать всю таблицу

Копирование данных текущего запроса в буфер обмена

Использовать первую строку в качестве заголовков

Замена всех заголовков столбцов в таблице значениями в со­ ответствующих столбцах первой строки данных

Добавить пользовательский Вставка в таблицу нового столбца после последнего столбца столбец… таблицы. Значения в новом столбце будут определены в соот­ ветствии со значением или формулой, предоставленной поль­ зователем

Добавить столбец из примеров…

Создание пользовательского столбца, в котором будут скомби­ нированы данные из других столбцов на основании нескольких предоставленных пользователем примеров. Как и в случае ко­ манды Мгновенное заполнение программы Excel, встроенная интеллектуальная логика выявления шаблона средства Power Query выведет на основании предоставленных образцов алго­ ритм преобразования данных, а затем применит его для запол­ нения нового столбца вычисленными значениями

926

Часть V. Использование инструментов Power Pivot и Power Query Окончание табл. 38.2

Команда

Назначение

Вызвать настраиваемую функцию…

Вставка нового столбца после последнего столбца таблицы, а затем выполнение заданной пользователем функции в каж­ дой строке этого столбца

Добавление условного столбца…

Вставка нового столбца после последнего столбца таблицы, а затем заполнение его значениями в соответствии с задан­ ным пользователем оператором если-то-иначе

Добавить столбец индекса

Вставка нового столбца, содержащего в своих строках после­ довательность целых чисел, начинающуюся с 1,0 или любого другого заданного пользователем значения

Выбор столбцов…

Выбор столбцов, которые должны присутствовать в результатах выполнения запроса

Сохранить верхние строки… Удаление из таблицы всех строк за исключением N верхних строк. Значение N определяется пользователем

Сохранить нижние строки…

Удаление из таблицы всех строк за исключением N нижних строк. Значение Л/определяется пользователем

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

Удаление из таблицы всех строк, в которых значения в задан­ ных столбцах являются уникальными; это позволит сосредото­ читься исключительно на строках с дубликатами

Сохранить ошибки

Удаление всех строк, которые не содержат ошибок; это позво­ лит быстро отфильтровать ошибочные значения, обнаруженные в процессе преобразования

Удалить верхние строки…

Удаление из таблицы N верхних строк данных

Удалить нижние строки…

Удаление из таблицы N нижних строк данных

Удалить чередующиеся строки…

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

Удалить дубликаты

Удаление в выбранном столбце всех строк, в которых значение в столбце дублирует уже найденное ранее. Строка с первым вхождением этого значения не удаляется

Удалить ошибки

Удаление всех строк, в которых в выбранном столбце присут­ ствуют сообщения об ошибке

Слияние запросов…

Создание нового запроса, выполняющего слияние текущей таблицы с данными других запросов в рабочей книге на осно­ вании сопоставления значений в указанных столбцах

Добавить запросы…

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

Глава 38. Что такое Power Query

927

Л На

заметку

Обратите внимание, что все команды, присутствующие в меню кнопки Действия с таблицей, также представлены в ленточном интерфейсе диалогового окна Редактор Power Query. Следовательно, у вас есть выбор, как именно получить доступ к нужной команде: выбрать ее данном меню или воспользоваться ленточным интерфейсом.

Получение данных из внешних источников Корпорация Microsoft затратила немало времени и ресурсов, стремясь получить гарантии, что сред­ ство Power Query обладает необходимыми возможно­ стями, чтобы извлекать данные из самого широкого спектра источников данных. Что бы это ни было — сторонний веб-сайт, текстовый файл, система баз данных, определенная веб-служба или социальная сеть Facebook, — средство Power Query способно обе­ спечить доступ к большинству, если не ко всем, суще­ ствующим источникам информации. Все поддерживаемые типы подключений можно увидеть в раскрывающемся меню кнопки Данные1^ Получить и преобразовать данные1^ Получить данные ленточного интерфейса приложения Excel. Как по­ казано на рис. 38.17, средство Power Query предо­ ставляет пользователю возможность извлечь дан­ ные из достаточно широкого набора типов источни­ ков данных.

Из файла. Данные можно извлечь из файлов Excel, текстовых файлов, файлов формата CSV, XML-файлов, JSON-файлов или из папки. Из базы данных. Данные можно извлечь из раз­ личных систем баз данных, таких как Microsoft Access, SQL Server или SQL Server Analysis Services. Из Azure. Данные извлекаются из облачных служб Microsoft Azure.

Рис. 38.17. Средство Power Query позволяет подключиться к широкому спектру текстовых источников данных, систем баз данных и источников данных в Интернете

Из веб-служб. Данные можно извлечь из служб облачных сервисов, таких как Facebook, Salesforce или Microsoft Dynamics online.

Из других источников. Данные могут быть извлечены из широкого спектра ис­ точников данных в Интернете, в облачных сервисах, а также из различных дру­ гих ODBC-источников. В этой группе присутствует и такой вариант, как Пустой запрос, — при его выборе открывается уже знакомое вам диалоговое окно Редактор Power Query. В этом окне можно открыть представление Расширенный

928

Часть V. Использование инструментов Power Pivot и Power Query

редактор, что очень удобно, чтобы скопировать, а затем вставить код на языке М прямо в окне Редактор Power Query.

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

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

Не забывайте, что импортируемые вами файлы вовсе необязательно должны храниться именно на вашем компьютере. Файлы могут импортироваться из любых источников в вашей корпоративной сети, а также из служб облачных хранилищ данных, таких как Google Drive или i Microsoft OneDrive.

Получение данных из рабочих книг Excel Чтобы импортировать данные из других рабочих книг Excel, выберите на лен­ те приложения команду Данные^Получить и преобразовать данные^Получить данные^Из файлам Из книги. В результате откроется диалоговое окно Импорт данных. Обратите внимание, что импортировать можно любой тип файлов Excel, вклю­ чая рабочие книги с макросами и шаблоны рабочих книг. Средство Power Query не обеспечивает получение диаграмм, сводных таблиц, фигур, кода VBA или любых других объектов, которые могут присутствовать в рабочих книгах. Обеспечивается лишь импорт обычных данных, сохраняемых в ячейках указанного диапазона рабо­ чей книги. Как только в окне Импорт данных будет выбран требуемый файл, откроется диа­ логовое окно Навигатор, в котором будут представлены все источники данных, до­ ступные в выбранной рабочей книге. Идея состоит в том, чтобы указать в этом окне требуемые источники данных, а затем либо сразу загрузить их, либо предваритель­ но отредактировать, воспользовавшись для этого командными кнопками в нижней части окна. Кнопка Загрузить позволяет пропустить любые операции редактиро­ вания и загрузить исходные данные в том виде, который они имеют в источнике. Кнопку Изменить следует использовать в тех случаях, когда данные требуется тем или иным образом преобразовать или скомпоновать, прежде чем они будут импор­ тированы из данного источника. В терминах рабочих книг Excel источниками данных может быть либо рабочий лист, либо именованный диапазон ячеек. Пиктограмма, которая в окне Навигатор выводится слева от названия каждого источника, помогает отличить, что из них является диапазоном, а что — рабочим листом. На рис. 38.18 источник данных

Глава 38. Что такое Power Query

929

с именем Реализация является рабочим листом, тогда как источник данных с име­ нем Предложения является именованным диапазоном. Чтобы за один раз импортировать данные из нескольких источников, достаточно установить флажок Несколько элементов, а затем установить флажки для тех источ­ ников данных, которые предполагается импортировать совместно.

Рис. 38.18. Выберите источники данных, а затем щелкните на кнопке Загрузить

Получение данных из файлов типа CSV и текстовых файлов Текстовые файлы довольно часто используются для хранения и распространения информации, поскольку им присуща способность хранить многие тысячи байтов данных в файлах достаточно скромных размеров. Эта особенность текстовых фай­ лов базируется на том, что в них отсутствуют какие-либо сведения о форматирова­ нии, а сохраняется исключительно сам текст. Файлы в формате CSV (Comma-separated value — значения, разделенные запя­ той) представляют собой обычные текстовые файлы, в которых дополнительно в ка­ честве разделителя значений полей данных используется запятая.

Часть V. Использование инструментов Power Pivot и Power Query

930

Для импорта текстовых или CSV-файлов на ленте приложения выберите коман­ ду Данные1^ Получить и преобразовать данные1^ Из файлам Из текстового/CSV файла. Откроется диалоговое окно Импорт данных, в котором следует указать требуемый текстовый файл или файл типа CSV, а затем щелкнуть на кнопке Импорт.

Внимание! В программе Excel есть еще одна кнопка, Из текстового/CSV файла, расположенная на вкладке Данные в группе Получить и преобразовать данные. Эта внешне дублирующаяся кнопка на самом деле представляет собой устаревший инструмент импорта данных, исполь­ зовавшийся в прежних версиях программы Excel.

Версия этого инструмента, реализованная в средстве Power Query, является гораздо более мощной, позволяющей скомпоновать или преобразовать текстовые данные еще до осущест­ вления их импорта. Не забывайте следить за тем, что всегда используете правильную, реали­ зованную именно в средстве Power Query версию инструмента импорта данных из текстовых ^и CSV-файлов.____________________________________________________________________________________________________ После щелчка на кнопке Импорт в окне Импорт данных Power Query откроет диа­ логовое окно Редактор Power Query, в котором вам будет представлено содержи­ мое выбранного для импорта текстового или CSV-файла. Цель состоит в том, чтобы в этом окне можно было выполнить любые изменения, которые необходимо приме­ нить к этим данным перед тем, как они будут импортированы. На

заметку

В некоторых текстовых файлах в качестве разделителя полей данных используется символ табуляции. Средство Power Query автоматически распознает такие файлы и импортирует дан­ ные из таких файлов в отдельные столбцы для каждого найденного символа табуляции. Средство Power Query хорошо справляется с распознаванием разделителей по­ лей в файлах формата CSV и обычно импортирует их данные вполне корректно. Например, на рис. 38.19 в строке 9 CSV-файла, используемого для создания этой иллюстрации, в столбце Штат содержится значение Вашингтон, фед. округ. Как ви­ дите, средство Power Query вполне корректно опознало, что эта запятая не является разделителем полей, и определило значения во всех полях этой записи вполне кор­ ректно.

Импорт данных из систем баз данных В достаточно крупных организациях задача управления данными обычно ре­ шается не в среде Excel; как правило, на верхнем уровне для этой цели использу­ ются системы баз данных, такие как Microsoft Access или SQL Server. В подобных базах данных может не только осуществляться хранение миллионов строк данных, но и обеспечиваться сохранение их целостности, защита от избыточности, выпол­ нение быстрого поиска и выборки данных с помощью запросов и представлений.

Глава 38. Что такое Power Query

931

Рис. 38.19. Содержимое CSV-файла представлено на панели предварительного просмотра

в окне редактора Power Query, и к нему можно применить любые преобразования Средство Power Query предоставляет возможность подключения к широкому спектру баз данных различных типов. Компания Microsoft позаботилась о реали­ зации средств подключения к самым разным системам баз данных, как широко рас­ пространенным, так и не столь популярным.

Импорт данных из реляционных баз данных и баз данных OLAP Для импорта данных из реляционных баз данных на ленте приложения Excel вы­ берите команду Данные1^ Получить и преобразовать данные^ Получить данные1^ Из базы данных, а затем в открывшемся подменю укажите тот тип базы данных, к кото­ рой требуется подключиться. В этом подменю средство Power Query предоставляет команды доступа к большинству популярных на сегодняшний день типов СУБД — SQL Server, Microsoft Access, Oracle, MySQL и т.д.

Импорт данных из баз данных облачной службы Azure Если в вашей организации используются базы данных, развернутые в облач­ ной службе Microsoft Azure, либо программные решения, полученные от Microsoft Azure Marketplace, примите к сведению, что в средстве Power Query имеется пол­ ный набор типов подключений, необходимых для импорта данных из облака Azure. Доступ к этим инструментам обеспечивается с помощью команды Данные^Получить и преобразовать данные^ Получить данные^Из Azure.

Импорт данных с использованием ODBC-соединений с нестандартными базами данных В некоторых организациях могут использоваться уникальные нестандартные системы баз данных, которые не имеют большой популярности. По этой причине стандартный доступ к ним в подменю Из базы данных команды Данные1^ Получить и преобразовать данные1^ Получить данные отсутствует. Однако не стоит беспокоить­ ся: если для подобной базы данных существует ODBC-драйвер или драйвер OLEDB, средство Power Query сможет установить подключение к ней.

932

Часть V. Использование инструментов Power Pivot и Power Query

На ленте приложения Excel выберите команду Данные1^ Получить и преобразовать данные1^ Получить данные^ Из других источников, и в открывшемся подменю вы уви­ дите перечень дополнительных типов подключений, поддерживаемых средством Power Query. Для подключения к нестандартной базе данных выберите в этом под­ меню команду Из ODBC, и это позволит начать процедуру подключения к требуемой системе баз данных с использованием средств ODBC.

Получение данных из других систем данных Помимо подключений ODBC, в подменю Данные1^ Получить и преобразовать данные1^ Получить данные^ Из других источников средство Power Query предо­ ставляет возможность подключения к другим типам систем хранения данных, как показано на рис. 38.20. Одни из этих систем хранения данных (SharePoint, Active Directory и Microsoft Exchange) являются до­ статочно популярными и широко используются во многих организациях для хранения данных, отслеживания возможности заключения сделок или управ­ ления сообщениями электронной почты. Другие си­ стемы, подобные каналам OData и файлам Hadoop, используются реже и предназначены для работы с очень большими объемами данных. В литературе на них часто ссылаются как на «большие данные» (Big Data). Что же касается команды Из Интернета (использование которой уже обсуждалось в начале этой главы), то она обеспечивает интегрированный тип подключения, предназначенный прежде всего для аналитиков, работающих с данными, поступаю­ Рис. 38.20. Прочие виды систем хранения данных, щими из Интернета. которые средство Power Query После выбора любой из команд в этом подменю может использовать как откроются соответствующие диалоговые окна, по­ источники данных зволяющие уточнить необходимые детали для вы­ бранного типа подключения. В этих диалоговых окнах пользователю нужно будет предоставить требуемые значения тех параметров, которые будут необходимы сред­ ству Power Query для осуществления подключения к указанному источнику данных. Это могут быть путь к файлу, URL-адрес, имя сервера, учетный данные и т.д. Для каждого типа подключения требуется собственный уникальный набор пара­ метров, поэтому все эти диалоговые окна будут отличаться друг от друга. К счастью, средству Power Query только в редких случаях потребуется больше полудюжины параметров, чтобы осуществить подключение к любому источнику данных, поэто­ му содержание всех этих диалоговых окон интуитивно понятно и работа в них не должна вызвать у вас каких-либо затруднений.

Глава 38. Что такое Power Query

933

Управление параметрами источников данных Каждый раз при подключении к источнику данных в Интернете или к такому ис­ точнику, который требует предоставления тех или иных учетных данных, средство Power Query кеширует (сохраняет) значения всех параметров подключения к этому источнику данных. Например, пусть было выполнено подключение к базе данных SQL Server и при этом были введены все необходимые учетные данные, а затем нужные данные опре­ делены и импортированы. В момент успешного завершения подключения средство Power Query сохранило всю информацию об этом подключении в файле, сохраненном на вашем локальном компьютере. Эта информация включает строку установки соеди­ нения с сервером базы данных, имя пользователя, пароль, личные настройки и т.д. Назначение этих сохраняемых данных простое: при повторном подключении к тому же источнику данных пользователю уже не придется заново вводить свои учетные данные и всю прочую информацию, что в противном случае он вынуж­ ден был бы делать всякий раз при обновлении данных запроса. Это, безусловно, элегантное решение, но как следует поступить, если учетные данные пользователя изменятся? Очевидно, что соответствующие запросы просто не будут работать, пока ранее сохраненные данные не будут обновлены.

Редактирование параметров источников данных Чтобы отредактировать параметры подключения к источнику данных, на ленте приложения Excel выберите команду Данные1* Получить и преобразовать данные1* Получить данные1* Параметры источника данных. Откроется диалоговое окно Настройки источника данных, показанное на рис. 38.21. В нем содержится список всех соедине­ ний, требующих указания учетных данных и использовавшихся ранее в запросах. Выберите в этом окне тот источник данных, параметры которого следует изменить, и щелкните на кнопке Править разрешения…

Рис. 38.21. Чтобы отредактировать параметры источника данных, выберите его в этом окне и щелкните на кнопке Править разрешения

934

Часть V. Использование инструментов Power Pivot и Power Query

Откроется диалоговое окно Править разрешения, показанное на рис. 38.22, ко­ торое содержит параметры доступа к выбранному ранее источнику данных. В этом диалоговом окне можно изменить не только учетные параметры, но и другие пара­ метры конфиденциальности данных.

Рис. 38.22. Окно редактирования учетных параметров для выбранного источника данных

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

На заметну Средство Power Query сохраняет параметры доступа к источникам данных в файле, сохраня­ емом на вашем локальном компьютере. Несмотря на то что определенный запрос мог быть уже удален, параметры настройки доступа к соответствующему источнику данных все равно будут сохранены для возможного использования в будущем. Со временем это может при­ вести к ненужному разрастанию списка из старых и новых источников данных. Устаревшие и уже ненужные элементы можно удалить, выбрав их в списке источников данных в окне I Настройки источников данных, а затем щелкнув на кнопке Очистить разрешения.

Преобразование данных с использованием Power Query В ЭТОЙ ГЛАВЕ… Выполнение общих преобразований

Создание собственных столбцов

Типы данных в запросах Формулы в Power Query Применение условной логики

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

П

Чтобы самостоятельно повторить все примеры, приведенные в этой главе, восполь­ зуйтесь исходным файлом LeadList. txt, который можно загрузить с веб-сайта книги (www.wiley.com/go/excel2019bible). Для русскоязычного издания книги файл называется Реестр_компаний. txt. Загрузив исходный файл примеров на свой компьютер, создайте новую рабо­ чую книгу и импортируйте в нее этот файл с использованием средства Power Query. Для этого выберите на ленте приложения команду Данные^Получить

936

Часть V. Использование инструментов Power Pivot и Power Query и преобразовать данные^Получить данные^Из файла^Из текстового/CSV файла, а затем в открывшемся диалоговом окне Импорт данных укажите путь к файлу Реестр_компаний. txt и щелкните на кнопке Импорт. Далее, в от­ крывшемся окне Реестр компаний^ щелкните на кнопке Изменить, — откроет­ ся окно редактора Power Query, в котором и будут выполняться все последующие действия.

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

Удаление дублирующихся записей Наличие в данных дублирующихся записей очень сильно осложняет проведение их анализа. Эффект от наличия в данных дубликатов может оказаться весьма дале­ коидущим, искажающим значение почти каждого вычисленного показателя, итога или полученной аналитической оценки. Именно про этой причине поиск и удале­ ние дублирующихся записей должны быть первой и важнейшей задачей при полу­ чении нового набора данных. Прежде чем приступить к работе с набором данных с целью обнаружения в нем и последующего удаления дублирующихся записей, очень важно тщательно об­ думать, как именно будет определяться, что в записи действительно дублирует­ ся информация. Чтобы правильно оценить важность этого замечания, обратимся к рис. 39.1, на котором представлены 11 последних записей используемого нами файла примера. Как вы думаете, сколько из этих одиннадцати записей являются дублирующимися?

Рис. 39.1. Присутствуют ли в этой таблице дублирующиеся записи?

Это зависит от того, каким способом их определять

Глава 39. Преобразование данных с использованием Power Query

937

Если дублирующиеся записи на рис. 39.1 определять по значениям в столбце Sicкод, то на рисунке будет присутствовать 10 дубликатов. И действительно, во всех одиннадцати записях на этом рисунке значение этого поля одинаково, а значит, только одна, первая, запись будет содержать уникальное значение, а все осталь­ ные будут ее дубликатами. Если же расширить критерий определения дубликатов до двух полей, Sic-код и Почтовый код, то на рисунке будут присутствовать только две дублирующиеся записи, по одной с значениями почтового кода 77032 и 77040. И наконец, если к критерию добавить третье поле, Номер компании, то все одиннад­ цать записей, представленных на рисунке, станут уникальными, поскольку ни одна из них не содержит повторяющихся значений сразу в трех полях: Sic-код, Почтовый код и Номер компании. В этом примере показано, что наличие двух записей с одним и тем же значением в каком-либо столбце вовсе не означает, что эти записи являются дубликатами. Вам самим следует принимать решение, какой именно набор полей в записях исходных данных в наибольшей степени подходит для выявления дублирующихся строк в ис­ ходной информации. Как только будет принято решение в отношении того, какое поле или набор по­ лей в записях исходной информации обязательно должен содержать уникальные значения, удалить дублирующиеся записи будет очень легко — для этого достаточ­ но будет просто выбрать в окне редактора Power Query команду Удалить дубликаты. На рис. 39.2 приведен пример удаления дублирующихся записей на основании значений в трех столбцах. Еще раз подчеркнем важность правильного выбора столб­ цов, значения в которых будут определять дублирующиеся записи. В этом случае была выбрана комбинация из полей Адрес, Номер компании и Название компании. Сначала все три этих столбца были одновременно выделены, а затем, щелчком пра­ вой кнопкой мыши на этой выделенной области, было открыто контекстное меню, в котором и была выбрана команда Удалить дубликаты.

Рис. 39.2. Удаление дублирующихся записей

938

Часть V. Использование инструментов Power Pivot и Power Query

Внимание! Команда Удалить дубликаты при выполнении ищет уникальные значения в выделенных столбцах, а затем удаляет все записи, которые следует удалить, чтобы получить список только из уникальных значений. Если перед выполнением команды Удалить дубликаты был выбран только один стол­ бец, то только этот столбец и будет использоваться для построения списка уникальных значений. Такое решение, без сомнения, может привести к удалению слишком большого количества за­ писей, некоторые из которых на самом деле могут и не являться дубликатами других. Исходя из этих соображений, всегда важно убедиться, что перед выбором этой команды были выделены все ^столбцы, на основании которых можно выявить действительно дублирующиеся строки. Если вы совершили ошибку и удалили дубликаты записей на основании значе­ ний в неправильно выбранном наборе столбцов, это всегда можно будет исправить. В вашем распоряжении имеется панель задач Параметры запроса, позволяющая отменить выполнение любого этапа. В данном случае щелкните правой кнопкой мыши на строке этапа Удаленные дубликаты и выберите в открывшемся контекстном меню команду Удалить, как показано на рис. 39.3.

Рис. 39.3. Отмена команды удаления дубликатов

записей посредством удаления на панели Параметры запроса этапа Удаленные дубликаты

Совет

На экране отсутствует панель задач Параметры запроса? Чтобы открыть ее в окне редактора запросов Power Query, выберите на ленте команду Просмотр^Параметры запроса.

Глава 39. Преобразование данных с использованием Power Query

939

Заполнение пустых полей Очень важно понимать, что в действительности существует два типа пустых зна­ чений полей: null и пустая строка. По своей сущности значение null представляет цифровое пустое значение, тогда как пустая строка является эквивалентом ввода в ячейку двух идущих подряд символов кавычек («»). Пустые поля — это не всегда плохо, но слишком большое количество присут­ ствующих в данных пустых полей может привести к неожиданным проблемам, ког­ да эти данные будут использованы для проведения анализа. Это ваша задача — принять решение, сохранить пустые поля в наборе данных или заполнить их каким-либо конкретным значением. Перед тем как принять по­ добное решение, примите во внимание следующие рекомендации.

Избегайте присутствия множества пустых значений в записях. Работать с набором данных гораздо проще, если не требуется постоянно проверять за­ писи на наличие в них пустых полей.

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

Не допускайте присутствия в числовых полях значений null. Значения null следует заменить нулями во всех столбцах, содержащих денежные или число­ вые значения, которые могут использоваться в вычислениях.

В окне редактора Power Query в ячейках тех числовых полей, в которых значение отсутствует, выводится слово null, поэтому заменить пустые значения чем-то иным очень просто. Щелкните на заголовке выбранного столбца (или столбцов) правой кнопкой мыши и выберите в открывшемся контекстном меню команду Замена значений. Откроется диалоговое окно Замена значений, показанное на рис. 39.4. Самый важный момент в этом случае — ввести в поле Значение для поиска слово null. В поле Заменить на можно ввести любое значение, которым, по вашему мне­ нию, следует заполнить пустые ячейки в выбранных столбцах. В нашем примере для этой цели используется значение 0.

Рис. 39.4. Замена пустых значений

940

Часть V. Использование инструментов Power Pivot и Power Query

Заполнение пустых строк Также хорошей практикой можно считать во всех случаях, когда это возмож­ но, заменять пустые строки в текстовых полях некоторым условным значением. Допустим, например, что на рис. 39.5 в любой записи, содержащей пустую строку в поле Должность конт. лица, следует заменить ее условным значением Неизвестно. Чтобы сделать это, достаточно щелкнуть правой кнопкой мыши на заголовке столбца Должность конт. лица и выбрать в открывшемся контекстном меню команду Замена значений. В открывшемся одноименном окне достаточно ввести в поле Заменить на значение Неизвестно. Поскольку наше намерение состоит в замене этим зна­ чением пустых строк, в поле Значение для поиска ничего вводить не требуется. Для завершения операции осталось лишь щелкнуть на кнопке ОК.

Рис. 39.5. Замена пустой строки словом Неизвестно

Совет

Если потребуется заново настроить или откорректировать этап, на котором выполнялась за­ мена значений, можно вновь вывести диалоговое окно Замена значений на экран, щелкнув на пиктограмме шестеренки ( ) справа в строке данного этапа на панели задач Параметры запроса. Это замечание справедливо практически для любого действия, для выполнения ко­ торого нужно открыть диалоговое окно. Просто щелкните на пиктограмме шестеренки требу­ емого этапа, и будет открыто диалоговое окно, соответствующее выполняемым на этом этапе ^действиям.________________________________________________________________________________________________________

Объединение столбцов В редакторе Power Query очень просто осуществить конкатенацию (объедине­ ние) значений в двух и более столбцах, — для этой цели предназначена коман­ да Объединить столбцы. При выполнении эта команда объединяет значения двух и более предварительно выбранных полей и выводит полученное значение в новый

Глава 39. Преобразование данных с использованием Power Query

941

столбец. Как видите, все очень просто. Выделите столбцы, значения которых требу­ ется объединить, а затем щелкните на выделенной области правой кнопкой мыши и выберите в открывшемся контекстном меню команду Объединить столбцы, как по­ казано на рис. 39.6.

Рис. 39.6. Слияние столбцов Тип и Код

В результате откроется диалоговое окно Объединить столбцы, показанное на рис. 39.7. Здесь имеется возможность выбрать символ, который будет использо­ ваться как разделитель значений отдельных сливаемых полей. В раскрывающем­ ся списке Разделитель присутствуют стандартные значения, часто используемые для таких целей, — запятая, точка с запятой, пробел и т.д. В нашем примере в этом списке был выбран особый вариант, -Пользовательский-, который позволяет ввес­ ти в поле ввода ниже любой желаемый символ или группу символов. Кроме того, в этом окне можно переименовать вновь создаваемый столбец с объединенными значениями, присвоив ему желаемое имя.

Рис. 39.7. Диалоговое окно Объединить столбцы

942

Часть V. Использование инструментов Power Pivot и Power Query

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

Рис. 39.8. Исходные столбцы удалены и заменены

новым столбцом с объединенными значениями Это очень удобно, но, как вы, должно быть, заметили, средство Power Query ав­ томатически удалило исходные столбцы Тип и Код. Однако иногда могут быть и та­ кие ситуации, когда потребуется объединить значения исходных столбцов в новом столбце, но при этом сохранить и сами эти исходные столбцы. В таких случаях решением будет создание пользовательских настраиваемых столбцов, подробнее о которых речь идет ниже в этой главе, — вы узнаете, как использовать такие столб­ цы для решения этой и других проблем, связанных с преобразованием данных.

Изменение регистра текстовых значений Проверка того, что текстовые значения в исходных данных представлены в тре­ буемом регистре, может показаться задачей тривиальной, однако это может быть очень важно. Представьте, что к вам поступила таблица с данными о клиентах, в ко­ торой содержимое поля адреса введено строчными буквами. Подумайте, как этот текст будет выглядеть на конвертах, в письмах или накладных. К счастью, средство Power Query предоставляет в ваше распоряжение несколько встроенных функций, которые могут упростить задачу приведения регистра текстовых данных к требуе­ мому виду. Например, поле Контактное лицо содержит имена, которые записаны прописны­ ми буквами (рис. 39.9). Чтобы привести эти значения к более приемлемому виду, щелкните на заголовке этого столбца правой кнопкой мыши и выберите в открыв­ шемся контекстном меню команду Преобразование ^Каждое Слово С Прописной.

Поиск и замена текстовых значений Представим, что вы работаете в компании с названием BLVD, Inc. В один прекрас­ ный день руководитель этой компании извещает вас, что аббревиатура blvd во всех адресах теперь считается нарушением торговой марки компании и должна быть за­ менена словом Boulevard настолько быстро, насколько это возможно. Как вы пред­ ставляете свои действия в отношении выполнения этого требования?

Глава 39. Преобразование данных с использованием Power Query

943

Рис. 39.9. Переформатирование регистра букв в значениях в поле Контактное лицо

В ситуациях, подобной этой, самым подходящим решением будет воспользовать­ ся функцией Замена значений. Выберите столбец Адрес, а затем на ленте редак­ тора Power Query выберите команду Главная^Преобразование^Замена значений. Откроется диалоговое окно Замена значений, показанное на рис. 39.10. В этом окне просто введите соответствующие значения в поля Значение для поиска и Заменить на, а затем щелкните на кнопке ОК.

Рис. 39.10. Замена текстовых значений

Обратите внимание, что если щелкнуть на кнопке Расширенные параметры, то в окне появятся еще два необязательных параметра, назначение которых кратко описывается ниже.

944

Часть V. Использование инструментов Power Pivot и Power Query

Ячейка целиком.

Если установить этот флажок, то Power Query будет замещать значения только в тех полях, в которых содержимое всего поля в точности совпа­ дает со значением, заданным в поле Значение для поиска. Этот режим, например, может быть полезен в тех случаях, когда требуется заменить нули (0) пустым значением, но при этом оставить без изменения все цифры 0, которые являются лишь одной из цифр в записи числового значения, — иначе говоря, замене под­ лежат только те цифры 0, которые являются единственным символом в ячейке.

Заменить с использованием специальных символов.

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

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

Рис. 39.11. Наличие ведущих пробелов может вызвать проблемы при проведении анализа

Если на основании этих данных необходимо получить сумму потенциального дохода по штатам Калифорния, Висконсин, Техас и так далее, то из-за наличия ве­ дущих пробелов в значениях поля Штат строки для каждого штата (за исключением штата Массачусетс) будут разбиты на две группы: с ведущими пробелами и без них. А это означает, что полученные итоги будут неверны. Удалить в текстовых значениях ведущие и конечные пробелы очень просто: достаточно воспользоваться соответствующей командой в окне редактора Power Query. На рис. 39.12 представлено, как можно обновить значения в поле Штат,

Глава 39. Преобразование данных с использованием Power Query

945

устранив в его значениях ведущие и конечные пробелы: щелкните на его заголов­ ке правой кнопкой мыши и выберите в открывшемся контекстном меню команду Преобразование^Усечь.

Рис. 39.12. Использование команды Усечь

Следует напомнить, что в этом случае команда Усечь будет применена сразу ко всем значениям в одном или нескольких выделенных столбцах. Поэтому за одну операцию можно очистить значения сразу во всех требуемых столбцах, просто вы­ делив их все перед тем, как выбрать команду Усечь. На рис. 39.12 также присутствует команда Очистить (под командой Усечь). Команда Усечь удаляет ведущие и конечные пробелы, тогда как команда Очистить удаляет из значений любые неотображаемые символы, такие как символы возвра­ та каретки, перевода строки и прочие подобные символы, которые могли попасть в текстовые значения при извлечении данных из внешних источников. В програм­ ме Excel такие символы обычно замещаются знаком вопроса или квадратиками, но в окнах Power Query они отображаются в виде пробелов. Если та система, из которой извлекаются данные, имеет неприятное свойство вставлять в эти данные странные символы или ведущие/замыкающие пробелы, про­ сто воспользуйтесь командами Усечь и Очистить для предварительной очистки из­ влекаемых из нее данных.

На

заметку

Возможно, вы уже знаете, что приложение Excel предлагает функцию сжпробелы, которая обеспечивает удаление ведущих, замыкающих, а также повторяющихся пробелов в текстовом значении, переданном ей в качестве аргумента. В Power Query функция Усечь удаляет только ведущие и конечные пробелы, не анализируя наличие пробелов внутри самого текстового значения. Если наличие повторяющихся пробелов в текстовых данных может иметь значение при обработке данных, воспользуйтесь командой Замена значений для замены указанного количества пробелов одним пробелом.

946

Часть V. Использование инструментов Power Pivot и Power Query

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

символьного значения, начиная с различных позиций. •

Функция ЛЕВСИМВ возвращает указанное количество символов, начиная с крайнего слева символа заданного символьного значения. Обязательные аргументы, которые необходимо передать функции, включают само символь­ ное значение и количество возвращаемых символов. Например, функция левсимв («70056-3504», 5) вернет пять символов, начиная с крайнего слева символа указанной строки, т.е. 70056.

Функция правсимв возвращает указанное количество символов, начиная с крайнего справа символа заданного символьного значения. Обязательные аргументы, которые необходимо передать функции ПРАВСИМВ, включают само символьное значение и количество возвращаемых символов. Например, функ­ ция правсимв («Microsoft», 4) вернет четыре символа, начиная с крайнего справа символа указанной строки, т.е. soft.

Функция ПСТР возвращает указанное количество символов, начиная с заданно­ го символа анализируемого символьного значения. Обязательные аргументы, которые необходимо передать функции ПСТР, включают само символьное зна­ чение, начальную позицию и количество возвращаемых символов. Например, функция ПСТР («Lonely» ,2,3) вернет три символа, начиная со второго сим­ вола указанной строки, т.е. one.

Средство Power Query предлагает эквивалентные функции, доступные на лен­ те редактора Power Query в подменю команды Преобразование^Столбец “Текст” Извлечь, как показано на рис. 39.13.

Рис. 39.13. В подменю номанды Извлечь доступны инструменты, позволяющие выделить требуемую часть текстового значения в столбце

Глава 39. Преобразование данных с использованием Power Query

947

Инструменты в подменю команды Извлечь позволяют выполнить следующие опе­ рации. Длина. Текстовые значения в указанном столбце преобразуются в числовые, представляющие количество символов. (Эквивалент функции ДЛСТР в Excel.)

Первые символы. В текстовых значениях в каждой строке указанного столбца оставляется только заданное количество их начальных символов. (Эквивалент функции левсимв в Excel.) Последние символы. В текстовых значениях в каждой строке указанного столб­ ца оставляется только заданное количество их конечных символов. (Эквивалент функции ПРАВСИМВ в Excel.) Диапазон. В текстовых значениях в каждой строке указанного столбца остав­ ляется только заданное количество символов, начиная с указанной символьной позиции. (Эквивалент функции пстр в Excel.) Текст перед разделителем. В текстовых значениях в каждой строке указанного столбца оставляются только символы, стоящие перед заданным разделителем.

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

На

заметку

При применении к столбцу команд из подменю Извлечь содержащиеся в нем исходные тек­ стовые значения заменяются результатами выполнения указанной операции. Иначе говоря, после применения этих команд исходные значения уже больше не будут видны в таблице. По этой причине имеет смысл предварительно скопировать исходный текстовый столбец и при­ менить команду извлечения к копии. Чтобы создать копию столбца, щелкните правой кнопкой мыши на его заголовке и выберите в открывшемся контекстном меню команду Создать дубликат столбца. Копия столбца будет добавлена в конец таблицы (крайний справа столбец).

Извлечение первых и последних символов Чтобы извлечь из текстового значения первые N символов, выделите требуемый столбец и выберите на ленте редактора Power Query команду Преобразование^ Столбец “Текст^Извлечь^Первые символы. Откроется диалоговое окно Извлечь первые символы, показанное на рис. 39.14, — в нем необходимо указать количество оставляемых в значениях первых символов. В примере на рис. 39.14 из значений в поле Телефон извлекается три первых символа.

948

Часть V. Использование инструментов Power Pivot и Power Query

Рис. 39.14. Извлечение первых трех символов в поле Телефон

Чтобы извлечь из текстового значения последние N символов, выделите требу­ емый столбец и выберите на ленте редактора Power Query команду Преобразованием Столбец “Текст» =>Извлечь1^Последние символы. Откроется диалоговое окно Извлечь последние символы, в котором необходимо будет указать количество оставляемых в значениях последних символов.

Извлечение символов из середины текстового значения Чтобы извлечь из середины текстового значения строку из N символов, вы­ делите требуемый столбец и выберите на ленте редактора Power Query команду ПреобразованиеМСтолбец “Текст” мИзвлечьМДиапазон. Откроется диалоговое окно Диапазон извлекаемого текста, показанное на рис. 39.15.

Рис. 39.15. Извлечение двух средних символов в поле Sic-код

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

Глава 39. Преобразование данных с использованием Power Query

949

значения 2 (т.е. извлекается два символа, начиная со второго). Именно эта ситуа­ ция представлена на рис. 39.15.

Разделение столбцов с использованием маркерных символов Приходилось ли вам иметь дело с набором данных, в котором два или бо­ лее отдельных элементов данных помещены в одно поле и разделены запятыми? Например, поле с именем Адрес может включать текстовые значения, представляю­ щие город, улицу, дом, почтовый индекс и т.д. В правильно организованном наборе данных все эти текстовые значения должны быть разнесены по отдельным полям. На рис. 39.16 показано, что значения в поле Контактное лицо представляют собой строки, включающие фамилию, имя и второй инициал. Предположим, нам требуется разделить это поле на три отдельных поля.

Рис. 39.16. Поле Контактное лицо с помощью команды Разделить столбец можно разделить на три отдельных столбца

Хотя в программе Excel решить эту задачу достаточно сложно, в редакторе Power Query такая задача легко решается с помощью команды Разделить столбец. Щелкните правой кнопкой мыши на заголовке требуемого столбца и выберите в от­ крывшемся контекстном меню команду Разделить столбец. Откроется подменю, со­ держащее несколько команд, часть из которых описана ниже.

По разделителю.

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

По количеству символов. Эта команда позволяет разделить значения столб­ ца на части, определяемые указанной длиной в символах. Этот вариант удобен для случаев, когда текстовые значения необходимо разделять на фрагменты фиксированной длины, начинающиеся с определенных позиций. В примере, показанном на рис. 39.16, данные о контактном лице включают фа­ милию, имя и инициал отчества, разделенные запятыми. Поэтому мы воспользуемся командой По разделителю. Итак, выделите столбец Контактное лицо, щелкните на его

950

Часть V. Использование инструментов Power Pivot и Power Query

заголовке правой кнопкой мыши и выберите в открывшемся контекстном меню ко­ манду Разделить столбец1^ По разделителю. Откроется диалоговое окно Разделить столбец по разделителю, показанное на рис. 39.17.

Рис. 39.17. Разделение столбца Контактное лицо по каждому вхождению символа запятой

В этом диалоговом окне необходимо задать следующие параметры.

Выберите или задайте разделитель. В этом раскрывающемся списке можно выбрать символ-разделитель, по которому будет выполняться разделение исход­ ного значения на элементы. Если предложенный список не содержит требуемо­ го символа, выберите в списке значение -Пользовательский- и укажите в поле ввода необходимый символ. Разделение по. Этот переключатель определяет, как редактор Power Query должен будет использовать найденные в текстовых значениях символы-разделители. Так, столбец можно разделять только по первому найденному в исходной строке сим­ волу-разделителю (положение Самый левый разделитель) либо только по послед­ нему найденному символу-разделителю (положение Самый правый разделитель). В обоих случаях исходный столбец будет разделен на два столбца. В последнем, третьем, положении переключатель определяет режим разделения исходного зна­ чения на части по каждому найденному в нем символу-разделителю.

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

Глава 39. Преобразование данных с использованием Power Query

951

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

Рис. 39.18. Значения в столбце Контактное лицо успешно разделены на три столбца

Развертывание свернутых столбцов Довольно часто приходится иметь дело с наборами данных, имеющими структу­ ру, подобную представленной на рис. 39.19. Здесь важные заголовки (в данном слу­ чае — месяцы) вынесены в верхнюю часть таблицы, где они играют двойную роль: собственно заголовков столбцов и одновременно конкретных значений данных. Подобная матричная структура очень удобна для просмотра на рабочем листе, но может вызывать проблемы при попытках проведения анализа приведенных в ней данных, предполагающего их агрегирование, группирование и т.д.

Рис. 39.19. Матричная структура организации данных

осложняет проведение их аналитической обработки

952

Часть V. Использование инструментов Power Pivot и Power Query

Надстройка Power Pivot предлагает простой способ свертывания и разверты­ вания столбцов, позволяя быстро преобразовать таблицы с матричной структурой в простые табличные наборы данных (и обратно). В окне редактора Power Query для подобных целей используется команда Отменить свертывание столбцов, предоставляющая возможность выбрать требуемые столбцы и преобразовать их в два столбца: один из них будет состоять из заголовков исходных столбцов, а другой будет содержать данные исходных столбцов. Рабочую книгу с этим примером можно найти в файле UnpivotExample.xlsx на веб-сайте книги (www. wiley. com/go/excel2019bible). Для русскоязычно­ го издания книги файл называется Pic39_19 .xlsx.

В нашем примере, представленном на рис. 39.19, столбцы для отдельных месяцев в окне редактора Power Query можно легко развернуть, выбрав двенадцать столб­ цов за 12 месяцев, щелкнув на выделенной области правой кнопкой мыши и вы­ брав в открывшемся контекстном меню команду Отменить свертывание столбцов. Полученная в результате таблица представлена на рис. 39.20. Обратите внимание, что названия месяцев теперь являются значениями в новом столбце, получившем название Атрибут, а значения сумм по месяцам теперь помещены в другой новый столбец, получивший название Значение. Безусловно, в дальнейшем эти столбцы можно будет переименовать, присвоив им любые желаемые названия, например Месяц и Доход.

Рис. 39.20. Теперь данные по каждому месяцу имеют табличный формат

Развертывание других свернутых столбцов Как бы ни была хороша команда Отменить свертывание столбцов, у нее все же есть один недостаток. В нашем примере этот недостаток проявляется в том, что необходи­ мо точно указать те месяцы, данные за которые требуется развернуть. Но что делать, если количество этих месяцев постоянно увеличивается? Как поступить, если вы уже развернули столбцы с января по июнь, но в последующие месяцы появляются сведе­ ния за июль, август, а потом и за сентябрь? Поскольку команда Отменить свертывание

Глава 39. Преобразование данных с использованием Power Query

953

столбцов требует четкого указания всех столбцов, информация в которых должна быть развернута, вам придется каждый раз отменять развертывание столбцов, а за­ тем вновь повторять его, увеличив обрабатываемый диапазон на один столбец (если, конечно, не воспользоваться командой Отменить свертывание других столбцов). Эта очень удобная команда позволяет развернуть столбцы, указав их иным образом: не­ обходимо выбрать те столбцы, которые должны остаться в неизменном состоянии, а редактор Power Query по этой команде развернет все остальные столбцы. В качестве примера на рис. 39.21 показано, что вместо столбцов по месяцам мож­ но выбрать столбцы Регион и Категория работ, а затем щелкнуть на выделенной об­ ласти правой кнопкой мыши и выбрать в открывшемся контекстном меню команду Отменить свертывание других столбцов. В результате при каждом выполнении за­ проса уже не будет иметь значения, сколько новых столбцов было добавлено (или удалено) в исходных данных, — запрос всегда будет обрабатывать всю матрицу, сколько бы столбцов в ней ни было.

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

используйте команду Отменить свертывание других столбцов

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

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

954

Часть V. Использование инструментов Power Pivot и Power Query

столбцов, и столбец, содержащий их значения, а затем на ленте редактора Power Query выберите команду Преобразование^Любой столбец^Столбец сведения, как показано на рис. 39.22.

Рис. 39.22. Свертывание столбцов Месяц и Доход

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

Рис. 39.23. Подтверждение выбора операции агрегирования

для завершения операции свертывания столбца Этот выбираемый по умолчанию способ агрегирования можно переопределить, выбрав другую функцию (Количество, Медиана, Минимум и т.д.). Также можно вы­ брать вариант, когда агрегирование значений вообще не выполняется. Для завер­ шения операции свертывания щелкните в этом окне на кнопке ОК.

Глава 39. Преобразование данных с использованием Power Query

955

Создание пользовательских столбцов В процессе преобразования данных в некоторых случаях может потребоваться добавить собственные столбцы для извлечения ключевых точек данных, добавле­ ния новых измерений или сохранения результатов собственных вычислений. Чтобы создать в результатах запроса новый столбец, на ленте редактора Power Query выберите команду Добавление столбца^Общие^Настраиваемый столбец (рис. 39.24). Откроется диалоговое окно Настраиваемый столбец.

Рис. 39.24. Добавление собственного столбца

Диалоговое окно Настраиваемый столбец, показанное на рис. 39.25, позволяет добавить к запросу некоторую собственную функциональность посредством зада­ ния формул редактора Power Query. При добавлении нового настраиваемого столб­ ца не будет выполняться никаких действий, пока не будет задана некоторая форму­ ла, придающая ему определенную полезность.

Рис. 39.25. Диалоговое окно Настраиваемый столбец

В диалоговом окне Настраиваемый столбец относительно немного элементов управления. Здесь есть следующие поля ввода.

Имя нового столбца. В этом поле ввода следует указать имя, которое будет при­ своено создаваемому столбцу.

956

Часть V. Использование инструментов Power Pivot и Power Query

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

Пользовательская формула столбца. В этом поле ввода записывается формула, согласно которой будут вычисляться значения в создаваемом столбце. Как и в программе Excel, эта формула может быть как предельно простой, напри­ мер =1, так и достаточно сложной, как, например, оператор if, в котором использу­ ется некоторая логика проверки условий. В следующих разделах будут рассмотре­ ны несколько примеров создания пользовательских настраиваемых столбцов, по­ ясняющих, как с помощью данного диалогового окна в создаваемых вами запросах можно выйти за пределы функциональности, обеспечиваемой пользовательским интерфейсом редактора Power Query. Однако, прежде чем перейти к построению формул редактора Power Query, очень важно понять различия, существующие между формулами приложения Excel и фор­ мулами средства Power Query. Ниже приводится несколько наиболее значительных различий, которые вы всегда должны учитывать.

Отсутствие ссылок на ячейки. Нет возможности выйти за пределы окна Настраиваемый столбец, чтобы выбрать мышью требуемый диапазон ячеек. Формулы средства Power Query работают исключительно со столбцами в це­ лом, а не с их отдельными ячейками.

Функции приложения Excel здесь не работают. Любые функции приложе­ ния Excel, которые вы попробуете использовать в редакторе Power Query, ра­ ботать не будут. В Power Query имеется множество функций, выполняющих те же операции, что и функции Excel, но для записи формул здесь использу­ ется собственный язык.

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

Тип данных имеет значение. Одни поля являются текстовыми, а другие — числовыми, даже если в них представлены даты. Приложение Excel прекрасно справляется с формулами, в которых смешиваются различные типы данных. В средстве Power Query язык формул очень чувствителен к типам данных. Он не обеспечивает необходимой встроенной функциональности, чтобы эле­ гантно и безошибочно осуществлять преобразование типов данных. Любые проблемы, связанные с типами данных, должны решаться вашими силами с использованием встроенных функций преобразования, которые будут под­ робнее обсуждаться ниже в этой главе.

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

Глава 39. Преобразование данных с использованием Power Query

957

доступных команд и пунктов контекстных меню, отображаемых в процессе ввода формулы. Средство Power Query не имеет такой функциональности. Практически все, что вы сможете узнать о формулах в Power Query, доступно в окне Настраиваемый столбец по ссылке Сведения о формулах Power Query. Эта ссылка ведет на специализированный сайт компании Microsoft, посвя­ щенный средству Power Query.

Однако все не так страшно, как может показаться с первого взгляда.

Конкатенация исходных столбцов в настраиваемый пользовательский столбец Выше в этой главе уже говорилось, как можно выполнить объединение (конкате­ нацию) значений из двух и более столбцов, воспользовавшись командой Объединить столбцы. Хотя пользоваться командой Объединить столбцы очень просто, одним из результатов ее выполнения является удаление из запроса исходных объединяемых столбцов. Однако вам непременно встретятся ситуации, когда будет необходимо не только получить новый столбец с объединенными значениями, но и сохранить в за­ просе исходные столбцы. В подобных обстоятельствах можно создать собственный настраиваемый стол­ бец. Возвращаясь к примеру, обсуждавшемуся в начале этой главы, попробуем объ­ единить столбцы Тип и Код. Для этого выполните следующие действия. 1. Откройте окно редактора Power Query и выберите на его ленте команду Добавление столбца ^Общие1^ Настраиваемый столбец. Откроется диало­ говое окно Настриваемый столбец. 2. В этом окне поместите курсор ввода в поле Пользовательская формула столбца, сразу после знака равенства. 3. В списке Доступные столбцы найдите столбец Тип и дважды щелкните на нем. В поле ввода формулы после знака равенства появятся символы [ Тип ].

4. Сразу после символов [Тип] введите выражение Это выражение не­ обходимо для того, чтобы в создаваемом пользовательском столбце значения из двух исходных столбцов были разделены дефисом. 5. Далее введите выражение Number. ToText (). Эта функция Power Query при выполнении запроса будет автоматически преобразовывать числовые значе­ ния в исходном столбце в текстовый формат, что позволит использовать их при формировании текстовых значений в новом столбце. Обратите внима­ ние: в нашем примере в поле Код находятся числовые значения, поэтому их необходимо предварительно преобразовать в текст, чтобы затем объединить с текстовыми значениями в столбце Тип. Подробнее о преобразовании дан­ ных речь пойдет чуть ниже. 6. В поле ввода формулы поместите курсор ввода между скобками в выра­ жении Number. ToText (), а затем в списке Доступные столбцы найдите столбец Код и дважды щелкните на нем. Между скобками будет вставлено выражение [Код].

958

Часть V. Использование инструментов Power Pivot и Power Query

7. В поле Имя нового столбца введите Тип и Код. На этом этапе диалоговое окно Настраиваемый столбец должно выглядеть так, как показано на рис. 39.26. Обратите внимание на сообщение в нижней ча­ сти окна: Синтаксические ошибки не обнаружены. Каждый раз, создавая в этом окне новую или редактируя существующую формулу, не забывайте следить, чтобы данное сообщение имело именно такой вид, информируя вас о том, что ошибок в этой формуле не обнаружено.

Рис. 39.26. Готовая формула для слияния значений в столбцах Тип и Код

8. Щелкните на кнопке ОК, чтобы добавить в запрос новый столбец. Если все было выполнено правильно, на панели Запросы появится новый столбец Тип и Код, содержащий объединенные значения из исходных столбцов, при этом сами исходные столбцы также будут сохранены в запросе. Выполняя этот пример, вы познакомились с базовыми принципами построения и работы формул средства Power Query.

Преобразование типов данных Работая с формулами в Power Query, вам неизбежно потребуется выполнять те или иные действия с полями, содержащими данные разных типов. Чтобы убедиться в этом, достаточно вернуться к примеру в предыдущем разделе, где выполнялось слияние столбца Тип, содержащего текстовые данные, со столбцом Код, данные в ко­ тором имеют числовой тип. В результате к значениям в поле Код потребовалось применить функцию преобразования типа, чтобы при дальнейшей обработке эти данные можно было воспринимать как текстовые. Назначение функций преобразования типа в точности соответствует их на­ званию — они просто преобразуют данные из одного типа в другой. В табл. 39.1 перечислены основные функции преобразования типа в Power Query. Как было

Глава 39. Преобразование данных с использованием Power Query

959

продемонстрировано в предыдущем примере, в создаваемых формулах те столбцы, значения в которых необходимо преобразовать, просто вкладываются в эти функции: Number.ToText([Имя_столбца])

Таблица 39.1. Основные функции преобразования типа Исходный тип

Результат

Дата

Функция

Текст

Date.ToText ()

Время

Текст

Time.ToText()

Число

Текст

Number.ToText()

Текст

Число

Number.FromText()

Даты текстом

Дата

Date.FromText()

Даты числом

Дата

Date.From()

Осталось лишь еще раз напомнить, что вы всегда должны точно знать тип дан­ ных любых столбцов, используемых в формулах Power Query. Только в этом случае можно будет безошибочно выбрать используемую функцию преобразования типа. Чтобы выяснить и в случае необходимости сразу же преобразовать тип данных любого столбца, поместите в него указатель мыши и на ленте редактора Power Query выберите в раскрывающемся списке Преобразование^Любой столбец^Тип данных: текущий тип значение, определяющее тот тип данных, который этот столбец должен будет иметь, как показано на рис. 39.27. (Здесь элемент текущий тип определяет тот тип данных, который выбранный столбец имеет в данный момент.)

Рис. 39.27. Раскрывающийся список Тип данных можно использовать

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

Тонкая настройка пользовательских столбцов с помощью функций Уже имеющихся у вас базовых представлений о назначении и использовании функций Power Query будет вполне достаточно для описания и успешной реализации

960

Часть V. Использование инструментов Power Pivot и Power Query

таких преобразований данных в запросе, которые невозможно выполнить стандарт­ ными средствами, доступными в окне редактора Power Query. В следующем примере будет создан пользовательский столбец, в котором числовые значения будут допи­ сываться нулями. В реальности часто встречаются ситуации, когда значения в некотором ключе­ вом поле должны иметь фиксированную длину, т.е. строго заданное количество символов, с целью обеспечить возможность взаимодействия с периферийными платформами, такими как хранилище данных ADP или система SAP. Для примера предположим, что номер компании должен иметь длину 10 символов, а если длина некоторого значения меньше, то слева к нему добавляется необходимое количество ведущих нулей, дополняющее длину значения до 10 символов. Используемый в данном примере прием состоит в добавлении ко всем без ис­ ключения значениям в столбце номера компании 10 ведущих нулей, независимо от текущего размера значения, с последующей передачей этого промежуточного результата функции, подобной функции Excel ПРАВСИМВ, которая оставит в нем лишь десять правых символов. Так, если код компании — 29875764, то сначала это значение преобразуется в 000000000029875764, а затем передается функции, которая обрезает его до десяти символов справа, давая на выходе значение 0029875764. Хотя подобное преобразование по своей сути происходит в два этапа, для ре­ шения поставленной задачи нам будет достаточно всего одного пользовательского столбца. Итак, вот что необходимо выполнить. 1. Откройте окно редактора Power Query и выберите на его ленте команду Добавление столбца^Общие^Настраиваемый столбец. Откроется диало­ говое окно Настриваемый столбец. 2. В этом окне поместите курсор ввода в поле Пользовательская формула столбца, сразу после знака равенства. 3. Введите 10 нулей, взяв их в кавычки («0000000000 «), а затем знак ампер­ санда (&).

4. Далее введите выражение Number. ToText (). (Конечная точка не требуется.)

5. В поле ввода формулы поместите курсор ввода между скобками в выра­ жении Number.ToText(), а затем в списке Доступные столбцы найдите столбец Номер компании и дважды щелкните на нем. Между скобками бу­

дет вставлено выражение [Номер компании] 6. На этот момент в поле ввода формулы должно присутствовать следующее вы­ ражение: = ”0000000000’’&Number.ToText ([Номер компании] )

Этаформулаобеспечиваеттолько конкатенацию Юнулейстекстовым представ­ лением значений в столбце Номер компании. Теперь необходимо пойти дальше и извлечь из полученных строковых значений десять крайних справа символов. Нам уже известно, что функция ПРАВСИМВ — это функция Excel и она не бу­ дет работать в запросах Power Query. Однако в Power Query есть эквивалент этой функции, который имеет название Text. End (). Как и в случае функции

Глава 39. Преобразование данных с использованием Power Query

961

Excel ПРАВСИМВ, функция Text.End требует передачи нескольких параме­ тров: исходного текстового значения и количества извлекаемых из него сим­ волов, например: Text.End([MyText],

10)

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

7. В поле ввода формулы перед уже существующим текстом формулы, сразу после знака равенства, ведите выражение Text. End (, а затем введите вы­ ражение , 10) сразу после уже имеющегося текста формулы. В результате формула должна приобрести следующий вид: Text.End(«0000000000″&Number.ToText([Номер компании]),10)

8. В поле Имя нового столбца введите Полный код компании» На этом этапе диалоговое окно Настраиваемый столбец должно выглядеть так, как показано на рис. 39.28. И вновь убедитесь, что сообщение в нижней части окна имеет вид Синтаксические ошибки не обнаружены.

Формула для дополнения значения кода компании ведущими нулями до общей длины в 10 символов

Рис. 39.28.

9. Щелкните на кнопке ОК, чтобы добавить в запрос новый столбец.

В табл. 39.2 представлены некоторые функции средства Power Query, которые могут быть вам полезны для расширения функциональных возможностей создава­ емых пользовательских столбцов. Внимательно ознакомьтесь с этим списком и об­ ратите внимание на то, как эти функции отличаются от эквивалентных им функций приложения Excel. Не забывайте, что в Power Query названия функций должны вво­ диться обязательно с использованием правильного регистра букв.

962

Часть V. Использование инструментов Power Pivot и Power Query

Таблица 39.2. Полезные функций преобразования Power Query Функция Excel

Функция Power Query

ЛЕВСИМВ([текст], [количество]) ПРАВСИМВ)[текст], [количество]) ПСТР([текст],[начальная позиция] f [количество]) НАЙТИ([искомое

Text.Start([текст], [количество]) Text.End)[текст],[количество]) Text.Range([текст],[начальная позиция],[количество]) Text.PositionOf([просматриваемый текст], [искомое значение])+1 if [выражение] then [результат!] else [результат2] try [проверяемое значение] otherwise [возвращаемое значение

значение], [просматриваемый текст]) ЕСЛИ)[выражение],[результат!], [рез ультат2]) ЕСЛИОШИБКА)[проверяемое значение], [возвращаемое значение])

Добавление в пользовательские столбцы условной логики Как следует из таблицы 39.2, средство Power Query имеет встроенную функцию if (если). Эта функция предназначена для проверки условий и выполнения раз­ личных вариантов действий в зависимости от результата проверки. В этом разделе будет показано, как можно контролировать выводимые в пользовательский столбец значения с помощью функции i f средства Power Query. Как и в Excel, функция if Power Query проверяет выполнение заданного усло­ вия, а затем возвращает результат в зависимости от результата проверки: истина или ложь: if [выражение] then [результат!] else [результат2]

На заметку

В приложении Excel запятые в записи функции если можно рассматривать как эквиваленты операторов then и else. В функции if средства Power Query эти операторы присутствуют явно, а запятые не используются. Поэтому формула Excel lF(Babies=2, «Twins», «Not Twins») в Power Query может быть приведена к такому виду: if Babies equals 2 then «Twins» else «Not Twins».

Предположим, что необходимо создать новый столбец, содержащий характери­ стику клиента, исходя из его предполагаемого дохода в 2018 году. Если этот доход будет меньше 10 000, то в этот столбец следует поместить значение Мелкий, а если больше или равен — значение Крупный. Решить эту задачу можно с помощью един­ ственной приведенной ниже формулы, включающей функцию if. if [2018 Потенциальный доход]>=10000 then «Крупный» else «Мелкий»

Согласно этой формуле средство Power Query для каждой записи в запросе долж­ но оценить значение в столбце [2018 Потенциальный доход] и, если оно больше или равно 10000, поместить в новый столбец слово Крупный, а если нет — слово Мелкий. На рис. 39.29 представлено, как этот оператор if будет выглядеть в диалоговом окне Настраиваемый столбец.

Глава 39. Преобразование данных с использованием Power Query

Рис. 39.29.

963

Создание пользовательского столбца с использованием функции if

——————————————————————————————————————————————————— Л

Совет

В тексте формул средство Power Query игнорирует любые пробелы, не являющиеся частью текстовой строки, взятой в кавычки. Это означает, что в формулу можно добавить столько пробелов и символов перевода строки, сколько потребуется. На обработку формул в Power Query это не окажет никакого влияния, если, конечно, при записи были соблюдены требова­ ния синтаксиса и использован правильный регистр букв. На рис. 39.29 показано, как форму­ лу можно записать в несколько строк с очевидной целью — упростить ее чтение и понимание.

Группирование и агрегирование данных В некоторых случаях может потребоваться преобразовать исходный набор дан­ ных в компактные группы, чтобы свести его к разумному количеству строк, содержа­ щих уникальные значения. Также может потребоваться просуммировать отдельные числовые значения, чтобы получить общее представление о состоянии дел. В таком обобщенном состоянии исходные данные преобразуются в моментальный снимок предварительно сгруппированной информации, представляющей суммы, средние значения, количество строк и т.д. Для достижения этих целей средство Power Query предлагает инструмент Группировать по, позволяющий обобщать исходные данные и строить их агрегиро­ ванные представления. Откройте окно редактора Power Query и выберите на его ленте команду Преобразование^Таблица^Группировать по. Откроется диалоговое окно Группировать по, представленное на рис. 39.30.

964

Часть V. Использование инструментов Power Pivot и Power Query

Рис. 39.30. В диалоговом окне Группировать по задано суммирование потенциального дохода за 2018 год по значениям в столбцах Штат и Город В этом окне вам предоставляется возможность использовать режим Базовый для группирования только по одному столбцу либо режим Подробнее для группиро­ вания по нескольким столбцам. Чтобы подготовить суммирование данных по столб­ цам Город и Штат, как показано на рис. 39.30, выполните следующие действия. 1. Откройте окно редактора Power Query и выберите на его ленте команду Преобразование^Таблица^Группировать по. Откроется диалоговое окно Группировать по. 2. Установите верхний переключатель в положение Подробнее. В окне по­ явятся новые поля, необходимые для выполнения группирования по несколь­ ким столбцам.

3. В списке Группировка выберите первый столбец, по значениям в котором должно выполняться группирование исходных данных, а затем щелкни­ те на кнопке Добавление группирования, чтобы добавить второй столбец, по которому также следует проводить группирование. На рис. 39.30 соот­ ветственно быи выбраны столбцы Штат и Город. 4. В поле Имя нового столбца введите выбранное название для создавае­ мого столбца. В нашем примере для столбца было выбрано название 2018 Общий потенциальный доход.

5. В раскрывающемся списке Операция выберите требуемый способ обоб­ щения данных (доступные варианты — Сумма, Считать строки. Среднее, Мин., Макс, и т.д.). В примере на рис. 39.30 был выбран вариант Сумма.

Глава 39. Преобразование данных с использованием Power Query

965

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

7. Щелкните на кнопке ОК, чтобы завершить операцию и добавить в запрос новый столбец с агрегированными значениями. На рис. 39.31 представлен полученный результат.

Рис. 39.31.

Результат агрегирования данных по столбцам Штат и Город

На заметку

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

Глава

Организация совместной работы запросов В ЭТОЙ ГЛАВЕ… Повторное использование этапов запроса

Консолидация данных с использованием функции добавления

Типы объединения данных Использование функции объединения

нализ данных часто выполняется «послойно», в несколько уровней, при этом каждый очередной уровень анализа использует результаты предыдущего уровня или строится на его основе. Так, при построении сводной таблицы с ис­ пользованием результатов выполнения запроса Power Query фактически создается новый уровень анализа. Аналогично при построении запроса на основе таблицы, созданной с использованием представления в базе данных SQL Server, также созда­ ется новый уровень анализа данных. На практике часто встречается ситуация, когда для получения требуемых ре­ зультатов новые запросы необходимо создавать поверх других, уже существующих. Именно такие сценарии обсуждаются в этой главе. Вы познакомитесь с различны­ ми способами расширения возможностей анализа данных за счет организации со­ вместной работы одновременно нескольких запросов.

А

Повторное использование этапов запроса Широко распространенной практикой является проведение всех типов анализа на основании одной и той же главной таблицы данных. Даже совсем простая та­ блица, показанная на рис. 40.1, может быть использована для создания различных

968

Часть V. Использование инструментов Power Pivot и Power Query

представлений: реализация услуг по исполнителям, реализация услуг по сегмен­ там, реализация услуг по регионам и т.д.

Рис. 40.1. Эти данные могут быть использованы в качестве источника для проведения анализа с разным уровнем обобщения

Чтобы самостоятельно повторить пример, приведенный в этом разделе, восполь­ зуйтесь исходным файлом Sales By Employee, xlsx, который можно загрузить с веб-сайта книги (www.wiley.com/go/excel2019bible). Для русскоязычного издания книги файл называется Pic40 Ol.xlsx. Безусловно, всегда можно подготовить отдельные запросы, в каждом из кото­ рых будет использоваться собственный алгоритм группирования и агрегации дан­ ных. Но это одновременно будет означать и многократное повторение всех этапов очистки и преобразования исходных данных, которые необходимы для подготовки информации к проведению всех типов анализа. Чтобы лучше понять, что это означает на практике, уделите немного времени, чтобы выполнить следующие действия.

1. Откройте файл примера Pic40_01_yслуги.xlsx (Sales By Employee, xlsx).

2. Выделите в таблице любую ячейку, а затем выберите команду Данные1^ Получить и преобразовать данные^Получить данные^Из других источников^Из таблицы/диапазона. Откроется окно редактора Power Query, со­ держащее информацию, показанную на рис. 40.1. 3. В этом окне щелкните на кнопке фильтра ( ) в поле Район и в открыв­ шемся меню фильтра сбросьте флажок для значения Канада.

4. Выделите столбцы Фамилия и Имя, а затем щелкните на любом из этих за­ головков правой кнопкой мыши и выберите в открывшемся контекстном меню команду Объединить столбцы. Откроется диалоговое окно Объединить столбцы.

5. В этом окне создайте новый столбец Работник, объединив в нем значения из столбцов Фамилия и Имя через запятую. Как в этом случае должно вы­ глядеть диалоговое окно Объединить столбцы, показано на рис. 40.2.

Глава 40. Организация совместной работы запросов

969

Рис. 40.2. Слияние столбцов Фамилия и Имя в новый столбец Работник 6. На ленте в окне редактора Power Query выберите команду Преобразование^Таблица^Группировать по. Откроется одноименное диалоговое окно. Наша цель состоит в группировании записей по полю Работник с суммирова­ нием значений в поле Сумма оплаты. Вновь созданному столбцу присвойте имя Доход по работнику. На рис. 40.3 показано, как должно выглядеть диало­ говое окно Группировать по при создании нового столбца.

Рис. 40.3. Группирование по полю Работник с суммированием значений в поле Сумма оплаты с целью создания нового столбца Доход по работнику В конечном итоге мы получили представление, в котором показан общий до­ ход по каждому из работников. Как видно на рис. 40.4, запрос включает и все подготовительные этапы, выполненные до момента группирования данных.

970

Часть V. Использование инструментов Power Pivot и Power Query

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

Рис. 40.4.

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

Лучшим вариантом будет повторно выполнить предыдущие этапы и просто из­ влечь их в новый запрос. Идея состоит в том, чтобы сначала определить, какие именно этапы необходимо использовать повторно, а затем на панели Параметры запроса щелкнуть правой кнопкой мыши на том этапе, который находится не­ посредственно под выбранными. Так, в нашем примере (см. рис.40.4), нужно сохранить все этапы, вплоть до этапа Сгруппированные строки. 7. На панели Параметры запроса щелкните правой кнопкой мыши на этапе Сгруппированные строки и выберите в открывшемся контекстном меню команду Извлечь предыдущий. Откроется диалоговое окно Извлечение шагов, показанное на рис. 40.5.

8. В этом диалоговом окне в поле Имя нового запроса следует ввести имя, выбранное для вновь создаваемого запроса (в нашем примере это будет Доход_по_районам), а затем щелкнуть на кнопке ОК. После щелчка на кнопке ОК в диалоговом окне Извлечение шагов редактор Power Query выполнит два действия: сначала все извлекаемые этапы будут пере­ мещены из исходного запроса во вновь созданный, а затем исходный запрос бу­ дет связан с вновь созданным. Иначе говоря, оба запроса теперь будут совместно использовать первые несколько этапов, вплоть до этапа Сгруппированные строки в первом запросе.

Глава 40. Организация совместной работы запросов

Рис. 40.5.

971

Новому запросу присваивается имя Доход_по_районам

В окне редактора Power Query вновь созданный запрос Доход_по_районам теперь будет представлен на панели Запросы (рис. 40.6), расположенной в левой части этого окна. Обратите внимание, что на панели Параметры запроса видно, что но­ вый запрос Доход_по_районам не включает этап Сгруппированные строки. Редактор Power Query переместил в новый запрос только те этапы, которые были указаны для извлечения (т.е. все, расположенные выше этапа Сгруппированные строки).

Рис. 40.6.

Теперь два запроса совместно используют извлеченные этапы

Эта концепция извлечения этапов может показаться слегка запутанной. Тем не ме­ нее главное здесь то, что вместо того, чтобы начать создание нового запроса «с нуля», вы просто сообщаете редактору Power Query, что хотите создать новый запрос, в кото­ ром будут использоваться этапы, созданные вами ранее.

На заметку

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

972

Часть V. Использование инструментов Power Pivot и Power Query

Использование функции добавления данных Функция Добавление средства Power Query позволяет добавлять строки, сгене­ рированные в одном запросе, в результаты работы другого запроса. Иначе говоря, по сути, вам предоставляется возможность скопировать записи из одного запроса и добавить их в конец данных, полученных другим запросом. Функция добавления данных оказывается особенно удобной, если требуется консолидировать записи из нескольких идентичных таблиц в одну общую таблицу. Например, если у вас есть таблицы с данными, полученные из разных регионов — Север, Юг, Центр и Запад, — данные по всем этим регионам можно консолидировать в одну таблицу, воспользовавшись функцией Добавление. Чтобы лучше понять, как функция добавления записей работает, обратимся к конкретному примеру. Задача состоит в том, чтобы консолидировать в одну табли­ цу данные по четырем регионам, находящимся в четырех разных таблицах. Каждая из этих четырех таблиц содержит информацию по одному из регионов и находится на отдельном рабочем листе в файле рабочей книги, как показано на рис. 40.7.

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

Рис. 40.7.

Чтобы самостоятельно повторить пример, приведенный в этом разделе, восполь­ зуйтесь исходным файлом Appending_Data.xlsx, который можно загрузить с веб-сайта книги (www. wiley. com/go/excel2019bible). Для русскоязычного издания книги файл называется Pic4 0_07 .xlsx.

Глава 40. Организация совместной работы запросов

973

Создание необходимых базовых запросов Очень важно понимать, что функция Добавить может работать только с уже суще­ ствующими запросами. Иначе говоря, независимо от того, какой источник данных будет использоваться, в средстве Power Query должен быть реализован его импорт, прежде чем появится возможность воспользоваться его данными для добавления к результатам другого запроса. В нашем случае это означает, что предварительно следует создать собственный запрос на получение данных для каждой из четырех региональных таблиц. Для этого выполните следующее. 1. В окне программы Excel откройте рабочий лист Данные Север, щелкни­ те в таблице данных на любой ячейке, а затем выберите на ленте коман­ ду Данные1^ Получить и преобразовать данные^Получить данные^Из других источников1^ Из таблицы/диапазона. Откроется окно редактора Power Query, в котором на панели Запросы будет представлено содержи­ мое таблицы с данными северного региона. Чтобы завершить создание за­ проса, на ленте редактора следует выбрать одну из команд в меню кнопки Главная^Закрыть^Закрыть и загрузить.

В нашем случае, поскольку этот запрос создается исключительно для того, чтобы консолидировать его данные с другими запросами, не имеет смысла использовать команду Закрыть и загрузить, по которой эти данные будут по­ мещены в ту же рабочую книгу. Следовательно, в меню необходимо выбрать другую команду, Закрыть и загрузить в…, что позволит создать лишь подклю­ чение, без загрузки собственно данных. 2. Итак, на ленте в окне редактора Power Query выберите команду Главная1^ Закрыть1^ Закрыть и загрузить3акрыть и загрузить в… Откроется диало­ говое окно Импорт данных. 3. В диалоговом окне Импорт данных установите переключатель Выберите способ представления данных в книге в положение Только создать подключение и щелкните на кнопке ОК. Откроется панель задач Запросы и подключения, на которой будет представлен только что созданный запрос Данные_Север.

4. Повторите пп. 1-3 для всех остальных рабочих листов в этой книге.

Когда будут созданы запросы на подключение к данным по всем регионам, панель задач Запросы и подключения будет выглядеть так, как показано на рис. 40.8. (Если эта панель задач отсутствует на экране, выберите на лен­ те Excel команду Данные^Запросы и подключения^» Запросы и подключения.) Обратите внимание, что для каждого из четырех запросов указано, что он представляет собой только подключение. Теперь, когда для всех таблиц данных по регионам были созданы запросы на под­ ключение, можно перейти к процедуре добавления данных.

974

Часть V. Использование инструментов Power Pivot и Power Query

Создание запросов только на подключение к каждой из таблиц с данными по регионам

Рис. 40.8.

Добавление данных Чтобы добавить к запросу ДанныеСевер данные из всех остальных запросов, выполните следующее. 1. На панели задач Запросы и подключения щелкните правой кнопкой мыши на запросе Данные_Север и выберите в открывшемся контекстном меню команду Изменить. Откроется окно редактора Power Query. 2. На ленте в окне редактора Power Query выберите команду Главная ^Объединить^Добавить запросы ^Добавить запросы. Откроется диалоговое окно Добавление, показанное на рис. 40.9.

Рис. 40.9.

Добавление нескольких запросов к запросу Данные_Север

Глава 40. Организация совместной работы запросов

975

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

4. В списке слева выберите любой запрос, который следует добавить к исход­ ному, и щелкните на кнопке Добавить (между двумя списками). Имя этого запроса появится в списке справа.

5. Добавив в список Таблицы для добавления все требуемые запросы, щел­ кните на кнопке ОК. Откроется окно редактора Power Query, в котором можно будет проанализировать полученные результаты и при необходимости отре­ дактировать их. 6. Налейте в окне редактора Power Query выберите команду Главная1^ Закрытье Закрыть и загрузить. Окно редактора Power Query закроется. На этот момент запрос Данные_Север включает данные из всех четырех ре­ гионов, но он по-прежнему представляет собой только подключение. Чтобы увидеть консолидированную таблицу в окне Excel, необходимо изменить ста­ тус этого запроса и потребовать, чтобы в нем выполнялась загрузка данных, помещаемых на новый рабочий лист. 7. На панели задач Запросы и подключения щелкните правой кнопкой мыши на запросе Данные_Север и выберите в открывшемся контекстном меню команду Загрузить в… Откроется диалоговое окно Импорт данных. 8. В окне Импорт данных установите переключатель Выберите способ представления данных в книге в положение Таблица, а переключатель Куда следует поместить данные? в положение Новый лист и щелкните на кноп­ ке ОК. На рис. 40.10 представлен полученный результат (эта таблица отсо­ ртирована по полям Клиент/Регион). Как видите, нами была успешно создана консолидированная таблица данных по всем четырем регионам. Внимание!

На рис. 40.9 запрос Данные_Север изначально присутствует и в левом, и в правом списках. Следите за тем, чтобы случайно не поместить его в список справа еще раз. Если это случится, то этот запрос будет добавлен к самому себе, что автоматически приведет к дублированию его данных в конечной консолидированной таблице. Очевидно, что следует избегать добав­ ления запроса к самому себе, если, конечно, перед вами не была специально поставлена ^задача создания точных копий всех записей исходного запроса.

Часть V. Использование инструментов Power Pivot и Power Query

976

Рис. 40.10.

Результирующая консолидированная таблица данных по всем регионам

При добавлении одного запроса к другому средство Power Query прежде всего ана­ лизирует заголовки столбцов в каждом из запросов с целью получить полный их набор. Затем на выход передаются все названия столбцов, различающиеся между собой, а объединение данных из двух запросов осуществляется только в столбцах с совпадающими именами. Иначе говоря, заголовки столбцов запросов использу­ ются как информация о том, какие именно данные должны добавляться в каждый столбец. Если названия столбцов в запросах не совпадают, средство Power Query консоли­ дирует данные только для тех столбцов, имена которых совпадают, а во все осталь­ ные столбцы вместо добавляемой информации будут вставлены пустые (null) зна­ чения. Например, представим ситуацию, что в одном запросе присутствуют столбцы Регион и Доход, а в другом запросе столбцы имеют названия Регион и Сумма_продаж. В результате консолидации этих запросов будет получена таблица с тремя столб­ цами: Регион, Доход и Сумма_продаж. Данные из записей первого запроса будут выведены в столбцы Регион и Доход, а в столбце Сумма_продаж у них будут пустые значения. Для добавляемого запроса пустые значения окажутся в столбце Доход, а данные будут помещены в поля столбцов Регион и Сумма_продаж. В результате консолидированная таблица будет содержать множество пустых значений в обоих столбцах, Доход и Сумма_продаж. Подводя итог можно сказать, что при использовании функции Добавить следует внимательно следить за тем, чтобы имена соответствующих столбцов в консоли­ дируемых запросах строго совпадали. Только в этом случае средство Power Query может гарантировать корректное добавление данных одного запроса к данным

977

Глава 40. Организация совместной работы запросов

другого. Больше того, даже если столбцы в двух объединяемых запросах будут рас­ положены в разной последовательности, при добавлении данных второго запроса Power Query воспользуется названиями столбцов и поместит добавляемые дан­ ные в требуемые столбцы первого запроса.

Использование функции объединения запросов Часто возникает необходимость создать запрос, который будет объединять дан­ ные, полученные из двух разных таблиц. Например, может возникнуть потребность объединить данные из таблицы Работники с данными из таблицы Продажи, чтобы получить представление, содержащее сведения как о самих работниках, так и о со­ вершенных ими продажах. В этом разделе объясняется, как можно использовать функцию Объединить сред­ ства Power Query для объединения в одном запросе данных, полученных из не­ скольких других запросов.

Типы объединения данных в средстве Power Query Подобно функции ВПР в Excel, функция Объединить в Power Query позволяет объ­ единить данные из записей одного запроса с данными из записей другого, опреде­ лив их соответствие по некоторому уникальному идентификатору. Примером уни­ кального идентификатора может служить поле Ю клиента или Номер_накладной. Существует несколько различных способов объединения данных из двух набо­ ров. Используемый тип соединения очень важен, поскольку он определяет, какие именно записи будут взяты из результатов выполнения каждого запроса. Средство Power Query поддерживает шесть типов соединения. На рис. 40.11 при­ ведено упрощенное визуальное представление результатов выполнения каждого из них. Читая последующий материал этого раздела, вы можете обращаться к этому рисунку, чтобы лучше понять, что именно происходит.

Внешнее соединение слева

Внутреннее

Рис. 40.11.

Внешнее соединение справа

Анти-соединение слева

Полное внешнее

Анти-соединение справа

Типы соединения, поддерживаемые в Power Query

978

Часть V. Использование инструментов Power Pivot и Power Query

Внешнее соединение слева. При этом типе соединения Power Query возвра­ щает все записи из первого запроса, независимо от результатов сопоставления, и только те записи из второго запроса, которые имеют совпадающие значения в поле, по которому проводится объединение. Внешнее соединение справа. При этом типе соединения Power Query возвра­ щает все записи из второго запроса, независимо от результатов сопоставления, и только те записи из первого запроса, которые имеют совпадающие значения в поле, по которому проводится объединение. Полное соединение. При этом типе соединения Power Query возвращает все за­ писи из первого и второго запросов, независимо от результатов сопоставления значений в поле, по которому проводится объединение.

Внутреннее соединение. При этом типе соединения Power Query возвраща­ ет только те записи из обоих запросов, которые имеют совпадающие значения в поле, по которому проводится объединение. Анти-соединение слева. При этом типе соединения Power Query возвращает только те записи из первого запроса, которые не имеют совпадающих значений в поле, по которому проводится объединение, в записях второго запроса. Анти-соединение справа. При этом типе соединения Power Query возвращает только те записи из второго запроса, которые не имеют совпадающих значений в поле, по которому проводится объединение, в записях первого запроса.

Объединение запросов Чтобы лучше понять, как работает функция Объединение средства Power Query, рассмотрим конкретный пример. В этом примере выполняется слияние двух таблиц данных — с вопросами к респондентам некоторого опроса, и с ответами, предостав­ ленными этими респондентами.

Чтобы самостоятельно повторить пример, приведенный в этом разделе, восполь­ зуйтесь исходным файлом Merging_Data. xlsx, который можно загрузить с веб­ сайта книги (www.wiley.com/go/excel2019bible). Для русскоязычного из­ дания книги файл называется Pic4 0_12 .xlsx. Как можно видеть на рис. 40.12, в этой рабочей книге уже существует два запроса, представленные на панели задач Запросы и подключения: Вопросы и Ответы. Эти запро­ сы возвращают вопросы, заданные респондентам некоторого опроса, и ответы, предо­ ставленные этими респондентами. Цель выполняемого в этом примере объединения двух имеющихся запросов состоит в том, чтобы создать новую таблицу, в которой будут сопоставлены вопросы и ответы на них, предоставленные респондентами опроса.

На заметку

Функция Объединить может применяться только к уже существующим запросам. Иначе го­ воря, независимо от того, какой источник данных будет использоваться, в средстве Power Query должен быть реализован его импорт, прежде чем появится возможность объединить его результаты с результатами выполнения другого запроса.

Глава 40. Организация совместной работы запросов

979

Наша задача — слить в одну таблицу результаты этих двух запросов

Рис. 40.12.

Для решения поставленной задачи выполните следующее.

1. На ленте приложения Excel выберите команду Данные-Получить и пре­ образовать данные ^Получить данные ^Объединить запросы ^Объеди­ нить, как показано на рис. 40.13. Откроется диалоговое окно Слияние.

Рис. 40.13.

Вывод диалогового окна Слияние

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

980

Часть V. Использование инструментов Power Pivot и Power Query списке выбирается запрос Вопросы, а в нижнем — Ответы. Тогда полями, со­ держащими уникальные идентификаторы для каждой из записей, будут со­ ответственно пары Ю респондента и Ю_вопроса в первом запросе, Вопросы, и Ю_респондента и Ю_ответа — во втором запросе, Ответы.

Диалоговое окно Слияние с полностью подготовленными параметрами процедуры объединения запросов

Рис. 40.14.

2. В окне Слияние в верхнем раскрывающемся списке запросов выберите запрос Вопросы. 3. Нажмите клавишу , а затем щелкните на заголовках столбцов ID_ респондента и Ювопроса, причем именно в этом порядке. 4. В нижнем раскрывающемся списке запросов выберите запрос Ответы.

5. Нажмите клавишу , а затем щелкните на заголовках столбцов Ю_ респондента и Ю ответа, причем именно в этом порядке. 6. В раскрывающемся списке Тип соединения выберите тот тип соедине­ ния, который вам будет нужен для объединения результатов запросов. В нашем примере можно оставить вариант, принимаемый по умолчанию, — Внешнее соединение слева.

7. Щелкните на кнопке ОК. Откроется окно редактора Power Query.

Глава 40. Организация совместной работы запросов

981

Внимание!

Обратите внимание на маленькие цифры 1 и 2 в заголовках полей Ю_респондента и IDвопроса на рис. 40.14. Эти цифры присваиваются столбцам в порядке их выбора при вы­ делении полей-идентификаторов (см. этапы 3 и 5 выше в этом разделе). Порядок, в котором поля выделялись в качестве уникальных идентификаторов, имеет боль­ шое значение для каждого запроса. Два столбца, помеченные в запросах цифрой 1, будут со­ поставляться между собой независимо от названий этих столбцов. Два столбца, помеченные цифрой 2, также будут сопоставляться между собой по тому же принципу.

На заметку

В нижней части диалогового окна Слияние выводится сообщение о том, сколько записей из запроса, выбранного в нижнем списке, нашло себе соответствие в запросе, выбранном в верхнем списке, при использовании указанных для них полей-идентификаторов. В нашем случае соответствие было обнаружено для 17 629 записей по ответам среди 26 910 записей по вопросам. Не забывайте, что в данном случае вовсе не требуется 100% совпадение, чтобы операция слияния считалась выполненной успешно. Вполне может иметь место веская причина, по ко­ торой записи в двух запросах могут частично не совпадать. В нашем примере это означает, что респонденты давали ответы не на все поставленные им вопросы и по этой причине в ре­ зультатах запроса Ответы содержится меньше записей. 8. После открытия окна редактора Power Query, содержащего запрос, обра­ зованный слиянием двух исходных запросов, все, что осталось сделать, — это щелкнуть на кнопке Развернуть ( ) в заголовке вновь добавленного столбца Ответы и выбрать в открывшемся окне те столбцы, которые долж­ ны быть включены в выходные данные запроса. В нашем примере нам тре­ буется только столбец Ответы, как показано на рис 40.15.

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

Рис. 40.15.

Часть V. Использование инструментов Power Pivot и Power Query

982

9. На текущий момент у вас есть возможность применить к выходным данным запроса любые дополнительные преобразования, если это необходимо (на­ пример, присвоить развернутому столбцу желаемое имя), а когда все подго­ товительные операции будут завершены, останется лишь выбрать на лен­ те редактора команду Главная^Закрыть^Закрыть и загрузить1^Закрыть и загрузить. На рис. 40.16 представлены результаты выполнения объединен­ ного запроса.

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

На заметку

При работе в окне редактора Power Query во всех ячейках, содержащих пустое значение, отображается слово null. Не требуется предпринимать каких-либо усилий, чтобы избавиться от него в результатах запроса. Программа Excel автоматически распознает пустые ячейки, и на ^рабочем листе, полученном в результате выполнения запроса, это слово отображаться не будет.

Щелкните в строке этапа Источник на пиктограмме в виде шестеренки, чтобы открыть диалоговое окно Слияние и получить возможность отредактировать параметры запроса Рис. 40.17.

Если со временем обнаружится, что в запрос, образованный слиянием других запросов, необходимо внести те или иные изменения, откройте панель задач Запросы и подключения и щелкните на строке этого запроса правой кнопкой мыши, а затем вы­ берите в открывшемся контекстном меню команду Изменить. Откроется окно редак­ тора Power Query. В этом окне на панели Параметры запроса щелкните на пикто­ грамме в виде шестеренки ( ), присут­ ствующей в строке этапа Источник, как по­ казано на рис. 40.17. Откроется диалоговое окно Слияние, в котором в данный запрос можно будет внести любые требуемые из­ менения.

Глава

Повышение эффективности работы с Power Query В ЭТОЙ ГЛАВЕ… Организация работы с запросами Экономия времени при работе в Power Query

Настройка параметров Power Query Предотвращение проблем с производительностью

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

В

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

984

Часть V. Использование инструментов Power Pivot и Power Query

Быстрое получение информации о запросах Все запросы Power Query, хранящиеся в определенной рабочей книге, можно увидеть на панели задач Запросы и подключения. Чтобы открыть эту панель задач, выберите на ленте приложения команду Данные3апросы и подключения^Запросы и подключения. На этой панели можно быстро получить текущую информацию о некотором за­ просе, просто поместив указатель мыши над его строкой. В открывшемся окне мож­ но будет увидеть информацию об источнике данных запроса и время когда запрос последний раз обновлялся, а также познакомиться с небольшой выборкой его дан­ ных. Здесь даже можно щелкнуть на ссылке на определенный столбец, чтобы вы­ делить его, как показано на рис. 41.1.

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

Организация запросов в группы По мере добавления в рабочую книгу новых запросов панель задач Запросы и подключения может оказаться переполненной большим количеством беспорядоч­ но расположенных запросов. Чтобы упростить работу с ней, можно объединить от­ дельные запросы в группы, что существенно упростит доступ к ним. На рис. 41.2 представлено, как можно организовать запросы в различные груп­ пы. Можно создать группу для определенных стадий обработки данных, а можно

Глава 41. Повышение эффективности работы с Power Query

985

сгруппировать запросы по отдельным источникам или базам данных. Для удобства можно также создать группу, объединяющую небольшие ссылочные таблицы. На панели задач каждая группа может быть представлена в свернутом виде, скрывая те запросы, с которыми вы в данный момент не работаете. Чтобы на панели задач Запросы и подключения создать новую группу запросов, щелкните на одном из добавляемых в нее запросов правой кнопкой мыши и вы­ берите в открывшемся контекстном меню команду Переместить в группу^Создать группу. Если щелкнуть правой кнопкой мыши на строке уже существующей группы, откроется контекстное меню, содержащее команды, предназначенные для управле­ ния самой группой (рис. 41.3). Среди этих команд есть даже команда одновремен­ ного обновления всех запросов, входящих в данную группу.

Запросы могут быть объединены в группы

Рис. 41.2.

Рис. 41.3. Контекстное меню группы на панели задач Запросы и подключения

Быстрое выделение столбцов в запросах Работая в окне редактора Power Query с большими таблицами, содержащими де­ сятки столбцов, может быть довольно утомительно прокручивать содержимое окна туда и обратно в поисках нужных столбцов. Ситуацию можно существенно упрос­ тить, выбрав на ленте в окне редактора Power Query команду Главная ^Управление столбцами1^ Выбор столбцов^Выбор столбцов. В результате откроется диалоговое окно Выбор столбцов, показанное на рис. 41.4, в котором будут перечислены все до­ ступные столбцы (включая пользовательские настраиваемые столбцы, которые вы, возможно, уже добавили в запрос). Найти и выбрать нужные столбцы в этом окне уже не составит труда.

986

Часть V. Использование инструментов Power Pivot и Power Query

Переименование этапов запроса Каждый раз, когда в окне редактора Power Query выполняется какое-либо действие, на панели Параметры запроса в описание запроса добавляется новый этап (рис. 41.5). Этапы запроса — это своего рода исторические записи, фиксирующие все действия, которые были выполнены в запросе применительно к его исходным данным.

Рис. 41.4. Команду Выбор столбцов можно использовать для быстрого поиска и выделения столбцов в запросе

Чтобы переименовать определенный этап, щелкните на нем правой кнопкой мыши

Рис. 41.5.

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

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

Глава 41. Повышение эффективности работы с Power Query

987

данных, для предоставления значений в меню доступных вариантов при вводе, как значения для подстановки и т.д. Работая в редакторе Power Query, можно щелкнуть правой кнопкой мыши на за­ головке столбца, который желательно преобразовать в справочную таблицу, а за­ тем выбрать в открывшемся контекстном меню команду Добавить как новый запрос (рис. 41.6). Будет создан новый запрос на основе той таблицы, в которой был вы­ бран столбец, а в окне редактора Power Query будет представлена таблица, содержа­ щая только указанный столбец. Все что осталось сделать для создания справочной таблицы, — это удалить дубликаты, очистить пробелы и т.д.

Рис. 41.6.

Создание новой справочной таблицы из существующего столбца

Копирование запросов с целью экономии времени Весьма разумно повторно использовать созданное ранее всякий раз, когда для этого представится возможность. Зачем изобретать колесо, если на панели за­ дач Запросы и подключения присутствует множество уже готовых колес, созданных вами ранее? Сохраните свое время при создании новых запросов, просто начиная с дубли­ рования запроса, уже существующего в рабочей книге. Для этого откройте панель Запросы и подключения, щелкните на строке запроса, который нужно скопировать правой кнопкой мыши и выберите в открывшемся контекстном меню команду Дублировать.

988

Часть V. Использование инструментов Power Pivot и Power Query

Определение действий при загрузке данных, принимаемых по умолчанию Если вы интенсивно работаете с надстройкой Power Pivot и одновременно со средством Power Query, весьма вероятно, что загружаемые запросами Power Query данные чаще всего вы помещаете непосредственно во внутреннюю модель данных. Если вы принадлежите к числу аналитиков, которые всегда загружают данные в мо­ дель данных, то вам будет удобно настроить Power Query таким образом, чтобы это действие выполнялось автоматически. Для этой цели на ленте приложения Excel выберите команду Данные^Получить и преобразовать данные* Получить данные1* Параметры запроса — и откроется диало­ говое окно Параметры запроса, представленное на рис. 41.7. Установите переключа­ тель Стандартные параметры загрузки запроса в положение Указать пользовательские параметры загрузки по умолчанию, а затем установите флажок Загрузить в модель данных, а флажок Загрузить в лист сбросьте. Теперь при загрузке данных запросов они автоматически будут заноситься в модель данных рабочей книги.

Рис 41.7. Группа параметров Стандартные параметры загрузки запроса определяет поведение по умолчанию

при загрузке данных запросов в средстве Power Query

Предотвращение автоматического преобразования типов данных Одним из последних расширений возможностей средства Power Query является способность автоматически распознавать тип данных в столбцах и соответствую­ щим образом его переопределять. Этот тип распознавания чаще всего применяется при добавлении новых данных в запрос. Например, на рис 41.8 показаны этапы запроса после импорта текстового файла. Обратите внимание на этап Измененный тип: он был автоматически выполнен ре­ дактором Power Query как часть работы по распознаванию типа данных. Хотя средство Power Query хорошо справляется с задачей распознавания, какой тип данных следует использовать для конкретного столбца, автоматическое приме­ нение этой функции может приводить к неожиданным результатам. Некоторые ве­ тераны использования средства Power Query откровенно сообщали, что эта функция

Глава 41. Повышение эффективности работы с Power Query

989

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

Рис. 41.8. Редактор Power Query автоматически добавляет этап для изменения типа данных при их импорте

Если вы также предпочитаете лично приводить данные в столбцах таблиц к не­ обходимому типу, не полагаясь на помощь функции автоматического распознавания Power Query, то можете отменить использование этого инструмента по умолчанию. На ленте приложения Excel выберите команду Данные1^ Получить и преобразовать данные^Получить данные^Параметры запроса — и откроется диалоговое окно Параметры запроса, представленное на рис. 41.9. На левой панели окна в группе Текущая книга откройте вкладку Загрузка данных и сбросьте флажок Автоматически определять типы и заголовки столбцов для неструктурированных данных.

Рис. 41.9.

Отключение функции автоматического определения типов данных

990

Часть V. Использование инструментов Power Pivot и Power Query

Предотвращение проблем с производительностью в Power Query Поскольку средство Power Query накладывает на действия пользователя лишь минимальные ограничения и при этом позволяет работать с достаточно большими объемами данных, это может приводить к созданию запросов, работающих недо­ пустимо медленно. Когда обработка данных ведется в объемах до нескольких тысяч записей, ка­ кие-либо проблемы с производительностью у вас едва ли возникнут. Но когда при выполнении запроса импортируются и подвергаются различным преобразованиям сотни тысяч записей, вопрос его производительности выходит на передний план. Не вызывает сомнений тот факт, что чем больше объем обрабатываемых данных, тем медленнее будет работать запрос. Тем не менее существуют определенные дей­ ствия, которые можно предпринять, чтобы оптимизировать производительность за­ просов.

Используйте представления вместо таблиц При подключении к внешней базе данных средство Power Query позволяет вы­ полнять импорт данных не только непосредственно из таблиц, но и с использова­ нием представлений. Представления по своей сути являются заранее созданными запросами, размещенными на самом сервере базы данных. Хотя таблицы являются более прозрачным источником, предоставляющим до­ ступ непосредственно к хранимым данным без какой-либо их фильтрации, они возвращают все доступные в них столбцы и строки независимо от того, нужны они вам или нет. В результате в запросы приходится включать дополнительные этапы, на которых вычислительные мощности вашего компьютера затрачивают­ ся на удаление из полученных данных лишних столбцов и фильтрацию ненуж­ ных записей. Представления не только позволяют работать с предварительно обработанными и отфильтрованными данными, представленными в более удобном виде, но и по­ могают оптимизировать модель данных рабочей книги, ограничивая объем импор­ тируемых в нее записей.

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

Глава 41. Повышение эффективности работы с Power Query

991

Возникает вопрос: почему средство Power Query должно выполнять те преоб­ разования, с которыми вполне может справиться сервер самой базы данных? Ведь в действительности существующие системы баз данных, подобные SQL Server, обладают куда более эффективными возможностями выборки, агрегирования, очистки и преобразования данных в сравнении с Power Query в Excel. Почему же не воспользоваться этими мощными средствами для формирования и предвари­ тельной обработки тех данных, которые будут импортироваться запросами Power Query? Вместо того чтобы в запросах импортировать сырые данные непосредственно из таблиц, проанализируйте возможность использования функциональных средств на стороне сервера базы данных, а затем подготовьте и сохраните на нем процеду­ ры, обеспечивающие выполнение как можно большей части необходимой работы по преобразованию и приведению извлекаемых данных к тому виду, который вам нужен в конечном счете. Такой подход позволит сократить объемы обработки, вы­ полняемой непосредственно в Power Query, а значит, гарантированно обеспечит повышение производительности запросов.

Апгрейд до 64-разрядной версии Excel Если вас все еще беспокоят проблемы с производительностью, то вы всегда мо­ жете заменить ПК на более мощный. В нашем случае наилучшим вариантом будет переход на 64-разрядные компьютеры, на которых можно будет установить 64-разрядную версию Excel. Суть в том, что 64-разрядная версия Excel эффективнее использует оператив­ ную память ПК, которая является важнейшим системным ресурсом, необходимым для быстрой обработки больших наборов данных. В действительности компания Microsoft рекомендует перейти на 64-разрядную версию Excel всем, кто работает с моделями данных, достигающими объема в миллионы строк. Однако, прежде чем приступить к установке 64-разрядной версии Excel, вам не­ обходимо принять к сведению следующие замечания. •

У вас уже установлена 64-разрядная версия Excel? Чтобы получить ответ на этот вопрос, выберите команду Файл1^Учетная запись^О программе Excel. Откроется диалоговое окно, в верхней строке которого будет указано, с какой версией Excel вы работаете: 32- или 64-разрядной.

Достаточно ли велика ваша модель данных? За исключением случая, ког­ да приходится работать с действительно большой моделью данных, переход на 64-разрядную версию программы не приведет к сколько-нибудь заметно­ му повышению скорости ее работы. Является ли модель данных достаточно большой? Приблизительно оценить ситуацию можно по следующему крите­ рию: если вы используете рабочие книги с внутренней моделью данных, раз­ мер файла которых превышает 50 Мбайт, переход на 64-разрядную версию программы, определенно, будет способствовать повышению ее производи­ тельности.

992

Часть V. Использование инструментов Power Pivot и Power Query

На вашем ПК установлена 64-разрядная операционная система? К сожале­ нию, 64-разрядную версию программы Excel невозможно установить на ком­ пьютере с 32-разрядной операционной системой. Чтобы определить, какая именно операционная система установлена на вашем ПК, введите в браузере поисковый запрос вида «Мой ПК 64- или 32-разрядный». В результатах поис­ ка вам будет предоставлена серия ссылок на сайты, на которых вы найдете описание последовательности действий, необходимых для получения ответа на данный вопрос. Кстати, если на вашем ПК установлена ОС Windows, соот­ ветствующую информацию можете найти по адресу https://support.microsoft.com/ru-ru/help/827218/ how-to-determine-whether-a-computer-is-running-a-32-bit-version-or-64

Будут ли работать с этой версией используемые вами надстройки? Если вы используете сторонние надстройки Excel, то имейте в виду, что некото­ рые из них могут оказаться несовместимыми с 64-разрядной версией Excel. Учитывая этот факт, установка 64-разрядной версии программы, в результа­ те чего будут утрачены надстройки, которыми вы привыкли пользоваться, для вас вполне может оказаться нежелательной. Свяжитесь с создателями используемых вами сторонних надстроек и выясните у них, совместимы ли их продукты с 64-разрядной версией Excel. Эта рекомендация справедлива для надстроек всех программ Microsoft Office, а не только для Excel. Учтите, что при апргрейде до 64-разрядной версии программы Excel автоматически произойдет апгрейд всех программ, входящих в пакет Microsoft Office.

Для повышения производительности отключите функцию обеспечения конфиденциальности В средстве Power Query средства обеспечения конфиденциальности разработа­ ны для защиты данных организации при их комбинировании с другими источника­ ми. При создании запроса, в котором внешний источник данных используется со­ вместно с внутренним источником данных, средство Power Query приостанавливает работу, чтобы уточнить, как именно требуется классифицировать уровень конфи­ денциальности данных для каждого из источников. Для большинства аналитиков, которые имеют дело исключительно с данны­ ми собственной организации, средства обеспечения конфиденциальности дают лишь замедление работы запросов и приводят к путанице. К счастью, суще­ ствует возможность отказаться от их использования. Для этого на ленте прило­ жения выберите команду Данные1^ Получить и преобразовать данные^ Получить данные^ Параметры запроса. Откроется диалоговое окно Параметры запроса, пред­ ставленное на рис. 41.10. На левой панели в группе Текущая книга выберите вкладку Конфиденциальность, а затем установите переключатель Уровни конфиденциальности в положение Игнорировать уровни конфиденциальности для возможного улучшения производительности.

Глава 41. Повышение эффективности работы с Power Query

Рис. 41.10.

993

Отключение функции обеспечения конфиденциальности

Отключите функцию распознавания связей При создании запроса и выборе для него в окне Импорт данных в качестве ме­ ста загрузки варианта Добавить эти данные в модель данных средство Power Query по умолчанию предпримет попытку распознать связи между этим запросом и уже имеющимися запросами и автоматически создать обнаруженные связи во внутрен­ ней модели данных. Связи между запросами определяются прежде всего по этапам, присутствующим в запросах. Например, если выполняется слияние двух запросов, а затем выполняется загрузка результата в модель данных, автоматически создается соответствующая связь. В больших моделях данных, насчитывающих десятки таблиц, функция распоз­ навания связей Power Query может оказывать заметное влияние на производитель­ ность системы и увеличивать время, необходимое для загрузки модели данных. Можно избежать этих нежелательных эффектов и даже получить заметный прирост производительности в работе запросов, если просто отключить функцию автомати­ ческого распознавания связей. Для этого на ленте приложения выберите команду Данные1^Получить и преобразовать данные1^Получить данные^Параметры запроса. Откроется диалоговое окно Параметры запроса, представленное на рис. 41.9. На ле­ вой панели окна в группе Текущая книга откройте вкладку Загрузка данных и сбросьте флажок Создание связей между таблицами при первом добавлении в модель данных.

Часть VI Программирование в Excel зык VBA (Visual Basic for Applications) В является мощным языком програм­ мирования, встроенным непосред­ ственно в программу Excel, который можно использовать для автоматизации широко­ го круга рутинных операций или часто выполняемых заданий, возникающих при ежедневной работе в Excel. Этот язык про­ граммирования также позволяет созда­ вать собственные функции рабочего листа и даже разрабатывать в среде Excel прило­ жения, предназначенные для использова­ ния другими пользователями.

Я

ЭТОЙ ЧАСТИ… Глава 42 Введение в язык Visual Basic for Applications Глава 43 Функции VBA: создание новых функций рабочего листа Глава 44 Создание экранных форм Глава 45 Элементы управления на рабочем листе

Глава 46 Обработка событий в Excel Глава 47 Примеры VBA-программ Глава 48 Создание надстроек Excel

Глава

Введение в язык Visual Basic for Applications В ЭТОЙ ГЛАВЕ… Введение в макросы VBA Создание макросов VBA

Запись макросов VBA Написание кода VBA

Дополнительные сведения о языке VBA

астоящая глава представляет собой введение в язык макрокоманд Visual Basic for Applications (VBA), который является основным инструментом для тех пользователей, которым нужно выполнить настройку и автоматизацию Excel. В этой главе приведены основные сведения о языке VBA. Вы узнаете, как записывать макросы и создавать простые процедуры. Подробное изложение тем, лишь частично затронутых в данной главе, вы найдете в последующих главах этой части книги.

Н

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

998

Часть VI. Программирование в Excel

одну и ту же последовательность операций форматирования, но и, что не менее важ­ но, гарантирует строгую однотипность всех создаваемых макросом отчетов. Чтобы создавать и использовать простые VBA-макросы, необязательно быть про­ граммистом или хотя бы опытным пользователем Excel. Ознакомившись с основами VBA, даже начинающие пользователи могут успешно воспользоваться средством за­ писи макросов Excel, которое просто записывает выполняемую пользователем по­ следовательность действий, а затем автоматически преобразует ее в макрос VBA. При запуске однажды записанного макроса Excel снова выполнит записанную в нем последовательность действий. Более того, достаточно опытные пользователи могут написать программы выполнения даже таких задач, которые нельзя записать с по­ мощью обычных средств Excel. Например, можно написать процедуры, которые бу­ дут выводить на экран созданное пользователем диалоговое окно, добавлять новые команды на ленту приложения, обрабатывать данные, находящиеся в нескольких рабочих книгах, и даже создавать для программы Excel собственные надстройки.

VBA — это язык программирования с необычайно широкими возможностями, ко­ торому можно найти множество применений. Ниже перечислены только самые распространенные из них. (Не все из них подробно описаны в этой книге.) • Вставить часто повторяющуюся строку текста или формулу. Например, если вам нужно часто вводить в рабочие таблицы стандартный текст (например, на­ звание своей фирмы), можете создать макрос, который это сделает вместо вас. • Автоматизировать часто выполняемую процедуру. Так, если в ваши обязанно­ сти входит подготовка ежемесячного отчета и если его структура не слишком сложна, то можете написать макрос, который выполнит всю работу вместо вас. • Автоматизировать повторяющиеся операции. Если вам нужно выполнить не­ которую последовательность действий в 12 различных рабочих книгах, запи­ шите макрос при первом выполнении этой операции, и он повторит вместо вас эту последовательность действий во всех остальных рабочих книгах. • Создать новую команду. Например, можно объединить несколько команд из меню Excel, чтобы их можно было выполнить с помощью только одной комби­ нации клавиш или одного щелчка мышью. • Создать упрощенный “внешний интерфейс” для пользователей, мало знакомых

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

с Excel. •

Глава 42. Введение в язык Visual Basic for Applications

999

Вкладка Разработчик на ленте приложения Если вы планируете работать с макросами VBA, вам потребуется ленточная вклад­ ка Разработчик (рис. 42.1), которая содержит все команды, необходимые для поль­ зователей VBA, но по умолчанию не отображается среди других вкладок на ленте приложения. Чтобы вывести на экран эту вкладку, выполните следующие действия. 1. Щелкните правой кнопкой мыши на любой команде на ленте и выберите в открывшемся контекстном меню команду Настройка ленты. На экране откроется диалоговое окно Параметры Excel с выбранной вкладкой Настроить ленту.

2. В правой части окна установите в списке вкладок флажок вкладки Разработчик. 3. Щелкните на кнопке ОК, чтобы вернуться в Excel.

Рис. 42.1.

Вкладка ленты Разработчик

Безопасность макросов Использование макросов потенциально может приводить к возникновению на вашем компьютере серьезных проблем, таких как удаление файлов или инстал­ ляция злонамеренного программного обеспечения. Исходя из этого, корпорация Microsoft добавила в Excel средства предотвращения проблем, которые потенциаль­ но могут быть вызваны макросами. На рис. 42.2 показана вкладка Параметры макросов диалогового окна Центр управления безопасностью. Для того чтобы открыть это окно, выберите команду Разработчик^ Код ф Безопасность макросов. По умолчанию в этом диалоговом окне установлена опция Отключить все макросы с уведомлением. Если эта опция установлена, то при открытии рабочих книг, содер­ жащих макросы (и не имеющих цифровой подписи), эти макросы будут отключе­ ны и Excel выведет предупреждение системы безопасности о том, что макросы от­ ключены (рис. 42.3). Если вы уверены, что рабочая книга получена из безопасного источника, щелкните на кнопке Включить содержимое на панели предупреждения системы безопасности, чтобы активизировать макросы. Excel запомнит ваше решение, и впоследствии при открытии этого файла пред­ упреждение системы безопасности больше не появится.

Часть VI. Программирование в Excel

1000

Рис. 42.2.

Рис. 42.3.

На

Вкладка Параметры макросов диалогового окна Центр управления безопасностью

Excel выводит предупреждение, если рабочая книга содержит макросы

заметку

Если одновременно с рабочей книгой, содержащей макросы, было открыто окно редактора Visual Basic, то Excel выводит не предупреждение системы безопасности, а диалоговое окно Извещение системы безопасности Microsoft Excel. В этом окне вам на выбор будут пред­ ставлены две кнопки: Включить макросы и Отключить макросы. Вероятно, наиболее простой способ обойти средства безопасности макросов — это создать несколько папок и пометить их как «Надежные расположения». Все ра­ бочие книги, содержащиеся в таких папках, открываются без отключения макросов. Пометить таким образом папку можно на вкладке Надежные расположения диалого­ вого окна Центр управления безопасностью.

Глава 42. Введение в язык Visual Basic for Applications

1001

Сохранение рабочих книг, содержащих макросы Рабочие книги Excel, содержащие один или более макросов, должны сохраняться в файлах с расширением . xlsm. Кода вы в первый раз сохраняете рабочую книгу, которая содержит макросы (или даже пустой VBA-модуль), по умолчанию она будет сохраняться в формате .xlsx, который не поддерживает макросы. Если при сохранении вы предваритель­ но не измените формат этого файла на . xlsm, программа Excel выведет окно с пред­ упреждением, показанным на рис. 42.4. Если вы хотите сохранить макросы в дан­ ной рабочей книге, щелкните в этом окне на кнопке Нет, а затем в диалоговом окне Сохранение документа в списке Тип файла выберите для книги вариант Книга Excel с поддержкой макросов (*.xlsm).

Рис. 42.4.

На

Предупреждение о том, что в данном формате файлов макросы не поддерживаются

заметку

Кроме того, рабочую книгу с модулем VBA можно сохранить в старом формате Excel 97-2003 (для которого используется расширение .xls) или в новом двоичном формате Excel binary (для которого используется расширение .xlsb). Оба этих формата файлов допускают при­ сутствие в книге макросов.

Два типа УВА-макросов VBA-макрос (или иначе процедура) может быть одного из двух возможных типов: подпрограмма (Sub) или функция (Function). 0 различиях между ними и пойдет речь в следующих двух разделах.

Вкратце можно сказать, что ничего. Начиная с Excel 2007 компания Microsoft внес­ ла множество изменений в интерфейс пользователя самой программы, в то время как интерфейс редактора VBA остался неизменным и сейчас имеет вид уже уста­ ревшей программы. Сам язык VBA был обновлен для того, чтобы соответствовать новым возможностям Excel, но редактор VBA не приобрел никаких новых возмож­ ностей, а его панели и меню работают так же, как в старых версиях приложения

Часть VI. Программирование в Excel

1002

Подпрограммы VBA Макрос-подпрограмма — это нечто вроде новой команды, которая может быть запущена либо пользователем, либо другим макросом. В рабочей книге Excel мо­ жет содержаться произвольное число подпрограмм. На рис. 42.5 показана простая подпрограмма на языке VBA. При выполнении этой подпрограммы текущая дата помещается в активную ячейку и форматируется (применяется числовой формат по заданному шаблону, устанавливается полужирный шрифт в ячейке, цвет текста выбирается белым, а фон — черным), а затем соответствующим образом изменяется ширина столбца.

Рис. 42.5.

Простая подпрограмма на языке VBA

Рабочую книгу с этим примером можно найти в файле current date.xlsm на веб-сайте книги (www.wiley.com/go/excel2019bible). В ней также со­ держится кнопка, которая упрощает запуск макроса. Для русскоязычного издания книги файл называется Pic42_05.xlsm. На

заметку

Язык Visual Basic for Applications не русифицирован, поэтому в коде макросов VBA использу­ ются английские названия свойств, методов, событий, служебных слов и т.п. (впрочем, так же, как и в большинстве других языков программирования). Однако при этом допускается использование кириллицы в комментариях, а также в именах процедур и переменных. Этим можно активно пользоваться, чтобы сделать код процедур более понятным. Подпрограммы всегда начинаются с ключевого слова Sub, после которого следу­ ют имя макроса (у каждого макроса должно быть уникальное имя), а затем — пара круглых скобок. В этих скобках задаются аргументы, а если у подпрограммы их нет, скобки остаются пустыми, как в этом примере. Оператор End Sub свидетельствует об окончании подпрограммы. Строки, заключенные между этими двумя оператора­ ми, составляют тело процедуры или текст макроса.

Глава 42. Введение в язык Visual Basic for Applications

1003

Макрос CurrentDate содержит комментарии. Комментарии — это замет­ ки для вас, VBA их игнорирует. Строка комментариев начинается с апострофа. Комментарий можно поместить после любого оператора. Другими словами, если в тексте программы VBA встречает апостроф, он игнорирует весь остальной текст в этой строке. Запустить VBA-подпрограмму можно несколькими способами.

Выберите команду Разработчик^Код^Макросы (или нажмите ), чтобы открыть диалоговое окно Макрос. В этом диалоговом окне выберите из списка имя нужной подпрограммы и щелкните на кнопке Выполнить.

Назначьте этот макрос какому-либо элементу управления на панели бы­ строго доступа или на ленте приложения.

Воспользуйтесь комбинацией клавиш, назначенной подпрограмме (если она, конечно, назначена).

Щелкните на кнопке или на пиктограмме, в соответствие которой постав­ лен данный макрос.

Если окно редактора Visual Basic открыто, поместите курсор в код макроса и нажмите .

Обратитесь к этой подпрограмме из какой-либо другой процедуры VBA.

Введите имя этой процедуры в окне Immediate редактора Visual Basic.

Функции VBA Вторым типом VBA-процедуры является функция. Функция всегда возвращает единственное значение (так же, как и обычная функция рабочего листа). Функцию VBA можно вызвать из другой процедуры VBA или использовать в формулах рабоче­ го листа точно так же, как и встроенные функции рабочих листов Excel. На рис. 42.6 показан листинг созданной пользователем функции рабочего листа. Имя этой функции — КубКорень, она имеет один аргумент. Эта функция вычис­ ляет кубический корень из своего аргумента. Функции подобны подпрограммам. Обратите внимание на то, что функция начинается с ключевого слова Function и заканчивается оператором End Function.

Рис. 42.6.

Функция VBA, вычисляющая кубический корень

1004

Часть VI. Программирование в Excel

Рабочую книгу с этим примером можно найти в файле cube root.xlsm на веб­ сайте книги (www.wiley.com/go/excel2019bible). Для русскоязычного из­ дания книги файл называется Pic42_06.xlsm.

Создавая функции VBA для использования в формулах рабочих листов, вы можете значительно упростить сами формулы и выполнять вычисления, которые в против­ ном случае было бы невозможно выполнить. Более подробно функции VBA описаны в главе 43, “Функции VBA: создание новых функций рабочего листа”.

Пользователей, которые только начинают работать с языком VBA, часто ставит в ту­ пик терминология, используемая в этом языке программирования. Приведенные ниже термины имеют отношение к языку VBA и экранным формам (созданным пользователем диалоговым окнам) — двум важным элементам настройки и авто­ матизации Excel. • Текст программы (Code). Команды языка VBA, которые помещаются в текст программного модуля при записи макроса. Текст программы на языке VBA можно также ввести вручную. • Элементы управления (Controls). Элементы экранной формы (или рабочего ли­ ста), с помощью которых можно осуществлять управление чем-либо. К ним от­ носятся кнопки, флажки, списки и т.п. • Функция (Function). Один из двух типов VBA-макросов, который можно создать (второй тип — это подпрограмма). Функция возвращает единственное значе­ ние. Функции VBA можно использовать в других VBA-макросах или в формулах на рабочих листах. • Макрос (Macro). Набор команд Excel, выполняемых автоматически. • Метод (Method). Действие, применяемое к объекту. Например, применение ме­ тода Clear (Очистить) к объекту Range (Диапазон) приводит к очистке содержи­ мого ячеек этого диапазона. • Модуль (Module). Контейнер для текста программы на языке VBA. • Объект (Object). Элементы, которыми манипулируют с помощью средств языка VBA, — диапазоны, диаграммы, рисунки и т.д. • Процедура (Procedure). Еще одно название макроса. VBA-процедура может быть подпрограммой или функцией. • Свойство (Property). Параметр объекта. Например, объект-диапазон Range имеет такие свойства, как Height (Высота), style (Стиль) и Name (Имя). • Подпрограмма (Subprogramm). Один из двух типов макросов, создаваемых на языке VBA. Другой тип макроса — функция. • Экранная форма (UserForm). Контейнер, содержащий элементы управления для диалогового окна, созданного пользователем, а также текст программы на языке VBA для манипулирования этими элементами управления. • VBA (Visual Basic for Applications). Язык макрокоманд, который поддерживает­ ся Excel и другими приложениями Microsoft Office.

Глава 42. Введение в язык Visual Basic for Applications

1005

Программа «Редактор Visual Basic”, открывающая при вы­ полнении собственное окно (отдельное от окна программы Excel), используемое для создания VBA-программ и экранных форм. Для перехода из окна Excel в окно редактора Visual Basic можно воспользоваться комбинацией клавиш .

♦ VBE (Visual Basic Editor).

Подробнее об экранных формах можно узнать в главах 44, “Создание экранных форм”, и 45, «Элементы управления на рабочем листе”.

Создание УВА-макросов Excel предоставляет два способа создания макросов. •

Активизируйте инструмент записи макросов и запишите с его помощью по­ следовательность ваших действий.

Введите текст программы непосредственно в модуль VBA.

В следующих разделах будут описаны оба этих метода.

Запись макросов VBA В этом разделе описаны основные действия, которые необходимо выполнить, что­ бы записать VBA-макрос. В большинстве случаев вы можете записать свои действия в виде макроса, а затем просто «воспроизвести» этот макрос, при этом вам не потребу­ ется даже смотреть на автоматически сгенерированный текст программы. И если это все, что вам нужно от VBA, то заниматься самим языком вам нет никакой необходимо­ сти (хотя, конечно, понимание основных принципов его работы не помешает).

Запись действий для создания макроса: основы Средство записи макросов Excel помогает преобразовать свои действия в текст программы на языке VBA. Чтобы активизировать средство записи макросов, вы­ берите команду РазработчикаКод^Запись макроса, и откроется диалоговое окно Запись макроса, показанное на рис. 42.7. В этом диалоговом окне присутствуют следующие несколько полей.

Имя макроса. По умолчанию Excel предлагает такие имена, как Макрос1, Макрос2 и т.д. Сочетание клавиш. Здесь можно указать комбинацию клавиш, которая будет использоваться для запуска данного макроса. При вводе любой буквы можно также нажать клавишу . Например, ввод буквы Н, сопровождаемый нажа­ тием клавиши , даст в результате комбинацию .

Сохранить в. Место для хранения макроса. Предоставляется возможность вы­ брать между текущей рабочей книгой, личной книгой макросов (которая будет описана ниже в этой главе) и новой рабочей книгой. Описание. В это поле по желанию вводится описание макроса.

Часть VI. Программирование в Excel

1006

Рис. 42.7.

Диалоговое окно Запись макроса

Внимание!

Комбинации клавиш, присвоенные макросам, имеют более высокий приоритет, чем встро­ енные комбинации клавиш. Например, присвоив макросу комбинацию клавиш , вы уже не сможете воспользоваться ею для сохранения рабочих книг. Чтобы приступить к записи своих действий, щелкните на кнопке ОК, после чего все эти действия в окне программы Excel будут преобразованы в соответ­ ствующие операторы языка VBA. По окончании записи макроса выберите команду Разработчик^Код^Остановить запись или щелкните на кнопке — Остановить запись, расположенной в строке состояния. Эта кнопка появится вместо кнопки Запись макроса во время записи макроса. На заметку

В результате записи ваших действий получится новая процедура-подпрограмма. Что же ка­ сается процедур-функций, то их нельзя создать с помощью средства записи макросов. Они создаются только вручную.

Простой пример записи макроса В этом примере показано, как записать макрос, который вводит ваше имя в акти­ визированную ячейку. Чтобы создать такой макрос, выполните следующие действия.

1. Поместите табличный курсор в пустую ячейку.

На заметку

Это следует сделать перед записью макроса, поскольку данный шаг имеет большое значение. Если активизировать ячейку уже при включенной записи макроса, адрес выбранной вами ячейки будет записан в макросе. В результате макрос всегда будет обрабатывать эту конкрет­ ную ячейку, а значит, не будет являться универсальным.

Глава 42. Введение в язык Visual Basic for Applications

1007

2. Выберите команду Разработчика Код ^Запись макроса, чтобы открыть диа­ логовое окно Запись макроса (см. рис. 42.7). 3. В этом окне введите новое имя макроса, чтобы заменить стандартное имя Макрос 1. Можно выбрать, например, вариант МоеИмя.

4. Назначьте этому макросу комбинацию клавиш , введя в поле Сочетание клавиш букву N при нажатой клавише .

5. Убедитесь, что в поле Сохранить в выбрано значение Эта книга. 6. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно Запись макроса.

7.

Введите свое имя в текущую ячейку и нажмите клавишу .

8. Поскольку запись макроса на этом должна быть закончена, щелкните на кнопке Остановить запись ( ), которая находится в строке состояния, или выберите на ленте команду Разработчик^ Код ^Остановить запись.

Исследование созданного макроса Макрос был записан в новом модуле под названием Module 1. Чтобы просмотреть текст макроса в этом модуле, необходимо открыть окно редактора Visual Basic. Это можно сделать любым из двух способов.

Нажмите комбинацию клавиш .

Выберите команду Разработчик1^ Код1^Visual Basic.

В окне редактора на панели Project будет отображен список всех открытых ра­ бочих книг и надстроек в виде древовидной структуры. Текст макроса, который вы предварительно записали, хранится в модуле Module 1 в текущей рабочей книге. Если дважды щелкнуть на имени Modulel, то текст макроса отобразится на панели Code. На рис. 42.8 показан текст только что записанного макроса в том виде, в каком он отображается на панели Code редактора Visual Basic.

На

заметку

Если в окне редактора Visual Basic вы не видите список открытых рабочих книг, выберите команду меню Viewl1^Project Explorer или нажмите комбинацию клавиш , чтобы открыть панель Project Explorer. Созданный текст макроса должен выглядеть примерно так (с вашим именем в двойных кавычках, конечно же). Sub МоеИмя()

‘ МоеИмя Макрос

1 Сочетание клавиш: Ctrl+Shift+N ActiveCell.FormulaRlCl = «Майкл Александер» Range(«ВЗ»).Select End Sub

Часть VI. Программирование в Excel

1008

Рис. 42.8.

Подпрограмма МоеИмя, которая была сгенерирована инструментом записи макросов

Записанный макрос — это подпрограмма (так как она начинается с ключевого слова Sub), которая называется МоеИмя. Во время выполнения макроса операторы, записанные в теле подпрограммы, сообщают Excel, что именно нужно делать. Обратите внимание на то, что программа Excel вставила комментарии в верхних строках макроса. Это та самая информация, которая находилась в диалоговом окне Запись макроса. Строки комментариев, которые начинаются с апострофа, не явля­ ются необходимыми, и их удаление никак не повлияет на работу самого макроса. Если вы удалите все комментарии, то наша процедура будет состоять только из двух выполняемых операторов: ActiveCell. FormulaRlCl = ’’Майкл Александер’’ Range(”В4″).Select

Первый выполняемый оператор вставляет в текущую активную ячейку то имя, которое при записи макроса было введено в предварительно выбранную ячейку. Первая часть этого оператора, ActiveCell, как раз и обозначает активную ячей­ ку, тогда как вторая часть этого оператора, FormulaRlCl, — это свойство объек­ та Range, которое подробно будет обсуждаться чуть ниже. Когда при записи ма­ кроса вы нажали клавишу* Enter>, программа сместила выделение на одну ячейку вниз (если в настройках программы вы не изменили такое поведение программы, принимаемое по умолчанию). Это действие зафиксировано вторым оператором, Range («В4») . Select. По его виду можно сделать заключение, что перед записью макроса была выбрана ячейка ВЗ.

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

Глава 42. Введение в язык Visual Basic for Applications

1009

Нажмите комбинацию клавиш .

В окне редактора Visual Basic выберите команду меню View=>Microsoft Excel.

В окне программы Excel откройте произвольный рабочий лист (он может быть в той рабочей книге, которая содержит модуль VBA с макросом, или в любой дру­ гой). Выберите любую ячейку и нажмите комбинацию клавиш . Макрос мгновенно введет запомненное в нем имя в выбранную ячейку, после чего активизирует на листе ячейку В4.

Редактирование макроса Записав макрос, его можно в любой момент изменить (но вы должны при этом хорошо понимать, что делаете). Предположим, вы пришли к заключению, что вы­ делять ячейку В4 при завершении работы макроса не требуется, а вместо этого следует активизировать ячейку, расположенную под той, в которую вводится ваше имя. Нажмите комбинацию клавиш , чтобы открыть окно редактора Visual Basic. В этом окне откройте модуль Modulel и измените второй выполняемый опе­ ратор следующим образом: ActiveCell.Offset(1, 0).Select

Отредактированный макрос теперь будет выглядеть так: Sub МоеИмя() I

’ МоеИмя Макрос I

‘ Сочетание клавиш: Ctrl+Shift+N ActiveCell.FormulaRlCl = «Майкл Александер» ActiveCell.Offset(1, 0).Select End Sub

Протестируйте этот макрос, и вы увидите, что он работает так, как было за­ думано.

Адресация в макросах: абсолютная и относительная Если вы собираетесь работать с макросами, то вам необходимо разобраться в по­ нятиях абсолютной и относительной адресации в макросах. В предыдущем при­ мере из этой главы было продемонстрировано, что даже простейший макрос будет работать неправильно при выборе некорректного режима записи макросов. Обычно при записи макроса Excel сохраняет точные адреса ячеек, которые вы выбираете (т.е. выполняет абсолютную адресацию ячеек). Если нажать клавишу , когда табличный курсор находится в ячейке ВЗ, в результате чего он опу­ стится на ячейку вниз, в записываемом макросе будет зафиксировано, что вы вы­ брали ячейку В4. Аналогичным образом, если при записи макроса выбрать, напри­ мер, диапазон В1:В10, то Excel зафиксирует это действие следующим образом: Range(«Bl:В10»).Select

1010

Часть VI. Программирование в Excel

Этот оператор языка VBA означает, что на рабочем листе должны быть выделены ячейки диапазона В1:В10. При запуске данного макроса всегда будут выбираться именно указанные ячейки, независимо от расположения текущей ячейки. На ленте приложения Excel в группе команд Разработчика Код имеется команда Относительные ссылки. Если щелкнуть на этой кнопке-команде во время записи ма­ кроса, Excel перейдет из режима абсолютной адресации (установлен по умолчанию) в режим относительной адресации. Это означает, что выбор диапазона ячеек будет зависеть от расположения активной ячейки. Например, если при записи макроса в режиме относительной адресации активной является ячейка А1, то выбор диапа­ зона ячеек В1 :В 10 приведет к записи следующего оператора: ActiveCell.Offset(0, 1).Range(”А1:А10″).Select

Этот оператор можно расшифровать так: от активной ячейки нужно переме­ ститься на 0 строк вниз и на 1 столбец вправо и считать, что это ячейка А1, а затем относительно этого нового положения выбрать диапазон А1:А10. Другими слова­ ми, макрос, записанный в режиме относительной адресации, в качестве отправной точки использует активную ячейку, а затем выбирает диапазон относительно этой ячейки. Таким образом, в зависимости от расположения активной ячейки результат будет различным. Однако в любом случае будут выбираться десять ячеек одного столбца, начиная с ячейки, смещенной относительно активной на 0 строк вниз и на 1 столбец вправо. Когда Excel работает в режиме относительной адресации, кнопка Относительная ссылка отображается нажатой. Для возврата в режим абсолютной адресации доста­ точно снова щелкнуть на этой кнопке, и она примет свой прежний вид (исчезнет фоновая подсветка).

Другой пример В первом примере выполняемые макросом действия были чрезвычайно просты: после ввода в текущую ячейку заданного имени активизировалась ячейка В4 и на этом его работа заканчивалась. Такое простейшее поведение не могло нанести ка­ кой-либо вред, равно как не существует ничего такого, что могло бы привести к не­ правильному выполнению этого макроса. В следующем примере будет показано, как в результате выбора неправильного режима при записи макроса он будет работать неправильно. Пусть новый макрос должен будет вставлять в активную ячейку теку­ щие дату и время. Запись такого макроса требует выполнения следующих действий.

1. Установите табличный курсор в пустую ячейку.

2. Выберите на ленте приложения команду Разработчик1^ Код ^Запись макроса. Откроется диалоговое окно Запись макроса. 3. Введите новое имя макроса, чтобы заменить стандартное имя Maxpocl. Например, можно выбрать название ДатаВремя. 4. Назначьте этому макросу комбинацию клавиш , введя в поле редактирования Сочетание клавиш букву D при нажатой клавише .

5. Убедитесь, что в поле Сохранить в выбран вариант Эта книга.

Глава 42. Введение в язык Visual Basic for Applications

1011

6. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно Запись макроса.

7. Введите в активизированную ячейку формулу =тдата (). 8. Щелкните на кнопке Копировать (или нажмите комбинацию клавиш

), чтобы скопировать содержимое ячейки в буфер обмена. 9. На ленте выберите команду Главная1^Буфер обмена^ Вставить значения. Эта команда заменит в активизированной ячейке формулу ее текущим зна­ чением. Поэтому в дальнейшем при пересчете рабочего листа это значение изменяться не будет. 10. Нажмите клавишу для выхода из режима копирования. 11.

Поскольку запись макроса на этом должна быть закончена, щелкните на кнопке — Остановить запись, которая находится в строке состояния, или выберите команду Разработчик^Код ^Остановить запись.

Запуск макроса Активизируйте пустую ячейку и для выполнения макроса нажмите комбинацию клавиш . При этом существует достаточно высокая вероятность того, что макрос работать не будет! Программа на языке VBA, записанная в этом макросе, зависит от параметров на­ стройки, устанавливаемых на вкладке Дополнительно диалогового окна Параметры, а именно — Переход к другой ячейке после нажатия клавиши ВВОД. Если выбран этот режим, записанный макрос не будет работать так, как нужно, поскольку ак­ тивная ячейка была изменена после нажатия клавиши при вводе формулы =ТДАТА (). Даже если вы повторно активизируете ячейку во время записи (см. п. 7), макрос по-прежнему не будет работать.

Исследование макроса Откройте окно редактора Visual Basic, чтобы просмотреть код записанного ма­ кроса. На рис. 42.9 показан код макроса на панели Code редактора Visual Basic.

Рис. 42.9.

Подпрограмма ДатаВремя, сгенерированная средством записи макросов

1012

Часть VI. Программирование в Excel

Подпрограмма состоит из пяти операторов. Первый оператор вставляет в ак­ тивную ячейку формулу =NOW (). Второй оператор выбирает ячейку В4; это то действие, о котором говорилось выше: после ввода формулы указатель ячейки ав­ томатически переходит на следующую ячейку и она автоматически выбирается. Значение адреса ячейки в этой строке зависит от того, где именно находится курсор в момент записи макроса. Третий оператор копирует выделенную ячейку в буфер обмена. Четвертый опе­ ратор, состоящий из двух строк (символ подчеркивания в конце строки означает, что оператор продолжается на следующей строке), вставляет как значение содер­ жимое буфера обмена в диапазон, выделенный в текущий момент. Пятый оператор отменяет пунктирную рамку вокруг скопированной ячейки. Проблема заключается в том, что в макросе жестко прописан выбор ячейки В4, и при выполнении этого макроса над другой ячейкой код все равно выберет ячей­ ку В4 и скопирует ее содержимое в буфер обмена. Очевидно, что это совсем не то, что мы хотели, а значит, этот макрос будет работать неправильно. На заметку

Нетрудно заметить, что в макросе записаны некоторые действия, которые вы не выполняли, например добавлены опции для оператора PasteSpecial (Специальная вставка). Это “по­ бочный» продукт преобразования ваших действий в код VBA.

Внимание!

Еще раз обращаем внимание на преобразование названий функций рабочего листа — рус­ ское название функции, введенное в ячейку рабочего листа, автоматически заменяется ан­ глийским при записи макроса. В коде VBA могут использоваться только английские названия ^функций рабочего листа.

Перезапись макроса Внести исправления в макрос можно несколькими способами. Если вы понима­ ете язык VBA, можете редактировать код непосредственно в окне редактора, доби­ ваясь его правильной работы. А можете просто перезаписать макрос в режиме ис­ пользования относительных ссылок. Откройте окно редактора Visual Basic, удалите существующую процедуру ДатаВремя и перезапишите ее. Перед тем как приступить к записи, выберите на ленте приложения команду Разработчик^Код^Относительные ссылки. По сути, это обычный флажок-переключатель, который по умолчанию сброшен. На рис. 42.10 представлен новый макрос, записанный в режиме использования относительных ссылок. Обратите внимание, что во второй строке теперь находится код ActiveCell. Select, а не ссылка на конкретную ячейку на рабочем листе. Это решает проблему

‘в языке VBA имена встроенных функций не переводятся с английского языка на русский. — Примеч. ред.

Глава 42. Введение в язык Visual Basic for Applications

1013

копирования и последующей вставки содержимого неправильной ячейки, но за­ чем же еще раз выбирать ячейку, которая и так уже выбрана? Это один из курьезов процедуры записи макросов. Как только вы выбираете ячейку, как в том случае, когда нажимаете клавишу в завершение ввода формулы, регистрирующий механизм скрупулезно регистрирует каждый выполненный вами выбор. В нашем примере, когда вы нажимаете клавишу в п. 7, этот механизм записывает следующую строку кода: ActiveCell.Offset(1, 0).Range(«Al”).Select

Однако, поскольку вы не выполняете в этой ячейке никаких действий, регистрирую­ щий механизм не сохраняет ее в тексте макроса. Когда вы заново выбираете ячейку, содержащую дату, он замещает в макросе приведенную выше строку другой — той, которую вы и видите в макросе.

Рис. 42.10.

Этот вариант макроса ДатаВремя работает правильно

Тестирование макроса Открыв окно Excel перейдите на произвольно выбранный рабочий лист (он может быть в той же рабочей книге, которая содержит модуль VBA, или в любой другой). Выберите ячейку и нажмите комбинацию клавиш . Макрос мгновенно введет текущую дату и время в выбранную ячейку. Вам может понадо­ биться расширить столбец, в который макрос ввел дату и время. Примите к сведению: если результат работы макроса требует дополнительного вмешательства, это явный сигнал о том, что данный макрос необходимо дорабаты­ вать. В нашем случае, чтобы при выполнении макроса автоматически увеличить ширину столбца до требуемой, добавьте в конец кода макроса (перед оператором End Sub) следующий оператор: ActiveCell.EntireColumn.AutoFit

1014

Часть VI. Программирование в Excel

Еще несколько слов о записи макросов VBA Если вы внимательно выполняли все предыдущие примеры, то, наверное, уже по­ няли, как записываются макросы, и прочувствовали проблемы, которые могут воз­ никнуть при записи даже простейшего макроса. Если программирование на языке VBA вам кажется сложным, не волнуйтесь. Вы с ним не столкнетесь до тех пор, пока записанный макрос будет работать правильно. Если же макрос работает с ошибка­ ми, более простым способом для начинающего представляется перезапись макроса, а не его перепрограммирование. Для того чтобы лучше отслеживать процесс записи, настройте монитор таким образом, чтобы можно было постоянно видеть, какой код генерируется в окнах ре­ дактора Visual Basic. Для этого необходимо сделать так, чтобы окно Excel не было увеличено до максимального размера, после чего разместить окно Excel и окно ре­ дактора Visual Basic на экране монитора таким образом, чтобы были видны оба эти окна. Перед записью своих действий убедитесь в том, что в окне редактора Visual Basic отображается текст именно того модуля, программный код которого будет за­ писываться. (Для выбора требуемого модуля достаточно дважды щелкнуть на его имени на панели Project Explorer.) Совет

При выполнении больших объемов работы с VBA подумайте о том, каким образом можно до­ бавить еще один монитор в вашу систему. В таком случае окно Excel можно будет разместить i на одном мониторе, а окно редактора Visual Basic — на другом.

Сохранение макросов в личной книге Большинство макросов создаются и разрабатываются пользователями для кон­ кретной рабочей книги, но некоторые из них могут использоваться постоянно. Такие макросы (макросы общего назначения) можно хранить в личной книге ма­ кросов, чтобы они всегда были под рукой. Личная книга макросов загружается при каждом запуске Excel. Это файл с именем Personal. xlsb. Но этого файла не суще­ ствует, пока в личную книгу макросов не записан хотя бы один макрос. На заметку

к.Личная книга макросов обычно находится в скрытом окне (чтобы не мешала работать). Чтобы сохранить макрос в личной книге макросов, перед его записью в диало­ говом окне Запись макроса в списке Сохранить в выберите вариант Личная книга макросов. Если макросы находятся в личной книге, то ее не нужно загружать каждый раз при открытии той рабочей книги, в которой будет использован нужный макрос. При выходе из Excel на экране появится вопрос, не хотите ли вы сохранить изменения в личной книге макросов.

Глава 42. Введение в язык Visual Basic for Applications

1015

Назначение макросу комбинации клавиш Перед началом записи макроса в диалоговом окне Запись макроса предлагается задать комбинацию клавиш, после нажатия которой данный макрос запускался бы на выполнение. Если вы не задали эту комбинацию клавиш перед записью макроса и хотите задать ее после записи макроса либо изменить ранее заданную комбина­ цию для конкретного макроса, выполните следующие действия. 1. Выберите команду Разработчик^Код^Макросы (или нажмите комбина­ цию клавиш ). Откроется диалоговое окно Макрос. 2. В диалоговом окне Макрос в списке макросов выберите имя нужного ма­ кроса. 3. Щелкните в этом окне на кнопке Параметры. Откроется диалоговое окно Параметры макроса, показанное на рис. 42.11.

Рис. 42.11.

Диалоговое окно Параметры макроса

4. В диалоговом окне Параметры макроса задайте или измените комбина­ цию клавиш и добавьте или измените описание макроса.

При задании комбинации клавиш введите одну букву (в этом случае комби­ нация будет иметь вид либо нажмите клавишу и введите букву (тогда комбинация клавиш будет иметь вид ). 5. Щелкните на кнопке ОК, чтобы закрыть окно Параметры макроса. 6. Щелкните на кнопке Отмена, чтобы закрыть диалоговое окно Макрос.

Назначение макроса командной кнопке После того как макрос записан и протестирован, его можно назначить командной кнопке, помещенной на рабочий лист. Это делается следующим образом. 1. Если вы создали макрос общего назначения, который планируете исполь­ зовать во многих рабочих книгах, убедитесь, что он сохранен в личной книге макросов. 2. Выберите команду ленты Разработчик^Элементы управления = 500 MsgBox num & Space(1) & Total End Sub

В этой процедуре суммирование квадратов целых чисел будет продолжаться до тех пор, пока значение этой суммы не превысит 500. В циклах Do…loop условие завершения цикла можно проверять либо в операторе Do, либо в операторе Loop, но не в обоих сразу. В результате получается четыре допустимых типа операторов этой группы. •

Do Until (Выполнятьдо…)

Do While (Выполнятьпока…)

Loop Until (Повторять до…)

Loop While (Повторять пока…)

Конструкция With…End With Еще одна конструкция, с которой вы встретитесь при записи макросов, — With… End With. Это вариант сокращения записи, удобный в тех случаях, когда требуется обратиться сразу к нескольким свойствам или методам одного и того же объекта. Приведем пример использования этой конструкции. Sub Выравнивание_ячеек() With Selection .HorizontalAlignment = xlCenter ’По центру .VerticalAlignment = xlCenter ‘По центру

1026

Часть VI. Программирование в Excel

.WrapText = False ‘Ложь .Orientation = xlHorizontal ‘По горизонтали End With End Sub

В следующей подпрограмме выполняются те же самые операции, но уже без кон­ струкции With…End With. Sub Выравнивание_ячеек() Selection.HorizontalAlignment = xlCenter ‘По центру Selection.VerticalAlignment = xlCenter ‘По центру Selection.WrapText = False ‘Ложь Selection.Orientation = xlHorizontal ‘По горизонтали End Sub

Конструкция Select ..Case Конструкцию Select…Case удобно использовать, если нужно выбрать один из нескольких возможных вариантов. Следующий пример иллюстрирует использова­ ние конструкции Select…Case. Здесь проверяется значение в активной ячейке рабочего листа. И если оно меньше 0, то значение в ячейке выводится красным цве­ том, если равно 0 — синим цветом, а если больше 0 — зеленым цветом. Sub Проверка_ячейки() Select Case ActiveCell.Value Case Is < 0 ActiveCell.Font.Colorindex = vbRed ‘Красный Case 0 ActiveCell.Font.ColorIndex = vbBlue ‘Синий Case Is > 0 ActiveCell.Font.Colorindex = vbGreen ‘Зеленый End Select End Sub

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

Пример программы, которую нельзя записать как макрос Ниже приведен пример программы на языке VBA, которую нельзя записать с по­ мощью средства записи макросов Excel. Эта программа создает список всех формул активного рабочего листа, который затем сохраняется на новом рабочем листе. Sub СписокФормул() ‘Объявление используемых переменных Dim InputRange As Range ‘Диапазон Dim Outputsheet As Worksheet ‘Рабочий лист Dim OutputRow As Long ‘Целое число Dim Cell As Range ‘Диапазон ‘ Создание объекта диапазона Set InputRange = ActiveSheet.UsedRange ‘ Добавление нового рабочего листа

Глава 42. Введение в язык Visual Basic for Applications

1027

Set Outputsheet = Worksheets.Add ‘ Переменная для строки вывода OutputRow = 1 ‘ Цикл по всем ячейкам входного диапазона For Each Cell In InputRange If Cell.HasFormula Then Outputsheet.Cells(OutputRow, 1) = » & Cell.Address Outputsheet.Cells(OutputRow, 2) — «’» & Cell.Formula OutputRow = OutputRow + 1 End If Next Cell End Sub

Рабочую книгу сданным примером можно найти в файле list formulas, xlsm на веб-сайте книги (www. wiley. com/go/excel2019bible). Для русскоязычно­ го издания книги файл называется Pic42_13.xlsm. Хотя код этой программы кажется сложным, на самом деле он относительно прост, если его последовательно проанализировать. 1. В макросе создается переменная InputRange. Этой переменной соответству­ ет используемый диапазон ячеек активного рабочего листа (что позволяет проверить каждую ячейку этого листа). 2. В рабочую книгу вставляется новый лист, который присваивается переменнойобъекту Outputsheet. Затем переменной OutputRow присваивается значе­ ние 1. В дальнейшем значение этой переменной будет возрастать с шагом 1. 3. В цикле For…Each проверяется каждая ячейка диапазона InputRange. Если ячейка содержит формулу, то ее адрес и формула записываются на лист Outputsheet, при этом значение переменной OutputRow увеличивается на 1.

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

Дополнительные сведения В этой главе вы лишь поверхностно ознакомились с возможностями языка VBA. Но если вы столкнулись с VBA впервые, то, вероятно, все эти объекты, свойства и ме­ тоды несколько вас ошеломили. Когда знаешь, что хочешь сделать, но не знаешь, ка­ кие для этого нужно использовать объекты, свойства или методы, это может вызвать сильное разочарование. К счастью, есть несколько способов, которые помогут вам как следует разобраться в том, что такое объекты, свойства и методы.

2К сожалению, поскольку формулы «проходят» через код VBA русские названия функций за­ меняются соответствующими английскими названиями. — Примеч. ред.

Часть VI. Программирование в Excel

1028

Макрос СписокФормул создает список всех формул на рабочем листе

Рис. 42.13.

Прочитайте книгу до конца. Последующие главы также посвящены програм­ мированию на VBA. В них вы найдете дополнительные сведения и примеры.

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

Пользуйтесь справочной системой. Основной источник подробной информа­ ции об объектах, методах и процедурах Excel — это система электронной справ­ ки. Она является достаточно полной и доступной. Когда у вас активизирован модуль VBA, поместите курсор на некоторое свойство или метод и нажмите кла­ вишу . В ваше распоряжение будет предоставлена справочная информация, относящаяся к слову, на которое указывает курсор.

Купите еще одну книгу. Существует множество книг, посвященных Excel и, в частности, программированию на языке VBA. В них можно найти исчерпы­ вающую дополнительную информацию по этой теме. Одна из таких книг — Excel 2016: профессиональное программирование на VBA (Диалектика, 2017).

Функции VBA: создание новых функций рабочего листа В ЭТОЙ ГЛАВЕ… Обзор функций VBA Процедуры-функции

Аргументы процедуры-функции Отладка пользовательских функций

Вставка собственных функций в формулы

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

К

Понятие функций VBA Процедуры-функции, создаваемые на языке VBA, достаточно универсальны и мо­ гут использоваться в двух следующих ситуациях. •

Они могут вызываться в выражениях другой процедуры VBA.

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

В этой главе речь пойдет о создании функций, предназначенных для использо­ вания в формулах. Excel содержит более 450 готовых функций рабочего листа, поэтому у вас мо­ жет возникнуть вопрос «Зачем, имея такие богатые возможности выбора, создавать собственные функции?» Основная причина заключается в том, что новые функции

1030

Часть VI. Программирование в Excel

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

На заметку

В настоящей главе предполагается, что вы знакомы с процессом ввода и редактирования ^кода программ на языке VBA в окне редактора Visual Basic.

Необходимые сведения о редакторе Visual Basic приведены в главе 42, «Введение в язык Visual Basic for Applications”.

Простой вводный пример Для тех, кто хорошо знаком с языком программирования VBA, создать новую функцию не составит большого труда. В этом разделе предлагается пример проце­ дуры-функции на языке VBA. Эта функция будет храниться в модуле VBA, доступном из редактора Visual Basic.

Создание новой функции Функция Знак числа, приведенная в данном примере, имеет один аргумент. Она возвращает текстовую строку Положительное, если ее аргумент больше О, Отрицательное, если он меньше 0, и Нуль, если он равен 0. Эта процедура-функция показана на рис. 43.1.

Рис. 43.1.

Простая пользовательская функция

Разумеется, тот же эффект можно получить с помощью следующей формулы ра­ бочего листа, в которой использована вложенная функция ЕСЛИ: =ЕСЛИ (А1=0; ’’Нуль” ; ЕСЛИ (А1>0; «Положительное” ; «Отрицательное») )

Глава 43. Функции VBA: создание новых функций рабочего листа

1031

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

Использование функции на рабочем листе Если ввести на рабочий лист формулу, в которой используется функция Знак_ числа, то Excel вычислит эту функцию и отобразит результат. Таким образом, эта функция работает аналогично любым другим встроенным функциям рабочих листов. Чтобы вставить ее в формулу, нужно воспользоваться командой Формулы1^ Библиотека функций^Вставить функцию, после выбора которой откроется диалоговое окно Вставка функции. В этом окне все пользовательские функции находятся в категории Определенные пользователем. Выберите функцию Знак числа и щелкните на кнопке ОК. Откроется диалоговое окно Аргументы функции для выбранной функции, показан­ ное на рис. 43.2. Допускается также выполнять вложение пользовательских функций и их комбинирование с другими элементами в формулах.

Использование пользовательской функции в формуле рабочего листа

Рис. 43.2.

Анализ новой пользовательской функции В этом разделе мы проанализируем вновь созданную функцию. Еще раз приве­ дем ее код: Function Знак_числа(num) If IsNumeric(num) Then Select Case num Case Is < 0 Знак_числа = ’’Отрицательное” Case 0 Знак_числа = «Нуль» Case Is > 0 Знак_числа = «Положительное» End Select Else Знак_числа = «» End If End Function

1032

Часть VI. Программирование в Excel

Обратите внимание на то, что процедура начинается с ключевого слова Funct i on (а не Sub), за которым следует имя самой функции Знак_числа. Эта функция име­ ет только один аргумент num, имя аргумента заключено в круглые скобки. Вместо аргумента num при вызове функции подставляется либо ссылка на ячейку, либо зна­ чение, которое следует обработать. Если функция используется на рабочем листе, то аргументом может быть адрес ячейки (например, А8) или числовая константа (например, -123). Если функция используется в другой процедуре, то аргументом может быть числовая переменная, числовая константа или значение, полученное из ячейки. Первым оператором в теле функции является оператор If. С него начинается блок операторов, образующих полное описание оператора условия. Этот блок со­ стоит из оператора if, оператора End if, одного или более необязательных опе­ раторов Else if и одного необязательного оператора Else. В приведенном выше программном коде отступы использованы таким образом, чтобы стало очевидным, что операторы Else и End if в нижней части листинга относятся именно к опера­ тору if, расположенному в его верхней части. Использование в листингах отсту­ пов не является обязательным требованием языка VBA, но их наличие значительно упрощает чтение содержащегося в них программного кода. Оператор if содержит вызов встроенной функции IsNumeric, которая возвра­ щает значение True если переданный ей аргумент является числовым значением, и значение False в остальных случаях. Во всех случаях, когда имя встроенной функции начинается с Is или Has, эта функция возвращает значения True или False (тип данных Boolean). Далее в функции Знак_числа используется конструкция Select Case (см. гла­ ву 42, «Введение в язык Visual Basic for Applications»), с помощью которой осущест­ вляются анализ входного параметра num и выбор возвращаемого значения. Если значение параметра num меньше 0, то функции Знак_числа присваивается тексто­ вая строка Отрицательное, если num равно 0, то функции присваивается текстовая строка Нуль, а если num больше 0, то функции Знак_числа присваивается текстовая строка Положительное. Значение, возвращаемое функцией, всегда присваивается переменной, имеющей то же самое имя, что и сама функция. В языке VBA часто существует возможность решить поставленную задачу более чем одним способом. Так, в нашем случае вместо конструкции Select Case можно было бы использовать дополнительный блок If. Приведенный ниже вариант про­ граммного кода возвращает тот же самый результат, что и предыдущий вариант функции, но в нем используется еще один блок проверки условия с операторами If и El se if. Обратите внимание, как отступы в этом примере упрощают чтение кода и обеспечивают четкое понимание, к какому из операторов if относится каждая строка кода. Function Знак_числа(num) ‘Используется оператор If If IsNumeric(num) Then If num = 0 Then Знак_числа = «Нуль» Elself num > 0 Then Знак_числа = «Положительное»

Глава 43. Функции VBA: создание новых функций рабочего листа

1033

Else Знак_числа = «Отрицательное» End If

Else

Знак_числа = «» End If End Function

Процедуры-функции Созданные пользователем процедуры-функции имеют много общего с процеду­ рами-подпрограммами. Тем не менее у них есть существенные различия. Основным различием является то, что процедура-функция возвращает значение (такое, как число, дата или строка текста). В тексте процедуры-функции возвращаемое ей зна­ чение должно быть присвоено переменной с именем, совпадающим с именем функ­ ции, когда выполнение функции прекращается. Чтобы создать новую пользовательскую функцию, выполните следующие дей­ ствия. 1. Откройте редактор Visual Basic. Это можно сделать, нажав комбинацию кла­ виш . 2. В окне Project Explorer выберите требуемую рабочую книгу. Если это окно отсутствует, выберите в окне редактора Visual Basic команду меню View=> Project Explorer. 3. Выберите команду меню Inserts Module (Вставка^Модуль), чтобы вста­ вить в книгу новый модуль VBA, или просто используйте существующий модуль. В любом случае это должен быть стандартный модуль VBA. 4. Введите ключевое слово Function, а за ним — имя функции и список ее аргументов (если они есть), заключив их в круглые скобки. Если в функ­ ции аргументы не используются, редактор VBA добавит пустые скобки авто­ матически. 5. Введите программу на языке VBA, выполняющую необходимые действия, и проследите за тем, чтобы перед ее завершением переменной с тем же именем, что и у функции, присваивалось требуемое значение. Именно это значение будет возвращено функцией.

6. Завершите код функции оператором End Function. Редактор VBA ав­ томатически добавляет этот оператор в окно кода после ввода оператора Function. На заметку

Пункт 3 является очень важным. При помещении функции в программный модуль для объекта ЭтаКнига или рабочего листа (например, Лист1) функция не будет распознана в формуле рабочего листа, и Excel выведет ошибку #имя?. Вставка процедуры-функции в неправильный ^тип модуля кода является типичной ошибкой для начинающих.

Часть VI. Программирование в Excel

1034

Имена функций должны удовлетворять тем же условиям, которые установлены для имен переменных.

Почти все, кто начинают создавать собственные функции с помощью средств VBA, совершают фатальную ошибку: пытаются заставить функцию делать то, что она не может делать в принципе. Функция рабочего листа всегда возвращает значение, а во всем остальном она должна быть полностью «пассивна”. Говоря другими словами, функция не может изменить что-нибудь на рабочем листе. Например, нельзя создать функцию ра­ бочего листа, изменяющую атрибуты форматирования ячейки. (Это пробуют сде­ лать практически все начинающие программисты на VBA, но еще никому из них не удалось достичь успеха.) Если в создаваемой функции вы попытаетесь выполнить действие, которое для нее является недопустимым, то при выполнении эта функ­ ция просто вернет ошибку. Тем не менее предыдущий абзац не совсем точен. Существует несколько ситуаций, в которых пользовательские функции VBA, использованные в формулах, могут оказать определенный эффект. Например, можно создать собственную функцию рабочего листа, которая будет добавлять или удалять комментарии в ячейках. И все же в большинстве случаев функции, которые используются в формулах, долж­ ны быть пассивными. Однако если пользовательские функции VBA не используются в формулах на ра­ бочем листе, они могут делать все то же самое, что и обычная процедура-подпро­ грамма (Sub), включая изменение атрибутов форматирования ячейки.

Запуск процедур-функций Существует множество способов запуска процедуры-подпрограммы (Sub) на вы­ полнение. Что же касается процедуры-функции, то для нее существует только два таких способа.

Вызов функции из другой VBA-процедуры.

Использование процедуры-функции в формуле рабочего листа.

Вызов функции из другой процедуры Пользовательскую функцию можно вызывать из процедуры VBA точно так же, как и встроенные функции VBA. Например, после того как вы определили функцию Вычисление_налога, можно в VBA-коде ввести следующий оператор: Налог = Вычисление_налога(Сумма; Ставка)

Этот оператор вызывает функцию Вычисление_налога, передавая ей в качестве аргументов значения переменных Сумма и Ставка. Результат вычисления функции присваивается переменной Налог.

Глава 43. Функции VBA: создание новых функций рабочего листа

1035

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

Перед именем функции введите ссылку на файл рабочей книги. Например, если нужно воспользоваться функцией Счет, которая определена в рабочей кни­ ге Мои_функции, то можно сослаться на этот файл следующим образом: =Мои_функции.xlsm!Счет(Al:А1000)

Если в имени рабочей книги содержится пробел, то необходимо заключить это имя в одинарные кавычки, например: =’Мои функции.xlsm’!Счет(Al:А1000)

Если функция была помещена на рабочий лист с помощью диалогового окна Вставка функции, то ссылка на рабочую книгу будет вставлена автоматически. Установите ссылку на рабочую книгу. Если функция определена в рабочей книге, на которую установлена ссылка, то уже не нужно вводить имя этой рабо­ чей книги перед именем функции. Ссылка на другую рабочую книгу устанавли­ вается с помощью команды Tools’^References (Сервис=>Ссылки), которая доступ­ на в окне редактора Visual Basic. При этом вы получите список ссылок, которые включают все открытые рабочие книги. Просто установите флажок для той рабо­ чей книги, которая содержит данную функцию. (Если рабочая книга не открыта, воспользуйтесь кнопкой Browse (Обзор).) Создайте надстройку. Если создать надстройку из рабочей книги, в которой есть процедуры-функции, то при использовании одной из этих функций в фор­ муле не нужно будет вставлять ссылку на файл. Но имейте в виду, что сама над­ стройка в этом случае должна быть предварительно загружена.

Надстройкам в этой части книги посвящена глава 48, “Создание надстроек Excel». На заметку

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

Часть VI. Программирование в Excel

1036

Аргументы процедур-функций Об аргументах процедуры-функции нужно помнить следующее. •

В качестве аргументов могут использоваться переменные (включая массивы), константы, литералы (текстовые строки) или выражения.

Некоторые функции могут не иметь аргументов.

Функция может иметь фиксированное число обязательных аргументов (от 1 до 60).

В некоторых функциях могут быть как обязательные, так и необязательные аргументы.

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

Все примеры этого раздела можно найти в файле vba functions.xlsm на веб­ сайте книги (www.wiley.com/go/excel2019bible). Для русскоязычного из­ дания книги файл называется Pic43_01.xlsm.

Пример функции без аргументов В большинстве функций аргументы используются, но это не является обязатель­ ным требованием. В программе Excel, например, есть несколько встроенных функ­ ций рабочих листов, не имеющих аргументов: слчис, сегодня и тдата. Приведем пример простой функции, не имеющей аргументов. Она возвращает свой­ ство UserName (Имя пользователя) объекта Application. Это то имя, которое отобра­ жается в группе Личная настройка Micrisoft Office на вкладке Общие диалогового окна Параметры Excel. Данный пример простой, но полезный в том отношении, что не суще­ ствует другого способа вставить имя пользователя в формулу рабочего листа. Function Пользователь() ‘ Возвращает имя пользователя Пользователь = Application.UserName End Function

Если ввести в ячейку рабочего листа приведенную ниже формулу, то в этой ячейке отобразится имя пользователя: ^Пользователь()

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

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

Глава 43. Функции VBA: создание новых функций рабочего листа

1037

Function Скажи_это(текст) 1 Произносится текст, заданный как аргумент Application.Speech.Speak (текст) End Function

На

заметку

Для прослушивания синтезированного голоса в компьютере должна быть установлена и правильно настроена звуковая подсистема. Данная возможность поддерживается только для текста на английском языке. Например, при вводе приведенной ниже формулы Excel «проговорит» содержи­ мое ячейки А1 при пересчете рабочего листа: =Скажи_это(А1)

Этой же функцией можно воспользоваться в немного более сложной формуле, как показано ниже. В этом примере аргумент представляет собой текстовую строку, а не ссылку на ячейку: =ЕСЛИ(СУММ(А:А)>1000;Скажи_это(«Goal reached»);)

Данная формула вычисляет сумму значений в столбце А. Если сумма превыша­ ет 1000, вы услышите «Goal reached» (цель достигнута). При применении в формуле рабочего листа функции Скажи_это в том виде, в каком она представлена выше, эта функция всегда возвращает значение 0, так как в ней ника­ кое значение имени функции не присваивается. Для исправления этого эффекта мож­ но, например, добавить в ее код, сразу под оператором Function, следующую строку: Скажи_это = ” ”

Теперь эта функция будет возвращать пробел как еще один результат своего вы­ полнения.

Еще один пример функции с одним аргументом В этом разделе представлен пример более сложной функции, которая будет полезна, например, менеджеру по продажам, которому нужно рассчитывать свои комиссионные. Процент комиссионных зависит от объема проданного товара — тот, кто продает больше товара, получает более высокий процент комиссионных. Приведенная ниже функция возвращает величину размера комиссионных, который зависит от объема продаж (объем продаж — это единственный, но обязательный аргумент данной функции). Вычисления, выполняемые в данном примере, основа­ ны на соотношениях, приведенных в следующей таблице. Объем продаж за месяц

Процент комиссионных

0-9999 10 000-19 999 20 000-39 999 40 000 и более

8 10,5 12,0 14

1038

Часть VI. Программирование в Excel

Существует несколько способов расчета комиссионных для различных величин объемов продаж, введенных на рабочий лист. Можно написать, например, следую­ щую формулу: =ЕСЛИ(И(А1>=0;А1=10000; А1=20000;А1=40000;А1*0, 14/0))))

Однако этот метод неудачен по двум причинам. Во-первых, приведенная формула слишком сложная и трудная для понимания, а во-вторых, она недостаточно универ­ сальна — ее будет трудно модифицировать, если правила назначения комиссион­ ных изменятся. Более удачным является подход, при котором для расчета комиссионных исполь­ зуется функция работы с таблицей, например: =ВПР(А1;Таблица;2)*А1

В этом случае применение функции ВПР требует наличия на рабочем листе таблицы с комиссионными ставками. Однако еще лучше создать новую процедуру-функцию, как показано ниже. Function Комиссионные(Продажи) ’ Вычисление комиссионных в зависимости от объема продаж Ставка1 = 0.08 Ставка2 = 0.105 СтавкаЗ = 0.12 Ставка4 = 0.14 Select Case Продажи Case 0 То 9999.99 Комиссионные = Продажи ★ Ставка1 Case 10000 То 19999.99 Комиссионные = Продажи * Ставка2 Case 20000 То 39999.99 Комиссионные = Продажи * СтавкаЗ Case Is >= 40000 Комиссионные = Продажи * Ставка4 End Select End Function

После ввода в модуль VBA эту функцию можно будет использовать в формуле ра­ бочего листа или вызвать из другой процедуры VBA. Если ввести в ячейку рабочего листа приведенную ниже формулу, то в результате получим число 3000 (поскольку объему продаж 25 000 соответствуют 12% комиссионных): ^Комиссионные(25000)

Если значение объема продаж хранится в ячейке D23, то в качестве аргумента функ­ ции можно использовать также ссылку на эту ячейку: ^Комиссионные(D23)

Глава 43. Функции VBA: создание новых функций рабочего листа

1039

Пример функции с двумя аргументами Данный пример основан на предыдущем. Предположим, менеджер по продажам ввел новые правила: общая сумма комиссионных увеличивается на 1% за каждый год работы продавца в данной фирме. В этом примере приведенная в предыдущем разделе функция Комиссионные модифицирована таким образом, чтобы у нее было два аргумента (и оба обязательные). Назовем эту новую функцию Комиссионные2. Function Комиссионные2(Продажи, Стаж) ‘ Вычисление размера комиссионных с учетом выслуги лет Ставка1 = 0.08 Ставка2 = 0.105 СтавкаЗ = 0.12 Ставка4 = 0.14 Select Case Продажи Case 0 То 9999.99 Комиссионные2 = Продажи * Ставка1 Case 10000 То 19999.99 Комиссионные2 = Продажи ★ Ставка2 Case 20000 То 39999.99 Комиссионные2 = Продажи * СтавкаЗ Case Is >= 40000 Комиссионные2 = Продажи * Ставка4 End Select Комиссионные2 = Комиссионные2 + (Комиссионные2 * Стаж / 100) End Function

Как видите, модификация очень проста: к функции Комиссионные добавлен вто­ рой аргумент Стаж (в операторе Function) и перед выходом из функции добавлен дополнительный оператор для расчета окончательного значения суммы комиссион­ ных с учетом стажа работника. Ниже приведен пример того, как написать формулу с использованием данной функции (при этом предполагается, что величина объема продаж находится в ячей­ ке А1, а количество отработанных продавцом лет — в ячейке В1). =Комиссионные2(Al, В1)

Пример функции с аргументами-диапазонами В описанном ниже примере продемонстрировано, как можно использовать диа­ пазон ячеек рабочего листа в качестве аргумента функции. В этом нет ничего слож­ ного, поскольку программа Excel сама позаботится о деталях. Предположим, что требуется вычислить среднее для пяти наибольших величин из диапазона Данные. В Excel нет стандартной функции для такого расчета, поэтому нужно написать следующую формулу: = (НАИБОЛЬШИЙ (Данные; 1) +НАИБОЛЫПИЙ (Данные; 2) + НАИБОЛЬШИЙ (Данные; 3) +НАИБОЛЫКИЙ (Данные; 4) +НАИБОЛЫПИЙ (Данные; 5) ) /5

1040

Часть VI. Программирование в Excel

В этой формуле используется встроенная функция Excel наибольший, которая возвращает n-е наибольшее число из заданного диапазона. Пять наибольших чисел диапазона Данные складываются, и полученный результат делится на 5. Но хотя эта формула прекрасно работает, она все-таки довольно громоздкая и не является универсальной. Что делать, если понадобится вычислить среднее шести наиболь­ ших величин? Неужели придется каждый раз вносить изменения в формулу? Мало того, в этом случае нужно будет проследить еще и за тем, чтобы обновить все копии данной формулы, имеющиеся на листе или в книге! А теперь представьте, насколько все упростилось бы, если бы в Excel была функ­ ция Среднее_наибольших. Тогда для вычисления среднего можно было бы просто ввести такую формулу: =Среднее_наибольших(Данные;5)

Это еще один пример того, насколько собственные функции могут упро­ стить жизнь. А теперь приведем текст этой пользовательской функции Среднее_ наибольших. Она возвращает среднее значение для п наибольших величин задан­ ного диапазона. Function Среднее_наибольших(Диапазон, К_во) ’ Вычисление среднего для заданного числа наибольших чисел в диапазоне Сумма = О For i = 1 То К_во Сумма = Сумма + WorksheetFunction.Large(Диапазон, i) Next i Среднее_наибольших = Сумма / К_во End Function

У этой функции два аргумента: Диапазон (диапазон рабочего листа) и К_во (ко­ личество значений, для которых вычисляется среднее). Работа функции начинается с обнуления переменной Сумма. Затем используется цикл For…Next для расчета суммы наибольших величин в диапазоне, причем их количество равно значению аргумента К_во. И наконец, переменной Среднее наибольших присваивается зна­ чение переменной Сумма, разделенное на значение аргумента к_во. В VBA-процедурах можно использовать любые функции рабочих листов Excel, кроме тех, которые имеют эквиваленты в языке VBA. Например, существует функ­ ция Rnd языка VBA, которая возвращает случайное число. Поэтому в своих VBAпрограммах вы при необходимости всегда должны использовать функцию VBA Rnd, а не функцию слчис программы Excel.

Простая и полезная функция Полезные функции не обязательно должны быть сложными. Функция, обсуждае­ мая в этом разделе, собственно представляет собой всего лишь оболочку для встро­ енной функции VBA Split. Функция Split существенно упрощает выборку эле­ мента из строки, содержащей символы-разделители. Наша новая функция получила имя Выбрать_элемент:

Глава 43. Функции VBA: создание новых функций рабочего листа

1041

Function Выбрать_элемент(Текст, п, Разделитель) ‘ Возвращает n-й элемент текстовой строки, в которой элементы ‘ разделены заданным символом-разделителем Выбрать_элемент = Split(Application.Trim(Текст), Разделитель) (n — 1) End Function

Эта функция имеет три аргумента.

Текст. Текстовая строка, содержащая символы-разделители, или ссылка на ячейку, которая содержит такую строку.

п. Порядковый номер требуемого элемента в строке.

Разделитель. Символ-разделитель, используемый в этой строке.

Приведем пример формулы, в которой используется функция Выбрать_элемент: =Выбрать_элемент(”123-45-678″;2;»-«)

Эта формула возвратит значение 45, которое является вторым элементом, отделяе­ мым в строке символом тире. В качестве разделителя можно также использовать пробел. Вот пример форму­ лы, извлекающей фамилию из строки, содержащей имя и фамилию, и хранящейся в ячейке А1: =Выбрать_элемент(Al;1;» ”)

Отладка пользовательских функций Отладить процедуру-функцию немного сложнее, чем процедуру-подпрограм­ му. Если вы создали функцию для использования в формулах рабочих листов, то скоро обнаружите, что ошибка в этой функции приводит к появлению сообщения об ошибке в ячейках, содержащих эти формулы. Обычно это сообщение выглядит как #ЗНАЧ!. Другими словами, вы не получите сообщение об ошибке, возникшей во время выполнения функции, с помощью которого можно было бы установить опе­ ратор с ошибкой. При отладке формулы рабочего листа лучше всего использовать единственный экземпляр этой функции на рабочем листе. Ниже приведены три метода, которыми можно воспользоваться для поиска ошибок в функциях.

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

Протестируйте созданную функцию, вызвав ее из процедуры-подпро­ граммы. Тогда при возникновении ошибки появится соответствующее сооб­ щение. Вы сможете исправить ошибку (если сразу обнаружите ее) или пере­ йти в отладчик редактора Visual Basic.

Часть VI. Программирование в Excel

1042

Создайте в функции точки останова, а затем выполните ее под управлени­ ем Excel. После этого вы сможете обратиться к обычным средствам отладки. Если нажать клавишу , оператор, на котором находится курсор, станет точкой останова. Выполнение программы остановится, и вы получите воз­ можность пройти программный код строка за строкой (нажимая для этого клавишу ). Больше узнать о средствах отладки VBA можно в справочной

системе.

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

В диалоговом окне Вставка функции не отображаются имена тех функций, которые объяв­ лены с помощью ключевого слова Private. Поэтому при создании функции, которая будет вызываться исключительно из VBA-кода, целесообразно объявить эту функцию с ключевым СЛОВОМ

Private.

Кроме того, в диалоговом окне Вставка функции можно отобразить и описание созданной вами функции. Но для этого потребуется выполнить определенные дей­ ствия, как описывается ниже. 1. Создайте функцию в каком-нибудь модуле в окне редактора Visual Basic.

2. Перейдите в окно Excel. 3. Выберите команду Разработчика Код ^Макросы. Откроется диалоговое окно Макрос.

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

5. Щелкните на кнопке Параметры, чтобы открыть диалоговое окно Пара­ метры макроса (рис. 43.3). 6. Введите описание функции и щелкните на кнопке ОК. Следует предупре­ дить, что к созданным вами функциям поле Сочетание клавиш отношения не имеет и использоваться не может.

Глава 43. Функции VBA: создание новых функций рабочего листа

1043

Рис. 43.3. В этом диалоговом окне можно ввести описание новой функции, которое затем отобразится в диалоговом окне Вставка функции

Введенное вами описание функции в дальнейшем будет отображаться в диалого­ вом окне Вставка функции. Другой, и более эффективный, способ описания собственных функций заключа­ ется в вызове из VBA-кода метода MacroOptions объекта Application. Этот метод позволяет не только ввести описание назначения функции, но и присвоить ей опре­ деленную категорию и даже дать описание ее аргументов. Описания аргументов отображаются в диалоговом окне Аргументы функции, которое открывается после выбора функции в диалоговом окне Вставка функции. Возможность описания аргу­ ментов функций пользователя впервые появилась в Excel 2010. В качестве примера общее описание, категория и описание аргументов были до­ бавлены для обсуждавшейся выше функции Среднее_наибольших, для чего была подготовлена и выполнена следующая подпрограмма-процедура: Sub СоздатьОписАрг() Application.MacroOptions Macro:=»Среднее_наибольших», _ Description:=»Вычисляет среднее значение наибольших п значений диапазона», _ Category:=3, _ ArgumentDescriptions:=Array(«Содержащий данные диапазон», _ «Значение п») End Sub

Эту процедуру достаточно выполнить только один раз. После ее выполне­ ния общее описание, категория и описание аргументов вашей функции будут со­ хранены в системном файле приложения. На рис. 43.4 показано диалоговое окно Аргументы функции, в котором пользователю предлагается ввести аргументы функ­ ции Среднее_наибольших, а также представлено ее полное описание. Учтите, что теперь эта функция относится к категории функций 3 (Математические), и искать ее в окне Вставка функции теперь следует именно в этой категории. (Для справок: перечень номеров категорий функций приводится в справочной системе VBA.)

Часть VI. Программирование в Excel

1044

Использование диалогового окна Аргументы функции для вставки функции, созданной пользователем

Рис. 43.4.

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

В главе 47, “Примеры VBA-программ”, также можно найти множество полезных примеров функций VBA. Можно воспользоваться этими примерами напрямую или адаптировать их для своих нужд.

Создание экранных форм В ЭТОЙ ГЛАВЕ… Зачем создавать новые диалоговые окна

Альтернатива экранным формам Создание пользовательских диалоговых окон

Примеры экранных форм Дополнительная информация о создании диалоговых окон

ачав работать в Excel, вы сразу же столкнетесь с такими элементами интер­ фейса, как диалоговые окна. В Excel, как и в большинстве других программ, написанных для Windows, диалоговые окна используются для получения ин­ формации, определения параметров команд и вывода на экран сообщений. Excel по­ зволяет относительно легко создавать собственные диалоговые окна, работающие по такому же принципу, как и те, которые встроены в саму программу. Эта глава посвящена созданию диалоговых окон, которые в VBA называются экранными фор­ мами (UserForm).

Н

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

1046

Часть VI. Программирование в Excel

Далее приводится пример простейшего макроса, который переводит текст каж­ дой ячейки в выбранном диапазоне в верхний регистр (пропуская при этом ячейки, содержащие формулу). В этой процедуре используется встроенная функция языка VBA StrConv. Sub Переключение_регистра () For Each cell In Selection If Not cell.HasFormula Then cell.Value = StrConv(cell.Value, vbUpperCase) End If Next cell End Sub

Этот макрос полезен, но его можно усовершенствовать. Например, макрос будет еще более полезным, если он дополнительно позволит изменять регистр содержи­ мого ячеек в нижний или соответствующий заголовкам регистр (когда только первая буква каждого слова переводится в верхний регистр). Это изменение внести совсем нетрудно, но если внести такие изменения в макрос, то необходимо предус­ мотреть способ спросить у пользователя, какой именно тип изменения необходимо сделать в ячейках. Решение заключается в создании диалогового окна наподобие представленного на рис. 44.1. Это диалоговое окно Переключение регистра создано с помощью редактора Visual Basic и отображается с помощью макроса VBA.

Рис. 44.1. В диалоговом окне Переключение регистра

пользователь может сделать выбор

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

Глава 44. Создание экранных форм

1047

Альтернатива экранным формам Хотя создавать новую экранную форму совсем несложно, иногда проще восполь­ зоваться готовыми средствами VBA. Например, в VBA есть две функции, MsgBox и InputBox, которые позволяют отображать простые диалоговые окна, не создавая экранную форму собственными руками. Эти диалоговые окна можно видоизменять несколькими способами, но, конечно, они не могут обеспечить всех тех возможно­ стей, которые доступны в диалоговых окнах, созданных самим пользователем.

Использование функции InputBox Функция InputBox предназначена для получения одного вводимого пользовате­ лем значения. Упрощенная версия функции InputBox имеет следующий синтаксис. InputBox(сообщение[,заголовок] [, стандартное_значение] )

Назначение аргументов этой функции описано ниже.

Сообщение. Текст, отображаемый в окне (обязательный аргумент).

• Заголовок. Текст, который появляется в строке заголовка окна (необяза­ тельный аргумент).

Стандартное_значение. Значение, отображаемое в окне ввода по умол­ чанию (необязательный аргумент).

В следующем примере функция InputBox предлагает пользователю ввести свое полное имя: Имя = InputBox(«Введите ваше имя:»,

«Имя пользователя»)

При выполнении этого оператора языка VBA Excel выводит на экран диалоговое окно, показанное на рис. 44.2. Заметьте, что в данном примере использованы толь­ ко два первых аргумента, параметр стандартное_значение не задан. Когда поль­ зователь введет некоторое значение и щелкнет на кнопке ОК, это значение будет присвоено переменной Имя, которую затем можно будет использовать в VBA-коде.

Диалоговое окно, которое выводится на экран при вызове функции InputBox

Рис. 44.2.

Использование функции MsgBox Функция VBA MsgBox — это весьма удобное средство для того, чтобы отобразить на экране информацию и попросить пользователя сделать выбор, щелкнув на одной

Часть VI. Программирование в Excel

1048

из предложенных кнопок. Эта функция использована во многих примерах данной книги, чтобы вывести значение переменной. Краткий синтаксис функции MsgBox выглядит следующим образом. MsgBox (сообщение [, кнопки] [, заголовок] )

Ниже приведено описание аргументов этой функции.

Сообщение. Текст, отображаемый в окне сообщения (обязательный аргумент).

Кнопки. Коды кнопок, которые будут отображены в окне сообщения (необя­ зательный аргумент).

• Заголовок. Текст, который появится в строке заголовка окна сообщения (необязательный аргумент).

Функцию MsgBox можно вызывать как в виде отдельного оператора, так и в виде функции, присваивая ее результат какой-нибудь переменной. Если функция вызы­ вается самостоятельно, то аргументы не нужно заключать в круглые скобки. В сле­ дующем примере функция MsgBox выводит на экран сообщение и не возвращает результат: Sub MsgBoxDemoO MsgBox «Для продолжения щелкните на кнопке ОК» End Sub

На рис. 44.3 показано, как выглядит это окно сообщения.

Рис. 44.3. Простое окно с сообщением, отображаемое при выполнении функции MsgBox

Чтобы запросить информацию, используя подобное окно сообщения, результат функции MsgBox нужно присвоить какой-либо переменной. В приведенной ниже процедуре использованы встроенные константы (подробнее о них — чуть ниже), которые упрощают работу со значениями, возвращаемыми функцией MsgBox. Sub ПолучениеОтвета() Ответ = MsgBox(«Продолжить?», vbYesNo) Select Case Ответ Case vbYes ‘ [операторы, выполняющиеся, когда пользователь ‘ щелкнул на кнопке Да]… Case vbNo 1 [операторы, выполняющиеся, когда пользователь ‘ щелкнул на кнопке Нет]… End Select End Sub

Глава 44. Создание экранных форм

1049

При выполнении этой процедуры переменной Ответ присваивается одно из зна­ чений, vbYes или vbNo, которое соответствует двум кнопкам диалогового окна. Оператор Select Case определяет действие, которое зависит от значения пере­ менной Ответ. Можно без труда изменять внешний вид окна сообщений с помощью соответ­ ствующих кодов кнопок. В табл. 44.1 перечислены встроенные константы VBA, которые используются в качестве аргументов функции MsgBox для указания кодов отображаемых кнопок. Можно указать, какие кнопки отобразить, должна ли в окне отображаться пиктограмма и какая кнопка выбирается в окне по умолчанию. Таблица 44.1. Константы, используемые в функции MsgBox Константа

Значение

Описание

vbOKOnly

0

vbOKCancel

1

vbAbortRetryIgnore

2

vbYesNoCancel

3

vbYesNo

4

vbRetryCancel

5

vbCritical

16

vbQuestion

32

vbExclamation

48

vblnformation

64

vbDefaultButtonl

0

vbDefaultButton2

256

vbDefaultButton3

512

Отображается только кнопка ОК Отображаются кнопки ОК и Отмена Отображаются кнопки Прервать, Повтор и Пропустить Отображаются кнопки Да, Нет и Отмена Отображаются кнопки Да и Нет Отображаются кнопки Повтор и Отмена Отображается пиктограмма в виде белого крестика в красном кружке (пиктограмма важного сообщения) Отображается пиктограмма в виде белого вопросительного знака в синем кружке (пиктограмма для запрашивающего сообщения) Отображается пиктограмма в виде черного восклицательного знака в желтом треугольнике (пиктограмма для предупреждающего сообщения) Отображается пиктограмма в виде белой буквы i в синем кружке (пиктограмма информационного сообщения) Выбирается по умолчанию первая кнопка Выбирается по умолчанию вторая кнопка Выбирается по умолчанию третья кнопка

В приведенном ниже примере функции используется комбинация констант, чтобы отобразить в окне сообщения кнопки Да и Нет (vbYesNo) и пиктограмму со знаком вопроса (vbQuestion). Вторая кнопка должна выбираться в окне MsgBox по умолчанию (vbDefaultButton2) — это та кнопка, которая будет выбрана, если пользователь просто нажмет клавишу . Для упрощения записи эти констан­ ты предварительно в виде суммы их значений присвоены переменной Константы, которая затем используется в качестве второго аргумента функции MsgBox.

1050

Часть VI. Программирование в Excel

Sub Получение0твета1() Константы = vbYesNo + vbQuestion + vbDefaultButton2 Ответ = MsgBox(«Распечатать ежемесячный отчет?», Константы) If Ответ = vbYes Then ЗапускОтчета If Ответ = vbNo Then End End Sub

На рис. 44.4 показано, как выглядит это окно сообщения при запуске подпрограммы ПолучениеОтвета. Если щелкнуть на кнопке Да, то будет выполняться процедура ЗапускОтчета (здесь не приведена). Если же щелкнуть на кнопке Нет (или нажать клавишу ), то подпрограмма завершит свою работу. Поскольку в функции MsgBox аргумент заголовок опущен, в окне запроса программа выводит стандарт­ ный заголовок Microsoft Excel.

Рис. 44.4. С помощью второго аргумента функции MsgBox задаются кнопки, которые должны появиться в окне сообщения

Следующая подпрограмма — это еще один пример использования функции MsgBox. Sub Получение0твета2() Текст = «Начать создание ежемесячного отчета?» Текст = Текст & vbNewLine & vbNewLine Текст Текст & «Создание отчета займет приблизительно Текст Текст & «15 минут. В результате будет создан » Текст Текст & «отчет по всем проведенным продажам за Текст Текст & «текущий месяц на 30-ти страницах.» Заголовок = «Торговый дом ЧЕБУРАШКА» Константы = vbYesNo + vbQuestion Ответ = MsgBox(Текст, Константы, Заголовок) If Ответ = vbYes Then ЗапускОтчета If Ответ = vbNo Then End End Sub

В этом примере показан эффективный способ вывода в диалоговом окне длин­ ных сообщений. С помощью переменной Текст и оператора конкатенации (&) длинное сообщение было разбито на несколько операторов. Во втором операторе используется константа vbNewLine, которая представляет собой символ начала но­ вой строки (с помощью двух таких символов выполняется вставка пустой строки). Чтобы отобразить в окне сообщения соответствующий заголовок, используется ар­ гумент Заголовок. На рис. 44.5 показано, как выглядит это окно сообщения при выполнении данной процедуры.

Глава 44. Создание экранных форм

Рис. 44.5.

1051

Окно с длинным сообщением и заголовком

Создание пользовательских диалоговых окон Во многих случаях очень удобно использовать функции InputBox и MsgBox, но их возможности достаточно ограничены. Большими возможностями обладают пользовательские диалоговые окна, которые создаются в редакторе Visual Basic как экранные формы (UserForm). Ниже описана последовательность действий, позволяющая создать пользова­ тельское диалоговое окно. 1. Точно определитесь с тем, для чего именно будет использоваться диалого­ вое окно и в какой части макроса оно будет вызываться. 2. Перейдите в редактор Visual Basic и вставьте в свой VBA-проект новую экранную форму. 3. Добавьте на экранную форму необходимые элементы управления. 4. Создайте VBA-макрос, предназначенный для отображения экранной фор­ мы. Этот макрос является обычным модулем VBA.

5. Напишите процедуры обработки событий (таких, как щелчок на кноп­ ке) для элементов управления в экранной форме (например, процедуру для обработки щелчка на кнопке ОК). Эти процедуры должны быть сохра­ нены в модуле экранной формы.

Ниже в этом разделе будут подробно рассмотрены все этапы создания экранных форм.

Работа с экранными формами Чтобы создать диалоговое окно, необходимо сначала вставить новую экранную форму в окно редактора Visual Basic. Чтобы открыть окно редактора Visual Basic, выберите команду Разработчик^ Код ^Visual Basic или нажмите комбинацию клавиш . Убедитесь, что на панели Project в окне редактора VBA выбрана текущая рабочая книга (ЭтаКнига), а затем выберите команду меню InsertsUserForm. В окне редактора появится пустая форма, как показано на рис. 44.6. После активизации формы щелчком мыши на экран будет выведена панель инструментов Toolbox, пред­ назначенная для вставки в диалоговое окно формы элементов управления.

Часть VI. Программирование в Excel

1052

Рис. 44.6.

Пустая экранная форма и панель Toolbox

Вставка в экранную форму элементов управления Элементы управления ActiveX, которые можно вставить в экранную форму, нахо­ дятся на панели инструментов Toolbox, показанной на рис. 44.6. Если панель Toolbox на экране не отображается, выберите команду меню View=>Toolbox. Чтобы вставить какой-либо элемент управления в экранную форму, щелкни­ те на соответствующем инструменте панели Toolbox, а затем на экранной форме. Можно также сначала щелкнуть на необходимом инструменте панели Toolbox, а за­ тем перевести указатель мыши на форму и в нужном месте обвести некоторую область, указав таким образом положение и желаемый размер данного элемента управления в экранной форме. Добавленный в форму элемент управления можно перемещать, при необходимости также можно изменять его размеры. Названия элементов управления, присутствующих на панели Toolbox, с кратким их описанием приведены в табл. 44.2.

Таблица 44.2. Элементы управления на панели Toolbox Элемент управления

Назначение

Добавляет флажок опции (управление логическими опциями) (Поле со списком) Добавляет поле ввода, скомбинированное с раскрывающимся списком для выбора CommandButton (Кнопка) Добавляет командную кнопку Добавляет рамку (контейнер для других объектов) Frame (Рамка) CheckBox(Флажок)

ComboBox

Глава 44. Создание экранных форм

1053 Окончание табл. 44.2

Элемент управления

Image

(Рисунок)

(Надпись) (Список) MultiPage (Набор страниц) Label

ListBox

OptionButton

(Переключатель) (Кнопка сворачивания) RefEdit

ScrollBar

(Полоса

Назначение

Добавляет элемент управления, который может содержать изображение Добавляет надпись (контейнер для текста) Добавляет список (позволяет выбрать элемент из списка) Добавляет многостраничный элемент (контейнер для других объектов) Добавляет один элемент переключателя (“радиокнопка” выбор одного режима из нескольких вариантов) Добавляет поле ввода с кнопкой сворачивания диалогового окна (предоставляет пользователю возможность выделить на рабочем листе ячейку или диапазон) Добавляет полосу прокрутки

прокрутки) SpinButton

Tabstrip

TextBox

(Счетчик)

(Набор вкладок)

(Поле)

ToggleButton

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

(Выключатель)

Некоторые из этих элементов управления можно разместить непосредственно на рабочем листе. О том, как это сделать, рассказывается в главе 45, “Элементы управления на рабочем листе”.

Изменение свойств элементов управления Каждый элемент управления, вставляемый в экранную форму, имеет определен­ ное количество свойств (т.е. параметров), которые определяют внешний вид этого элемента и его поведение. Некоторые свойства, такие как Height (Высота) или Width (Ширина), можно изменить, щелкнув и перетащив границу рамки данного элемента. Для модификации других свойств предназначено окно Properties (Свойства). Чтобы открыть окно Properties, выберите команду меню View1^ Properties Window или нажмите клавишу . В окне Properties отображается список свойств выбран­ ного в данный момент элемента управления (каждый элемент управления имеет свой набор свойств). Если щелкнуть на свободном месте формы, в окне Properties появятся свойства самой этой формы. На рис. 44.7 показано содержимое окна Properties для элемента управления CommandButton (Кнопка). Для изменения какого-либо свойства выберите его в окне Properties (перечень слева), а затем в поле справа введите новое значение. Некоторые свойства, такие как BackColor, позволяют выбирать свои значения из списка. Также в верхней ча­ сти диалогового окна Properties имеется раскрывающийся список, позволяющий вы­ брать по имени тот элемент управления, свойства которого нужно изменить. Кроме

1054

Часть VI. Программирование в Excel

того, не забывайте о такой возможности: чтобы выбрать нужный элемент управле­ ния и отобразить его свойства, просто щелкните на нем в окне формы.

Рис. 44.7.

Окно свойств элемента управления CommandButton (Кнопка)

Когда свойства элементов управления задаются с помощью окна Properties, то го­ ворят, что они устанавливаются в процессе разработки. Кроме того, можно, исполь­ зуя программные средства VBA, изменять значения свойств элементов управления и тогда, когда диалоговое окно уже отображено на экране Excel, т.е. в процессе вы­ полнения. Полное рассмотрение всех свойств элементов управления выходит за рамки этой книги. Чтобы получить сведения о конкретном свойстве любого объекта, щелкните на нем в форме, выберите свойство в окне Properties и нажмите клавишу .

Обработка событий Вставляя в проект экранную форму, следует помнить, что эта форма также может (и должна) содержать VBA-процедуры, обрабатывающие события, генерируемые эле­ ментами экранных форм. Событие — это то, что происходит, когда пользователь воз­ действует на элемент управления экранной формы. Например, щелчок на командной кнопке инициирует событие Click (Щелчок), которое будет ассоциировано с дан­ ной кнопкой. Программное приложение, отобразившее эту кнопку на экране, долж­ но иметь процедуру, которая будет выполняться при наступлении данного события. Такие процедуры принято называть процедурами обработки событий.

Глава 44. Создание экранных форм

1055

Процедуры обработки событий носят имена, в которых название элемента управления объединено с названием события с помощью символа подчеркивания. Например, процедура, которая выполняется после щелчка на кнопке Моя Кнопка, на­ зывается МояКнопка_СИск. Однако вам вовсе не требуется запоминать, как они называются. Просто щелкните на нужном элементе управления правой кнопкой мыши и выберите в открывшемся контекстном меню команду View Code. В открыв­ шемся окне уже будут автоматически вставлены операторы Private Sub и End Sub, причем в первом будет присутствовать корректное имя для обработчика одно­ го из событий данного элемента управления. В верхней части панели Code справа имеется раскрывающийся список, в котором при необходимости можно будет вы­ брать иное требуемое событие вместо предложенного по умолчанию.

Отображение экранных форм Чтобы вывести на экран диалоговое окно, представляемое экранной формой, не­ обходимо создать процедуру, в которой используется метод Show (Показать) объекта UserForm (Экранная форма). Если экранная форма имеет имя UserForml, то следу­ ющая процедура отобразит диалоговое окно, представляемое этой экранной формой: Sub Показать_Диалоговое_Окно() UserForml.Show End Sub

Учтите, что эта процедура должна находиться в стандартном модуле VBA, а не в модуле экранной формы. Если VBA-проект еще не имеет модуля VBA, для того, чтобы его вставить, выберите команду меню Insert^ Module. После выполнения процедуры Показать_Диалоговое_0кно в окне Excel по­ явится экранная форма UserForml. Что произойдет дальше, зависит от процедур обработки событий в этой форме.

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

Эту рабочую книгу можно найти в файле

show message. xlsm на (www.wiley.com/go/excel2019bible). Для русскоязычного файл называется Pic4 4_08. xlsm.

веб-сайте книги издания книги

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

Часть VI. Программирование в Excel

1056

1. Выберите команду Разработчик^Код^^эиа! Basic или нажмите комбина­ цию клавиш . Откроется окно редактора Visual Basic. 2. В окне Project Explorer редактора Visual Basic двойным щелчком выберите

рабочую книгу.

3. Выберите команду меню Insert^UserForm. На экране появятся пустая фор­ ма с названием UserForml и панель Toolbox. 4. Нажмите клавишу , чтобы открыть окно Properties, и измените следу­ ющие свойства объекта UserForm.

Свойство

Изменить на

Name (Имя)

Инфо_окно

Caption (Заголовок)

О данной рабочей книге

5. С помощью панели Toolbox добавьте в экранную форму элемент Label (Надпись)1. Если панель Toolbox не видна, выведите ее на экран, выбрав ко­

манду меню View=>Toolbox. 6. Выделите элемент Label. В окне Properties этого элемента в поле свойства Caption (Заголовок) введите текст, который будет отображаться в этом элементе.

7. В окне Properties элемента Label щелкните на свойстве Font (Шрифт) и подберите соответствующий шрифт. Можно изменить гарнитуру, размер и т.д. Результаты вашей деятельности немедленно отображаются непосред­ ственно в форме. На рис. 44.8 показан пример отформатированной надписи. В нашем примере свойству TextAlign было присвоено специальное значение, которое центрирует текст: 2 — fmTextAlignCenter. 8. Добавьте к диалоговому окну командную кнопку и измените ее свойства так, как показано ниже.

Свойство

Изменить на

Name (Имя)

КнопкаОК

Caption (Заголовок)

ОК

Default (По умолчанию)

True

9. Если нужно, можно внести другие изменения. Можно изменить размер формы, передвинуть, увеличить или уменьшить элементы управления.

Тестирование экранной формы На данном этапе созданное диалоговое окно обладает всеми необходимыми элементами управления. Не хватает лишь способа его отображения. Во время раз­ работки экранной формы можно нажать клавишу для отображения экранной формы в ее текущем виде. Чтобы закрыть эту экранную форму, просто щелкните в ее строке заголовка на кнопке Закрыть ( ).

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

Глава 44. Создание экранных форм

1057

Рис. 44.8. Надпись после ввода текста и изменения используемого шрифта Ниже описано, как написать процедуру, отображающую экранную форму из окна Excel. 1. Вставьте в проект модуль VBA, выбрав в окне редактора команду меню Inserts Module.

2. В пустом модуле введите такой код: Sub Показ_Инфо_окна() Инфо_окно.Show End Sub

3. Перейдите в окно программы Excel (например, с помощью комбинации клавиш ).

4. Выберите на ленте приложения команду Разработчик^ Код ^Макросы (другой вариант — нажать комбинацию клавиш ). Откроется диа­ логовое окно Макрос. 5. В диалоговом окне Макрос выберите в списке макросов Показ Инфо окна и щелкните на кнопке Выполнить. На экране появится созданное вами ра­ нее диалоговое окно.

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

Часть VI. Программирование в Excel

1058

с сообщением, просто щелкните на кнопке закрытия ( заголовка.

), находящейся в его строке

Открыть подобное окно можно также с помощью кнопки, помещенной на рабочий лист. Подробнее о том, как можно подключить макрос к командной кнопке на ра­ бочем листе, речь пойдет в главе 45, «Элементы управления на рабочем листе”.

Создание процедур обработки событий Процедуры обработки события необходимы для организации работы с компо­ нентами диалогового окна, — они выполняются всякий раз, когда возникает то со­ бытие, с которым они связаны. В нашем случае необходимо создать процедуру об­ работки события Click, генерируемого после щелчка в диалоговом окне на кнопке ОК. Продолжая наш пример, выполните такие действия. 1. Нажмите комбинацию клавиш , чтобы перейти в окно редактора Visual Basic. 2. Перейдите к окну экранной формы Инфо_Окно, дважды щелкнув на ее на­ звании в окне Project Explorer.

3. Дважды щелкните на элементе управления КнопкаОК. Редактор активизи­ рует модуль кода экранной формы и вставит в него исходный текст (2 строки) программы обработки этого события, как показано на рис. 44.9.

Рис. 44.9.

Модуль экранной формы Инфо_Окно

4. Вставьте перед оператором End Sub следующий оператор: Unload Me

Этот оператор просто закрывает экранную форму. Вся подпрограмма обра­ ботчика событий должна выглядеть так, как показано ниже. Private Sub КнопкаОК_СИск () Unload Me End Sub

После добавления этой процедуры обработки события щелчок на кнопке ОК бу­ дет работать, как и ожидалось, т.е. приведет к закрытию экранной формы.

Глава 44. Создание экранных форм

1059

На заметку

Ключевое слово Me при использовании в модуле программного кода экранной формы пред­ ставляет собой сокращение, предназначенное для ссылок на саму эту экранную форму. Иначе говоря, запись Unload Me полностью эквивалентна записи Unload Инфо_окно, но здесь есть одно преимущество: если по каким-либо причинам потребуется переименовать данную экранную форму, вносить изменения в оператор Unload Me не потребуется.

Еще один пример диалогового окна Пример, который рассматривается в данном разделе, представляет собой улуч­ шенную версию примера Переключение_регистра, который был приведен в начале этой главы. Напомним, что оригинальная версия этого макроса переводит строчные буквы в выбранных ячейках в прописные. Модифицированная версия будет допол­ нительно запрашивать у пользователя желаемый тип преобразования: перевести все буквы в прописные, строчные или сделать прописной первую букву каждого слова. change case.xlsm на веб-сайте (www.wiley.com/go/excel2019bible). Для русскоязычного издания файл называется Pic4 4 lO.xlsm.

Эту рабочую книгу можно найти в файле

книги книги

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

1. Нажмите комбинацию клавиш , чтобы открыть окно редактора Visual Basic. 2. В окне редактора Visual Basic выберите команду InserKUserForm. Редактор добавит пустую форму с именем UserForml и выведет на экран панель ин­ струментов Toolbox.

3. Нажмите клавишу , чтобы открыть окно свойств экранной формы, и измените ее свойства так, как показано ниже.

Свойство Name (Имя формы)

Изменить на Изменение__регистра

Caption (Заголовок)

Переключение регистра

Добавьте в экранную форму кнопку (элемент CommandButton) и измени­ те ее свойства, как показано ниже. Свойство

Изменить на

Name (Имя)

КнопкаОК

Caption (Заголовок)

ОК

Default (По умолчанию)

True

Часть VI. Программирование в Excel

1060

5. Добавьте в экранную форму еще одну кнопку и измените ее свойства сле­ дующим образом. Свойство

Изменить на

Name (Имя)

КнопкаОтмена

Caption (Заголовок)

Отмена

Cancel (Отмена)

True

Добавьте переключатель (элемент OptionButton) и измените его свойства указанным ниже образом. (Этот переключатель будет установлен при выво­ де формы по умолчанию, поэтому для его свойства Value (Значение) должно быть задано значение True.)

Свойство

Изменить на

Name (Имя)

Верхний_регистр

Caption (Заголовок)

ВСЕ ПРОПИСНЫЕ

Value (Значение)

True

Добавьте второй переключатель и измените его свойства указанным об­ разом. Свойство

Изменить на

Name (Имя)

Нижний регистр

Caption (Заголовок)

все строчные

Добавьте третий переключатель и измените его свойства, как показано ниже. Свойство

Изменить на

Name (Имя)

Смешанный регистр

Caption (Заголовок)

Как В Заголовках

9. Подберите размер кнопок и расположите их на форме таким образом, что­ бы она стала похожа на форму, показанную на рис. 44.10. Убедитесь, что кнопки и переключатели визуально не перекрываются.

Рис. 44.10. Диалоговое окно после вставки элементов управления и настройки их свойств

Глава 44. Создание экранных форм

1061

Совет

В редакторе Visual Basic есть несколько полезных команд, которые могут помочь подобрать для элементов управления подходящий размер и выровнять их один относительно другого. Выделите нужные элементы, а затем выберите соответствующую команду из меню Format. Названия этих команд достаточно понятны; кроме того, в справочной системе можно найти их полное описание.

Создание процедур обработки событий В этом разделе будут созданы две процедуры обработки событий: одна — чтобы обработать событие Click (щелчок) для командной кнопки КнопкаОтмена, другая — чтобы обработать событие Click для командной кнопки КнопкаОК. Для переклю­ чателей нет необходимости создавать специальные процедуры обработки событий, поскольку, какой именно из трех переключателей был выбран пользователем, можно определить средствами VBA. Более того, от программы не требуется непосредствен­ ной реакции на выбор пользователем варианта выполнения процедуры, — реакция необходима только на его щелчки на командных кнопках ОК и Отмена. Подпрограммы обработки событий хранятся в модуле формы. Чтобы создать подпрограмму обработки события Click для командной кнопки КнопкаОтмена, выполните описанные ниже действия. 1. Активизируйте форму UserForml, дважды щелкнув на ее имени в окне Project.

2. Дважды щелкните на кнопке КнопкаОтмена. Редактор Visual Basic откроет модуль для формы и вставит в него заготовку для текста процедуры обработ­ ки события данной кнопки. 3. Вставьте следующий оператор перед оператором End Sub: Unload Me

4. Закройте окно модуля формы.

Вот и все. Полная подпрограмма обработки события Click для кнопки Отмена должна выглядеть так, как показано ниже. Private Sub КнопкаОтмена_СИск () Unload Me End Sub

Эта подпрограмма будет выполняться после щелчка на кнопке Отмена. Она состоит из единственного выполняемого оператора, который закрывает форму UserForml. Далее следует написать процедуру обработки события Click для кнопки ОК. Для этого выполните действия, описанные ниже.

1. Выберите в раскрывающемся списке, расположенном в верхней части окна Properties, объект КнопкаОК. После этого в окне формы дважды щел­ кните на кнопке ОК. Редактор подготовит новую процедуру, которая будет называтьсяКнопкаОК Click.

Часть VI. Программирование в Excel

1062

2. Введите приведенный ниже текст программы (первый и последний опе­ раторы уже введены). Private Sub КнопкаОК_СИск () ‘ Если диапазон не выбран, выйти If TypeName (Selection) о ’’Range» Then Exit Sub ‘ ВСЕ ПРОПИСНЫЕ If Me.Верхний—регистр.Value Then For Each cell In Selection If Not cell.HasFormula Then cell.Value = StrConv(cell.Value, vbUpperCase) End If Next cell End If ‘ все строчные If Me.Нижний_регистр. Value Then For Each cell In Selection If Not cell.HasFormula Then cell.Value = StrConv(cell.Value, vbLowerCase) End If Next cell End If ‘ Как В Заголовках If Me.Смешанный-регистр.Value Then For Each cell In Selection If Not cell.HasFormula Then cell.Value = StrConv(cell.Value, vbProperCase) End If Next cell End If Unload Me. End Sub

Макрос начинается с проверки типа выбранного диапазона. Если диапазон не выбран, процедура сразу же завершается. Остальная часть подпрограммы состоит из трех отдельных блоков, из которых выполняется только один, соответствующий выбранному переключателю. Выбранный переключатель имеет значение свойства Value, равное True. После выполнения надлежащего блока экранная форма вы­ гружается (закрывается).

Отображение диалогового окна На данном этапе диалоговое окно обладает всеми необходимыми элементами управления. Не хватает лишь средств отображения диалогового окна на рабочем листе Excel. В этом разделе мы расскажем о том, как написать VBA-процедуру, вы­ полняющую нужные нам действия, т.е. выводит форму непосредственно на рабо­ чий лист Excel. 1. Убедитесь, что редактор Visual Basic активизирован.

2. Вставьте в проект модуль, выбрав команду меню Insert^Module.

Глава 44. Создание экранных форм

1063

3. В пустом окне текста модуля введите следующий код: Sub Переключение_регистра() Изменение_регистра.Show End Sub

4. Выберите команду Run^Run Sub/UserForm или нажмите клавишу . После этого управление перейдет в окно Excel, где будет открыто новое диа­ логовое окно (рис. 44.11).

Рис. 44.11.

Вывод нового диалогового окна на рабочий лист

Тестирование диалогового окна Чтобы протестировать поведение диалогового окна Переключение регистра не­ посредственно в среде Excel, выполните следующие действия. 1. Перейдите в окно Excel. 2. Введите в несколько ячеек листа какой-нибудь текст. 3. Выделите диапазон ячеек с текстом. 4. Выберите команду Разработчик^Код^Макросы или нажмите комбина­ цию клавиш . Откроется диалоговое окно Макрос.

5. В диалоговом окне Макрос выберите в списке макросов процедуру Переключение_регистра и щелкните на кнопке Выполнить. В результате откроется созданное ранее диалоговое окно Переключение регистра.

6. Установите переключатель в требуемое положение и щелкните на кноп­ ке ОК. Проверьте работу окна на других ячейках, включая несмежные ячейки. Обратите внимание на то, что, если щелкнуть на кнопке Отмена, диалоговое окно закроется без каких-либо последствий для содержимого выбранных ячеек. Казалось бы, все хорошо, однако этот программный код имеет недостаток: при выборе целиком одного или нескольких столбцов процедура обрабатывает все ячей­ ки столбца, что может потребовать очень много времени. В версии этой рабочей

1064

Часть VI. Программирование в Excel

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

Назначение макроса кнопке на рабочем листе На этом этапе все, казалось бы, работает, как надо. Все, кроме одного: процедуру вызова макроса на выполнение не назовешь слишком быстрой и простой. Насколько было бы удобнее, если бы макрос запускался по щелчку на какой-нибудь кнопке, расположенной непосредственно на рабочем листе! В Excel это делается очень про­ сто, достаточно лишь выполнить несколько действий. 1. Выберите команду Разработчик ^Элементы управления ^Вставить. В рас­

крывшейся палитре элементов управления щелкните на элементе Кнопка. 2. Перетащите кнопку на рабочий лист Excel. Откроется диалоговое окно Назначить макрос объекту.

3. В диалоговом окне Назначить макрос объекту выберите в списке макрос Переключение_регистра. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно Назначить макрос объекту. 4. (Необязательно.) Вероятно, вы захотите заменить стандартный текст на кнопке чем-то более содержательным. Для этого щелкните на кнопке правой кнопкой мыши и выберите в контекстном меню команду Изменить текст, а затем измените текст непосредственно на кнопке. После выполнения всех этих действий щелкните на новой кнопке — должно от­ крыться созданное вами ранее диалоговое окно Переключение регистра.

Для рабочего листа в данном примере используется кнопка из группы Элементы управления формы. Excel предоставляет также возможность использовать элементы управления из группы Элементы ActiveX. Подробные сведения об элементах управ­ ления этой группы приведены в главе 45, “Элементы управления на рабочем листе».

Назначение макроса кнопке на панели быстрого доступа Если вы хотите использовать данный макрос в другой рабочей книге, то назначь­ те его кнопке, расположенной на панели быстрого доступа. Чтобы назначить ма­ крос кнопке панели быстрого доступа, выполните такие действия. 1. Убедитесь, что рабочая книга, содержащая макрос, открыта. 2. Щелкните где-нибудь на ленте приложения правой кнопкой мыши и вы­ берите в открывшемся контекстном меню команду Настройка панели быстрого доступа. Откроется диалоговое окно Параметры Excel, в котором будет выбрана вкладка Панель быстрого доступа. 3. На правой панели вкладки в списке Выбрать команды из выберите вари­ ант Макросы. В списке ниже будут представлены все макросы, доступные на данный момент в программе Excel.

4. Выберите в этом списке нужный макрос и щелкните на кнопке Добавить.

Глава 44. Создание экранных форм

1065

5. (Необязательно.) Если хотите изменить пиктограмму для создаваемой

кнопки-команды, щелкните на кнопке Изменить. Откроется диалоговое окно Изменение кнопки, в котором, помимо замены пиктограммы на кнопке, можно будет изменить для нее параметр Отображаемое имя. 6. Для завершения процедуры настройки щелкните в диалоговом окне Па­ раметры Excel на кнопке ОК. Пиктограмма кнопки для макроса появится на панели быстрого доступа.

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

Добавление “горячих клавиш” Любые диалоговые окна не должны ставить в худшие условия тех, кто предпо­ читает пользоваться не мышью, а клавиатурой. Поэтому все диалоговые окна при­ ложения Excel работают одинаково хорошо как с мышью, так и с клавиатурой, — у каждого элемента управления есть соответствующая «горячая клавиша». Чтобы обратиться к конкретному элементу управления, пользователь может использовать комбинацию клавиш Tab Order. В результате откроется диа­ логовое окно Tab Order, показанное на рис. 44.12. Далее в этом окне можно выбрать из списка любой элемент управления и с помощью кнопок Move Up (Переместить вверх) и Move Down (Переместить вниз) требуемым образом изменить для выбран­ ного элемента управления его позицию в последовательности обхода формы.

Дополнительные сведения Чтобы овладеть искусством создания новых диалоговых окон, нужно приложить некоторые усилия. Можно, например, тщательно изучить диалоговые окна Excel, по­ скольку это — яркие примеры хорошо продуманных и разработанных диалоговых окон. Можно также попытаться собственными силами продублировать большинство из них. Самый лучший способ побольше узнать о создании диалоговых окон — исполь­ зовать систему электронной справки редактора Visual Basic. Для доступа к ней про­ сто нажмите в его окне клавишу .

Глава

Элементы управления на рабочем листе В ЭТОЙ ГЛАВЕ… Зачем элементы управления размещают на рабочем листе

Использование элементов управления Обзор элементов управления ActiveX

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

В

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

Часть VI. Программирование в Excel

1068

можно связать с конкретной ячейкой. Когда этот флажок установлен, в соответству­ ющей ячейке отображается значение ИСТИНА, в противном случае — ЛОЖЬ. На рис. 45.1 приведен пример, в котором использованы флажок (Checkbox), два набора переключателей (OptionButtons) и полоса прокрутки (ScrollBar). Данные, введенные пользователем, используются для расчета графика погашения ссуды, отображаемого на другом рабочем листе. Несмотря на то что на рабочем ли­ сте содержится довольно много интерактивных элементов управления, макросы в нем не используются.

Рис. 45.1.

На этом рабочем листе используются элементы управления диалоговых окон

Эту рабочую книгу можно найти в файле mortgage loan. xlsm на веб-сайте кни­ ги (www.wiley. com/go/excel2019bible). Для русскоязычного издания книги файл называется Pic45_01 .xlsm. Процесс вставки на рабочий лист элементов управления может показаться за­ путанным, поскольку их существует две группы. Доступ к этим группам осущест­ вляется из общей палитры элементов, которая открывается с помощью команды Разработчик^Элементы управления^ Вставить. Элементы управления формы. Элементы управления этой группы специально созданы для программы Excel. Элементы ActiveX. Содержит элементы управления ActiveX, которые можно ис­ пользовать в экранных формах (диалоговых окнах). На рис. 45.2 представлены элементы управления, появляющиеся после выбора команды РазработчикФЭлементы управления^Вставить. При наведении указателя мыши на любой из элементов управления Excel отображает подсказку, идентифи­ цирующую данный элемент управления.

Глава 45. Элементы управления на рабочем листе

Рис. 45.2.

1069

Две группы элементов управления, которые можно размещать на рабочих листах

Большинство элементов управления доступно в обеих группах. Например, как в одной, так и в другой группах есть элемент Список (ListBox). Но это два совер­ шенно разных элемента управления. В общем случае элементы управления формы проще в использовании, тогда как элементы ActiveX предоставляют большую гиб­ кость, поэтому по возможности следует использовать именно их.

На

заметку

Эта глава посвящена исключительно элементам управления ActiveX. Если вкладка Разра­ ботчик не представлена на ленте, щелкните правой кнопкой мыши на каком-либо элементе управления ленты и выберите из контекстного меню пункт Настройка ленты. Откроется диа­ логовое окно Параметры Excel с выбранной вкладкой Настройка ленты. В расположенном справа списке установите флажок рядом с пунктом Разработчик. Щелкните на кнопке ОК, чтобы вернуться в Excel. Полный список элементов управления ActiveX с кратким описанием их назначе­ ния приведен в табл. 45.11.

Таблица 45.1. Элементы управления ActiveX Элемент управления

Назначение

Выключатель (ToggleButton) Вставляет переключатель (используется для задания логических опций) Изображение (Image) Вставляет элемент управления, который может содержать изображение (контейнер для изображения) ‘Эти элементы управления в палитре инструментов имеют названия на русском языке, но по­ сле вставки на рабочий лист в поле Имя, в контекстное меню и в другое место они получают названия на английском языке. Поэтому в табл. 42.1 приведены как русские, так и английские названия элементов управления ActiveX. — Примеч. ред.

Часть VI. Программирование в Excel

1070

Окончание табл. 45.1

Элемент управления

Назначение

Кнопка (CommandButton) Вставляет командную кнопку Переключатель (OptionButton) Вставляет переключатель (позволяет пользователю выбрать одно значение из нескольких возможных вариантов) ПОДПИСЬ (Label) Вставляет надпись (контейнер для текста) Вставляет поле ввода (позволяет пользователю вводить Текстовое поле (TextBox) данные) Поле со списком (ComboBox) Вставляет поле ввода с раскрывающимся списком Полоса прокрутки (ScrollBar) Вставляет полосу прокрутки (определение значения посредством перетаскивания ползунка) СПИСОК (ListBox) Вставляет список (предоставляет пользователю вызможность выбрать в списке требуемое значение) Счетчик (SpinButton) Вставляет счетчик (определение числового значения посредством щелчков на кнопках) Флажок (CheckBox) Вставляет флажок для управления логическими опциями Отображает список других элементов управления ActiveX, Другие элементы управления которые инсталлированы в вашей системе. Не все эти элементы управления могут работать в программе Excel

Использование элементов управления Добавление элементов управления ActiveX на рабочий лист не вызывает труд­ ностей, но самое важное заключается в том, что, добавив элемент, затем можно должным образом настроить его свойства, влияющие на внешний вид и функции этого элемента. Поэтому вам непременно следует освоить основные приемы работы с элементами управления ActiveX.

Вставка элемента управления Чтобы вставить элемент управления на рабочий лист, сначала выберите коман­ ду Разработчик^Элементы управления^Вставить, затем щелкните в палитре на нуж­ ном элементе управления и переведите указатель мыши на рабочий лист. Указатель мыши над рабочим листом приобретет вид маленького крестика — переместите его в нужное место листа, а затем, нажав кнопку мыши, начертите прямоугольник, опре­ деляющий его размеры и положение. При этом нет нужды слишком усердствовать в отношении точного размера или местоположения элемента управления, посколь­ ку изменить эти свойства можно будет в любое время. Внимание!

Убедитесь в том, что вы работаете именно с элементами управления ActiveX, а не с элемен­ тами управления формы. К элементам управления формы инструкции этой главы отношения не имеют. При выборе команды Разработчик^Элементы управления^Вставить элементы iуправления ActiveX размещаются в нижней части палитры.

Глава 45. Элементы управления на рабочем листе

1071

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

Когда Excel находится в режиме конструктора, на ленте в группе Элементы управления под­ свечивается кнопна Режим конструктора. Для откпючения/включения этого режима достаi точно щелкнуть на этой кнопке. Когда Excel находится в режиме конструктора, элементы управления на рабо­ чем листе будут в неактивном состоянии. Для тестирования их работы необходимо выйти из этого режима, щелкнув на кнопке Режим конструктора. При работе с эле­ ментами управления вам, скорее всего, потребуется довольно часто переключаться в режим конструктора и обратно.

Настройка свойств элементов управления Каждый добавленный элемент управления обладает свойствами, которые опре­ деляют его внешний вид и поведение. Эти свойства можно настраивать только в режиме конструктора. При добавлении элемента управления на рабочий лист Excel переходит в этот режим автоматически. Если же нужно изменить элемент уже после выхода из режима конструктора, просто выберите на ленте команду Разработчик^Элементы управления^Режим конструктора. Чтобы изменить свойства элемента управления, выполните следующие действия.

1. Удостоверьтесь, что Excel находится в режиме конструктора. 2. Щелкните на нужном элементе управления, чтобы выделить его. 3. Если после щелчка на элементе управления окно Properties (Свойства) не открылось автоматически, выберите команду Разработчик^Элементы управления^Свойства. Откроется окно Properties, показанное на рис. 45.3.

4. Найдите в этом окне нужное свойство элемента управления и измените его.

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

Часть VI. Программирование в Excel

1072

Рис. 45.3.

Элементы управления (в данном случае это кнопка настраиваются с помощью окна свойств

CommandButton)

Совет

Чтобы получить сведения о конкретном свойстве (на английском языке), щелкните на этом iсвойстве в окне Properties и нажмите клавишу . В окне Properties есть две вкладки. Во вкладке Alphabetic (По алфавиту) свойства отображаются в алфавитном порядке, а во вкладке Categorized (По категориям) — упорядоченными по категориям. На обеих вкладках отображаются одни и те же свойства, но в различном порядке.

На заметку

Для некоторых свойств элементов управления ActiveX требуется обязательно задавать зна­ чения (например, для свойства Name). Другими словами, значение этого свойства нельзя оставлять пустым. Если необходимое значение свойства не введено, Excel всегда вас об этом предупредит соответствующим сообщением.

Общие свойства элементов управления Каждый элемент управления обладает собственным (уникальным) набором свойств. Но многие объекты имеют общие свойства, которые кратко описаны в табл. 45.2.

Глава 45. Элементы управления на рабочем листе

1073

Таблица 45.2. Общие свойства элементов управления Свойство

Описание

AutoSize (Авторазмер)

Если его значение True (Истина), то размер элемента на листе автоматически изменяется в зависимости от размера отображаемого на нем текста BackColor (Цвет фона) Цвет фона элемента управления BackStyle (Стиль фона) Стиль фона (прозрачный или нет) Caption (Заголовок) Текст, отображаемый на элементе управления LinkedCell Ячейка рабочего листа, в которой содержится текущее (Связанная ячейка) значение элемента управления Диапазон рабочего листа, содержащий список значений, ListFillRange (Диапазон заполнения списка) которые будут отображаться в элементе управления типа ListBox (Список) или ComboBox (Поле со списком) Value (Значение) Значение элемента управления Left и Тор (Левый и Верхний) Значения, определяющие положение элемента (его верхнего левого угла) Width И Height Значения, определяющие ширину и высоту элемента управления (Ширина и Высота) Visible (Видимый) Если значение этого свойства — False (Ложь), то элемент будет скрыт Name (Имя) Имя элемента управления. По умолчанию оно состоит из названия элемента и номера. Это имя можно заменить любым допустимым именем, но с одним условием: каждое имя элемента на рабочем листе должно быть уникальным Picture (Рисунок) Позволяет задавать графический рисунок для отображения на элементе управления

Связывание элементов управления с ячейками рабочего листа Элементы управления ActiveX, добавленные на рабочий лист, часто можно ис­ пользовать без каких-либо макросов. Многие элементы управления имеют свойство LinkedCell (Связанная ячейка), в котором указывается адрес ячейки, связанной с данным элементом управления. Например, можно вставить на рабочий лист элемент управления Счетчик (SpinButton) и в его свойстве LinkedCell указать ячейку В1. В этом случае данная ячейка будет содержать значение, заданное счетчиком, и любой щелчок на кнопках счетчика будет изменять и текущее значение в ячейке В1. При этом значение дан­ ной ячейки может быть использовано в формулах рабочего листа и каждое измене­ ние значения счетчика будет вызывать их автоматический пересчет.

На заметку

Если свойство LinkedCell задается в окне Properties, то в этом случае связанную ячейку нельзя задать путем указания (т.е. щелчком на ячейке) — надо вручную ввести адрес или имя i ячейки (если таковое существует).

1074

Часть VI. Программирование в Excel

Создание макросов для элементов управления При создании макроса для элемента управления нельзя обойтись без редактора Visual Basic. Макрос хранится в модуле, связанном с тем рабочим листом Excel, на ко­ тором находится элемент управления. Например, если элемент управления ActiveX помещен на рабочий лист Лист2, код VBA для него должен быть сохранен в моду­ ле, связанном с листом Лист2. У каждого элемента может быть свой макрос для об­ работки любого из его событий. Например, командная кнопка может иметь один макрос для обработки события Click (щелчок), второй — для события DblClick (двойной щелчок) и т.д.

Л Совет

Простейший способ получить доступ к модулю VBA для конкретного элемента управления дважды щелкнуть на самом элементе. Учтите, что этот способ сработает, только если Excel находится в режиме конструктора. В результате откроется окно редактора Visual Basic, в ко­ торое будет помещена заготовка для процедуры обработки стандартного события выбран­ ного элемента управления. Например, стандартным событием для элемента управления Checkbox является щелчок (Click). В этом случае Excel отобразит окно редактора Visual Basic и создаст пустой макрос для обработки события Click данного элемента управления, как показано на рис. 45.4, в данном случае это код для элемента управления CheckBoxl (Флажок), расположенного на листе Лист1.

Рис. 45.4. После двойного щелчка на элементе управления в режиме конструктора открывается окно редактора Visual Basic с пустой заготовкой подпрограммы обработчика события для этого элемента

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

Глава 45. Элементы управления на рабочем листе

1075

Ниже описано, какие действия необходимо выполнить, чтобы добавить кнопку (CommandButton) и создать простой макрос, который отображает сообщение после щелчка на этой кнопке. 1. Выберите команду Разработчик ^Элементы управления ^Вставить. 2. В палитре элементов управления в группе Элементы ActiveX щелкните на элементе Кнопка. 3. Чтобы создать кнопку на рабочем листе, переместите указатель мыши на рабочий лист и, нажав левую кнопку мыши, начертите им прямоуголь­ ник, определяющий местоположение и размеры вставляемой кнопки. Excel автоматически перейдет в режим конструктора.

4. Дважды щелкните на созданной кнопке. Откроется окно редактора Visual Basic и будет создана пустая подпрограмма обработки его события Click. 5. В тексте подпрограммы перед оператором End Sub введите следующий оператор VBA: MsgBox «Привет, сейчас » & Time

6. Нажмите комбинацию клавиш , чтобы вернуться в Excel.

7.

(Необязательно.) Воспользуйтесь окном Properties, чтобы настроить свойства кнопки. Если окно Properties не отображается, выберите команду Разработчик^Элементы управленияФСвойства, чтобы его открыть.

8. Выберите команду Разработчик^Элементы управления^Режим конст­ руктора, чтобы выйти из режима конструктора.

После выполнения перечисленных выше действий достаточно щелкнуть на кнопке CommandButton — и будет открыто окно приветствия с указанием теку­ щего времени. На

заметку

Программный код VBA для элементов управления необходимо вводить вручную. Создавать для них макросы с применением механизма записи VBA нельзя. Однако макрос можно за­ писать. а затем запустить из процедуры обработки события. Например, если вы уже запи­ сали макрос ФорматЯчеек, то для его вызова из кода VBA используется оператор Call ФорматЯчеек. С другой стороны, можно просто скопировать записанный код и вставить его ^в процедуру обработки события.

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

На веб-сайте книги (www.wiley.com/go/excel2019bible) имеется файл worksheet controls. xlsm, содержащей все описанные ниже элементы управ­ ления ActiveX. Для русскоязычного издания книги файл называется Pic45_05. xlsm.

Часть VI. Программирование в Excel

1076

Флажок Флажок (CheckBox) используется в тех случаях, когда нужно сделать выбор из двух возможных вариантов: да или нет, истина или ложь, включить или выключить и т.д. Ниже описано несколько полезных свойств элемента управления CheckBox. Accelerator (Назначенная клавиша). Буква, которая позволяет пользовате­ лю изменить значение флажка с помощью клавиатуры. Например, если такой буквой является буква «А», то нажатие комбинации клавиш изменит зна­ чение флажка на противоположное. Буква-акселератор будет подчеркнута в за­ головке этого элемента управления.

LinkedCell (Связанная ячейка). Ячейка рабочего листа, которая связывается с флажком. В ячейке отображается значение ИСТИНА, если флажок установлен, и ЛОЖЬ — в противном случае.

Поле со списком Поле со списком (ComboBox) — это комбинированный элемент управления, в ко­ тором объединены простое поле ввода и раскрывающийся список. В свернутом со­ стоянии он представляет собой обычное поле ввода, в которое пользователь может ввести любое значение, — даже такое, которого нет в данном списке. Если же этот элемент развернуть, щелкнув на кнопке со стрелкой, он превращается в обычный раскрывающийся список, в котором можно будет выбрать требуемое значение. На рис. 45.5 показано поле со списком, для которого в качестве значения свой­ ства ListFillRange (Диапазон заполнения списка) задан диапазон D1 :D12, а ячей­ ка А1 указана в свойстве LinkedCell (Связанная ячейка).

Рис. 45.5.

Поле со списком

Ниже описаны часто используемые свойства элемента управления Поле со списком.

Boundcolumn (Столбец результата). Если список состоит из нескольких столб­ цов, это свойство определяет, в каком из столбцов содержится возвращаемое значение.

Глава 45. Элементы управления на рабочем листе

1077

ColumnCount (Число столбцов). Определяет количество столбцов в списке.

LinkedCell (Связанная ячейка). Ячейка рабочего листа, в которой отобража­ ется элемент, выбранный в списке. ListFillRange (Диапазон заполнения списка). Диапазон рабочего листа, со­ держащий элементы списка. ListRows (Число строк в списке). Задает количество отображаемых элементов в раскрытом списке.

Liststyle (Стиль списка). Определяет внешний вид элементов списка. Style (Стиль работы). Определяет характер функционирования элемента управ­ ления: в качестве раскрывающегося списка или поля (ввода) со списком. Раскры­ вающийся список не разрешает пользователям вводить новое значение.

Можно также создать раскрывающийся список непосредственно в ячейке, вос­ пользовавшись для этого средством проверни данных. Подробнее об этом читайте в главе 26, «Проверка данных».

Кнопка Элемент управления Кнопка (CommandButton) абсолютно бесполезен, если с ним не связан макрос, который будет запущен после щелчка на этой кнопке. Имя макро­ са состоит из имени кнопки, символа подчеркивания и слова Click. Например, если кнопка называется Моя_кнопка, щелчок на ней приведет к запуску макроса Моя_ кнопка_СИск. Макрос должен находиться в модуле кода рабочего листа, на кото­ ром расположена кнопка.

Изображение Элемент управления Изображение (image) используется для отображения гра­ фики. Ниже описаны два полезных свойства этого элемента управления. AutoSize (Авторазмер). Если это свойство имеет значение True (Истина), то этот элемент автоматически изменяет размер, чтобы полностью вместить изо­ бражение.

Picture (Рисунок). Содержит путь к файлу с изображением. Щелкните на кноп­ ке этого свойства в окне Properties, и Excel откроет диалоговое окно, в котором можно выбрать файл, содержащий требуемое изображение. Или скопируйте изо­ бражение в буфер обмена, затем в окне Properties выделите свойство Picture и нажмите комбинацию клавиш .

PictureSizeMode (Режим отображения). Это свойство определяет, как будет меняться размер рисунка, если пропорции контейнера отличаются от пропорций рисунка (рисунок может быть обрезан, растянут или масштабирован так, чтобы полностью помещаться в контейнере).

1078

Часть VI. Программирование в Excel

Совет

Вставить изображение на рабочий лист можно также, выбрав команду Вставка^Иллюст­ В действительности использование именно элемента управления image не ^дает никаких реальных преимуществ. рации1^ Рисунки.

Подпись Элемент Подпись (Label) просто отображает заданный текст. С этой точки зре­ ния данный элемент вряд ли окажется полезным для рабочих листов, поскольку существует стандартный инструмент рисования Надпись, который отличается боль­ шей универсальностью. Однако этот элемент можно использовать и для других це­ лей: его событие Click может использоваться для активизации других элементов управления с использованием их клавиши быстрого доступа.

Список В списке (Li st Box) содержится перечень элементов, из которых пользователь может выбрать один или несколько элементов. Этот элемент управления аналоги­ чен ComboBox, — основное отличие состоит в том, что элемент ListBox может ото­ бражать одновременно более одного элемента. Ниже приведены описания самых полезных свойств списков.

Boundcolumn (Столбец результата). Если список состоит из нескольких столб­ цов, это свойство определяет, в каком из них содержится возвращаемое значение. Columncount (Число столбцов). Задает количество столбцов, отображаемых в списке.

integralHeight (Признак целостности списка). Если значение этого свой­ ства — True (Истина), то ширина окна списка настраивается автоматически, что­ бы полностью отображать строки текста при вертикальной прокрутке. В против­ ном случае возможно частичное отображение строк текста списка. LinkedCell (Связанная ячейка). Ячейка рабочего листа, в которой отобража­ ется выбранный элемент. ListFillRange (Диапазон заполнения списка). Диапазон рабочего листа, со­ держащий элементы списка.

Liststyle (Стиль списка). Определяет внешний вид элементов списка. MultiSelect (Множественный выбор). Определяет возможность выбора не­ скольких элементов из списка.

На заметку

Если используется список с множественным выбором, то нельзя задать значение свойства LinkedCell. Вместо этого придется написать макрос для определения того, какие элементы

Глава 45. Элементы управления на рабочем листе

1079

Переключатель Элементы управления Переключатель (OptionButton) особенно полезны в слу­ чае, если пользователю нужно выбрать один элемент из небольшого количества предложенных вариантов. Переключатели всегда используются в группах, состоя­ щих не менее чем из двух переключателей. Ниже описаны самые полезные свойства переключателя.

Accelerator (Назначенная клавиша). Буква, которая позволяет выбрать нужный вариант с помощью клавиатуры. Например, если для какого-нибудь переключателя такой буквой является С, то после нажатия комбинации клавиш будет выбран данный переключатель. GroupName (Имя группы). Имя, которое отождествляет связь данной кнопки переключателя с другими кнопками переключателя, имеющими то же самое зна­ чение этого свойства. LinkedCell (Связанная ячейка). Ячейка рабочего листа, которая связывается с переключателем. В ячейке отображается значение истина, если данный эле­ мент управления выбран, и ложь — в противном случае.

На заметку

Если на рабочем листе содержится несколько наборов переключателей, нужно сделать так, чтобы все переключатели одного набора имели одно и то же имя группы (значение свойства GroupName), но одновременно оно должно отличаться от имени группы любого другого на­ бора. Если же не изменить это свойство для нового набора переключателей, то все его эле­ менты станут частью одного набора с тем же именем группы.

Полоса прокрутки Элемент управления Полоса прокрутки (Scrollbar) напоминает по своему дей­ ствию счетчик, а основное различие состоит в том, что пользователь, чтобы изме­ нить значение в ячейке, может просто перетаскивать бегунок полосы прокрутки. На рис. 45.6 показан рабочий лист с тремя полосами прокрутки, которые используются для изменения цвета прямоугольника. Они определяют интенсивность красной, зе­ леной и синей составляющих цвета. Для изменения цвета используется несколько простых макросов. Ниже приведены описания некоторых полезных свойств полос прокрутки. Value (Значение). Текущее значение полосы прокрутки.

Min (Минимум). Минимальное значение для значений полосы прокрутки.

Мах (Максимум). Максимальное значение для значений полосы прокрутки. LinkedCell (Связанная ячейка). Ячейка рабочего листа, в которой отобража­ ется значение полосы прокрутки.

Часть VI. Программирование в Excel

1080

SmallChange (Малое изменение). Значение полосы прокрутки после одного щелчка на бегунке.

LargeChange (Большое изменение). Задает, насколько изменится значение полосы прокрутки после щелчка на кнопках полосы прокрутки.

Полоса прокрутки оказывается особенно полезной при выборе значения из ши­ рокого диапазона.

Рис. 45.6.

Этот рабочий лист содержит несколько полос прокрутки

Счетчик Счетчик (Spl inButton) позволяет выбирать значение щелчками на любой из двух кнопок со стрелками (одна служит для увеличения значения, другая — для умень­ шения). Элемент управления SplinButton можно располагать как вертикально, так и горизонтально. Ниже описаны полезные свойства счетчика.

Value (Значение). Текущее значение. Min (Минимум). Минимальное значение.

Мах (Максимум). Максимальное значение.

LinkedCell (Связанная ячейка). Ячейка рабочего листа, в которой отобража­ ется значение счетчика. SmallChange (Малое изменение). Задает, насколько изменится значение счетчика после щелчка на его кнопках. Обычно для этого свойства установлено значение 1, но можно установить и любое другое значение.

Глава 45. Элементы управления на рабочем листе

1081

Текстовое поле На первый взгляд может показаться, что от текстового поля (TextBox) мало толку, поскольку оно просто позволяет ввести текст, а для ввода текста обычно ис­ пользуются ячейки рабочего листа. Но дело в том, что текстовое поле полезно не столько для ввода, сколько для вывода больших блоков текста. Так как поле может иметь полосы прокрутки, у вас есть возможность использовать его для отображе­ ния большого объема информации на маленькой экранной площади. На рис. 45.7 показано поле ввода, содержащее текст Геттисбергской речи Авраама Линкольна. Обратите внимание на вертикальную полосу прокрутки, которая отобра­ жается после установки соответствующего значения свойства ScrollBars.

Рис. 45.7.

Текстовое поле с вертикальной полосой прокрутки

Ниже описаны самые полезные свойства текстового поля.

AutoSize (Авторазмер). Определяет необходимость автоматической настрой­ ки размера элемента управления в зависимости от объема текста.

IntegralHeight (Признак целостности строки). Если значение этого свой­ ства — True (Истина), то ширина окна текстового поля выбирается так, чтобы в нем полностью отображались строки при вертикальной прокрутке. В против­ ном случае возможно частичное отображение строк текста при вертикальной прокрутке текстового поля. MaxLength (Максимальная длина поля). Максимальное количество симво­ лов, которые могут находиться в текстовом поле. Если оно равно 0, ограничения на число символов нет. MultiLine (Множественность строк). Если значение этого свойства — True, то в поле может отображаться несколько строк текста.

TextAlign (Выравнивание). Определяет способ выравнивания текста в текс­ товом поле.

1082

Часть VI. Программирование в Excel

Wordwrap (Перенос слов). Определяет, разрешен ли перенос слов на новую строку.

ScrollBars (Полосы прокрутки). Определяет тип полос прокрутки для тек­ стового поля: горизонтальная, вертикальная, обе или ни одной.

Выключатель Элемент управления Выключатель (ToggleButton) имеет два состояния: вклю­ чено и выключено. Щелчок на кнопке выключателя переключает текущее состоя­ ние этого элемента на противоположное, при этом изменяется и внешний вид кноп­ ки. Значение выключателя — либо True (Нажато), либо False (Не нажато). Во многих случаях выключатель можно использовать вместо флажка.

Глава

Обработка событий в Excel В ЭТОЙ ГЛАВЕ… Обзор событий Excel

События уровня рабочей книги События уровня рабочего листа События, не связанные с объектами предыдущих главах вы уже ознакомились с некоторым количеством примеров VBA-процедур обработки событий для элементов управления ActiveX. Именно такие процедуры делают Excel интерактивной программой. В данной главе вы получите более полное представление о событиях Excel. Также здесь на нескольких примерах будут продемонстрированы способы использования этих событий.

В

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

События уровня рабочих книг. События, которые происходят с конкретной рабочей книгой. К ним относятся Open (открытие или создание рабочей кни­ ги), BeforeSave (перед сохранением рабочей книги) и NewSheet (вставка в ра­ бочую книгу нового листа). Программный код VBA, обрабатывающий события уровня рабочих книг, должен быть сохранен в модуле для рабочей книги (на­ пример, в модуле ЭтаКнига).

События уровня рабочих листов. События, которые происходят с конкретным ли­ стом рабочей книги. К ним относятся события Change (изменения в ячейках рабо­ чего листа), Selectionchange (перемещение табличного курсора) и Calculate

1084

Часть VI. Программирование в Excel

(пересчет формул на рабочем листе). Программный код VBA, обрабатывающий события уровня рабочих листов, хранится в модуле соответствующего рабочего листа (например, в модуле Лист1). События, не связанные с конкретными объектами. Сюда можно отнести только два события уровня приложения: OnTime (Назначенное время) и ОпКеу (Нажатие клавиши). Работа с ними отличается от работы с событиями других категорий. В действительности эти события устанавливаются вызовом методов объекта Application.

Множество схожих событий существует как в категории уровня рабочего листа, так и в категории уровня рабочей книги. Например, у листа Лист1 существует со­ бытие Change, которое инициируется, когда изменяется содержимое любой ячейки этого листа. У рабочей книги также есть событие, имеющее название Sheetchange, которое инициируется каждый раз, когда изменяется содержимое любой ячейки на любом ее рабочем листе. Версия события для рабочей книги имеет дополнитель­ ный аргумент, позволяющий узнать, на каком рабочем листе была изменена ячейка.

Создание процедуры обработки события Каждая процедура обработки события должна располагаться в соответствующем модуле кода. Программный код обработки событий уровня рабочих книг хранится в модуле ЭтаКнига. Программный код обработки событий уровня рабочих листов хранится в модуле, соответствующем рабочему листу (например, в модуле Лист1). Кроме того, каждая процедура обработки события должна иметь предопределен­ ное имя. Объявить процедуру можно, непосредственно введя ее имя, но лучше бу­ дет, если редактор Visual Basic сделает это вместо вас. Для этого предназначены два раскрывающихся списка, которые находятся в верхней части окна кода. На рис. 46.1 показан модуль кода для объекта ЭтаКнига. Выберите этот модуль, дважды щелкнув на нем в окне Project. Чтобы объявить процедуру, сначала выбе­ рите объект Workbook в левом раскрывающемся списке вверху окна кода, а затем в правом раскрывающемся списке событий вверху окна кода выберите то событие, для обработки которого предназначается создаваемая процедура. После этого по­ явится заготовка процедуры, которая состоит из объявления процедуры и заверша­ ющего оператора End Sub. Например, если в списке объектов выбрать объект Workbook, а в списке собы­ тий — Open (Открытие), то редактор Visual Basic создаст следующую пустую про­ цедуру: Private Sub Workbook_Open() End Sub

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

Глава 46. Обработка событий в Excel

Рис. 46.1.

1085

Наилучший способ создания процедуры обработки событий позволить сделать это редактору Visual Basic

(Это событие возникает, когда пользователь переходит на другой рабочий лист.) Если для создания этой процедуры воспользоваться способом, описанным выше, то редактор Visual Basic создаст такую процедуру: Private Sub Workbook_SheetActivate(ByVai Sh As Object) End Sub

В этой процедуре используется один аргумент Sh, который соответствует активно­ му листу. Отметим, что здесь переменная Sh объявлена как объектная переменная типа Ob j ect, а не как переменная типа Worksheet, поскольку лист в рабочей книге может быть как рабочим листом, так и листом диаграмм (Chart). Разумеется, данные, передаваемые с помощью аргумента, можно использовать в коде процедуры. Например, приведенная ниже процедура отображает сообще­ ние с именем активизированного листа. Для этого используется значение свойства Name (Имя) объекта, передаваемого через аргумент процедуры. Этот аргумент мо­ жет соответствовать объекту Worksheet или Chart. Private Sub Workbook_SheetActivate(ByVai Sh As Object) MsgBox «Активизирован лист » & Sh.Name End Sub

Некоторые процедуры обработки событий имеют аргумент Cancel (Отмена), ко­ торый имеет тип данных Boolean. Например, для процедуры, обрабатывающей со­ бытие BeforePrint (Перед печатью) рабочей книги, редактор Visual Basic создаст такое объявление: Private Sub Workbook_BeforePrint(Cancel As Boolean)

Часть VI. Программирование в Excel

1086

Значение переменной Cancel, передаваемое в процедуру в качестве аргумента, ис­ ходно установлено в FALSE. Однако в коде процедуры оно может быть установлено в true, что отменит выполнение печати. Работа с этой переменной показана в сле­ дующем примере. Private Sub Workbook_BeforePrint(Cancel As Boolean) Msg = «Хотите ли проверить данные и заголовки столбцов?» Ответ = MsgBox(Msg, vbYesNo, «Вывод на печать») If Ответ = vbYes Then Cancel = True End Sub

Процедура Workbook_BeforePrint запускается перед печатью рабочей книги. Она выводит сообщение с вопросом, не хочет ли пользователь еще раз проверить печатаемые данные и заголовки столбцов. Если пользователь щелкнет на кнопке Да, то переменной Cancel присваивается значение TRUE и данные выводиться на пе­ чать не будут. А вот еще одна процедура, использующая событие рабочей книги BeforePrint. Этот пример преодолевает недостаток программы Excel, проявляющийся при работе с колонтитулами, — в верхних и нижних колонтитулах нельзя отобразить содержи­ мое ячейки. Эта простая процедура запускается при распечатке рабочей книги. Она помещает содержимое ячейки А1 в верхний колонтитул распечатываемой страницы. Private Sub Workbook_BeforePrint(Cancel As Boolean) ActiveSheet.PageSetup.CenterHeader = Worksheets(1).Range(«Al») End Sub

События уровня рабочей книги События уровня рабочей книги происходят с определенной рабочей книгой. Список часто используемых событий этого уровня и их краткое описание приведе­ ны в табл. 46.1.

Таблица 46.1. События уровня рабочей книги Событие

Действие, приводящее к инициации события

(Активизация) AfterSave (После сохранения) BeforeClose (Перед закрытием) BeforePrint (Перед печатью)

Активизация рабочей книги Рабочая книга была сохранена Начало процесса закрытия рабочей книги Начало процесса печати рабочей книги (или чеголибо, содержащегося в ней) Начало процесса сохранения рабочей книги Деактивизация рабочей книги Создание (вставка) нового листа в рабочей книге Рабочая книга была открыта Активизация какого-либо листа рабочей книги

Activate

(Перед сохранением) (Деактивизация) NewSheet (Новый лист) Open (Открытие) SheetActivate (Активизация листа) BeforeSave

Deactivate

1087

Глава 46. Обработка событий в Excel

_____________________________________________________________________________ Окончание табл. 46.1

Событие

Действие, приводящее к инициации события

Двойной щелчок на каком-нибудь листе рабочей книги. Это событие предшествует выполняемым по умолчанию действиям, инициируемым двойным щелчком на листе Щелчок правой кнопкой мыши на каком-нибудь SheetBeforeRightClick (Щелчок правой кнопкой мыши на листе) листе рабочей книги. Это событие предшествует выполняемым по умолчанию действиям, инициируемым щелчком правой кнопкой мыши на листе Sheetchange (Изменение листа) Любые изменения, внесенные в рабочий лист пользователем или посредством обновления внешних связей SheetDeactivate Деактивизация какого-либо листа рабочей книги (Деактивизация листа) SheetSelectionChange (Изменение Любое изменение выбранных ячеек на любом выбранного объекта листа) рабочем листе в рабочей книге windowActivate (Активизация окна) Активизация любого окна рабочей книги Деактивизация любого окна рабочей книги WindowDeactivate (Деактивизация окна)

SheetBeforeDoubleClick

(Двойной щелчок на листе)

Далее в этом разделе описаны примеры, демонстрирующие способы использова­ ния событий уровня рабочей книги.

Внимание!

Все последующие процедуры с примерами должны размещаться в модуле кода для объекта ЭтаКнига. При размещении их в модуле другого типа они работать не будут — и вы не увидите сообщение об ошибке.

Использование события Open Одним из наиболее часто отслеживаемых событий уровня рабочей книги явля­ ется событие Open (Открытие), которое инициируется при открытии рабочей книги или надстройки и обрабатывается процедурой Workbook_Open. Обычно эта про­ цедура применяется для решения следующих задач. •

Вывод на экран окна приветствия.

Открытие других рабочих книг.

Активизация определенного листа в рабочей книге.

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

1088

Часть VI. Программирование в Excel

Внимание!

Нет никакой гарантии того, что процедура Workbook Open всегда будет выполняться. Например, пользователь может просто отключить макрос. Кроме того, если при откры­ тии рабочей книги пользователь будет удерживать нажатой клавишу , то процедура ^Workbook Open также не будет запущена. Приведем простой пример процедуры Workbook_Open. В ней используется VBAфункция Weekday (День недели), которая определяет текущий день недели. Если сегодня пятница, появляется соответствующее сообщение, предлагающее сделать резервное копирование файлов. Если сегодня другой день недели, то эта процедура ничего не выполняет. Private Sub Workbook_Open() If Weekday(Now) = 5 Then Сообщение = «Сегодня пятница.» Сообщение = Сообщение & vbCrLf & _ «Не забудь сделать резервное копирование файлов!» MsgBox Сообщение, vblnformation End If End Sub

В следующем примере после открытия рабочей книги выполняется последова­ тельность из нескольких действий. Сначала максимизируется размер окна Excel, за­ тем активизируется рабочий лист DataEntry и на нем выбирается первая пустая ячейка в столбце А. Если листа DataEntry в книге не существует, будет сгенериро­ вана ошибка. Private Sub Workbook_Open() ActiveWindow.Windowstate = xlMaximized Worksheets(«DataEntry»).Activate Range(«Al»).End(xlDown).offset(1,0).Select ActivateCell.Value = Date End Sub

Использование события SheetActivate Следующая процедура выполняется при активизации пользователем какогонибудь рабочего листа. Она просто переводит табличный курсор в его ячейку А1. Включение в процедуру оператора On Error Resume Next приводит к игнориро­ ванию ошибки, если активизированный лист является не рабочим листом, а листом диаграмм: Private Sub Workbook_SheetActivate(ByVai Sh As Object) On Error Resume Next Range(«Al»).Select End Sub

Глава 46. Обработка событий в Excel

1089

Альтернативный метод обработки рабочих листов с диаграммой заключается в проверке типа рабочего листа. Для этого можно воспользоваться аргументом Sh, который передается процедуре: Private Sub Workbook_SheetActivate(ByVai Sh As Object) If TypeName(Sh) = ’’Worksheet» Then Range(«Al»).Select End Sub

Использование события NewSheet Следующая процедура выполняется при вставке нового листа в рабочую кни­ гу. Новый лист передается в процедуру в виде ее аргумента. Вследствие того, что новый лист может быть рабочим листом или листом с диаграммой, эта процедура определяет тип листа. Если это рабочий лист, то в ячейку А1 вводятся текущие дата и время: Private Sub Workbook_NewSheet(ByVai Sh As Object) If TypeName(Sh) = «Worksheet» Then _ Sh.Range(«Al») = «Лист вставлен » & Now() End Sub

Использование события BeforeSave Процедура Wor kbook_Bef oreSave выполняется перед фактическим сохранени­ ем рабочей книги. Как известно, выбор команды Файл^Сохранить иногда приво­ дит к открытию диалогового окна Сохранение документа, — если текущая рабочая книга ранее не сохранялась или если она была открыта только для чтения. Когда процедура Workbook_BeforeSave выполняется, ей передается аргумент, позволя­ ющий уточнить, будет ли в данном случае выведено диалоговое окно Сохранение документа. В следующем примере показано, как этот факт можно использовать. Private Sub Workbook_BeforeSave _ (ByVai SaveAsUI As Boolean, Cancel As Boolean) If SaveAsUI Then MsgBox «Воспользуйтесь новым соглашением о присвоении имен файлам.» End If End Sub

При попытке пользователя сохранить рабочую книгу будет выполнена процеду­ ра Workbook_BeforeSave. Если в данном случае будет выведено диалоговое окно Сохранение документа, то значением переменной SaveAsUI будет true. Процедура проверяет значение этой переменной и выводит соответствующее сообщение, если окно Сохранение документа будет выводиться на экран при данном сохранении ра­ бочей книги. В последнем случае это сообщение напомнит пользователю о том, ка­ ким образом должны присваиваться имена файлам. Процедура обработки события BeforeSave в списке аргументов также содер­ жит переменную Cancel. Если значением аргумента Cancel будет TRUE, то рабо­ чая книга не будет сохранена.

Часть VI. Программирование в Excel

1090

Использование события BeforeClose Это событие происходит в начале процесса закрытия рабочей книги и часто «работает» в паре с процедурой Workbook_Open, которая инициализирует различ­ ные элементы и объекты открываемой рабочей книги. В этом случае процедура Workbook_BeforeClose перед закрытием рабочей книги удаляет эти элементы и объекты и восстанавливает «нормальные» установки книги. Обычно, если закрывается рабочая книга, в которую были внесены какие-либо изменения и они не были сохранены, Excel отображает окно сообщения с предло­ жением сохранить рабочую книгу перед ее закрытием.

Л

Внимание!

Данное событие может вызвать проблему, поскольку к тому моменту, когда пользователь ви­ дит на экране сообщение о сохранении, событие BeforeClose уже произошло. Это означает, что процедура Workbook BeforeClose уже была выполнена.

События рабочего листа События рабочего листа чаще всего используются для автоматизации работы в Excel. Использование этих событий может сделать ваши приложения более эф­ фективными и значительно облегчить работу с ними, обеспечив использование та­ ких приемов, которые в противном случае были бы просто невозможны. В табл. 46.2 приведены часто используемые события рабочего листа и дано их краткое описание. Процедуры обработки событий должны быть введены в модули кода рабочих листов. Этим модулям по умолчанию присваиваются имена Лист1, Лист2 и т.д. Таблица 46.2. События рабочего листа Действие, приводящее к инициации события

Событие

Активизация рабочего листа Двойной щелчок на листе рабочей книги. Это событие возникает перед действием, выполняемым по умолчанию (Перед двойным щелчком) в результате двойного щелчка BeforeRightClick (Перед Щелчок правой кнопкой мыши на листе рабочей книги. щелчком правой кнопкой мыши) Это событие возникает перед действием, выполняемым по умолчанию в результате щелчка правой кнопкой мыши Change (Изменение) В ячейки рабочего листа пользователем были внесены изменения Deactivate (Деактивизация) Деактивизация рабочего листа Selectionchange (Изменение Изменение объекта, выделенного на листе выбранного объекта)

Activate

(Активизация)

BeforeDoubleClick

Глава 46. Обработка событий в Excel

1091

Использование события Change Событие Change генерируется тогда, когда значение какой-нибудь ячейки рабоче­ го листа изменяется пользователем. Это событие не возникает, если пересчитываются формулы или в рабочий лист вставляется новый объект (диаграмма или фигура). При вызове процедуре Worksheet_Change в качестве аргумента Target пере­ дается объект Range (Диапазон). Он представляет диапазон ячеек, в которых про­ изошли изменения, вызвавшие событие Change. Приведенная ниже процедура отоб­ ражает окно сообщения с адресом диапазона, содержащим измененные ячейки: Private Sub Worksheet_Change(ByVai Target As Excel.Range) MsgBox «Диапазон » & Target.Address & » был изменен» End Sub

Чтобы понять, какие действия пользователя вызывают событие Change, введи­ те код приведенной выше процедуры в модуль объекта Worksheet (Рабочий лист), перейдите в Excel и выполните различные действия с ячейками (ввод, редактиро­ вание, удаление, копирование, форматирование и т.п.). Если ваши действия будут инициировать событие Change, то появится соответствующее сообщение с указани­ ем, какие ячейки были изменены. К сожалению, событие Change не всегда генерируется в тех ситуациях, когда его ожидаешь, либо генерируется при выполнении действий, которые вроде бы не долж­ ны приводить к этому событию. Например, возможны ситуации, описанные ниже.

Изменение формата ячеек не инициирует событие Change (как можно было бы ожидать), но команда Главная^Редактирование^Очистить^Очистить форматы генерирует это событие.

Очистка пустой ячейки (например, с помощью клавиши ) генерирует это событие.

Операция изменения ячеек с помощью команд Excel может запустить событие Change, а может и не запустить. Например, операции сортировки и поиска решения не запускают событие Change. Однако с помощью операции Найти и заменить, кнопки Автосумма или добавления строки Итоги в таблицу запу­ стить это событие можно.

Если какая-либо процедура VBA изменяет содержимое ячеек, то это обяза­ тельно приводит к генерированию события Change.

Отслеживание изменений в заданном диапазоне ячеек Событие Change инициируется, если изменения произошли в любой ячейке ра­ бочего листа. Однако во многих случаях необходимо отследить изменения толь­ ко в определенном диапазоне ячеек. При вызове процедуре обработки событий Worksheet change передается в качестве аргумента объект Range. Этот объект Range относится к ячейке или ячейкам, в которые вносились изменения. Предположим, что на рабочем листе имеется именованный диапазон Входные_ данные и необходимо отследить возможные изменения только в этом диапазо­ не. Для объекта Range (Диапазон) не предусмотрено событие Change, но в этой

1092

Часть VI. Программирование в Excel

ситуации можно воспользоваться процедурой Worksheet_Change, как показано ниже. Private Sub Worksheet_Change(ByVai Target As Range) Dim Диап As Range Set Диал = Me.Range(«Входные_данные») If Union(Target, Диап).Address = Диап.Address Then MsgBox ’’Входные данные изменены’’ End If End Sub

В этой процедуре создается диапазон Диап, представляющий ячейки, в кото­ рых отслеживаются изменения. В процедуре используется функция VBA Union для определения того, содержатся ли в диапазоне Диап ячейки из диапазона Target, который был передан в качестве параметра. Эта функция возвращает объ­ ект, который содержит ячейки из обоих диапазонов, переданных ей в качестве па­ раметров. Поэтому, если адрес объединенного диапазона совпадает с адресом диа­ пазона Диап, изменения произошли в ячейках диапазона Входные данные. В этом случае выводится соответствующее сообщение, иначе процедура завершает свою работу и ничего не происходит. Приведенная выше процедура имеет один недостаток. Событие Change генери­ руется, когда изменения произошли как в одной ячейке, так и при одновременном изменении нескольких ячеек (например, при автозаполнении диапазона или его очистке). Поэтому диапазон Target может состоять из нескольких ячеек, причем одни из них могут принадлежать диапазону Входные данные, а другие — нет. В модифицированной процедуре Worksheet_Change, приведенной ниже, прове­ ряется каждая ячейка диапазона Target на принадлежность диапазону Диап (т.е. диапазону Входные_данные), и если она принадлежит этому диапазону, то выво­ дится соответствующее сообщение. Private Sub Worksheet_Change(ByVai Target As Excel.Range) Set Диап = Me.Range(«Входные_данные») For Each ячейка In Target If Union(ячейка, Диап).Address = Диап.Address Then MsgBox «Входные данные изменены» End If Next ячейка End Sub

Эту рабочую книгу можно найти в файле monitor a range.xlsx на веб-сайте книги (www.wiley.com/go/excel2019bible). Для русскоязычного издания книги файл называется Отслеживание событий в диапазоне.xlsm.

Использование события Selectionchange В этом небольшом разделе описано применение события Selectionchange, которое инициируется пользователем при выборе им диапазона ячеек на рабочем листе. Рассмотрим приведенную ниже процедуру.

Глава 46. Обработка событий в Excel

1093

Private Sub Worksheet_SelectionChange(ByVai Target As Range) Me.Cells.Interior.Colorindex = xlNone With Target .EntireRow.Interior.Colorindex = 35 .EntireColumn.Interior.Colorindex = 35 End With End Sub

Эта процедура изменяет цвет фона строки и столбца, на пересечении которых находится активизированная ячейка, тем самым облегчая определение этой ячей­ ки. В процедуре сначала удаляется цветной фон со всего рабочего листа, а затем строка и столбец активизированной ячейки закрашиваются светло-зеленым цветом, как показано на рис. 46.2.

Рис. 46.2.

Перемещение табличного курсора становится теперь более заметным

Эту рабочую книгу можно найти в файле selection change event. xlsx на веб­ сайте книги (www.wiley.com/go/excel2019bible). Для русскоязычного из­ дания книги файл называется Pic4 6_02 .xlsm. Внимание!

Не используйте приведенную выше процедуру на рабочем листе, который имеет фоновую заливку, поскольку после выполнения процедуры заливка будет удалена. Однако если фоно­ вая заливка получена в результате применения к таблице стиля, то макрос не будет удалять ^фоновую заливку таблицы.

Использование события BeforeRightClick Обычно, после того как пользователь щелкнет правой кнопкой мыши на ра­ бочем листе, открывается контекстное меню листа. Чтобы по каким-либо причи­ нам запретить появление контекстного меню, необходимо перехватить событие Rightclick (Щелчок правой кнопкой мыши). В следующей процедуре ее аргу­ менту Cancel (Отмена) присваивается значение True и тем самым блокируется

1094

Часть VI. Программирование в Excel

событие Rightclick и предотвращается появление контекстного меню. Вместо меню появляется соответствующее сообщение. Private Sub Worksheet_BeforeRightClick _ (ByVai Цель As Excel.Range, Cancel As Boolean) Cancel = True MsgBox «На этом рабочем листе контекстного меню не выводится!» End Sub

События, не связанные с объектами События, уже рассмотренные в этой главе, были связаны с определенными объ­ ектами, такими как приложение, рабочая книга, лист рабочей книги и т.д. В этом разделе описаны два дополнительных события: OnTime (Назначенное время) и ОпКеу (Нажатие клавиши), которые не относятся ни к одному объекту. Для до­ ступа к этим событиям необходимо использовать соответствующие методы объекта Application. На заметку

В отличие от других событий, ранее обсуждавшихся в этой главе, для программирования со^бытий типа On следует использовать общий модуль УВА.

Использование события OnTime Событие OnTime генерируется в заранее указанное время. Например, следую­ щие процедуры с помощью этого события отобразят соответствующее сообщение и выдадут звуковой сигнал ровно в три часа дня: Sub Установка_времени() Application.OnTime TimeSerial(15,0,0), End Sub

«Сигнал»

Sub Сигнал() Веер MsgBox «Отложи работу! Пришло время послеобеденного перерыва!» End Sub

В этом примере в процедуре Установка_времени используется метод OnTime объекта Application для задания события OnTime. Этому методу передаются два аргумента: значение времени (в данном примере для его получения использует­ ся функция TimeSerial; это самый простой способ получить значение времени в Excel) и имя процедуры, которая будет выполняться при наступлении события OnTime (в данном примере это процедура Сигнал). После выполнения процедуры Установка_времени в 15 часов будет вызвана процедура Сигнал, которая выведет соответствующее окно сообщения. Многим людям непривычно задавать время как дробную часть суток, чего требует числовая система обозначения времени в Excel. Значительно удобнее для задания

Глава 46. Обработка событий в Excel

1095

времени использовать функцию VBA Timevalue, которая преобразует текстовую строку, задающую время в привычном человеку виде, в числовой формат, который понимает Excel. С помощью этой функции инструкцию из процедуры Установка_ времени можно записать так: Application.OnTime TimeValue(«15:00:00»),

«Сигнал»

Если необходимо задать событие, отстоящее от настоящего момента на заданный временной промежуток (например, на 20 минут), то можно воспользоваться любым из следующих операторов: Application.OnTime Now + TimeValue(«00:20:00»), «Сигнал» Application.OnTime Now + TimeSerial(0, 20, 0), «Сигнал»

С помощью метода OnTime можно также задать событие, которое произойдет в заданный день. Конечно же, компьютер при этом должен быть включен и на нем должна функционировать программа Excel. Чтобы отменить событие OnTime, необходимо знать точное время, на которое было назначено его возникновение. Тогда тот же аргумент, который использовался для задания события OnTime, следует использовать для сброса события в состояние False. Событие OnTime срабатывает с интервалом в секунду. Если событие было назначено на 15:00, то отменить его можно следующим образом: Application.OnTime TimeSerial(15, 0,

0), «Сигнал»,

, False

Если событие было назначено относительно текущего момента времени и его требуется отменить, необходимо предварительно запомнить этот момент времени. При таком подходе задавать время генерации события следует таким образом: ВремяСигнала = Now + TimeSerial(0, 20, 0) Application.OnTime ВремяСигнала, «Сигнал»

А если потребуется отменить подачу этого сигнала, то для этого достаточно будет выполнить следующий оператор: Application.OnTime ВремяСигнала, «Сигнал»,

, False

Использование события ОпКеу Во время работы программа Excel постоянно отслеживает, какие клавиши на кла­ виатуре нажимает пользователь. Благодаря этому при нажатии заранее определен­ ной комбинации клавиш программа сможет запустить определенные процедуры или макросы. В следующем примере метод ОпКеу используется для задания события ОпКеу, которое переназначает значения клавиш и . После выполнения процедуры Задание клавиш нажатие клавиши будет вызывать на выпол­ нение процедуру PgDn_Sub, а нажатие клавиши — процедуру PgUp_Sub. Выполнение этих процедур приводит к перемещению табличного курсора соответ­ ственно на одну строку вверх или вниз. Sub Задание_клавиш() Application.ОпКеу «{PgDn}», «PgDn_Sub»

Часть VI. Программирование в Excel

1096 Application.ОпКеу «{PgUp}», End Sub

«PgUp_Sub»

Sub PgDn_Sub() On Error Resume Next ActiveCell.Offset(1, 0).Activate End Sub Sub PgUp_Sub() On Error Resume Next ActiveCell.Offset (-1, 0).Activate End Sub

На заметку

Обратите внимание на то, что коды (названия) клавиш заключены в фигурные скобки. Полный список кодов клавиш можно найти в справочной системе Visual Basic (задайте поиск по ключевому слову ОпКеу). Совет

В приведенных выше процедурах PgDn Sub и PgUp_Sub используется оператор On Error чтобы игнорировать появление возможных ошибок. Например, если таблич­ ный курсор будет находиться в первой строке, то попытка перехода на строку вверх приведет к ошибке, поскольку табличный курсор в этой ситуации не может переместиться вверх. Кроме того, если активный рабочий лист представляет собой лист диаграммы, ошибка произойдет из-за того, что для листов диаграмм нет такого понятия, как активная ячейка. Resume Next,

Следующая процедура отменяет события ОпКеу и возвращает клавишам и их обычные функции: Sub Cancel_OnKey() Application.ОпКеу «{PgDn}» Application.ОпКеу «{PgUp}» End Sub

Внимание!

Вопреки возможным ожиданиям использование пустой строки в качестве второго аргумента в методе ОпКеу не отменяет события ОпКеу. Пустая строка в этом методе “приказывает” Excel лишь игнорировать нажатие указанной клавиши (или комбинации клавиш), но не от­ меняет само событие ОпКеу. Так, следующий оператор отключает реакцию Excel на комбина­ цию клавиш (здесь знак процента обозначает клавишу ): ^Application,ОпКеу «%{F4}», «»

Глава

Примеры VBA-программ В ЭТОЙ ГЛАВЕ… Работа с диапазонами Работа с диаграммами

Изменение свойств Ускорение выполнения VBA-программ

ри изучении программирования на языке VBA важнейшую роль играют при­ меры. Часто удачный пример может передать основную идею намного луч­ ше, чем длинные описания и теоретические рассуждения. В этой книге нет подробных описаний всех нюансов языка VBA, поскольку объем книги ограничен, а сам язык VBA достаточно подробно описан в справочной системе Excel. Для того чтобы получить справочную информацию, находясь в окне редактора VBA, нажми­ те клавишу . Для того чтобы получить контекстную справочную информацию, перед тем как нажать клавишу , выделите ключевое слово VBA, наименование объекта, свойство или метод. В этой главе приведено несколько примеров, в которых демонстрируются самые распространенные методики программирования на языке VBA. Некоторые из этих примеров можно использовать без каких-либо изменений, но в большинстве слу­ чаев вам все же придется несколько откорректировать их в соответствии со своими потребностями.

П

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

Часть VI. Программирование в Excel

1098

Для работы с диапазоном в программе VBA нет необходимости предваритель­ но выбирать его на рабочем листе.

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

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

В VBA-программе имеет смысл использовать именованные диапазоны. Например, запись Range («Итоги») предпочтительнее, чем Range («D45»). Дело в том, что, если позже придется добавить в рабочую таблицу строку, предшествующую строке 45, при использовании в макросе второго варианта записи потребуется выполнить соответствующую его корректировку.

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

Подробнее о режимах записи макросов читайте в главе 42, “Введение в язык Visual Basic for Applications”. •

При создании макроса, работающего с каждой ячейкой диапазона, выбранного в данный момент, учитывайте то, что пользователь может выделить столбцы или строки целиком. Но эти столбцы и строки могут содержать как заполнен­ ные, так и пустые ячейки. Поэтому обычно возникает необходимость создать подмножество ячеек выбранного диапазона, которое содержит только непу­ стые ячейки. Также можно работать с ячейками исключительно в использу­ емом диапазоне рабочего листа (применяя для этого свойство UsedRange).

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

В последующих разделах этой главы все эти моменты будут продемонстрирова­ ны на примерах.

Копирование диапазона Копирование диапазона — это операция, которая часто выполняется в макросах. Если активизировать средство записи макросов (с использованием режима записи абсолютных адресов) и скопировать диапазон А1:А5 в диапазон В1 :В5, то в резуль­ тате будет сгенерирован следующий код макроса:

Объект «Диапазон» в VBA обозначается словом «Range». — Примеч. ред.

Глава 47. Примеры VBA-программ

1099

Sub Копирование_диапазона() Range(«Al:А5»).Select Selection.Copy Range («Bl») .Select. ActiveSheet.Paste Application.CutCopyMode = False End Sub

Этот макрос будет работать нормально, но такой способ копирования диапазо­ на нельзя считать самым эффективным. Точно такой же результат можно получить с помощью следующего макроса размером в одну строку: Sub Копирование_диапазона2() Range(«А1:А5»).Copy Range(«Bl») End Sub

В последнем макросе использован тот факт, что в методе Сору можно задать ар­ гумент, указывающий, куда копировать выделенный диапазон. Информацию подоб­ ного рода можно найти в справочной системе редактора Visual Basic. Итак, этот пример демонстрирует, что программа записи макросов далеко не всег­ да создает оптимальный макрос. Как видите, для того чтобы работать с объектом, со­ всем не обязательно его выбирать. Заметьте, что во втором макросе диапазон вообще не выбирается. В результате после выполнения данного макроса ранее активизиро­ ванная на листе ячейка останется по-прежнему текущей активизированной. На

заметку

В большинстве примеров в этой главе используются неквалифицированные ссылки на объек­ ты. Квалифицированной ссылкой на объект является такая ссылка, в которой явным образом указывается, какой именно объект должен восприниматься как родительский объект по от­ ношению к данному. Например, ссылка Range («Al”) является неквалифицированной, по­ скольку в ней не указано, на каком именно рабочем листе находится эта ячейка. Полностью квалифицированная ссылка на ячейку А1 в данном случае должна выглядеть примерно так: Application. Workbooks(«Книга_1»).Worksheets(«Лист_1») .Range(«Al»).

При использовании неквалифицированных ссылок в стандартном модуле в языке VBA пред­ полагается, что имеется в виду рабочий лист, определяемый текущим значением свойства ActiveSheetin и находящийся в рабочей книге, определяемой значением свойства ActiveWorkbook. Такой подход позволяет отказаться от ввода в каждом операторе гро­ моздких записей, определяющих цепочку родительских объектов конкретного адресуемого объекта, если именно эти принимаемые по умолчанию объекты вы и имеете в виду. Если же вам желательно или необходимо использовать именно точные, полностью квалифицирован­ ные ссылки, подумайте об объектных переменных, как это описывается в разделе “Упрощение ссылок на объекты” в конце этой главы.

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

1100

Часть VI. Программирование в Excel

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

Рис. 47.1. Этот диапазон может содержать произвольное число строк

В приведенном ниже макросе показано, как скопировать такой диапазон с од­ ного рабочего листа на другой и поместить его начиная с ячейки А1. В этом ма­ кросе использовано свойство CurrentRegion (Текущая область), которое воз­ вращает объект-диапазон, соответствующий блоку используемых ячеек, окружаю­ щему заданную ячейку. Это эквивалентно тому, чтобы выбрать на ленте команду ГлавнаяФРедактирование^Найти и выделить1^ Перейти, затем в открывшемся диа­ логовом окне Переход щелкнуть на кнопке Выделить и в открывшемся диалоговом окне Выделить группу ячеек выбрать опцию текущую область. Sub Копирование_текущей_области () Range(«Al”).CurrentRegion.Copy Sheets(«Лист2»).Range(«Al») End Sub

Еще один подход заключается в том, чтобы для хранения данных использовать та­ блицу. При добавлении в таблицу новых строк адрес диапазона этой таблицы коррек­ тируется автоматически, что позволяет использовать, например, такую процедуру: Sub Копирование_таблицы() Range(«Table1[#А11]»).Copy Sheets(«Лист2»).Range(«Al») End Sub

Рабочую книгу, содержащую этот макрос, можно найти в файле range сору. xlsm на веб-сайте книги (www. wiley. com/go/excel2019bible). Для русскоязычно­ го издания книги файл называется Pic47_01. xlsm.

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

Наши друзья

РадиоКОТ - популярно об электронике. Авторские схемы, новые разработки. Обучение по электронике, микроконтроллерам, ПЛИС. Форум

Статистика


Онлайн всего: 1

Гостей: 1

Пользователей: 0

Главная » 2020 » Октябрь » 1 » Джон Уокенбах — Microsoft Excel 2019. Библия пользователя + файлы рабочих книг с примерами (2019)


15:25

Джон Уокенбах — Microsoft Excel 2019. Библия пользователя + файлы рабочих книг с примерами (2019)

Узнайте о новинках в Excel 2019 и освежите в памяти основы — ячейки, формулы, функции, диаграммы.

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

Название: Microsoft Excel 2019. Библия пользователя + файлы рабочих книг с примерами
Автор: Джон Уокенбах
Год: 2019
Жанр: компьютерная, обучение
Издательство: ДИАЛЕКТИКА
Язык: Русский

Формат: pdf
Качество: Отсканированные страницы + слой распознанного текста
Страниц: 1136
Размер: 121 MB
Пароль на архив: нет
Информация для восстановления: 5%

Скачать Джон Уокенбах — Microsoft Excel 2019. Библия пользователя + файлы рабочих книг с примерами (2019)

  • 1
  • 2
  • 3
  • 4
  • 5

Категория: Книги |
Просмотров: 352 |
Добавил: didl3
| Теги: компьютерная, Microsoft Excel 2019, Библия пользователя, обучение, файлы рабочих книг с примерами, Книги
| Рейтинг: 0.0/0

Архив записей
  • 2011 Сентябрь
  • 2011 Октябрь
  • 2011 Ноябрь
  • 2011 Декабрь
  • 2012 Январь
  • 2012 Февраль
  • 2012 Май
  • 2012 Июнь
  • 2012 Июль
  • 2012 Август
  • 2012 Сентябрь
  • 2012 Декабрь
  • 2013 Январь
  • 2013 Март
  • 2013 Июнь
  • 2013 Декабрь
  • 2014 Январь
  • 2014 Февраль
  • 2014 Март
  • 2014 Май
  • 2014 Июль
  • 2014 Сентябрь
  • 2014 Октябрь
  • 2015 Февраль
  • 2016 Март
  • 2016 Июнь
  • 2016 Июль
  • 2016 Август
  • 2016 Сентябрь
  • 2016 Октябрь
  • 2016 Ноябрь
  • 2016 Декабрь
  • 2017 Январь
  • 2017 Февраль
  • 2017 Март
  • 2017 Апрель
  • 2017 Май
  • 2019 Январь
  • 2019 Февраль
  • 2019 Март
  • 2019 Апрель
  • 2019 Май
  • 2019 Июнь
  • 2019 Июль
  • 2019 Август
  • 2019 Сентябрь
  • 2019 Октябрь
  • 2019 Ноябрь
  • 2019 Декабрь
  • 2020 Январь
  • 2020 Февраль
  • 2020 Март
  • 2020 Апрель
  • 2020 Май
  • 2020 Июнь
  • 2020 Июль
  • 2020 Август
  • 2020 Сентябрь
  • 2020 Октябрь
  • 2020 Ноябрь
  • 2020 Декабрь
  • 2021 Январь
  • 2021 Июнь
  • 2021 Июль
  • 2021 Август
  • 2021 Сентябрь
  • 2021 Октябрь
  • 2021 Ноябрь
  • 2021 Декабрь
  • 2022 Январь
  • 2022 Февраль
  • 2022 Март
  • 2022 Апрель
  • 2022 Май
  • 2022 Июнь
  • 2022 Июль
  • 2022 Сентябрь
  • 2022 Октябрь

Содержание

  1. Александер Майкл, Куслейка Ричард. Excel 2019. Библия пользователя – скачать книгу полностью
  2. Поиск точного совпадения при просмотре левого столбца таблицы Excel
  3. Как использовать функцию ВПР для поиска и извлечения данных в экселе
  4. Excel 2013. Библия пользователя
  5. Скачать книгу
  6. О книге «Excel 2013. Библия пользователя»
  7. Excel 2019. Библия пользователя

Александер Майкл, Куслейка Ричард. Excel 2019. Библия пользователя – скачать книгу полностью

Скачать бесплатно книгу Александер Майкл, Куслейка Ричард. Excel 2019. Библия пользователя

Читать онлайн книгу в форматах fb2, epub, pdf, mobi, lrf

Купить с доставкой Excel 2019 для чайников

Александер Майкл, Куслейка Ричард. Excel 2019. Библия пользователя. Пер. с англ. –СПб.: ООО «Диалектика», 2019. –1136 с.: ил. ISBN 978-5-907144-44-6 (рус.).

В архив включены файлы примеров из книги на русском и английском языках.

Поиск точного совпадения при просмотре левого столбца таблицы Excel

Многие таблицы упорядочены таким образом, что ключевой элемент данных, т.е. тот элемент, который делает каждую строку данных уникальной, помещается в крайний слева столбец. Хотя в Excel немало функций поиска, функция ВПР была разработана именно для таких случаев. На рис. 14.1 представлен список работников. Наша задача — заполнить данными простейшую платежную форму, извлекая информацию из этой таблицы Excel по заданному идентификатору работника (столбец ID).

Рис. 14.1. Таблица Excel с данными работников

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

Как использовать функцию ВПР для поиска и извлечения данных в экселе

В формуле, обеспечивающей поиск и извлечение имени и фамилии работника, используется функция ВПР. Функция ВПР в Excel имеет четыре аргумента: значение, которое нужно найти; диапазон, в котором осуществляется поиск; столбец, из которого извлекается возвращаемое значение; и наконец, требуемый тип совпадения. Функция ВПР будет просматривать значения в ячейках первого (крайнего слева) столбца указанного диапазона поиска до тех пор, пока не найдет требуемое значение. Когда оно будет найдено, функция ВПР вернет значение из ячейки того столбца этой строки Excel, который задан третьим аргументом. В нашем примере значение третьего аргумента равно 2, поэтому функция вернет имя и фамилию работника, которые хранятся во втором столбце анализируемой таблицы.

В других формулах платежной формы Excel также используется функция ВПР, но с небольшими модификациями. Для полей Цех/участок и Страховка структура формул не отличаются от формулы в поле Работник, просто возвращаемые значения извлекаются из других столбцов. Формула в поле Начислено содержит две функции ВПР, возвращаемые значения которых перемножаются для получения требуемого результата. Первая функция извлекает из пятого столбца таблицы почасовой тариф работника, а вторая — количество отработанных им за расчетный период часов (из четвертого столбца). Перемножая два эти значения, получаем сумму начисленной работнику зарплаты за расчетный период. Формула в поле Пенсионный фонд умножает сумму начисленной зарплаты на процент отчислений в этот фонд, извлекаемый из восьмого столбца таблицы. И наконец, формула Excel в поле Налоги сначала вычитает из суммы начисленной зарплаты выплаты по страховке и отчисления в пенсионный фонд, а затем умножает полученный результат на процентную ставку налога, извлекаемую функцией ВПР из шестого столбца таблицы.

Безусловно, при реальном начислении заработной платы расчеты будут сложнее, чем в этом примере, но если вы поняли, как функция ВПР работает, то сможете реализовать на практике и более сложные модели.

В этом примере во всех формулах четвертый аргумент функции ВПР имеет значение ЛОЖЬ. Для аргумента задания типа совпадения значение ЛОЖЬ указывает на то, что функция ВПР должна возвращать значение только в случае нахождения точного совпадения аргумента поиска и значения анализируемой ячейки. Если такого значения найдено не будет, функция Excel ВПР вернет ошибку #Н/Д. На рис. 14.7 ниже в этой главе приведен пример использования другого допустимого значения четвертого аргумента: ИСТИНА. В этом случае функция ВПР осуществляет поиск точного или приблизительного совпадения.

Не получается скачать и прочитать книги в форматах djvu, pdf, rar? Прочтите подсказки

Источник

Excel 2013. Библия пользователя

Скачать книгу

О книге «Excel 2013. Библия пользователя»

Освойте последнюю версию Excel с помощью великолепного руководства — книги «Excel 2013. Библия пользователя!

Если вы хотите создавать диаграммы, импортировать и обрабатывать данные, автоматизировать выполнение задач с помощью VBA-макросов или работать в облаке, продолжая работать с программой Excel, Джон Уокенбах расскажет, как это делается в своей книге Excel 2013. Библия пользователя. Полностью обновленный с учетом всех новейших возможностей Excel 2013, этот бестселлер насыщен методами, подсказками и приемами, полезными как для начинающих, так и для опытных пользователей. Пользователи всех категорий будут обращаться к книге Excel 2013. Библия пользователя большое количество раз.

Узнайте о новинках Excel 2013

Освежите в памяти основы Excel рабочие листы, формулы, функции, диаграммы

Научитесь обрабатывать данные самыми разными способами, включая импортирование, структурирование и анализ

Овладейте такими полезными средствами Excel, как спарклайны (инфолинии), автозаполнение и пакет анализа

Откройте для себя мощь такого аналитического средства, как сводные таблицы

Создавайте свои VBA-макросы, добавьте элементы управления и попробуйте работу с событиям Excel

Проанализируйте данные и определите тенденции и шаблоны

Поработайте с образцами рабочих книг и воспользуйтесь загружаемыми шаблонами с веб-сайта книги

Написанная гуру Excel, книга Excel 2013. Библия пользователя расскажет вам, как использовать Excel 2013 для работы с электронными таблицами, как применять Excel для построения диаграмм самых разнообразных типов. Не остались без внимания такие вопросы, как рассмотрение диаграмм всех типов, работа со сводными таблицами, применение не только формул, но и формул массивов. При этом постоянно подчеркивается тот факт, что Excel 2013 не только и не столько представляет собой средство хранения разнообразных таблиц, будь то диапазоны данных, таблицы или сводные таблицы, но является мощным аналитическим инструментом, позволяющим глубоко и разносторонне анализировать огромные массивы данных. Не забыты и пользователи, обладающие навыками программирования. Целый раздел книги посвящен программированию на высокоуровневом языке программирования Visual Basic for Applications.

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

На нашем сайте вы можете скачать книгу «Excel 2013. Библия пользователя» Уокенбах Джон бесплатно и без регистрации в формате pdf, читать книгу онлайн или купить книгу в интернет-магазине.

Источник

Excel 2019. Библия пользователя

Лучшее руководство по самому популярному процессору электронных таблиц!

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

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

Об авторах:
Майкл Александер — призер программы Microsoft MVP и автор нескольких книг по углубленному бизнес-анализу. В этой книге он делится многолетним опытом консалтинга и разработки решений по подготовке отчетности в различных отраслях промышленности. Майкл — создатель сайта DataPigTechnologies, на котором предлагаются бесплатные видеоруководства по Microsoft Excel и Access.
Дик Куслейка — двенадцатикратный призер программы Microsoft Excel MVP и главный автор популярного сайта-дневника Daily Dose of Excel.
Джон Уокенбах (“Mr. Spreadsheet»), директор компании J-Walk and Associates, Inc., считается ведущим специалистом пo программному обеспечению электронных таблиц. Он является создателем программного пакета Power Utility Рак, заслуженно удостоенного наград, и автором более чем 50 книг, включая все предыдущие издания Библии Excel.

Майкл Александер, Ричард Куслейка, Джон Уокенбах

Часть I. Вводный курс 37
Глава 1. Знакомство с Excel 39
Глава 2. Ввод данных на рабочий лист и их редактирование 67
Глава 3. Основные операции с рабочим листом 91
Глава 4. Работа с диапазонами и таблицами Excel 113
Глава 5. Форматирование рабочих листов 159
Глава 6. Работа с файлами и шаблонами Excel 195
Глава 7. Печать результатов работы 217
Глава 8. Настройка пользовательского интерфейса 241
Часть II. Формулы и функции 251
Глава 9. Основы формул и функций Excel 253
Глава 10. Использование формул в математических расчетах 285
Глава 11. Формулы для обработки текста 301
Глава 12. Формулы для работы с датами и временем 317
Глава 13. Формулы с проверкой условий 347
Глава 14. Использование формул для поиска и извлечения данных 369
Глава 15. Формулы и функции для финансового анализа 391
Глава 16. Формулы для статистического анализа 427
Глава 17. Использование формул в правилах условного форматирования 449
Глава 18. Понятие о формулах массивов 463
Глава 19. Поиск и исправление ошибок 485
Часть III. Создание диаграмм и другие приемы визуализации 507
Глава 20. Основы построения диаграмм 509
Глава 21. Расширенные возможности построения диаграмм 551
Глава 22. Графика спарклайнов 585
Глава 23. Работа с настраиваемыми числовыми форматами, изображениями и рисунками 599
Глава 24. Практика создания графических итоговых панелей 629
Часть IV. Управление данными и их анализ 643
Глава 25. Импорт и предварительная подготовка данных 645
Глава 26. Проверка данных 677
Глава 27. Структурирование рабочих листов 691
Глава 28. Связывание и консолидация данных 701
Глава 29. Понятие о сводных таблицах 721
Глава 30. Анализ данных с помощью сводных таблиц 745
Глава 31. Анализ данных с помощью сценариев «что если» 779
Глава 32. Анализ данных: подбор параметров и поиск решения 797
Глава 33. Надстройка Пакет анализа 819
Глава 34. Защита вашей работы 833
Часть V. Использование инструментов Power Pivot и Power Query 845
Глава 35. Надстройка Power Pivot 847
Глава 36. Работа непосредственно с внутренней моделью данных 875
Глава 37. Использование формул в надстройке Power Pivot 885
Глава 38. Что такое Power Query 907
Глава 39. Преобразование данных с использованием Power Query 935
Глава 40. Организация совместной работы запросов 967
Глава 41. Повышение эффективности работы с Power Query 983
Часть VI. Программирование в Excel 995
Глава 42. Введение в язык Visual Basic for Applications 997
Глава 43. Функции VBA: создание новых функций рабочего листа 1029
Глава 44. Создание экранных форм 1045
Глава 45. Элементы управления на рабочем листе 1067
Глава 46. Обработка событий в Excel 1083
Глава 47. Примеры VBA-программ 1097
Глава 48. Создание надстроек Excel 1115
Предметный указатель 1125

Книжный интернет-магазин для быстрых продаж. Работаем с 2007 года. Большой ассортимент, отличное качество. Низкие цены. Доставка по всей России и в страны СНГ.

Источник

Часть I. Вводный курс 37
Глава 1. Знакомство с Excel 39
Глава 2. Ввод данных на рабочий лист и их редактирование 67
Глава 3. Основные операции с рабочим листом 91
Глава 4. Работа с диапазонами и таблицами Excel 113
Глава 5. Форматирование рабочих листов 159
Глава 6. Работа с файлами и шаблонами Excel 195
Глава 7. Печать результатов работы 217
Глава 8. Настройка пользовательского интерфейса 241
Часть II. Формулы и функции 251
Глава 9. Основы формул и функций Excel 253
Глава 10. Использование формул в математических расчетах 285
Глава 11. Формулы для обработки текста 301
Глава 12. Формулы для работы с датами и временем 317
Глава 13. Формулы с проверкой условий 347
Глава 14. Использование формул для поиска и извлечения данных 369
Глава 15. Формулы и функции для финансового анализа 391
Глава 16. Формулы для статистического анализа 427
Глава 17. Использование формул в правилах условного форматирования 449
Глава 18. Понятие о формулах массивов 463
Глава 19. Поиск и исправление ошибок 485
Часть III. Создание диаграмм и другие приемы визуализации 507
Глава 20. Основы построения диаграмм 509
Глава 21. Расширенные возможности построения диаграмм 551
Глава 22. Графика спарклайнов 585
Глава 23. Работа с настраиваемыми числовыми форматами, изображениями и рисунками 599
Глава 24. Практика создания графических итоговых панелей 629
Часть IV. Управление данными и их анализ 643
Глава 25. Импорт и предварительная подготовка данных 645
Глава 26. Проверка данных 677
Глава 27. Структурирование рабочих листов 691
Глава 28. Связывание и консолидация данных 701
Глава 29. Понятие о сводных таблицах 721
Глава 30. Анализ данных с помощью сводных таблиц 745
Глава 31. Анализ данных с помощью сценариев «что если» 779
Глава 32. Анализ данных: подбор параметров и поиск решения 797
Глава 33. Надстройка Пакет анализа 819
Глава 34. Защита вашей работы 833
Часть V. Использование инструментов Power Pivot и Power Query 845
Глава 35. Надстройка Power Pivot 847
Глава 36. Работа непосредственно с внутренней моделью данных 875
Глава 37. Использование формул в надстройке Power Pivot 885
Глава 38. Что такое Power Query 907
Глава 39. Преобразование данных с использованием Power Query 935
Глава 40. Организация совместной работы запросов 967
Глава 41. Повышение эффективности работы с Power Query 983
Часть VI. Программирование в Excel 995
Глава 42. Введение в язык Visual Basic for Applications 997
Глава 43. Функции VBA: создание новых функций рабочего листа 1029
Глава 44. Создание экранных форм 1045
Глава 45. Элементы управления на рабочем листе 1067
Глава 46. Обработка событий в Excel 1083
Глава 47. Примеры VBA-программ 1097
Глава 48. Создание надстроек Excel 1115
Предметный указатель 1125

Если электронные таблицы стали неотъемлемой частью вашей жизни, то вам просто не обойтись без Microsoft Excel. В данной книге описаны все новинки Excel 2019. Здесь вы найдете всю необходимую информацию независимо от того, являетесь ли вы новичком в мире электронных таблиц или переходите с более ранней версии Excel. Вы научитесь форматировать ячейки, вводить формулы, строить диаграммы, добавлять гиперссылки на рабочие листы, создавать сводные таблицы и многое другое.

В книге:

  • Создание рабочих листов, ввод данных и сохранение файлов книг
  • Анализ «что если» и поиск решения
  • Запросы, фильтрация и вычисление итогов
  • Добавление на рабочие листы картинок из Интернета, значков и трехмерных карт
  • Расширение возможностей Excel с помощью надстроек и макросов

Грег Харвей — автор множества компьютерных книг, в том числе всех изданий книги Excel для чайников. Читал курс лекций по электронным таблицам и базам данных в университете Голден Гейт в Сан-Франциско.

Расскажи про книгу своим друзьям и коллегам:

Вас, возможно, заинтересуют следующие книги

Оглавление к книге Excel 2019 для чайников

Оглавление
Введение 17
Часть 1. Знакомство с Excel 2019 25
Глава 1. Основы работы с Excel 2019 27
Глава 2. Создание рабочей книги «с нуля» 59
Часть 2. Работа с электронными таблицами 113
Глава 3. Форматирование рабочих листов 115
Глава 4. Изменение ячеек и листов 167
Глава 5. Печать рабочих листов и книг 201
Часть 3. Обработка данных в электронных таблицах 227
Глава 6. Управление рабочими листами 229
Глава 7. Книги с несколькими рабочими листами 255
Часть 4. Анализ данных 277
Глава 8. Анализ «что если» 279
Глава 9. Работа со сводными таблицами 293
Часть 5. Дополнительные темы 315
Глава 10. Использование диаграмм и графических объектов 317
Глава 11. Работа со списками данных 361
Глава 12. Автоматизация и общий доступ к рабочим листам 385
Часть 6. Великолепные десятки 411
Глава 13. Десять советов новичкам 413
Глава 14. Десять заповедей Excel 2019 415
Глава 15. Десять основных способов управления данными 417
Глава 16. Десять основных способов анализа данных 423

Джон Уокенбах , Майкл Александер , Ричард Куслейка

 - Excel 2019. Библия пользователя

Полностью переработанный с учетом новых возможностей Excel 2019, этот бестселлер насыщен подсказками и рекомендациями, методами и приемами, полезными как для начинающих, так и для опытных пользователей.Узнайте о новинках в Excel 2019 и освежите в памяти основы — ячейки, формулы, функции, диаграммы. Научитесь обрабатывать данные всеми доступными способами, включая импорт, структурирование, консолидацию и анализ. Овладейте такими полезными средствами Excel, как условное форматирование, спарклайны, автозаполнение, пакет анализа и надстройка Power Query. Откройте для себя аналитическую мощь сводных таблицы и модели данных Power Pivot.…

Лучшая рецензия на книгу

 - Excel 2019. Библия пользователя

28 марта 2020 г. 11:16

5 Чудовищная книга о чудовище

Признаюсь честно — мне сложно представить, зачем нормальному человеку читать эту книгу. По большому счету это и не книга даже, а монструозный по объёму справочник, посвященный одной из самых чудовищных программ в семействе продуктов Майкрософт Офис. Если Ворд хотя бы человеческий и понятны, а Access ориентирован на людей, которые хоть немного понимают в архитектуре информационных систем, и, следовательно, не могут сильно испугаться — то Excel выбирает своей жертвой почти всех пользователей. Как-то я поспорил с одним человеком — он утверждал, что почти полностью освоил Excel, и никаких секретов Excel ему больше не сделает. Я предложил ему два столбца значений, и формулу — и попросил распространить формулу на все значения, иными словами «протянуть» её. В строгом соответствии со значением…

Год издания: 2019

Твердый переплет, 1136 стр.
Тираж: 500
Формат: 70×100/16

Рецензии

28 марта 2020 г. 11:16

5 Чудовищная книга о чудовище

Признаюсь честно — мне сложно представить, зачем нормальному человеку читать эту книгу. По большому счету это и не книга даже, а монструозный по объёму справочник, посвященный одной из самых чудовищных программ в семействе продуктов Майкрософт Офис. Если Ворд хотя бы человеческий и понятны, а Access ориентирован на людей, которые хоть немного понимают в архитектуре информационных систем, и, следовательно, не могут сильно испугаться — то Excel выбирает своей жертвой почти всех пользователей. Как-то я поспорил с одним человеком — он утверждал, что почти полностью освоил Excel, и никаких секретов Excel ему больше не сделает. Я предложил ему два столбца значений, и формулу — и попросил распространить формулу на все значения, иными словами «протянуть» её. В строгом соответствии со значением…

Джон Уокенбах - Excel 2010. Профессиональное программирование на VBA (+ CD-ROM)

Изучите возможности языка VBA (Visual Basic for Applications), и вы получите в свое распоряжение практически безграничные ресурсы Microsoft Excel 2010. Джон Уокенбах, один из крупнейших специалистов в области электронных таблиц, щедро поделится с вами своими знаниями и поможет профессиональными советами, которыми буквально переполнена эта великолепная книга. Даже для опытных пользователей Excel книга станет бесценным источником знаний. Вы ознакомитесь с инновационным подходом к изучению Excel и с этапами разработки приложений электронных таблиц. Вы научитесь разрабатывать процедуры и функции VBA, изучите передовые методики…

Джон Уокенбах - Excel 2013. Библия пользователя

Освойте последнюю версию Excel с помощью великолепного руководства — книги «Excel 2013. Библия пользователя! Если вы хотите создавать диаграммы, импортировать и обрабатывать данные, автоматизировать выполнение задач с помощью VBA-макросов или работать в облаке, продолжая работать с программой Excel, Джон Уокенбах расскажет, как это делается в своей книге Excel 2013. Библия пользователя. Полностью обновленный с учетом всех новейших возможностей Excel 2013, этот бестселлер насыщен методами, подсказками и приемами, полезными как для начинающих, так и для опытных пользователей. Пользователи всех категорий будут обращаться к книге Excel 2013.…

Джон Уокенбах - Excel 2013. Трюки и советы Джона Уокенбаха

Никто не знает Excel лучше, чем Джон Уокенбах, — авторитетный специалист по Microsoft Excel, автор более 50 книг о табличном программном обеспечении, создатель популярной утилиты Power Utility Pak. Миллионы людей во всем мире регулярно пользуются Excel, но большинство из них даже не догадываются обо всех возможностях программы. С помощью трюков и советов, описанных в книге, вы перейдете на новый уровень работы в Microsoft Excel. Вы узнаете, как использовать созданные документы в браузере, отправлять почту из программы, скрывать и блокировать формулы, создавать ячейки со слайдерами, настраивать ленту с инструментами, работать со сводными…

Джон Уокенбах - Excel 2016. Библия пользователя

Если вы хотите создавать диаграммы, импортировать и обрабатывать данные, автоматизировать выполнение задач с помощью VBA-макросов или работать в облаке, продолжая работать с программой Excel, Джон Уокенбах расскажет, как это делается в своей книге Excel 2016. Библия пользователя. Полностью обновленный с учетом всех новейших возможностей Excel 2016, этот бестселлер насыщен методами, подсказками и приемами, полезными как для начинающих, так и для опытных пользователей. Узнайте о новинках Excel 2016, освежите в памяти основы Excel — рабочие листы, формулы, функции, диаграммы, научитесь обрабатывать данные самыми разными способами, включая…

Джон Уокенбах - Microsoft Office Excel 2007. Библия пользователя (+ CD-ROM)

Перед вами полное руководство по самой мощной и в то же время простой в использовании программе электронных таблиц. Книга содержит описание нового ленточного интерфейса Excel 2007, а также все, что необходимо для изучения основ Excel и дальнейшей самостоятельной работы с этим программным продуктом. Здесь читатель найдет много полезных примеров, советов и приемов, которые в дальнейшем сможет применить на практике. Книга содержит полные сведения о характерных особенностях и возможностях Excel: от основ электронных таблиц до анализа данных и создания программ на языке VBA. Книга рассчитана на пользователей с различным уровнем подготовки.…

Джон Уокенбах - Формулы в Microsoft Excel 2010 (+ CD-ROM)

По оценкам экспертов, лишь десять процентов пользователей Excel умеют эффективно применять формулы рабочего листа. Если вы хотите быть среди этих десяти процентов, перед вами — книга для профессионалов. В первую очередь вы узнаете, что такое формулы, как их создавать и что можно делать с их помощью. Затем вы научитесь применять функции в формулах. И наконец, будут рассмотрены специальные типы формул, в частности формулы массива и финансовые формулы. Вы также узнаете, как применять формулы в диаграммах и сводных таблицах, отлаживать формулы, создавать пользовательские функции и многое другое. Основные темы книги: — использование новых…

 - Excel 2019. Библия пользователя

Полностью переработанный с учетом новых возможностей Excel 2019, этот бестселлер насыщен подсказками и рекомендациями, методами и приемами, полезными как для начинающих, так и для опытных пользователей.Узнайте о новинках в Excel 2019 и освежите в памяти основы — ячейки, формулы, функции, диаграммы. Научитесь обрабатывать данные всеми доступными способами, включая импорт, структурирование, консолидацию и анализ. Овладейте такими полезными средствами Excel, как условное форматирование, спарклайны, автозаполнение, пакет анализа и надстройка Power Query. Откройте для себя аналитическую мощь сводных таблицы и модели данных Power Pivot.…

Джон Уокенбах - Формулы в Excel 2013

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

Джон Уокенбах - Excel 2013. Профессиональное программирование на VBA

Независимо от того, являетесь ли вы профессиональным программистом на VBA или же просто хотите узнать, как расширить возможности Excel 2013, вам не найти лучшего учителя, чем Джон Уокенбах. Эта книга представляет собой исчерпывающее руководство по программированию в Excel 2013 на VBA. Вы узнаете о том, как создавать пользовательские диалоговые окна UserForm, освоите профессиональные методики программирования, научитесь разрабатывать надстройки для Excel и управлять сводными таблицами и диаграммами с помощью VBA. Вы также узнаете, как создавать пользовательские приложения, настраивать контекстные меню и предоставлять пользователям…

Джон Уокенбах - Excel 2013 Power Programming with VBA

Maximize your Excel 2013 experience using VBA application development The new Excel 2013 boasts updated features, enhanced power, and new capabilities. Naturally, that means John Walkenbach returns with a new edition that covers all the methods and tools you need to know in order to program with Excel. With this comprehensive guide, «Mr. Spreadsheet» shows you how to maximize your Excel experience using professional spreadsheet application development tips from his own personal bookshelf. Featuring a complete introduction to Visual Basic for Applications and fully updated for the new features of Excel 2013, this essential reference includes…

 - Excel Dashboards and Reports, 2nd Edition

Learn to use Excel dashboards and reports to better conceptualize data Updated for all the latest features and capabilities of Excel 2013, this go-to resource provides you with in-depth coverage of the individual functions and tools that can be used to create compelling Excel reports. Veteran author Michael Alexander walks you through the most effective ways to present and report data. Featuring a comprehensive review of a wide array of technical and analytical concepts, this essential guide helps you go from reporting data with simple tables full of dull numbers to presenting key information through the use of high-impact, meaningful…

Джон Уокенбах - Формулы в Micrsoft Office Excel 2007 (+ CD-ROM)

В новом издании бестселлера Джона Уокенбаха, посвященном программе Microsoft Office Excel 2007, наряду с полным описанием большинства функций Excel вы найдете сведения о таких редко рассматриваемых, но очень важных задачах, как анализ и отладка формул, построение сводных таблиц и диаграмм с помощью формул, а также использование формул массивов для автоматизации вычислений. Особое внимание в книге уделено финансовым расчетам и управлению данными, связанными.

John Walkenbach - 101 Excel 2013 Tips, Tricks and Timesavers

Get the most out of Excel 2013 with this exceptional advice from Mr. Spreadsheet himself! Excel 2013 is excellent, but there’s lots to learn to truly excel at Excel! In this latest addition to his popular Mr. Spreadsheet’s Bookshelf series, John Walkenbach, aka «Mr. Spreadsheet,» shares new and exciting ways to accomplish and master all of your spreadsheet tasks. From taming the Ribbon bar to testing and tables, creating custom functions, and overcoming «impossible» charts, mixing nesting limits, and more, 101 Excel 2013 Tips, Tricks, & Timesavers will save you time and help you avoid common spreadsheet stumbling blocks. * Reveals ways to…

 - Excel 2003 для

Данная книга — простое и дружеское пособие по последней версии популярной программы электронных таблиц Excel 2003, в котором описаны основные технические способы создания, редактирования и печати рабочих таблиц, рассмотрены основы построения

John Walkenbach - Excel 2010 Power Programming with VBA

All the methods and tools you need to successfully program with Excel John Walkenbach′s name is synonymous with excellence in computer books that decipher complex technical topics. With this comprehensive guide, «Mr. Spreadsheet» shows you how to maximize your Excel experience using professional spreadsheet application development tips from his own personal bookshelf. Featuring a complete introduction to Visual Basic for Applications and fully updated for the new features of Excel 2010, this essential reference includes an analysis of Excel application development and is packed with procedures, tips, and ideas for expanding Excel’s…

Джон Уокенбах - Microsoft Office Excel 2007. Библия пользователя. (+ CD)

Перед вами полное руководство по самой мощной и в то же время простой в использовании программе электронных таблиц. Книга содержит описание нового ленточного интерфейса Excel 2007, а также все, что необходимо для изучения основ Excel и дальнейшей самостоятельной работы с этим программным продуктом. Здесь читатель найдет много полезных примеров, советов и приемов, которые в дальнейшем сможет применить на практике. Книга содержит полные сведения о характерных особенностях и возможностях Excel: от основ электронных таблиц до анализа данных и создания программ на языке VBA. Книга рассчитана на пользователей с различным уровнем подготовки.…

Джон Уокенбах - Excel 2010. Лучшие трюки Джона Уокенбаха

На сегодняшний день Microsoft Excel не нуждается в дополнительном представлении или рекламе. Количество пользователей программы чрезвычайно велико, поскольку она позволяет решать множество прикладных задач. Однако далеко не все используют возможности Excel на все 100 %. Многие даже не догадываются о разнообразии ее функций. Ведь эта программа — не просто большой калькулятор. Она содержит многочисленные графические инструменты, предоставляет возможность экономико-статистических расчетов, включает в себя язык программирования VBA. Данная книга — не банальное руководство для начинающих. Она, скорее, предназначена для пользователей, которые…

 - Excel 2010 для чайников. Краткий справочник

Если вам нужна помощь по работе с программой Excel, не ищите другого советчика. Этот удобный краткий справочник позволит вам быстро найти необходимые сведения по таким темам, как новый интерфейс Excel 2010, работа с лентой и панелью быстрого доступа. Два специалиста по Excel научат вас многому, в том числе: как сохранять, защищать и восстанавливать файлы рабочих книг, как вводить и редактировать данные, как создавать формулы и функции. — Новые возможности Excel 2010. Научитесь использовать срезы для изучения сводных таблиц, создавать диаграммы в отдельных ячейках (спарклайны), применять фильтры поиска к обычным и сводным таблицам,…

Джон Уокенбах - Microsoft Excel 2010. Библия пользователя (+ CD-ROM)

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

Джон Уокенбах - Excel VBA Programming for Dummies

Take your Excel skills to the next level with VBA programming. Now that you’ve mastered Excel basics, it’s time to move to the next level-creating your own, customized Excel 2010 solutions using Visual Basic for Applications (VBA). The new edition of this non-threatening guide is your key to getting there. Using step-by-step instruction and the accessible, friendly For Dummies style, this practical book shows you how to use VBA, write macros, customize your Excel apps to look and work the way you want, avoid errors, and more. The book’s Web site provides all the programming examples from the book. — Introduces you to a new range of Excel…

В данном обзоре рассмотрим наиболее полезные книги по работе в программе Excel.

1. Excel 2019. Библия пользователя

Одна из самых мощных и фундаментальных книг по Excel от одного из самого титулованного автора — Джона Уокенбаха (автор более пятидесяти книг, посвященных Excel). Книга написана простым языком, но несмотря на это автор излагает довольно продвинутые аспекты работы в программе. После прочтения книги вы научитесь работать, как с самыми простыми таблицами в Excel , стандартными формулами, так и освоете более продвинутый анализ данных (включая Power Query) и разработку макросов на VBA.

2. Бизнес-анализ с использованием Excel

Хотите применять Excel для решения ключевых финансовых и разнообразных практических бизнес-задач? Это книга точно для вас. Каждому менеджеру и предпринимателю приходится сталкиваться с различными задачами: анализ финансовой отчетности, финансовое планирование и управление финансами компании, принятие инвестиционных решений, управление продажами и маркетинг.
На реальных примерах, автор книги показывает, как извлечь максимум пользы из новых возможностей и функций Excel . Пошагово рассматриваются целые бизнес-проекты, сопровождаемые максимально понятными объяснениями и ценными советами. Все это дополняется невероятно полезными электронными примерами, от образцов бухгалтерских книг до инструментов бизнес-прогнозирования, которые можно загрузить с веб-страницы книги на сайте издательства

3. Формулы в Microsoft Excel 2016

Еще одна книга от авторов, которые сотрудничают с Уокенбахом по формулам в Excel. Данное учебное пособие производит очень положительное впечатление. Все темы подробно разобраны, приведено много нестандартных примеров. Фундаментальная книга по формулам подойдет как новичкам, так и опытным пользователям, и даст возможность в максимальной степени использовать все преимущества, предлагаемые обновленной версией программы Excel 2016.

4. Профессиональное программирование на VBA. Excel 2016

5. Сводные таблицы в Microsoft Excel 2013

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

6. Формулы в Excel 2013. Уокенбах Джон

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

7. Финансовое моделирование с использованием Excel

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

8. Beginning Big Data with Power BI and Excel 2013

К сожалению, данной книги нет еще на русском языке. Но если вы уверенно владеете английским языком, то вам повезло!

Данная книга кладезь знаний по работе с большими данными с помощью Power BI в Excel 2013. Тут вы научитесь решать бизнес-задачи, используя возможности Microsoft Excel и Power BI для импорта данных из баз данных NoSQL и SQL и других источников. Создавать реляционные модели данных и анализа бизнес-проблем с помощью сложных информационных панелей и карт, управляемых данными.

Импортируйте и объединяйте данные из веб-страниц, баз данных SQL и NoSQL, Azure Marketplace и других источников.
Используйте аналитические возможности сводных таблиц и диаграмм и разрабатывайте реляционные модели данных для отслеживания тенденций и прогнозирования на основе широкого спектра данных.

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

9. Много цифр. Анализ больших данных в Excel

А вот и одна из первых практических книг на русском языке по Big Data в Excel. Здесь начинается все с основ Big Data, но затем автор переходит к практическим кейсам использования Big Data непосредственно в Excel. В книге подробно разобраны темы кластерного анализа, оптимизационного моделирования, построения комплексных моделей. Вся книга построена на примерах из реальной жизни (возможно, про некоторые вы даже слышали, например, про скандал с американским ритейлером Target, который с помощью Big Data узнал о беременности девушки раньше, чем ее отец).

10. Microsoft Excel. Готовые решения — бери и пользуйся

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

По признанию автора, книга содержит 20% знаний об Excel, которые помогают решить 80% каждодневных задач.

Николай Павлов блистательно и подробно познакомит вас со всеми тонкостями форматирования, редактирования, операций с текстом, книгами и листами. Научит отправлять письма прямо из Excel. Расскажет, как создавать выпадающие списки. Объяснит, как анализировать данные и работать со сводными таблицами.

Курсы и уроки Excel — от Базовых основ до Продвинутого уровня и программирования на VBA!

Читайте также:

      

  • Flip программа для прошивки контроллеров atmel
  •   

  • Как протянуть формулу в сводной таблице excel на весь столбец
  •   

  • Как определить бездействие пользователя в 1с
  •   

  • Отрезки не компланарны в автокаде что делать
  •   

  • Формат gsm как открыть в archicad

Понравилась статья? Поделить с друзьями:
  • Библиотеки для word скачать бесплатно
  • Библиотеки для excel 2016
  • Библиотеки для excel 2007
  • Библиотеки vba для excel
  • Библиотеки vba excel скачать