Текст
                    100%
ИСЧЕРПЫВАЮЩЕ
ДОСТОВЕРНО
ТО, ЧТО НУЖНО
Используйте
XML для создания
отчетов, анализа,
импортирования
и экспортирования
данных
Узнайте.
как работать
с отчетами,
презентациями,
базами данных
в Excel
Изучите
методы
программирования
в Excel
для автоматизации
повседневных задач
На прилагаемом
компакт-диске:
более 400 Мбайт
программного
обеспечения и две
электронные книги!
Библия
ПОЛЬЗОВАТЕЛЯ
Джон Уокенбах
"М-р Электронная таблица",
автор книги Диаграммы в Excel


Excel 2003 Библия пользователя Джон Уокенбах д диалектика Компьютерное издательство "Диалектика" Москва • Санкт-Петербург • Киев 2004
Excel 2003 Bible John Walkenbach Ш1еу Publishing, Inc.
ББК 32.973.26-018.2.75 У62 УДК 681.3.07 Компьютерное издательство "Диалектика" Главный редактор С.Н. Тригуб Зав. редакцией В.Р. Гинзбург Перевод с английского и редакция А. А. Минько По общим вопросам обращайтесь в издательство "Диалектика" по адресу: info@dialektika.com, http://www.dialektika.com Уокенбах, Джон. У62 Excel 2003. Библия пользователя. : Пер. с англ. — М. : Издательский дом "Вильямс", 2004. — 768 с. : ил. — Парал. тит. англ. ISBN 5-8459-0696-2 (рус.) Эта книга — полное руководство по самой мощной и в то же время простой в использовании программе электронных таблиц. Книга содержит все, что необходимо для изучения основ Excel и дальнейшей самостоятельной работы с этим программным продуктом. Здесь читатель найдет много полезных примеров, советов и приемов, которые в дальнейшем сможет применить на практике. Книга содержит полные сведения об особенностях и возможностях Excel: от основ электронных таблиц до публикации данных в Internet и создания программ на языке VBA. Книга рассчитана на пользователей с различным уровнем подготовки. Легкий и доступный стиль изложения поможет даже новичкам быстро разобраться со всеми возможностями Excel 2003 и эффективно использовать их в повседневной работе. ББК 32.973.26-018.2.75 Все названия программных продуктов являются зарегистрированными торговыми марками соответствующих фирм. Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирование и запись на магнитный носитель, если на это нет письменного разрешения издательства JOHN WILEY&Sons, Inc. Copyright © 2004 by Dialektika Computer Publishing. Original English language edition Copyright © 2003 by Wiley Publishing, Inc. All rights reserved including the right of reproductiorjsi»=wfeQ}g or in part in any form. This translation was published by arrangement with Wiley Publishing, Inc/ ISBN 5-8459-0696-2 (рус.) ISBN 0-7645-3967-1 (англ.) KoMfcjbTepHoe изд-во "Диалектика", 2004 Wilo/y publishing, Inc., 2003
Оглавление Об авторе 26 Предисловие 27 ЧАСТЬ I. ВВОДНЫЙ КУРС 33 Глава 1. Знакомство с Excel 34 Глава 2. Ввод и. редактирование данных 53 Глава 3. Основные операции с рабочим листом 69 Глава 4. Работа с диапазонами ячеек 87 Глава 5. Форматирование рабочих листов 107 Глава 6. Работа с файлами и шаблонами 124 Глава 7. Печать результатов работы 138 ЧАСТЬ. II. ФОРМУЛЫ И ФУНКЦИИ 153 Глава 8. Использование формул и функций 154 Глава 9. Работа с текстом 178 Глава 10. Работа с датами и временем 195 Глава 11. Формулы подсчета и суммирования 216 Глава 12. Формулы просмотра и поиска значений 238 Глава 13. Формулы и функции для финансовых расчетов 255 Глава 14. Основы формул массивов 275 Глава 15. Применение формул массивов 292 ЧАСТЬ III. СОЗДАНИЕ ДИАГРАММ И ИЗОБРАЖЕНИЙ 309 Глава 16. Основы построения диаграмм 310 Глава 17. Расширенные возможности построения диаграмм 339 Глава 18. Работа с изображениями и рисунками 377 ЧАСТЬ IV. АНАЛИЗ ДАННЫХ 391 Глава 19. Работа со списками 392 Глава 20. Использование внешних баз данных 416 Глава 21. Анализ данных с помощью сводных таблиц 429 Глава 22. Анализ данных с помощью сценариев "что-если" 452 Глава 23. Анализ данных: подбор параметров и поиск решения 465 Глава 24. Использование пакета анализа 479
ЧАСТЬ. V. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ EXCEL 489 Глава 25. Пользовательские числовые форматы 490 Глава 26. Настройка панелей инструментов и меню 505 Глава 27. Условное форматирование и проверка данных 515 Глава 28. Структурирование рабочих листов 530 Глава 29. Связывание и консолидация данных 537 Глава 30. Excel и Internet 549 Глава 31. Обмен данными с другими приложениями 557 Глава 32. Совместная работа в Excel 571 Глава 33. Поиск ошибок в рабочих листах 581 ЧАСТЬ. VI. ПРОГРАММИРОВАНИЕ В EXCEL 605 Глава 34. Введение в Visual Basic for Application 606 Глава 35. Функции VBA 628 Глава 36. Основы экранных форм 638 Глава 37. Элементы управления на рабочем листе 656 Глава 38. Обработка событий в Excel 667 Глава 39. Примеры программирования на VBA 678 Глава 40. Создание надстроек Excel 691 ЧАСТЬ VII. ПРИЛОЖЕНИЯ 701 Приложение А. Справочник по функциям Excel 702 Приложение Б. Что можно найти на компакт-диске 715 Приложение В. В часы досуга 727 Приложение Г. Дополнительные источники информации 746 Приложение Д. Клавиатурные эквиваленты Excel 751 Предметный указатель 757 6 Оглавление
Содержание Об авторе 26 Предисловие 27 Подходит ли вам эта книга? 27 Версии программ 27 Соглашения, принятые в книге 27 Команды Excel 27 Имена файлов и вводимые данные 28 Названия клавиш 28 Функции 28 Соглашения относительно мыши 28 Что обозначают пиктограммы 29 Структура книги 29 Как пользоваться этой книгой 30 Новые возможности Excel 2003 30 Поддержка XML 30 Диапазоны списков 31 Панель задач Поиск 31 Усовершенствованные смарт-теги 31 Статистические функции 31 Дополнительные источники 31 ЧАСТЬ. I. ВВОДНЫЙ КУРС 33 Глава 1. Знакомство с Excel 34 Обзор возможностей Excel 34 Рабочая книга и рабочий лист 35 Перемещение по рабочему листу 36 Использование меню и панелей инструментов 39 Работа с диалоговыми окнами 43 Создание первого рабочего листа 47 Подготовка 47 Ввод данных 48 Создание формулы 48 Форматирование таблицы 49 Добавление заголовка 49 Создание диаграммы 50 Печать отчета 51 Сохранение рабочей книги 52 Содержание 7
Глава 2. Ввод и редактирование данных 53 Типы данных Excel 53 Числовые значения 53 Текст 54 Формулы 54 Ввод чисел и текста 55 Дата и время 56 Работа с датами 56 Работа с временными данными 57 Изменение и удаление числовых и текстовых данных 57 Удаление содержимого ячейки 57 Замена содержимого ячейки 58 Редактирование содержимого ячейки 58 Некоторые способы ввода данных 59 Форматирование ячеек 63 Форматирование числовых значений 64 Глава 3. Основные операции с рабочим листом 69 Операции с рабочими листами 69 Работа с окнами Excel 69 Активизация рабочих листов 72 Добавление нового рабочего листа 73 Удаление листа из рабочей книги 73 Изменение имени рабочего листа 74 Изменение цвета ярлычков листов 74 Перемещение и копирование рабочего листа 75 Сокрытие и отображение рабочего листа 76 Управление внешним видом рабочего листа 77 Просмотр листов в нескольких окнах 77 Сравнение рабочих листов 78 Разделение листа 78 Закрепление областей 79 Масштабирование рабочих листов 80 Именованные представления 81 Окно контрольного значения 82 Работа со строками и столбцами 82 Вставка строк и столбцов 82 Удаление строк и столбцов 83 Сокрытие строк и столбцов 84 Изменение ширины столбцов и высоты строк 85 Глава 4. Работа с диапазонами ячеек 87 Ячейки и диапазоны 87 Выделение диапазонов 88 Выделение строк и столбцов целиком 89 Выбор несмежных диапазонов 89 Выделение диапазонов на разных листах 90 Специальные типы выделения 92 Копирование и перемещение диапазонов 94 Копирование с помощью панели инструментов 95 8 Содержание
Копирование с помощью команд меню 96 Копирование с помощью клавиатуры 96 Копирование с помощью операции перетаскивания 96 Копирование в соседние ячейки 97 Копирование диапазона в другие листы 98 Использование буфера обмена Office 99 Специальная вставка 100 Поименованные ячейки и диапазоны 102 Создание имен 102 Создание таблицы имен 104 Изменение существующих имен 105 Примечания к ячейке 105 Глава 5. Форматирование рабочих листов 107 Средства форматирования Excel 107 Панель инструментов форматирования 108 Диалоговое окно Формат ячеек 108 Форматирование таблиц 109 Работа со шрифтами 109 Выравнивание содержимого ячеек 111 Цвета и заливки 114 Границы и линии 116 Добавление подложки в рабочий лист 116 Автоформатирование 117 Использование стилей 118 Применение стилей 120 Создание новых стилей 121 Изменение стиля 122 Объединение стилей из разных рабочих книг 122 Стили и шаблоны 123 Глава 6. Работа с файлами и шаблонами 124 Основные операции с файлами рабочих книг 124 Создание новой рабочей книги 124 Открытие существующей рабочей книги 126 Сохранение и закрытие рабочих книг 128 Как избежать потери данных 132 Шаблоны 133 Шаблон стандартной рабочей книги 133 Новые шаблоны рабочих книг 135 Глава 7. Печать результатов работы 138 Быстрая печать документов 138 Изменение параметров печати 139 Использование диалогового окна Печать 139 Использование диалогового окна Параметры страницы 141 Разбивка на страницы 148 Сокрытие ячеек перед печатью 148 Предварительный просмотр перед печатью 149 Доступ к режиму предварительного просмотра 149 Содержание 9
Корректировка в режиме предварительного просмотра 150 Разметка страницы 151 Использование представлений 152 ЧАСТЬ. II. ФОРМУЛЫ И ФУНКЦИИ 153 Глава 8. Использование формул и функций 154 Знакомство с формулами 154 Операторы, используемые в формулах 155 Порядок выполнения операторов 156 Встроенные функции Excel 158 Ввод формул 159 Ввод формул вручную 160 Ввод формул путем указания 160 Вставка в формулы имен 160 Вставка функции в формулу 161 Советы по вводу функций 162 Редактирование формул 163 Использование ссылок в формулах 164 Абсолютные, относительные и смешанные ссылки 164 Изменение типа ссылок 166 Ссылки на ячейки за пределами текущего рабочего листа 166 Исправление ошибок в формулах 168 Циклические ссылки 168 Режимы вычислений 170 Использование в формулах имен 172 Присвоение имен константам 172 Присвоение имен формулам 172 Пересечения диапазонов 173 Замена существующих ссылок именами 175 Рекомендации по работе с формулами 175 Не используйте в формулах константы 176 Строка формул в качестве калькулятора 176 Получение точной копии формулы 176 Преобразование формул в значения 177 Глава 9. Работа с текстом 178 Несколько слов о тексте 178 Количество символов в ячейке 178 Преобразование числа в текст 179 Текстовые функции 179 Определение типа содержимого ячейки 180 Коды символов 180 Сравнение текстовых строк 181 Объединение содержимого ячеек 182 Отображение форматированных числовых значений в виде текста 183 Отображение числовых значений в денежном формате в виде текста 184 Повторение текста 184 Создание текстовых гистограмм 185 Заполнение символами ячейки с числом 185 10 Содержание
Удаление пробелов и непечатаемых символов 186 Подсчет символов в строке 187 Изменение регистра текста 187 Извлечение фрагментов из текста 188 Замена текста 188 Поиск текста 189 Замена текста 190 Создание формул для работы с текстом 190 Подсчет количества определенных символов в тексте 190 Подсчет вхождений подстрок в текст 190 Извлечение из полного пути имени файла 191 Извлечение первого слова из строки 191 Извлечение последнего слова из строки 191 Извлечение всей строки кроме первого слова 192 Разделение имен, отчеств и фамилий 192 Удаление из имен обращений 193 Подсчет количества слов 193 Глава 10. Работа с датами и временем 195 Как Excel обрабатывает даты и время 195 Даты как порядковые числа 195 Ввод дат 196 Работа со значениями времени 198 Ввод значений времени 199 Работа с датами 201 Представление дат в рабочем листе 202 Представление текущей даты 202 Представление произвольных дат 203 Создание последовательности дат 203 Вычисления со значениями дат 204 Работа со значениями времени 210 Представление текущего времени 210 Вычисления с использованием временных значений 211 Глава 11. Формулы подсчета и суммирования 216 Основные методы подсчета 216 Функции подсчета 218 Подсчет общего количества ячеек в диапазоне 218 Подсчет пустых ячеек в диапазоне 219 Подсчет непустых ячеек в диапазоне 219 Подсчет количества ячеек с числовыми значениями 220 Подсчет ячеек, не содержащих текст 220 Подсчет ячеек, содержащих текст 220 Подсчет логических значений в диапазоне 220 Подсчет числа ошибок 220 Использование формул подсчета 221 Подсчет значений с помощью функции СЧЕТЕСЛИ 221 Подсчет ячеек с использованием нескольких критериев 222 Подсчет наиболее часто встречающихся значений 224 Подсчет текста 225 Содержание 11
Подсчет числа уникальных значений 226 Создание распределения частот 227 Основные методы суммирования 231 Суммирование всех значений диапазона 231 Суммирование с накоплением 232 Суммирование п наибольших значений 233 Формулы условного суммирования 233 Условное суммирование с одним критерием 233 Суммирование отрицательных значений 234 Суммируемые и проверяемые значения принадлежат разным диапазонам 234 Критерий суммирования на основе сравнения текста 235 Критерий суммирования на основе сравнения дат 235 Условное суммирование на основе нескольких критериев 235 Суммирование при выполнении всех критериев 235 Суммирование при выполнении хотя бы одного критерия 236 Комбинирование критериев 236 Глава 12. Формулы просмотра и поиска значений 238 Основы формул просмотра и поиска 238 Функции просмотра и поиска 239 Создание формул для просмотра и поиска 240 Извлечение значений из столбцов таблицы 241 Извлечение значений из строк таблицы 242 Извлечение значений из таблицы с помощью функции ПРОСМОТР 242 Поиск значений с помощью функций ИНДЕКС и ПОИСКПОЗ 244 Использование формул просмотра и поиска 246 Поиск точного совпадения 246 Поиск в правом столбце 247 Сравнение с учетом регистра символов 248 Выбор значений из нескольких таблиц 248 Определение оценки за тест 249 Извлечение данных на основе двух критериев 250 Извлечение данных на основе значений в двух столбцах 251 Определение адреса значения в диапазоне 252 Поиск ближайшего значения 253 Глава 13. Формулы и функции для финансовых расчетов 255 Временные значения денег 255 Вычисление параметров ссуды 256 Функции, применяемые для вычисления параметров ссуды 257 Пример вычислений по ссуде 259 График погашения ссуды 260 Анализ параметров ссуды с помощью таблицы подстановки 262 Вычисление параметров ссуды с нерегулярными платежами 264 Расчет параметров инвестиций 266 Будущая стоимость одного вклада 266 Будущая стоимость последовательности вкладов 270 Расчет амортизации 271 12
Глава 14. Основы формул массивов 275 Введение в формулы массивов 275 Формулы массивов для диапазона ячеек 276 Формулы массивов для отдельных ячеек 277 Создание массивов констант 277 Константы в массивах 278 Размерность массивов 279 Создание одномерных горизонтальных массивов 279 Создание одномерного вертикального массива 279 Создание двухмерных массивов 279 Именованные массивы констант 280 Работа с формулами массивов 281 Введение формулы массива 281 Выделение массива 282 Редактирование формул массивов 282 Расширение и сокращение диапазона, содержащего формулу массива 283 Создание формул массивов для диапазона ячеек 284 Создание массивов на основе значений ячеек диапазона 284 Создание массива констант на основе значений диапазона ячеек 284 Выполнение операций над массивами 285 Применение функций к массивам 285 Транспонирование массивов 286 Генерирование последовательности натуральных чисел 286 Создание формул массивов для отдельных ячеек 287 Подсчет количества символов в диапазоне 288 Суммирование трех наименьших значений диапазона 288 Подсчет количества ячеек, содержащих текст 289 Исключение промежуточных формул 290 Использование массивов вместо ссылок на диапазоны 291 Глава 15. Применение формул массивов 292 Применение формул массивов в отдельных ячейках 292 Суммирование значений диапазона, содержащего ошибки 293 Подсчет количества ошибок в диапазоне 293 Выполнение условного суммирования с помощью формул массивов 294 Суммирование п наибольших значений из диапазона 295 Вычисление среднего, не учитывающего нулевые значения 295 Поиск заданного значения в диапазоне 296 Определение количества различий в двух диапазонах 297 Определение местоположения максимального значения в диапазоне 297 Определение местоположения n-го вхождения значения в диапазоне 298 Поиск самой длинной текстовой строки в диапазоне 298 Проверка ячеек диапазона на допустимость значений 298 Суммирование цифр целого числа 299 Суммирование округленных значений 300 Суммирование n-х значений в диапазоне 301 Удаление из строки нечисловых символов 302 Поиск значения, ближайшего к заданному 302 Поиск последнего значения в столбце 303 Поиск последнего значения в строке 304 Содержание
Ранжирование данных 304 Применение формул массивов для диапазонов ячеек 305 Извлечение положительных значений из диапазона 305 Извлечение непустых ячеек из диапазона 305 Создание списка уникальных значений диапазона 306 Создание календаря 306 ЧАСТЬ. III. СОЗДАНИЕ ДИАГРАММ И ИЗОБРАЖЕНИЙ 309 Глава 16. Основы построения диаграмм 310 Что такое диаграмма 310 Как Excel работает с диаграммами 311 Внедренные диаграммы 312 Диаграмма, расположенная на отдельном листе 312 Параметры диаграммы 313 Построение диаграмм 314 Создание диаграммы нажатием одной клавиши 315 Создание диаграммы щелчком мыши 316 Использование средства Мастер диаграмм 317 Создание диаграммы с помощью средства Мастер диаграмм 318 Мастер диаграмм: шаг 1 из 4 319 Изменение параметров диаграмм 324 Перемещение и изменение размеров диаграммы 324 Изменение типа диаграммы 325 Копирование диаграмм 325 Удаление диаграммы 325 Перемещение и удаление элементов диаграммы 325 Другие изменения диаграммы 326 Печать диаграмм 326 Типы диаграмм Excel 327 Выбор типа диаграммы 328 Стандартные типы диаграмм 329 Гистограммы 329 Линейчатые диаграммы 331 Графики 332 Круговые диаграммы 332 Точечные диаграммы 334 Диаграммы с областями 334 Кольцевые диаграммы 335 Лепестковые диаграммы 336 Поверхностные диаграммы 336 Пузырьковые диаграммы 337 Биржевые диаграммы 337 Диаграммы цилиндрические, конические и пирамидальные 338 Глава 17. Расширенные возможности построения диаграмм 339 Настройка диаграмм 339 Изменение основных элементов диаграмм 340 Выделение элементов диаграммы 340 Использование диалогового окна Формат 341 14 Содержание
Область диаграммы 342 Область построения диаграммы 343 Заголовки диаграммы 344 Легенда диаграммы 344 Линии сетки 346 Параметры осей 346 Работа с рядами данных 350 Удаление ряда данных 351 Добавление нового ряда данных на диаграмму 351 Изменение ряда данных 351 Добавление подписей данных 353 Обработка пропущенных данных 354 Отображение в диаграмме скрытых данных 354 Добавление планок погрешностей 355 Добавление линии тренда 356 Изменение объемных диаграмм 356 Форматирование поверхностных диаграмм 357 Построение комбинированных диаграмм 358 Использование вспомогательных осей 358 Отображение таблицы данных 359 Создание собственных типов диаграмм 359 Немного о пользовательских диаграммах 359 Создание собственного типа диаграммы 360 Секреты построения диаграмм 361 Применение в диаграммах графических объектов 361 Диаграммы прогресса 362 Процентная диаграмма 363 Сравнительные гистограммы 363 Диаграмма Ганта 364 Автоматически обновляемые диаграммы 366 Создание графиков математических функций одной переменной 367 Часто задаваемые вопросы 367 Настройка диаграмм 368 Форматирование диаграмм 369 Ряды данных диаграмм 372 Типы диаграмм 374 Другие вопросы 374 Глава 18. Работа с изображениями и рисунками 377 Автофигуры 377 Панель инструментов Автофигуры 378 Вставка автофигуры 378 Добавление текста в автофигуру 380 Форматирование автофигур 380 Выделение нескольких объектов 381 Перемещение объектов 381 Копирование объектов 381 Вращение автофигур 381 Модификация автофигур 381 Содержание 15
Изменение порядка расположения объектов 381 Группировка объектов 382 Панель инструментов Рисование 382 Выравнивание объектов 383 Распределение объектов 383 Замена одной автофигуры другой 384 Добавление затенения и эффекта объема 384 Изменение стандартных настроек автофигур 385 Печать объектов 385 Работа с другими типами графических объектов 385 Несколько слов о графических файлах 385 Панель Коллекция клипов 386 Импортирование графических файлов 387 Копирование графических объектов с помощью буфера обмена 387 Импортирование изображений со сканера и цифровой фотокамеры 387 Добавление подложки рабочего листа 387 Модификация графических объектов 388 Использование аплетов 388 Построение организационных диаграмм 388 Использование коллекции WordArt 390 ЧАСТЬ. IV. АНАЛИЗ ДАННЫХ 391 Глава 19. Работа со списками 392 Что такое список Excel 392 Что можно делать со списком 393 Планирование списка 394 Ввод данных в список 394 Ввод данных с помощью формы ввода 396 Другие применения формы ввода 396 Фильтрация списков 397 Автоматическая фильтрация 397 Расширенная фильтрация 401 Использование функций баз данных 406 Сортировка списка 407 Простая сортировка 407 Более сложная сортировка 408 Особый порядок сортировки 409 Сортировка произвольного диапазона 410 Создание промежуточных итогов 411 Работа с обозначенными списками 413 Создание обозначенного списка 413 Добавление строк и столбцов к обозначенному списку 414 Добавление итоговых формул в обозначенный список 414 Преимущества использования обозначенных списков 415 Глава 20. Использование внешних баз данных 416 Файлы внешних баз данных 416 Пример извлечения данных с помощью запроса 418 Файл базы данных 418 16 Содержание
Использование MS Query для получения данных 418 Работа с внешними данными 423 Установка свойств диапазона внешних данных 423 Обновление запроса 424 Удаление запроса 425 Изменение запроса 425 Создание расширенных запросов 425 Создание запроса вручную 426 Использование нескольких таблиц базы данных 427 Добавление и редактирование записей в таблицах внешних баз данных 427 Форматирование данных 428 Дополнительная информация о Microsoft Query 428 Глава 21. Анализ данных с помощью сводных таблиц 429 Что такое сводная таблица 429 Пример сводной таблицы 430 Отбор данных для сводных таблиц 431 Создание сводных таблиц 434 Определение местонахождения данных 434 Определение данных 435 Завершение построения сводной таблицы 436 Работа со сводными таблицами 441 Изменение структуры сводной таблицы 441 Удаление поля 441 Добавление нового поля 441 Обновление сводной таблицы 442 Настройка параметров полей сводной таблицы 442 Форматирование сводной таблицы 443 Группировка элементов сводной таблицы 443 Просмотр деталей 445 Вставка вычисляемого поля или вычисляемого элемента 446 Создание вычисляемого поля в сводной таблице 447 Вставка в сводную таблицу вычисляемого элемента 448 Глава 22. Анализ данных с помощью сценариев "что-если" 452 Пример анализа "что-если" 452 Типы анализа "что-если" 454 Проведение анализа "что-если" вручную 454 Создание таблиц подстановки 454 Создание таблицы подстановки с одним входом 455 Создание таблицы подстановки с двумя входами 457 Диспетчер сценариев 460 Определение сценариев 460 Отображение сценариев 462 Изменение сценария 463 Объединение сценариев 463 Создание отчета по сценарию 463 Содержание 17
Глава 23. Анализ данных: подбор параметров и поиск решения 465 Средства подбора параметров и поиска решения 465 Подбор параметра 466 Процедура подбора параметра 466 О процедуре подбора параметра 467 Поиск решения 468 Характерные задачи поиска решения 468 Простой пример поиска решения 469 Параметры процедуры поиска решения 471 Примеры поиска решений 473 Минимизация расходов на перевозку 473 Распределение ресурсов 476 Оптимизация портфеля ценных бумаг 477 Глава 24. Использование пакета анализа 479 Обзор пакета анализа 479 Использование средств пакета анализа 480 Установка пакета анализа 480 Использование инструментов пакета анализа 480 Использование функций пакета анализа 481 Инструменты пакета анализа 481 Дисперсионный анализ 482 Корреляционный анализ 482 Ковариационный анализ 483 Описательная статистика 483 Экспоненциальное сглаживание 483 F-тест (для оценки дисперсий) 484 Анализ Фурье 484 Гистограмма 484 Скользящее среднее 485 Генерация случайных чисел 485 Ранг и персентиль 486 Регрессия 486 Выборка 487 t-тест 487 Двухвыборочный z-тест для средних 488 ЧАСТЬ. V. ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ EXCEL 489 Глава 25. Пользовательские числовые форматы 490 Числовые форматы 490 Автоматическое форматирование чисел 490 Форматирование чисел с помощью панели инструментов 491 Форматирование чисел с использованием комбинаций клавиш 492 Форматирование чисел с помощью диалогового окна Формат ячеек 492 Создание новых числовых форматов 493 Числовые форматы, определяемые пользователем 494 Шаблон числового формата 495 Коды пользовательских числовых форматов 495 Примеры числовых форматов, определенных пользователем 497 18 Содержание
Масштабирование значений 497 Отображение незначащих нулей 501 Отображение дробей 501 Отображение знака "минус" справа от числа 502 Форматирование дат и времени 502 Отображение текста и чисел 503 Подавление ввода данных определенного типа 503 Заполнение ячеек повторяющимися символами 503 Глава 26. Настройка панелей инструментов и меню 505 Настройка панелей инструментов 505 Типы настройки панелей инструментов 506 Контекстное меню 507 Перемещение панелей инструментов 507 Использование диалогового окна Настройка 507 Вкладка Панели инструментов 508 Вкладка Команды 509 Вкладка Параметры 510 Добавление и удаление кнопок панелей инструментов 511 Перемещение и копирование кнопок 511 Вставка новой кнопки 511 Другие операции с кнопками панелей инструментов 512 Изменение изображений на кнопках 513 Использование изображения, предлагаемого Excel 513 Редактирование изображения на кнопке 513 Копирование изображения с другой кнопки 514 Глава 27. Условное форматирование и проверка данных 515 Условное форматирование 515 Задание условного форматирования 516 Параметры форматирования 516 Определение условия 516 Работа с условными форматами 518 Примеры использования условного форматирования 521 Проверка данных 524 Определение критерия проверки 524 Типы данных 525 Создание раскрывающегося списка 526 Проверка данных с использованием формул 528 Глава 28. Структурирование рабочих листов 530 Что такое структура рабочего листа 530 Создание структуры 533 Подготовка данных 533 Автоматическое создание структуры 534 Создание структуры вручную 534 Использование структур 535 Отображение уровней 535 Добавление данных к структуре 536 Удаление структуры 536 Сокрытие символов структуры 536 Содержание 19
Глава 29. Связывание и консолидация данных 537 Связывание рабочих книг 537 Зачем нужно связывать рабочие книги 537 Создание формул с внешними ссылками 538 Работа с формулами, содержащими внешние ссылки 539 Проблемы при работе с формулами, содержащими внешние ссылки 542 Консолидация рабочих листов 543 Консолидация с помощью формул 544 Консолидация с помощью диалогового окна Специальная вставка 544 Использование команды Консолидация 545 Глава 30. Excel и Internet 549 Как Excel работает с HTML 549 Что внутри 549 Еще об HTML 551 Сохранение интерактивности в Web-документах 551 Экспортирование в формат XML 553 Гиперссылки 553 Вставка гиперссылок 554 Использование гиперссылок 554 Использование Web-запросов 555 Глава 31. Обмен данными с другими приложениями 557 Обмен данными между приложениями 557 Вставка и связывание данных 558 Использование буферов обмена 558 Связывание данных 560 Копирование данных из Excel в Word 561 Внедрение объектов в документы 562 Внедрение диапазона ячеек Excel в документ Word 562 Создание в Word нового объекта Excel 564 Внедрение объектов в рабочий лист Excel 565 Работа с данными XML 566 Что такое XML 566 Импорт данных XML с использованием карты 567 Импортирование данных XML в список 569 Экспорт данных XML из Excel 570 Глава 32. Совместная работа в Excel 571 Использование Excel в сети 571 Доступ к рабочим книгам 572 Общие рабочие книги 573 Рабочие книги для совместного использования 573 Разрешение на общий доступ к рабочей книге 574 Дополнительные параметры 575 Пересылка рабочих книг 576 Пересылка рабочих книг по электронной почте 577 Рассылка рабочих книг нескольким пользователям 577 Отслеживание исправлений в рабочей книге 578 Контроль исправлений 578 Просмотр исправлений 579 20 Содержание
Глава 33. Поиск ошибок в рабочих листах 581 Поиск и исправление ошибок в формулах 581 Несоответствие скобок 582 Ячейки заполнены символами решетки 583 Пустые ячейки 583 Формулы, возвращающие значения ошибок 584 Ошибки в ссылках 587 Приоритет операторов 587 Что делать, если формулы не вычисляются 588 Действительные и отображаемые значения 588 Числа с плавающей запятой 589 Ошибки, связанные с внешними ссылками 590 Средства проверки Excel 590 Выделение ячеек определенного типа 591 Просмотр формул 592 Сравнение рабочих листов 592 Отслеживание связей между ячейками 594 Отслеживание ошибочных значений 595 Циклические ссылки 596 Фоновая проверка ошибок 596 Вычисление формул 597 Средства поиска и замены 598 Поиск информации 599 Замена информации 599 Поиск формата 600 Проверка орфографии 600 Использование автозамены 602 Использование автозавершения 603 ЧАСТЬ. VI. ПРОГРАММИРОВАНИЕ В EXCEL 605 Глава 34. Введение в Visual Basic for Application 606 Введение в макросы VBA 606 Два типа VBA-макросов 607 Подпрограммы VBA 607 Функции VBA 608 Создание VBA-макросов 610 Запись макросов 610 Редактирование макроса 613 Подробности о записи VBA-макросов 615 Написание кода VBA 617 Дополнительные сведения 627 Прочитайте книгу до конца 627 Запишите свои действия с помощью средства записи макросов 627 Пользуйтесь системой электронной справки 627 Купите еще одну книгу 627 Содержание 21
Глава 35. Функции VBA 628 Понятие функций VBA 628 Вводный пример 629 Создание новой функции 629 Использование функции в рабочем листе 629 Анализ новой функции 629 Процедуры-функции 630 Вызов функций 631 Вызов функции из другой процедуры 631 Использование функций в формулах рабочего листа 631 Аргументы функций 632 Пример функции без аргументов 633 Пример функции с одним аргументом 633 Пример функции с двумя аргументами 634 Пример функции с аргументами-диапазонами 635 Отладка функций 636 Вставка новых функций 636 Дополнительные сведения 637 Глава 36. Основы экранных форм 638 Зачем создавать новые диалоговые окна 638 Альтернативы диалоговым окнам 639 Окна ввода 639 Функция VBA MsgBox 640 Создание пользовательских диалоговых окон 643 Работа с пользовательскими формами 643 Вставка элементов управления в экранную форму 643 Изменение свойств элементов управления 645 Обработка событий 646 Отображение экранных форм 646 Пример создания экранной формы 646 Создание диалогового окна 646 Тестирование 647 Написание процедур обработки событий 648 Еще один пример создания диалогового окна 649 Создание диалогового окна 649 Тестирование диалогового окна 650 Процедуры обработки событий 651 Тестирование диалогового окна 653 Привязка макроса к кнопке панели инструментов 653 Дополнительные сведения о создании диалоговых окон 654 Добавление горячих клавиш 654 Изменение последовательности перехода 654 Дополнительные сведения 655 Глава 37. Элементы управления на рабочем листе 656 Применение элементов управления на рабочем листе 656 Использование элементов управления 658 Вставка элемента управления 658 Режим конструктора 659 22 Содержание
Настройка свойств 659 Некоторые свойства элементов управления 660 Связь элементов управления с ячейками рабочего листа 660 Создание макросов для элементов управления 661 Панель Элементы управления 662 Флажок 662 Поле со списком 662 Кнопка 663 Рисунок 663 Надпись 663 Списки 663 Переключатели 664 Полоса прокрутки 664 Счетчик 665 Поле 666 Выключатель 666 Глава 38. Обработка событий в Excel 667 События Excel 667 Начало создания процедуры обработки событий 668 События уровня рабочей книги 669 Использование события Open 670 Использование события SheetActivate 671 Использование события NewSheet 671 Использование события BeforeSave 672 Использование события BeforeClose 672 События рабочего листа 672 Использование события Change 673 Отслеживание изменений в отдельном диапазоне ячеек 674 Использование события SelectionChange 674 Использование события BeforeRightClick 675 События, не связанные с объектами 676 Использование события OnTime 676 Использование события ОпКеу 676 Глава 39. Примеры программирования на VBA 678 Работа с диапазонами 678 Копирование диапазона 679 Копирование диапазона переменного размера 680 Выбор до конца строки или столбца 680 Выбор строки или столбца 681 Перемещение диапазона 681 Циклические операции над диапазоном 682 Выборка содержимого ячейки 683 Определение типа выбранных ячеек 683 Определение несмежных диапазонов 684 Изменение параметров Excel 684 Логические параметры 685 Нелогические параметры 685 Работа с диаграммами 686 Содержание 23
Изменение типа диаграммы 686 Изменение свойств диаграммы 686 Форматирование диаграммы 687 Советы по ускорению работы программ 687 Отключение функции обновления экрана 687 Отключение предупреждающих сообщений 688 Упрощение ссылок на объекты 688 Объявление типов переменных 688 Глава 40. Создание надстроек Excel 691 Что такое надстройка 691 Работа с надстройками 692 Зачем создавать надстройки 693 Создание надстройки 694 Пример надстройки 695 Настройка рабочей книги 695 Тестирование рабочей книги 697 Добавление описания 698 Защита надстройки 698 Сохранение надстройки 699 Открытие надстройки 699 ЧАСТЬ. VII. ПРИЛОЖЕНИЯ 701 Приложение А. Справочник по функциям Excel 702 Приложение Б. Что можно найти на компакт-диске 715 Системные требования 715 Использование компакт-диска 716 Файлы и программное обеспечение 716 Электронная книга Excel 2003 Bible 716 Электронная книга Office 2003 Super Bible 716 Файлы примеров 717 Программное обеспечение 724 Возможные проблемы 726 Приложение В. В часы досуга 727 Игры 727 Крестики-нолики 727 Пятнашки 728 Кено 729 Головоломки со словами 729 Бросание костей 729 Анимационные фигуры 731 Создание симметричных узоров 732 Фокусы с диаграммами 732 Построение тригонометрических функций 732 Диаграмма гипоциклоиды 734 Анимационные диаграммы 735 Генератор модели контурной диаграммы 735 Лепестковая диаграмма 736 24 Содержание
Аналоговые часы 737 Горный пейзаж 738 Пузырьковая диаграмма в виде мыши 738 Создание эскиза с помощью точечной диаграммы 739 Любителям игры на гитаре 740 ASCII-художество 741 Другие игры 741 Видеопокер 741 Игра в кости 742 Сапер 743 Виселица 743 Генератор случайных чисел 744 Приложение Г. Дополнительные источники информации 746 Справочная система Excel 746 Техническая поддержка Microsoft 747 Возможности технической поддержки 747 База знаний Microsoft 747 Официальная страница Excel 747 Средства Microsoft Office в Internet 747 Группы новостей в Internet 748 Группы новостей по электронным таблицам 748 Группы новостей Microsoft 748 Поиск в группах новостей 749 Web-узлы 750 Приложение Д. Клавиатурные эквиваленты Excel 751 Предметный указатель 757 Содержание 25
Об авторе Джон Уокенбах (John Walkenbach) является автором более трех десятков книг, посвященных электронным таблицам. Web-узел автора: http://www. j-walk.com
Предисловие От души благодарим читателя за покупку книги Excel 2003. Библия пользователя. Цель написания этой книги — поделиться нашими знаниями об Excel и научить вас работать более эффективно. Книга содержит все, что необходимо для изучения основ Excel и дальнейшей самостоятельной работы с этим программным продуктом. Вы найдете много полезных примеров, советов и приемов, которые в дальнейшем сможете применить на практике. Подходит ли вам эта книга? Серия книг Библия пользователя... (Bible...) издательства Wiley Publishing предназначена для начинающих, опытных и профессиональных пользователей. В этой книге описаны все основные компоненты Excel и приведены практические примеры, которые вы можете использовать при решении своих задач. В этой книге мы постарались сбалансировать объем основного материала, необходимого каждому пользователю Excel, с более сложными темами, которыми наверняка заинтересуются опытные пользователи. Электронными таблицами мы пользуемся уже много лет и на своем опыте можем утверждать, что всегда найдется что-то, чего мы не знаем и что следует изучить. Наша цель — сделать процесс изучения простым и приносящим удовлетворение. Версии программ Настоящая книга посвящена Excel 2003 для Windows. Эта программа не изменилась со времен последней версии, поэтому материал книги можно смело использовать и при работе с более ранними версиями, а также при изучении Excel для Macintosh. Если же вы работаете с версией, вышедшей до Excel 97, эта книга не принесет никакой пользы. Соглашения, принятые в книге Уделите немного внимания этому разделу и ознакомьтесь с принятыми в данной книге соглашениями. Команды Excel В Excel, как и в других Windows-приложениях, команды выбираются из выпадающих меню. В этой книге такие команды выделены специальным рубленым шрифтом, а последовательность команд, выбираемых из одного меню, записывается следующим образом: ФайлО Область печатиоЗадать. Предисловие 27
Имена файлов и вводимые данные То, что вы должны ввести с клавиатуры, в книге выделяется полужирным шрифтом. Имена файлов выделяются моноширинным шрифтом. Длинный вводимый список данных или команд обычно располагается в отдельной строке. Например, мы можем предложить вам ввести следующую формулу: ="Имя Раздела: " &ВПР(ИмяРаздела,СписокРазделов,2) Названия клавиш Все названия клавиш заключаются в <угловые скобки>. Когда две клавиши должны быть нажаты одновременно, они объединяются знаком "плюс"; например, для выбора меню Правка следует нажать комбинацию клавиш <Alt+n>. Ниже приведены названия клавиш, которые используются в книге. <Alt> <1> <Num Lock> <—» <Backspace> <End> <Paus.e> <Scroll Lock> <Caps Lock> <Home> <PgDn> <Shift> <Ctrl> <Insert> <PgUp> <Tab> <Delete> «—> <Print Screen> <T> Функции Встроенные функции рабочего листа Excel пишутся прописными буквами, например: "Введите формулу СУММ в ячейку С20". Соглашения относительно мыши Предполагается, что вы используете мышь или какое-либо другое устройство указания. Ниже приведены относящиеся к мыши термины, которые употребляются в данной книге. ■ Указатель мыши. Маленькое графическое изображение, которое перемещается по экрану, когда вы двигаете мышь. Обычно указатель мыши — это стрелка, но она меняет форму, когда вы перемещаетесь в определенные области на экране или выполняете определенные действия. ■ Указать. Передвинуть мышь так, чтобы поместить ее указатель на некоторый элемент, например: "Укажите на кнопку Сохранить на панели инструментов". ■ Нажать. Нажать левую кнопку мыши и задержать ее в этом положении. Обычно эта операция используется при перетаскивании объектов. ■ Щелкнуть. Один раз нажать и сразу же отпустить левую кнопку мыши. ■ Щелкнуть правой кнопкой мыши. Нажать и сразу же отпустить правую кнопку мыши, которая используется в Excel для вызова контекстного меню, относящегося к выделенному объекту. ■ Дважды щелкнуть. Дважды быстро нажать и сразу же отпустить левую кнопку мыши. Если по какой-либо причине это не сработает, измените чувствительность двойного щелчка с помощью панели управления Windows. 28 Предисловие
Перетащить. Нажать левую кнопку мыши и удерживать ее в этом положении при перемещении мыши. Операция перетаскивания часто используется для выбора диапазона ячеек или для изменения размера объекта. Что обозначают пиктограммы На полях книги вы увидите специальные пиктограммы. Они предназначены для того, чтобы обратить ваше внимание на особо важные моменты; кроме того, они могут быть адресованы отдельным группам читателей. Ниже приведены пиктограммы, которые используются в этой книге. Отмечает что-то очень важное, стоящее вашего внимания. Это может подать вам идею, позволяющую легко решить задачу или облегчить понимание последующего материала. Подсказывает более эффективный способ выполнения задания, который может быть не столь очевидным. Совет Внимание! Используется в случае, если какое-либо описываемое действие может вызвать определенные проблемы. Поэтому будьте внимательны! Ерполнительн нформация На компакт- диске /Щ Указывает, что дополнительную информацию по обсуждаемой теме можно найти в другом месте книги. Указывает, что файл, содержащий обсуждаемый пример, можно найти на прилагаемом к книге компакт-диске. Структура книги Книга состоит из шести частей и пяти приложений, объединенных в отдельную часть. Часть I. Вводный курс. Семь глав этой части описывают основные понятия и базовые приемы работы в Excel, с которыми должны быть знакомы все пользователи электронных таблиц. Новичкам обязательно следует изучить материал этой части, но даже опытные пользователи наверняка найдут для себя что-то новое. Часть II. Формулы и функции. В этой части приведено все, что необходимо знать для проведения разнообразных вычислений в Excel. Часть III. Создание диаграмм и изображений. Состоит из трех глав, в которых описываются как основные методы работы, так и достаточно сложные приемы, используемые для работы с диаграммами и изображениями. Часть IV. Анализ данных. Освещается обширная тема анализа данных. Некоторые главы этой части, без сомнения, будут интересны пользователям всех уровней. Предисловие 29
Часть V. Дополнительные возможности Excel. Состоит из девяти глав, темы которых обычно считаются более сложными. Как начинающие, так и опытные пользователи найдут здесь много полезной информации. Часть VI. Программирование в Excel. Предназначена для тех, кто хочет настроить Excel по собственному вкусу, а также для тех, кто разрабатывает рабочие книги и надстройки для других. Сначала достаточно детально описывается язык Visual Basic for Applications (VBA). Далее обсуждаются методы создания и работы с формами, надстройками, панелями инструментов, также описываются меню и события. Часть VII. Приложения. Включает справочный материал по всем функциям Excel, содержимое прилагаемого к книге компакт-диска, а также несколько игр и других интересных "фокусов", которые можно создать в Excel. Как пользоваться этой книгой Книга не предназначена для чтения от корки до корки. Скорее, это справочник, к которому можно обратиться в одной из описанных ниже ситуаций. ■ Пытаясь что-либо сделать, вы попали в затруднительное положение. ■ Вам нужно сделать что-то, чего вы никогда раньше не делали. ■ У вас есть немного свободного времени, и вы хотите изучить что-то новое. Обратите внимание, что каждая глава, как правило, посвящена одной большой теме. Если вы только начинаете работать с Excel, рекомендуем прочитать первые главы, чтобы получить основное представление об электронных таблицах, а затем поэкспериментировать по своему усмотрению. Ознакомившись с Excel, можете обратиться к тем главам, которые вас больше всего интересуют. Однако некоторые пользователи предпочитают изучать главы по порядку. Не расстраивайтесь, если какой-то материал покажется вам непонятным. Многие отлично справляются со своей работой, используя лишь малый процент общих возможностей Excel. Фактически здесь действует правило 80/20: 80% пользователей Excel применяют только 20% всего того, что заложено в программе. Но, как вы сами убедитесь, даже эти 20% раскроют перед вами широчайшие возможности. Новые возможности Excel 2003 В этом разделе кратко описаны новые возможности Excel 2003, которых не было в Excel 2002. Как ни странно, но их список на удивление короткий. О том, как их применять, речь пойдет далее в книге. Поддержка XML В Excel 2003 присутствует поддержка XML (extensible Markup Language — расширяемый язык разметки). Это означает, что теперь можно импортировать данные XML и присваивать данные их элементов определенной ячейке рабочего листа. 30 Предисловие
Диапазоны списков Теперь можно определять часть рабочего листа как диапазон списка и тем самым облегчить работу с ним. Например, добавлять новые элементы и короткие формулы стало удобнее. Кроме того, появилась возможность экспортировать диапазоны списков на узел SharePoint Team Services для совместной работы с другими пользователями. Панель задач Поиск С помощью новой панели задач можно выполнить поиск по стандартным справочникам или найти Web-узел. Усовершенствованные смарт-теги В более ранних версиях Excel предоставляла возможность включения или отключения смарт-тегов. В Excel 2003 появилась возможность включить смарт-теги только для определенного диапазона ячеек. Статистические функции Многие опытные пользователи часто жаловались на неточность некоторых статистических функций в Excel. Наконец-то Microsoft исправила эту извечную проблему. Дополнительные источники За многие годы работы над книгами Excel... Библия пользователя было создано такое огромное количество различных надстроек, что мы просто не смогли поместить их все на один компакт-диск! Купив эту книгу, вы не только получили доступ более чем к 200 дополнительным программам и демонстрационным примерам, но и приобрели полную версию книги в электронном виде абсолютно бесплатно! Ознакомьтесь с дополнительным материалом, который содержится на прилагаемом компакт-диске. ■ Материалы, созданные автором. Файлы примеров, представленных в этой книге. ■ Дополнительное програмное обеспечение. Более 200 программ (бесплатные и условно бесплатные пробные и демонстрационные версии программ) для Office. Полное описание каждого приложения находится на диске. ■ Электронная книга "Office 2003 Super Bible". Более чем 500 страниц этой книги посвящено методам взаимодействия компонентов Microsoft Office между собой, а также с другими приложениями. Она включает избранные главы печатных книг, посвященных продуктам Microsoft Office. Кроме того, в ней вы найдете разделы, написанные специально для этой книги. ■ Электронная версия книги. На компакт-диске содержится электронная версия книги на английском языке. С ее помощью вы можете не только работать с электронным текстом, но и осуществлять поиск нужной темы. Предисловие 31
Вводный курс этой части даются базовые сведения об Excel и рассматривается, как эффективно работать с этой программой. Если вы новичок в Excel, то обязательно изучите представленный здесь материал. Если же вы ранее работали с Excel (или с какой-нибудь другой программой электронных таблиц), можете просто бегло просмотреть материал этой части. Но даже в этом случае вы найдете здесь несколько советов и приемов, благодаря которым работа с электронными таблицами станет проще и эффективнее. ЧАСТЬ 43 этой части... Глава 1 Знакомство с Excel Глава 2 Ввод и редактирование данных Глава 3 Основные операции с рабочим листом Глава 4 , Работа с диапазонами ячеек Глава 5 Форматирование рабочих ;листов Глава 6 Работа с файлами и шаблонами Глава 7 Печать результатов работы
Знакомство с Excel В этой главе... Обзор возможностей Excel Рабочая книга и рабочий лист Перемещение по рабочему листу Создание первого рабочего листа ip*) этой главе вы найдете обзор основных возможностей L_^ Excel. Представленный здесь материал будет полезен прежде всего тем, кто не работал ранее с Excel. Если же вы опытный пользователь, то, вероятно, большая часть материала будет вам знакома. Тем не менее пролистайте эту главу, чтобы освежить в памяти знания об основных возможностях Excel. Кроме того, вы наверняка найдете здесь несколько новых советов. Если же вы ранее пользовались Excel 2002, то откроете для себя новые возможности Excel 2003. Обзор возможностей Excel Как вы, вероятно, знаете, Excel — это программа, которая относится к категории электронных таблиц и является частью пакета Microsoft Office. Кроме этого, существует еще несколько подобных программ, но, безусловно, Excel — наиболее популярная. Одним из основных достоинств Excel является ее универсальность. Конечно же, в Excel наиболее развиты средства для выполнения различных операций над числами. Но ее можно применять и для решения множества других, не относящихся к числовым, задач. Приведем несколько возможных применений Excel. ■ Решение числовых задач, требующих больших вычислений. Создание отчетов, анализ результатов исследований, а также применение всевозможных методов финансового анализа. ■ Создание диаграмм. Excel содержит средства для создания различных типов диаграмм, а также предоставляет широкие возможности по их настройке. ■ Организация списков. Excel позволяет эффективно создавать и использовать структурированные таблицы, в столбцах которых находятся однотипные данные. ■ Доступ к данным других типов. Возможность импортирования данных из множества различных источников.
■ Создание рисунков и схем. Использование средства Excel Автофигуры для создания простых (и не очень) схем. ■ Автоматизация сложных задач. Используя макросы Excel, можно выполнять однотипные задачи одним щелчком мыши. Рабочая книга и рабочий лист Все действия, которые вы выполняете в Excel, хранятся в файле рабочей книги, который открывается в отдельном окне. Вы можете открыть сколько угодно рабочих книг. По умолчанию файлы рабочих книг имеют расширение XLS. Каждая рабочая книга состоит из одного или более рабочих листов, каждый из которых, в свою очередь, состоит из отдельных ячеек. В ячейке может храниться число, формула или текст. Чтобы перейти из одного рабочего листа в другой, нужно щелкнуть на соответствующем ярлычке листа, который находится в нижней части рабочей книги. Кроме того, рабочие книги могут содержать листы диаграмм, на каждом из которых может находиться по одной диаграмме. Перейти на лист диаграммы можно, щелкнув на его ярлычке. Когда вы впервые открываете Excel, вас может несколько напугать обилие разнообразных элементов в окне программы. Но вы скоро увидите, что очень просто понять и запомнить назначение элементов окна Excel и освоить принципы их работы. На рис. 1.1 показаны наиболее важные части и элементы окна Excel, а в табл. 1.1 кратко описаны все эти элементы. Элемент Описание Табличный курсор Кнопка закрытия приложения Кнопка закрытия окна Заголовки столбцов Строка формул Горизонтальная полоса прокрутки Кнопка максимизации/восстановления Строка меню Кнопка минимизации приложения Это темный контур, выделяющий текущую активную ячейку (одну из 16 777 216 ячеек каждого рабочего листа) Щелчок на этой кнопке закрывает Excel Щелчок на этой кнопке закрывает окно активной рабочей книги Каждый из 256 столбцов рабочего листа имеет заголовок — буквы от А до IV. После столбца Z идет столбец АА, за которым следуют АВ, АС и т.д. После столбца AZ идут ВА, ВВ и так до самого последнего, который обозначается буквами IV. Чтобы выделить все ячейки столбца, щелкните на его заголовке Если вы вводите данные или формулы, они появляются в этой строке Позволяет прокручивать лист по горизонтали Щелчок на этой кнопке разворачивает окно рабочей книги так, чтобы оно заполняло все рабочее пространство Excel. Если окно уже максимально развернуто, то на месте этой кнопки появляется кнопка восстановления. При щелчке на ней окно Excel уменьшится (восстановит тот размер, который был до максимизации окна) и уже не будет занимать весь экран Это основное меню Excel. Если щелкнуть на любом слове, находящемся в строке меню, то появится список элементов выбранного меню; это один из возможных способов вызова команд Excel Щелчок на этой кнопке сворачивает окно Excel Глава 1. Знакомство с Excel 35
Окончание табл. 1.1 Элемент Описание Кнопка минимизации окна Поле Имя Заголовки строк Ярлычки листов Кнопки прокрутки ярлычков листов Строка состояния Область задач Переключатель на другие панели области задач Строка заголовка Панели инструментов Вертикальная полоса прокрутки Щелчок на этой кнопке сворачивает окно активной рабочей книги Отображает адрес активной ячейки либо имя выделенной ячейки, диапазона или объекта Каждая строка рабочего листа имеет заголовок, который является числом из интервала от 1 до 65 536. Для того чтобы выделить все ячейки строки, щелкните на заголовке этой строки Каждый из этих ярлычков, напоминающих ярлычки записной книжки, представляет отдельный лист рабочей книги. Рабочая книга может иметь произвольное число рабочих листов; у каждого из них есть имя, которое и указывается на ярлычке листа. По умолчанию новая рабочая книга содержит три листа Эти кнопки позволяют прокручивать ярлычки рабочих листов для их просмотра и выбора В этой области отображаются различные сообщения, а также состояние клавиш <Num Lock>, <Caps Lock> и <Scroll Lock> Панели этой области позволяют быстро выбрать одну из множества связанных задач. Например, открыть существующую или создать новую рабочую книгу Щелчок на этом переключателе позволяет открыть другую панель области задач Все программы, работающие под управлением Windows, имеют строку заголовка. В ней указывается имя программы, и здесь же находятся некоторые кнопки управления, которые можно использовать для изменения внешнего вида окна На панелях инструментов находятся кнопки. Если щелкнуть на одной из них, будет выполнена соответствующая команда Excel. Некоторые из этих кнопок открывают палитры дополнительных кнопок или команд Позволяет прокручивать лист по вертикали Перемещение по рабочему листу Каждый рабочий лист состоит из строк (пронумерованных от 1 до 65 536) и столбцов (обозначенных буквами от А до IV). После столбца Z идет столбец АА, после AZ — ВА и т.д. На пересечении строки и столбца расположена отдельная ячейка. В текущий момент времени только одна ячейка может быть активной. Активная ячейка выделяется темным контуром (рис. 1.2). Ее адрес, т.е. буква столбца и номер строки, указывается в поле Имя. В зависимости от выбранного способа перемещения по рабочей книге активная ячейка может переме- щаться или оставаться неизменной. Заголовки строки и столбца, на пересечении которых находится активная ячей- Совет ка, выделены темным цветом. По этому признаку легко определить активную ^к ячейку. 36 Часть /. Вводный курс
Заголовки столбцов Табличный курсор Поле Имя Кнопка закрытия окна Кнопка закрытия приложения Кнопка максимизации/восстановления Кнопка минимизации приложения Кнопка минимизации окна Строка Строка Панели Строка состояния Горизонтальная Ярлычки листов полоса прокрутки Кнопки прокрутки ярлычков листов Область задач Переключатель Вертикальная полоса прокрутки на другие панели области задач Рис. 1.1. Окно Excel и его основные элементы *U Февраль <V _ Апрель ___ Лай 'юнь ■ '.■оль АВГуСТ 'Сентябрь Октябрь Ноябрь Декабрь 20О4 68 103. 72 103 5Г~ £ [ 106 п • 73. Щ__ 74 112 76 116 60 116: 60 116 64 120] 67 121: 68 124 124 90 I» ' > ■*■ iwti .'rwrs/iwrj/ |<| I «:Г Рис. 1.2. Активная ячейка выделена темным контуром Глава 1. Знакомство с Excel 37
Использование клавиатуры Вероятно, вы уже знаете, что для перемещения по рабочему листу можно использовать клавиши управления курсором. Эти клавиши работают именно так, как можно было ожидать: нажатие клавиши <-1> перемещает табличный курсор вниз на одну строку, нажатие клавиши <-» — на один столбец вправо и т.д. Клавиши <PgUp> и <PgDn> служат для перемещения табличного курсора вверх или вниз на одно полное окно (количество строк, на которое перемещается курсор, зависит от количества строк, отображаемых в окне). Когда включен индикатор Scroll Lock, вы можете прокручивать рабочий лист, не Совет меняя активной ячейки. Это удобно в том случае, если нужно увидеть другую часть рабочей таблицы и затем быстро вернуться в первоначальное положение. •\ Нажмите клавишу <Scroll Lock>, а затем воспользуйтесь клавишами управления курсором для перемещения по рабочей таблице. Если необходимо вернуться в исходную точку (активную ячейку), нажмите <Ctrl+Backspace>. Затем снова нажмите клавишу «Scroll Lock>, чтобы отключить индикатор. Когда индикатор Scroll Lock включен, в строке состояния (она расположена внизу экрана) отображается надпись SCRL. Клавиша <Num Lock> управляет работой клавиш, расположенных на дополнительной цифровой клавиатуре. Когда индикатор Num Lock включен. Excel высвечивает в строке состояния надпись NUM. В этом случае на дополнительной цифровой клавиатуре можно вводить числа. Почти на всех современных клавиатурах есть отдельный блок серых клавиш управления курсором, расположенный слева от цифровой клавиатуры. На эти клавиши не влияет состояние индикатора <Num Lock>. В табл. 1.2 перечислены все комбинации клавиш, которые используются в Excel для перемещения по рабочему листу. Таблица 1.2. Клавиши перемещения по рабочему листу Excel Клавиша Перемещение курсора <Т> На одну строку вверх <i> На одну строку вниз <<-> На один столбец влево <->> На один столбец вправо <PgUp> На один экран вверх <PgDn> На один экран вниз <Alt+PgUp> На один экран вправо <Alt+PgDn> На один экран влево <Ctrl+Backspace> Прокрутка экрана к активной ячейке <Т>* На одну строку вверх <i>* На одну строку вниз <<->* На один столбец влево <->>* На один столбец вправо : С включенным индикатором Scroll Lock. 38 Часть I. Вводный курс
Использование мыши Перемещение по рабочему листу с помощью мыши тоже происходит так, как того можно было ожидать. Для того чтобы изменить активную ячейку, щелкните на нужной ячейке, и она станет активной. Если та ячейка, которую вы хотите активизировать, не видна в окне рабочей книги, можно использовать полосы прокрутки для прокручивания окна в любом направлении. Для прокрутки на одну ячейку щелкните на одной из стрелок, расположенных на полосах прокрутки. Для прокрутки на целый экран, щелкните в любом месте полосы прокрутки (там, где нет бегунка). Для ускорения прокручивания можно также перетаскивать бегунок. Если к вашему компьютеру подключена мышь Microsoft IntelliMouse, то вы можете использовать ее колесико для вертикальной прокрутки. Когда установлена стандартная скорость, за один щелчок колесиком прокручивается три строки. Кроме того, если щелкнуть колесиком и переместить указатель мыши в любом направлении, рабочий лист будет автоматически прокручен в этом направлении. Чем дальше вы переместите указатель мыши, тем быстрее будет выполняться прокрутка. Если же вы хотите назначить колесику функцию увеличения и уменьшения рабочей таблицы, то выберите команду Сервис*Параметры, щелкните на вкладке Общие и активизируйте опцию Панорамирование с помощью IntelliMouse. При использовании полос прокрутки или прокручивании с помощью IntelliMouse активная ячейка не изменяется, прокручивается только рабочий лист. Для изменения активной ячейки следует после прокручивания щелкнуть на новой ячейке. Использование меню и панелей инструментов Если вы ранее работали в какой-либо программе, то у вас не должно возникнуть никаких проблем при работе в Excel. Интерфейс пользователя Excel (т.е. меню и панели инструментов) покажется вам знакомым, поскольку расположение и назначение команд во всех программах одинаково. Вводить команды Excel можно несколькими способами. Например, если вы хотите сохранить рабочую книгу на диске, можете использовать основное меню (команда ФаЙЛ"=> Сохранить), контекстное меню (щелкнуть правой кнопкой мыши на строке заголовка рабочей книги, а затем выбрать команду Сохранить), кнопку Сохранить, расположенную на стандартной панели инструментов, или комбинацию клавиш <Ctrl+S>. Выбор конкретного способа зависит от вас. Использование меню В Excel, как и во всех других приложениях Windows, есть строка меню, расположенная под строкой заголовка (рис. 1.3). Это меню используется для выбора команд. Меню Excel изменяется в зависимости от характера выполняемых вами действий. Например, если вы работаете с диаграммой, то меню Excel изменяется так, чтобы предоставить вам средства работы с диаграммами. Это происходит автоматически, а значит, думать об этом вам не придется. Нет ничего проще, чем получить доступ к меню с помощью мыши. Щелкните на нужном меню; оно раскроется, и вы увидите список его элементов (см. рис. 1.3). А теперь, чтобы выбрать команду, щелкните на нужном элементе меню. Совет Глава 1. Знакомство с Excel 39
и: тг ^a.rai jj Ж**" Шнека Ёча $став*л ^ОРН*" Си*** Данные Qk« Справка Йе-лит пега» A,*!* J Еааметка странны ^jj^U-J M53.JJ;- *■ t)T _ - sfc . Д A1 J Еаэметка страниц*1 ** ОЗластьзадл Qrbfl Панели инструментов V j Строка £ормул ** Строка состояния (чолоитигулы ii Принеда м • ^ ^ Представления. I Вовгсьэ.гран Г Масштаб 1 j*J Лрмстутад к работе Office в Интернете Под* гкмпъся к веб-уэлу Hcrosoft Office Onlne Последние сведения об использовании Excel ДОПОТ»1Г1У»*^ . Искать: В Нричер "Печать нескольких копий* Открыть Моя первая рабочая книга хЬ 6юджвт_02хЬ Ch_01 xb Mrtochka_Weo xb , Дополнительно.,. »1 \ IWri V Гчст? / Лист? / JT Яыс. /.i. Щелчок в строке меню предоставляет доступ к командам Excel Для выбора команды меню с помощью клавиатуры нажмите одновременно <Alt> Совет и горячую клавишу меню (горячая клавиша — это подчеркнутая буква в имени меню). В результате выбранное меню откроется. Затем нажмите горячую клавишу, соответствующую элементу меню. Например, для запуска команды Файл1* ' (Печать нажмите <АИ+Ф>, а затем <П>. При нажатии клавиши <П> не имеет значения, нажата клавиша <Alt> или нет, — результат будет один и тот же. При выборе некоторых элементов меню появляются дополнительные подменю. Если вы щелкнете на таком элементе меню, то подменю появится справа от него. Элементы меню, у которых есть подменю, справа отмечены маленьким треугольником. Например, команда ВидОПанели инструментов вызывает подменю, показанное на рис. 1.3. Разработчики Excel создали подменю в основном для того, чтобы меню не были слишком длинными и перегруженными. Иногда элемент меню выделяется серым цветом. Таким образом указывается, что данный элемент не предназначен для той операции, которую вы выполняете в настоящий момент. При выборе такого элемента меню ничего не произойдет. Выбор элемента меню, в названии которого присутствует многоточие (три точки), всегда приводит к открытию диалогового окна. Команды меню, не имеющие многоточия, выполняются сразу. Например, при выборе команды ВставкаОЯчейки... на экране появится диалоговое окно, поскольку программе необходима дополнительная информация о выполняемой команде. Команде ВставкаоСтрока не требуется никакая дополнительная информация, поэтому она выполняется сразу, как только ее выбрали. Возможно, вы будете удивлены, но строка меню также является панелью инст- Совет рументов. При желании вы можете переместить ее на другое место. Для этого нужно щелкнуть на пустом месте строки меню и перетащить ее к любой стороне окна программы или оставить "свободно плавать" по экрану. •> 40 Часть I. Вводный курс
Если вы передумали Почти любую команду в Excel можно отменить с помощью команды ПравкаоОтменить. Если вы выполните ее сразу после какой-либо другой команды, то все будет выглядеть так, словно вы эту последнюю команду никогда не вызывали. Таким образом можно отменить 16 последних выполненных команд. Вместо того чтобы выбирать команду Правка^Отменить, можно воспользоваться кнопкой Отменить, которая находится на стандартной панели инструментов. Если вы щелкнете на кнопке раскрытия списка, расположенной справа, то увидите список команд, которые можно отменить. Кроме того, для отмены последнего действия можно воспользоваться комбинацией клавиш <Ctrl+Z>. Кнопка Повторить выполняет обратную операцию: она повторяет команды, которые были отменены. Возможно, после щелчка на меню не все команды этого меню появляются на эк- Совет ране. Дело в том, что в Excel есть опция, при выборе которой отображаются только часто используемые пункты меню. Настоятельно рекомендую отключить £j эту опцию. Для этого выберите команду Вид^Панели инструментов^Настройка. На экране появится диалоговое окно Настройка. Перейдите во вкладку Параметры и установите флажок Всегда показывать полные меню. Использование контекстных меню Кроме основного меню, описанного в предыдущем разделе, в Excel предусмотрено еще множество контекстных меню. Эти меню являются контекстно-зависимыми, т.е. их содержимое зависит от характера операции, которую вы выполняете в данный момент. В контекстных меню не содержатся все возможные команды'. Там находятся только те команды, которые чаще всего используются для работы с выделенным в данный момент элементом. Контекстное меню можно вызвать практически для любого объекта в Excel. Для этого нужно щелкнуть на нем правой кнопкой мыши. На рис. 1.4 показано контекстное меню, которое появляется после щелчка правой кнопкой мыши на ячейке. Контекстное меню появляется рядом с указателем мыши, что позволяет быстро и эффективно выбирать команды. -tel "lj ? G » Добавить «mAw. Удалить Очистить сшео&имое Добавить примечание формат ячеек.. Выбрать из раскрывавшегося Добамтгькситропьноезиа'еяею £оэоать сттисок Гмперссцлка Ооиск. Аг «М?"1 >л*й/ ***" / ЛГ Рис. 1.4. Если щелкнуть правой кнопкой мыши на ячейке, то откроется контекстное меню ячейки Глава 1. Знакомство с Excel 41
Содержимое контекстного меню, которое появляется на экране, зависит от объекта, выбранного в данный момент. Например, если вы работаете с диаграммой, то в контекстном меню, которое появится после щелчка правой кнопкой мыши на определенной части диаграммы, будут содержаться команды, относящиеся именно к этой ее части. Использование комбинаций клавиш За некоторыми элементами меню закреплены также комбинации клавиш. Обычно комбинация клавиш указывается рядом с названием элемента меню. Например, для команды ПравкаОНайти клавиатурным эквивалентом является комбинация <Ctrl+F>. В дальнейшем вы увидите, что применение комбинаций клавиш для часто используемых команд может сэкономить много времени. Это не означает, что вам нужно учить наизусть все комбинации клавиш. Комбинации часто используемых команд вы можете увидеть в меню справа от их названий. Просто при выборе команд обращайте внимание на комбинации клавиш этих команд, и вскоре вы обнаружите, что помните большинство из них. Панели инструментов Excel В Excel, как почти во все современные приложения, включены удобные графические панели инструментов. Щелчок на кнопке панели инструментов служит одним из способов вызова команд Excel. В большинстве случаев кнопки на панели инструментов заменяют некоторые команды меню. Например, кнопка Копировать заменяет команду Правка^ Копировать. Однако некоторые кнопки не имеют эквивалентов в меню, например кнопка Автосумма, которая автоматически вставляет формулу для вычисления суммы значений, находящихся в заданном диапазоне ячеек. Чтобы узнать, для чего предназначена та или иная кнопка панели инструментов, поместите на нее указатель мыши (но не щелкайте на ней). Рядом с курсором появится маленькое желтое окошко с подсказкой, содержащей название кнопки. Обычно этой информации достаточно для того, чтобы выяснить назначение данной кнопки. Если подсказка не отображается на экране, выберите команду Сервис^Настройка. В появившемся окне Настройка перейдите во вкладку Параметры и установите флажок Отображать подсказки для кнопок. В табл. 1.3 перечислены наиболее часто используемые встроенные панели инструментов Excel. Таблица 1.3. Встроенные панели инструментов Excel Панель инструментов Применение Стандартная Запуск наиболее часто используемых команд Форматирование Изменение внешнего вида рабочей таблицы или диаграммы WordArt Вставка или редактирование художественного текста Веб-узел Доступ к Internet из Excel Граница Добавление границ (рамок) вокруг выделенных ячеек Диаграммы Работа с диаграммами Зависимости Выявление ошибок в рабочей таблице и показ зависимостей между формулами Защита Управление защитой рабочих листов и книг Рецензирование Операции с примечаниями к ячейкам Рисование Вставка и редактирование рисунков на рабочем листе Сводные таблицы Работа со сводными таблицами Формы Добавление к рабочей таблице элементов управления (кнопок, списков, счетчиков и т.д.) 42 Часть I. Вводный курс
Сокрытие и отображение панелей инструментов По умолчанию в Excel отображаются две панели инструментов — стандартная и панель инструментов форматирования. Вы можете осуществлять полный контроль над тем, какие панели инструментов отображать на экране и где их располагать. Кроме того, можно создать собственные панели инструментов, которые будут состоять из тех кнопок, которые вы считаете наиболее полезными. Для того чтобы скрыть определенную панель инструментов или отобразить ее на экране, выберите команду Вид^Панели инструментов либо щелкните правой кнопкой мыши на любой панели инструментов или в строке меню. В результате появится список панелей инструментов (хотя и неполный). Панель инструментов, активизированная в списке, видна на экране. Чтобы скрыть панель, нужно щелкнуть на ее имени в списке. И наоборот: чтобы отобразить скрытую панель инструментов, также следует щелкнуть на ее имени. Для получения доступа ко всем панелям инструментов выберите команду Сервисе Настройка. Во вкладке Панели инструментов появившегося на экране диалогового окна Настройка приведен список всех доступных панелей инструментов. Установите флажки напротив нужных панелей, чтобы отобразить их. Перемещение панелей инструментов Панели инструментов можно прикрепить к любой из четырех сторон окна программы или сделать свободно плавающими. Свободно плавающую панель инструментов можно переместить в любое удобное место; кроме того, можно изменять ее размеры, перетаскивая одну из ее границ. Для того чтобы убрать с экрана свободно плавающую панель инструментов, щелкните на кнопке ее закрытия. Если панель инструментов не является свободно плавающей, то говорят, что она прикреплена. Прикрепленная панель инструментов "жестко" привязана к границе окна Excel и не имеет строки заголовка. Поэтому изменить ее размеры нельзя. Для того чтобы переместить панель инструментов (как прикрепленную, так и свободно плавающую), щелкните мышью на левой границе панели или где-нибудь на пустом месте (там, где нет кнопок) и перетащите ее на новое место. Если перетащить панель к краю окна, она автоматически прикрепится к нему. Когда панель инструментов прикреплена, она принимает форму или отдельной строки, или отдельного столбца. Работа с диалоговыми окнами Выполнение многих команд Excel приводит к появлению на экране диалоговых окон. Например, если в названии элемента меню присутствует многоточие (три точки), при его выборе открывается диалоговое окно. С помощью диалогового окна Excel получает дополнительную информацию о выбранной команде. Например, если вы выбрали команду Вид1^ Масштаб..., которая служит для изменения масштаба отображения рабочего листа на экране, то Excel не сможет выполнить эту команду до тех пор, пока не узнает, какое увеличение вам нужно. Хотя диалоговое окно и похоже на любое другое окно интерфейса программы, у него иной принцип работы. Если диалоговое окно открыто, вы не сможете выполнять в рабочей книге никаких других операций до тех пор, пока не закроете его. Если диалоговое окно закрывает ту часть рабочего листа, которую вам нужно увидеть, щелкните на его строке заголовка и перетащите его в другое место. На заметку / Глава 1. Знакомство с Excel 43
Когда в ответ на введенную вами команду появляется диалоговое окно, вы должны установить ряд дополнительных параметров с помощью его элементов управления. Сделав это, для продолжения работы щелкните на кнопке ОК или нажмите клавишу <Enter>. Если передумаете, щелкните на кнопке Отмена или нажмите клавишу <Esc> — тогда ничего не произойдет, словно диалоговое окно и не появлялось. Элементы управления диалоговых окон Диалоговые окна могут быть как очень простыми, так и довольно сложными. Они состоят из нескольких элементов, называемых элементами управления. Большинство пользователей считают, что в диалоговых окнах нет ничего сложного. Элементы управления обычно работают так, как ожидалось. К ним можно получать доступ как с помощью мыши, так и с помощью клавиатуры. На рис. 1.5 показаны основные элементы управления диалоговых окон. В табл. 1.4 приведено описание элементов этого диалогового окна, а также тех, которых нет на рис. 1.5, но которые вы можете увидеть в других окнах. Раскрывающийся список Флажок опции |JjtA«M*3200 Color МргЫег Состоя*** Свободен - Tvn. I гйвяагк 3200 Color ЭДогоаг Порт. U>U> Переключатели Кнопки Рис. 1.5. Элементы управления используются для ввода информации и для управления диалоговым окном Таблица 1.4. Элементы управления диалоговых окон Элемент управления Описание Кнопка Кнопочный элемент управления очень прост в обращении. Достаточно щелкнуть на нем, и он выполнит свою функцию. Нажатие клавиши <Alt> одновременно с подчеркнутой буквой в названии кнопки равносильно щелчку на этой кнопке Переключатель Переключатели позволяют сделать выбор одного из нескольких предложенных вариантов. Если щелкнуть на переключателе, то ранее выбранный переключатель будет отменен. Переключатели обычно сгруппированы, диалоговое окно может содержать несколько таких групп Флажок опции Используется для отображения на экране состояния данной опции, т.е. включает или выключает ее. В отличие от переключателей, флажки опций не зависят один от другого. Чтобы включить или выключить опцию, нужно щелкнуть на ней 44 Часть I. Вводный курс
Окончание табл. 1.4 Элемент управления Описание Кнопка свертывания Позволяет определить диапазон ячеек в рабочем листе с помощью указателя диалогового окна мыши. Для этого нужно щелкнуть на маленькой кнопке в поле ввода; в результате диалоговое окно будет свернуто, и вы сможете выбрать нужный диапазон путем перетаскивания указателя мыши в рабочем листе. Выбрав диапазон, нужно снова щелкнуть на той же кнопке, чтобы восстановить диалоговое окно Счетчик Позволяет легко ввести какое-либо число. Для этого нужно щелкнуть на кнопках со стрелками, чтобы на единицу увеличить или уменьшить отображаемое значение. Счетчик почти всегда связан с полем ввода. Можно вводить значение прямо в поле ввода или использовать счетчик для получения нужного числа Список В окне списка содержится перечень элементов, из которого можно выбрать нужный. Если все элементы списка не помещаются в окне, можно воспользоваться вертикальной полосой прокрутки Раскрывающийся спи- Похож на список, но обычно в нем отображается только один элемент. Если сок щелкнуть на кнопке раскрытия списка, то он развернется и вы увидите его дополнительные элементы Перемещение по элементам диалогового окна Чтобы перейти к нужному элементу диалогового окна, следует просто на нем щелкнуть. Хотя диалоговые окна разрабатывались в расчете на использование мыши, некоторые пользователи предпочитают работать с клавиатурой. Попрактиковавшись, вы обнаружите, что иногда управление диалоговым окном с помощью клавиатуры оказывается более эффективным. Каждый элемент управления в диалоговом окне сопровождается текстом, в котором всегда есть одна подчеркнутая буква (она называется горячей клавишей). Чтобы получить доступ к элементу управления с клавиатуры, нужно нажать клавишу <Alt> одновременно с подчеркнутой буквой. С помощью клавиши <ТаЬ> можно выполнять циклическое перемещение поочередно по всем элементам управления диалогового окна. А комбинация клавиш <Shift+Tab> используется для циклического перемещения в обратном порядке. Когда элемент управления выбран, он обрамляется темным контуром. Для ак- Совет тивизации выбранного элемента управления нажмите клавишу <пробел>. Диалоговые окна с вкладками Многие диалоговые окна Excel содержат вкладки. В таких окнах есть корешки, напоминающие обычные ярлычки блокнота, каждый из которых соответствует отдельной вкладке. Если щелкнуть на корешке вкладки, то диалоговое окно изменится, отображая набор элементов соответствующей вкладки. Хороший пример диалогового окна с вкладками — окно Параметры, которое появляется при выборе команды Сервисе Параметры (рис. 1.6). Обратите внимание, что данное диалоговое окно содержит 13 вкладок, и это делает его функционально эквивалентным 13 различным диалоговым окнам. Диалоговые окна с вкладками очень удобны, так как можно сделать много установок в одном диалоговом окне. Для завершения работы с диалоговым окном щелкните на кнопке ОК или нажмите клавишу <Enter>. Глава 1. Знакомство с Excel 45
Вкладки Иеждунарад** | Сочам»*** | Пммокаошибок | Орфография | 8ект«ностъ I вй\ { еычжпетй | Лрмка J Овади* { Пдохед | Списки [ &*гр9*л \ U*ei I Ррбавстьмйачпжмггуск» Р ствску&эрнул Р стехжусдстояиия рокявнзоанадимдвч ОбМКТК П^чтрыоки» ; ■ ' Г~ |по(«э6«г** м crptrtvM Р автолом* строк и столбцов Р •тюим»т*»*»мв полоса прячут Г* фадом P o*eoiw структи** Pa№TW«nhHaBnonoc*npoKoyncM Р свцл Р fcy-к*» * значения Г £W» <чки листов Uflrr mm* eewe | Авто Л/с. 7.6. Пример диалогового окна с несколькими вкладками Чтобы выбрать вкладку с помощью клавиатуры, воспользуйтесь комбинацией Совет клавиш <Ctrl+PgUp> или <Ctrl+PgDn> либо одновременно нажмите клавиши <Alt> и подчеркнутую букву той вкладки, которую вы хотите активизировать. Сложности, возникающие при установке опций в Excel Программа Excel очень гибкая и в ней содержится множество опций, которые позволяют управлять ее внешним видом и поведением. Но проблема состоит в том, чтобы найти эти опции. Например, диалоговое окно Параметры напоминает мне свалку. С каждой новой версией Excel разработчики добавляют в это окно все больше и больше опций. Даже после нескольких недель работы в Excel я не могу запомнить, на какую вкладку диалогового окна Параметры мне нужно перейти, чтобы установить ту или иную опцию. Как правило, я пересматриваю все опции двух или трех вкладок, прежде чем нахожу искомую. Более того, одни опции воздействуют только на активный лист, другие же влияют на поведение Excel в целом (т.е. будут действовать и тогда, когда вы будете работать с другими листами или книгами). И главной проблемой диалогового окна Параметры является то, что эти опции разбросаны по всем вкладкам и не всегда ясно, какова область действия той или иной опции. Ситуация еще более усложняется тем, что в этом окне содержится множество кнопок, при щелчке на которых на экране появляются новые диалоговые окна, имеющие еще больше опций. Пощелкайте по вкладкам окна Параметры, и вы найдете еще семь дополнительных диалоговых окон. Однако это еще не все. Не забывайте о диалоговом окне Настройка (СервисоНастройка). Здесь вы также найдете множество разнообразных опций, которые не вошли в диалоговое окно Параметры. И это еще не все. При первом сохранении рабочей книги появляется диалоговое окно Сохранить как, в верхней части которого находится меню Сервис. В этом меню есть еще несколько диалоговых окон, содержащих дополнительные настройки. Я уверен, что большинство пользователей Excel не найдут эти диалоговые окна, даже если будут знать, что они ищут. Мне искренне жаль новичков, которые просто хотят поменять несколько опций, поскольку они обречены на долгое и непредсказуемое путешествие, которое далеко не всегда заканчивается успешно. С выходом каждой новой версии Excel пользователи ждут от разработчиков того, что этот кошмар наконец-то закончится и диалоговые окна настроек будут приведены в порядок. Но каждый раз все больше и больше опций оказывается на этой свалке. 46 Часть I. Вводный курс
Создание первого рабочего листа Эта часть главы представляет собой вводное занятие для знакомства с Excel. Если вам никогда раньше не приходилось использовать Excel, то, для того чтобы почувствовать, как работает программа, попробуйте выполнить все приведенные ниже упражнения. Предположим, вам нужно подготовить краткий отчет на одну страничку, отражающий поквартальные объемы продаж вашей компании по двум регионам (Север и Юг). Вам понадобится выполнить несколько операций. 1. Ввести данные (объемы продаж) в рабочий лист. 2. Создать и скопировать формулу (для получения итоговых сумм). 3. Отформатировать данные так, чтобы они выглядели профессионально. 4. Построить диаграмму на основании этих данных. 5. Сохранить рабочую книгу в файле. 6. Распечатать данные и диаграмму (отчет). Подготовка На первом этапе нужно запустить Excel и развернуть рабочее окно программы так, чтобы оно занимало весь экран. Затем разверните окно чистой рабочей книги, которое будет называться Книга1. Если у вас открыта какая-либо книга, то, чтобы открыть новую, щелкните на кнопке Создать стандартной панели инструментов или на пиктограмме Чистая книга в области задач Создание книги. Сначала нужно ввести заголовки строк и столбцов в рабочий лист Лист1. Ввод заголовков — это необязательная операция, но скоро вы почувствуете, насколько заголовки помогают работе в Excel, особенно если откроете эту рабочую книгу через несколько дней. Выполните ряд действий. 1. Переместите табличный курсор в ячейку A3 с помощью клавиш управления курсором. В поле Имя появится адрес этой ячейки. 2. В ячейку A3 введите Север. Для этого наберите текст и нажмите клавишу <Enter>. В зависимости от установленных параметров, Excel или переместит табличный курсор в ячейку А4, или же оставит его в ячейке A3. 3. Переместите табличный курсор в ячейку А4, введите Юг и нажмите клавишу <Enter>. 4. В ячейку А5, введите Всего и нажмите клавишу <Enter>. 5. Переместите табличный курсор в ячейку В2, введите 1-й квартал и нажмите клавишу <Enter>. Три оставшихся заголовка можно было бы ввести вручную, но давайте заставим поработать Excel. 6. Переместите табличный курсор в ячейку В2. Обратите внимание на маленький квадратик в правом нижнем углу табличного курсора. Он называется маркером заполнения. Если поместить на маркер указатель мыши, то он примет вид черного крестика. Если маркер заполнения не появляется, выберите команду СервисОПараметры и в появившемся диалоговом окне Параметры щелкните на корешке вкладки Правка. На этой вкладке активизируйте опцию Перетаскивание ячеек. Затем щелкните на кнопке ОК, чтобы закрыть диалоговое окно Параметры. Глава 1. Знакомство с Excel 47
7. Поместите указатель мыши на маркер заполнения так, чтобы указатель превратился в крестик. Затем нажмите кнопку мыши и перетаскивайте указатель вправо, пока не будут выделены три ячейки справа (С2, D2 и Е2). Отпустите кнопку мыши, и вы увидите, что программа автоматически введет вместо вас три оставшихся заголовка. Это пример использования средства Автозаполнение. В итоге у вас должна получиться таблица, подобная показанной на рис. 1.7. Рис. 1.7. Рабочий лист после ввода заголовков Ввод данных На этом этапе нужно ввести объемы продаж за каждый квартал по каждому региону. 1. Переместите табличный курсор в ячейку ВЗ, введите с клавиатуры число 123 и нажмите клавишу <Enter>. 2. Переместите табличный курсор в другие ячейки и введите следующие данные. Рабочий лист примет такой вид, как на рис. 1.8. Рис. 1.8. Рабочий лист с введенными данными объемов продаж Создание формулы Все, что делалось до сих пор, совершенно тривиально. То же самое вы могли бы сделать с помощью любого текстового процессора. Теперь воспользуемся основным преимуществом электронных таблиц — формулами. Давайте создадим формулы для вычисления итоговой суммы по регионам. Для этого выполните перечисленные ниже операции. 48 Часть I. Вводный курс
1. Переместите табличный курсор в ячейку В5. 2. Найдите на стандартной панели инструментов, расположенной под строкой меню, кнопку Автосумма и щелкните на ней. На этой кнопке изображена греческая буква "сигма". Обратите внимание, что программа поместила в ячейку В5 следующее: =СУММ(ВЗ:В4) Это не что иное, как формула, которая вычисляет сумму значений из ячеек, находящихся в диапазоне ВЗ:В4. 3. Нажмите клавишу <Enter> для ввода формулы. Вы увидите, что в ячейке В5 появилась сумма двух чисел. Вы могли бы повторить ту же операцию для трех оставшихся кварталов, но гораздо проще скопировать формулу в три ячейки, расположенные справа. 4. Переместите табличный курсор в ячейку В5. 5. Поместите указатель мыши на маркер заполнения. Когда он превратится в крестик, нажмите кнопку мыши и перетащите указатель на три ячейки вправо. Отпустив кнопку мыши, вы обнаружите, что Excel скопировала формулу в выделенные ячейки. Чтобы убедиться в том, что это действительно "живые" формулы, попробуйте изменить несколько значений в строке 3 или 4. Вы увидите, что содержимое ячеек с формулами также будет меняться. Таким образом, при изменении данных формулы автоматически пересчиты- ваются и на экране появляются новые результаты. Форматирование таблицы Созданная вами таблица выглядит неплохо, но может выглядеть еще лучше. На этом этапе воспользуемся возможностью автоматического форматирования Excel, для того чтобы улучшить внешний вид таблицы. Выполните ряд действий. 1. Поместите табличный курсор в любую ячейку таблицы. 2. Выберите команду Формат^Автоформат. В результате произойдет следующее: Excel определит границы таблицы и выделит ее всю, а также откроет диалоговое окно Автоформат. 3. В диалоговом окне Автоформат на выбор предоставлено 16 готовых форматов. Щелкните на формате, который вам понравился. 4. Щелкните на кнопке ОК. Excel применит выбранный формат к вашей таблице. Ваша таблица должна выглядеть примерно так, как на рис. 1.9. Если после выполнения команды Формат^Автоформат вы нашли, что выбранный формат вас не удовлетворяет, можете вернуть таблицу к первоначальному состоянию, выбрав в диалоговом окне Автоформат формат Нет. Он удалит не только выбранный формат, но и все другие элементы форматирования, которые вы могли внести вручную. Внимание! Добавление заголовка На этом этапе введем заголовок таблицы, выделим его полужирным шрифтом и расположим по центру относительно столбцов таблицы. Для этого выполните ряд действий. 1. Поместите табличный курсор в ячейку А1. 2. Введите Объемы продаж по регионам и нажмите клавишу <Enter>. Глава 1. Знакомство с Excel 49
3. Переместите табличный курсор назад в ячейку А1, если он оказался в другой ячейке, и щелкните на кнопке Полужирный, расположенной на панели инструментов форматирования. На этой кнопке изображена большая буква Ж. В результате текст заголовка будет выделен полужирным шрифтом. 4. Щелкните на кнопке раскрытия списка Размер, которая находится на панели инструментов форматирования. Выберите из списка число 14. Текст станет крупнее. 5. Щелкните на ячейке А1 и перетащите указатель мыши вправо, чтобы выделить ячейки А1, В1. CI. D1 и Е1 (т.е. диапазон А1:Е1). Только не перетаскивайте маркер заполнения. Вам нужно выделить ячейки, а не копировать ячейку А1. 6. Щелкните на кнопке Объединить и поместить в центре, расположенной на панели инструментов форматирования. В результате текст, находящийся в ячейке А1, будет отцентрирован относительно выделенных ячеек. Щелчок на этой кнопке приведет к слиянию пяти ячеек в одну большую ячейку. Теперь ваш рабочий лист должен выглядеть так, как на рис. 1.9. •■ а ! в с о е 1 Объемы п, одаж по ; егпомам 3 -Стер 123 411 456 Э5? 4 Юг 101 258 384 105 5 Всего 224 669 840 462 S . 7 в' 1 11 13 14 15 >» « • •" 11ИСТ1 ,. ЛИСТ2 / fW •» / }* -lOlxi F G Н I I — _ •!Г Рис. 1.9. Рабочий лист после применения автоматического форматирования и добавления заголовка Создание диаграммы Теперь на основании табличных данных построим диаграмму. Она будет находиться на этом же рабочем листе, под таблицей данных. Чтобы создать диаграмму, выполните перечисленные ниже действия. 1. Поместите табличный курсор в ячейку А2. 2. Щелкните и перетаскивайте указатель мыши до тех пор, пока не будут выделены все ячейки, находящиеся в прямоугольнике с левым верхним углом в ячейке А2 и правым нижним углом в ячейке Е4 (всего 15 ячеек). Обратите внимание на то, что мы не выделяем ячейки в строке итогов, поскольку итоги не нужно отображать на диаграмме. 3. Когда диапазон А2:Е4 будет выделен, щелкните на кнопке Мастер диаграмм (с изображением гистограммы), которая находится на стандартной панели инструментов. Excel отобразит на экране первое из диалоговых окон, с помощью которых вы будете создавать диаграмму (рис. 1.10). 4. Первое, что нужно сделать, — это выбрать тип диаграммы. В диалоговом окне выделена диаграмма стандартного типа — Гистограмма. В данном случае она вполне подходит. Щелкните на кнопке Далее и определите дополнительные параметры диа- 50 Часть I. Вводный курс
граммы. Но можно поступить иначе: щелкнуть на кнопке Готово и принять стандартные установки Excel. Итак, щелкните на кнопке Готово. Пхсмстр реэу»твтв j' | Датве> j - Cartas Рис. 1.10. Первое из четырех диалоговых окон мастера диаграмм, который поможет создать диаграмму Программа Excel создаст диаграмму и отобразит ее в рабочем листе, а кроме того, выведет на экран панель инструментов Диаграмма на тот случай, если вы захотите изменить диаграмму. Чтобы скрыть эту панель, щелкните на кнопке закрытия в ее строке заголовка. Теперь ваш рабочий лист будет выглядеть так, как на рис. 1.11. Щ2Э A g С_..] Объемы продаж по регионам : —■дсаан-.ии.нны.иид 3 Cnip 123 «II 455 367 4 JOr 1И 358 384 105 н . -г 5 Всего 224 Б69 В40 462 500 г - 400 ■ 300 200 100 - о ■ btd Ь- в ~i_ Ь 1 |иСевер С .? S шшшяшт ; На компакт- диске Рис. 1.11. Мастер диаграмм вставил диаграмму в рабочий лист Эту рабочую книгу можно найти на прилагаемом компакт-диске. Печать отчета Теперь можно распечатать созданный отчет. Будем считать, что ваш принтер подключен и находится в рабочем состоянии. Было бы неплохо просмотреть нашу таблицу в том виде, в котором она будет распечатана. Для этого выполните следующее. Глава 1. Знакомство с Excel 51
1. Убедитесь, что не выделена диаграмма. Если это не так, то просто щелкните на любой ячейке или нажмите клавишу <Esc>. 2. Щелкните на кнопке Предварительный просмотр, которая находится на стандартной панели инструментов. Excel отобразит на экране новое окно в котором будет показана страница с вашей таблицей и диаграммой. Она выглядит точно так же, как будет выглядеть распечатанная страница. 3. Щелкните на кнопке Закрыть, чтобы вернуться в рабочую книгу. 4. Если вас все устраивает, щелкните на кнопке Печать, которая находится на стандартной панели инструментов (на этой кнопке изображен принтер). Рабочий лист (включая диаграмму) будет напечатан с использованием стандартных параметров. ^^^* Если таблица и диаграмма при предварительном просмотре были расположены На заметку на ДВУ* страницах, то измените размер или положение диаграммы, чтобы поместить их на одной странице. Сохранение рабочей книги Все, что вы делали до сих пор, сохранялось в оперативной памяти вашего компьютера. И если вдруг пропадет питание, все будет потеряно. Поэтому самое время сохранить результаты проделанной работы в файле. Назовите его, например, Моя первая рабочая книга. 1. Щелкните на кнопке Сохранить, которая расположена на стандартной панели инструментов. На ней изображена дискета. Excel откроет диалоговое окно Сохранение документа. 2. В поле Имя файла введите Моя первая рабочая книга и щелкните на кнопке Сохранить или нажмите клавишу <Enter>. Программа сохранит рабочую книгу в файле. При этом рабочая книга останется открытой, и вы сможете продолжить работу с ней. По умолчанию Excel автоматически сохраняет копию вашей рабочей книги каждые 10 минут. Для настройки этой опции (или установки, если она отключена) откройте диалоговое окно Параметры. (Выберите команду СервисОПараметры). Затем перейдите во вкладку Сохранение. Итак, вы познакомились с основными возможностями Excel. Теперь рассмотрим все эти (и многие другие) возможности подробнее. 52 Часть I. Вводный курс
Ввод и редактирование данных |Р"\\ этой главе вы узнаете, как вводить, изменять и редак- I—v тировать данные в рабочем листе. Как будет показано далее, Excel обрабатывает и представляет данные разных типов по-разному. Поэтому важно понимать различия между типами данных и то, как они могут использоваться в рабочем листе. Типы данных Excel Как вы уже знаете, в рабочей книге Excel может содержаться произвольное число рабочих листов, а каждый рабочий лист состоит из ячеек. В ячейке могут находиться данные одного из трех типов: ■ числовое значение; ■ текст; ■ формула. На рабочем листе Excel могут находиться также графики, рисунки, диаграммы, изображения, кнопки и другие объекты. В действительности эти объекты расположены на графическом уровне. Графический уровень — это невидимый слой, расположенный поверх рабочего листа. В этой главе.. Типы данных Excel Ввод чисел и текста Дата и время Изменение и удаление числовых и текстовых данных Форматирование ячеек маг Яопол нительк информация Более подробную информацию о графическом уровне в Excel можно найти в главе 18. Числовые значения Числовые значения, или просто числа, выражают различные количественные соотношения данных определенного типа, например объемы продаж, число служащих фирмы, тестовые
оценки и т.д. Числовые значения, введенные в ячейки рабочей таблицы, могут использоваться в формулах и диаграммах. Числовыми значениями могут быть также выражены даты (например, 25.09.2009) или время (например, 15:24:35). Как будет показано ниже, Excel позволяет довольно эффективно работать с этими типами данных. Текст Помимо числовых значений, в рабочий лист часто вводится текст. Как правило, текст используется для обозначения числовых данных и заголовков столбцов или для представления какой-либо поясняющей информации о таблице. Текст, который начинается с числа, все равно считается текстом. Например, если вы введете в ячейку, скажем, 12 яблок, то программа будет считать это текстом, а не числом. Поэтому нельзя использовать такую ячейку в вычислениях. Числовые ограничения Excel Начинающие пользователи часто задают вопросы о типах чисел, используемых Excel. Они интересуются также, насколько велики могут быть числа и насколько точным является представление больших чисел. Для представления чисел в Excel используется 15 цифр. Например, если вы вводите большое число, такое, как 123123123123123123 (18 цифр), Excel сохраняет его с точностью до 15 цифр: 123123123123123000. На первый взгляд, такое ограничение может показаться довольно жестким, но на практике это редко вызывает какие-либо проблемы. Все же не стоит забывать об этом ограничении при вводе номеров кредитных карт. В большинстве систем номер кредитной карты состоит из 16 цифр, поэтому после ввода номера Excel автоматически заменит последнюю цифру номера нулем. Чтобы обойти данное ограничение, следует вводить номера кредитных карт как текст. Для этого перед вводом измените формат ячеек на Текстовый (выберите команду Формат^Ячейки, перейдите во вкладку Число, в списке Числовые форматы выберите пункт Текстовый). Также можно вводить перед номером кредитной карты какой-либо нечисловой символ, например апостроф. Так или иначе, Excel интерпретирует содержимое ячеек как текст, а не число. Ниже приведены другие числовые ограничения Excel. Наибольшее положительное число: 9.9Е+307. Наименьшее отрицательное число: -9.9Е+307. Наименьшее положительное число: 1Е-307. Наибольшее отрицательное число: -1 Е-307. Эти числа представлены в экспоненциальном формате. А если выразить это обычным языком, то например, наибольшим положительным числом является произведение чисел 9,9 и 10 в степени 307. Но помните, что Excel хранит только 15 значащих чисел, остальные будут заменены нулями. Формулы Формулы — это то, что делает электронную таблицу именно электронной таблицей. Без формул Excel представляла бы собой всего лишь текстовый процессор с усовершенствованной функцией работы с таблицами. Программа позволяет вводить в ячейки очень сложные формулы, в которых используются числовые значения и даже текст. Если ввести формулу в ячейку, то вычисленный по этой формуле результат появится в данной ячейке. Если вы измените любое из чисел, используемых в формуле, Excel автоматически выполнит вычисления по формуле и отобразит новый результат. 54 Часть I. Вводный курс
Формулой считается любое математическое выражение. Но в формулах также можно использовать встроенные в Excel функции. На рис. 2.1 показан рабочий лист, с помощью которого можно вычислить объем месячных выплат по ссуде. Он содержит числа, текст и формулы. В ячейках в столбце А содержится текст. В столбце В находятся числа, в ячейках В6 и В10 — формулы. В столбце С представлено то, что в действительности находится в ячейках столбца В. ^^ Эту рабочую книгу можно найти на прилагаемом компакт-диске. На компакт- диске Дололнитель «формация в с Вычисление объема ежемесячных выплат по ссуде 4 Стоимость залога 5 Первый взнос 6 Ра»м»р ссуды ? Срок погашения ссуды (мое.) 8 Процентная ставка С Месячная плата Ячейки столбца В содержат ЮОООООр 100000 20% 0.2' еооооор =сз"(1-сч) 180 . '_ 180. 7% 7 190.63р. 0.07 ПЛТ(С7/12;С6.-С5) Нг 3 15 к . » и\Лиет1 j.ftteri/Л^тЭ / " N . _ 1 >Ю Рис. 2.1. Для создания в Excel полезных и наглядных таблиц можно использовать числа, текст и формулы Более подробные сведения о формулах вы найдете в части II. Ввод чисел и текста На заметку Переместите табличный курсор в нужную ячейку (в результате она станет активной), введите числовое или текстовое значение и нажмите клавишу <Enter>. Значение будет отображено в ячейке и в строке формул, поскольку в строке формул отображается содержимое активной ячейки. При вводе чисел можно использовать десятичные точки (или запятые) и знаки денежных единиц; кроме того, допускаются знаки "плюс" и "минус". Если поставить перед числом минус или заключить его в скобки, Excel будет считать это число отрицательным. _^^^ Иногда вводимое число не будет отображаться точно в том виде, в каком вы его ввели. В частности, если ввести очень большое число, оно может быть представлено в экспоненциальном формате. Обратите внимание, что в строке формул отображается то число, которое вы ввели первоначально. Программа просто переформатировала значение так, чтобы оно помещалось в ячейку. Если вы расширите столбец, то число отобразится в том виде, в котором вы его ввели. Чтобы увеличить ширину столбца, перетащите его правую границу. Если вы вводите текст, то в ячейку может поместиться не больше 32 000 символов. Это примерно столько же, сколько символов (букв) в средней по размеру главе данной книги. Вы можете ввести в ячейку огромное количество символов, но отобразить их все на экране одновременно отнюдь не просто. Глава 2. Ввод и редактирование данных 55
Если ввести в ячейку чрезвычайно длинный текст, то как только он достигнет Совет правого края окна, символы будут перенесены в следующую строку, а строка формул расширится так, чтобы отобразить весь текст. У Что произойдет, если вы введете в ячейку текст, который длиннее текущей ширины столбца? Если ячейки, расположенные справа, пусты, Excel отобразит текст целиком, заполняя соседние ячейки. Если же соседняя ячейка содержит какие-либо данные, программа отобразит столько символов текста, сколько возможно (весь текст по-прежнему находится в ячейке, просто он не отображается). Если вы хотите, чтобы в ячейке, рядом с которой находится непустая ячейка, полностью отображалась длинная строка текста, можете выполнить следующее: ■ сократить текст; ■ увеличить ширину столбца; ■ выбрать более мелкий шрифт; ■ выполнить переносы так, чтобы текст в ячейке занимал несколько строк; ■ воспользоваться средством Excel Автоподбор ширины (подробнее это средство рассматривается в главе 5). Дата и время Часто возникает необходимость вводить в рабочую таблицу даты и время. В Excel они считаются числовыми значениями, которые форматируются специальным образом. Работа с датами При работе с датами и временем нужно хорошо понимать систему представления данных этого типа в Excel. С датами Excel оперирует, используя последовательную нумерацию. Самая ранняя дата, которую способна распознать Excel, — это I января 1900 года. Этой дате присвоен порядковый номер 1. Дата 2 января 1900 года имеет порядковый номер 2 и т.д. Такая система представления значительно облегчает использование дат в формулах. Например, можно ввести формулу, по которой вычисляется количество дней между двумя датами. В Excel 97 и более поздних версиях поддерживается диапазон дат от 1 января 1900 года до 31 декабря 9999 года (порядковый номер— 2 958 465). В более ранних версиях Excel поддерживался значительно меньший диапазон дат: от 1 января 1900 до 31 декабря 2078 года (порядковый номер — 65 380). В большинстве случаев вам не придется напрямую иметь дело с системой последовательной нумерации дат, принятой в Excel. Дата вводится в привычном формате, а о деталях программа позаботится сама. Предположим, вам нужно ввести следующую дату: 1 июня 2004 года. Для этого нужно набрать 1 июнь 2004 (или использовать любой другой из имеющихся форматов дат). Excel интерпретирует эту дату как значение 38 139, которое является порядковым номером введенной даты. "Л Более подробно работа с датами и временными данными обсуждается в главе 10. Дополнительней информация \ На замет / заметку 56 Часть I. Вводный курс
Работа с временными данными При вводе времени Excel расширяет систему представления дат так, чтобы она включала десятичные дроби. Другими словами, Excel трактует время как дробную часть дня. Например, порядковый номер даты 1 июня 2004 года— 38 139. Полдень указанного дня соответствует внутреннему представлению 38 139,5. Снова подчеркну, что, скорее всего, вам не придется сталкиваться с этими порядковыми номерами дней и их дробными значениями для представления времени. Достаточно ввести в ячейку время в одном из распознаваемых форматов, а все остальное программа сделает сама. Методы рабоды с датами и временем обсуждаются в главе 10. Дополнительна информация \ Изменение и удаление числовых и текстовых данных После того как вы ввели в ячейку числовое значение или текст, можно изменять эти данные несколькими способами: ■ удалить; ■ заменить; ■ отредактировать. Удаление содержимого ячейки Для того чтобы удалить числовое значение, текст или формулу в ячейке, достаточно активизировать ячейку и нажать клавишу <Delete>. Чтобы удалить содержимое нескольких ячеек, следует выделить их и нажать клавишу <Delete>. Нажатие клавиши <Delete> приводит к удалению содержимого ячейки, но атрибуты форматирования, которые вы применили в ячейке (например, выделение полужирным шрифтом, курсивом или различные числовые форматы), сохраняются. Чтобы удалить содержимое диапазона ячеек, выделите диапазон, а затем, ис- Совет пользуя маркер заполнения (маленький квадратик, который находится в нижнем правом углу выделенного диапазона), снимите выделение. ТО Для более гибкого контроля над процессом удаления используется команда Правка^ Очистить. После выбора этой команды на экране появится подменю с четырьмя дополнительными опциями. ■ Все. Полностью очищает ячейку. ■ Форматы. Удаляет только атрибуты форматирования, сохраняя числовое значение, текст или формулу. ■ Содержимое. Удаляет только содержимое ячейки, сохраняя атрибуты форматирования. ■ Примечания. Удаляет примечание (если оно есть), прикрепленное к ячейке. Глава 2. Ввод и редактирование данных 57
Замена содержимого ячейки Для того чтобы заменить содержимое ячейки, активизируйте ее и введите новые данные. В результате предыдущее содержимое ячейки будет заменено, однако атрибуты форматирования сохранятся. Можно также заменить содержимое ячеек путем перетаскивания данных из од- Совет ной ячейки в другую или вставки данных из буфера обмена. В обоих случаях атрибуты форматирования ячейки, принимающей данные, заменяются атрибутами Н форматирования новых данных. Большую свободу в выборе возможных вариантов замены данных предлагают команда Правка^Специальная вставка и смарт- тег Параметры вставки. Редактирование содержимого ячейки Если в ячейке содержится несколько символов, то проще всего заменить их, введя новые данные. Однако, если в ячейке находится длинный текст или сложная формула и нужно внести лишь небольшие изменения, лучше отредактировать содержимое ячейки, чем вводить всю информацию заново. Чтобы отредактировать содержимое ячейки, воспользуйтесь одним из перечисленных ниже способов перехода в режим редактирования. ■ Дважды щелкните на ячейке. Это позволит отредактировать содержимое непосредственно в ячейке. ■ Нажмите клавишу <F2>. Это тоже позволит отредактировать содержимое непосредственно в ячейке. ■ Активизируйте ячейку, которую нужно отредактировать, а затем щелкните в строке формул. Это позволит отредактировать содержимое ячейки в строке формул. Для редактирования вы можете использовать тот метод, который вам больше нравится. Одни пользователи считают, что проще всего редактировать прямо в ячейке, другие предпочитают использовать строку формул. Во вкладке Правка диалогового окна Параметры есть несколько опций, влияющих на редактирование. (Чтобы открыть диалоговое окно Параметры, выберите команду Сервис^Параметры.) Если флажок Правка прямо в ячейке снят, то вы не сможете редактировать содержимое прямо в ячейке (двойной щелчок ни к чему не приведет). Применение любого из этих методов приводит к тому, что Excel переходит в режим редактирования. (В левой части строки состояния появляется слово Ввод.) В этом режиме в строке формул появятся две новые кнопки-пиктограммы (рис. 2.2). Щелкнув на кнопке, на которой изображен символ х, можно отменить редактирование, и содержимое ячейки останется прежним (нажатие клавиши <Esc> приводит к тому же результату). При щелчке на пиктограмме с "галочкой" завершается редактирование и измененные данные сохраняются в ячейке (нажатие клавиши <Enter> приводит к такому же результату). Редактирование содержимого ячейки происходит следующим образом. В редактируемые данные помещается текстовый курсор в виде мерцающей вертикальной линии, которую можно перемещать с помощью клавиш управления курсором. Кроме этого, нажатие клавиши <Ноте> приведет к тому, что курсор переместится в начало ячейки, а после нажатия клавиши <End> — в конец ячейки. Новые символы появляются слева от курсора, тогда как сам курсор перемещается вправо. Чтобы выделить несколько символов, нажмите клавишу <Shift> и, На заметку 58 Часть I. Вводный курс
удерживая ее, перемещайте курсор с помощью клавиши управления курсором. Для выделения символов во время редактирования можно также использовать мышь. Щелкните и перетащите указатель мыши через те символы, которые нужно выделить. Кнопки-пиктограммы Рис. 2.2. Во время редактирования ячеек в строке формул появляются две кнопки-пиктограммы Некоторые способы ввода данных Можно упростить и ускорить процесс ввода данных в рабочий лист Excel, если использовать описанные ниже способы и возможности. Также будут полезны советы, которые помогуг сделать процедуру ввода данных более эффективной. Куда перемещается табличный курсор после ввода данных В зависимости от настройки параметров Excel, нажатие клавиши <Enter> после ввода данных в ячейку может автоматически перемещать табличный курсор в другую ячейку. Одних пользователей эта возможность раздражает, а другим нравится. Для того чтобы изменить эту установку, выберите команду Сервис^Параметры и щелкните на вкладке Правка (рис. 2.3). Опция, управляющая описанной возможностью, называется Переход к другой ячейке после ввода. Здесь же можно указать направление, в котором будет перемещаться табличный курсор после ввода данных (вниз, влево, вправо или вверх). Международные | Сохранение | ГЪсеерка ошибок | "Срфя-рафия | безопасность' * | вид ' Sbr-исмнн* Предке J O&sne j Пврюдаа 1 Список | &*4Грам*а „ j Цмт | Параметры - - Р Пеае*« прямо еячвиге Р Лере£аским»«мае« Р Лрбдулрвлуигъ«ерм «ремпиою Р"0К>ехо>д к дсуМЙ ячейке послчево** ецьпредт***. ЬтТЧИШ"»] a£Ctrt***ixp*jp«we. I- 1-j Р ■ ■-. -—v атъ{^ъектывмктесячвйкапи Р ЗЛГ(МШИВ*ГЬОбЕ&«»ЧШ«И«(-ТОйвТЙЧвСК»ЕС ЕВйКЙ Р Лоев^ктавка «удаление ячее* Р iftj) i иjanQuti Hi яюче>яй ячеж Р" {>«цмжть Фчжвты и формулы в диапазонах t Р лвтпнвп*«егмй ввод процентов Р ©те&мжат* ивно r»w«e -рое врглвки F? Отображать нвжзпераиатров добавления Рис. 2.3. Здесь задается направление перемещения табличного курсора после ввода данных Использование вместо <Enter> клавиш управления курсором В этой главе уже упоминалось о том, что для завершения ввода данных в ячейку нужно использовать клавишу <Enter>. Однако это только один из способов. Вместо <Enter> можно использовать любые клавиши управления курсором, в результате чего табличный курсор будет перемешаться в указанном направлении. Например, если вы вводите данные, которые Глава 2. Ввод и редактирование данных 59
должны располагаться в строке, то, чтобы завершить ввод, лучше нажать клавишу <—», а не <Enter>. Другие клавиши управления работают так же, т.е. для завершения ввода можно даже использовать клавиши <PgUp> и <PgDn>. Выделение ячеек перед вводом данных Вот один из приемов, о котором большинство пользователей Excel не знают. Если заранее выделить диапазон ячеек, то при нажатии клавиши <Enter> программа автоматически переместит табличный курсор в следующую ячейку. Если выделенная область включает несколько строк, то Excel будет перемещать табличный курсор вниз по столбцам. После того как табличный курсор окажется в последней ячейке текущего столбца, он переместится в верхнюю ячейку следующего столбца. Для пропуска текущей ячейки просто нажмите клавишу <Enter>. Чтобы вернуться к предыдущей ячейке, нажмите комбинацию клавиш <Shift+Enter>. Если вы предпочитаете вводить данные по строкам, а не по столбцам, используйте вместо <Enter> клавишу <ТаЬ>. Если вам нужно ввести большое количество данных, то описанный метод избавит вас от необходимости часто нажимать клавиши. Кроме того, вы можете быть абсолютно уверены в том, что вводимые данные окажутся в нужных ячейках. Использование <Ctrl+Enter> для ввода повторяющейся информации Если возникает необходимость ввести одни и те же данные в несколько ячеек, то, как правило, большинство пользователей поступают следующим образом: вводят данные в одну ячейку, а затем копируют их во все оставшиеся ячейки. Однако существует более удобный способ: выделите все ячейки, которые нужно заполнить данными, введите числовое значение, текст или формулу, а затем нажмите <Ctrl+Enter>. В результате одни и те же данные будут введены в каждую ячейку выделенной области. Автоматическое назначение десятичных запятых Этот способ ввода чисел заинтересует тех, кому приходится вводить множество цифр с фиксированным числом десятичных разрядов. Выберите команду СервисоПараметры и щелкните на вкладке Правка. Установите флажок Фиксированный десятичный формат при вводе и убедитесь в том, что в поле десятичных разрядов установлено нужное число десятичных разрядов после запятой. Если описываемая опция активизирована, Excel автоматически расставляет десятичные запятые. Например, если ввести в ячейку 12345, то программа будет интерпретировать это число как 123,45 (десятичную запятую она добавит автоматически). Чтобы вернуться в первоначальный режим, снимите флажок этой опции в диалоговом окне Параметры. Установка или отмена данной опции не влияет на ранее введенные числа. Этот режим ввода данных распространяется на все листы рабочей книги, а не только на выделенный диапазон ячеек. Если вы забыли, что включен этот режим, нимание! то можете ввести неправильные данные. Использование функции Автозаполнение В Excel предусмотрена специальная возможность, которая называется Автозаполнение. Она облегчает ввод набора числовых значений или текстовых элементов в диапазон ячеек. Для этого используется маркер автозаполнения (маленький квадратик, расположенный в нижнем 60 Часть I. Вводный курс
правом углу активной ячейки). Чтобы скопировать содержимое ячеек или автоматически заполнить их набором данных, протащите маркер автозаполнения по нужным ячейкам. Если нажать правую кнопку мыши, то, после того как вы перетащите маркер автозаполнения, Excel отобразит на экране контекстное меню. Используя это меню, можно установить дополнительные опции автозаполнения. Использование функции Автозавершение С помощью функции автозавершения можно выполнять автоматический ввод повторяющихся текстовых данных. При этом нужно ввести в ячейку только несколько первых букв, и Excel автоматически завершит ввод, основываясь на данных, которые вы ввели ранее в этот столбец. Если вам нужно ввести большое количество повторяющихся данных, эта возможность позволит сэкономить много времени. Вот как осуществляется автоматический ввод. Допустим, вы вводите в столбец информацию о проданных товарах. Пусть один из них называется Модем. Когда вы первый раз вводите в ячейку слово Модем, Excel запоминает это. Позже, когда вы только начнете вводить Модем в том же столбце, Excel "узнает" это слово по первым нескольким буквам и продолжит ввод вместо вас. Для завершения ввода вам останется только нажать клавишу <Enter>. Программа также автоматически изменяет написание букв. Поэтому, если вы начали вводить модем (со строчной буквы м), Excel автоматически заменит строчную букву м прописной для согласования данных с теми, что были введены ранее. Описываемая возможность не только позволяет уменьшить число нажатий клавиш, но и гарантирует, что вы всегда правильно введете ряд повторяющихся данных. Доступ к этой возможности можно получить, если щелкнуть правой кнопкой мыши Совет на ячейке и выбрать из контекстного меню команду Выбрать из списка. При ис- пользовании данного метода Excel откроет раскрывающийся список, в котором •■ j будут представлены все введенные в текущий столбец данные. Щелкните на том элементе, который вам нужен, и он будет введен автоматически. Помните, что функция атозавершения работает только с непрерывной последовательностью ячеек. Если, например, посреди последовательности ячеек с данными есть пустая ячейка, то Excel будет предлагать варианты только из тех ячеек, которые расположены ниже нее. Если вы считаете эту возможность излишней, можно отключить ее во вкладке Правка диалогового окна Параметры. Для этого достаточно снять флажок Автозавершение значений ячеек. Добавление новой строки в ячейку Если вы вводите длинный текст в ячейку, то можно сделать так, чтобы программа отображала содержимое в нескольких строках в пределах одной ячейки. Для добавления новой строки в ячейку используется комбинация клавиш <Alt+Enter>. Когда вы вводите символ разрыва строки (нажимаете <Alt+Enter>), Excel автоматически устанавливает для текущей ячейки опцию Переносить по словам (подробнее эта опция описана в главе 5). Но, в отличие от обычного режима переноса по словам, в данном случае Excel принудительно переносит текст на новые строки там, где вы указали. Это предоставляет дополнительные возможности при форматировании текста. Для удаления ручного переноса на новую строку откройте ячейку для редактирования, поставьте текстовый курсор там, где находится символ разрыва строки, и нажмите клавишу <Delete>. Символ разрыва строки невидим, но после его удаления текст переместится на текущую строку. Совет Глава 2. Ввод и редактирование данных 61
Использование функции Автозамена С помощью функции Автозамена можно создавать сокращения для часто употребляемых слов или фраз. Например, если вы работаете в фирме "Рога и копыта", то для этого названия можно создать сокращение рик в качестве элемента функции Автозамена. Тогда каждый раз при наборе рик Excel автоматически будет заменять это сокращение на Рога и копыта. В Excel встроен достаточно большой список слов, которые будут автоматически заменяться при вводе (в основном это ошибки, которые часто встречаюются при вводе). Для настройки функции Автозамена нужно воспользоваться командой Сервис^Параметры автозамены. Во вкладке Автозамена активизируйте флажок Заменять при вводе и введите нужный элемент и его сокращение (рис. 2.4). При этом вы можете ввести столько элементов, сколько хотите. ШИРИН'. Аетомивна |датсф<*ма<тпри«ку» | Омрт-твги | р1 QaeasatB и-юпкявдэиажнмтвй автшаншл Р* v(^ЫlнйTbnecйtдcгв^«яy^Днorcw*ж»тиДl«>SUXУ Р Заменят* при вводе ЦК Рога и копыта Corporation] развитие iработа =работать рука ■JtUsI Добавит» j "3 J Рис. 2.4. С помощью функции Автозамена можно создавать сокращения для часто употребляемых слов и выражений Совет Список автозамены общий для всех приложений Microsoft Office. Поэтому любые элементы автозамены, созданные, например, в Word, будут доступны и в Excel. Ввод дробей Если вы хотите ввести в ячейку простую дробь, отделите целую часть от дробной пробелом. Например, чтобы ввести десятичный эквивалент такой дроби, как 6 и 7/8, введите 6 7/8 и нажмите клавишу <Enter>. Программа введет в ячейку число 6,875 и автоматически отформатирует его как дробь. Если у числа нет целой части (например, 1/8), вы должны сначала ввести нуль: 0 1/8. Если вы снова установите табличный курсор на этой ячейке, то в строке формул увидите число 0,125, но в ячейке будет отображаться 1/8. Использование формы для ввода данных Многие используют таблицы Excel как простые базы данных, в которых информация организована по строкам. В этом случае Excel предлагает простой способ ввода данных с помощью встроенной формы. На рис. 2.5 показан пример такой формы. Начните ввод данных с определения заголовков столбцов. Они должны располагаться в первой строке диапазона вводимых данных. Позже вы всегда сможете удалить эти заголовки, если они вам больше не понадобятся. Заголовки нужны для того, чтобы описываемая команда работала правильно. Выделите любую ячейку в строке заголовка и выберите команду Дан- ныеОформа. Программа спросит, хотите ли вы использовать эту строку для заголовков. Щелкните на кнопке ОК. Затем откроется диалоговое окно формы, содержащее поля релак- 62 Часть I. Вводный курс
тирования и несколько кнопок. Для перехода между полями можете использовать клавишу <ТаЬ>. Когда вы введете данные для одной строки, щелкните на кнопке Добавить. Excel загрузит данные в рабочую таблицу и очистит поля формы для ввода следующей строки. С5Ш ****** ~" ЩЯ AWK: К-эт**м ^Ш 1 Телефон: >»ктро»*«я почт*. ; *•■>»■» ifaom [ { J J 2Sl Новая запись Добаия* [ j - 1 Цгад | Далее { Kpurefw j закрыт» j Рис. 2.5. Встроенная форма Excel позволяет упростить ввод информации в рабочую таблицу Исполнитель информация L Форма ввода данных имеет много других полезных свойств, которые подробно рассматриваются в главе 19. Ввод текущей даты и времени Иногда требуется ввести в ячейку текущую дату или время. Для этой цели в Excel предусмотрены два клавиатурных эквивалента. ■ Текущая дата. <Ctrl+ Shift+;>. ■ Текущее время. <Ctrl+Shift+:>. При этом способе ввода текущих даты и времени Excel вставляет их в рабочий лист как статические данные. Другими словами, они не изменятся при пересчете рабочего листа. Чаще всего это именно то, что вам нужно, но вы должны знать об этом ограничении. (Чтобы эти данные изменялись, например, при следующем открытии рабочей книги, следует использовать функции ТДАТА и СЕГОДНЯ. — Прим. ред.) Внимание! Форматирование ячеек Неформатированность данных, расположенных на рабочем листе, затрудняет их понимание. Форматированность же помогает понять, что эти данные означают. Например, если в ячейке отображается 25 000 000 р., вы без труда поймете, что в ней находится значение какой-то денежной суммы. В Excel существует много возможностей, позволяющих изменять вид содержимого ячеек. Ниже рассматриваются способы быстрого форматирования рабочих листов. Более подробная информация о форматировании приведена в главе 5. Помните, что форматирование можно применить только к выделенной ячейке Совет или к диапазону ячеек. Поэтому, прежде чем форматировать ячейки, выделите их. Глава 2. Ввод и редактирование данных 63
Форматирование числовых значений После ввода числовые значения, как правило, никак не отформатированы. Другими словами, они состоят из последовательности цифр. Числа следует форматировать так, чтобы они легко читались и были согласованы по количеству десятичных разрядов. На рис. 2.6 показаны два столбца чисел. Числа в первом столбце никак не отформатированы. Во втором столбце ячейки отформатированы так, чтобы числовые значения легко читались. [21 Чиииамм ф«рп«ш *!■ а| в 1 2 Неформатированные 3 25000 4 0.105 37433 1 234567Е-И1 5551114444 3057 30571212 С Форматированные 25 000.00р 10.50% 26 06 2002 123456 700 000.О0 '(555)111-4444 003057 03057-1212 0777 D Формат Денежный Процентный Дата С разделителями Номер телефона. Почтовый индекс Иедекс + 4 Табельный номер -JSl*i Е Т •1П диске Совет4' > Рис. 2.6. Неотформатированные числовые значения и те же, но отформатированные значения Эту рабочую книгу можно найти на прилагаемом компакт-диске. Если вы переместите табличный курсор в ячейку с отформатированным числовым значением, то обнаружите, что в строке формул будет отображено числовое значение в неформатированном виде. Так происходит потому, что форматирование влияет только на способ отображения числового значения в ячейке, а не на само значение. Автоматическое форматирование чисел Некоторые операции форматирования Excel способна выполнять автоматически. Например, если вы вводите в ячейку 12,2%, то программа знает, что вы хотите использовать процентный формат, и применяет его автоматически. Аналогично, если вы используете пробел для отделения в числах тысяч от сотен (например, 123 456), Excel применяет форматирование с этим разделителем групп разрядов автоматически. А если вы ставите после числового значения знак денежной единицы, установленный по умолчанию, например р., то к данной ячейке будет применен денежный формат. Excel позволяет легко вводить в ячейки числовые значения в процентном форма- Совет . те. Выполните команду Сервис* Параметры и перейдите во вкладку Правка. Ес- ли установлен флажок Автоматический ввод процентов, то можно вводить в ' ячейку, отформатированную процентным форматом, числа в обычном виде. Они будут восприниматься Excel как значения процентов (например, введите 12,5 для 12,5%). Если этот флажок не установлен, то необходимо вводить значения процентов как десятичные дроби (например, 0,125 для 12,5%). 64 Часть I. Вводный курс
рополнитель информация Ввод дат и временных данных обсуждался выше в разделе "Дата и время". Форматирование чисел с помощью панели инструментов На панели инструментов форматирования, которая отображается на экране по умолчанию, находится несколько кнопок, позволяющих быстро применить самые распространенные форматы чисел. Если щелкнуть на одной из этих кнопок, то к активной ячейке будет применен выбранный числовой формат. Можно также выделить диапазон ячеек (или даже всю строку либо столбец рабочего листа), а затем щелкнуть на одной из кнопок форматирования. Если выделено несколько ячеек, то числовой формат будет применен ко всем выделенным ячейкам. В табл. 2.1 приведены числовые форматы, которые можно применить, щелкнув на соответствующей кнопке панели инструментов форматирования. Таблица 2.1. Кнопки для форматирования чисел Название кнопки Применяемое форматирование Денежный формат Процентный формат Формат с разделителями Увеличить разрядность Уменьшить разрядность Добавляет знак денежной единицы, разделитель групп разрядов и отображает числовые значения с двумя знаками после запятой Отображает числовое значение в виде процента без десятичных разрядов после запятой Вставляет разделитель групп разрядов и отображает числовое значение с двумя знаками после запятой Увеличивает на единицу число десятичных разрядов после запятой Уменьшает на единицу число десятичных разрядов после запятой С помощью этих пяти кнопок панели инструментов форматирования можно применить к выделенным ячейкам готовые "стили" числовых форматов. Они аналогичны стилям, применяемым в текстовых процессорах. О том, как модифицировать существующие стили и создавать новые, речь пойдет в главе 5. Форматирование чисел с использованием комбинаций клавиш Задать форматы чисел можно с помощью комбинаций клавиш. В табл. 2.2 приведены комбинации клавиш, которые используются при форматировании чисел для выделенной ячейки или диапазона ячеек. Таблица 2.2. Комбинации клавиш для форматирования чисел Комбинация клавиш Применяемое форматирование <Ctrl+Shift+"> Общий числовой формат (т.е. неотформатированные значения) <Ctri+Shift+$> Денежный формат с двумя знаками после запятой (отрицательные числа записываются в скобках) Глава 2. Ввод и редактирование данных 65
Окончание табл. 2.2 Комбинация клавиш Применяемое форматирование <Ctrl+Shift+%> Процентный формат без десятичных разрядов после запятой <Ctrl+Shift+"> Экспоненциальный формат чисел с двумя знаками после запятой <Ctrl+Shift+#> Формат дат с указанием дня, месяца и года <Ctrl+Shift+@> Формат дат с отображением часов и минут <Ctrl+Shift+!> Числовой формат с двумя знаками после запятой, разделителем разрядов и дефисом для отрицательных значений Форматирование чисел с помощью диалогового окна Формат ячеек Чаще всего числовых форматов, кнопки которых расположены на панели инструментов форматирования, вполне достаточно. Но иногда возникает необходимость в использовании большего количества вариантов форматирования. В Excel предусмотрено множество таких вариантов. На рис. 2.7 показано диалоговое окно Формат ячеек, содержащее несколько вкладок. Для форматирования чисел используется вкладка Число. Рис. 2.7. С помощью вкладки Число диалогового окна Формат ячеек можно отформатировать числа различными способами Существует несколько способов вызова диалогового окна Формат ячеек. Прежде всего выделите ячейку или ячейки, которые вы хотите отформатировать, а затем выполните одно из приведенных ниже действий. ■ Выберите команду Формат^Ячейки. ■ Щелкните правой кнопкой мыши на выделенных ячейках и из контекстного меню выберите команду Формат ячеек. ■ Нажмите комбинацию клавиш <Ctrl+l>. Во вкладке Число диалогового окна Формат ячеек предусмотрено 12 категорий числовых форматов. При выборе соответствующей категории из списка Числовые форматы правая сторона панели изменяется так, чтобы отобразить соответствующие опции. Например, на рис. 2.7 показан вид диалогового окна после выбора категории Числовой. Категория Числовой содержит три опции: число отображаемых десятичных знаков, использование разделителя групп разрядов и способ отображения отрицательных чисел. Обратите внимание на то, что в окне списка Отрицательные числа представлено четыре варианта } вине****** J Цфнфт | Грм 44 | «ид | Защита | гОбрвэ*» [| яичь» f—3 JJJBJ ч* i> ftKfftWHW учшм -.г.-* ю 1234,10 * фодог тчмп* кдоэояде «ww способе* гр9Я<~ч#л**я-*к*п. <Ж Отяам 66 Часть I. Вводный курс
отображения отрицательных чисел (два из них выделены красным цветом), которые изменяются в зависимости от количества десятичных знаков и используемого символа разделителя групп разрядов. В верхней части вкладки показан образец отформатированного числа. Выбрав все необходимые опции, щелкните на кнопке ОК, чтобы применить числовой формат к выделенным ячейкам. Как форматировать числа Важно понимать, что применение числового формата к ячейке никоим образом не изменяет само число, которое там находится. Форматирование изменяет только внешний вид отображаемого числового значения. Например, если в ячейке находится число 0,874 543, его можно отформатировать так, чтобы на экране оно выглядело как 87%. Но если на ячейку сделана ссылка в формуле, то во время вычислений будет использоваться полное числовое значение (0,874 543), а не отображаемое (0,87). В некоторых случаях форматирование чисел может приводить к тому, что отображаемые результаты вычислений будут казаться неправильными, поскольку отображаются с заданным ограниченным числом разрядов. Другими словами, они будут отображаться в округленном виде. Поскольку при вычислениях по формулам Excel использует точные значения, результат вычислений после округления может показаться неправильным. Существует несколько способов решения подобной проблемы. Отформатируйте ячейки так, чтобы отображалось больше десятичных разрядов. Кроме того, к отдельным числам можно применить функцию ОКРУГЛ и установить нужное количество десятичных разрядов, до которых программа должна округлять числа. (Эта и другие встроенные функции обсуждаются в главе 8.) Можно также дать указание Excel изменить числовые значения в рабочем листе в соответствии с их отображаемым форматом. Для этого выберите команду Сервис^Параметры, в диалоговом окне Параметры щелкните на вкладке Вычисления и установите флажок Точность как на экране. Excel выдаст предупреждение о том, что данные, находящиеся в рабочем листе, будут изменены и точность будет понижена. Если вы хотите воспользоваться этой опцией, не забудьте создать резервную копию файла на тот случай, если вы передумаете. Также учтите, что действие этой опции распространяется на все листы рабочей книги. Ниже приведен список категорий числовых форматов с небольшими комментариями. ■ Общий. Формат, принятый по умолчанию. При его выборе числа отображаются в виде целых чисел, десятичных дробей или, если число слишком большое и- не помещается в ячейке, в экспоненциальном формате. ■ Числовой. Позволяет указать число десятичных знаков, определить разделитель групп разрядов и способ отображения отрицательных чисел (со знаком "минус", красным цветом или красным цветом со знаком "минус"). ■ Денежный. Позволяет указать число десятичных знаков, использование знака денежной единицы и способ отображения отрицательных чисел (со знаком "минус", красным цветом или красным цветом со знаком "минус"). В этом формате всегда используется разделитель групп разрядов. ■ Финансовый. Отличается от денежного тем, что знаки денежной единицы всегда выровнены по вертикали. ■ Дата. Позволяет выбрать один из форматов отображения дат. ■ Время. Предоставляет на выбор несколько форматов отображения времени. ■ Процентный. Позволяет выбрать число десятичных знаков. Символ процента отображается всегда. Глава 2. Ввод и редактирование данных 67
■ Дробный. Позволяет выбрать один из девяти дробных форматов отображения чисел. ■ Экспоненциальный. В этом формате число всегда отображается с буквой Е. Вы можете выбрать число десятичных знаков для отображения. ■ Текстовый. Его применение к числовому значению заставляет Excel рассматривать это число как текст (даже если текст выглядит как число). ■ Дополнительный. Включает четыре дополнительных числовых формата: Почтовый индекс, Индекс+4, Номер телефона и Табельный номер. ■ Все форматы. Позволяет создавать собственные числовые форматы, не входящие ни в одну из перечисленных категорий. Если в ячейке находится ряд символов "решетка" (#########), это значит, что Совет столбец недостаточно широк для отображения числа в выбранном формате. Чтобы увидеть содержимое ячейки, увеличьте ширину столбца или измените чи- В еловой формат. Числовые форматы, определяемые пользователем Как уже упоминалось, категория Все форматы позволяет создавать собственные числовые форматы, которые не входят ни в одну из других категорий. Excel предоставляет для этого большие возможности, тем не менее у вас могут возникнуть затруднения. Этой теме посвящена глава 25. 68 Часть I. Вводный курс
Основные операции с рабочим листом ГЛАВА этой главе рассмотрены основные методы, применяемые к рабочим листам, которые необходимо знать каждому пользователю. Понимание этих методов позволит повысить эффективность работы в Excel. Операции с рабочими листами Файлы называются рабочими книгами, каждая рабочая книга состоит из одного или нескольких рабочих листов. Если считать рабочую книгу блокнотом, то рабочие листы будут страницами этого блокнота. Как и в блокноте, вы можете открыть (активизировать) отдельный лист, добавить или удалить определенное количество листов, копировать листы и т.д. Далее в этом разделе будет показано, как добавлять, удалять, скрывать и перемещать рабочие листы. Работа с окнами Excel Создаваемые в Excel файлы называются рабочими книгами. В рабочей книге может содержаться произвольное число листов, и это могут быть либо рабочие листы (самый распространенный тип листа), либо листы диаграмм (на каждом из которых может находиться по одной диаграмме). Именно рабочий лист имеют в виду многие пользователи, когда говорят об электронной таблице. Одновременно можно открыть столько рабочих книг, сколько вам необходимо (но большинство пользователей обычно работают с одной рабочей книгой). На рис. 3.1 показано окно интерфейса Excel с четырьмя открытыми рабочими книгами, каждая из которых находится в отдельном окне. Одно из окон свернуто, и видна только его строка заголовка. Окна рабочих книг могут перекрываться, но при этом строка заголовка одного из окон будет выделена более ярким цветом. В этом окне находится активная рабочая книга. В этой главе... Операции с рабочими листами Управление внешним в дом рабочего листа Работа со строками и столбцами
Рис. 3.1. Окно Excel с четырьмя открытыми рабочими книгами, одна из которых свернута Окна рабочих книг Excel работают точно так же, как и окна любой другой программы Windows. Окна Excel могут находиться в одном из трех состояний. ■ Развернуто. Окно заполняет все рабочее пространство Excel. Развернутое окно не имеет строки заголовка, а имя рабочей книги находится в строке заголовка окна программы Excel. Для того чтобы развернуть окно, нужно щелкнуть на кнопке максимизации. ■ Свернуто. Виден только маленький прямоугольник со строкой заголовка. Для того чтобы свернуть окно, нужно щелкнуть на кнопке минимизации. ■ Восстановлено (т.е. не полностью развернуто). Для того чтобы восстановить окно, которое было свернуто или развернуто, щелкните на кнопке восстановления. Восстановленное окно можно свободно перемещать по экрану и изменять его размеры. При работе с несколькими книгами одновременно (что встречается довольно часто) вам нужно знать, как перемещать окна рабочих книг, изменять их размеры и переключаться между ними. Как вы, вероятно, знаете, сама программа Excel тоже выполняется в отдельном окне. Окно Excel также может быть развернуто, свернуто или не полностью развернуто. Когда окно Excel развернуто, оно занимает весь экран. Вы можете активизировать и другие запущенные программы с помощью панели задач Windows, которая обычно располагается в нижней части экрана. Перемещение окон и изменение их размеров Для того чтобы переместить окно, щелкните на его строке заголовка и перетащите его с помощью мыши. Заметьте, что окно можно переместить даже за пределы видимой части экрана в любом направлении, если это необходимо. 70 Часть I. Вводный курс
Если вы хотите изменить размеры окна, щелкните на одной из его границ и перетаскивайте ее до тех пор, пока окно не примет нужный размер. Когда вы помещаете указатель мыши на границе окна, форма указателя изменяется. Это служит сигналом того, что можно приступить к изменению размеров окна. Для того чтобы одновременно изменить размеры окна и по горизонтали и по вертикали, щелкните на одном из углов окна и перетащите его. ^^^ Перемещать окно или изменять его размеры можно только в случае, если оно не На заметку полностью развернуто. Хотя вы можете перемещать по экрану и свернутое окно, это никак не повлияет на положение окна после его восстановления. Иногда необходимо, чтобы все окна рабочих книг были видны (т.е. не заслоняли друг друга). Это, конечно, можно сделать и вручную, соответствующим образом изменив размеры окон и расположив их на экране. Однако Excel позволяет сделать это автоматически. Команда Окно1^ Расположить открывает диалоговое окно, показанное на рис. 3.2. С его помощью можно расположить окна на экране четырьмя способами. Выберите нужную опцию и щелкните на кнопке ОК. Рис. 3.2. Это диалоговое окно помогает упорядочить окна всех открытых рабочих книг Тс лькоймт ржущей t>*T I OK I «ом Переключение между окнами Как уже упоминалось, только одно окно рабочей книги в текущий момент времени может быть активным —то, в которое вы вводите данные и в котором выполняются ваши команды. Строка заголовка активного окна выделена другим цветом, и это окно расположено сверху над остальными окнами. Активизировать другое окно можно несколькими способами. ■ Щелкните на кнопке нужной рабочей книги на панели задач Windows1. ■ Щелкните на нужном окне, если его видно на экране. Окно, на котором вы щелкнули, переместится наверх и станет активным. ■ Нажмите комбинацию клавиш <Ctrl+Tab>, чтобы циклически перемещаться по всем открытым окнам до тех пор, пока нужное окно не окажется сверху. Нажатие клавиш <Shift+Ctrl+Tab> приведет к циклическому перемещению по окнам в обратном направлении. ■ Откройте меню Окно и выберите нужное окно из списка, который находится в нижней части меню. Активное окно отмечено галочкой. В списке может находиться до девяти окон. Если у вас открыто больше девяти окон рабочих книг, выберите команду Все окна, которая расположена под списком из девяти названий окон. О Многие пользователи предпочитают работать с развернутыми окнами рабочих книг. Это позволяет видеть большее количество ячеек и не отвлекает внимания на другие окна рабочих книг, попадающиеся на глаза. 1 Такое представление рабочих книг может отсутствовать на панели задач, если не включена соответствующая опция. Для ее включения выполните команду Сервис^ Параметры и во вкладке Вид диалогового окна Параметры установите флажок окна на панели задач. — Прим. ред. Глава 3. Основные операции с рабочим листом 71
Когда вы разворачиваете одно окно, все остальные окна тоже разворачиваются (хотя вы этого не видите). Поэтому если активное окно развернуто и вы активизируете другое окно, то новое активное окно также будет развернуто. Когда окно рабочей книги развернуто, нельзя выбрать другое окно, щелкнув на нем, поскольку остальные окна невидимы. Поэтому для активизации другого окна нужно нажать комбинацию клавиш <Ctrl+Tab> либо воспользоваться панелью задач Windows или меню Окно. Нужно отметить также, что одна и та же рабочая книга может быть открыта в не- Совет скольких окнах. Например, если рабочая книга состоит из двух рабочих листов, то можно открыть каждый из них в отдельном окне. Все описанные выше действия с окнами применимы и к этому случаю. Чтобы открыть для активной рабочей книги новое окно, выполните команду Окно^Новое. Закрытие окон Если у вас открыто слишком много окон, закройте некоторые из них. Чтобы закрыть окно, выберите команду Файл ^Закрыть или просто щелкните на кнопке закрытия, которая находится в правой части строки заголовка окна рабочей книги. Если окно рабочей книги развернуто во весь экран, то его срока заголовка невидима и кнопка закрытия окна находится прямо под кнопкой закрытия Excel. Когда вы закрываете окно рабочей книги, Excel проверяет, вносились ли в нее какие-либо изменения со времени открытия или последнего сохранения файла. Если нет, то окно закрывается без всяких сообщений программы. Если же вы внесли какие-либо изменения, то, прежде чем закрыть окно, Excel предложит вам сохранить файл. Активизация рабочих листов В текущий момент времени активной может быть только одна рабочая книга. Аналогично, в этой рабочей книге активным может быть только один лист. Для того чтобы активизировать другой лист, достаточно щелкнуть на его ярлычке, который расположен в нижней части окна рабочей книги. Для активизации другого листа можно также использовать комбинации клавиш. ■ <Ctrl+PgUp>. Активизируется предыдущий лист, если он существует. ■ <Ctrl+PgDn>. Активизируется следующий лист, если он существует. Если в рабочей книге несколько листов, не все их ярлычки могут быть видимы. Для просмотра других ярлычков следует воспользоваться кнопками прокрутки (рис. 3.3). Ярлычки листов находятся в той же строке, что и горизонтальная полоса прокрутки рабочего листа. Чтобы отобразить на экране большее или меньшее количество ярлычков, нужно перетащить разделитель ярлычков в соответствующем направлении. Обратите внимание, что перетаскивание разделителя изменяет одновременно число видимых ярлычков и размер горизонтальной полосы прокрутки. р?. .ЗЧ^нЛ»*»*™». Моац Oj«o»bJ_ Рис. 3.3. Кнопки прокрутки позволяют Кнопки прокрутки Разделитель отобразить на экране те ярлычки лис- ярлычков листов ярлычков тов, которые не видны Щелчок правой кнопкой мыши на одной из кнопок прокрутки открывает список Совет всех листов рабочей книги. Вы можете быстро активизировать нужный лист, выбрав его из этого списка. Ф 72 Часть I. Вводный курс
Добавление нового рабочего листа Использование нескольких рабочих листов позволяет структурировать большие таблицы. Вместо того чтобы использовать одну большую таблицу, можно разбить ее на несколько логически связанных таблиц. Например, если вы отслеживаете объемы продаж нескольких товаров, можно разместить информацию по каждому товару на отдельном рабочем листе. После этого можно создать еще один лист, объединив на нем полученные результаты. Существует три способа добавления нового рабочего листа в рабочую книгу. ■ Выберите команду Вставка^Лист. ■ Нажмите комбинацию клавиш <Shift+Fl 1>. ■ Щелкните правой кнопкой мыши на ярлычке листа и выберите из появившегося контекстного меню команду Добавить. На экране появится диалоговое окно Вставка, в котором нужно щелкнуть на пиктограмме Лист. После выполнения любого из перечисленных действий программа вставит в рабочую книгу новый лист перед активным листом. Новый лист автоматически становится активным. Чтобы сразу вставить несколько листов, выделите ряд ярлычков листов, удерживая Совет нажатой клавишу <Shift>. Затем выполните команду вставки листов. Excel добавит столько листов, сколько было выделено ярлычков перед командой вставки. У Для того чтобы сразу после вставки нового листа добавить в рабочую книгу Совет еще ряд дополнительных листов, нажмите несколько раз комбинацию клавиш <Ctrl+Y>— это клавиатурный эквивалент команды Правка* Повторить вставку •. \ рабочего листа. При каждом нажатии указанных клавиш в рабочую книгу будет добавляться один лист. — Прим. ред. Удаление листа из рабочей книги Если вам больше не нужен какой-либо рабочий лист или вы хотите убрать пустой лист из рабочей книги, удалите его. Это можно сделать двумя способами. ■ Выберите команду ПравкаОУдалить лист. ■ Щелкните правой кнопкой мыши на ярлычке листа и выберите из контекстного меню команду Удалить. Если на удаляемом листе есть какие-либо данные, Excel попросит вас подтвердить удаление листа. Если этот лист никогда не использовался, он удалится без вопросов. Чтобы удалить из рабочей книги несколько листов с помощью одной команды, нужно их предварительно выделить. Для этого, удерживая нажатой клавишу <Ctrl>, щелкните на ярлычках тех листов, которые вы хотите удалить. Затем удалите листы одним из описанных выше способов. Для того чтобы выделить несколько соседних листов, щелкните на ярлычке первого листа, нажмите клавишу <Shift> и щелкните на ярлычке последнего листа. Внимание! Операция удаления листа из рабочей книги необратима. Это одно из немногих действий в Excel, которые нельзя отменить. Глава 3. Основные операции с рабочим листом 73
Изменение имени рабочего листа По умолчанию рабочие листы называются Лист1, Лист2 и т.д. Обычно листам принято давать более содержательные имена. Чтобы изменить имя листа, воспользуйтесь одним из описанных ниже способов. ■ Выберите команду ФорматОЛистОПереименовать. ■ Дважды щелкните на ярлычке листа. ■ Щелкните правой кнопкой мыши на ярлычке листа и выберите из контекстного меню команду Переименовать. После выполнения любого из перечисленных действий Excel выделит ярлычок листа, так что вы сможете отредактировать имя листа или заменить его. Чтобы внести небольшие изменения в имя листа, не заменяя его полностью, дважды щелкните на ярлычке листа и затем отредактируйте имя. (знак вопроса); (звездочка). Имя листа может состоять максимум из 31 символа, причем допускаются пробелы. В имени листа нельзя использовать следующие символы: : (двоеточие); ? / (косая черта); * \ (обратная косая черта); Помните о том, что имя будет отображаться на ярлычке листа, поэтому более длинное имя потребует более широкого ярлычка. Таким образом, если вы будете использовать длинные имена листов, вы сможете увидеть без прокручивания только несколько ярлычков. Изменение числа листов в новой рабочей книге По молчанию Excel создает новую рабочую книгу с тремя листами. Если после открытия новой рабочей книги вам часто приходится добавлять в нее листы или удалять их, измените количество листов, содержащихся в рабочей книге по умолчанию. Для того чтобы изменить число листов в новой рабочей книге, выполните перечисленные ниже действия. 1. Выберите команду Сервис^Параметры. 2. В появившемся диалоговом окне Параметры выберите вкладку Общие. 3. Измените значение параметра Листов в новой книге, затем щелкните на кнопке ОК. Значение этого параметра будет влиять на все создаваемые рабочие книги, но никак не отразится на уже существующих книгах. Изменение цвета ярлычков листов В Excel можно изменять цвет одного или нескольких ярлычков листов. Например, в вашей рабочей книге есть несколько листов, содержащих однотипные данные. Тогда можно изменить цвет соответствующих ярлычков, чтобы подчеркнуть, что это листы одного типа. Чтобы изменить цвет ярлычка, щелкните на нем правой кнопкой мыши и в контекстном меню выберите команду Цвет ярлычка. В появившемся диалоговом окне выберите цвет. 74 Часть I. Вводный курс
Перемещение и копирование рабочего листа Порой возникает необходимость изменить порядок следования листов в рабочей книге. Например, если данные по продажам товаров по каждому региону введены на отдельных рабочих листах, то иногда удобнее расположить эти листы в алфавитном порядке или в соответствии с объемами продаж. Кроме того, иногда требуется переместить лист из одной рабочей книги в другую. (Если вы хотите переместить рабочий лист из одной рабочей книги в другую, то обе книги должны быть открыты.) Также Excel позволяет создавать копии имеющихся листов. Существует несколько способов перемещения и копирования листа. ■ Выберите команду Правка^Переместить/скопировать лист, в результате откроется диалоговое окно Переместить или скопировать. ■ Щелкните правой кнопкой на ярлычке листа и в контекстном меню выберите команду ПравкаО Переместить/скопировать лист (также откроется диалоговое окно Переместить или скопировать). ■ Для перемещения листа щелкните на его ярлычке и перетащите ярлычок в нужное место той же или другой рабочей книги. Во время перетаскивания указатель мыши превращается в маленькое изображение листа со стрелкой. ■ Для копирования листа щелкните на его ярлычке, нажмите клавишу <Ctrl> и перетащите ярлычок в нужное место той же или другой рабочей книги. Во время перетаскивания указатель мыши превращается в маленькое изображение листа со знаком "плюс" на нем. Можно также переместить или скопировать несколько листов одновременно, Совет предварительно выделив их. Для этого, удерживая нажатой клавишу <Ctrl>, щелкните на ярлычках соответствующих листов, а затем выполните описанные выше действия. > Обычно самый простой из этих способов — перетаскивание, но если в книге много листов, то лучше отдать предпочтение команде меню. Эта команда открывает диалоговое окно, показанное на рис. 3.4, в котором нужно выбрать рабочую книгу и новое положение листа. Пютлагь ийони* листы t'm*r |f К|Джгг_02кИ* Вирквтмг Г СяД0*?Ь.£ОПМв ) OK I *! d "" "~3 ■■нк -1 Опш« j Рис. 3.4. Диалоговое окно Переместить или скопировать Если вы перемещаете или копируете рабочий лист в рабочую книгу, в которой уже есть лист с тем же именем, Excel изменит имя так, чтобы сделать его уникальным. Например, имя ЛисП превратится в Лист1 (2). ^^^ Если лист перемещается или копируется в другую рабочую книгу, то в нее копи- На заметку руются имена ячеек, диапазонов и форматы, определенные пользователем. / Глава 3. Основные операции с рабочим листом 75
Сокрытие и отображение рабочего листа Иногда необходимо скрыть рабочий лист, например если вы хотите, чтобы другие не видели его или чтобы он вам не мешал. Когда лист скрыт, его ярлычок тоже спрятан. В каждой рабочей книге должен быть хотя бы один видимый лист, поэтому Excel не позволит скрыть все листы рабочей книги. Для того чтобы скрыть рабочий лист, выберите команду Формат^Лист^Скрыть. Активный лист (или выделенные листы) скроются из вида. Чтобы отобразить скрытый лист, выберите команду ФорматОЛистООтобразить. Excel откроет диалоговое окно Вывод на экран скрытого листа со списком скрытых листов. Выберите лист, который нужно отобразить, и щелкните на кнопке ОК. В этом диалоговом окне нельзя одновременно выбрать несколько листов, поэтому для каждого листа, который вы хотите отобразить, придется повторить указанную команду. Для более полной защиты рабочей книги от несанкционированных изменений ис- Совет пользуйте команду Сервис^Защита. Эта команда предоставляет большие возможности по защите как отдельного листа, так и всей рабочей книги. Но помните, ■Я что защита Excel достаточно слабая и ее легко "взломать". Создание "очень скрытого" рабочего листа Кроме возможности обычного сокрытия листов, Excel также позволяет делать листы "очень скрытыми". Такие рабочие листы не отображаются в диалоговом окне Вывод на экран скрытого листа. Чтобы сделать лист очень скрытным, выполните ряд действий. 1. Выделите рабочий лист. 2. Выполните команду Вид^Панели инструментов^Элементы управления. 3. Щелкните на кнопке Свойства на появившейся панели инструментов. На экране отобразится окно Properties (Свойства), показанное на рисунке. 4. В окне Properties установите значение свойства Visible в положение 2 - xlSheetVeryHidden. Natr*) Лисп Щ ■ •yPageBreaks False DisptoyftightTolet False LnabteAutcf*er Falsa LnatfeCokiMOT True EnableOitfreTg False EneblePK-otTeble False [nableSelecton 0 - xhofieswcHons Чете итог 4roLArea stsrdardwWh После этого лист станет скрытым и. не будет отображаться в окне Вывод на экран скрытого листа. Будьте внимательны. После того как лист станет очень скрытым, вы не сможете отобразить его с помощью окна Properties, так как не сможете его выбрать. Фактически единственный способ отобразить такой лист — использовать макрос VBA. (Как создавать такие макросы, описано в части VI.) Чтобы отобразить лист с названием Лист1, нужно выполнить следующую команду VBA: ActiveWorkbook.Worksheets("Лист1").Visible = True 76 Часть I. Вводный курс
Управление внешним видом рабочего листа Если на отдельных листах и во всей рабочей книге содержатся большие объемы данных, перемещаться по данным и находить нужную информацию становится довольно сложно. Excel имеет несколько эффективных средств просмотра как отдельных листов, так и нескольких одновременно. Эти средства рассматриваются в настоящем разделе. Просмотр листов в нескольких окнах Иногда возникает необходимость иметь в поле зрения одновременно две различные части одной рабочей таблицы. Это может понадобиться, например, чтобы проследить в формулах ссылки на ячейки в разных местах рабочего листа. Возможна также ситуация, когда необходимо видеть одновременно несколько листов одной и той же рабочей книги. Для этого нужно открыть одно или несколько дополнительных окон текущей книги. Для того чтобы создать новое окно активной рабочей книги, выберите команду Ок- но^Новое. Если при создании нового окна максимизировано окно активной рабочей книги Совет (т.е. развернуто на весь экран), вы можете не заметить, что создано новое окно. В таком случае обратите внимание на строку заголовка окна Excel, где к имени \ рабочей книги будет добавлено :2. Выберите команду ОкнооРасположить и в диалоговом окне Расположение окон выберите одну из опций, чтобы увидеть все открытые окна. В результате Excel откроет новое окно и поместит туда активную рабочую книгу (рис. 3.5). Обратите внимание на текст в строках заголовков этих окон: КЛИЕНТЫ.XLS:1 и КЛИЕНТЫ.XLS:2. Чтобы вы не перепутали окна. Excel добавляет в строку заголовка двоеточие и номер окна. J 2040 2041 2042 043 2044 2045 204S 2047 2048 2049, 2050 2051 2052 2053 2054 2055 2056 2057 2058 ШШВШ Save-a-lot Markets Save-a-lot Markets White Clover Markets White Clover Markets White Clover Markets ''■'ChterSupermarkt Richte'Supermarkt yd World Delicatessen ЭИ World Delicatessen Old World Delicatessen Supremes delices Supremes delices Supremes delices Supremes delices Drachenblut De'ikatessen Drachenblut Delikatessen Godos Cocina Tipica Supremes delices Supremes delices ЭКЛИЕНТЫЯ-б I 28 Veltingionlmportadora 29 Wellington Importadora 30 HLARION-Abastos 3l"4ILARION-Abastos ЗУ HLARION-Abastos 33, Fmst Handel .34 Ernst Handel 35 Fmst Handel .36. Centra comerci al Moctezuma 37 entro comerci al Moctezuma 38 :ttilies Kaseladen 38. «lies Kaseladen j40_ )ttilies Kaseladen 41 )ttUies Kaseladen 42 lue Delicia _43 lue Delicia 44 (aMesnake Canyon Grocery 45 iafflesnake Canyon Grocery ^6 tefflesnake Canyon Grocery 11038 215 08 05 2d G 10256 10256 10257 10257 10257 10258 10258 10258 10259 10259 10260 10260 10260 10260 10261 10261 10262 10262 10262 i" H 104 262 104 144 351 170 152 256 80 208 120 ,.M*I 3 26 07.- 26 07. 3107. 3107. 31 07 ' 01 08.. 0108. 01.08. 03 08. 03 08. 07 08. 394 156 77 80 144 304 240 170 07 08 07.08. 07 08: 08 08. 08 08. 03 08.. 03 08. 03.08.: . itd VBamufjw», M лц.л/лт/*гши/ат.- Рис. 3.5. Два вида одной и той же рабочей книги Глава 3. Основные операции с рабочим листом 77
Каждая рабочая книга может иметь сколько угодно видов (т.е. отдельных окон). Каждое окно не зависит от других. Иными словами, прокрутка в одном окне не вызывает прокрутки в другом (других). Это позволяет отображать различные части рабочих листов в отдельных окнах. Чтобы закрыть дополнительные окна, пользуйтесь обычными методами. Например, щелчок на кнопке закрытия, расположенной в строке заголовка, позволяет закрыть активное окно, но не закрывает другие окна. Отображение нескольких окон одной рабочей книги облегчает копирование дан- Совет ных из одного рабочего листа в другой. Для этого достаточно воспользоваться методом "перетащить и опустить". .. S Сравнение рабочих листов Иногда нужно сравнить два рабочих листа, расположенных в разных окнах. Новое средство Excel 2003 создано для того, чтобы облегчить выполнение этой операции. Листы могут располагаться в одной или в разных рабочих книгах. Сначала убедитесь, что нужные рабочие листы открыты в разных окнах. Если требуется сравнить два листа одной рабочей книги, выберите команду ОкнО^Новое, чтобы открыть еще одно окно активной рабочей книги. Затем перейдите в первое окно и выберите команду ОкноОСравнить рядом С. Если открыто более двух окон, появится диалоговое окно, в котором следует указать окно для сравнения. Чтобы сравнивать таблицы по строкам (а не по столбцам), окна должны быть расположены одно под другим. Если нужно сравнить листы по столбцам, выберите команду Окно1* Расположить и в открывшемся диалоговом окне установите переключатель в положение Рядом. При сравнении строки и столбцы в обоих окнах будут прокручиваться синхронно. Также на экране появится панель инструментов Сравнить по столбцам, на которой находится три кнопки. ■ Синхронная прокрутка. Включает и отключает синхронную прокрутку окон. ■ Восстановить расположение окна. Если вы изменили расположение окон, щелкните на этой кнопке, чтобы расположить одно окно под другим. ■ Вернуться в обычный режим. Выход из режима сравнения и возврат к предыдущему расположению окон. Также можно воспользоваться командой Окно^Закрыть открытые рядом документы. Помните, что значения все равно придется сравнивать вручную. К сожалению, в Excel нет средств для выделения несовпадающих данных. Разделение листа Если вы не хотите загромождать экран дополнительными окнами, воспользуйтесь другой возможностью Excel, которая позволяет отобразить в одном окне несколько частей рабочего листа. Команда Окно1* Разделить разбивает активный лист на две или четыре области в том месте, где находится табличный курсор. С помощью мыши можно перетащить полосы разделения панелей, чтобы задать им нужный размер. На рис. 3.6 показан рабочий лист, разделенный на четыре области. Обратите внимание на то, что номера строк и буквы столбцов не являются последовательными. Таким образом, 78 Часть /. Вводный курс
разделение окна на области позволяет просматривать в одном окне различные части рабочего листа. Две области, расположенные одна под другой, всегда имеют одинаковые заголовки столбцов, а две области, расположенные рядом, — одинаковые номера строк. Чтобы вернуться к первоначальному виду экрана, воспользуйтесь командой ОкнооСнять разделение. Ж Б. 99 [Ольга 100, Ольга Ольга 102 Дарья .105 Дарья Дарья Дарья ЛЗЬ<] 108 JS* Мария 107 Мария Мария ||89j Анна ГЩ Петр 1191 Петр Ш? Петр W Анна 1194 Анна 1195/Ольга 1Ш.0пьга «* Глшм- С D Бабкина Венесуэла Бабкина Венесуэла Бабкина Венесуэла Воронова Германия Воронова Германия Воронова Германия Воронова Германия Белова Германия Белова -Германия Белова Германия Крылова Германия Кралев Финляндия . Е Lara Lara Lara F LLA-Supermercado LLA-Supermercado LLA-Supermercado Lehmanns Marktstand Lehmanns Marktstand Lehmanns Marktstand Lehmanns Marktstand QUiCK-Stop QUICK-Stop OUICK-Stop ~ Финляндия Финляндия Кралев Кралев Крылова США Крылова _ США Бабкина Венесуэла Бабкина Венесуэла WA WA Nueva Nueva iTTiWrtlSi: l»«*;in*i\ { OUICK-Stop Wilman Kala WilmanKala Wilman Kaia White Clover Markets White Clover Markets ELINO-Delicateses ELINaDelicateses ■KTlii G 10283' 10283 10283 10284 10284 10284 10284 10285 10285 10285 10694 10695 10695 10695 10696 10696 10697 10697 H 73 278 124 272 112: 351: 155 262 144 147 "зоо" 380 400 45 120 390 150: 132.5 01 .OS*" 0109 01.09 05 09. 0509 0509 05 09 0409 04 09. , 04 09 .и "iii'.il 23 10. ' 23.10 2310 23 10.^ 2310. 2310. 2310 , Рис. 3.6. Этот рабочий лист разделен на четыре области Существует еще один способ разделения листа на области — перетащить вертикальную или горизонтальную полосы разделения, которые находятся в верхней части вертикальной и в правой части горизонтальной полос прокрутки. Когда вы поставите указатель мыши на полосу разделения, он примет вид двунаправленной стрелки с двумя параллельными линиями посередине. Чтобы снять разделение, перетащите полосу к краю окна или просто дважды щелкните на ней. Закрепление областей Многие рабочие листы содержат заголовки строк и столбцов. При прокручивании такого листа легко потерять ориентацию, когда заголовки строк и столбцов исчезнут из вида. В Excel эта проблема решается легко и просто с помощью такой возможности, как закрепление областей. После закрепления области с заголовками при прокрутке рабочего листа заголовки всегда будут оставаться на экране. Чтобы закрепить области рабочего листа, переместите табличный курсор в ячейку, которая находится на одну строку ниже и на один столбец правее области, которую нужно закрепить. Затем выберите команду Окно1^Закрепить области. Программа обозначит закрепленные строки и столбцы темными линиями. Чтобы отменить закрепление областей, выберите команду ОкнооСнять закрепление областей. На рис. 3.7 показана та же таблица, что и на рис 3.6, но с закрепленными строками 1-4 и столбцом А. Вы можете прокручивать строки и столбцы, но при этом заголовки столбцов и значения в столбце А все время будут оставаться на своих местах. Если на листе есть закрепленные области, то после нажатия комбинации клавиш Совет <Ctrl+Home> табличный курсор перейдет в левую верхнюю ячейку незакреплен- ной области. Перевести табличный курсор в закрепленную область можно, ис- ВД пользуя мышь или клавиши управления курсором. Глава 3. Основные операции с рабочим листом 79
IT V 53 54 55 56 57 58 59 60 61 m 63 64 C5 68 67 69 A Имя 1авеп 1авел Эльга Дарья Дарья Дарья Лнна Лнна Андрей Андрей Мария Мария Иван Иван Иван Иван Ольга 1. в • Фамилия Новиков Новиков Бабкина Воронова Воронова Воронова Крылова Крылова Кротов Кротов Белова Белова Акбаев Акбаев Акбаев Акбаев Бабкина . J . . Г, Название F G H -Г-Н 'Количество'Сумма ДатаИсполнения КояТосара B'ondelpereetMs 10265 Blonde) pere et fils Warrjan Herkku Frankenversand Frankenversand Frankenversand GROSELLA-Restaurante GROSELLA-Restaurante Write Clover Markets . White Clover Markets Wartian Herkku Wartian Herkku Split Rail Beer & Ale Rattlesnake Canyon Grocery Rattlesnake Canyon Grocery Rattlesnake Сапуол Grocery QUCK-Stop 10265 10266 10267, 10267 10267 10268 10268 10269 10269 10270 10270 10271 10272 10272 10272 120 312 304 147 440 144 278 990: 20 278 368 152. 20 100 278 648 10273 248 4ПТЯ Л ЛЛ JU1 21 08 2002 0:00 21 08 2002 6 00 09.08.2002 0 00 15 08.2002 000 15 08 2002 0 00 15.08 2002 0 00 11.08 2002 0 00 1108 2002000 18.08 2002 0 00 1808 2002 0 00 1108 2002 0 00 1108 2002 0 00 08.09 2002 0 00 15.08 2002 0 00 1508 2002 0 00 15 08 2002 0 00 2108 2002 000 70 Я 17 12 40 59 76 72 29 33 72 43 36 33 31 72 20 10 1 •Г- Рис. 3.7. Рабочий лист с закрепленными заголовками строк и столбцов Масштабирование рабочих листов Программа Excel позволяет изменять масштаб отображения рабочих листов. Обычно стандартным является масштаб 100%. Вы можете изменять "процент увеличения" от 10 (очень мелкий) до 400 (очень крупный). Использование малого процента увеличения (уменьшение масштаба) позволяет увидеть рабочий лист целиком. Это дает возможность оценить компоновку всего листа. Увеличение полезно в случае, если у вас плохое зрение и вы испытываете определенные трудности, разбирая цифры продаж, набранные шрифтом, размер которого 8 пунктов. На рис. 3.8 показаны два окна одного и того же листа, первое увеличено до 400%, а второе уменьшено до 10%. Самый простой способ изменения коэффициента масштабирования активного рабочего листа — использовать инструмент Масштаб, который находится на стандартной панели инструментов. Щелкните на кнопке раскрытия списка и выберите нужное значение увеличения .. тт Нлчрк вопи HfAUpal фотее *>мч! *"*♦ kj*ijpt( Цпи JjM>t* fcxoora Ьдэч Кеном ■LVW tttotoM . спмя IoOhh В*» «*■■» • &■*• юсюпм ■ ДОМ ■ОГОИМ в,*имг «шва !*с*н*а 11М1|до* IM UTtiu 9% 1жя» l*ot-я ЩЦЯл* комом *$$гы+тл ,'Яисв.. .1 клиенты xut г А 145 Дарья 146 Дарья 147 Павел 148 Павел 149 Анна 150 Анна 151 Дарья В Воронова Воронова Новиков (Новиков Крылова Крылова Воронова ■■I Бразилия Бразилия Италия Италия Германия Германия Бельгия 152 Дарья Воронова Бельгия .,lol»l ИГ Рис. 3.8. На примере этих двух окон показаны возможности масштабирования в Excel 80 Часть /. Вводный курс
(см. рис. 3.8). Вид экрана сразу же изменится. Можно также ввести значение увеличения непосредственно в поле инструмента Масштаб. При выборе опции По выделению масштаб рабочего листа изменится так, чтобы отобразить на экране только выделенные ячейки. Эта возможность полезна, если вы хотите просмотреть только определенный диапазон. Увеличение влияет только на активный рабочий лист, поэтому для разных листов Совет можно выбирать разные коэффициенты масштабирования. Кроме того, если ра- ^^ бочий лист отображен в двух окнах, в каждом можно устанавливать различные ^к коэффициенты масштабирования. Д Если в вашем рабочем листе используются поименованные диапазоны (см. гла- Ьополнительтя Ву 4), то при уменьшении масштабного коэффициента до 39% (или ниже) имя (информация^ диапазона будет перекрывать соответствующие ячейки. Это позволяет получить ^i^i'"**" представление о структуре рабочей таблицы. Для более точного выбора коэффициента масштабирования воспользуйтесь командой ВидОМасштаб. Откроется диалоговое окно Масштаб, где можно выбрать один из переключателей или непосредственно ввести значение из интервала от 10 до 400% в поле ввода, которое находится напротив переключателя Произвольный. Коэффициент масштабирования влияет только на то, как рабочая таблица выглядит на экране, и не оказывает никакого влияния на ее вид при распечатке. О масштабировании при печати речь идет в главе 7. В некоторых случаях изменение коэффициента масштабирования может привести к ошибкам в отображении данных. Особенно часто такие ошибки случаются J при отображении диаграмм и графики. Если на экране информация отображается неправильно, установите масштаб 100%. Именованные представления Если для различных целей вы создали несколько разных видов рабочей книги, то вас должна заинтересовать такая возможность Excel, как именованные представления. Это позволяет присваивать имена различным представлениям рабочей таблицы и быстро переключаться между ними. В представление включаются такие параметры окна, как его размер и положение на экране, закрепленные области, заголовки, структура, коэффициент масштабирования, координаты активной ячейки, область печати и многие другие параметры, которые находятся в диалоговом окне Параметры. Кроме того, вид может включать "невидимые" (т.е. скрытые от глаз пользователя) параметры печати, а также скрытые строки и столбцы. Если вы постоянно изменяете эти параметры, а затем восстанавливаете их прежние значения, то использование именованных видов позволит сэкономить время и силы. Для создания именованного представления сначала сделайте все установки внешнего вида окна рабочей книги, которые нужно сохранить. Затем выберите команду ВидОПредстав- ления; отобразится диалоговое окно Представления. Чтобы добавить новое представление, щелкните на кнопке Добавить, появится диалоговое окно, показанное на рис. 3.9. Затем введите имя нового представления. Кроме того, можно определить, какие параметры включать в представление, а какие нет. Для этого установите или снимите соответствующие флажки опций. В диалоговом окне Представления отображается список всех именованных представлений. Для того чтобы выбрать определенное представление, выделите его из списка и щелкните на кнопке Применить. Чтобы удалить представление из списка, щелкните на кнопке Удалить. Глава 3. Основные операции с рабочим листом 81
#т \ Ья** P" осркгыв строки, СГйПбаы С портал: or | Отнена 1 Рмс. 5.9. Это диалоговое окно позволяет сохранить, а затем выбрать именованное представление Окно контрольного значения Если вы когда-нибудь пытались проследить значения, вычисляемые с помощью последовательности формул, то наверняка оцените возможности панели Окно контрольного значения. Это окно в действительности является панелью инструментов специального вида. Чтобы ее отобразить, выберите команду ВидОПанели инструментов^Окно контрольного значения. Затем щелкните на кнопке Добавить контрольное значение и выберите ячейку, значения которой нужно отслеживать. После этого в панели Окно контрольного значения будет отображаться текущее значение выбранной ячейки. Можно одновременно отслеживать значения любого количества ячеек. При желании панель можно перенести в любое другое место. На рис. 3.10 показано Окно контрольного значения с двумя ячейками, значения которых отслеживаются. ■•ДЗобавчтыигнтрол* кое значение Кшгщ |гкт j ►*« 1я»*ед &оджвт_02.*Ь Маркетин- F6 Ьоджет_0гЛ Маркетг ЕЮ У»»иИ 695681 73029,6 . 1 **•**• -СУМЧ<В6Е6) -СРЭНАЧ(Е2:Е9) Рис. 3.10. Панель Окно контрольного значения позволяет легко проследить изменения значений в любых ячейках рабочей книги Работа со строками и столбцами В этом разделе описаны некоторые операции, которые можно выполнять над строками и столбцами. В каждом рабочем листе содержится 65 536 строк и 256 столбцов. Пользователи часто спрашивают, как можно увеличить количество строк или столбцов. К сожалению, эти значения фиксированы и изменить их нельзя. Вставка строк и столбцов Хотя количество строк и столбцов в рабочем листе фиксировано, тем не менее их можно вставлять и удалять. Эти действия не изменяют общего количества строк и столбцов. Например, вставка новой строки просто приводит к смещению остальных строк вниз. Последняя строка, если она пуста, удаляется из рабочей таблицы. Вставка нового столбца приводит к сдвигу столбцов вправо, а последний столбец просто удаляется (если он пуст). ^— Если последняя строка (строка с номером 65 536) не пуста, то вы не сможете вставить новую строку. Аналогично, если в последнем столбце (столбец IV) содержится информация, то Excel не позволит вам вставить новый столбец. В этом случае при попытке добавить в таблицу строку или столбец на экране появится сообщение, показанное на рис. 3.11. На заметку / 82 Часть I. Вводный курс
l.'Tlff j\ чтобы предотврати!» bc»iom>**> потере A»«*«.neoe«ew«»Mtn^»*(we*wM(ve*«w< «иста . ипрещеио Нлй&ктфпеслвд>*ом>млуетуюлц«А^,м^мйн«щ>CTRL*€UO яу«влитвмя4<т«ст^пре«пчеАм ч^^т>той*мейг«йие»«зич«,иг«ваи«хд»** .3«твмеы6випв*^ЛсуА1««яо»«1Тг«^гу. №»юнетвкжвпярепвст>ггьд«*«« в другое ивстэ и повторю» попытку. Рис. 3.11. Сообщение программы о том, что нельзя добавить в рабочий лист новую строку или столбец Чтобы вставить новую строку или строки, можно воспользоваться одним из приведенных ниже методов. ■ Выделите всю строку или несколько строк, щелкнув и перетащив указатель мыши по соответствующим номерам строк, которые расположены на границе рабочего листа. Выберите команду ВставкаоСтроки. ■ Выделите всю строку или несколько строк, щелкнув и перетащив указатель мыши по соответствующим номерам строк, которые расположены на границе рабочего листа. Щелкните правой кнопкой мыши и из контекстного меню выберите команду Добавить ячейки. ■ Переместите табличный курсор на строку, перед которой нужно вставить новую, и выберите команду Вставка^Строка. Если вы выделите несколько ячеек в столбце, то Excel вставит столько же строк, сколько выделено ячеек. Вставка нового столбца или нескольких столбцов выполняется аналогично, только для этого используется команда Вставка^Столбец. Кроме того, можно вставлять не только строки и столбцы, но и отдельные ячейки. Выделите область, в которую вы хотите добавить новые ячейки, и выберите команду Встав- каОЯчейки. Чтобы вставить несколько ячеек, можно сдвинуть остальные ячейки вправо или вниз. Excel открывает диалоговое окно, которое показано на рис. 3.12. В этом окне нужно указать, в каком направлении следует сдвигать ячейки. Рис. 3.12. При вставке новых ячеек программе нужно указать, в каком направлении сдвигать старые ячейки, чтобы освободить место С 1 -*"*•' Ж __ aauMMtrpva - сдемго«ьуо' 1 от— | Удаление строк и столбцов Иногда требуется удалить строки или столбцы. Например, рабочий лист может содержать устаревшие данные, которые теперь не нужны, и их нужно удалить из рабочего листа. Чтобы удалить строку или несколько строк, воспользуйтесь одним из предлагаемых методов. ■ Выделите всю строку или несколько строк, для этого щелкните и перетащите указатель мыши по соответствующим номерам строк, которые находятся на границе рабочего листа. Затем выберите команду Правка1*Удалить. ■ Выделите всю строку или несколько строк, щелкнув и перетащив указатель мыши по соответствующим номерам строк, которые находятся на границе листа. Щелкните правой кнопкой мыши и выберите из контекстного меню команду Удалить. Глава 3. Основные операции с рабочим листом 83
■ Поместите табличный курсор на строку, которую вы хотите удалить, и выберите команду Правка^Удалить. В появившемся диалоговом окне выберите переключатель Строку. Если вы выделите несколько ячеек в столбце, Excel удалит все соответствующие строки. Удаление столбцов выполняется точно так же. Если вы ошибочно удалите не ту строку или столбец, то для отмены этого действия выберите команду ПравкаООтменить или нажмите комбинацию клавиш <Ctrl+Z>. Сокрытие строк и столбцов Программа Excel позволяет скрывать строки и столбцы. Это может понадобиться в тех случаях, если вы не хотите, чтобы другие пользователи видели некоторую информацию. Кроме того, возможность сокрытия части данных может пригодиться, например, при печати итогового отчета, в котором не нужно приводить все имеющиеся данные. "Л В главе 28 представлен еще один способ создания итогового отчета — создание Дополнительна структуры рабочего листа, [информация Чтобы скрыть строку или несколько строк, выделите их и выберите команду Формате СтрокаОСкрыть. А чтобы скрыть один или несколько столбцов, выделите их и выберите команду ФорматОСтолбец^Скрыть. Еще один способ скрыть строку или столбец — перетащить их границу. При этом для строки нужно перетащить ее нижнюю границу вверх, а для столбца — правую границу влево. Скрытая строка имеет высоту, равную 0, а скрытый столбец — ширину, равную 0. Когда вы с помощью соответствующих клавиш перемещаете табличный курсор, ячейки в скрытых строках или столбцах пропускаются. Другими словами, с помощью клавиш управления курсором нельзя попасть в ячейку скрытой строки или столбца. Возвращение на экран скрытой строки или столбца может потребовать от вас некоторой ловкости, поскольку очень трудно выделить строку или столбец, которые скрыты. Для этого выделите вначале строки или столбцы, прилегающие к скрытой строке или столбцу (выделите хотя бы по одной строке или столбцу по обе стороны), затем выберите команду Формат^Строка^Отобразить или ФорматОСтолбецООтобразить. Можно также использовать команду ПравкаОПерейти (или ее клавиатурный эквивалент — клавишу <F5>) для активизации ячейки в скрытой строке или столбце. Например, если столбец А скрыт, можно нажать клавишу <F5> и указать адрес ячейки А1 (или любой другой ячейки в столбце А). В результате табличный курсор переместится в скрытый столбец. После этого можно выбрать соответствующую команду для отмены сокрытия столбца. Чтобы отобразить все скрытые строки или столбцы, выделите сначала весь лист Совет (например, с помощью комбинации клавиш <Ctrl+Shift+npo6en>), затем выберите команду Формат^СтрокаоОтобразить или Формат^Столбец^Отобразить. — Прим. ред. Совет ; 84 Часть I. Вводный курс
Изменение ширины столбцов и высоты строк Обычно Excel автоматически подбирает такую ширину столбцов и высоту строк, чтобы наилучшим образом отобразить введенные данные. Однако часто возникает необходимость в ручной настройке ширины столбцов или высоты строк. Например, если в одной ячейке введено много текста, а вам нужно отобразить на экране большее количество столбцов, то можно уменьшить- ширину столбца так, чтобы в таблице отображалось только начало этого текста. А быть может, вам понадобится увеличить высоту строки, в которой расположены заголовки столбцов, чтобы отделить их от других табличных данных. Если ячейка, в которой содержится числовое значение, заполнена символами "#", то ширина ячейки слишком мала, чтобы вместить это значение. Чтобы отобразить содержимое ячейки, увеличьте ширину столбца. '; В Excel предусмотрено несколько способов изменения ширины столбцов и высоты строк. Изменение ширины столбцов Ширина столбца измеряется числом символов, которые помещаются в ячейку. По умолчанию ширина столбца равна 8,43 символа. На самом деле это значение ни о чем не говорит, поскольку в большинстве шрифтов ширина символов может быть разной. Например, буква i гораздо уже, чем буква Щ. Существует несколько способов изменения ширины одного или нескольких столбцов. Прежде чем это сделать, выделите те столбцы, для которых вы хотите установить одинаковую ширину. Чтобы выделить несколько столбцов, щелкните и перетащите указатель мыши по заголовкам столбцов. Есть и другой способ: щелкните на заголовках нужных столбцов, удерживая нажатой клавишу <Ctrl>. Если вы хотите выделить все столбцы, щелкните на кнопке Выделить все, которая находится в левом верхнем углу рамки рабочего листа, либо воспользуйтесь комбинацией клавиш <Си"1+8ЫЛ+пробел> или <Ctrl+A>. После выделения столбцов выполните одно из перечисленных ниже действий. ■ Перетащите мышью правую границу одного из выделенных столбцов. ■ Выберите команду ФорматОСтолбецОШирина и введите нужное значение в поле Ширина столбца. ■ Выберите команду Формат^СтолбецОАвтоподбор ширины. Ширина выделенных столбцов измениться так, чтобы содержимое всех ячеек полностью отображалось на экране. ■ Дважды щелкните на правой границе столбца, чтобы автоматически установить его ширину в соответствии с самым длинным элементом. Чтобы изменить заданную по умолчанию ширину для всех столбцов, воспользуй- Совет тесь командой Формат^Столбец^Стандартная ширина. На экране появится диалоговое окно, в котором нужно ввести новое значение стандартной ширины \ столбца. В результате ширина всех столбцов, кроме тех, ширину которых вы не меняли вручную, изменится. После того как вы вручную установите ширину столбцов, Excel не сможет автоматически подбирать ширину этих столбцов. Глава 3. Основные операции с рабочим листом 85
Изменение высоты строк Высота строк измеряется в пунктах (стандартная единица измерения, принятая в издательском деле: 72 пункта равны 1 дюйму, или 2,54 см). Заданная по умолчанию высота строк зависит от шрифта, который используется в стиле Обычный. Программа автоматически регулирует высоту строки так, чтобы она вмещала самый крупный шрифт в строке. Поэтому, если вы увеличите размер шрифта в ячейке, скажем, до 20 пунктов, Excel сделает строку выше, чтобы был виден весь текст. Вы можете установить высоту строки самостоятельно с помощью любого из приведенных ниже методов (как и в случае со столбцами, можно выделять сразу несколько строк). ■ Перетащите мышью нижнюю границу строки. ■ Выберите команду ФорматОСтрока^Высота и введите значение (в пунктах) в поле Высота строки. ■ Дважды щелкните на нижней границе строки, чтобы автоматически установить высоту строки в соответствии с самым крупным шрифтом, находящимся в данной строке. Действие команды ФорматОСтрокаОАвтоподбор высоты аналогично. Для создания интервалов между строками гораздо предпочтительнее изменить их высоту, нежели вставлять дополнительные строки. 86 Часть I. Вводный курс
Работа с диапазонами ячеек алогом успешной и эффективной работы в Excel является умение обращаться с ячейками и диапазонами ячеек. В данной главе речь идет о различных методах работы с ячейками и диапазонами. Знание этих методов позволит вам сохранить много времени и усилий. Ячейки и диапазоны Как вы уже знаете, ячейка — это единичный адресуемый элемент рабочего листа, который может содержать числовое значение, текст или формулу. Ячейка определяется адресом, который состоит из имени столбца и номера строки. Например, D12 — это ячейка, которая находится в четвертом столбце двенадцатой строки, так как буква D соответствует четвертому столбцу. Диапазоном называется группа ячеек. Чтобы задать адрес диапазона, нужно указать адреса его левой верхней и правой нижней ячеек, разделив их двоеточием. Приведем примеры адресов диапазонов. А1 :В1 Две ячейки, расположенные в одной строке и в двух соседних столбцах С24 Этот диапазон состоит из одной ячейки А1:А100 100 ячеек столбца А A1:D4 16 ячеек, расположенные в четырех строках и четырех столбцах С1:С65536 Все ячейки одного (третьего) столбца (этот диапазон можно также указать как С:С) A6:IV6 Все ячейки одной (шестой) строки (этот диапазон можно также указать как 6:6) A1:IV65536 Все ячейки рабочего листа
Выделение диапазонов Чтобы выполнить над диапазоном ячеек рабочего листа какую-либо операцию, нужно сначала выделить этот диапазон. Например, чтобы в диапазоне ячеек выделить текст полужирным шрифтом, вы должны выбрать этот диапазон, а затем щелкнуть на кнопке Полужирный, расположенной на панели инструментов форматирования (или воспользоваться другими методами выделения текста полужирным шрифтом). При выборе диапазона цвет ячеек изменяется. Исключение составляет только активная ячейка, которая сохраняет свой обычный цвет. На рис. 4.1 показан выделенный диапазон рабочего листа. У клиентыжв 1 2_ 3_ 4_ JL б_ т_ 8_ 9_ 10 11 11 L« 14 Статус В резерве ; В резерве I Актив [Актив | Актив [В резерве [Актив В резерве [ В резерве Актив [Актив I Актив Активен и оп 100 0 12 96 76 0 65 87 85 76 123 45 184 35 120 40 33 54 0 45 54 87 123 45 22 90 3500 Нет ОДа 480 Да 3168 Нет 4104 Да ОДа 2925 Да 4698 Да 7395 Нет 9348 Нет 5535 Да 990 Да 16560 Нет .■//VcTl/EA//HcT2/(Wrl£2j«Oh./C'«T«J<i| I'.lf Рис. 4.1. При выборе диапазона его ячейки становятся выделенными. Невыделенной остается только активная ячейка Диапазон можно выбрать несколькими способами. ■ Щелкните и перетащите указатель мыши по диапазону ячеек. Если перетаскивать указатель за пределы экрана, то рабочая таблица будет автоматически прокручиваться. ■ Нажмите и удерживайте клавишу <Shift>, а затем выделите диапазон с помощью клавиш управления курсором. ■ Нажмите клавишу <F8>, а затем переместите табличный курсор с помощью клавиш управления курсором, выделяя диапазон. Чтобы вернуть клавиши управления курсором в нормальный режим, снова нажмите <F8>. ■ Введите адрес ячейки или диапазона ячеек в поле Имя, затем нажмите <Enter>. Excel выделит указанную ячейку или диапазон. ■ Выберите команду Правкао Перейти (или нажмите клавишу <F5>) и, используя клавиатуру, введите адрес диапазона в диалоговое окно Переход. После щелчка на кнопке ОК программа выделит ячейки указанного диапазона. Во время выделения диапазона Excel отображает количество выбранных строк и столбцов в поле Имя (которое находится с левой стороны в строке формул). Совет» i 88 Часть I. Вводный курс
Выделение строк и столбцов целиком Иногда необходимо выделить весь столбец или всю строку. Например, для того чтобы все ячейки столбца были выровнены по центру, нужно выделить весь столбец. Подобное выделение осуществляется практически так же, как выбор диапазонов. Существует несколько способов сделать это. ■ Чтобы выбрать только одну строку или столбец, щелкните на номере строки или на букве столбца. ■ Чтобы выбрать несколько соседних (примыкающих друг к другу) строк или столбцов, щелкните на заголовке строки или столбца и перетащите указатель мыши, выделяя остальные строки или столбцы. ■ Чтобы выбрать несколько несмежных строк и столбцов, нажмите клавишу <Ctrl> и, удерживая ее, щелкните на заголовках нужных строк или столбцов. ■ Чтобы выбрать весь текущий столбец, нажмите <С1г1+пробел>; будет выделен столбец, содержащий активную ячейку (или столбцы, содержащие выделенный диапазон ячеек). ■ Чтобы выбрать всю текущую строку, нажмите <8Ыг1+пробел>; будет выделена строка, содержащая активную ячейку (или строки, содержащие выделенные ячейки). ■ Чтобы выбрать все строки, щелкните на кнопке Выбрать все, которая расположена на пересечении заголовков строк и столбцов, или нажмите <Ctrl+Shift+npo6efl>. Выбор несмежных диапазонов В большинстве случаев выбираемые вами диапазоны будут смежными, или непрерывными, т.е. они будут представлять собой сплошные прямоугольники ячеек. Однако Excel позволяет также работать с несмежными диапазонами. Такой диапазон состоит из двух или более диапазонов (либо одиночных ячеек), которые не обязательно находятся рядом друг с другом. Например, если требуется одинаково отформатировать ячейки в различных областях рабочей таблицы, то один из способов — выбрать несмежный диапазон. Когда вы выберете все нужные ячейки и диапазоны, указанные атрибуты форматирования будут применены ко всем выделенным ячейкам. На рис. 4.2 показан выделенный несмежный диапазон рабочей таблицы. шшш ш А В I Учетнь. Фамилия 101-013 Арнольдов 101-234 Голубков 101 904 Барабупя 10 11 12 13 С Имя Тарас Леня Сэм D 102 954 Симеоненко Жорж 103-212 Рыбак 103-564 Буденков 104-543 Графченко 104-623 Кара-Мурза 104-952 Сидоров 104-987 Баловников 105-383 Чапенко 105-995 Арафачук Карп Клим .Дракул Лев Петр Сидор Киря Ясир Давлет 14 106-354 Грозный JAJ - OKI r.-ij , Отчество Бупьбович Мавродиевич Джонович Жорикович Карпович Ворошилович Дракупович Филиппович Иванович Фортунатова Киряевич Сирович Босаевич Е Город Симферополь Москва Киев Область |Крымскаа,: Житомир Зареченск Измаил Гробки Мурза-Караваевск Славск Судьбинск Нарзанск Кобеляки Грозный :-"""-и:.— Московская Киевская Житомирская Приречная Одесская Трансильванская Замурзаевская Великославская Бапуевская Ессентукрвавя Полтавская ___ G Адрес уп Бывш Сове пр.Красныхто|| уп Прорезная" упЖ.Санд.21.', уп Щукина,13.1 уп.Воровского| уп Поминальн* уп Вайваевск уп Русская.23. Я ;прКривой Объ пр.Наливайко. .пр. Технарей.9 уп .И Грозного. ЧП Г1лг\ЛП/чг,|.< -i£j Рис. 4.2. В Excel можно выбирать несмежные диапазоны Глава 4. Работа с диапазонами ячеек 89
Выбрать несмежный диапазон можно несколькими способами. ■ Для выделения отдельных ячеек или диапазонов нажмите клавишу <Ctrl> и, удерживая ее, щелкните на нужных ячейках. ■ Выделите диапазон с помощью клавиатуры, как было описано выше (используя клавиши <F8> или <Shift>). Затем нажмите клавиши <Shift+F8>, чтобы выбрать еще один диапазон, не отменяя при этом выбора предыдущего. ■ Воспользуйтесь командой Правка^Перейти и вручную введите адрес диапазона в диалоговое окно Переход. Различные диапазоны отделите друг от друга точкой с запятой. После щелчка на кнопке OK Excel выделит ячейки указанных диапазонов. Несмежный диапазон по своим свойствам и способам работы с ним отличается от смежного диапазона. Так, для перемещения или копирования несмежного диапазона нельзя использовать метод "перетащить и опустить". Выделение диапазонов на разных листах До сих пор речь шла о диапазонах, расположенных на одном рабочем листе. Но, как вы знаете, рабочая книга Excel может содержать несколько рабочих листов. Поэтому и диапазоны могут простираться через несколько рабочих листов. Их можно представить себе в виде трехмерных диапазонов. Допустим, у вас есть рабочая книга, предназначенная для учета расходов вашего отделения. Обычно для каждого отдела используется свой рабочий лист. Такой подход позволяет упростить организацию данных: чтобы просмотреть информацию по конкретному отделу, достаточно щелкнуть на нужном ярлычке листа. На рис. 4.3 показана рабочая книга, состоящая из нескольких листов. Листы этой рабочей книги не отформатированы. Чтобы применить к ним, например, числовые форматы, можно отформатировать значения в каждой рабочей таблице по отдельности. Но этот метод неэффективен. Гораздо лучше в этом случае выбрать многолистовой диапазон (т.е. диапазон, состоящий из отдельных диапазонов, расположенных на разных рабочих листах) и отформатировать ячейки на всех листах сразу. На ко! диске Рис. 4.3. Пример рабочей книги с несколькими рабочими листами ШЬь. Эту рабочую книгу можно найти на прилагаемом компакт-диске. ОМТШТ- 90 Часть I. Вводный курс
Опишем подробно процесс одновременного форматирования ячеек из нескольких листов на примере рабочей книги, изображенной на рис. 4.3. 1. Активизируйте рабочий лист Итог. 2. Выделите диапазон, содержащий значения, — В2:Е6. 3. Нажмите клавишу <Shift> и щелкните на ярлычке листа, который называется Доход. В результате будут выбраны все листы между активным рабочим листом Итог и тем, на ярлычке которого вы щелкнули, т.е. Доход. В сущности, вы получили трехмерный диапазон ячеек (рис. 4.4). Обратите внимание, что в строке заголовка появилась надпись [Группа]. Это напоминание о том, что вы выбрали группу листов и сейчас находитесь в режиме редактирования группы. 8 * £ одовой бюджет ]Квар'эо 1 Квэетал2 Зарплата 286 500,00 266 500 ДО Команд ироючиыа 1оставки Услуги Всего 40 500,00 42 52500 59 500,Х 62 47SJD0 144 000 СО 144 00000 530500.00 535500.00 ' » »\Итотп>С6ит^Угрмп<т*^(Проиможство /" ■.- Квартал 3 286 600 ДО 44 651.25 Б5 598,75 144 000,00 540 750 ДО Квартал 4 - * 290 500.00 46 883 81 68 878,89 144 000,00 550 262,50 Ы -IQlxl бсего 1 150 О00Д) 174 560.06 256 452,44 576000 ВО 2 157 012.50 J s-ii ИГ Рис. 4.4. Excel в режиме группового редактирования 4. Щелкните на кнопке Формат с разделителями, которая расположена на панели Форматирование. В результате все выделенные ячейки будут отформатированы в соответствии с выбранным стилем. 5. Щелкните на любом другом ярлычке листа: будет выбран соответствующий лист и отменен групповой режим редактирования. При этом надпись [Группа] исчезнет из строки заголовка. Если вы просмотрите листы, то увидите, что форматирование с разделителем групп разрядов применено ко всем значениям, содержащимся на выбранных листах. Когда листы сгруппированы, любые изменения, сделанные на одном листе, автоматически отобразятся во всех остальных сгруппированных листах. Это относится к вводу заголовков, данных, формул, форматированию и т.п. Совет* Таким образом, выбор многолистового диапазона — это простой процесс, состоящий из двух этапов: выделения диапазона на одном листе и последующего выбора рабочих листов для включения их в многолистовой диапазон. Нажмите клавишу <Shift>, чтобы выбрать группу соседних рабочих листов, или нажмите и удерживайте клавишу <Ctrl>, чтобы выбрать рабочие листы по отдельности. Если все рабочие листы в книге имеют разную структуру, пропустите те из них, которые не нужно форматировать. В любом случае ярлычки выбранных листов изменят свой цвет (станут светлыми), а в строке заголовка появится надпись [Группа]. Совет Чтобы выбрать все рабочие листы, щелкните правой кнопкой мыши на любом ярлычке листа и в появившемся контекстном меню выберите команду Выделить все листы. Глава 4. Работа с диапазонами ячеек 91
Специальные типы выделения Выше уже упоминалась команда Правка^Перейти (и ее эквивалент— клавиша <F5>) как способ выделения ячейки или диапазона либо перехода к ним. Excel предоставляет также возможность выбора только "особых" ячеек в рабочей книге или в вьщеленном диапазоне. Для этого выберите команду ПравкаоПерейти; появится диалоговое окно Переход. В нем щелкните на кнопке Выделить; откроется диалоговое окно Выделение группы ячеек (рис. 4.5). Пр»»»*»^» -октанты «•:,-.*. 15 2«*сг F? даинлат fs <>2у£ю Г njvrb* ячейки f" твкушу«абл*с*ь *"* tWVJUtijjeCO» ** *1 Г отч»««гостаог«и 0T(I«l4*i ПО (rOflQfcM влияющие ячейки Г" Чмо*«* йчоию» <? -* <" *рс С г»спаси<*о*чвйрсу *~ геикфвмдимдок-яйо? ^УОЖИЛЛфориДТЫ <" орс«*ргв «иных г с », { ОТ | Отмене | Яис. 4.5. Диалоговое окно Выделение группы ячеек позволяет выбирать особые типы ячеек После того как вы выберете в этом диалоговом окне нужную опцию, Excel выделит соответствующее подмножество ячеек в диапазоне, выбранном в настоящий момент. Как правило, в результате выделяется несмежный диапазон. Если же не будет выбрано ни одной ячейки, Excel сообщит вам об этом. Если при вызове диалогового окна Выделение группы ячеек выбрана только одна Совет . ячейка, Excel будет выделять ячейки в активной области рабочего листа. В табл. 4.1 приведено описание опций (переключателей) диалогового окна Выделение группы ячеек. Таблица 4.1. Опции специальных типов выделения Опция Назначение Примечания Константы Формулы Пустые ячейки Текущая область Текущий массив Объекты Отличия по строкам Выделяет только те ячейки, которые содержат примечания (о примечаниях речь идет далее в главе) Выделяет все непустые ячейки, не содержащие формул. Эта опция полезна в случае, если создана некоторая модель и нужно очистить все ячейки с исходными данными, чтобы ввести в них новые значения. При этом формулы остаются без изменений Выделяет ячейки, содержащие формулы. Можно еще более сузить задачу, выбрав тип результата, который дает формула: число, текст, логическое значение (ИСТИНА или ЛОЖЬ) либо ошибка Выделяет пустые ячейки Выделяет прямоугольный диапазон ячеек вокруг активной ячейки. Граница этого диапазона определяется окружающими пустыми строками и столбцами Выбирает массив целиком Выбирает все графические объекты рабочего листа Анализирует выбранное множество ячеек и выделяет те, которые отличаются от дру- гих в каждой строке 92 Часть I. Вводный курс
Окончание табл. 4.1 Опция Назначение Отличия по столбцам Влияющие ячейки Зависимые ячейки Последняя ячейка Только видимые ячейки Условные форматы Проверка данных Анализирует выбранное множество ячеек и выбирает те, которые отличаются от других в каждом столбце Выделяет ячейки, на которые есть ссылки в формулах, расположенных в активной или в выбранных ячейках. Можно выбрать или непосредственно влияющие ячейки, или влияющие ячейки любого уровня Выделяет ячейки с формулами, в которых есть ссылки на активную ячейку или выбранные ячейки. Можно выбрать или непосредственно зависимые ячейки, или зависимые ячейки любого уровня Выделяет нижнюю правую ячейку таблицы, которая содержит данные или атрибуты форматирования Выделяет только видимые ячейки из выбранного множества. Эта опция полезна для работы со структурами или со списком, к которому применен автофильтр Выделяет ячейки, к которым применено условное форматирование (с помощью команды ФорматОУсловное форматирование) Выделяет ячейки, для которых проводится проверка допустимости данных (заданная с помощью команды Данные^Проверка). При выборе переключателя Все будут выделены все такие ячейки. При выборе опции Такие же выделяются только те ячейки, для которых установлены те же правила проверки допустимости данных, что и для активной ячейки При выборе в диалоговом окне Выделение группы ячеек некоторых опций пре- Совет доставляется возможность уточнить сделанный выбор. Например, при выборе опции Константы доступны также флажки, расположенные под переключателем ■ \ Формулы. Аналогично, дополнительные опции, располагающиеся под переключателями Зависимые ячейки и Проверка данных, применимы также при выборе переключателей Влияющие ячейки и Условные форматы соответственно. Поиск и выделение ячеек Еще одним способом выделения ячеек является команда Правкам Найти (или сочетание клавиш <Ctrl+F>). После ее выбора появится диалоговое окно Найти и заменить, показанное на приведенном ниже рисунке. Используя это окно, можно выделять ячейки по их содержимому. На рисунке также показаны дополнительные опции окна, которые появляются после щелчка на кнопке Параметры. JSzi Hmh& 1-.СТШ [ Форяат не *ада* ] К'«ж:;;?- Ндячъ: |н«тсте Jj Г ^«тммт*. OWwcrp - f" Лейка oaflntOH ffc«BuTp»tWTW [построит* jj Отпасть поиска, [фарнулы j Ь^ЙТи» В поле Найти введите искомый текст или значение, затем щелкните на кнопке Найти все. В результате внизу диалогового окна появятся ссылки на ячейки, которые удовлетворяют критерию поиска. Например, на рисунке, приведенном ниже, показан результат поиска ячеек, в которых содержится текст Кротов. Щелкните на одном из элементов списка, чтобы Глава 4. Работа с диапазонами ячеек 93
выделить соответствующую ячейку. Чтобы выделить все ячейки, которые находятся в списке, выделите одну из них, а затем нажмите <Ctrl+A>. 3 1 Фередгме***?1 J „...ff-ffffiL, »j !~~ 1>ггымть регистр Цайтивсе ] | Найтиаадт | Закрыть 1 Пист КГИЕНТЫА5 БД КЛИЕНТЫЛ5 БД КЛИЕНТЫНЛ ВД КЛИЕНТЫ.]» ВД КЛИЕКТЫЛЗ 6Д КЛИ£НТЬО05 БД KOCHTbJAS БД КЛИЕНТЪии БД клиентьиоз БД КЛИ£НТЫЛЗ БД КлИЕНТЫИЛ БД КТИСНТЫМЛ БД КЛ*НТЫА5 ВД КГ*«НТЫЛ5 БД Обратите внимание: в окно рабочей книги можно переходить, не закрывая диалогового окна Найти и заменить. Копирование и перемещение диапазонов Копирование и перемещение содержимого ячейки (ячеек) — очень распространенная операция в программах электронных таблиц. Существует несколько типов этой операции. ■ Копирование содержимого ячейки в другую ячейку. ■ Копирование содержимого ячейки в диапазон ячеек. При этом содержимое исходной ячейки копируется в каждую ячейку соответствующего диапазона. ■ Копирование содержимого диапазона в другой диапазон. При этом оба диапазона должны иметь одинаковые размеры. ■ Перемещение содержимого диапазона в другой диапазон. Между копированием и перемещением существует различие: при копировании Совет исходный диапазон не изменяется, а при перемещении — удаляется. При копировании ячейки обычно происходит копирование ее содержимого, примененных к ней атрибутов форматирования (включая условное форматирование и проверку вводимых значений) и комментария (если он имеется). При копировании ячейки, содержащей формулу, ссылки на ячейки в скопированных формулах меняются автоматически в соответствии с новым положением формулы. Процедура копирования, как и перемещения, состоит из двух этапов (хотя, как вы узнаете чуть позже, существуют способы быстрого выполнения этих операций). 94 Часть I. Вводный курс
1. Выберите ячейку или диапазон для копирования (исходный диапазон) и скопируйте его в буфер обмена. При перемещении исходный диапазон вырезается (а не копируется) и также помещается в буфер обмена. 2. Переместите табличный курсор в диапазон, в который будет копироваться или перемещаться информация (диапазон назначения), и вставьте в него содержимое буфера обмена. Внимание! Вставляя информацию, Excel затирает (без всякого предупреждения) содержимое всех ячеек, входящих в диапазон назначения. И если вы обнаружите, что в результате вставки стерты ячейки с важной информацией, то сразу же выполните команду Правка^Отменить вставку или используйте комбинацию клавиш <Ctrl+Z>. Поскольку операции копирования и перемещения используется очень часто, в Excel предусмотрено несколько методов их выполнения. Каждый из них подробно описан ниже. Операции копирования и перемещения очень похожи, а потому далее рассматривается только операция копирования с указанием различий между ними. О буфере обмена Уже несколько раз на протяжении этой главы упоминался буфер обмена Windows. Буфер обмена — это область оперативной памяти, где хранится информация, которая была вырезана или скопирована из программы, работающей в операционной системе Windows. В буфере обмена могут храниться данные различных форматов. Поскольку все это происходит под управлением Windows, информация из буфера обмена может быть вставлена в любые другие приложения Windows, независимо от ее источника. Office предлагает свой буфер обмена, с которым могут работать только программы этого пакета. Когда вы вырезаете или копируете данные из какой-либо программы Office (например, Excel), эта программа помещает вырезанные (скопированные) данные как в буфер обмена Windows, так и в буфер обмена Office. Но программы Office по-разному работают с информацией, хранящейся в этих буферах обмена. Если после первого скопированного фрагмента вы копируете (или вырезаете) еще один фрагмент данных, то последний в буфере обмена Windows замещает предыдущие данные, а в буфере обмена Office он добавляется к уже содержащимся здесь фрагментам. Таким образом, в буфере обмена Office может одновременно храниться несколько фрагментов данных, которые затем могут быть вставлены в документы программ Office по отдельности или группой. О том, как работать с буфером обмена Office, речь идет далее в главе. Копирование с помощью панели инструментов На стандартной панели инструментов есть три кнопки, которые используются при выполнении операций копирования и перемещения: Копировать, Вырезать и Вставить. Если вы щелкнете на кнопке Копировать, то содержимое выбранной ячейки или диапазона будет перенесено в буфер обмена. После этого активизируйте ячейку, в которую нужно скопировать информацию, и щелкните на кнопке Вставить. Если вы несколько раз щелкнете на кнопке Копировать до щелчка на кнопке Совет Вставить, Excel автоматически откроет в области задач панель буфера обмена Office. /Л При копировании диапазона перед щелчком на кнопке Вставить нет необходимости выбирать диапазон целиком, достаточно активизировать только его левую верхнюю ячейку. Глава 4. Работа с диапазонами ячеек 95
Если вы хотите заполнить диапазон скопированными значениями, Excel использует ряд методов для определения того, что вы хотите сделать. ■ Если вы выбрали одну ячейку в качестве диапазона назначения, Excel вставит скопированные значения в диапазон ячеек, совпадающий по размерам с исходным. ■ Если выделенный диапазон назначения меньше исходного, Excel все равно вставит скопированные значения в диапазон ячеек, совпадающий по размерам с исходным. ■ Если диапазон назначения совпадает с исходным, он будет весь заполнен скопированными значениями. Копирование с помощью команд меню При выполнении копирования и вставки можно пользоваться командами меню. ■ Правка^Копировать. Копирует содержимое выбранных ячеек в буфер обмена Windows и буфер обмена Office. (При перемещении используется команда Правка^ Вырезать.) ■ Правка^ Вставить. Вставляет содержимое буфера обмена в выбранную ячейку или диапазон. ■ Щелкните правой кнопкой мыши на выделенном исходном диапазоне и в контекстном меню выберите команду Копировать (или Вырезать). ■ Щелкните правой кнопкой мыши на выделенном диапазоне назначения и в контекстном меню выберите команду Вставить. Копирование с помощью клавиатуры У операций копирования, вырезания и вставки существуют клавиатурные эквиваленты. ■ <Ctrl+C>. Копирует выбранные ячейки в буферы обмена Windows и Office. ■ <CtrI+X>. Вырезает выбранные ячейки в буферы обмена Windows и Office. ■ <Ctrl+V>. Вставляет содержимое.буфера обмена в выбранную ячейку или диапазон. Указанные клавиатурные эквиваленты используются для этих же целей в боль- Совет шинстве других приложений Windows. . - S У Копирование с помощью операции перетаскивания В Excel копировать и перемещать содержимое ячейки или диапазона можно путем перетаскивания. При этом буферы обмена Windows и Office не используются, т.е. в них не помещаются на хранение данные, которые копируются (перемещаются). Метод "перетащить и опустить" для копирования и перемещения является самым Совет безопасным, поскольку в этом случае Excel предупреждает, что в диапазоне назначения могут быть потеряны данные (если он не пуст). 96 Часть I. Вводный курс
Выберите ячейку (или диапазон), которую нужно скопировать, а затем переместите указатель мыши к одной из ее (или его) четырех границ. Когда указатель превратится в стрелку, нажмите юшвишу <Ctrl>. К указателю добавится маленький знак "плюс". После этого просто перетащите выбранные ячейки на новое место, продолжая удерживать нажатой клавишу <Ctrl>. Исходное множество ячеек останется на прежнем месте, а когда вы отпустите кнопку мыши, Excel создаст новую копию данных. Для перемещения данных повторите все описанные действия, но не нажимайте клавишу <Ctrl>. Если при помещении на границу ячейки или диапазона указатель мыши не превратился в стрелку, то вам нужно изменить некоторые параметры. Выберите команду Сервис^Параметры, щелкните на корешке вкладки Правка и установите флажок Перетаскивание ячеек. Использование смарт-тегов для добавления и вставки После выполнения с помощью мыши некоторых операций над ячейками или диапазонами, в частности добавления, вставки и автозаполнения, на экране появляются смарт-теги. Смарт-тег — небольшой квадратик, после щелчка на котором отображается список доступных опций. Например, если скопировать диапазон ячеек, а затем вставить его в другом месте рабочего листа, в правом нижнем углу диапазона появится смарт-тег. После щелчка на нем отображается список доступных параметров, показанный на рисунке. С помощью этих параметров можно определить способ вставки данных. В этом примере использование смарт-тегов является альтернативой некоторым параметрам диалогового окна Специальная вставка. А 1 Месяц 2 ^Январь 3 'Февраль 4 JMapi _5_|Апрель '7 1Июнь 8~;Июль 9 ;Август 10 'Сентябрь 11 (Октябрь 12 Щоябрь 13 IfljKiKpb 14 вс е Месяц Январь Февраль Март Апрель Май Июнь Июль Август Сентябрь Октябрь Ноябрь Дсгабрь I Г •ЛП-crt а'ГИСТ* _/«*«/ t'* ] Дохранить форматы оригинала \ С Исоольвоеать форматы конечных Значения и форматы чисел г Сохранить ширину столбцов сриг-нале С Только форматы Ссылки на ячейки Некоторые пользователи считают смарт-теги очень полезными, в то время как других они раздражают. (Меня можно отнести ко второй группе.) Чтобы отключить смарт-теги, выполните команду Сервисе Параметры, затем перейдите во вкладку Правка. Снимите флажки Отображать меню параметров вставки и Отображать меню параметров добавления. Копирование в соседние ячейки Довольно часто, особенно при работе с формулами, нужно скопировать содержимое одной ячейки в соседнюю ячейку или диапазон. Предположим, при составлении бюджета вы создали формулу суммирования значений в столбце В. Эту же формулу можно использовать Глава 4. Работа с диапазонами ячеек 97
для суммирования значений ячеек других столбцов. Вместо того чтобы снова вводить ту же самую формулу, ее можно скопировать в соседние ячейки. Для копирования в соседние ячейки в Excel предусмотрено несколько дополнительных команд в меню Правка. Чтобы воспользоваться этими командами, выберите ячейку, содержимое которой будет копироваться, а также ячейки, в которые будет копироваться информация, т.е. исходную ячейку и ячейки назначения (рис. 4.6). После этого выполните одну из приведенных ниже команд копирования. ■ ПравкаОЗаполнитьОВниз (или <Ctrl+D>). Копирует содержимое ячейки в выбранный диапазон снизу. ■ Правка^Заполнить^Вправо (или <Ctrl+R>). Копирует содержимое ячейки в выбранный диапазон справа. ■ ПравкаОЗаполнить<=>Вверх. Копирует содержимое ячейки в выбранный диапазон сверху. ■ ПравкаОЗаполнитьОВлево. Копирует содержимое ячейки в выбранный диапазон слева. ■ Правка<=>Заполнить<=>Прогрессия. Отображает диалоговое окно Прогрессия. Никакая из этих команд не копирует информацию в буфер обмена Windows или буфер обмена Office. <*" лордами «Фсделвиившаге ^ЕГ~ J f д*ты - С нет ГЫфяплчт >*г^*ч; Г" 1 OK J Опмнв | Рис. 4.6. Чтобы выполнить копирование в соседние ячейки, сначала выберите исходную ячейку и ячейки назначения Есть еще один способ копирования в соседние ячейки — перетаскивание марке- Совет ра заполнения выбранных ячеек. Excel скопирует содержимое исходных ячеек в те ячейки, которые будут выделены при перетаскивании. Это пример использо- Л вания функции Автозаполнение. Для получения доступа к дополнительным опциям функции Автозаполнение перетащите маркер заполнения с помощью правой кнопки мыши. Эта операция не копирует информацию в буфер обмена. Копирование диапазона в другие листы Описанные выше процедуры копирования можно использовать также для копирования содержимого ячейки или диапазона в другой рабочий лист, даже если он находится в другой рабочей книге. Существует единственное дополнение: прежде чем выбирать диапазон назначения, вы должны активизировать другой рабочий лист. В Excel предусмотрен также более быстрый способ копирования ячейки или диапазона и вставки информации в другие рабочие листы той же рабочей книги. Сначала выберите диапазон для копирования. Затем нажмите клавишу <Ctrl> и, удерживая ее, щелкните на ярлычках тех рабочих листов, в которые нужно скопировать информацию (при этом в строке заголовка рабочей книги появится надпись [Группа]). Затем выберите команду ПравкаоЗаполнитьоПо листам; откроется диалоговое окно Заполнить по листам, в котором вы должны выбрать опцию копирования (полностью, только содержимое или только форматы). Выберите нужный переключатель и щелкните на кнопке ОК. В результате выделенный диапазон будет скопирован в выбранные вами рабочие листы (его адрес во всех рабочих листах будет одинаковым). 98 Часть I. Вводный курс
Внимание! Пользуясь этой командой, будьте осторожны, так как Excel не станет предупреждать вас в том случае, если ячейки диапазона назначения окажутся заполненными. В результате копирования или перемещения вы можете мгновенно потерять большой объем ценной информации, даже не подозревая об этом. Использование буфера обмена Office Как упоминалось ранее, когда вы вырезаете или копируете данные из какой-либо программы Office (например, Excel), эта программа помещает вырезанные (скопированные) данные как в буфер обмена Windows, так и в буфер обмена Office. Но если после первого скопированного фрагмента вы копируете (или вырезаете) еще один фрагмент данных, то последний в буфере обмена Windows замещает предыдущие данные, а в буфере обмена Office — добавляется к уже содержащимся здесь фрагментам. Таким образом, в буфере обмена Office могут одновременно храниться несколько фрагментов данных, которые затем могут быть вставлены в документы программ Office или каждый в отдельности, или все вместе. Чтобы использовать буфер обмена Office, его сначала нужно открыть. Для этого выполните команду Вид^Область задач. Затем в области задач откройте панель Буфер обмена. Чтобы в области задач панель буфера обмена открывалась автоматически, Совет' щелкните на кнопке Параметры внизу области задач и выберите опцию Автома- тическое отображение буфера обмена Office. У Открыв панель Буфер обмена, скопируйте любым описанным в этой главе способом первую ячейку или диапазон, которые необходимо поместить в буфер обмена Office. Повторите эти действия для следующего выделенного диапазона ячеек, предназначенного для помещения в буфер обмена. По мере копирования диапазонов ячеек панель Буфер обмена будет отображать их краткое описание и общее количество скопированных фрагментов (рис. 4.7). Буфер обмена может содержать до 24 фрагментов. ;J ^айп £Ьхвка £мд 8ста.ака Фордот Сервис Цанныв Qkmo Справка Anal От • 10 • Ж * J Ш С М зЗ ?) "/• 01J •& »'! £, 5уф*р обмена Экэ 24) ** X ^Встмитьвв» ^С-вститьвев выберите вставляемый объект ~3 Йр Годовой бюд-ет EQ Меся. Январь Февраль Март Апрель Май Июнь Июль Август Октябрь Октябрь Ноябрь Декабрь ^Й S641 3524 8205 9204 7651 545687216682 Рис. 4.7. Панель Буфер обмена показывает все скопированные фрагменты данных Глава 4. Работа с диапазонами ячеек 99
Когда вы будете готовы к вставке скопированных данных, выделите ячейку, куда эти данные будут вставлены. Для вставки отдельного фрагмента просто щелкните на его пиктограмме на панели Буфер обмена. Для одновременной вставки всех скопированных элементов щелкните на кнопке Вставить все панели Буфер обмена. Чтобы очистить содержимое буфера обмена Office, щелкните на кнопке Очистить все на панели Буфер обмена. Приведем еще несколько замечаний о работе буферов обмена Office и Windows. ■ Когда вы щелкаете на кнопке Вставить стандартной панели инструментов, используете команду ПравкаоВставить, нажимаете клавиши <Ctrl+V> или выбираете команду Вставить из контекстного меню ячейки, Excel вставляет содержимое буфера обмена Windows. ■ Последний фрагмент данных, который вы вырезали или скопировали, появляется как в буфере обмена Windows, так и в буфере обмена Office. ■ При вставке какого-либо элемента из буфера обмена Office он замещает содержимое буфера обмена Windows. После щелчка на кнопке Вставить все панели Буфер обмена все вставляемые элементы сначала помещаются в буфер обмена Windows как единое целое, а затем вставляются из него в рабочий лист. ■ Удаление содержимого буфера обмена Office приводит к аналогичным действиям в буфере обмена Windows. Специальная вставка Не всегда требуется полное копирование исходного диапазона в диапазон назначения. Например, при копировании ячеек, содержащих формулы, часто требуется скопировать вычисленные значения, а не сами формулы. Не менее часто выполняемой операцией является перенос только форматов данных с одного диапазона на другой без копирования или перемещения содержимого ячеек. Для выполнения подобных операций используется команда ПравкаоСпециальная вставка — универсальный вариант команды ПравкаоВставить. Чтобы эта команда стала доступной, скопируйте содержимое ячейки или диапазона в буфер обмена (команда ПравкаОВырезать для этого случая не подходит). Затем активизируйте ячейку, в которую будет вставляться информация, и выберите команду ПравкаоСпециальная вставка. На экране появится одноименное диалоговое окно, изображенное на рис. 4.8. В этом окне расположено несколько переключателей, перечень которых с кратким описанием приведен ниже. Чтобы команда Специальная вставка была доступной, необходимо скопировать Совет ячейку или диапазон. Если же данные вырезаны (с помощью команды Правкам Вырезать), то команда Специальная вставка будет недоступной. ■ Все. Выбор этой опции эквивалентен использованию команды ПравкаОВставить. При этом из буфера обмена Windows копируется содержимое ячейки, форматы и параметры функции проверки допустимости данных. ■ Формулы. Копируются только формулы и значения (без атрибутов форматирования), содержащиеся в исходном диапазоне. ■ Значения. Эта опция позволяет скопировать результаты расчетов по формулам, причем диапазоном назначения может быть как новый диапазон, так и исходный. В последнем случае первоначальные формулы будут заменены полученными значениями. ■ Форматы. Копируются только атрибуты форматирования ячеек. 100 Часть I. Вводный курс
Примечания. Копируются только примечания к ячейкам. Значения и атрибуты форматирования не копируются. Условия на значения. Копируются правила проверки данных. Без рамки. Копируется все, за исключением рамок вокруг ячеек, которые есть в исходном диапазоне. Ширины столбцов. Копируется информация о ширине столбцов из одного диапазона ячеек в другой. Формулы и форматы чисел. Копируются все формулы и форматы чисел, но не значения. Значения и форматы чисел. Копируются текущие числовые значения и форматы чисел, но не формулы. . *~ форму*-' Г аначеиия (~ форматы <* примечания Тает 1 PW*«v Г" пропускать пустые !меЙки J С 2Ш *~ щчзимы етолбш» С фэриуды и ф&р*«аты чи«я *"" энвчеищ и ферматы чисел Г тр^ратон*»»*^ <Х j Отмен* j Рис. 4.8. Диалоговое окно Специальная вставка Выполнение вычислений без использования формул Переключатели из группы Операция диалогового окна Специальная вставка позволяют выполнять арифметические операции. Например, можно скопировать один диапазон в другой и выбрать операцию умножить. Excel перемножит соответствующие значения исходного диапазона и диапазона назначения и полученными результатами заменит прежние значения диапазона назначения. Пропуск пустых ячеек при вставке Опция пропускать пустые ячейки диалогового окна Специальная вставка не позволяет программе стирать содержимое ячеек в диапазоне назначения, на которые копируются пустые ячейки исходного диапазона. Эта опция очень полезна при копировании диапазона в другую область, так как вы вряд ли захотите, чтобы из-за наличия в копируемом диапазоне пустых ячеек стирались существующие данные. Транспонирование диапазона Опция транспонировать диалогового окна Специальная вставка меняет ориентацию копируемого диапазона. Строки становятся столбцами, а столбцы — строками. Любые формулы в копируемом диапазоне изменяются так, чтобы при транспонировании они давали правильные результаты вычислений. Заметьте, что эту опцию можно использовать вместе с другими опциями диалогового окна Специальная вставка. На рис. 4.9 показан пример горизонтального диапазона, который был транспонирован в вертикальный. Если в диалоговом окне Специальная вставка вы щелкнете на кнопке Вставить связь, то между исходным диапазоном и диапазоном назначения установится связь. Это значит, что любые изменения в исходном диапазоне будут автоматически отображаться в диапазоне назначения. "; Глава 4. Работа с диапазонами ячеек 101
>ТЯРКвИ f А В 2 Э й 6 е 7 в 9 1С 11 " * Январь Февраль Март Январь Февраль *1арт Алрель Май Июнь » *\rWri\nH<T2ilWrS/ 0 Апрель Е f Май Июнь 1-1 .JEJxj н 3 "! 1 J jjr| Рис. 4.9. Транспонирование горизонтального диапазона в вертикальный Поименованные ячейки и диапазоны Наверное, вы уже заметили, что иметь дело с загадочными адресами ячеек и диапазонов иногда очень утомительно (особенно это касается формул, о которых речь пойдет в главе 8). К счастью, Excel позволяет присваивать ячейкам и диапазонам содержательные имена. Например, ячейку можно назвать Процентная_Ставка, а диапазон — Объем_продаж_за_ июль. Использование подобных имен (по сравнению с адресами ячеек или диапазонов) дает ряд преимуществ. ■ Содержательное имя диапазона (например, Совокупный_Доход) запомнить намного легче, чем адрес ячейки (например, АС21). ■ При вводе адресов ячеек и диапазонов легче ошибиться, чем при вводе имен. ■ Можно быстро переместиться к областям рабочего листа, в которых находятся поименованные ячейки или диапазоны. Для этого нужно воспользоваться полем Имя, которое находится с левой стороны строки формул. Необходимо щелкнуть на кнопке раскрытия списка и выбрать нужное имя из списка или воспользоваться командой Правка ^Перейти (либо нажать клавишу <F5>) и указать имя диапазона. ■ При выборе имени ячейки или диапазона оно появляется в поле Имя. ■ Упрощается процесс создания формул. Имя ячейки или диапазона можно вставить е формулу, воспользовавшись командой ВставкаОИмяОВставить или выбрав соответствующее имя в поле Имя. ■ Имена позволяют сделать формулы более понятными и простыми в использовании. Согласитесь, что формула =Доход-Налоги намного понятнее, чем =D20-D40. Создание имен Программа Excel предлагает несколько способов создания имен ячеек и диапазонов. Но, прежде чем описывать эти способы, необходимо рассмотреть правила выбора имен. ■ В именах не должно быть пробелов. Для лучшего восприятия имени можете воспользоваться символом подчеркивания, например: ГодовоЙ_Доход. ■ Можно использовать любые комбинации букв и цифр, но имя не должно начинаться с цифры (например, 3-йКвартал) или быть похожим на адрес ячейки (например, Q3). ■ Специальные символы и символы пунктуации, за исключением подчеркивания и точки, использовать не разрешается. /172 Часть I. Вводный курс
■ Имена должны содержать не больше 255 символов. Но старайтесь создавать как можно более короткие имена, которые вместе с тем должны быть содержательными, понятными и запоминающимися. В Excel есть несколько имен для внутреннего употребления. И хотя вы можете создать имена, замещающие внутренние имена Excel, лучше этого не делать. Советуем не рисковать и избегать таких имен, как Область_печати, Заголовки_печати, Область_консолидации и Имя_листа. Чтобы создать имя для ячейки или диапазона, сначала выделите эту ячейку или диапазон. Затем выберите команду ВставкаОИмяОПрисвоить или воспользуйтесь комбинацией клавиш <Ctrl+F3>. В результате Excel отобразит диалоговое окно Присвоение имени (рис. 4.10). в* г формуле |-п~Нч: -» й J *1 1 ос | 3*ф* ТЬ | .. Добавить J и Рис. 4.10. Создание имен диапазонов с помощью диалогового окна Присвоение имени Введите имя в поле ввода Имя или воспользуйтесь именем, которое предложит программа (если, конечно, она его предложит). В текстовом поле Формула появится адрес активной или выбранной ячейки (либо выделенного диапазона). Убедитесь в том, что это правильный адрес, а затем щелкните на кнопке ОК, чтобы добавить новое имя и закрыть диалоговое окно. Если же вы хотите продолжить добавление имен в рабочий лист, щелкните на кнопке Добавить. В этом случае вам придется ввести адрес в поле Формула (не забудьте перед адресом поставить знак равенства) или указать мышью на эту ячейку в рабочем листе. Все введенные вами имена появятся в списке этого диалогового окна. Существует быстрый способ создания имени с помощью поля Имя. Выделите ячей- Совет ку (или диапазон), которой нужно присвоить имя, а затем щелкните на этом поле и введите имя. Нажмите клавишу <Enter>, и имя будет создано. Если такое имя уже существует, вы не сможете ввести его еще раз для другой ячейки (или диапазона). Поле Имя — это раскрывающийся список, в котором содержатся все имена, использующиеся в данной рабочей книге. Чтобы выбрать ячейку (или диапазон), у которой есть имя, щелкните на поле Имя и выберите из списка нужное имя. В результате Excel выделит соответствующую ячейку или диапазон. Часто возникает необходимость использовать текст, содержащийся в рабочей таблице, для создания имен ячеек или диапазонов. На рис. 4.11 приведен пример такой таблицы. В данном случае может понадобиться использовать текст из столбца А для создания имен соответствующих значений столбца В. Excel позволяет это сделать легко и просто. Чтобы создать имена с помощью текста, расположенного в соседних ячейках, сначала выделите этот текст и ячейки, которые нужно назвать (это могут быть как отдельные ячейки, так и диапазоны). Имейте в виду, что текст должен находиться в соседних ячейках (по отношению к ячейкам, которые нужно назвать); несмежные диапазоны для этой операции не подойдут. Затем выберите команду ВставкаОИмяОСоздать. В результате Excel отобразит диалоговое окно Создать имена, показанное на рис. 4.11. Флажок опции в этом диалоговом окне установлен на основании проведенного программой анализа выделенного диапазона. Например, если программа обнаружила текст в первой строке выбранного диапазона ячеек, Глава 4. Работа с диапазонами ячеек 103
то она предложит создать имена на основе текста в верхней строке — опция в строке выше. Если догадка Excel неверна, вы можете выбрать другую опцию. Щелкните на кнопке ОК, и имена будут созданы. шш з ^ial*j А F Январь Февраль 5_Март Б Апрель Х_Май 8 Июнь 5 xi Потьссту ■— - Г рстрааадыи»! £7 i-стоябив сдм»а Г" естроке^цж» Г" в столбив <£р«и ОК »»&Л><*1 /*Wi*/*Her*/lWT^nrtcri/ 1-1 •1Г Рис. 4. II. Молено легко создавать имена на основе текста, расположенного в соседних ячейках На замет la заметку / Внимание! Если в результате использования текста из соседней ячейки получилось недопустимое имя, Excel модифицирует его, чтобы оно стало допустимым. Например, если имя создается на основе текста Чистый доход (такое имя было бы недопустимым, так как оно содержит пробел), то Excel преобразует пробел в символ подчеркивания. Однако, если в какой-либо ячейке или формуле рабочего листа используется ссылка на данную ячейку с текстом, программа не сможет преобразовать его в допустимое имя. Она это имя просто не создаст. Если ячейка, расположенная в левом верхнем углу выбранного диапазона, содержит текст, а вы выбрали опции в строке выше и в столбце слева, то Excel использует этот текст в качестве имени для всех данных, за исключением верхней строки и левого столбца. Поэтому, прежде чем принимать имена, создаваемые Excel, убедитесь в том, что они присвоены правильно, т.е. нужным диапазонам. Создание таблицы имен Иногда требуется создать список всех имен, определенных в рабочей книге. Это может быть полезно при отслеживании ошибок или при документировании вашей таблицы. Чтобы создать таблицу имен, сначала переместите табличный курсор в пустую область рабочего листа — таблица будет создаваться с того места, где находится активная ячейка. Выберите команду ВставкаОИмя"=>Вставить или нажмите клавишу <F3>. На экране появится диалоговое окно Вставка имени (рис. 4.12). В этом окне перечислены все определенные имена. Чтобы вставить список имен, щелкните на кнопке Все имена. Рис. 4.12. Диалоговое окно Вставка имени 104 Часть I. Вводный курс
Изменение существующих имен Рано или поздно вы обнаружите, что существующие имена ячеек и диапазонов не полностью соответствуют вашим требованиям. Например, вы присвоили имя одной ячейке, но теперь хотите, чтобы под этим именем значился диапазон ячеек. Или у вас в рабочей книге имеются имена, которые вам уже не требуются. Переопределение имен После определения имени вам может понадобиться изменить ячейку (или диапазон), к которой оно относится. Для этого можно воспользоваться диалоговым окном Присвоение имени. Выберите команду Вставка^Имя^Присвоить, щелкните на имени, которое вы хотите переопределить, и измените адрес ячейки или диапазона в поле Формула. То же самое можно сделать другим способом: щелкнуть на поле Формула и выбрать новую ячейку (или диапазон) в рабочем листе, указав на нее мышью. Excel автоматически исправляет адреса ячеек, имеющих имена. Удаление имен Если имя, которое вы определили, вам больше не потребуется, можете его удалить. Выберите команду ВставкаОИмяОПрисвоить, чтобы вызвать диалоговое окно Присвоение имени. Выберите в списке имя, которое вы хотите удалить, и щелкните на кнопке Удалить. Будьте очень внимательны при удалении имен. Если имя используется в формуле, то его удаление приведет к тому, что в формуле появится ошибка — она будет давать результат #имя?. Но, к счастью, операцию удаления имени можно отменить. Поэтому, если после удаления имени формула будет давать неправильный результат, выберите команду Правка^Отменить. Если удалить строки или столбцы, содержащие поименованные ячейки или диапазоны, то при обращении к этим именам будет появляться ошибка (неверная ссылка). Предположим, что ячейка А1 на листе Лист1 названа Процент. Тогда, если удалить строку 1 или столбец А, вместо имени Процент будет подставляться ссылка =Лист1 !#Ссылка!, т.е. ошибочная ссылка. Если имя Процент будет использоваться в формуле, то формула вернет результат #Ссылка!. Примечания к ячейке В Excel существует возможность добавления примечаний к ячейкам. Это полезно в том случае, если нужно описать конкретное значение. Примечания можно использовать также для напоминания пользователю о том, какие расчеты выполняются по формуле, записанной в данной ячейке. Чтобы добавить к ячейке примечание, выделите ее и выберите команду Вставка1^ Примечание или используйте комбинацию клавиш <Shift+F2>. Excel вставит примечание, указывающее на активную ячейку. Вначале примечание будет состоять только из вашего имени. Введите текст примечания к ячейке, а затем щелкните в любом месте рабочего листа, чтобы его скрыть. У ячеек, к которым добавлено примечание, в правом верхнем углу отображается маленький красный треугольник (он называется индикатором примечания). Если поместить указатель мыши на ячейку, содержащую примечание, то оно станет видимым. Внимание! Глава 4. Работа с диапазонами ячеек 105
С помощью опций вкладки Вид диалогового окна Параметры (которое появляется Совет в результате выполнения команды Сервис^ Параметры) можно изменять режимы отображения примечаний к ячейкам и их индикаторов. Можно, например, сделать так, чтобы индикаторы вообще не отображались на экране. Если вы хотите, чтобы на экране были видны все примечания к ячейкам (независимо от расположения табличного курсора), воспользуйтесь командой ВидоПримечания. Эта команда работает по принципу переключателя, т.е., чтобы снова скрыть все комментарии к ячейкам, нужно еще раз выбрать эту команду. Если требуется отредактировать примечание, активизируйте ячейку, щелкните на ней правой кнопкой мыши и из контекстного меню выберите команду Изменить примечание. Для работы с примечаниями будет полезна панель инструментов Рецензирова- Совет ние. Например, с помощью инструментов этой панели можно быстро перемещаться между примечаниями. ^^ Чтобы удалить примечание к ячейке, активизируйте ее, щелкните правой кнопкой мыши и в контекстном меню выберите команду Удалить примечание. \ 106 Часть I. Вводный курс
Форматирование рабочих листов орматирование напоминает сахарную глазурь на бисквите: не являясь необходимым элементом пирожного, она, тем не менее, придает конечному продукту законченный вид. В таблицах Excel благодаря форматированию можно привлечь внимание к важным данным, визуально структурировать информацию (например, с помощью специального выделения заголовков); кроме того, форматирование помогает другим людям понять назначение вашей таблицы. Стилистическое форматирование необходимо далеко не для каждой рабочей книги, особенно если кроме вас эти таблицы никто и никогда не увидит. Однако, если предполагается, что с вашей таблицей будет работать кто-то еще, форматирование становится обязательным этапом создания законченных таблиц. В этой главе описаны такие средства форматирования Excel, как шрифты, цвета, стили и т.д. Кроме того, здесь рассматривается, как создавать собственные стили, которые можно использовать в уже существующих и новых рабочих книгах. На рис. 5.1 показан пример того, как даже простое форматирование может значительно улучшить внешний вид рабочего листа и облегчить его чтение. Средства форматирования Excel Для форматирования рабочих листов Excel предлагает такие средства, как панель инструментов форматирования или диалоговое окно Формат ячеек. Вообще говоря, использование панели инструментов может значительно ускорить процесс форматирования, но с помощью диалоговых окон можно получить доступ к дополнительным опциям. Д Еще один способ форматирования, который пре- ^ополкительия доставляет Excel, основан на анализе содержи- ртформацияЛ мого ячееК1 Условное форматирование обсужда- |^в*^*" ется в главе 27. ГЛАВА В этой главе... Средства форматирования Excel Форматирование таблиц Использование стилей .
{ДДМ1 1 2 4 S ь 1 I 10 11 12 Id 14 1i 1b 17 и * А. В , С О . Е Джексон-Иванов Comp Доходы и расходы . Месяц Доход Расход Прибыль Январь 32564. 12360 Февраль 26674 12563 Март 10230 9632 Апрель 23690 14785 Май 30456 25874 Июнь 85201 75Э69 Июль 15926 8520 Август 95146 74561 Сентябрь Э5742 14576 Октябрь 75386^ 56248 Ноябрь 30201 145БЗ Декабрь 84512 63530 Всего 544930 362653 » и Лист! ^мст. .'шп;/ 20204 13291 598 8905 4582 9832 7406 20587 21164 19138 15638 20932 162277 W 1 * 5 Б 7 8 9 10 « 12 13 " 15 16 и . чэав е С О Джексон-Иванов Com Январь Феврааь Иарт Апрель Май Июнь Июнь Август Сентябрь Октябрь Ноябрь Декабрь Всего t •*' *Wrl. Доходы и расходы /Того» J25b4p 25874(1 10230р 2Э690р 30 456р 85 201р 15926р 96148р Э5 742р 76386р ,30201р. 84 512Р ■44 р 12 аЪОр 12583р 9 632р 14 785р 25 874р 75Э69р 8520р 74 561р. 14 578р 66 248р. 14 563р 63 580р. Р IWr2 ОисгЭ/" |*| Е Р лрноыт» 20 2D4p 13291р 598р 8905р 4 582р. 9832р 7 406*. 20 687р 21 164р 13138р 15 63вр ?0932р Р 1 Л2Ш F3 i м -J± Рис. 5.1. Одни и те же данные до и после применения стилистического форматирования Панель инструментов форматирования Эта панель содержит часто используемые инструменты, применяемые при стилистическом форматировании таблиц. Выделите ячейку или диапазон, после чего воспользуйтесь необходимыми инструментами. Это достаточно наглядный процесс, поэтому наилучший способ ознакомиться с возможностями инструментов форматирования — просто поэкспериментировать. Введите какие-то данные, выделите несколько ячеек, а затем пощелкайте на кнопках панели, чтобы изменить вид выделенного диапазона. Обратите внимание, что три кнопки (Границы, Цвет заливки, Цвет шрифта) в действительности являются выпадающими списками. Чтобы развернуть список, щелкните на маленькой стрелке справа от кнопки. Несмотря на то что панель инструментов форматирования содержит много нужных инструментов, немало средств форматирования доступно только через диалоговое окно Формат ячеек. Диалоговое окно Формат ячеек В этой главе будет часто упоминаться диалоговое окно Формат ячеек. Это окно состоит из ряда вкладок, с помощью которых можно выбрать практически любой тип стилистического форматирования (включая и числовое). Форматы, установленные в диалоговом окне Формат ячеек, применяются только к выделенным ячейкам. Выбрав ячейку или диапазон ячеек для форматирования, вы можете открыть диалоговое окно Формат ячеек одним из трех способов. ■ Воспользоваться командой ФорматОЯчейки. ■ Нажать комбинацию клавиш <Ctrl+l>. ■ Щелкнуть правой кнопкой мыши на выбранной ячейке или диапазоне ячеек и из контекстного меню выбрать команду Формат ячеек. Диалоговое окно Формат ячеек содержит шесть вкладок: Число, Выравнивание, Шрифт, Граница, Вид и Защита. Многие опции этого окна подробно рассматриваются в последующих разделах главы. 108 Часть I. Вводный курс
Форматирование таблиц Что бы ни говорили вам знатоки, но выбор и применение стилистического форматирования к таблицам Excel не является точной наукой. Так же как разным людям нравится разная музыка или направления в искусстве, в форматировании таблиц у каждого тоже свои предпочтения. Поэтому в следующих разделах рассматривается, как выбирать и применять различные опции форматирования; однако окончательный выбор этих опций остается за вами. Работа со шрифтами Для выделения фрагментов рабочего листа, например заголовков, можно использовать множество шрифтов самых разных типов и размеров, а также изменять их атрибуты; можно установить, например, такой размер шрифта, который позволит разместить на одной печатной странице больший объем информации. Если нужно, чтобы созданный вами отчет при печати поместился на заданном количестве страниц, не спешите вручную изменять размеры шрифтов. В Excel предусмотрена возможность автоматического масштабирования при печати. Используя это средство, можно указать, сколько страниц должна занимать таблица. Excel автоматически подберет масштаб так, чтобы все данные поместились на выбранном числе страниц. Эта возможность рассматривается в главе 7. По умолчанию для отображения введенной информации Excel применяет шрифт Arial Cyr размером 10 пунктов. Шрифты (Arial, Times New Roman, Courier New и т.д.) различаются начертанием. Размер шрифта измеряется в пунктах (72 пункта соответствуют одному дюйму, равному 2,54 см). По умолчанию высота строки в Excel принимается равной 12,75 пункта. Поэтому 10-пунктовый шрифт, помещенный в строку размером 12,75 пункта, очень хорошо смотрится, поскольку между символами соседних строк остаются достаточные промежутки. -* При изменении размера шрифта совершенно не обязательно вручную менять На заметку высоту строки. Excel сделает это автоматически, исходя из максимальной высоты символов, используемых в данной строке. Если вы планируете отправить свою рабочую книгу другим пользователям, то при ее создании старайтесь применять стандартные шрифты операционной системы Windows. Если при открытии рабочей книги окажется, что в системе отсутствует какой-либо шрифт, используемый в вашей рабочей книге, то Windows попытается найти похожие шрифты. Иногда это срабатывает, а иногда и нет. Чтобы уверенно чувствовать себя в подобной ситуации, при разработке таблиц применяйте следующие шрифты: ■ Arial Cyr; ■ Courier New Cyr; ■ Symbol; ■ Times New Roman Cyr; ■ Wingdings. Самый простой путь изменить шрифт или его размер для выделенных ячеек — использовать инструменты Шрифт и Размер, расположенные на панели инструментов форматирования. Для этого выберите ячейки, щелкните на нужном инструменте и из раскрывающегося списка выберите тип шрифта или его размер. Глава 5. Форматирование рабочих листов 109
Чтобы при открытии списка Шрифт отображались образцы шрифтов, выберите команду Сервисе Настройка. На экране появиться диалоговое окно Настройка. Перейдите во вкладку Параметры и установите флажок Отображать названия шрифтов тем же шрифтом. Если эта опция включена, то список Шрифт примет такой вид, как на рис. 5.2. Вы также можете использовать вкладку Шрифт диалогового окна Формат ячеек (рис. 5.3). Эта вкладка позволяет, не выходя из одного диалогового окна, изменить несколько свойств применяемого шрифта. Обратите внимание, что вы можете выбрать стиль шрифта (полужирный, курсив, подчеркивание), применить цвет и различные эффекты (зачеркнуть текст, ввести верхние и нижние индексы). Если установить флажок Обычный, то Excel установит те атрибуты шрифта, которые определены в одноименном стиле. Стили обсуждаются далее в главе. S) <|>efin Qpaska Бид JJJi .2ЙК i J Л • 10 - шкшят Вставке Форс ж t Ч 6 * Anal * дли Шаек 4 Anal Narrow * Anal Unicode MS pfr Book Antique * Bookman Old Style ■* Bo<*il»«Syi«icl7X-:-6'r4a t] i Сопле Sons MS Courier 3 °§o Рис. 5.2. Образцы шрифтов, представленные в списке Шрифт Г* подстрок*** I -гт иенайде-* Дняпвчвтмбудетиспдаь»в»1Н«<ояе*толхпдяш*| Рис. 5.3. Вкладка Шрифт диалогового окна Формат ячеек На рис. 5.4 показаны примеры форматирования с использованием различных шрифтов. Заметьте, что Excel предлагает четыре различных варианта подчеркивания символов. Два из них позволяют подчеркивать только значения, а не все символы содержимого ячейки, а два оставшихся полностью выделяют нижнюю границу ячейки. 1 Большой полужирный 2 Большой курсив Э Одинарное подчеркивание по значению ■ 1_ Дюйное папчевиивамив па значению S Одинарное подчеркивание по ячейке А.2 Двойное подчеркивание по ячейке 7 Зерхний индекс х g Нижний индекс х2 EL « . M\iWrt/ Примеры шрифтов Примеры шрифтов Примеры шрифтов Примеры шрифтов Примеры шрифтов Примсри шрифтов Лримеры шрифтов Примеры шрифтов ■ lOlxl ! АГА Рис. 5.4. Примеры форматирования шрифтов 110 Часть I. Вводный курс
Если вы предпочитаете работать с клавиатурой, то можете использовать перечисленные ниже комбинации клавиш для быстрого форматирования выбранного диапазона ячеек. ■ <Ог1+И> или <Ctrl+B>. Полужирное начертание. ■ <Ctrl+llI> или <CtrI+I>. Выделение курсивом. ■ <Ctrl+r> или <Ctrl+U>. Подчеркивание. ■ <Ctrl+5>. Перечеркивание. Перечисленные быстрые клавиши действуют так же, как обычные переключатели. Например, с помощью нажатия комбинации клавиш можно установить полужирное начертание, повторное нажатие комбинации клавиш <Ctrl+B> приведет к отмене этого действия. Использование нескольких шрифтов в одной ячейке Если в ячейке содержится текст, то вы можете также отформатировать его отдельные символы. Для этого перейдите в режим редактирования содержимого ячейки (дважды щелкните на ней), а затем выделите символы, которые желаете отформатировать. Символы можно выделить с помощью мыши, перетаскивая ее указатель по тексту, или с помощью клавиатуры, удерживая нажатой клавишу <Shift> и нажимая одну из клавиш управления курсором: «-> или <-». После выделения примените технику обычного форматирования. Изменения происходят для выделенных символов в ячейке. Однако описанный способ годится только для форматирования ячеек, содержащих текст; числа или формулы так форматировать нельзя. Выравнивание содержимого ячеек Все программы электронных таблиц по умолчанию придерживаются следующего соглашения относительно выравнивания содержимого ячеек: числа выравниваются вправо, а текст — влево. Вы, конечно, можете не придерживаться этого соглашения, поскольку в Excel есть множество разнообразных опций по выравниванию содержимого ячеек. Выровнять содержимое ячейки можно как по горизонтали, так и по вертикали. На рис. 5.5 показано несколько примеров форматирования ячеек с помощью опций горизонтального, вертикального выравнивания и выравнивания под заданным углом. Эти опции выбираются во вкладке Выравнивание диалогового окна Формат ячеек. Чсяб t вырааницини , | П0Гв(*КВТШ»11 Ino значению 1 чо »#«гнвм« краю Г -отражение Г гжреиорт» псклю» Г автоподбор шфю«* Г~ сйхдниа>ч» ячее* млпрмпеиие jvrrr* (по Роитчксту Ш»<гт | Гр -1 3 •1 »ма [ Вид 1 « .1Ш | Защите | . г- • К С т • . • 1 HU'HCb • I ♦ 1 « *j СР*ДУ«в и Отмене | Рис. 5.5. Примеры выравнивания в Excel Глава 5. Форматирование рабочих листов 111
Горизонтальное выравнивание Опции горизонтального выравнивания применяются наиболее часто. Они контролируют расположение содержимого ячейки относительно ее горизонтальных границ. Ниже перечислены опции горизонтального выравнивания. ■ По значению. Числа выравниваются по правому краю, текст — по левому, логические и ошибочные значения — по центру. Эта опция выбрана по умолчанию. ■ По левому краю (отступ). Сдвигает содержимое ячейки влево. Если текст шире ячейки, он выходит за ее правый край. Если справа ячейка занята, текст при выводе на экран усекается и становится видимым частично. Можно также задать величину отступа от левой границы ячейки. ■ По центру. Смещает содержимое ячейки в центр. Если текст шире ячейки, он выходит за ячейку с той стороны, с которой не заполнена соседняя ячейка. Если соседние ячейки заполнены, текст при выводе на экран усекается и становится видимым частично. ■ По правому краю (отступ). Сдвигает содержимое ячейки вправо. Если текст шире ячейки, он выходит за ее левый край. Если ячейка слева заполнена, текст при выводе на экран усекается и становится видимым частично. Кроме того, можно еще задать величину отступа от правой границы ячейки. ■ С заполнением. Повторяет содержимое ячейки, пока она не будет целиком заполнена по ширине. ■ По ширине. Выравнивает текст в ячейке по правому и левому краям одновременно. Эта опция применяется в том случае, если форматируемая ячейка содержит текст, разбитый на несколько строк. ■ По центру выделения. Смещает текст в центр нескольких выделенных столбцов. Эта опция полезна для точного центрирования заголовков относительно нескольких столбцов. ■ Распределенный (отступ). Располагает текст равномерно по ширине ячейки. Опции вертикального выравнивания Эти опции управляют расположением содержимого ячейки относительно ее вертикальных границ. Чтобы изменить вертикальное выравнивание, необходимо использовать диалоговое окно Формат ячеек, поскольку эти опции недоступны с панели инструментов форматирования. Существует несколько опций вертикального выравнивания. ■ По верхнему краю. Сдвигает содержимое ячейки к ее верхнему краю. ■ По центру. Смещает в центр содержимое ячейки в вертикальном направлении. ■ По нижнему краю. Сдвигает содержимое ячейки к ее нижнему краю. ■ По высоте. Выравнивает текст ячейки по вертикали; эта опция применяется только в том случае, если форматируемая ячейка содержит текст, разбитый на несколько строк. ■ Распределенный. Располагает текст равномерно по вертикали. Перенос по словам и автоподбор по ширине Если текст в ячейке не помещается по ее ширине и вы не хотите, чтобы он занимал соседние ячейки, можно использовать опции Переносить по словам и Автоподбор ширины, которые располагаются во вкладке Выравнивание диалогового окна Формат ячеек. Опция Переносить по словам служит для отображения текста в ячейке в несколько строк. Эта опция удобна для форматирования заголовков столбцов, поскольку можно использовать длинные заголовки без чрезмерного увеличения ширины столбца. 112 Часть I. Вводный курс
Опция Автоподбор ширины сжимает текст до нужного размера. Размер текста сокращается так, чтобы он мог поместиться в одной ячейке, не занимая соседнюю. Если к ячейке было применено форматирование с переносом по словам, то к ней Совет уже нельзя применить автоподбор ширины. У Объединение ячеек Объединение (слияние) ячеек часто используется для форматирования заголовков таблиц тогда, когда нужно, чтобы они занимали несколько ячеек и центрировались по ширине всей таблицы. При слиянии ячеек объединенная ячейка занимает место объединяемых ячеек, но объединить их содержимое невозможно. На рис. 5.6 представлены два варианта слияния ячеек: горизонтальное и вертикальное. Диапазон C3:F3 был объединен в ячейку, содержащую заголовок таблицы. Диапазон В5:В9 был также объединен, в нем находится общее название для строк таблицы. В столбце также было изменено направление текста (см. раздел "Изменение направления текста" далее в главе). Рис. 5.6. Заголовки этой таблицы оформлены с использованием объединения ячеек Вы можете объединить любое количество ячеек, занимающих произвольное количество строк и столбцов. Однако все сливаемые ячейки должны быть пустыми, за исключением верхней левой ячейки. Если какая-либо другая ячейка заполнена, то Excel выдаст предупреждение и вы должны будете или отменить объединение ячеек, или согласиться на потерю содержимого всех ячеек, кроме верхней левой. Для того чтобы выполнить слияние, выделите нужные ячейки, а затем щелкните на кнопке Объединить и поместить в центре панели инструментов Форматирование. Чтобы вернуть ячейкам первоначальный, "неслитый" вид, либо щелкните еще раз на кнопке Объединить и поместить в центре, либо воспользуйтесь диалоговым окном Формат ячеек. Для этого выделите объединенную ячейку, откройте диалоговое окно Формат ячеек и во вкладке Выравнивание снимите флажок Объединение ячеек. Изменение ориентации текста Еще один способ улучшить зрительное восприятие таблицы — отображать текст под углом. В Excel текст можно располагать как горизонтально и вертикально, так и под любым углом. Для изменения ориентации выделите ячейку или диапазон ячеек, откройте диалоговое окно Формат ячеек, а затем щелкните на корешке вкладки Выравнивание, в которой либо в поле задайте угол в диапазоне от -90 до +90°, либо просто перетащите указатель на нужный угол. На рис. 5.7 показан пример текста, расположенного под углом 45°. Глава 5. Форматирование рабочих листов 113
Годовой отчет по регионам Север Юг Запад Восток всем /* 155643 160340 156033 154944 егеввор. /' 163352 158005 154503 155936 632 7»р. /* 160782 162394 157771 159541 ЫС4ПР. /' 162685 156196 157206 159476 635 ЯЗр. /• 642462 6369Э5 625513 630699 изамр. • Г iw>i^iwi*y; _J Рис. 5.7. Пример размещения текста под углом 45 ° ^^^^ Часто на экране текст под углом выглядит несколько искаженным, но при выводе На заметку на печать этот текст будет выглядеть нормально. / Изменение направления текста Не во всех языках направление текста одинаково. В большинстве языков буквы пишутся слева направо, но в некоторых языках текст пишется наоборот — справа налево. Чтобы установить необходимое направление текста для используемого языка, воспользуйтесь опцией Направление текста. _^^^ Если в вашей системе не установлена поддержка языков, в которых текст пишется справа налево, то изменение опции Направление текста не приведет к ожидаемому результату. Нужно, например, установить поддержку японского языка с установочного диска Microsoft Office, чтобы можно было установить направление текста справа налево для символов японского алфавита. На заметку / Цвета и заливки В Excel имеются средства для выделения различными цветами отдельных участков рабочих листов. Можно изменять как цвет текста, так и фон ячеек. Но помните: далеко не всегда следует использовать большое количество цветов, поскольку это будет осложнять, а не облегчать восприятие информации. Цвет текста ячейки можно изменить с помощью вкладки Шрифт диалогового окна Формат ячеек, а цвет заднего плана ячейки — с помощью вкладки Вид. Кроме того, для выполнения этих действий предусмотрено два инструмента панели инструментов форматирования: Цвет заливки и Цвет шрифта. Задний план ячейки может быть сплошным (одного цвета) или узорным (двухцветным). Если в ячейке содержится текст, то использование узора приведет к тому, что текст будет сложно читать. Поэтому старайтесь применять узоры только для пустых ячеек. Для выбора узора используется раскрывающийся список Узор во вкладке Вид диалогового окна Формат ячеек. Щелкните на кнопке раскрытия списка, как показано на рис. 5.8. Выберите вид узора из верхней части палитры узоров, а из нижней части — цвет узора. Первый элемент палитры (сплошной) используется для отмены назначенного узора, т.е. если вы хотите, чтобы фон был сплошным. Справа от списка Узор находится окно предварительного просмотра Образец, в котором показано, как будет выглядеть выбранный узор. Если вы пла- 114 Часть I. Вводный курс
нируете печатать рабочий лист, то следует поэкспериментировать, чтобы выяснить, как будет выглядеть цветной узор на вашем принтере. Рис. 5.8. Выбор узора для фона ячейки Еще одно применение цветного фона — выделение строк таблицы, в которой содержится большой объем информации, для того чтобы данные было легче читать. Если вы не новичок в области обработки данных, вам, без сомнения, уже встречалась специальная бумага для принтера, на которую нанесены бело-зеленые горизонтальные полосы. Подобного эффекта можно добиться и при печати на обычной бумаге из Excel, используя цвета фона. Л В главе 27 описан еще один способ задания цвета фона с использованием |Дополнителы&я средств условного форматирования, информация Чтобы быстро скрыть содержимое ячеек, сделайте цвет заднего плана таким же, Совет . как и цвет шрифта. Но даже в этом случае содержимое таких ячеек можно увидеть в строке формул. Помните, что во время печати некоторые принтеры само- стоятельно могут изменить цвет заднего плана так, чтобы был виден текст. Цвета в Excel Возможно, вы будете удивлены, но использование цветов в Excel довольно ограниченно. В каждой рабочей книге хранится цветовая палитра, состоящая из 56 цветов. Причем при оформлении можно использовать только те цвета, которые находятся в палитре. К счастью, можно заменять один или же все цвета в палитре. Для этого выполните ряд действий. 1. Выберите команду Сервис=>Параметры. 2. Перейдите во вкладку Цвет диалогового окна Параметры. 3. Выберите цвет, который вы хотите заменить, после чего щелкните на кнопке Изменить. 4. Выберите новый цвет и щелкните на кнопке ОК. 5. Если требуется, измените другие цвета или щелкните на кнопке ОК для выхода. Помните, что изменение цвета приведет к изменениям во всех ячейках, где этот цвет использовался. Например, если вы измените красный цвет на желтый, то все ячейки с красным цветом фона станут желтыми. Во вкладке Цвет диалогового окна Параметры также можно копировать цветовую палитру из других открытых рабочих книг в активную книгу. Глава 5. Форматирование рабочих листов 115
Границы и линии Рамки обычно используют тогда, когда нужно визуально сгруппировать ячейки, содержащие однотипные данные, либо для выделения строки или столбца. В Excel предусмотрено 13 различных стилей границ, которые показаны во вкладке Граница диалогового окна Формат ячеек (рис. 5.9). Это окно позволяет выбрать стили рамок для выделенной ячейки или диапазона ячеек. *#<« | M>«wMS«#ie | шри&т Гранч* j Вид | Защита ] Выберите Twilimei*спон«аыо«ь«и>г*«яоте к как»1»**.п<вьида»1М0ГО диапазона ом оплатя: енштей rpatwae «его лнагадона, есен *нутрем«к гг-**<и» я**9к Bin етдояьиой йчвж« Рыс. 5.9. С помощью вкладки Граница диалогового окна Формат ячеек можно добавить рамки вокруг ячеек Перед вызовом этого диалогового окна выделите ячейку или диапазон ячеек, к которым нужно применить границу. Прежде всего укажите тип линии, а затем ее положение вокруг ячейки, щелкнув на одной из предложенных кнопок-пиктограмм. Обратите внимание: здесь уже есть три готовых варианта, которые облегчат вашу работу. Если вы хотите убрать все рамки из выделенного диапазона, щелкните на кнопке нет. Желая обвести диапазон контуром, используйте опцию внешние. Чтобы поместить рамку внутри выделенного диапазона, щелкните на кнопке внутренние. Выбранный тип границы будет показан в диалоговом окне. Для разных участков границы можно выбрать различные типы линии. Кроме того, вы можете выбрать цвет рамки. Использование этого диалогового окна требует некоторой практики. Excel позволяет применять диагональные линии в ячейках. Этот тип границы создает впечатление, что ячейка или диапазон ячеек были вычеркнуты. При использовании границ в рабочем листе имеет смысл удалить сетку, с помощью Совет которой Excel по умолчанию обозначает границы ячеек, тогда рамки будут смот- реться более четко. Для этого снимите флажок Сетка, который находится во вклад- ■ Л ке Вид диалогового окна Параметры. Добавление подложки в рабочий лист В Excel вы можете поместить изображение из графического файла на задний план рабочего листа. Это чем-то напоминает фоновый рисунок, которым можно украсить рабочий стол Windows. Чтобы добавить задний план (подложку) в рабочую таблицу, выберите команду ФорматО Пист^Подложка. На экран будет выведено диалоговое окно, с помощью которого можно выбрать нужный графический файл. Выбрав файл, щелкните на кнопке ОК. Программа разместит графическое изображение на заднем плане листа рабочей таблицы в виде мозаики. Как правило, графический фон затрудняет чтение текста, поэтому для выделения ячеек, содержащих текст, обычно используется цветная подложка (рис. 5.10). Кроме того, не забудьте отключить изображение сетки рабочего листа, поскольку ее линии будут видны на изображении. 116 Часть I. Вводный курс
T^frM Строительная фирма Стройся-Сам Доходы за nef вый квартал Яне 65 983р Фее 73 954р Map 87 543р. 227 480р. J J_ I Л a,iw.i ,лл&1п**1 и 1 >|г: На заметку / Рис. 5.10. Этот рабочий лист имеет графический задний план. Ячейки с данными выделены цветом, который перекрывает графическое изображение Использование подложки может ухудшить читабельность текста, поэтому к ячейкам, содержащим текст, применяйте сплошной цвет заливки. Подложка отображается только на экране монитора. Она не выводится при печати рабочей таблицы на принтере. Автоформатирование До сих пор речь в этой главе шла об отдельных командах и инструментах, которые можно использовать для ручного форматирования рабочего листа. Теперь рассмотрим специальное средство Excel, называемое Автоформат. С его помощью можно выполнять многие операции форматирования автоматически. Чтобы использовать средство автоматического форматирования Excel, поместите табличный курсор на любую из ячеек таблицы, которую нужно отформатировать (границы таблицы Excel определяет автоматически). Затем выберите команду ФорматОАвто- формат. На экране появится диалоговое окно Автоформат (рис. 5.11). Выберите один из 16 предложенных в списке форматов и щелкните на кнопке ОК. Программа автоматически отформатирует вашу таблицу. В средство автоматического форматирования Excel заложены довольно большие "интеллектуальные" возможности. Например, с его помощью можно проанализировать содержащиеся в таблице данные, выделить промежуточные итоги и отформатировать таблицу. Несмотря на то что Excel не позволяет определять собственные автоформаты, некоторые средства управления форматированием этого типа в программе все же предусмотрены. Если щелкнуть на кнопке Параметры в диалоговом окне Автоформат, то оно увеличится и в нем появится шесть дополнительных опций (см. рис. 5.11). По умолчанию отмечены все шесть опций. Если некоторые элементы форматирования не нужны, отмените выбор соответствующей опции и затем щелкните на кнопке ОК. Например, если вы уже отформатировали числа, то снимите флажок формат чисел. Глава 5. Форматирование рабочих листов 117
янв фее ***p Всего Восто* 7 7 S 19 Запад 6 4 7 17 Юг 8 7 9 24 Всего 21 18 21 60 восток Зетад Юг Всего ем о>*б лыр Вено 7 7 5 19 6 4 .7 17 8 7 9 24 21 18 21 60 Простой Клаеемиеоож! Эяпад 6 4 7 17 Р> 8 7 9 24 всего 21 18 21 60 Е 6 4 7 17J 6 7 9 -.-*] р<его 21 1В 21 ' | Кявосмчмасий^ Кякв««ский) j росток 7p. 7p Sp. 19p Ьвгад Б 4 7 17 I •Ot 8 7 9 24 I ■ I 8 в» 21p 18p 21p 60p ЗЬмисовый 1 янв фев мер Всего г сток 7р 7р Sp ISp К |агшд 6 4 7 17 О- 6 » 9 24 * Гч*ч> П; iv 21 >- «*»**гов*чй2 * 1 <* 1 Отмена Параметры... | Рис. 5.11. С помощью средства Автоформат можно быстро отформатировать таблицу Копирование форматов Для копирования форматов из одной ячейки в другую или в диапазон ячеек используется команда Правка^Специальная вставка. В появившемся диалоговом окне выберите переключатель Форматы. Кроме того, можно использовать кнопку Формат по образцу, расположенную на стандартной панели инструментов (на этой кнопке изображена кисточка). Сначала выберите ячейку или группу ячеек, имеющих те атрибуты форматирования, которые вы хотите скопировать. Затем щелкните на кнопке Формат по образцу. Заметьте, что указатель мыши примет вид кисточки. Щелкните и перетащите указатель по ячейкам, к которым нужно применить выбранные атрибуты форматирования. Отпустите кнопку мыши, чтобы закончить операцию копирования форматов. Если вы дважды щелкнете на кнопке Формат по образцу, то указатель мыши будет иметь вид кисточки до тех пор, пока вы снова не щелкнете на этой кнопке. Таким образом вы сможете скопировать заданные атрибуты форматирования в несколько несмежных областей. Чтобы выйти из режима копирования, вновь щелкните на кнопке Формат по образцу или нажмите клавишу <Esc>. Использование стилей Если перед вами стоит задача форматирования рабочего листа с использованием одной и той же комбинации шрифтов, линий и цветов, то применение стиля может принести вам большие выгоды. В частности, это сэкономит значительное время и позволит избежать ошибок при форматировании, которые, как правило, возникают при ручном форматировании отдельных ячеек. Кроме того, использование стилей позволяет придать рабочему листу более совершенный внешний вид. В стиль можно включать до шести различных атрибутов: ■ числовое форматирование; ■ шрифт (тип, размер и цвет); ■ выравнивание (вертикальное и горизонтальное); ■ рамки; ■ узоры; ■ защита (заблокировано и скрыто). 118 Часть I. Вводный курс
Основное преимущество использования стилей проявляется тогда, когда требуется изменить один или несколько атрибутов форматирования. В таком случае, если к группе ячеек был применен определенный стиль, достаточно лишь изменить некоторые его атрибуты — и внешний вид ячеек изменится автоматически. Предположим, вы применили определенный стиль к нескольким десяткам ячеек, разбросанным по всей рабочей таблице. Однако позже вы пришли к выводу, что информация в таблице будет нагляднее, если увеличить размер шрифта с 12 до 14 пунктов. Поскольку при форматировании вы использовали определенный стиль, теперь не нужно вручную изменять размер шрифта в каждой ячейке. Достаточно исправить параметры стиля, и все ячейки изменятся автоматически. Таким образом вы значительно сэкономите время. Все действия над стилями выполняются в диалоговом окне Стиль, которое появляется после выбора команды ФорматОСтиль. По умолчанию всем ячейкам назначается стиль Обычный (рис. 5.12). Идя«Ияя Стиль еключжп Гнусно 15" защита [обычный ►» Основной пе горизонтали обычное. по ***»«*у краю без ранок безмтенвния заблокировано потерт -1 ^ *1 1 ок | 0THBH& I йй*амить.„ | 1 -,> | £6>«ЙИНИ7Ь. . | Рис. 5.12. Диалоговое окно Стиль Ниже представлен пример того, как можно использовать стили, чтобы во всей рабочей книге изменить шрифт, применяемый по умолчанию. 1. Выберите команду ФорматОСтиль. Excel отобразит диалоговое окно Стиль. 2. Убедитесь, что в поле Имя стиля указан стиль Обычный. Затем щелкните на кнопке Изменить. На экране появиться диалоговое окно Формат ячеек. 3. Перейдите во вкладку Шрифт и выберите новый шрифт и размер. 4. Щелкните на кнопке ОК, чтобы вернуться в диалоговое окно Стиль. 5. Еще раз щелкните на кнопке ОК, чтобы закрыть окно Стиль. Во всех ячейках, в которых используется стиль Обычный, шрифт будет изменен. При необходимости вы можете в любое время поменять атрибуты форматирования любого стиля. Кроме того, в Excel предусмотрено еще пять встроенных стилей, которые влияют только на числовое форматирование ячеек. Все они перечислены в табл. 5.1. Если параметры приведенных стилей вам не совсем подходят (или совсем не подходят), создайте собственные стили с нужными параметрами. Таблица 5.1. Встроенные стили Excel Название стиля Описание Пример числового форматирования Обычный Стандартный стиль Excel Финансовый* Число с двумя цифрами после запятой Финансовый[0] Целое число 1234 1 234,00 1234 Глава 5. Форматирование рабочих листов 119
Окончание табл. 5.1 Название стиля Описание Пример числового форматирования Денежный* Число с двумя цифрами после запятой и знаком денежной единицы 1 234,00 р. Денежный[0] Целое число со знаком денежной единицы 1 234 р. Процентный* Целое число со знаком процента 12% * Эти стили можно назначить с помощью щелчка мышью на соответствующих кнопках панели инструментов форматирования. Применение стилей Существует несколько способов применения готовых стилей к отдельным ячейкам или диапазонам ячеек. ■ На панели инструментов форматирования предусмотрены три кнопки для применения соответствующих стилей к ячейке или диапазону ячеек: Денежный формат, Процентный формат и Формат с разделителями. Важно понимать, что, когда вы используете эти кнопки для форматирования ячейки, изменяется стиль ячейки. А это значит, что, когда впоследствии вы захотите изменить параметры стиля Обычный, эти изменения не коснутся ячеек, отформатированных с помощью кнопок панели инструментов форматирования. ■ Вы можете назначить нужный стиль с помощью команды Формат^Стиль. На экране появится диалоговое окно Стиль. Выберите нужный стиль из раскрывающегося списка Имя стиля. Если вы собираетесь регулярно работать со стилями, не мешает внести некоторые изменения в одну из панелей инструментов. В Excel предусмотрен очень удобный инструмент Стиль. Однако (как ни странно) этого инструмента вы не найдете ни на одной из встроенных панелей инструментов. Чтобы добавить инструмент Стиль к одной из панелей инструментов (для этого подойдет, например, панель инструментов форматирования), выполните ряд действий. 1. Щелкните правой кнопкой мыши на любой панели инструментов и выберите из появившегося контекстного меню команду Настройка. На экране появится диалоговое окно Настройка. 2. Перейдите во вкладку Команды. 3. В окне списка Категории выберите опцию Формат. В окне Команды будут показаны все возможные инструменты, которые относятся к категории Формат. 4. Щелкните на инструменте Стиль (это раскрывающийся список стилей) и перетащите его на панель инструментов форматирования. Если вы разместите этот инструмент в центре панели, то другие кнопки автоматически будут сдвинуты, чтобы освободить под него место. 5. Если панель инструментов слишком большая и целиком не помещается на экране, уменьшите ширину некоторых инструментов, например Шрифт или Стиль. Для этого перетащите влево правую сторону рамки этих инструментов. Кроме того, удалите с панели те инструменты, которыми вы никогда не пользуетесь. Для этого просто перетащите их за пределы панели (не волнуйтесь, при необходимости панель инструментов всегда можно будет восстановить в первоначальном виде). 120 Часть I. Вводный курс
6. Когда панель инструментов примет желаемый вид, щелкните на кнопке Закрыть в диалоговом окне Настройка. В окне списка инструмента Стиль будет отображаться стиль выбранной ячейки. Кроме того, с его помощью вы сможете быстро назначать нужные стили и даже создавать новые. Чтобы назначить стиль с помощью инструмента Стиль, выберите ячейку или диапазон ячеек, щелкните на кнопке раскрытия списка и выберите из раскрывающегося списка нужный стиль. Создание новых стилей Кроме использования встроенных стилей Excel, вы можете создавать и применять собственные стили. Это очень удобно для быстрого применения какого-либо созданного вами набора атрибутов форматирования. Существует два пути создания новых стилей: с помощью команды ФорматОСтиль и инструмента Стиль. Чтобы создать новый стиль, выполните ряд действий. 1. Сначала выберите ячейку и примените к ней те атрибуты форматирования, которые нужно включить в новый стиль. Вы можете использовать любые атрибуты форматирования, представленные в диалоговом окне Формат ячеек. 2. Когда ячейка будет отформатирована нужным образом, выберите команду Фор- мат^Стиль. На экране появится диалоговое окно Стиль. Имя стиля, назначенного для текущей ячейки, будет показано в поле Имя стиля. Как правило, там находится название стиля Обычный. Данное имя будет выделено, поэтому можете сразу ввести имя нового стиля. 3. Введите новое имя стиля в поле Имя стиля. После этого под полем Имя стиля Excel отобразит надпись (по примеру). Это значит, что стиль основан на форматировании выделенной ячейки. (Обратите внимание: пока вы не введете имя стиля, кнопка Добавить не будет активной.) В диалоговом окне Стиль отмеченные опции показывают, какие атрибуты форматирования текущей ячейки будут включены в новый стиль. По умолчанию активизированы все флажки. 4. Если вы не хотите включать в стиль атрибуты форматирования определенных категорий, отмените выбор соответствующих опций. 5. Для создания нового стиля щелкните на кнопке Добавить, а затем на кнопке ОК, чтобы закрыть диалоговое окно Стиль. Новый стиль с помощью диалогового окна Стиль можно создать с нуля. Для этого введите имя стиля, а затем щелкните на кнопке Изменить, чтобы выбрать атрибуты форматирования. Если вы добавили инструмент Стиль на одну из панелей инструментов, то можете создавать новые стили, не обращаясь к одноименному диалоговому окну. Отформатируйте ячейку, - активизируйте список Стиль и введите название стиля. Единственный недостаток такого способа состоит в том, что вы не сможете указать, какие категории форматирования следует исключить из данного стиля. Однако изменить существующий стиль довольно легко. "* Опция Защита в диалоговом окне Стиль влияет на то, смогут ли пользователи На заметку изменять ячейки, к которым применен выбранный стиль. Но эта опция будет действовать только после того, как вы включите защиту листа. Для этого выберите , команду Сервис^Защита^Защитить лист. Глава 5. Форматирование рабочих листов 121
Изменение стиля Для того чтобы изменить параметры существующего стиля, откройте диалоговое окно Стиль. Выберите из раскрывающегося списка тот стиль, который нужно изменить. Чтобы включить или исключить из стиля любую категорию форматирования, установите или снимите соответствующие флажки. Для изменения параметров выбранного стиля щелкните на кнопке Изменить. На экране появится хорошо вам знакомое диалоговое окно Формат ячеек. Внесите нужные изменения и щелкните на кнопке ОК. Снова щелкните на кнопке ОК, чтобы закрыть диалоговое окно Стиль. Все ячейки, которым был назначен выбранный стиль, будут автоматически изменены в соответствии с новыми атрибутами форматирования. В Excel есть еще одна возможность, с помощью которой можно изменить пара- Совет метры уже существующего стиля. Выделите ячейку, имеющую стиль, параметры которого вы хотите изменить, затем отформатируйте эту ячейку. Щелкните на ■ у раскрывающемся списке инструмента Стиль и снова выберите имя этого стиля. В результате появится диалоговое окно; щелкните в нем на кнопке Да, чтобы подтвердить свой выбор. После этого форматирование всех ячеек, которым ранее был назначен выбранный стиль, изменится. После того как вы выбрали стиль ячейки, можно применить к ней дополнительные атрибуты форматирования с помощью любого метода, описанного в этой главе. При этом изменение атрибутов форматирования в отдельной ячейке не влияет на другие ячейки, к которым применен этот же стиль. Если вам больше не нужен определенный стиль, его можно удалить. Для этого вызовите диалоговое окно Стиль, выберите стиль из списка и щелкните на кнопке Удалить. При этом всем ячейкам, в которых он использовался, будет автоматически назначен стиль Обычный. Объединение стилей из разных рабочих книг Часто возникает необходимость использовать один или несколько созданных вами стилей в разных рабочих книгах. Чтобы каждый раз не создавать их заново, лучше скопировать нужные стили из тех рабочих книг, где они уже созданы. Для копирования стиля из другой рабочей книги необходимо, чтобы она была открыта. Выполните команду ФорматОСтиль и щелкните на кнопке Объединить. При этом на экран будет выведен список всех открытых рабочих книг. Выберите рабочую книгу, в которой содержится нужный стиль, и щелкните на кнопке ОК. После выполнения этой операции в текущую рабочую книгу будут скопированы все стили из указанной вами книги. При объединении стилей не забывайте, что цвета, используемые в стиле, зависят от палитры конкретной рабочей книги. Поэтому если рабочая книга, из которой вы объединяете стили, имеет другую палитру цветов, то цвета объединенных стилей могут отличаться от первоначальных. Можно создать одну рабочую книгу и поместить в нее все созданные вами стили. Совет В этом случае вы всегда будете знать, где их искать. 122 Насть I. Вводный курс
Стили и шаблоны Во время запуска Excel устанавливает по умолчанию множество параметров, включая и параметры стилистического форматирования. Поэтому, если вам в начале работы приходится тратить много времени на то, чтобы изменить стандартные установки программы, вспомните о шаблонах. Вот один пример. Предположим, вы предпочитаете работать со шрифтом Anal Суг размером 12 пунктов, а не 10, как установлено в Excel по умолчанию. Что касается опции переноса текста по словам, то желательно, чтобы она была установлена по умолчанию. Все это можно сделать, если вы знаете, что такое шаблоны. Хитрость состоит в том, что нужно создать новую рабочую книгу и соответствующим образом назначить в ней параметры стиля Обычный. Затем необходимо сохранить рабочую книгу в качестве шаблона в папке XLStart. После этого каждый раз при выборе команды ФайлОСоздать на экране будет появляться диалоговое окно, в котором вы можете выбрать из списка шаблон для новой рабочей книги. Файлы шаблонов могут содержать и другие стили. Использование шаблонов — замечательная возможность Excel, которая позволяет привести все рабочие книги проекта к единому внешнему виду. "^к Шаблоны подробно рассматриваются в главе 6. ополнителыяя «формация В Глава 5. Форматирование рабочих листов 123
В этой главе... Создание новой рабочей книги Открытие существующей рабочей книги Сохранение и закрытие рабочих книг Шаблоны Шаблон стандартной рабочей книги Новые шаблоны рабочих книг Работа с файлами и шаблонами I ^€\ се рабочие книги Excel хранятся в файлах. В этой главе I У описаны основные операции с файлами, а также рассматривается специальный тип файлов, называемых шаблонами. Шаблоны можно использовать для самых разных целей, начиная от создания рабочих книг, в которых нужно только заполнить пустые ячейки, и заканчивая изменением стандартных параметров Excel для новых рабочих книг или рабочих листов. Даже если вы создаете таблицы только для собственного использования, шаблоны будут очень полезны. Создавая собственные шаблоны рабочих книг, в будущем вы сможете сберечь много времени и усилий в том случае, если захотите заново применить те же установки, элементы форматирования, разработанные формулы или собственные числовые форматы. Основные операции с файлами рабочих книг В этом разделе описаны операции, выполняемые над файлами рабочих книг: открытие, сохранение, удаление и т.д. Читая этот раздел, помните, что у вас может быть открыто несколько рабочих книг одновременно, но только одна из них активна в данный момент. Имя рабочей книги отображается в ее строке заголовка (или в строке заголовка программы Excel, если окно рабочей книги полностью развернуто). Создание новой рабочей книги После запуска Excel автоматически создает новую (чистую) рабочую книгу, которая называется Книга 1. Эта рабочая книга до тех пор, пока она не сохранена на жестком диске, существует только в памяти компьютера. По умолчанию рабочая книга состоит из трех рабочих листов, называемых Лист1, Лист2 и ЛистЗ. Если вы начинаете новый проект с нуля, то можете использовать эту чистую рабочую книгу.
Новую рабочую книгу можно создать одним из описанных ниже способов. ■ Выберите команду ФайлОСоздать, которая открывает панель Открытие книги в области задач. В области задач щелкните на пиктограмме Чистая книга (рис 6.1). ■ Щелкните на кнопке Создать, которая расположена на стандартной панели инструментов (на этой кнопке изображен чистый лист бумаги). ■ Нажмите комбинацию клавиш <Ctrl+N>. Нажав клавиши <Ctrl+N> или щелкнув на кнопке Создать, расположенной на Совет стандартной панели инструментов, вы сразу получаете новую рабочую книгу. Но, чтобы создать новую рабочую книгу на основе шаблона, нужно воспользоваться щ одной из пиктограмм в разделе Шаблоны панели Создание книги области задач. Создание кнкм Создание _J Чистая книга 3£j Из ниающейея книги.. Шаблоны Поиск в сети- Па* к ^в Шаблоны на ysneCfflceOnlrte gij На моей компьютере.. м На мгнх веб^утах . Рис. 6.1. Панель Создание книги в области задач позволяет быстро создать новую рабочую книгу Загрузить шаблоны можно из нескольких источников: с Web-узла Office Online, с вашего компьютера или с других Web-узлов (если такие имеются). Если вы выберете пиктограмму На моем компьютере в разделе Шаблоны области задач, то на экране появится диалоговое окно Шаблоны. В этом диалоговом окне с двумя вкладками следует выбрать шаблон для новой рабочей книги. Если у вас нет личных шаблонов, то во вкладке Общие будет находиться только одна пиктограмма Книга. Щелкнув на ней, вы создадите обычную рабочую книгу. Шаблоны, которые входят в поставку Excel, находятся во вкладке Решения. При выборе одного из этих шаблонов ваша рабочая книга будет создана на основе указанного файла шаблона. Запуск Excel без создания чистой рабочей книги Каждый раз при загрузке Excel автоматически создается чистая рабочая книга. Если вас это не устраивает, можно изменить параметры запуска так, чтобы после запуска отображался пустой экран. Для этого нужно внести изменения в командную строку ярлыка, который вы используете для запуска Excel. Например, если вы загружаете Excel с помощью ярлыка на рабочем столе, выполните перечисленные ниже действия. 1. Щелкните правой кнопкой мыши на ярлыке и выберите команду Свойства. 2. В диалоговом окне Свойства перейдите во вкладку Ярлык. 3. В поле Объект после пути введите пробел, а затем /е, например: C:\Program Files\Microsoft Office\Officell\EXCEL.EXE /е 4. Щелкните на кнопке ОК. После внесения этих изменений при запуске Excel чистая рабочая книга создаваться не будет. Глава 6. Работа с файлами и шаблонами 125
Открытие существующей рабочей книги Открыть рабочую книгу, которая хранится на диске, можно несколькими способами ■ Выберите нужную книгу в нижней части панели Приступая к работе в области задач. ■ Выберите нужную книгу в нижней части меню Файл. ■ Выберите команду ФаЙлООткрыть. ■ Щелкните на кнопке Открыть, которая расположена на панели инструментов Стандартная (с изображением открывающейся папки). ■ Нажмите комбинацию клавиш <Ctrl+0>. В результате выполнения трех последних операций на экране появится диалоговое окно Открытие документа (рис. 6.2). Обратите внимание, что размеры этого окна можно изменять. Чтобы увеличить или уменьшить окно, перетащите его правый нижний угол. 1 Латка. , _a?J Мои после■■•* аокуиекты ' ГЛ i Ре5ом»йстоп •> «ж щ лоипыстер окружение СЛ Кмиги -J.i*J5xl« «Ch 1в.Уз »]>_17jdl Bch.17Jjdl 5]Ch_17 ?Vi ЩХ.И«11 ■«1.20x11 ■ttl.21xlt 1 »L.21J.<li 5JCh.22.x1l I *_23 Mm 1] Jh_23x1l J)>_24x1i Ij0h_25xli Sjih 2Sjdt «1 1*в>фиича 1 Тш*».» leceJeSru^r^o» J J l5 ■ »)j\.2e_ix4 Щсь.эол £)ch_32*b *)ch_34*ii *)Ch_35xll >1С»1_Зв»'г> l]Ch_37*b Я СЬ_Э7_примеры>1| <]Cn_38j* фсь.ЗвхН i]Ch40*h ?|)cti_41xl« Л] Бюджет 02x1i _, - 4J Моя гмреая рабочая книгах)! f.*F. ft* , • * -. * .!•• ■ J d * сервис* ■bj Объем выплат по ct>-*' № Страница mht VT ест >dt *] Числовые форме ты jd ■j ^ •1 j Отмена 1 , ,, , Рис. 6.2. Диалоговое окно Открытие документа Чтобы открыть рабочую книгу в диалоговом окне Открытие документа, укажите имя файла рабочей книги (в поле Имя файла) и папку, где он находится (в поле Папка). После этого щелкните на кнопке Открыть. Для открытия файла можно также просто дважды щелкнуть на его имени. Кнопка Открыть в диалоговом окне Открытие документа в действительности является раскрывающимся списком. После щелчка на стрелке, расположенной в правой части этой кнопки, вы увидите список дополнительных команд. ■ Открыть. Открывает файл в "обычном режиме". ■ Открыть только для чтения. Открывает файл в режиме "только для чтения". В этом режиме нельзя сохранить изменения, сделанные в открытом файле. ■ Открыть как копию. Открывает копию выбранного файла. Если имя файла Бюджет, xls, то имя открытой книги будет Коп (1) Бюджет.xls. ■ Открыть в обозревателе. Открывает файл в вашем Web-обозревателе. ■ Открыть и восстановить. Восстанавливает и открывает файл после аварийного завершения работы программы или компьютера. 126 Часть I. Вводный курс
Вы можете выделить несколько файлов рабочих книг, удерживая нажатой кла- Совет вишу <Ctrl>. После щелчка на кнопке Открыть все выделенные файлы рабочих книг откроются. Щелкнув правой кнопкой мыши на имени файла в диалоговом окне Открытие документа, вы откроете контекстное меню с множеством дополнительных команд. Например, с их помощью можно скопировать файл, удалить его, изменить его свойства и т.д. Вы можете также открыть рабочую книгу Excel, дважды щелкнув на пиктограмме Совет файла с расширением XLS в одной из открытых папок окна Windows. Если программа Excel еще не была запущена, то она запустится автоматически. Кроме того, -. \ для загрузки рабочей книги можно перетащить ее пиктограмму из окна Windows в окно Excel. Указание папки Поле Папка на самом деле является раскрывающимся списком. Щелкните на кнопке раскрытия списка, он раскроется, при этом отобразятся системные компоненты вашего компьютера. В этом списке вы можете выбрать другой диск или каталог. Кнопка Переход на один уровень вверх — на ней изображена папка с направленной вверх стрелкой — позволяет переместиться на один уровень вверх в иерархии папок. Отбор по типу файла В нижней части диалогового окна Открытие документа находится раскрывающийся список Тип файлов. Когда открывается описываемое диалоговое окно, в списке отображено Все файлы Microsoft Excel (и длинный список расширений имен файлов). Это означает, что отображаемые в диалоговом окне файлы отфильтрованы по типам и вы видите только те из них, у которых расширение имени файла начинается с букв XL. Другими словами, вы видите только стандартные файлы Excel — файлы рабочих книг, надстроек и шаблонов. Если вы хотите открыть файл другого типа, щелкните на кнопке раскрытия списка и выберите нужный тип файла. Таким образом вы измените способ фильтрации, и в диалоговом окне отобразятся только файлы выбранного типа. Выбор способа отображения файла В диалоговом окне Открытие документа имена файлов рабочих книг могут отображаться различными способами. Чтобы изменить способ отображения имен файлов, щелкните на кнопке Представления в верхней части диалогового окна. Откроется список, в котором выберите нужный способ отображения файлов. Меню Сервис Открыв меню Сервис, расположенное справа в верхней части окна Открытие документа, вы увидите контекстное меню, содержащее ряд команд. ■ Найти. Открывает новое диалоговое окно, позволяющее провести поиск конкретных файлов. ■ Удалить. Удаляет выбранные файлы. ■ Переименовать. Позволяет переименовать выбранный файл. ■ Печать. Открывает выбранный файл, печатает его содержимое и закрывает его. Глава 6. Работа с файлами и шаблонами 127
Добавить на панель адресов. Добавляет ярлык для выделенного файла в папку на вашем Web-сервере. Подключить сетевой диск. Открывает диалоговое окно, позволяющее подключить сетевой диск или каталог к выбранному локальному устройству. Свойства. Открывает диалоговое окно свойств выделенного файла. Это позволяет просмотреть или изменить свойства файла, не открывая сам файл. Автоматическое открытие рабочих книг Многие пользователи изо дня в день работают с одними и теми же рабочими книгами. Если вы также относитесь к этой категории пользователей, то вам, наверное, будет приятно узнать, что можно заставить Excel открывать определенные файлы рабочих книг автоматически после загрузки программы. Для этого предусмотрена специальная папка XLStart, которая находится в папке документов Excel. Например, путь может выглядеть следующий образом: C:\Documents and 5е^1пдз\имя_пользователя\АррИса^оп Data\Microsof t\ Excel\XLStart (здесь имя_пользователя — ваше зарегистрированное имя пользователя). Возможно, папку XLStart вы найдете по такому пути: C:\Program Files\Microsoft Office\Officell\XLStart Любые файлы рабочих книг (кроме файлов шаблонов), помещенные в эту папку, будут открываться автоматически при запуске Excel. А если после запуска программы автоматически должны быть открыты один или несколько файлов, то чистая рабочая книга создаваться не будет. В дополнение к папке XLStart вы можете определить другую папку для начальной загрузки файлов рабочих книг. Для этого выберите команду Сервисе Параметры и щелкните на вкладке Общие. В поле Каталог автозагрузки введите имя новой папки и щелкните на кнопке ОК. После этого Excel будет автоматически открывать все файлы рабочих книг, находящиеся как в папке XLStart, так и в той папке, которую вы указали. Сохранение и закрытие рабочих книг При работе в Excel не исключена возможность потери файла в случае каких-либо непредвиденных обстоятельств, например при отключении питания или зависании системы. Поэтому вы должны сохранять работу на диске как можно чаще. Операция сохранения файла занимает всего несколько секунд, а восстановление файла, над которым вы работали, может занять несколько часов или даже дней. В Excel предусмотрено четыре способа сохранения рабочей книги. ■ Выберите команду ФаЙлОСохранить. ■ Щелкните на кнопке Сохранить, которая находится на стандартной панели инструментов. ■ Нажмите комбинацию клавиш <Ctrl+S>. ■ Нажмите комбинацию клавиш <Shift+F12>. Если рабочая книга уже сохранялась раньше, то в результате выполнения одного из описанных действий она снова сохранится на диске под тем же именем файла. Предыдущая версия файла будет стерта. Если вы хотите сохранить рабочую книгу в новом файле, воспользуйтесь командой Файл^Сохранить как или нажмите клавишу <F12>. 128 Часть I. Вводный курс
Если ваша рабочая книга еще ни разу не сохранялась, то в ее строке заголовка Совет. будет указано имя, например Книга1 или Книга2. Хотя в Excel допускается для файлов рабочих книг использовать указанные стандартные имена, делать этого •■Л не рекомендуется. Поэтому при первом сохранении новой рабочей книги на экране появится диалоговое окно Сохранение документа. Таким образом, вы сможете дать своему файлу более содержательное имя. Окно Сохранение документа очень похоже на диалоговое окно Открытие документа. Здесь вы также должны указать имя рабочей книги и папку, в которую ее нужно поместить. Если вы хотите сохранить файл в другой папке, выберите ее в поле Папка. Если нужно создать новую папку, в диалоговом окне Сохранение документа щелкните на кнопке Создать папку. Новая папка будет создана внутри той папки, имя которой указано в поле Папка. Выбрав папку, введите имя файла в поле Имя файла. Расширение файла можно не указывать — Excel добавит его автоматически, в зависимости от типа файла, указанного в поле Тип файла. Если файл с таким же именем уже существует в указанной папке, программа выведет вопрос, хотите ли вы заменить этот файл новым. Будьте внимательны, поскольку восстановить предыдущий файл будет невозможно. Помните, что сохранение файла вызывает потерю его предыдущей версии, на- \ ходящейся на диске. Поэтому, если вы открыли рабочую книгу, а затем случайно иимание ИСГЮртили ее, ни в коем случае не сохраняйте файл! Вместо этого закройте файл рабочей книги, не сохраняя его, а затем откройте снова. Средство Автовосстановление Средство Автовосстановление автоматически сохраняет резервную копию рабочей книги через заданные промежутки времени. Кроме того, при аварийном завершении работы Excel данное средство позволяет сохранить данные, над которыми вы работали. Во вкладке Сохранение диалогового окна Параметры можно включить или отключить Автовосстановление, а также установить временной интервал, по истечении которого будет сохраняться резервная копия. Помните, что средство Автовосстановление не перезаписывает файл рабочей книги. Вместо этого сохраняется копия файла. Поэтому, даже если средство активизировано, следует периодически сохранять рабочую книгу. Если произошло аварийное завершение работы Excel, то, запустив программу в следующий раз, вы увидите список документов, которые были открыты во время последнего сеанса. Выберите, какую версию файла вы желаете открыть: сохраненную на диске или с помощью средства Автовосстановление. Завершив работу, вы должны закрыть рабочую книгу, чтобы освободить память компьютера, которую она занимает. Закрыть рабочую книгу можно одним из перечисленных ниже способов. ■ Выберите команду ФайлоЗакрыть. ■ Щелкните на кнопке закрытия, которая находится в строке заголовка рабочей книги. ■ Дважды щелкните на пиктограмме системного меню, расположенной в строке заголовка рабочей книги. ■ Нажмите комбинацию клавиш <Ctrl+F4>. ■ Нажмите комбинацию клавиш <Ctrl+W>. Если в рабочую книгу со времени последнего сохранения были внесены какие-либо изменения, то перед ее закрытием появится окно сообщения. Чтобы сохранить изменения перед закрытием книги, щелкните на кнопке Да. Щелчок на кнопке Нет приведет к закрытию рабочей книги с потерей всех несохраненных данных. Глава 6. Работа с файлами и шаблонами 129
Для того чтобы закрыть все рабочие книги, нажмите и удерживайте клавишу Совет <Shift>, а затем выберите команду Файл^Закрыть все. Эта команда появится в меню Файл только в том случае, если во время его открытия вы будете удержи- I вать нажатой клавишу <Shift>. При выборе указанной команды Excel будет по очереди закрывать каждую рабочую книгу. Если обнаружатся несохраненные рабочие книги, то программа выведет окно сообщения с предложением сохранить эти книги. Как присвоить имя файлу При выборе имен файлов рабочих книг Excel руководствуются общими правилами, принятыми в операционной системе Windows. В имени файла может содержаться до 255 символов, включая пробелы. Это позволяет давать файлам содержательные имена. Однако в именах файлов не допускается использование следующих символов: \ (обратная косая черта); ? (знак вопроса); : (двоеточие); * (звездочка); " (кавычки); < (меньше); > (больше); | (вертикальная черта). Дли лучшего восприятия имен файлов можно использовать прописные и строчные буквы. Но, несмотря на это, в именах файлов регистр не учитывается. Например, если у вас есть файл под именем проект 2004 и вы пытаетесь сохранить другой файл под именем проект 2004, то программа спросит, хотите ли вы записать его поверх первоначального файла. Параметры сохранения файлов В диалоговом окне Сохранение документа предусмотрена специальная кнопка Сервис. После щелчка на ней на экране появляется меню со списком команд, среди которых присутствует команда Общие параметры. Выбор этой команды открывает диалоговое окно Параметры сохранения (рис. 6.3), которое содержит описанные ниже опции. : Всягд* додавать ре»рвнук>£ргмо П#ра»дл*ЕТКрмтия- ^И__ ПарСИ» ДЛЯ ЦШЧ!*1 ^^Г~_ Г" ГЪсжшмвдт»доступ тв***9лля у«*я» \- Д-»^янитМ*«.. J j ОС | Отимч | ■ 1 Рис. 6.3. Диалоговое окно Параметры сохранения Всегда создавать резервную копию. Если эта опция активизирована, то перед сохранением рабочей книги ее существующая версия переименовывается в файл с расширением ВАК. Это позволяет в случае необходимости вернуться к ранее сохраненной версии рабочей книги. Некоторым пользователям нравится эта возможность, поскольку она создает еще один уровень защиты. Но помните, что при выборе данной опции файлы рабочих книг будут занимать примерно в два раза больше дискового пространства. Поэтому не забывайте периодически удалять старые файлы резервных копий. 130 Часть I. Вводный курс
Пароль для открытия. Если вы укажете в этом поле пароль, то перед каждым открытием данной рабочей книги программа будет требовать ввода пароля. После ввода нового пароля программа запросит его подтверждение, поэтому вам потребуется ввести его еще раз. Пароль зависим от регистра вводимых символов, и его длина не должна превышать 15 символов. Будьте внимательны, используя эту возможность: если вы забудете пароль, то обычными способами открыть файл рабочей книги будет невозможно. Пароль для изменения. Программа будет запрашивать данный пароль при сохранении рабочей книги под тем же именем. Используйте этот пароль, чтобы быть уверенным в том, что в исходную версию рабочей книги не будут внесены какие-либо изменения. Другими словами, рабочая книга может быть сохранена в файле под новым именем, а для перезаписи исходной версии потребуется специальный пароль. Рекомендовать доступ только для чтения. Если активизирована эта опция, то файл не может быть сохранен под первоначальным именем. Это еще одна возможность гарантировать, что исходный файл рабочей книги не будет перезаписан. Дополнительно. Щелчок на этой кнопке открывает диалоговое окно Тип шифрования, где можно выбрать способ шифрования рабочей книги. Общая информация о рабочей книге При первом сохранении файла после закрытия диалогового окна Сохранение документа программа может предложить вам ввести общую информацию о файле. Для этого на экране появится диалоговое окно Свойства (рис. 6.4). В его поля можно ввести дополнительную информацию о рабочей книге. Здесь можно найти и некоторые сведения о файле. Открыть это диалоговое окно можно с помощью команды Файл^Свойства. Рис. 6.4. В диалоговом окне Свойства можно сохранить дополнительную информацию о рабочей книге Диалоговое окно Свойства содержит пять вкладок. ■ Общие. В этой вкладке отображается общая информация о файле: имя, размер, местонахождение, дата создания и т.д. Информацию в этой вкладке изменить нельзя. ■ Документ. Здесь содержится девять информационных полей, которые вы можете заполнить или изменить. Информация из этой вкладки используется для быстрого поиска рабочих книг, удовлетворяющих определенным критериям. Чтобы эта вкладка появлялась по умолчанию при первом сохранении файла, во вкладке Общие диалогового окна Параметры установите флажок Предлагать заполнение свойств файла. Глава 6. Работа с файлами и шаблонами 131
Статистика. В этой вкладке отображается дополнительная информация о файле, изменить которую нельзя. Состав. В этой вкладке отображается название листов рабочей книги, сгруппированных по типам. Прочие. Эта вкладка может оказаться весьма полезной, если вы будете пользоваться ею постоянно. Она позволяет хранить разнообразную информацию о файле в виде базы данных. Например, если рабочая книга имеет отношение к клиенту по имени Иванов из фирмы Рога и копыта, то вы можете ввести эту информацию и использовать ее в дальнейшем для поиска файла. Как избежать потери данных Если вы уже какое-то время работали с компьютерами, то, вероятно, знаете, что жесткие диски не вечны. Кроме того, могут испортиться и файлы, в результате чего их нельзя будет прочитать и они станут совершенно бесполезными. Если информация, хранимая в файле, для вас действительно важна, следует позаботиться о ее сохранности. Существует несколько способов резервного копирования для обеспечения сохранности отдельных файлов. Вы уже знаете, что нужно сделать, чтобы Excel создавала резервную копию рабочей книги при сохранении файла. Это достаточно эффективный, но не единственный способ защиты, который вы можете использовать. Ниже приведено еще несколько способов защиты файлов рабочих книг. ■ Хранить резервную копию файла на том же диске. Эта возможность обеспечивается при выборе опции Всегда создавать резервную копию диалогового окна Параметры сохранения. Данный способ помогает предохранить файл от случайной порчи, но он бесполезен в случае, если выйдет из строя жесткий диск. ■ Хранить резервную копию на другом жестком диске. Предполагается, что на вашем компьютере несколько жестких дисков. Данный способ обеспечивает более надежную защиту, чем предыдущий, поскольку маловероятно, что оба жестких диска выйдут из строя одновременно. Но, конечно, если весь компьютер будет уничтожен или украден, этот способ вас не спасет. ■ Хранить резервную копию на сетевом сервере. Предполагается, что ваш компьютер соединен с сервером, на котором вы можете хранить файлы. Это достаточно надежный метод. Но если сервер сети находится в том же здании, что и компьютер, то вы рискуете потерять информацию, например если все здание сгорит или будет разрушено каким-нибудь другим способом. ■ Хранить резервную копию на сменном носителе. Это самый надежный метод. Использование сменного носителя, такого, как дискета или компакт-диск, позволяет физически поместить копию файла в другое место. Поэтому, если будет уничтожен ваш компьютер (или даже все здание, в котором он находится), резервная копия останется целой. В Excel, как и во всех приложениях Microsoft Office, есть средство восстановления Совет файлов после аварийного завершения работы. Когда вы откроете Excel после та- кого завершения работы, вам будет предложен список сохраненных копий рабо- ЬЛ чей книги; из него можно выбрать ту копию, с которой будет восстановлена рабочая книга. Это средство восстановления файлов, конечно, не исключает необходимости их резервного копирования. 132 Часть I. Вводный курс
Шаблоны Шаблон — это модель, которая служит основой для чего-то еще. Если вы хорошо в этом разберетесь, то с помощью шаблонов сэкономите уйму времени и сил и избавите себя от ненужной работы. Например, вы всегда выводите на печать верхние колонтитулы. Следовательно, каждый раз при печати рабочей таблицы вам приходится выбирать команду ФаЙлОПараметры страницы для создания верхних колонтитулов. Чтобы этого не делать, нужно изменить шаблон, который использует Excel для создания новой рабочей книги. В данном случае модификация файла шаблона будет заключаться во вставке в него необходимого колонтитула. Сохраните этот файл шаблона, после чего каждая создаваемая вами рабочая книга будет иметь заданный верхний колонтитул. Excel поддерживает три типа шаблонов. ■ Шаблон стандартной рабочей книги. Служит основой для новых рабочих книг. ■ Шаблон стандартного рабочего листа. Служит основой для новых листов, добавляемых в рабочую книгу. ■ Новый шаблон рабочей книги. Обычно это готовые к использованию рабочие книги, содержащие формулы и форматирование. Как правило, они устроены так, чтобы пользователь мог внести свои значения и сразу получить нужные результаты. Включенные в Excel шаблоны, которые находятся в папке Решения, относятся к этому типу. Далее рассматриваются все типы шаблонов. Шаблон стандартной рабочей книги В файле шаблона стандартной рабочей книги Excel хранит все установки, задаваемые по умолчанию, когда создается новая рабочая книга или добавляется новый рабочий лист в уже существующую книгу. Вы можете создать собственные файлы шаблонов, тогда Excel при создании новых книг в качестве установленных по умолчанию параметров будет использовать те установки, которые хранятся в ваших шаблонах. Изменение стандартных параметров рабочих книг Как известно, каждая новая рабочая книга, которую вы создаете, содержит некоторые стандартные установки. Например, листы рабочей книги содержат линии сетки, текст выводится 10- пунктовым шрифтом Arial, вводимые значения отображаются в формате Общий и т.д. Если вас не устраивают какие-либо стандартные параметры рабочей книги, вы можете их изменить. Внесение изменений в стандартную рабочую книгу Excel обычно не вызывает затруднений и в конечном счете позволяет сэкономить массу времени. Чтобы изменить стандартные параметры рабочей книги, выполните ряд действий. 1. Откройте новую рабочую книгу. 2. Добавьте или удалите листы, чтобы рабочая книга содержала нужное количество рабочих листов. 3. Внесите другие изменения, связанные, например, с шириной столбцов, стилями, параметрами страницы и другими установками, доступными в диалоговом окне Параметры. Чтобы изменить стандартные параметры форматирования для ячеек, выберите команду Формат^Стиль и измените установки для стиля Обычный. Например, измените шрифт, его размер или формат отображения чисел. Глава 6. Работа с файлами и шаблонами 133
4. Когда рабочая книга примет желаемый облик, выберите команду ФайлОСохранить как. 5. В диалоговом окне Сохранение документа выберите из раскрывающегося списка Тип файла формат Шаблон (*.xlt). 6. В поле Имя файла введите книга.хК. Скорее всего, Excel предложит для шаблона имя книга1 .xlt. Если вы хотите, что- | бы Excel использовала именно ваш шаблон при создании новых рабочих книг, Внимание! измвните это имя на книга.хК. 7. Сохраните файл в папке XIstart. Эта папка, вероятнее всего, находится в папке C:\Program Files\Microsoft Совет office\Office, ИЛИ C:\Windows\Application Data\Microsoft\Excel, ИЛИ С:\Windows\ProfИез\имя_лользователя\АфрИса£10П Data\Microsoft\ Excel (здесь имя_пользователя— ваше зарегистрированное имя пользователя). Точное местоположение папки зависит от установленной на вашем компьютере версии Windows. 8. Закройте файл. 9. Закройте и перезапустите Excel (вы не сможете использовать новый шаблон до тех пор, пока не перезапустите Excel). Можно также сохранить файл шаблона книга .xlt в папке, определенной как альтернативный каталог автозагрузки. Такая папка определяется в поле Каталог автозагрузки во вкладке Общие диалогового окна Параметры. Л После выполнения описанных выше действий шаблон рабочей книги Книга.xlt по умолчанию будет служить основой для новых рабочих книг. Чтобы создать рабочую книгу на основе шаблона, используйте любой из приведенных ниже методов. ■ Щелкните на кнопке Создать, которая находится на стандартной панели инструментов. ■ Нажмите комбинацию клавиш <Ctrl+N>. ■ Откройте заново Excel (без выбора каких-либо рабочих книг). Шаблон стандартного рабочего листа Когда вы вставляете новый рабочий лист в рабочую книгу, Excel для этого листа использует свои встроенные установки. К ним относятся такие элементы, как ширина столбца, высота строки и т.п. Если вас не удовлетворяют стандартные параметры для нового рабочего листа, их можно изменить. 1. Откройте новую рабочую книгу, удалив все листы, кроме одного. 2. Внесите любые изменения, которые вам необходимы. Они могут быть связаны, например, с шириной столбцов, стилями, параметрами страницы и другими установками, доступными в диалоговом окне Параметры. 3. Когда рабочая книга примет нужный вид, выберите команду Файл ^Сохранить как. 4. В диалоговом окне Сохранение документа выберите из раскрывающегося списка Тип файла формат Шаблон (*.xlt). 5. В поле Имя файла введите лист.хИ. 134 Часть I. Вводный курс
6. Сохраните файл в папке XIstart или в папке автозагрузки. Такая папка определяется в поле Каталог автозагрузки во вкладке Общие диалогового окна Параметры. 7. Закройте файл. 8. Закройте и перезапустите Excel. После выполнения этой процедуры все новые листы, вставляемые с помощью команды ВставкаОЛист, форматируются согласно вашему шаблону лист. xlt. Когда вы щелкаете правой кнопкой мыши на ярлычке рабочего листа и выбираете из контекстного меню команду Добавить, Excel отображает диалоговое окно Вставка, которое выглядит точно так же, как диалоговое окно Создание документа. И если вы создали шаблон под именем лист. xlt, можете выбрать его, щелкнув на пиктограмме Лист. Редактирование шаблонов После того как создан шаблон книга. xlt или лист . xlt, вам может потребоваться его изменить. В этом случае нужно открыть этот файл шаблона и отредактировать его так же, как и любую другую рабочую книгу. По окончании редактирования не забудьте сохранить рабочую книгу, после чего закройте ее. Возврат к стандартной рабочей книге Если вы создали файл книга .xlt или лист .xlt, а затем пришли к выводу, что лучше пользоваться стандартными параметрами Excel, удалите файл шаблона из папки XIstart. После этого при создании новых рабочих книг или листов Excel будет обращаться ко встроенным стандартным установкам. Можно также переименовать или переместить в другую папку файл шаблона. В этом Совет случае вы при необходимости сможете воспользоваться им в будущем. Новые шаблоны рабочих книг Рассмотренные в предыдущем разделе шаблоны книга.xlt и лист.xlt представляют собой специальные типы шаблонов, которые определяют стандартные установки для новых рабочих книг и новых рабочих листов. В этом разделе рассматриваются другие типы шаблонов, так называемые шаблоны рабочих книг. Шаблон рабочей книги — это рабочая книга, которая подготовлена к использованию в качестве основы для новой рабочей книги. Для чего нужен шаблон рабочей книги? Ответ прост: для того чтобы не выполнять много раз одни и те же действия. Предположим, вы создаете отчет по продажам за месяц, который должен содержать данные по регионам, а также некоторые итоговые расчеты и диаграммы. Чтобы выполнить стоящую перед вами задачу, вы можете создать файл шаблона, который будет содержать все необходимые элементы, за исключением исходных данных. После этого, когда придет время сдавать отчет, вы сможете создать рабочую книгу, построенную на основе этого шаблона, заполнить пустые ячейки (ввести исходные данные) — и все готово. Разумеется, можно сделать проще: воспользоваться рабочей книгой с данными за предыдущий месяц и сохранить ее под другим именем. Но это часто приводит к ошибкам, так как можно забыть выполнить команду Сохранить как и в результате случайно затереть файл с данными за прошлый месяц. Когда вы создаете рабочую книгу на основе шаблона, Excel создает копию этого шаблона в памяти компьютера, чтобы исходный шаблон остался в целости и сохранности. По умолчанию Глава 6. Работа с файлами и шаблонами 135
имя рабочей книги будет состоять из имени шаблона и некоторого числа. Например, если вы создаете новую рабочую книгу на основе шаблона под именем Авансовый отчет. xlt, то по умолчанию рабочей книге будет присвоено имя Авансовый отчет1. xls. При первом сохранении рабочей книги, созданной на основе шаблона, Excel отобразит диалоговое окно Сохранение документа, чтобы вы могли присвоить ей другое имя. Новый шаблон — это обычная рабочая книга, в которой могут использоваться любые возможности Excel, например диаграммы, формулы и макросы. Обычно шаблон спроектирован так, чтобы пользователь мог ввести значения и сразу получить результаты. Другими словами, большинство шаблонов включают все, кроме данных, ввод которых предоставляется пользователю. Если с вашим шаблоном будет работать начинающий пользователь, то лучше Совет заблокировать все ячейки, кроме тех, в которые должны вводиться данные. Для этого сначала воспользуйтесь вкладкой Защита диалогового окна Формат ячеек \ для указания того, что следует защищать. Затем защитите рабочий лист с помощью команды Сервис* Защитам Защитить лист. Сохранение новых шаблонов Чтобы сохранить рабочую книгу в качестве нового шаблона, выберите команду ФайлО Сохранить как, а затем из раскрывающегося списка Тип файла — опцию Шаблон (*.xlt). Сохраните свой шаблон в папке Шаблоны или во вложенной в нее папке. Если впоследствии у вас возникнет необходимость изменить шаблон, выберите команду ФайлООткрыть, чтобы открыть и отредактировать шаблон (не используйте команду ФаЙлО Создать, так как это приведет к созданию новой рабочей книги на основе выбранного шаблона). Идеи по созданию шаблонов В этом разделе предлагается несколько идей, которые могут воодушевить вас на создание шаблонов. Ниже приведен перечень параметров, которые вы можете изменить и использовать в своих шаблонах. ■ Несколько рабочих листов с разными форматами. Можно, например, создать шаблон рабочей книги, состоящей из двух рабочих листов, один из которых отформатирован для печати с альбомной ориентацией, а другой — для печати с книжной ориентацией. ■ Выбор параметров во вкладке Вид диалогового окна Параметры. Например, вы не хотите видеть на экране ярлычки рабочих листов. В этом случае можно отключить соответствующую опцию. ■ Палитра цветов. Чтобы создать новую палитру цветов для рабочей книги, воспользуйтесь вкладкой Цвет диалогового окна Параметры. ■ Стили. Лучше всего воспользоваться командой ФорматОСтиль и изменить атрибуты стиля Обычный. Например, можно изменить шрифт или его размер, а также способы выравнивания и другие атрибуты. ■ Созданные пользователем форматы чисел. Если вы создали новые форматы чисел и собираетесь ими часто пользоваться, то их также можно сохранить в шаблоне. ■ Ширина столбцов и высота строк. Вы можете изменить используемые по умолчанию значения для ширины столбцов и высоты строк. 136 Часть I. Вводный курс
■ Параметры печати. Измените эти параметры в диалоговом окне Параметры страницы. К этим параметрам относятся: ориентация страницы, размер бумаги и полей, верхние и нижние колонтитулы, а также некоторые другие атрибуты. ■ Параметры листа. Это опции диалогового окна Параметры. К ним относятся: отображение линий сетки, автоматического разделителя страниц, заголовков строк и столбцов. Конечно, вы можете создать шаблон и на основе полностью законченной рабочей книги. Например, если вам часто приходится делать специальные отчеты, вы можете создать шаблон, содержащий все установки этого отчета за исключением данных. Глава 6. Работа с файлами и шаблонами 137
ГЛАВА Печать результатов работы В этой главе... Быстрая печать документов Изменение параметров печати • Сокрытие ячеек перед печатью Предварительный просмотр перед печатью Н есмотря на оптимистичные прогнозы о "безбумажном офисе", большинство рабочих книг, создаваемых в Excel, по-прежнему проектируются для последующей печати в виде отчета. Вы уже знаете, что выполнять печать из Excel достаточно просто. При минимальных усилиях вы сможете создать довольно привлекательные и хорошо отформатированные отчеты. В Excel представлено много опций печати, которые детально описываются в этой главе. Быстрая печать документов Для немедленного запуска процесса печати текущего рабочего листа с использованием стандартных установок применяется кнопка Печать, расположенная на стандартной панели инструментов. Щелкните на этой кнопке, и Excel выведет текущий рабочий лист на принтер. По умолчанию при выполнении печати в Excel используются перечисленные ниже параметры (не забывайте, что при необходимости вы всегда можете их изменить). ■ На печать выводится текущий лист или отмеченные рабочие листы, включая любые встроенные диаграммы или графические объекты. ■ Число копий — 1. ■ Рабочий лист печатается целиком. ■ Применяется книжная ориентация страниц. ■ Печатаемые документы не масштабируются. ■ Размер верхнего и нижнего полей равен 1 дюйму (2,54 см), а правого и левого — 0,75 дюйма (2 см). ■ Печать выполняется без верхнего и нижнего колонтитулов. ■ При печати большие рабочие листы разбиваются на страницы, которые располагаются по правилу "вниз и вправо".
Когда вы распечатываете рабочий лист. Excel выводит только его активную область. Другими словами, будут распечатаны не все 4 млн. ячеек, а только те из них, которые содержат данные. Если лист содержит встроенные диаграммы или графические объекты, они также распечатываются (если только вы не изменили свойства печатаемого объекта). Для быстрого определения активной области на рабочем листе нажмите комби- Совет нацию клавиш <Ctrl+End>. Табличный курсор переместится в последнюю ячейку активной области. Тогда активной будет область от ячейки А1 до той ячейки, где -,Л находится табличный курсор. Изменение параметров печати Далее обсуждаются различные параметры печати, которые можно изменить. Для корректировки этих установок используются два диалоговых окна. ■ Диалоговое окно Печать, для вызова которого используется команда ФайлОПечать или комбинация клавиш <Ctrl+P>. ■ Диалоговое окно Параметры страницы, которое вызывают с помощью команды ФайлОПараметры страницы. Это окно имеет четыре вкладки. Оба диалоговых окна имеют кнопку Просмотр; щелкнув на ней, можно увидеть на экране, как будут выглядеть данные после распечатки. ! Средство Предварительный просмотр более детально обсуждается в раз- ополнительАя деле "Предварительный просмотр перед печатью" далее в главе, нформация Использование диалогового окна Печать Как правило, процесс печати начинается с вывода на экран диалогового окна Печать (если, конечно, вы не воспользовались кнопкой Печать, которая расположена на стандартной панели инструментов). Выбрав нужные параметры печати, щелкните на кнопке ОК, чтобы распечатать отчет. Щелчок на кнопке ОК в диалоговом окне Печать без изменения каких-либо уста- Совет новок печати равнозначен щелчку на кнопке Печать, расположенной на стандартной панели инструментов. -\> На рис. 7.1 показано диалоговое окно Печать. Ниже рассматриваются опции, представленные в этом окне. Выбор принтера В группе опций Принтер диалогового окна Печать можно выбрать принтер для печати текущего отчета, а также определить установки принтера. Перед печатью убедитесь в том, что вы правильно выбрали принтер (в случае если у вас есть доступ к нескольким принтерам). Выбор осуществляется в диалоговом окне Печать с помощью раскрывающегося списка Имя (см. рис. 7.1). Это диалоговое окно также предоставляет информацию о выбранном принтере: сообщает, каково его состояние и к какому порту он подсоединен. Глава 7. Печать результатов работы 139
| > Lexmark 320 J Cotor Jetprinter С«ль»в«( Свободен ' "P*e Lexma^320GCcior,tetEinr*er j Залетят Лемвтатъ —- [-Вывести и* печать———■ ■ — ?~ выжлентЗдтмпаэои Г" воокнигу . Р выдел»«ые диеты Г Оаооютр J :1 эпий; [У | 1 Свойства j Гпачвтьвфайя | Р Ёахвовть по когмя* OK j Отмена | Рис. 7.1. Диалоговое окно Печать Щелкните на кнопке Свойства, и на экране появится окно свойств для выбранного принтера. Содержимое окна зависит от типа принтера. Это диалоговое окно позволяет определить установки для конкретного принтера. В большинстве случаев вам не нужно менять эти параметры, но следует познакомиться поближе с теми из них, которые можно изменять. В Excel предусмотрен режим предварительного просмотра разбивки страниц. Для того чтобы включить этот режим, выберите команду ВидОРазметка страницы. При этом вид рабочего листа изменится, и вы увидите, что будет напечатано на каждой печатной странице и где находятся разрывы страниц. Для того чтобы изменить размеры страниц, перетащите одну из темных разделительных рамок. Ниже в главе данная возможность рассматривается более подробно. После того как вы распечатаете лист или просмотрите его в режиме предварительного просмотра, Excel покажет на экране штриховые линии раздела страниц. Это очень полезная возможность, поскольку масштаб изображения может быть динамически изменен. Например, если ваша таблица слишком широка, чтобы разместиться на одной странице, вы можете корректировать ширину столбцов (при этом внимательно следя за линией разрыва страницы) до тех пор, пока все данные не поместятся на одной странице. Совет Если вы не хотите, чтобы на рабочем листе отображались линии разрыва страниц, откройте диалоговое окно Параметры, щелкните на вкладке Вид и снимите флажок Авторазбиение на страницы. Помните, что отображение линий раздела I страниц замедляет работу макросов. Что делать, если Excel аварийно завершает работу при печати Если при попытках распечатать или просмотреть перед печатью данные происходит аварийное завершение работы Excel, то, возможно, источником проблем являются драйверы принтера или видеокарты. Прежде всего убедитесь, что в вашей системе установлены последние версии драйверов. В документации к принтеру найдите точный номер модели вашего принтера. Затем зайдите на Web-узел производителя. Перейдите в раздел, в котором представлены драйверы производимых устройств. Выберите нужные драйверы и следуйте инструкциям по установке. Если и после этого вам не удается распечатать документы, то причиной неполадок, скорее всего, являются драйверы видеокарты. Поэтому аналогичным образом установите последние версии драйверов для установленной на вашем компьютере видеокарты. 140 Часть I. Вводный курс
Выбор области печати Иногда возникает необходимость напечатать только часть рабочего листа или выделенный диапазон. Также иногда нужно перепечатать некоторые страницы уже распечатанного отчета. Обе операции можно выполнить с помощью диалогового окна Печать. Раздел Вывести на печать диалогового окна Печать позволяет указать область печати. Выберите одну из трех опций. ■ Выделенный диапазон. Печатается только тот диапазон ячеек, который вы выделили перед выбором команды Файл "^Печать. ■ Выделенные листы. Печатается текущий рабочий лист или все листы, которые вы выбрали. Можно выбрать несколько листов, нажав клавишу <Ctrl> и щелкнув мышью на ярлычках рабочих листов. Если выбрано несколько листов, каждый из них печатается на отдельной странице. ■ Всю книгу. Печатается целиком рабочая книга, включая листы диаграмм. Вы можете также использовать команду Файл=>Область печати^Задать для указания одного или нескольких диапазонов, которые вы хотите напечатать. Перед тем как применить эту команду, выделите один или несколько диапазонов, которые вы хотите напечатать. Для отмены этого действия выберите команду Файл1* Область печати ^Убрать. Печать отдельных страниц Если ваш отчет состоит из нескольких страниц, то при выводе на печать вы можете выбрать, какие из них нужно напечатать. В разделе Печатать диалогового окна Печать задайте номер первой и последней страницы, которую нужно напечатать. Для установки номеров страниц можете воспользоваться счетчиками или ввести их вручную в соответствующие поля ввода. Печать нескольких копий Диалоговое окно Печать позволяет задать количество распечатываемых копий. Для этого используется счетчик Число копий. Можно также указать, чтобы страницы каждой копии были собраны вместе. Таким образом, если установить флажок Разобрать по копиям, то Excel будет последовательно выводить на печать все страницы для одной копии, а затем будет переходить к следующей. Если же флажок с этой опции будет снят, то сначала будут печататься все копии первой страницы, затем второй и т.д. Если вы печатаете только одну страницу, опция Разобрать ПО копиям игнорируется. Использование диалогового окна Параметры страницы Диалоговое окно Параметры страницы содержит дополнительные опции параметров печати. Здесь находятся опции, которые позволяют настраивать параметры макета страницы, устанавливать поля и колонтитулы. Также в этом диалоговом окне можно задать некоторые настройки рабочего листа. Для вывода на экран окна Параметры страницы выберите команду ФайлОПараметры страницы. На рис. 7.2 представлена вкладка Страница этого диалогового окна. Совет Глава 7. Печать результатов работы 141
1ш iC^»*K(aJj ncm | Кояонтитупы j Лет | Овчвть.. J Оц**мм«ий ] AJ ^ ttJJWOMfl A f *" *кб&М»4Я М.1 Щ1«б Р" хстажвит*.' I100 ij Ч от натуральной еыичииы С раакестить не более чей маг jt ^jcrp.cu»y»—ум |: ^j стр. в «коту Pawep 5у-аги: Кзччстео печати: к J1200 точек на дюйи А ■л Нс*«р первой странную: 1Авто Z Яис. 7.2. Большинство параметров устанавливаются во вкладке Страница диалогового окна Параметры страницы Установка параметров страницы Во вкладке Страница диалогового окна Параметры страницы можно изменить ряд параметров. ■ Ориентация. Это или Книжная — вертикальная ориентация страницы, или Альбомная — горизонтальная ориентация. Альбомная ориентация может быть полезна в случае, если распечатываемая таблица слишком широка и при печати не помещается на обычную вертикально ориентированную страницу. ■ Масштаб. Позволяет вручную установить масштабный множитель или выбрать автоматическое масштабирование выводимых данных для размещения на заданном количестве страниц. Значения масштабного множителя варьируются в диапазоне от 10 до 400% от реального размера. Если вы хотите установить натуральный размер, введите значение 100 в поле % от натуральной величины. Если ваш отчет немного больше, чем нужно, и занимает одну или несколько до- Совет полнительных страниц, конечно же, можно изменить высоту и ширину ячеек или уменьшить размер шрифта. Но вместо этого лучше воспользоваться опцией, ,% обозначенной как Разместить не более чем на: и указать нужное количество страниц. У Размер бумаги. Позволяет выбрать размер листа бумаги. Щелкните мышью на кнопке раскрытия списка, и вы увидите возможные варианты выбора. При этом помните, что в принтере должна находиться бумага указанного размера. Не забудьте, что в этом списке находятся только те форматы, которые поддерживаются выбранным принтером. Качество печати. С помощью этого параметра вы можете изменить разрешение принтера, выраженное количеством точек на дюйм, при условии, что используемое вами устройство поддерживает это разрешение. Однако учтите» что для печати с высоким разрешением требуется больше времени. Номер первой страницы. Позволяет определить номер первой страницы. Это пригодится в том случае, если вы печатаете страницы, которые являются частью большого документа, и вам необходима их последовательная нумерация. Используйте опцию Авто, если нужно, чтобы начальный номер был 1 или соответствовал номерам страниц, 142 Часть I. Вводный курс
выбираемым в диалоговом окне Печать. Если номера страниц не выводятся в верхнем или нижнем колонтитуле, то установка этой опции не нужна. Щелчок на кнопке Свойства открывает диалоговое окно, позволяющее изменить Совет установки принтера. Если в принтере имеется несколько лотков с бумагой разно- го размера, то при выборе нестандартного размера бумаги в этом диалоговом Ъ окне нужно определить соответствующий лоток. Изменение размеров полей Поле — это пустое пространство по краям страницы. Чем шире поле, тем меньше остается места на странице для печати данных. В Excel можно задать размеры всех четырех полей. На рис. 7.3 показана вкладка Поля диалогового окна Параметры страницы. (В разделе "Корректировка в режиме предварительного просмотра" далее в главе описано, как изменять поля страницы в режиме предварительно просмотра.) ЕНШЭЯЕЯЯ Стр»»ад П^^П 1 Колонтитулы J Лист верхнее: вчрйнег о копоититуна: ГТ~3 дш Г^~Э ''Просдугр J Оге&п»-., пред*: танвго «ояоиткгуя*: F~3 П~~3 Ц*«тр*вд*еп»*« стрем» - Рис. 7.3. Вкладка Поля диалогового окна Параметры страницы Чтобы изменить ширину поля, используйте счетчик или введите числовое значение в поле ввода. Область предварительного просмотра в середине диалогового окна может сбить вас с толку, поскольку на самом деле не видно, как внесенные изменения выглядят на странице. То поле, которое вы изменяете, показано более темной линией. Большинство принтеров не могут печатать очень близко к краю бумаги. Если вы указали слишком маленькие размеры полей, то текст, расположенный на краях, может просто не появиться при распечатке. Кроме полей страницы, можно корректировать отступ верхнего колонтитула от верхнего края страницы и нижнего колонтитула от нижнего края страницы. Эти значения должны быть меньше, чем соответствующие поля, иначе верхний или нижний колонтитулы могут перекрываться печатаемыми данными. Обычно в Excel печатаемые данные располагаются, начиная с левого верхнего угла. Если вы хотите отцентрировать данные на странице по вертикали или по горизонтали, установите соответствующие флажки. Глава 7. Печать результатов работы 143
рлолнитель нформация Изменить размер полей можно во время предварительного просмотра. Возможности предварительного просмотра описываются далее в главе. Задание колонтитулов Верхний и нижний колонтитулы — это информационная строка, которая помещается соответственно вверху и внизу каждой печатаемой страницы. Колонтитулы имеют три части: левую, центральную и правую. Например, можно создать верхний колонтитул, в левой части которого будет указано ваше имя, в центральной — название листа, а в правой — порядковый номер страницы. По умолчанию колонтитулы не устанавливаются. Вкладка Колонтитулы диалогового окна Параметры страницы показана на рис. 7.4. В этом диалоговом окне представлены текущие колонтитулы, кроме того, можно выбрать другие колонтитулы из раскрывающихся списков Верхний колонтитул и Нижний колонтитул. Страница | Ttom . КопйкттуяьЛ] Лист | В«0)рт*1 КОЛОГГТКГУЛ! (нет) Создать верхний кйпоктгуя... Создать м>*жг*й<опонтмтуя... НИЗШИЙ К&ЙОНТИГУЯ! |("ет) d 1 1 3 ■' ' L_£ Qwm... | Просмотр 1 CeogCTM.. { К | От»» | Рис. 7.4. Вкладка Колонтитулы диалогового окна Параметры страницы Если вы щелкнете на одном из раскрывающихся списков — Верхний колонтитул или Нижний колонтитул, Excel выведет на экран список встроенных колонтитулов. Если вам подойдет один из них, выберите его. После этого вы сможете увидеть, как он будет выглядеть на странице: какая из частей будет выровнена по лев.ому краю, по центру или по правому краю. Если вы не хотите выводить колонтитулы, выберите из списка опцию нет. '' 'Чнн'.тп——j— ЙЙ^^С *J Для форматирования текста выделите текст, ъатем паямттфкногку идофта. Чтобыпсместить:«нвр<траницы, дату время. имйФййм путькфаДпуя/иивяяряьг**, установите Kvpcop иэ иесто встаете и нажмите нужную я*у*у Чт«бмвст*втьр-«уки^иажнитекм«1^асгаа>1(1ис>«ка Дт) форматирования рисунка установите курсоре поде редактированиян нажните кнопку форматирования рисунка. _aj MM Bl±J Q|©|uJ о]_| 8цвтгрв: Рис. 7.5. Если ни один из стандартных колонтитулов вас не устраивает, создайте собственный 144 Часть I. Вводный курс
Если ни один из стандартных колонтитулов вас не устраивает, можете создать собственный. Щелкните мышью на кнопке Создать верхний колонтитул или Создать нижний колонтитул; на экране появится диалоговое окно, показанное на рис. 7.5. Это диалоговое окно позволяет ввести текст или коды в любую из трех частей колонтитула. Для ввода текста активизируйте соответствующий раздел диалогового окна и введите туда текст. Щелкнув мышью на одной из кнопок, можно ввести коды для переменных данных, таких, как текущая дата или номер страницы. В результате в соответствующую часть колонтитула будет помещен специальный код. Все кнопки и их описание приведены в табл. 7.1. 20лица 7.1. КНОГ (аолица /л. кнопки для Кнопка Код соад ания колонтитулов и их функции Функция ■ Шрифт Номер страницы Всего страниц Дата Время Путь и имя файла Имя файла Имя листа Добавить рисунок Формат рисунка Нет &[Страница] &[Страниц] &[Дата] &[Время] &[Путь]&[Файл] &[Файл] &[Лист] Нет Нет Выбор шрифта для выделенного текста Вставка номера страницы Вставка общего числа печатаемых страниц Вставка текущей даты Вставка текущего времени Вставка пути и имени файла рабочей книги Вставка имени файла рабочей книги Вставка имени рабочего листа Вставка в колонтитул рисунка Изменяет установки вставленного рисунка Можно сочетать текст и коды и вставлять сколько угодно кодов в каждую часть. Если в тексте колонтитула должен находиться символ амперсанда (&), введите его дважды, поскольку он используется как разделитель кодов. Например, чтобы вывести в колонтитуле текст Исследование & Разработка, введите строку Исследование && Разработка. Кроме того, в колонтитулах можно использовать шрифты различных типов и размеров. Выделите текст, который хотите изменить, и щелкните мышью на кнопке Шрифт. Excel выведет на экран диалоговое окно Шрифт, в котором можно выбрать нужный шрифт. По умолчанию будет использоваться тот шрифт, который определен в стиле Обычный. Колонтитулы могут занимать любое количество строк. Для перехода на следую- Совет щую строку воспользуйтесь комбинацией клавиш <Alt+Enter>. Содержимое созданного колонтитула появляется внизу соответствующего раскрывающегося списка, который находится во вкладке Колонтитулы диалогового окна Параметры страницы. В рабочей книге можно создать только один пользовательский верхний или нижний колонтитул. Так, например, если вы будете редактировать созданный ранее верхний колонтитул, то новый колонтитул полностью заменит его. К сожалению, нельзя напечатать в колонтитулах содержимое конкретной ячейки, например нельзя включить в часть верхнего колонтитула содержимое ячейки А1. Единственно возможный способ— вручную набрать в колонтитуле содержимое этой ячейки или написать макрос для выполнения этой операции. Глава 7. Печать результатов работы 145
На заметку Возможности вставить путь к файлу рабочей книги, а также использовать в колонтитулах изображения впервые появились в Excel 2002. Поэтому, если вы воспользуетесь этими средствами, а затем распечатаете файл из Excel 2000 или из более ранней версии, эти колонтитулы не будут напечатаны. Параметры печатной страницы Вкладка Лист диалогового окна Параметры страницы содержит несколько дополнительных опций (рис. 7.6). Пгаеитт тр-^мш Страниц* | Псмзд ] Копонгнтуль* Cfo" J Выводитьы>печатьдиапазон, (а; А£69 сквоэные стцрки' очю»иыв столбцы Печать Г" сетке Г" а*го«*ки строки столбцов Гчерно-ёедая ^ ■■>■!■- ] «т) Г" черновая 1 ощиоки ячеек как; макраме Последомтвгздост» вмгзда страниц *•" в&а, затвиеправо С" вправо, ьвтви вмиэ т 1 и ■и - =J - J J <ж JjJSl Печать.,. j Пэоортр j ево&тва,.. j [ Cmwa [ Рис. 7.6. Вкладка Лист диалогового окна Параметры страницы Печать диапазона ячеек Ссылки на диапазоны, предназначенные для печати, указываются в поле Выводить на печать диапазон. Если вы выделите диапазон ячеек и выберете опцию Выделенный диапазон в диалоговом окне Печать, то адрес выбранного диапазона появится в поле Выводить на печать диапазон. Кроме того, для появления ссылки достаточно выделить диапазон и присвоить ему внутреннее имя Excel Область_печати. Если поле Выводить на печать диапазон пустое, это означает, что рабочий лист будет печататься целиком. Для печати заданного диапазона активизируйте это поле и укажите нужный диапазон (будет модифицировано определение диапазона Область_печати) или же введите имя ранее определенного диапазона. Печать заголовков Многие рабочие листы имеют заголовки в первой строке и названия элементов в первом столбце. Если такой лист не помещается на одной печатной странице, последующие страницы будет трудно читать, потому что текст первой строки и первого столбца не будет распечатан. В Excel предлагается простое решение: напечатать их на каждой странице. Заголовки, используемые при печати, служат той же цели, что и закрепленные области, при отображении рабочего листа на экране. (О закреплении областей речь шла в главе 3.) Однако помните, что эти средства независимы. Другими словами, если вы закрепите области, то это никак не отразится при печати. 146 Часть I. Вводный курс
SHe путайте заголовки, печатаемые на каждой странице, с верхними колонтиту- | лами — это абсолютно разные вещи. Верхние колонтитулы размещаются вверху | каждой страницы и содержат информацию о названии рабочего листа, дату или номер страницы. Заголовки же определяют выводимые на печать данные, такие, как названия полей в таблицах баз данных или в списке. Можно указать строки, которые будут печататься вверху каждой страницы, и/или столбцы, которые должны повторяться слева на каждой странице. Для этого активизируйте соответствующее поле Сквозные строки или Сквозные столбцы и выберите строки или столбцы рабочего листа. Можете также ввести ссылки на них вручную. Например, для определения строк 1 и 2 введите 1:2. Вы можете определить свои заголовки для каждого листа в рабочей книге. В Ех- Совет eel это делается с помощью присвоения имен диапазонов уровня листа Заголов- ки_для_печати. > Раздел Печать В разделе Печать можно задать ряд опций. ■ Сетка. Если этот флажок установлен, то на печать будет выводиться сетка, разделяющая ячейки. ■ Черно-белая. Если этот флажок установлен, то все цвета, использованные в рабочем листе, будут выведены в черно-белой палитре. Эта опция позволяет использовать цвета при форматировании рабочей таблицы и в то же время получать качественные распечатки на черно-белом принтере. ■ Черновая. Если данный флажок установлен, то печать осуществляется в черновом режиме. В этом режиме не будут напечатаны встроенные диаграммы или графические объекты, сетка ячеек и рамки. Эта опция обычно используется для сокращения времени печати. ■ Заголовки строк и столбцов. Если данный флажок установлен, то на печать будут выведены заголовки строк и столбцов, что поможет при поиске нужной ячейки на распечатке. ■ Примечания. Если данный флажок установлен, то на печать будут выведены примечания к ячейкам в указанном вами виде: В конце листа или Как на листе. ■ Ошибки ячеек. Здесь можно указать, как будут распечатываться ошибки, если они есть в ячейках. Эта опция пригодится в том случае, если у вас есть на рабочем листе ошибки, но вы не хотите показывать их на распечатке. Можно выводить ячейки, содержащие ошибки, в том виде, в котором они отображаются на экране (установлено по умолчанию), а можно указать, например, чтобы выводились прочерки или вообще ничего не печаталось. Задание последовательности вывода страниц В нижней части вкладки Лист диалогового окна Параметры страницы располагаются переключатели, которые определяют последовательность вывода страниц, если, конечно, ваша таблица занимает больше одной печатной страницы. Можно распечатывать страницы сверху вниз или слева направо. Глава 7. Печать результатов работы 147
Разбивка на страницы Если вы когда-нибудь печатали большие отчеты, то вам известно, как важно применять разбивку на страницы. Например, вы не хотите, чтобы на странице находилась только одна строка таблицы. В Excel имеется возможность управления разбивкой на страницы. Как уже отмечалось, в Excel разбивка на страницы осуществляется автоматически. После печати или предварительного просмотра рабочего листа на экран выводятся штриховые линии, показывающие границы раздела страниц. Однако иногда необходимо задать горизонтальный или вертикальный разрыв страницы в заданном месте. Например, если лист содержит несколько отдельных областей, то при желании можно напечатать каждую область на отдельном листе. Вставка разрыва страницы Для того чтобы вручную вставить горизонтальный разрыв страницы, переместите табличный курсор к ячейке, с которой должна начинаться новая страница. Убедитесь в том, что указатель находится в столбце А, в противном случае будут вставлены вертикальный и горизонтальный разрывы страниц. Например, если нужно, чтобы строка 14 была первой строкой новой страницы, активизируйте ячейку А14. Затем выберите команду ВставкаО Разрыв страницы. На экране появится штриховая линия, указывающая границы страницы. Штриховая линия, обозначающая ручной разрыв страницы, будет немного тоньше, чем та, которая обозначает разрыв страницы, автоматически созданный программой. Чтобы вставить вертикальный разрыв страницы, переместите табличный курсор к той ячейке, с которой должна начинаться новая страница, и убедитесь, что он находится в строке 1. Затем выберите команду ВставкаОРазрыв страницы. Удаление разрыва страницы Для того чтобы удалить вставленный вручную горизонтальный разрыв страницы, переместите табличный курсор в любую ячейку, находящуюся в первой строке страницы (сразу под линией раздела), и выберите команду Вставка1*Убрать разрыв страницы. Эта команда появляется только тогда, когда указатель расположен в первой строке страницы сразу под линией разрыва. Чтобы удалить вертикальный разделитель страниц, выполните аналогичную процедуру, только расположите указатель в любом месте первого столбца после разрыва страницы. Чтобы удалить все вставленные вручную разрывы страниц на листе, щелкните Совет на кнопке Выделить все или используйте комбинацию клавиш <Ctrl+A>, а затем . выберите команду Вставка^Убрать разрыв страницы. Сокрытие ячеек перед печатью Возможно, вы работаете с рабочим листом, в котором содержится конфиденциальная информация. Предположим, вам понадобилось распечатать этот лист без конфиденциальных данных. Ниже перечислены некоторые приемы, позволяющие предохранить определенные части листа от вывода на печать. ■ Скрыть строки или столбцы. ■ Скрыть ячейки или диапазоны ячеек, выбрав для текста тот же цвет, что и для фона. 148 Часть /. Вводный курс
■ Скрыть ячейки, используя специальный шаблон числового формата, который состоит из трех точек с запятой (;;;). (Глава 27 посвящена пользовательским числовым форматам.) ■ Замаскировать конфиденциальную область листа, наложив на нее прямоугольный объект. Щелкните на кнопке Прямоугольник, расположенной на панели инструментов Рисование, и перетащите указатель мыши в нужное место, создавая прямоугольник. Для усиления эффекта закрасьте прямоугольник белым цветом и удалите его рамку. ■ Скрыть диапазон, используя текстовый объект, создаваемый с помощью инструмента Надпись, кнопка которого находится на панели инструментов Рисование. Преимущество данного метода состоит в следующем: в надписи вы можете добавить информацию о скрытых данных. Л Если вам часто приходится скрывать данные перед печатью определенных отчетов, рополкителыЛ» воспользуйтесь средством создания представлений. Создайте представление, в ко- ^«формация^ тором конфиденциальная информация будет скрыта. Более детально представления рассматриваются в разделе "Использование представлений" далее в главе. Предварительный просмотр перед печатью Средство предварительного просмотра Excel выводит на экран эскиз печатаемых данных. Это очень удобное средство, которое позволяет увидеть результаты установки опций непосредственно перед печатью. Это позволит сохранить массу времени, не говоря уже об экономии бумаги. Доступ к режиму предварительного просмотра Существует несколько способов, позволяющих войти в режим предварительного просмотра. ■ Выберите команду ФайлоПредварительный просмотр. ■ Щелкните на кнопке Предварительный просмотр, которая находится на стандартной панели инструментов, или нажмите клавишу <Shift> и щелкните на кнопке Печать, расположенной на стандартной панели инструментов. ■ Щелкните на кнопке Просмотр в диалоговом окне Печать. ■ Щелкните на кнопке Просмотр в диалоговом окне Параметры страницы. Любой из этих способов вызывает окно предварительного просмотра, показанное на рис. 7.7. В верхней части окна предварительного просмотра расположено несколько кнопок. ■ Далее. Выводится изображение следующей страницы. ■ Назад. Выводится изображение предыдущей страницы. ■ Масштаб. Увеличивается или уменьшается масштаб изображения. Существует два уровня масштабирования, которые переключаются с помощью этой кнопки. Чтобы увеличить или уменьшить масштаб, можно просто щелкнуть на изображении. ■ Печать. Данные отправляются на печать. ■ Страница. Вызывает диалоговое окно Параметры страницы, где можно откорректировать некоторые установки. Закрыв это диалоговое окно, вы вновь увидите экран предварительного просмотра, но уже с учетом внесенных изменений. Глава 7. Печать результатов работы 149
Рис. 7.7. Средство предварительного просмотра Excel позволяет увидеть печатаемые данные до того, как они будут выведены на принтер ■ Поля. Позволяет изменить перед печатью ширину столбцов и полей. Эта полезная возможность описана в следующем разделе. ■ Разметка страницы. Рабочий лист отображается на экране в режиме разметки страницы. ■ Закрыть. Закрывается окно предварительного просмотра. ■ Справка. Выводится справочная информация об окне предварительного просмотра. Корректировка в режиме предварительного просмотра Когда вы щелкнете на кнопке Поля в окне предварительного просмотра, к эскизу печатной страницы добавятся маркеры, обозначающие границы столбцов и полей (рис. 7.8). Для выполнения изменений перетащите любой из этих маркеров. Результат будет сразу же отображен на экране. Например, если при печати окажется, что последний столбец не помещается на странице, измените ширину столбцов или полей в окне предварительного просмотра и добейтесь того, чтобы все данные расположились на одной странице. После перетаскивания одного из маркеров изображение изменится, и сразу можно будет увидеть результат выполнения корректировки. Если вы изменяете ширину столбцов в окне предварительного просмотра, эти же изменения происходят и на рабочем листе. Точно так же изменение ширины полей в окне предварительного просмотра влечет за собой изменение параметров вкладки Поля диалогового окна Параметры страницы. 150 Часть I. Вводный курс
Рис. 7.8. Ширину столбцов и полей можно корректировать непосредственно в окне предварительного просмотра Разметка страницы В Excel имеется средство просмотра разметки страницы, которое значительно облегчает работу но разбивке таблиц на страницы. Для использования этого средства выберите команду Видо Разметка страницы или щелкните на кнопке Разметка страницы, если вы находитесь в режиме предварительного просмотра. Экран примет такой вид, как на рис. 7.9. Когда вы переходите в режим разметки страницы, происходит следующее: ■ масштаб изменяется так, чтобы была видна большая часть рабочего листа; ■ номера страниц появляются на экране поверх соответствующих страниц; ■ текущий диапазон печати изображается на белом фоне; данные, которые не будут печататься, изображаются на сером фоне; ■ отображаются все разрывы страниц. Находясь в режиме разметки страницы, вы можете перетащить рамки, чтобы изменить диапазон печати или разбивку на страницы. Если вы измените разрыв страницы, то Excel автоматически подберет такой масштаб, чтобы заданная вами информация помещалась на указанных страницах. В режиме разметки страницы у вас есть доступ ко всем командам Excel. Можете Совет изменить масштаб, если считаете, что текст выглядит очень мелко. Для возврата в обычный режим просмотра выберите команду Вид^Обычный. Глава 7. Печать результатов работы 151
-lOlxl им юроюа ияхх 6.- in И«М1 CtnOH u*>m taioa Ж i а fccetoa r i м topotoa ЭЕ • и IP* 1 Э» ..i* Ixrre Ton» SptZUffBtl Tom SctzBflBti HatsHCiMi KMUCl Ml ' SKmatOK»* KM» ■ m* CICfHHvCliMi* ;nwi mi • netkreiptimaiM flctfe-siRnu*a NCIfe SlpiniaM - M,l ИИ-ТОЛ ЕДО1ЛМ сил тост ниаяо! Тест тляом-жжи Тоет И1лясм-лви EruthaKMl but и «л Cut H «к Сммсамгсвиюсмям С«1*ооамгешиоскнм oaiK vatteon 01*1 кЭНВОм л »i каивом •и ; it Dt кв U QltMICtJ —ВНАШ.. СШР U. язтшэк Сэм* с га Eiut I» But newt I 35£ ЛХСШП KCZXQOXD 1 OS 1 П «в . ** а сдаст . рзтгот з тзшшп чг япгош лс зхвот 2*£ ДШСИВ 10353 OS1 102» (E5i 01 2И*апгшп 211ЛВПШ Д1 Я1Е0П1 эсзигпш 31Г2КПШ з • -2пг "ш 01. 01 ш сиашЕоп) зм аллзшпт гю шпвяпгпш TB5£S и^К^нты jfiWrt^bfl ZHka/ilkdJC&№JL<El Pwc. 7.9. Режим разметки страницы позволяет увидеть, где находятся разрывы страниц Использование представлений Часто приходится создавать рабочую книгу, которая используется для хранения разнообразной информации. Вполне вероятно, что из такой рабочей книги вам понадобится распечатать несколько отчетов, в которых будут представлены различные части книги. Если с подобными проблемами вы уже сталкивались, постарайтесь освоить средство создания представлений (видов) Excel. Средство создания представлений позволяет присваивать имена различным видам рабочего листа и быстро переключаться между этими поименованными видами. Представление может включать следующие параметры: ■ установки печати, заданные в диалоговом окне Параметры страницы (по выбору); ■ скрытые строки и столбцы (по выбору); ■ параметры вывода на экран, определенные в диалоговом окне Параметры; ■ ссылки на выбранные ячейки и диапазоны ячеек; ■ адрес активной ячейки; ■ размеры окон и их положение; ■ закрепленные области. Например, можно определить такое представление рабочего листа, в котором будут скрыты некоторые столбцы чисел, или будет печататься только итоговый диапазон ячеек, или страница будет представлена в альбомной ориентации и т.д. л Более подробно создание поименованных представлений описывается в главе 3. Дополнительна информация \ 152 Часть I. Вводный курс
Формулы и функции ормулы и функции — это основные средства Excel по обработке данных и извлечению полезной информации из ваших рабочих книг. Эта часть посвящена тому, как создавать формулы и использовать функции в рабочих листах Excel. Здесь приведено много примеров, которые вы сможете быстро адаптировать для решения своих задач. Последние две главы посвящены формулам массивов. Этот материал в первую очередь предназначен пользователям, которым часто приходится выполнять сложные вычисления. Использование формул и функций Глава 9 Работа с текстом Глава 10 Работа с датами и временем Глава 11 Формулы подсчета и суммирования Глава 12 Формулы просмотра и поиска значений Глава 13 Формулы и функции для финансовых расчетов Глава 14 Основы формул массивов Глава 15 Применение формул массивов ов юв
Использование формул и функций В этой главе... Знакомство с формулами Ввод формул Использование ссыпок в формулах Исправление ошибок в формулах Использование в форму лахимен Рекомендации по работе с формулами ормулы — это то, что делает электронные таблицы такими полезными. Электронная таблица без формул, в сущности, мертва. Именно формулы вносят в нее дыхание жизни, позволяя вычислять результаты на основе данных, которые хранятся в рабочей таблице. Если вам понадобится изменить данные, то все результаты вычислений будут автоматически пересчитаны. В этой главе вы познакомитесь с формулами и функциями, которые помогут сделать вашу работу более эффективной. Знакомство с формулами Чтобы формула выполняла какие-либо действия, сначала ее нужно ввести в ячейку. Вы можете удалять, перемещать и копировать формулы точно так же, как и любые другие данные. В формулах используются арифметические операции для работы с числами, текст, функции рабочего листа, а также другие формулы. Числа и текст могут находиться в других ячейках, что позволяет легко изменять данные и придает рабочим таблицам особую динамичность. Например, при изменении начальных данных Excel автоматически выполняет перерасчет формул. Таким образом, много раз меняя начальные данные в рабочей таблице, вы сможете быстро увидеть, как эти изменения влияют на результаты расчетов. Формула, введенная в ячейку, может содержать любые из следующих элементов: ■ операторы, например + (сложение) и * (умножение); ■ ссылки на ячейки (включая поименованные ячейки и диапазоны); ■ числа и текст; ■ функции рабочего листа (например, СУММ или СРЗНАЧ).
Длина формулы не должна превышать 1 024 символа. Если ввести формулу в ячейку, то в ней отобразится результат расчета по этой формуле. А сама формула появляется в строке формул при выборе этой ячейки. Приведем несколько примеров формул. = 150*0, 05 Умножает число 150 на 0,05. Поскольку в этой формуле используются только числа, эффективность ее не слишком велика. =А1+А2 Складывает числа, находящиеся в ячейках А1 и А2. =Доход- Расходы Вычитает из числа, которое находится в ячейке под именем Доход, число, содержащееся в ячейке с именем Расходы. =СУММ(А1:А12) Складывает значения ячеек из диапазона А1:А12. =А1=С12 Сравнивает значение, находящееся в ячейке А1, со значением из ячейки С12. Если они совпадают, то формула возвращает значение ИСТИНА, а если нет — ЛОЖЬ. ^^^ Обратите внимание, что формулы всегда начинаются со знака равенства. По На заметку этому признаку Excel отличает формулы от текста и числовых значений. I Операторы, используемые в формулах Программа Excel позволяет использовать в формулах разнообразные операторы. В табл. 8.1 перечислены операторы, которые распознает программа. Кроме того, в Excel есть множество встроенных функций, с помощью которых можно выполнять дополнительные операции. Таблица 8.1. Операторы, применяемые в формулах Оператор Название + Сложение Вычитание * Умножение / Деление Возведение в степень £ Конкатенация ■ Логическое сравнение "равно" > Логическое сравнение "больше чем" < Логическое сравнение "меньше чем" >= Логическое сравнение "больше или равно" <= Логическое сравнение "меньше или равно" <> Логическое сравнение "не равно" Вы можете использовать столько операторов, сколько вам нужно (формулы могут быть достаточно сложными). Глава 8. Использование формул и функций 155
Приведем еще несколько примеров формул. ="Часть-"&"23А" Объединяет две текстовые строки (или выполняет их конкатенацию). В результате получится строка Часть-23А. =А1&А2 Выполняет конкатенацию содержимого ячеек А1 и А2. Конкатенацию можно выполнять как над значениями, так и над текстом. Если в ячейке А1 содержится значение 123, а в ячейке А2— 456, то данная формула вернет значение 123 456. =6 3 Возводит число 6 в куб (в результате получится число 216). =216 (1/3) Извлекает кубический корень из числа 216 (в результате получится число 6). =А1<А2 Возвращает значение ИСТИНА, если значение в ячейке А1 меньше значения в ячейке А2. В противном случае возвращает значение ЛОЖЬ. Операторы логического сравнения могут применяться также и к тексту. Например, если в ячейке А1 содержится текст Боря, а в ячейке А2 — Клава, то формула вернет значение ИСТИНА, так как в алфавитном порядке имя Боря стоит перед именем Клава. =А1<=А2 Возвращает значение ИСТИНА, если значение в ячейке А1 меньше или равно значению в ячейке А2. В противном случае возвращается значение ЛОЖЬ. =А1<>А2 Возвращает значение ИСТИНА, если значение в ячейке А1 не равно значению в ячейке А2. Если же значения в ячейках равны, то возвращает значение ЛОЖЬ. Порядок выполнения операторов При вычислениях по формулам Excel придерживается определенных правил, определяющих последовательность выполнения операторов. Порядок выполнения операторов определяется их приоритетом. В табл. 8.2 указан порядок выполнения операторов. Из таблицы видно, что оператор возведения в степень имеет самый высокий приоритет (т.е. выполняется первым), а оператор логического сравнения — самый низкий. Таблица 8.2. Приоритет операторов в формулах Excel < > Оператор Возведение в степень Умножение Деление Сложение Вычитание Конкатенация Равно Меньше чем Больше чем П| 1 2 2 3 3 4 5 5 5 Символ Оператор Приоритет * / + 156 Часть II. Формулы и функции
С помощью введения в формулы круглых скобок можно изменить порядок выполнения операторов, поскольку всегда сначала вычисляются выражения, заключенные в круглые скобки. В одном из предыдущих примеров (вычисление кубического корня из числа 216) в формуле использованы круглые скобки, чтобы таким образом указать порядок выполнения вычислений. В следующем примере формула вычитает значение, находящееся в ячейке ВЗ, из значения, расположенного в ячейке В2, и умножает полученный результат на значение из ячейки В4. =(В2-ВЗ)*В4 Если ввести эту формулу без скобок, Excel выдаст неверный результат. Поскольку умножение имеет более высокий приоритет, то сначала значение ячейки ВЗ будет умножено на значение ячейки В4. Затем этот результат будет вычитаться из значения ячейки В2. Это совсем не то, что нужно сделать. Формула без скобок имеет вид =В2-ВЗ*В4 В формулах можно также использовать вложенные скобки, т.е. скобки, расположенные внутри других скобок. Если в формуле есть вложенные скобки, то Excel вычисляет сначала выражения, которые находятся в самых "внутренних" скобках, а затем движется изнутри наружу. Вот пример формулы, в которой используются вложенные скобки: =((В2*С2)+(ВЗ*СЗ)+(В4*С4))*В6 В этой формуле использовано четыре пары круглых скобок, причем три из них вложены в четвертые скобки. Excel вычисляет значения выражений внутри всех вложенных скобок, затем складывает их и результат умножает на значение из ячейки В6. Несмотря на то что в предыдущем примере используется четыре пары скобок, в действительности необходимы только внешние скобки. Поскольку оператор умножения имеет более высокий приоритет по сравнению с оператором сложения, то приведенная формула может быть переписана в таком виде: =(В2*С2+ВЗ*СЗ+В4*С4)*В6 Тем не менее первый вариант проще для понимания, чем второй. Помните, что использование дополнительных скобок в сложных формулах позволяет улучшить их читабельность. Разумеется, каждой открывающей скобке должна соответствовать закрывающая. Конечно, если у вас несколько уровней вложенных скобок, то в них легко запутаться. Но если где-то остались незакрытые скобки, то Excel выдаст сообщение об этом и не позволит ввести формулу. Если ваша формула содержит нечетное число скобок, то в некоторых случаях Excel может предложить вариант ее исправления. На рис. 8.1 показано, как работает функция автокоррекции формул. Но, хотя искушение принять предложенный вариант слишком велико, будьте осмотрительны. В большинстве случаев предложенная формула, являясь синтаксически правильной, будет совсем не той, которая вам нужна. о&*аружвш ошибки га ввв^лнн^форнуяе. ftawrt предлогэ*««а« матравя»»» « чтобы принять *«р«л»*«, нвшнктв ювлку "Дв*. * ЧтобызафЫ1ъеш6щ«жвисатжтоят»и1в исправить вьвляееже. нгжнттв кногку "Нет*.. Рис. 8.1. Функция автокоррекции формул часто предлагает ошибочные варианты Excel оказывает помощь в расстановке скобок. Когда вы вводите или редактируете формулу, содержащую скобки, посмотрите на нее внимательно. При перемещении курсора по скобке Excel на мгновение выделяет ее и соответствующую ей вторую скобку полужирным шрифтом. Совет Глава 8. Использование формул и функций 157
Встроенные функции Excel Программа Excel содержит огромное количество встроенных функций, которые вы можете использовать в своих формулах. К ним относятся как достаточно распространенные функции, например СУММ, СРЗНАЧ и КОРЕНЬ, так и функции, специально предназначенные для определенных целей, например статистические или инженерные. Функции существенно повышают эффективность формул. Они могут упростить формулы и сделать их понятнее. Более того, в большинстве случаев формулы позволяют выполнять вычисления, которые без них были бы невозможны. Например, для вычисления тангенса угла используется функция TAN, другим способом получить это значение вам не удастся. Если же среди многочисленных функций рабочих листов вы не найдете ту, которая вам нужна, можете сами создать новую функцию. Примеры функций Ниже приведен пример того, как встроенные функции позволяют упростить формулу. Среднее значение чисел, находящихся в десяти ячейках А1:А10, можно вычислить по следующей формуле: =(А1+А2+АЗ+А4+А5+А6+А7+А8+А9+А10)/10 Согласитесь, что это не самая удобная формула. Если в данную формулу потребуется добавить новые ячейки, сделать это будет нелегко. Но вы можете заменить эту формулу очень простой в употреблении встроенной функцией Excel. =СРЗНАЧ(А1:А10) Покажем на примере, как с помощью функций осуществляются вычисления, которые невозможно выполнить по-другому. Что, если вам нужно найти наибольшее значение диапазона ячеек? Это еще один пример того, как без использования функции вы не сможете получить ответ. Ниже приведена простая формула, которая позволяет отыскать наибольшее значение в диапазоне A1:D100. =MAKC(A1:D100) Иногда функции позволяют избежать ручного редактирования. Допустим, в вашей рабочей таблице содержится тысяча фамилий, причем все они введены прописными буквами. Ваш начальник, просматривая список, замечает, что прописные буквы не подходят для указания фамилий в списке адресов, который будет связан с формализованным письмом, т.е. вы должны заменить "ИВАНОВ И.И." на "Иванов И.И.". Для переоформления списка вручную вам понадобилось бы несколько часов. Но вы можете значительно сэкономить время благодаря формуле, в которой для изменения регистра букв текста, находящегося в ячейке А1, используется специальная функция. =ПРОПНАЧ(А1) Введите эту формулу один раз и скопируйте ее во все следующие 999 строк. И еще один пример, который убедит вас в преимуществе использования функций. Предположим, вам нужно подсчитать в рабочей таблице комиссионные по результатам продаж какого-либо товара. Если продавец продал продукции более чем на 100 000 долларов, то ставка его комиссионных составляет 7,5%, если меньше— 5%. Без использования функции вам пришлось бы создать две разные формулы и правильно употреблять их для каждого значения объема продаж. Ниже приведена формула, в которой использована функция ЕСЛИ для правильного расчета комиссионных (независимо от суммы продаж). =ЕСЛИ(А1<100000; А1*0,05; А1*0,075) 158 Часть II. Формулы и функции
В этой формуле анализируется значение, которое находится в ячейке А1. Если это значение меньше чем 100 000, то оно будет умножено на 5%. В противном случае это значение ячейки А1 будет умножено на 7,5%. Аргументы функций Вы, вероятно, заметили в предыдущих примерах, что во всех функциях используются круглые скобки. Данные внутри круглых скобок называются аргументами. Функции различаются по тому, как они используют аргументы. В зависимости от этого, определяются следующие типы функций: ■ функции без аргументов; ■ функции с одним аргументом; ■ функции с фиксированным числом аргументов; ■ функции с неопределенным числом аргументов; ■ функции с необязательными аргументами. Функция ТДАТА, которая возвращает текущую дату и время, является функцией без аргументов. Даже в том случае, если в функции нет аргументов, все равно после имени функции обязательно должны быть пустые скобки. Поэтому, чтобы функция ТДАТА работала правильно, следует ввести ее имя, а затем пустые круглые скобки. =ТДАТА() Если в функции используется несколько аргументов, то каждый из них отделяется точкой с запятой. В примерах, приведенных в начале главы, в качестве аргументов использовались адреса ячеек. Однако Excel — очень гибкая система с точки зрения использования аргументов функций. В качестве аргумента может выступать адрес ячейки или диапазон, литерал, текстовая строка, выражение или другая функция. Еще о функциях В поставку Excel входит более 300 функций. Однако, если этого недостаточно, вы можете добавить дополнительные функции, разработанные независимыми производителями, и даже создать собственные (используя язык программирования VBA). Подобное количество функций может напугать вас, но со временем вы поймете, что регулярно используется не более десяти из них. Кроме того, как вы увидите, мастер функций Excel значительно облегчает процесс поиска и вставки нужной функции, даже если вы никогда раньше с ней не работали. ti В главах 9-13 содержится множество примеров использования встроенных Дополнителыля функций Excel. В приложении А приведен полный перечень функций рабочего информация^ листа с кратким пояснением каждой из них. В главе 35 описано, как с помощью l^ii"1"^" языка программирования VBA создавать собственные функции. Ввод формул Как уже упоминалось, формула должна начинаться со знака равенства— для Excel это признак того, что в ячейке содержится формула, а не текст. Существует два основных способа ввода формулы в ячейку: ввести ее полностью вручную или указать адреса используемых в ней ячеек прямо в рабочем листе. Глава 8. Использование формул и функций 159
Ввод формул вручную Ввести формулу вручную — это как раз и означает ввести ее вручную и ничего более. Наберите знак равенства (=), а затем саму формулу. По мере набора символы будут появляться как в ячейке, так и в строке формул. И конечно, при вводе формулы вы можете пользоваться всеми привычными клавишами для ее редактирования. Ввод формул путем указания При этом способе ввода формулы также частично используется ручной набор. Но, вместо того чтобы набирать адреса ячеек самостоятельно, их просто указывают. Этот способ более быстрый и простой, кроме того, он позволяет избежать ошибок, которые часто возникают при вводе адресов ячеек вручную. Например, чтобы ввести в ячейке A3 формулу =А1+А2, выполните ряд действий. 1. Переместите табличный курсор в ячейку A3. 2. Наберите знак равенства (=), с которого должна начинаться любая формула. Заметьте, что в строке состояния появилась надпись Ввод. 3. Нажмите два раза клавишу <Т>. Обратите внимание, что при этом вокруг ячейки А1 появилась движущаяся рамка, а в ячейке A3 и в строке формул — ссылка на ячейку А1. Заметьте также, что в строке состояния программа отобразила надпись Укажите. 4. Наберите знак "плюс" (+). Движущаяся рамка станет сплошной, а в строке состояния снова появится слово Ввод. 5. Еще раз нажмите клавишу <Т>. В формулу будет добавлена ссылка на ячейку А2. 6. Чтобы завершить ввод формулы, нажмите клавишу <Enter>. Для указания ячеек можно также использовать мышь. Просто щелкните на нуж- Совет ной ячейке, и ее адрес появится в формуле. Вставка в формулы имен Если в формуле используются имена ячеек и диапазонов, вы можете набрать имя вместо адреса или выбрать имя из списка, чтобы Excel вставила его автоматически. Существует два способа сделать это. ■ Выберите команду ВставкаОИмяОВставить. На экране появится диалоговое окно Вставка имени, в котором перечислены все определенные в данной рабочей книге имена (рис. 8.2). Выберите нужное имя и щелкните на кнопке ОК. Можно также дважды щелкнуть на имени, в результате чего оно будет вставлено в формулу, а диалоговое окно — закрыто. ■ Нажмите клавишу <ГЗ>. Это тоже приведет к появлению диалогового окна Вставка имени. На рис. 8.2 показана книга, в которой определено два имени диапазона: Доходы и Расходы. Чтобы вставить имя в формулу, установите курсор в место вставки имени и вызовите диалоговое окно Вставка имени. Затем выберите нужное имя из списка и щелкните на кнопке ОК. 160 Часть II. Формулы и функции
^KJ A JL 2_ Чмварь 3__ Февраль ■4 ■ «' И Апрель 6 'vtaft 7 i-'юмь : в Доходы Расходы 1598 546 1Б32 654 132В 752 2183 S48 1899 754 1740 653 10 Средний доход |=СРЗНАЧ( ['_ лг Рис. S.2. Диалоговое окно, с помощью которого можно вставить имя в формулу Вставка функции в формулу Чтобы вставить функцию в формулу, можно вручную ввести ее имя, а затем указать все необходимые аргументы. Но проще сделать это с помощью диалогового окна Мастер функций. В последнем случае вы будет уверены, что имя функции указано без грамматических ошибок, а функция содержит нужное число аргументов, которые следуют в правильном порядке. Для того чтобы вставить функцию, сначала выделите ее в диалоговом окне Мастер функций (рис. 8.3). Открыть это окно можно одним из приведенных ниже способов. ■ Выберите команду ВставкаОфункция. ■ Щелкните на кнопке Вставка функции, которая находится на стандартной панели инструментов. ■ Нажмите комбинацию клавиш <Shift+F3>. .11*1 этшй члфлоитмчм пореч*« ACOS ACOSH ASW ASU* ATAN I ум ЛЮ(чиоа) 8аэвр4ШлетпслуЛ(1бо»»огнуюп»1^н^'<41кЛ4>. Ч Q% mrtiiTfuTwff■ Рис. 8.3. Диалоговое окно Мастер функций В списке Категория диалогового окна Мастер функций представлены все категории функций. При выборе одной из категорий в поле Выберите функцию появляется перечень функций, включенных в эту категорию. В категории 10 недавно использовавшихся перечислены те функции, которые вы недавно использовали. В категорию Полный алфавитный перечень включены все имеющиеся функции из всех категорий. Используйте этот список, если вы знаете название функции, но вам не известно, к какой категории она относится. Диалоговое окно Мастер функций помогает выбрать нужную функцию, даже если вы не знаете точно, какую функцию следует применить. Введите в поле Поиск функции краткое описание того, что должна делать функция, и щелкните на кнопке Найти. После этого Excel в Глава 8. Использование формул и функций 161
поле Выберите функцию выведет список подходящих функций, среди которых вы сможете выбрать нужную. Обратите внимание, что при выборе функции в списке Выберите функцию в нижней части диалогового окна Мастер функций появляется ее синтаксис и краткое описание. Обнаружив нужную функцию, выделите ее и щелкните на кнопке ОК. Появится окно Аргументы функции (рис. 8.4). Используйте это окно для задания аргументов функции. Заметьте, что диалоговое окно меняет свой вид в зависимости от выбранной функции. Каждый аргумент имеет свое поле ввода. Чтобы указать диапазон ячеек в качестве аргумента функции, щелкните на кнопке свертывания окна (она находится с правой стороны поля ввода аргумента). Excel моментально свернет окно Аргументы функции в тонкую полоску, которая не будет мешать выбрать любой диапазон на рабочем листе. После выбора диапазона для восстановления окна Аргументы функции снова щелкните на этой кнопке. После того как будут определены все аргументы функции, щелкните на кнопке OK; Excel закроет диалоговое окно Аргументы функции и вычислит результат. 5J«,lS°M632sl3M« —3-"»оиг U - <5*.«4>Лг-5«;7 0^***у»т*чеб»и . >адам*еу«ам>*^кг Крит*»»* .^чо»«* вфзрив'мслвяаьдемят'имтексте, олредедяаым Совет' '; Совет Рис. 8.4. С помощью окна Аргументы функции вы правильно введете аргументы любой функции Можно также ввести аргумент, просто щелкнув на поле ввода соответствующего аргумента и затем указав ячейку или диапазон на рабочем листе. В этом случае не используется кнопка свертывания окна. Чтобы окно Аргументы функции не закрывало нужный диапазон ячеек, его можно переместить в любое место окна Excel. После ввода аргументов с правой стороны окна Аргументы функции отображаются значения введенных аргументов, а ниже — вычисленное значение функции. ■Ъ В Excel есть еще один способ вставки функции. Во время ввода формулы поле Имя заменяется раскрывающимся списком Функции, в котором представлены 10 недавно использовавшихся функций. Выберите функцию из этого списка, после чего сразу откроется окно Аргументы функции. Если же нужной функции в этом списке не оказалось, выберите пункт Другие функции. В результате откроется диалоговое окно Мастер функций. Советы по вводу функций Ниже приведено несколько советов о том, как использовать диалоговое окно Мастер функций для ввода функций с наибольшей отдачей. ■ Чтобы получить дополнительную справку о функции, выбранной в окне Мастер функций, щелкните на кнопке Справка по этой функции, которая расположена в нижней части окна. 162 Часть II. Формулы и функции
Функции можно вставлять в уже существующие формулы. Для этого выделите ячейку с формулой и перейдите в режим редактирования. Установите курсор в место вставки формулы. Затем откройте диалоговое окно Мастер функций и выберите необходимую функцию. С помощью окна Аргументы функции можно изменять аргументы в функциях, которые ранее были вставлены в рабочий лист. Выделите ячейку и в строке формул щелкните на функции. Затем, чтобы открыть окно Аргументы функции, щелкните на кнопке Вставка функции. Если вы находитесь в окне Мастер функций или Аргументы функции и передумали вставлять функцию, просто щелкните на кнопке Отмена или нажмите клавишу <Esc>. Количество полей в окне Аргументы функции зависит от количества аргументов выбранной функции. Если функция не содержит аргументов, то не будет ни одного поля. Если же функция содержит переменное число аргументов (как, например, в функции СРЗНАЧ), то по мере ввода аргументов Excel будет отображать дополнительные поля. После ввода каждого аргумента справа от поля ввода будет показано его текущее значение. Некоторые функции, например ИНДЕКС, имеют два или больше списков аргументов (иными словами, имеют разные синтаксические формы). Если вы выберете такую функцию, то Excel отобразит дополнительное диалоговое окно, в котором нужно указать, какую форму вы будете использовать. Если вы часто используете некоторые функции, то со временем, возможно, станете вводить их вручную. В этом случае после ввода имени функции Excel отобразит подсказку, в которой будут указаны имена аргументов этой функции. Редактирование формул Формулы можно отредактировать точно так же, как и содержимое любой другой ячейки. Необходимость в редактировании формулы возникает в том случае, если она возвращает ошибку или если в рабочую таблицу внесены изменения, в соответствии с которыми нужно исправить и формулу. ■ Дважды щелкните на ячейке. Это позволит отредактировать содержимое прямо в ячейке. ■ Нажмите клавишу <F2>. Это также позволит отредактировать содержимое прямо в ячейке. ■ Активизируйте ячейку, которую вы хотите отредактировать, а затем щелкните на строке формул. Это позволит отредактировать содержимое ячейки в строке формул. ■ Если в формуле есть ошибка, то в верхнем левом углу ячейки Excel отображает маленький треугольник. Активизируйте ячейку и рядом с ней вы увидите смарт-тег. Щелкните на нем и выберите одну из опций, позволяющих исправить ошибку. Опции могут быть различными, в зависимости от типа ошибки. Во вкладке Проверка ошибок диалогового окна Параметры можно указать типы ошибок для которых нужно отображать смарт-теги. Во время редактирования можно выделить несколько символов в формуле, перетаскивая по ним указатель мыши или пользуясь клавишами управления курсором при нажатой клавише <Shift>. Глава 8. Использование формул и функций 163
Если вам не удается исправить сразу все ошибки в формуле, можете преобразо- Совет вать ее в текст и позднее попробовать исправить еще раз. Для преобразования формулы в текст просто удалите знак равенства, с которого начинается формула. i Когда вы будете готовы повторить попытку исправления формулы, снов.а поставьте знак равенства, и текст преобразуется в формулу. Использование ссылок в формулах Практически все формулы включают ссылки на ячейки или диапазоны ячеек. Ссылки позволяют формулам работать с данными, содержащимися в этих ячейках и диапазонах, а не просто использовать фиксированные значения. Если формула имеет ссылку на ячейку А1 и вы изменили значение в этой ячейке, формула автоматически будет пересчитана в соответствии с новым значение ячейки А1. Если не использовать ссылок на ячейки, придется вручную редактировать формулы, изменяя значения, которые она использует в своих вычислениях. Абсолютные, относительные и смешанные ссылки В формулах используется три типа ссылок на ячейки и диапазоны. ■ Относительные ссылки. При копирований формул эти ссылки автоматически изменяются в соответствии с новым положением формулы. ■ Абсолютные ссылки. Эти ссылки не меняются при копировании формул. ■ Смешанные ссылки. В этих ссылках номер строки (или столбца) является абсолютным, а столбца (строки) — относительным. Характерной особенностью абсолютных ссылок являются два знака доллара ($): один перед буквой столбца и второй перед номером строки (например, $А$5). В Excel также допускаются смешанные ссылки, в которых только одна часть адреса является абсолютной (например, $А4 или А$4). По умолчанию Excel создает в формулах относительные ссылки, за исключением ссылок на ячейки, находящиеся в других листах или рабочих книгах. Различие между разными типами ссылок проявляется при копировании формул. На рис. 8.5 показана простая таблица. В ячейке D2 находится формула, в которой количество наименований товара умножается на его цену. Формула выглядит следующим образом: =В2*С2 а . е | с d E Z 1 Наименование {Количество (Цена [Стоимость 2 Отул 4 t25.00p ST.OOp Нстол 4 695.00р. i78000p Эламла 3 39£5р. 119.85р. ||iT.'. »\>WTi/ft<>;_£rt<r?/ 111—^. ■... I llT Рис. 8.5. Копирование формул, которые содержат относительные ссылки 164 Часть II. Формулы и функции
В этой формуле используются относительные ссылки. Поэтому при копировании формулы в ячейку D3 ссылки соответствующим образом изменятся. В результате в ячейке D3 получим формулу =вз*сз =$В$2*$С$2 Если скопировать эту формулу в ячейку D3, получим неправильный результат. Формулы в ячейках D3 и D2 будут одинаковыми. Изменим этот пример и подсчитаем налог с оборота. Значение процентной ставки налога хранится в ячейке В7 (рис. 8.6). В этом случае формула в ячейке D2 будет выглядеть так: =В2*С2*$В$7 Jo!*J .-.Pi E ^ 1 Наименований |Копячестао|Цвна Шапог с оборота {Стоимость ) тул 4 125.00р 37,50р !Стол 4 695j00p [Лампа 3 Э995р ■Налог с оборота 7£0% *,А«« С*Х*ЖН / ЦИ«Л«| 4 j •|Г Рис. 8.6. Ссылка на ячейку В7 должна быть абсолютной Количество умножается на цену, а затем результат умножается на процентную ставку налога с оборота, значение которой хранится в ячейке В7. Обратите внимание, что ссылка на ячейку В7 является абсолютной. Скопировав ячейку D2 в D3, получим =ВЗ*СЗ*$В$7 Ссылки на ячейки В2 и С2 изменились, а ссылка на ячейку В7 — нет, т.е. мы получили правильный результат. На рис. 8.7 показана таблица, в которой используются смешанные ссылки. В левом столбце хранится значение длины прямоугольника, а в верхней строке находится ширина. Далее вычисляется площадь прямоугольника. Например, в ячейке D5 вычисляется площадь прямоугольника, длина которого 2, а ширина равна 1,5. В ячейку СЗ была введена формула =$ВЗ*С$2 щ Ь \i I 8 5 ho 11 12 13 14 1 Длина 4F* __■ 8 S _^_*5С*5*РГНМ* сеш*м2 \р 1J0 15 2J0 25 3J0 >&"-— Ширина 15 2Д 15 2 В 23 30 3J0 4J0 эе 5.о 45 60 км ссылаем ' Un»w» | < \ 25 25 35 50 63 75 G г 3J0 3.0 45 65 75 90 _| -latxl •* — л\Г\ Рис. 8.7. В этой таблице используются смешанные ссылки на ячейки Глава 8. Использование формул и функций 165
Обратите внимание, что в формуле используется две относительные ссылки. В ссылке на ячейку ВЗ абсолютной является ссылка на столбец ($В), а в ссылке на ячейку С2 используется абсолютная ссылка на строку ($2). Скопировав эту формулу во все ячейки диапазона, мы получим правильный результат вычислений. Например, в ячейке F7 содержится такая формула: =$B7*F$2 Если же в ячейке СЗ использовать абсолютные или относительные ссылки, то результат окажется неверным. ■^ Рабочая книга, в которой демонстрируется использование различных типов ссы- На комп, |ш лок, находится на прилагаемом компакт-диске. диске ^| Изменение типа ссылок Неотносительные (т.е. абсолютные или смешанные) ссылки можно ввести вручную, вставив в нужных местах знаки доллара. Можно также воспользоваться клавишей <F4>, которая является удобным клавиатурным эквивалентом для этой операции. При вводе ссылки в ячейку — либо вручную, либо путем указания — нужно нажать клавишу <F4> несколько раз, чтобы программа "прокрутила" по циклу все четыре типа ссылок. Например, если в начале формулы вы вводите =А1, то первое нажатие клавиши <F4> преобразует ссылку на ячейку в $А$1, второе— в А$1, третье— в $А1, а четвертое вернет ей первона- — А1. Нажимайте клавишу <F4> до тех пор, пока не появится нужный тип ссылки. Когда вы перемещаете формулу (т.е. вырезаете, а затем вставляете ее в другую ячейку), ссылки в ней не изменяются. Как правило, это то, что вам нужно. При перемещении формулы обычно нужно, чтобы ссылки в ней указывали на те же ячейки, что и до перемещения. Когда вы задаете имя ячейки или диапазона, то по умолчанию используется абсолютная ссылка на это имя. Например, если вы присвоили диапазону А1:А12 имя Прогноз_Продаж, то в поле Формула диалогового окна Присвоение имени ссылка на этот диапазон будет выглядеть так: $А$1 :$А$12. Почти всегда именно это и нужно пользователю. Таким образом, если скопировать формулу, в которой содержится поименованная ссылка, то в скопированной формуле эта ссылка останется без изменений. Ссылки на ячейки за пределами текущего рабочего листа В формулах могут содержаться ссылки на ячейки из других рабочих листов, причем эти листы могут находиться даже в другой рабочей книге. Для работы с такими типами ссылок в Excel используется специальный тип записи. Ссылки на ячейки из других рабочих листов Чтобы использовать ссылку на ячейку из другого рабочего листа, который принадлежит той же рабочей книге, придерживайтесь следующего формата: Имя_Листа!Адрес_Ячейки чапьныи вид - На замет заметку На заметку 166 Часть II. Формулы и функции
Другими словами, перед адресом ячейки нужно вставить имя рабочего листа с восклицательным знаком. Приведем пример формулы, в которой используется ссылка на ячейку из рабочего листа Лист2: =А1*Лист2!А1 В этой формуле значение, находящееся в ячейке А1 текущего рабочего листа, умножается на значение из ячейки А1, которая расположена в рабочем листе под названием Лист2. ^^^ Если имя рабочего листа в ссылке содержит один или несколько пробелов, то вы На заметку должны заключить это имя в одинарные кавычки. Приведем пример формулы, в которой содержится ссылка на ячейку листа Все отделы: =А1*'Все отделы'!А1 Ссылки на ячейки из других рабочих книг Чтобы сослаться на ячейку из другой рабочей книги, придерживайтесь следующего формата: = [Имя_Рабочей_книги]Имя_Листа!Адрес_Ячейки В данном случае адресу ячейки предшествуют имя рабочей книги, заключенное в квадратные скобки, имя рабочего листа и восклицательный знак. Приведем пример формулы, в которой используется ссылка на ячейку из рабочего листа Лист1, которая находится в рабочей книге Бюджет: = [Бюджет.xls]Лист1!А1 Если в имени рабочей книги содержится один или несколько пробелов, то в ссылке это имя и имя листа следует заключить в одинарные кавычки. Ниже приведен пример формулы, в которой есть ссылка на ячейку, расположенную в листе Лист1 рабочей книги Бюджет на 2004: =А1*'[Бюджет на 2004]Лист1'!А1 Если в формуле используются ссылки на ячейки из другой рабочей книги, то открывать эту рабочую книгу вовсе не обязательно. Но если она закрыта, то вы должны добавить к имени рабочей книги полный путь, например: =А1*'С:\Мои документы\[Бюджет на 2004]Лист1'!А1 Более подробно связывание файлов рассматривается в главе 29. ополкитель информация При создании формул со ссылками на ячейки из других листов (не текущего) Совет или других рабочих книг вместо ввода ссылок вручную можно указывать ячейки мышью. Excel корректно создаст ссылку самостоятельно. В этом случае рабо- '■\ чая книга, на ячейки которой ссылается формула, должна быть открыта. ^^^, Если вы создаете ссылку на ячейки другого листа или рабочей книги с помощью На заметку мыши, Excel всегда вставляет абсолютные ссылки. Планируя в дальнейшем копировать эти формулы, убедитесь, что вы изменили абсолютные ссылки на относительные (если это, конечно, необходимо). / Глава 8. Использование формул и функций 167
Исправление ошибок в формулах Иногда при вводе формулы Excel выдает значение, которое начинается с символа #. Это говорит о том, что данная формула возвращает ошибочное значение. В подобном случае вы должны исправить формулу (или ссылку на ячейку, содержащуюся в этой формуле), чтобы избавиться от сообщения об ошибке. Как уже упоминалось в этой главе, Excel часто предлагает свой вариант исправления ошибочной формулы. Если вся ячейка заполнена знаками решетки (#), это означает, что столбец недостаточно широк, чтобы отобразить значение, которое содержится в ячейке. В этом случае нужно или расширить столбец, или изменить числовой формат ячейки. Во время ввода формул Excel автоматически проверяет их синтаксис. Поэтому, если формула содержит синтаксическую ошибку, Excel не позволит ее ввести. Например, в следующей формуле пропущена закрывающая скобка: =А1*(В1-В2 Если вы попытаетесь ввести такую формулу, Excel выведет сообщение об ошибке и предложит вариант ее исправления. В табл. 8.3 перечислены значения ошибок, которые могут появиться в ячейке, содержащей формулу. Формулы могут возвращать ошибки и в том случае, если ячейки, на которые в них есть ссылки, содержат ошибки. Этот эффект носит название цепной реакции, когда единственное ошибочное значение может породить ошибки во многих других ячейках, содержащих формулы со ссылкой на эту ячейку. Таблица 8.3. Значения ошибок Ошибка Описание #дел/о ! Формула пытается выполнить деление на ноль или на содержимое пустой ячейки #имя? в формуле используется имя, которое Excel не может распознать. Например, имя, используемое в формуле, удалено или при вводе текста где-то пропущена кавычка #н/д Неопределенные данные. Формула ссылается (прямо или косвенно) на ячейку с функцией, которая содержит ссылку на недопустимый тип данных #пусто ! в формуле используется пересечение двух диапазонов, которые на самом деле не пересекаются (подробнее об этом идет речь далее в главе) #число! Проблема связана со значением; например, вы задали отрицательное число там, где должно быть положительное #ссылка ! Недопустимая ссылка; например, формула ссылается на ячейку, удаленную из рабочего листа #знач ! В формулу включен аргумент или операнд недопустимого типа. Операнд — это значение (или ссылка на ячейку), которое используется в формуле для вычисления результата Циклические ссылки Иногда при вводе формул на экране может появиться сообщение, которое показано на рис. 8.8. Это говорит о том, что в формуле, которую вы только что ввели, используется циклическая ссылка. Циклическая ссылка означает прямое или косвенное обращение форму- На заметку / 168 Часть II. Формулы и функции
лы к самой себе. Например, если ввести в ячейку A3 формулу =А1+А2+А3, то возникает циклическая ссылка, так как в формуле, которая находится в ячейке A3, используется также ссылка на ячейку A3. Вычисления по этой формуле могут продолжаться бесконечно долго, поскольку значение в ячейке A3 будет постоянно изменяться. Другими словами, результат никогда не будет получен. ДЯ£1-В. & Hwoswmkho вычислить фаряупу. Сеылки'м ячейки в форкул* ссылают*; <* и* результат Фос*^яы, образуя . (шк/ичвскуюссыпгу. 8ыпояниг9одж)тстдукш«д«нствим. • Sowia-wweeKa»* №к*ш$даи*^яучг*^,на*^'Г* кнопку *С<*.6уд»тет*даыт*л»*А»иктруматов ■"Циклические ссылке* to справкой лове использованию • Дяв получения сведений еиикличеш-а сштгх «шиит* кнопку "Оливка*. • чтобы оставить фсрнуяу 6es и?нс»«*иГ1 «ежиитв кнопку "Отчена" ОК 3 Отмана ^правка Рис. 8.8. Excel сообщает о том. что в вашей формуле содержится циклическая ссылка Если после ввода формулы вы получили сообщение о циклической ссылке, то у вас есть две возможности. ■ Щелкнуть на кнопке ОК, чтобы попытаться обнаружить циклическую ссылку. ■ Щелкнуть на кнопке Отмена, чтобы ввести формулу в том виде, в каком она есть. Как правило, циклические ссылки являются ошибочными, поэтому нужно щелкнуть на кнопке ОК. Когда вы это сделаете, Excel отобразит панель инструментов Циклические ссылки (рис. 8.9). На этой панели щелкните на первой ячейке в раскрывающемся списке, затем исследуйте находящуюся в ней формулу. Если вы не можете определить, является ли эта ячейка причиной появления циклической ссылки, то щелкните на следующей ячейке в списке. Продолжайте просматривать формулы до тех пор, пока в строке состояния не исчезнет надпись Цикл. |Щ $0ЙП Dp* • J Л Ы Л 1 ArialCyr A3 _| А 1 54 2 36 3J sl 4 Я Ж И вка ^ £нд Вставке Фоецат Сервис Денные ji?u a -ujb- /,_■?-,?_.■ - ю - ж к а * # si аз «4".»: & =А1+А2+А3 I С L. . L Е F ■V \w .-1111.1 * Рис. 8.9. Панель инструментов Циклические ссылки Если Excel автоматически не отображает панель инструментов Циклические Совет ссылки, воспользуйтесь командой Вид^Панели инструментов^Циклические ссылки. ) Если вы решите игнорировать сообщение о циклической ссылке (щелкнув на кнопке Отмена), Excel позволит вам ввести данную формулу и отобразит в строке состояния сообщение, напоминающее о наличии циклической ссылки. В данном случае это сообщение будет выглядеть так: Цикл:АЗ. Если же вы активизируете другой лист или рабочую книгу, то сообщение будет состоять только из одного слова Цикл (без указания адреса ячейки). Глава 8. Использование формул и функций 169
На заметку / Если активизирована опция Итерации, то Excel ничего не сообщит о циклической ссылке (установить эту опцию можно во вкладке Вычисления диалогового окна Параметры). При активизации указанной опции Excel выполняет циклические вычисления столько раз (делает столько итераций), сколько задано в поле Предельное число итераций, или до тех пор, пока изменение значения не станет меньше, чем 0,001 (либо величины, заданной в поле Относительная погрешность). Бывают ситуации, когда циклические ссылки используются преднамеренно. В подобных случаях должен быть выбран параметр Итерации. Но в обычных ситуациях лучше всего не выбирать этот параметр, чтобы можно было получать предупреждения о циклических ссылках. Ведь в большинстве случаев циклическая ссылка указывает на ошибку, которая должна быть исправлена. Чаще всего ошибка, в результате которой возникает циклическая ссылка, очевидна и поэтому ее легко исправить. Но иногда циклические ссылки бывают косвенными. Другими словами, первая формула может ссылаться на вторую, вторая на третью, а третья — опять на первую. В некоторых случаях, чтобы разобраться с возникшей проблемой, необходимо применить недюжинные дедуктивные способности. Преднамеренные циклические ссылки Как упоминалось выше, в некоторых ситуациях циклические ссылки необходимы и вводятся преднамеренно. Рассмотрим пример деятельности фирмы, в политику которой входит перечисление 5% прибыли на благотворительные цели. Но это пожертвование считается статьей расхода и поэтому вычитается из прибыли. Таким образом, прибыль уменьшается и благотворительные перечисления изменяются, что опять приводит к изменению прибыли, т.е. перед нами пример циклической ссылки. Для ее разрешения нужно активизировать опцию Итерации. Пусть в ячейке с именем Пожертвования содержится следующая формула: =5%*Прибьшь В ячейке с именем Прибыль находится формула =Доход-Расходы-Пожертвования Эти формулы создают разрешимую циклическую ссылку. Excel продолжает вычисления до тех пор, пока результаты формул перестанут изменяться. Чтобы увидеть, как это происходит, введите некоторые значения в ячейки Доход и Расходы. Если опция Итерации не установлена, то Excel выведет на экран сообщение о циклической ссылке и правильный результат не будет получен. Если же опция Итерации установлена, то Excel будет продолжать вычисления до тех пор, пока значение Пожертвования не будет составлять 5% от величины Прибыль. Иными словами, последовательность промежуточных результатов должна сойтись к окончательному решению. Рабочую книгу с примером преднамеренной циклической ссылки можно найти на прилагаемом компакт-диске. Р2 Режимы вычислений Как вы, наверное, уже заметили, формулы в рабочей таблице вычисляются мгновенно. Если изменить значение в любой ячейке, используемой в формуле, то эта формула выдаст новый результат без малейших усилий с вашей стороны. Это происходит в том случае, если в Excel установлен режим автоматических вычислений. В этом режиме (который установлен по умолчанию) при вычислении формул Excel придерживается определенных правил. 170 Часть //. Формулы и фунщли
■ Если вы вносите изменения, например вводите или редактируете данные или формулы, Excel мгновенно выполняет вычисления по тем формулам, в которых используются новые или отредактированные данные. ■ Если во время выполнения сложных вычислений, которые требуют много времени, вам понадобится что-то изменить в рабочей таблице, то программа временно прекратит вычисления и возобновит их, когда вы закончите редактирование. ■ Вычисления по формулам выполняются в естественном порядке. Другими словами, если в формуле из ячейки D12 используется результат вычислений по формуле из ячейки D11, то сначала будет вычислена формула из ячейки D11, а затем из D12. Иногда возникает необходимость управлять процессом вычисления по формулам. Например, если создать рабочую таблицу с тысячами сложных формул, то обнаружится, что Excel выполняет вычисления с черепашьей скоростью. В подобном случае нужно установить в Excel ручной режим вычислений. Это можно сделать, с помощью вкладки Вычисления диалогового окна Параметры (рис. 8.10). 1 !§■■■! ■ ■■■! Лвадуьвов»*** 1 Садим»** 8»« Лйчнся»ич 'J npw«a Гцгар»»* rfeejwfUHOa амоюит»,*^" jf; jb Г* точность *«c He s*pan* Г система дат i»4 ■ ММИ . jeJjsi [ ГЪамамши&ж j Орфография j йоопасместь Общие j пцмаФА [ Стеки | Arwpawta t цвет Г»дуч<у» &ЛИСЛКТ*#=9) | г- *" -»— '. , Откоскг*»ьнм г«сра«мктъ: fo,001 ' Р" еохрагт*»*вчеитви№1м*<в*овй Г" догмгать jjastw»*» днапа***» | ск | *-. | Л/с. &/0. Вкладка Вычисления диалогового окна Параметры позволяет управлять процессом вычисления по формулам Чтобы выбрать ручной режим вычислений, установите переключатель Вручную. При переключении в ручной режим вычислений автоматически активизируется опция пересчет перед сохранением. Поэтому, если вы хотите ускорить процесс сохранения файла, снимите этот флажок. Если во время работы в ручном режиме вычислений у вас остаются какие-либо невычис- ленные формулы, то в строке состояния появится надпись Вычислить. Для перерасчета формул можно воспользоваться следующими комбинациями клавиш. ■ <F9>. Пересчитывает формулы во всех открытых рабочих книгах. ■ <Shift+F9>. Пересчитывает только формулы активного рабочего листа. Формулы из других рабочих листов этой же рабочей книги пересчитываться не будут. На замет а заметку / Режим вычислений, установленный в Excel, относится не только к конкретному рабочему листу. Переход в другой режим вычислений влияет на все открытые рабочие книги, а не только на текущую. Глава 8. Использование формул и функций 171
Использование в формулах имен Создание и дальнейшее использование формул значительно облегчается, если в них используются имена диапазонов. Если ячейкам, на которые ссылается формула, дать содержательные имена, то приведенная формула станет понятнее. Например, рассмотрим такую формулу: =(В30-В45)*С12 Если присвоить имена ячейкам, которые используются в формуле, то она станет более понятной. После присвоения имен приведенную выше формулу можно переписать в виде =(Прибыль-Расходы)*Ставка_налога Программа Excel предлагает несколько полезных методик использования имен в формулах. Присвоение имен константам Иногда даже опытные пользователи Excel не знают о том, что можно дать имя элементу, который еще не введен в ячейку. Например, если во многих формулах рабочего листа используется величина ставки налога на продажу, то можно поместить эту величину в некоторую ячейку и использовать в формулах ссылки на эту ячейку. И чтобы формулы были понятными, вероятно, стоит дать этой ячейке имя Налог_Ставка. Однако есть и другой способ сделать это. 1. Выберите команду ВставкаОИмяОПрисвоить (или нажмите комбинацию клавиш <Ctrl+F3>), чтобы вызвать диалоговое окно Присвоение имени. 2. Введите имя (в данном случае Налог_ставка) в поле Имя. 3. Щелкните в поле Формула, удалите его содержимое и введите, например, значение 0,075. Заметьте, что знак равенства перед константой не нужен. 4. Чтобы закрыть диалоговое окно, щелкните на кнопке ОК. Итак, вы только что присвоили имя константе, а не ячейке или диапазону. Теперь, если ввести в ячейку простую формулу, например =Налог_ставка, то она вернет значение 0,075, т.е. ту константу, которую вы определили. Эту константу можно также использовать в формулах, например =А1*Налог_ставка. Константой может быть не только число, но и текст. Например, в качестве кон- Совет станты можно определить название фирмы, где вы работаете. Поименованные константы не появляются в поле Имя или в диалоговом окне Переход — ив этом есть определенный смысл, так как константы физически не находятся ни в одной ячейке. Однако они появляются в диалоговом окне Вставка имени — и это понятно, так как данные имена можно использовать в формулах. Присвоение имен формулам Подобно тому как присваиваются имена константам, можно присваивать имена формулам. Как и имена констант, имена формул не отображаются в поле Имя. Создаются эти имена точно так же, как имена констант, — с помощью диалогового окна Присвоение имени. Например, нужно присвоить имя формуле, по которой вычисляется На заметку / 172 Часть II. Формулы и функции
средний доход за месяц на основе общего годового дохода. Как это сделать, показано на рис. 8.11. В данном случае имя Месячный_доход относится к формуле =ЛистЗ!$В$1/12 Если потребуется применить имя Месячный_доход в другой формуле, то вместо него будет использоваться значение ячейки В1, разделенное на 12. Обратите внимание, что ссылка на ячейку является абсолютной. Процесс присвоения имен формулам становится гораздо интереснее, если использовать относительные, а не абсолютные ссылки. Если при введении формулы в поле Формула использовать метод указания, то Excel всегда будет использовать абсолютные ссылки на ячейку, а не относительные, как это происходит при создании формулы в ячейке. Предположим, вы присвоили имя Степень следующей формуле: =Лист1!А1лЛист1!В1 Заметьте, что при вводе этой формулы активной была ячейка С1. Это очень важно. При использовании данной поименованной формулы в рабочем листе ссылки на ячейки всегда рассматриваются относительно той ячейки, в которой содержится имя. Например, если ввести формулу =Степень в ячейку D12, то в ячейке D12 отобразится результат возведения в степень значения из ячейки В12, причем показатель этой степени содержится в ячейке С12. Пересечения диапазонов В этом разделе речь идет об очень важном, можно сказать, уникальном понятии (так как оно присутствует только в Excel) — о пересечении диапазонов. В Excel для определения перекрывающихся ссылок двух диапазонов используется оператор пересечения — пробел. Простой пример пересечения показан на рис. 8.12. Формула в ячейке D9 имеет такой вид: =В1:В6 A3:D3 Эта формула возвращает число 10 — значение, находящееся в ячейке ВЗ, которая является пересечением двух указанных диапазонов. Рис. 8.11. Excel позволяет дать имя фор- Рис. 8.12. Пример пересечения двух диапа- муле, которой нет в рабочем листе зонов Оператор пересечения является одним из трех операторов отношения диапазонов. Все эти операторы перечислены в табл. 8.4. , Таблица 8.4. Операторы отношений диапазонов Оператор Определяет :(двоеточие) Диапазон Глава 8. Использование формул и функций 173
Окончание табл. 8.4 Оператор Определяет , (запятая) Объединение двух диапазонов. Если разделить два диапазона этим оператором, то получится один диапазон, включающий все ячейки, которые содержатся или в первом, или во втором диапазоне (пробел) Пересечение двух диапазонов. В результате получается диапазон, состоящий только из тех ячеек, которые входят и в первый и во второй диапазоны Однако реальную ценность понятие пересечения диапазонов приобретает при использовании имен. На рис. 8.13 показана таблица значений. Мы выбрали всю таблицу, а затем воспользовались командой ВставкаоИмяоСоздать для автоматического создания имен. В результате программа создала следующие имена: Север =Листб!$В$2:$Е$2 Квартал_1 =Листб!$в$2:$в$5 Юг =Лист6!$В$3:$Е$3 КварТЭЛ_2 =Листб!$С$2:$С$5 ВОСТОК =Листб!$В$4:$Е$4 КварТЭЛ_3 =Лист6! $D$2: $D$5 Запад =Листб!$в$5:$Е$5 Квартал_4 =Листб!$Е$2:$Е$5 Рис. 8.13. На примере этой таблицы показано, как пользоваться пересечениями диапазонов С помощью этих имен можно создавать формулы, которые будет гораздо легче интерпретировать. Например, чтобы вычислить итоговое значение для четвертого квартала, достаточно воспользоваться формулой =СУММ(Квартал_1) Но самое интересное происходит тогда, когда используется оператор пересечения. Перейдите в любую свободную ячейку и введите следующую формулу: =Квартал_3 Запад Вы обнаружите, что эта формула возвращает значение, соответствующее данным за третий квартал для западного региона. Другими словами, она возвращает значение, которое находится на пересечении диапазонов Квартал_3 и Запад. Таким образом, присваивая диапазонам имена, можно создавать простые и понятные формулы. 174 Часть II. Формулы и функции
Замена существующих ссылок именами Если присвоить имя ячейке или диапазону, то Excel не будет автоматически заменять им ссылки в существующих формулах. Приведем такой пример. Предположим, в ячейке F10 находится следующая формула: =А1-А2 Если присвоить ячейке А1 имя Доход, а ячейке А2 — Расход, то Excel не будет выполнять автоматическое преобразование формулы к виду =Доход-Расход. Тем не менее заменить существующие ссылки на ячейки или диапазоны их именами достаточно просто. Чтобы заменить в формулах существующие ссылки именами, сначала выберите соответствующий диапазон. Затем выполните команду Вставка^Имя^Применить. На экране появится диалоговое окно Применение имен, показанное на рис. 8.14. Выберите имена, которые вы хотите применить, щелкнув на них, а затем щелкните на кнопке ОК. В выбранном диапазоне Excel заменит ссылки на ячейки и диапазоны соответствующими именами. ГСДМИМВУДК..' Р" иоютьаоввт* нив*»» строк м стчябив ..1 *i 1 « 1 Отивмв | Параметры >> j Рис. 8.14. Диалоговое окно, с помощью которого можно заменить ссылки именами Использование заголовков строк и столбцов в качестве имен Если вы хотите использовать в формулах содержательные имена, но при этом не желаете мучиться с их созданием, вам должна понравиться возможность, которая позволяет использовать "имена", не определяя их. Чтобы понять, как работает эта функция, обратитесь к рис. 8.13. Для того чтобы сослаться на ячейку, например в которой содержатся данные по продажам за 1 -й квартал для южного региона, воспользуйтесь следующей формулой: =Квартал 1 Юг Другими словами, эта формула возвращает ячейку, которая находится на пересечении столбца Квартал 1 и строки Юг, причем без определения каких-либо имен. Этот метод имеет некоторые ограничения. Заголовки строк и столбцов не являются "настоящими" именами. Они не появляются ни в диалоговом окне Присвоение имени, ни в поле Имя. Поэтому данным методом можно пользоваться только в том случае, если формула ссылается на ячейки того же листа. К тому же нет никакого способа документировать эти "имена". Иными словами, вы никогда не можете точно сказать на что ссылаются такие имена. Более того, иногда формулы, в которых используются такие имена могут возвращать неправильные результаты. Таким образом, лучше потратить несколько секунд и создать настоящие имена для ячеек и диапазонов, тем более, что сделать это совсем несложно. Рекомендации по работе с формулами Существует множество разнообразных "хитростей", которые помогают не только создавать формулы, но и эффективно их использовать. Приведем некоторые из них. Глава 8. Использование формул и функций 175
Не используйте в формулах константы При создании формулы дважды подумайте, прежде чем ввести в нее константу. Например, чтобы вычислить налог с оборота (ставка которого составляет 7,5%), можно ввести формулу =А1*0,075 Однако лучше ввести эту константу в ячейку, а в формуле использовать уже ссылку на ячейку. Можно также присвоить имя константе. Эти действия в дальнейшем позволят сберечь время при документировании и модификации рабочей книги. Например, если ставка налога изменится и будет составлять 6,75%, то вам придется вносить изменения в каждую формулу, в которой используется старое значение. Если же значение хранится в ячейке, то вам нужно будет просто изменить одно значение. Все остальное Excel сделает сама. Строка формул в качестве калькулятора Если вам нужно выполнить какие-либо вычисления, можете в качестве калькулятора использовать строку формул. Введите, например, следующую формулу, но не нажимайте клавишу <Enter>: =(145*1,05)/12 Если вы нажмете клавишу <Enter>, то Excel введет эту формулу в активную ячейку. Но, так как данная формула всегда возвращает один и тот же результат, имеет смысл сохранить результат, а не саму формулу. Чтобы это сделать, нажмите клавишу <F9>, а затем <Enter>. Программа поместит в ячейку результат вычисления по формуле (12,6875), а не саму формулу. Этот принцип работает также при использовании в формуле ссылок на ячейки. Получение точной копии формулы Как вы уже знаете, при копировании формулы Excel изменяет в ней ссылки на ячейки, когда вставляет ее в другое место рабочего листа. Но иногда возникает необходимость получить точную копию формулы. Один из способов добиться этого — преобразовать ссылки на ячейки в абсолютные значения, но это не очень удобно и не всегда нужно. Гораздо лучше, находясь в режиме редактирования, выбрать формулу, а затем скопировать ее в буфер обмена в виде текста. Существует несколько способов сделать это. Ниже описано, как получить точную копию формулы из ячейки А1, а затем скопировать ее в ячейку А2. 1. Дважды щелкните на ячейке А1, чтобы перейти в режим редактирования. 2. Выделите всю формулу. 3. Щелкните на кнопке Копировать, расположенной на стандартной панели инструментов. В результате выбранный текст будет скопирован в буфер обмена. 4. Нажмите клавишу <Enter>, чтобы выйти из режима редактирования. 5. Активизируйте ячейку А2. 6. Щелкните на кнопке Вставить стандартной панели инструментов, чтобы вставить текст в ячейку А2. Этот же метод можно применить для того, чтобы скопировать только часть формулы, которую необходимо использовать в другой формуле. С помощью мыши выберите ту часть формулы, которую нужно скопировать. Затем воспользуйтесь одним из имеющихся способов. 176 Часть II. Формулы и функции
чтобы скопировать выбранную часть в буфер обмена. После этого можно вставить текст в другую ячейку. При вставке в новые ячейки формул (или их фрагментов), скопированных подобным образом, содержащиеся в них ссылки на ячейки изменяться не будут. Причина заключается в том, что формулы были скопированы как текст, а не как настоящие формулы. Можно также преобразовать формулу в текст, добавив перед знаком равенства Совет апостроф ('). Преобразование формул в значения Если у вас есть ряд формул, которые всегда дают один и тот же результат, можете преобразовать их в значения. Для этого воспользуйтесь командой Правка^Специальная вставка. Например, в диапазоне А1:А20 содержатся формулы и по ним уже вычислены результаты, которые никогда не изменятся. Чтобы преобразовать эти формулы в значения, выполните ряд действий. 1. Выберите диапазон А1:А20. 2. Щелкните на кнопке Копировать стандартной панели инструментов. 3. Выберите команду ПравкаоСпециальная вставка. На экране появится диалоговое окно Специальная вставка. 4. Установите переключатель Значения, а затем щелкните на кнопке ОК. 5. Чтобы отменить режим вставки, нажмите клавишу <Enter> или <Esc>. Глава 8. Использование формул и функций 177
глава Работа с текстом К В этой главе... Как Excel хранит текст в ячейках Функции по работе с текстом Примеры создания формул для работы с текстом ак известно, Excel наиболее часто используют для работы с числовыми данными. Тем не менее эта программа обладает также огромными возможностями по работе с текстом. Как вы уже знаете, ячейки могут содержать текстовые значения. В текстовом формате вводятся заголовки строк и столбцов, имена клиентов, адреса и множество другой информации. И неудивительно, что Excel имеет полный набор функций, которые позволяют работать с текстовыми значениями. Прочитав эту главу, вы узнаете, как использовать текстовые функции и создавать формулы, манипулирующие текстом. Некоторые из представленных формул и функций обладают такими возможностями, о которых вы и не догадывались. Здесь вы найдете множество примеров, иллюстрирующих работу описанных формул и функций. Несколько слов о тексте Когда вы вводите в ячейку данные, Excel сразу же определяет, какие именно данные вводятся: формула, число (включая дату или время) или что-нибудь еще. Это "что-нибудь еще" и есть текст. На заметку Иногда вместо термина текст используется термин строка. Они имеют один и тот же смысл и обозначают последовательность символов. Иногда эти два термина употребляются вместе; например, вы можете услышать такие выражения, как текстовая строка или строка текста. Но от этого смысл не меняется. Количество символов в ячейке В одной ячейке может храниться до 32 000 символов. Это примерно столько же, сколько символов (букв) в средней по размеру главе данной книги. Вы можете ввести в ячейку огромное количество символов, но отобразить их все на экране одновременно отнюдь не просто.
Ошибки Excel при импорте данных Когда вы импортируете данные из других источников, Excel иногда распознает числовые значения как текстовые. Но не отчаивайтесь, существует быстрый способ преобразовать ваши данные в правильный формат. Для этого выделите пустую ячейку и выберите команду Правка^Жопировать, чтобы скопировать ее в буфер обмена. Затем выделите диапазон, значения которого нужно преобразовать в числовой формат, и выберите команду Правка^ Специальная вставка. На экране появится одноименное диалоговое окно. В группе переключателей Операция выберите Сложить и щелкните на кнопке ОК. Excel должна будет добавить к каждой ячейке выделенного диапазона ноль. Но для выполнения этой операции оба слагаемых должны быть числами. В результате все ячейки выбранного диапазона будут принудительно преобразованы в числовой формат. Преобразование числа в текст Как уже отмечалось, Excel различает числа и текст. Если вы хотите преобразовать числовое значение в текстовое, выполните одно из описанных ниже действий. ■ Примените к ячейке формат Текстовый. Для этого выберите команду Формате Ячейки, перейдите во вкладку Число и выберите из списка Текстовый. Если вы самостоятельно не изменяли горизонтальное выравнивание выбранной ячейки, то содержимое ячейки будет выровнено по левому краю (т.е. как во всех ячейках, содержащих текст). ■ Перейдите в режим редактирования ячейки и перед числом введите апостроф. Этот символ не будет отображаться на экране, но Excel преобразует содержимое ячейки в текстовый формат. Помните: даже если число было преобразовано в текст одним из описанных методов, но по-прежнему выглядит как число, с ним можно выполнять некоторые математические операции. Например, пусть в ячейке А1 находится число, перед которым поставлен апостроф. Следующая формула вернет значение, которое на единицу больше, чем "число", хранящееся в ячейке А1: =А1 + 1 Тем не менее в следующей формуле предполагается, что содержимое ячейки А1 равно нулю (как и любой другой ячейки, содержащей текст): =СУММ(А1:А10) Если вы ранее работали с Lotus 1-2-3, то, вероятно, заметите важное отличие. Программа Lotus 1-2-3 никогда не преобразует текст в число. В некоторых случаях такое преобразование может быть полезным. Но часто это может привести к ошибкам. Поэтому будьте очень внимательны и осторожны, когда работаете с числами, отформатированными как текст. Текстовые функции В Excel включено очень много функций для работы с текстом. Для вашего удобства в диалоговом окне Мастер функций все они представлены в категории Текстовые. Ряд других функций, которые также можно использовать для работы с текстом, "приписаны" к другим категориям. Например, функцию ЕТЕКСТ в диалоговом окне Мастер функций можно найти в категории Проверка свойств и значений. Глава 9. Работа с текстом 179
Действие большинства текстовых функций не ограничено текстовыми данными. Как правило, они также могут работать с ячейками, содержащими числовые значения. Excel может обрабатывать числа как текст и текст как числа. Примеры этого раздела демонстрируют общие (и полезные) способы работы с текстом. Некоторые из этих примеров вы наверняка сможете приспособить для решения своих задач. Определение типа содержимого ячейки В некоторых ситуациях может пригодиться формула, определяющая тип данных, содержащихся в ячейке. Например, требуется, чтобы функция ЕСЛИ возвращала результат только тогда, когда в ячейке находится текст. Для решения этой проблемы легче всего воспользоваться функцией ЕТЕКСТ. Функция ЕТЕКСТ зависит только от одного аргумента и возвращает значение ИСТИНА, если аргумент содержит текст, и ЛОЖЬ в противном случае. Следующая формула возвращает значение ИСТИНА, если ячейка А1 содержит текст: =ЕТЕКСТ(А1) Коды символов Каждый символ, который вы видите на экране, имеет свой код. В Excel, как и во всех программах, работающих под управлением операционной системы Windows, используется таблица символов ANSI. Она состоит из 255 символов, которые последовательно пронумерованы от 1 до 255. На рис. 9.1 показан рабочий лист, в котором отображаются все 255 символов. В данном случае используется шрифт Arial Cyr. В других шрифтах некоторые символы могут отличаться. ^^ Эту рабочую книгу можно найти на прилагаемом компакт-диске. Книга содержит А несколько простых макросов, которые позволяют просмотреть таблицу символов | для любого установленного на вашем компьютере шрифта. А Табят** tmrmottow •>)« Рис. 9.1. Таблица символов ANSI (для шрифта Arial Cyr) В Excel есть две функции для работы с символами: КОДСИМВ и СИМВОЛ. Сами по себе эти функции не очень полезны, но они часто используются вместе с другими функциями. 180 Часть II. Формулы и функции
Функция КОДСИМВ Эта функция возвращает код символа, который указан в качестве аргумента. Например, формула, приведенная ниже, вернет значение 193, поскольку это код заглавной буквы Б: = КОДСШВ("Б" ) Если в качестве аргумента задать строку, то функция вернет код первого символа. Остальные символы в строке использоваться не будут. Поэтому следующая формула также вернет число 193: =КОДСИМВ("Борис Гребенщиков" ) Функция СИМВОЛ Эта функция противоположна по действию функции КОДСИМВ. Аргументом является число в диапазоне от 1 до 255, а результатом выполнения функции будет соответствующий символ. Поэтому следующая формула вернет символ Б: =СИМВОЛ(193) Чтобы убедиться, что эти две функции по действию противоположны, попробуйте ввести формулу =СИМВОЛ(КОДСИМВ("Б" ) ) В результате выполнения этой формулы будет получен символ Б. Сначала символ будет преобразован в код (193), а затем этот код будет вновь преобразован в символ. Предположим, что в ячейке А1 содержится символ Б (прописная буква). Тогда в результате вычисления формулы будет получен символ б (строчная буква): =СИМВОЛ(КОДСИМВ(А1)+32) В этой формуле используется тот факт, что в таблице символов в алфавитном порядке располагаются сначала прописные буквы, а затем в том же порядке строчные буквы. Поэтому код каждой строчной буквы на 32 больше, чем соответствующей прописной. Сравнение текстовых строк Наиболее простой способ определить, совпадают ли две текстовые строки, — применение формулы, проверяющей равенство содержимого двух ячеек. Например, для проверки совпадения содержимого ячеек А1 и А2 можно применить формулу =А1=А2 Если содержимое строк совпадает, то вернется значение ИСТИНА, в противном случае — ЛОЖЬ. К сожалению, Excel выполняет не точное сравнение текстовых строк, поскольку не учитывает регистр символов. Допустим, в ячейке А1 содержится Январь, а в А2 — ЯНВАРЬ. Тогда приведенная формула возвратит значение ИСТИНА, хотя очевидно, что содержимое ячеек не идентично. Иными словами, эта операция не чувствительна к регистру символов. Во многих случаях регистр символов не играет роли, и тогда формула, подобная приведенной выше, вполне подходит. Но если необходимо точное сравнение текстовых строк с учетом регистра символов, следует использовать функцию СОВПАД, которая учитывает регистр (но игнорирует различия в форматировании). Эта функция возвращает значение ИСТИНА только тогда, когда содержимое ячеек А1 и А2 в точности совпадает: =С0ВПАД(А1;А2) Глава 9. Работа с текстом 181
Следующая формула возвратит значение ЛОЖЬ, поскольку первая строка заканчивается пробелом: =СОВПАД("нуль ";"нуль") Объединение содержимого ячеек Для объединения содержимого нескольких ячеек в Excel используется оператор конкатенации, который обозначается символом амперсанда (&). Например, если в ячейке А1 содержится текст Нижний Новгород, а в ячейке А2 — Россия, то следующая формула возвратит результат Нижний НовгородРоссия: =А1 & А2 Отметим, что текстовые строки объединяются без разделяющего пробела. Чтобы вставить пробел между двумя строками (тогда получится Нижний Новгород Россия), используйте формулу =А1 & " " & А2 Чтобы между объединяемыми строками вставить запятую и пробел (получится Нижний Новгород, Россия), следует применить формулу =А1 & ", " & А2 Предположим, требуется объединить содержимое ячеек А1 и В1, причем содержимое ячейки А1 должно располагаться в первой строке, а ячейки В1 — во второй. Убедитесь, что во вкладке Выравнивание диалогового окна Формат ячеек установлена опция Переносить по словам. Чтобы вручную перенести содержимое на следующую строку, вставим символ разрыва строки. Это непечатаемый (т.е. "невидимый") символ и ему соответствует код 10. Формула будет иметь вид =А1 & СИМВОЛ(10) & В1 Приведем пример, в котором формула возвращает слово Excel. Каждый символ получен с помощью функции СИМВОЛ, после чего они объединяются в слово: =СИМВОЛ(69) & СИМВОЛ(120) & СИМВОЛ(99) & СИМВОЛ(101) & СИМВОЛ(108) В следующем примере формула объединяет текст со значением, возвращаемым функцией (здесь это максимальное значение ячеек столбца С): ="Наибольшее значение в столбце С равно " & МАКС(С:С) ^^^ Для объединения содержимого ячеек в Excel также есть функция СЦЕПИТЬ, ко- На заметку торая может иметь до 30 аргументов. Эта функция последовательно объединяет значения аргументов в одну строку. Конечно же, можно использовать эту функцию, но если вам нужно объединить небольшое число строк, то проще использовать оператор конкатенации. Вставка специальных символов Вставить специальные символы, которых нет на клавиатуре, можно с помощью диалогового окна Символ. Для этого выполните команду Вставка^Символ. Используя это диалоговое ;но, можно вставлять в ячейки различные специальные символы (включая и символы кодировки Unicode). Предположим, в рабочий лист нужно вставить греческую букву п. Для этого из раскрывающегося списка Шрифт выберите Symbol. Затем выделите соответствующий символ и щелкните на кнопке Вставить. В поле Код знака отобразится код выбранного символа (в данном случае — 112). 182 Часть II. Формулы и функции
й—<**■ j Соеииаяьныв знаки | U(*i*I:|SymW п = П ■»*» 1 л 01 а в * В Р 0 р 3 X 2 X о 4 Л т б Т .. Е Y £ V ', Ф С <> w .У 7 Г О У ы Я b £Г Ч * •• I * г V испвл*>а»««и*еч o**<ww: elfilv'1©'®!™!* / * * : .? Z *> f ; V [ К { . Л л X 1 = м ] д } + 1 х ъ*м.т Вмиг*!!.. з> | ШО м N 7 «^1 n"oj I1" V - °i •1 а м*ол(дк) [ Варить га j | Отмен» j Кроме того, Excel при вводе автоматически заменяет некоторые комбинации букв соответствующими специальными символами. Например, если в ячейку ввести (с), то Excel заменит это на символ ©. Список всех таких символов можно найти в диалоговом окне Автозамена. Чтобы его отобразить, выберите команду Сервисе Параметры автозамены и перейдите во вкладку Автозамена. Предположим, была выполнена автозамена для слова, которое вы хотите оставить в том виде, в котором его ввели. Чтобы отменить выполненную автозамену, щелкните на кнопке Отмена или нажмите комбинацию клавиш <Ctrl+Z>. Отображение форматированных числовых значений в виде текста Объединить текст и число в одно целое можно с помощью операции конкатенации, например посредством следующей формулы (рис. 9.2): ="Прибыль равна " & ВЗ F? Е С | Е 1 F < G ГЯ| Цохад Э54 2Э5р Расколы 123 440р. 1 : Рис. 9.2. В ячейке D3 число не отформатировано Эта формула объединит текстовую строку и числовое значение, находящееся в ячейке ВЗ, но это число не будет отформатированным. Допустим, вы хотите, чтобы в объединенной текстовой строке число отображалось в формате Денежный. Для этого следует использовать функцию ТЕКСТ. Вопреки очевидным ожиданиям применение числового формата к содержимому ячейки не окажет никакого действия на результат приведенной выше формулы, поскольку она возвращает текст, а не числовое значение. На замет а заметку / Глава 9. Работа с текстом 183
Формула, применяющая формат к значению ячейки ВЗ посредством функции ТЕКСТ, имеет следующий вид: ="Прибыль равна " & ТЕКСТ(ВЗ;"# ##0,00руб.") Эта формула вернет текстовую строку и отформатированное числовое значение. Второй аргумент функции ТЕКСТ — это стандартный код числового формата Excel. Здесь можно применять любые допустимые коды форматов. В предыдущем примере используется простая ссылка на ячейку. Но в качестве первого параметра можно использовать и выражение. В следующем примере текст объединяется с числом, которое получено в результате вычисления функции: = "Средний расход равен " & ТЕКСТ (СРЗНАЧ (С :С) ,- "# ##0, 00руб.") Эта формула может вернуть, например, такой результат: Средний расход равен 74 806,96руб. В функции ТЕКСТ вместо ссылки на ячейку можно использовать функции СЕГОДНЯ и ТДАТА для вставки в рабочий лист отформатированных значений текущих даты и времени. Например, формула ="Отчет напечатан " & ТЕКСТ(ТДАТАО;"ДД.ММ.ГГГГ в ч:мм") вернет такой результат: Отчет напечатан 18.02.2004 в 14:54. ^ Числовые форматы детально обсуждаются в главе 25. грполнкгельадя нформацкя Отображение числовых значений в денежном формате в виде текста Чтобы отображать числа в денежном формате, можно воспользоваться функцией РУБЛЬ, которая преобразует число в текст с применением числового формата Денежный, код которого имеет вид # ##0, ООр. ,- -# ##0, ООр.. Функция РУБЛЬ имеет два аргумента, первый их которых указывает на форматируемое число, а второй — количество цифр после десятичной запятой. Если второй аргумент опущен, то по умолчанию выводится две цифры после запятой. Приведем формулу с применением этой функции: ="Прибыль равна " & РУБЛЬ(ВЗ) В следующем примере результатом выполнения формулы будет такая строка: Итог равен 1 287,365р.; здесь определен необязательный второй аргумент: ="Итог равен " & РУБЛЬ(1287,3646;3) Иногда удобнее использовать функцию РУБЛЬ вместо ТЕКСТ. Тем не менее функция ТЕКСТ более гибкая, поскольку она не ограничена только одним форматом представления чисел. Повторение текста Функция ПОВТОР повторяет текстовую строку, которая задается как первый аргумент функции, столько раз, сколько указано во втором аргументе. Например, следующая формула вернет строку ХоХоХо: =ПОВТОР("Хо";3) 184 Часть II. Формулы и функции
С помощью этой функции также можно создавать горизонтальные разделители между ячейками. Ниже показано, как вставить волнистую линию длиной в 20 символов: =ПОВТОР("~";20) Создание текстовых гистограмм Используя функцию ПОВТОР, можно создать простую гистограмму (или диаграмму плотности распределения) прямо в рабочем листе. На рис. 9.3 показан пример такой гистограммы. Этот способ графического отображения данных особенно удобен, когда нужно графически представить большой объем исходных данных. В этом случае обычные диаграммы будут очень громоздкими. 'У •" -lalxi щ пл.и 9.„ рмшщ.ищдшшшц-ниш Рис. 9.3. С помощью функции ПОВТОР можно создать наглядную гистограмму В результате вычислений по формулам в столбцах Е и G графически показаны колебания бюджета по месяцам. К столбцам Е и G был применен шрифт Wingdings. В качестве повторяемого символа используется буква П, которая в этом шрифте имеет вид маленького квадратика. В первой строке содержатся такие формулы: ЕЗ: =ЕСЛИ(D3<0,• ПОВТОР("п";-ОКРУГЛ(D3*100;0) ) ;"") F3: =АЗ G3: =ECnM(D3>0;ПОВТОР("п";ОКРУГЛ(D3*100;0)) ; "") Примените к ячейкам ЕЗ и G3 шрифт Wingdings, а затем скопируйте формулы во все остальные ячейки. Выровняйте значения в столбце Е по правому краю. В зависимости от разброса данных, можно изменить масштаб. Для этого следует заменить в формулах число 100 более подходящим. Например, если разброс значений не более 10%, то можно вдвое увеличить масштаб. Для этого вместо числа 100 введите 200. Таким образом, один символ будет равен не 1%, а 0,5%. Кроме того, можно заменить символ П любым другим, чтобы поменять внешний вид столбцов диаграммы. На ком* диске омпзи- Эту рабочую книгу можно найти на прилагаемом компакт-диске. Заполнение символами ячейки с числом На печатных чеках часто справа от числа выводится определенное количество звездочек. Это делается для того, чтобы нельзя было дописывать цифры. Эту операцию также можно Глава 9. Работа с текстом 185
выполнить, используя функцию ПОВТОР. Следующая формула отобразит содержимое ячейки А1, добавив справа звездочки так, что всего будет 24 символа: =А1 & ПОВТОР("*";24-ДЛСТР(А1)) Если необходимо вставить звездочки слева, то формула перепишется так: = ПОВТОР("*";24 -ДЛСТР(А1)) & А1 В следующем примере звездочки будут напечатаны по обе стороны от числа (если число в ячейке А1 состоит из четного количества цифр, то формула вернет 24 символа; в противном случае — 23): =ПОВТОР("*";12-ДЛСТР(А1)/2) & А1 & ПОВТОР("*";12-ДЛСТР(А1)/2) При необходимости можно модифицировать формулу так, чтобы она всегда возвращала 24 символа. Эти формулы возвращают неформатированный текст. Если в ячейке А1 содержится число и вы хотите отобразить его в денежном формате, добавив справа звездочки, примените следующую формулу: =ТЕКСТ(А1;"# ##0,00р.") & ПОВТОР("*",-24-ДЛСТР(ТЕКСТ(А1;"# ##0,00р."))) На рис. 9.4 показано, как работает эта формула. 124Э5 124,35р 564 564,ООр 9.487 9,49р 12,32 12,32р 036 0,26р. "\Ли5й>п~гг.лкт1/л<г</и | .»] Рис. 9.4. Использование формулы для заполнения символами * форматированного числа Вставить звездочки в ячейку для заполнения пустого места в ней можно с помощью пользовательских форматов. Чтобы заполнить пустое место каким-либо символом, введите символ *, а затем повторяющийся символ. Например, следующий код формата предназначен для форматирования числового значения денежным форматом и заполнения пустого места символами дефиса после числа: # ##0,00р.*- Чтобы заполнить пустое пространство звездочками, используйте такой формат: # ##0,00р.** Подробнее пользовательские форматы рассматриваются в главе 25. Там также Воролнителыяя приведены дополнительные примеры использования в формате знака *. информация Удаление пробелов и непечатаемых символов Данные, которые импортируются в рабочие листы Excel из внешних источников, часто содержат лишние пробелы и специальные непечатаемые символы (например, символы начала и конца файла). Excel предлагает две функции, которые помогут привести такие данные в порядок. ■ СЖПРОБЕЛЫ. Удаляет из текста пробелы, оставляя по одному между словами. ■ ПЕЧСИМВ. Удаляет все непечатаемые символы из текста. 186 Часть II. Формулы и функции
Следующая формула возвращает текст Доход четвертого квартала без лишних пробелов (пробелы в начале и в конце строки также удаляются): = СЖПРОБЕЛЫ(" Доход четвертого квартала ") Подсчет символов в строке Функция ДЛСТР имеет один аргумент и возвращает количество символов, содержащихся в ячейке. Если в ячейке А1 содержится строка Продажи за сентябрь, то следующая формула вернет число 19: =ДЛСТР(А1) Обратите внимание, что пробелы также включаются в число подсчитываемых символов. Следующая формула возвращает общее число символов в диапазоне А1:АЗ: {=СУММ(ДЛСТР(А1);ДЛСТР(А2);ДЛСТР(A3))} Отметим, что последняя формула является формулой массива. TV Далее в этой главе будет приведен пример формулы, вычисляющей количество Дополнителыот символов без учета пробелов. В главе 11 приведены другие примеры по подсиету 1 текстовых элементов. Формулы массива рассматриваются в главе 17. Изменение регистра текста Программа Excel имеет три функции, изменяющие регистр текста. ■ СТРОЧН. Переводит все символы текста в нижний регистр (т.е. в строчные). ■ ПРОПИСН. Переводит все символы в ВЕРХНИЙ РЕГИСТР (в прописные). ■ ПРОПНАЧ. Делает первые буквы всех слов прописными, А Остальные Строчными. Приведенные функции достаточно просты и понятны. Например, пусть в ячейке А1 содержится текст ИВАН ИВАНЫЧ ИВАНОВ. Следующая формула возвратит текст Иван Иваныч Иванов. =ПРОПНАЧ(А1) Эти функции оперируют только буквами, другие символы они игнорируют и возвращают без изменения. Замена исходных данных преобразованными Множество примеров этой главы показывают, как с помощью различных функций можно преобразовать данные. Например, функция ПРОПИСН используется, чтобы изменить регистр текста. Но часто требуется заменить исходные данные преобразованными. Это можно сделать с помощью диалогового окна Специальная вставка. Чтобы заменить исходные данные, выполните ряд действий. 1. Используя формулы и функции, выполните соответствующие преобразования исходных данных. 2. Выделите диапазон ячеек, содержащих формулы. 3. Выберите команду Правкам Копировать. 4. Выделите исходные данные. Глава 9. Работа с текстом 187
5. Выберите команду Правка=>Специальная вставка, чтобы отобразить одноименное диалоговое окно. 6. Установите переключатель в положение Значения, затем щелкните на кнопке ОК. В результате исходные данные будут заменены преобразованными. После выполнения этих действий можно удалить ячейки, которые содержат формулы. Извлечение фрагментов из текста Извлечение фрагментов из текстовой строки — одна из наиболее часто выполняемых операций. Например, часто требуется извлечь фамилию из ячейки, содержащей полное имя клиента. Для этого Excel предлагает несколько полезных функций. ■ ЛЕВСИМВ. Возвращает указанное количество символов с начала текстовой строки. ■ ПРАВСИМВ. Возвращает указанное количество символов с конца текстовой строки. ■ ПСТР. Возвращает указанное число символов из текстовой строки, начиная с указанной позиции. Приведем формулу, которая возвращает последние 10 символов из содержимого ячейки А1. Если в ячейке содержится меньше 10 символов, возвращается все содержимое ячейки. =ПРАВСИМВ(А1;10) Следующая формула с помощью функции ПСТР возвращает пять символов из ячейки А1, начиная со второй позиции, т.е. она вернет со второго по шестой символы включительно: =ПСТР(А1;2;5) В следующем примере строка, которая содержится в ячейке А1, будет преобразована таким образом, что прописной будет только первая буква, остальные будут строчными. Здесь используется функция ЛЕВСИМВ, которая возвращает первый символ в строке. Затем функция ПРОПИСН преобразует эту букву в верхний регистр. Далее, используя функцию ПРАВСИМВ, вырезается остальная часть строки и преобразуется в нижний регистр. После выполненных преобразований две части строки объединяются: =ПРОПИСН(ЛЕВСИМВ(А1)) & ПРАВСИМВ(СТРОЧН(А1);ДЛСТР(А1)-1) Пусть, например, в ячейке А1 содержится текст ПЕРВЫЙ КВАРТАЛ, тогда формула вернет Первый квартал. Замена текста В некоторых ситуациях требуется заменить часть текстовой строки другим текстовым фрагментом. Например, импортированные из внешнего источника данные содержат звездочки, которые вы хотите заменить другим символом. Для этого можно использовать команду ПравкаОЗаменить. Но если вы предпочитаете работать с формулами, то в Excel для подобных операций предусмотрено две функции. ■ ПОДСТАВИТЬ. Заменяет указанный текст в текстовой строке. Эту функцию следует использовать тогда, когда вы знаете заменяемый текст, но не знаете его местоположение в строке. ■ ЗАМЕНИТЬ. Замещает часть текстовой строки другим текстом, начиная с указанной позиции. Эту функцию применяют тогда, когда известно местоположение заменяемого текста, но не известен сам текст. 188 Часть II. Формулы и функции
В следующей формуле функция ПОДСТАВИТЬ заменяет 2003 на 2004 в строке Бюджет 2003 и возвращает Бюджет 2004: = ПОДСТАВИТЬ("Бюджет 2003" ; "2003";"2004") Следующая формула заменяет один символ в шестой позиции пустой строкой, т.е. просто удаляет шестой символ: =ЗАМЕНИТЬ("Часть-544";6;1;"") Эта формула возвратит Часть544. Для одновременного выполнения нескольких замен в одной формуле можно использовать вложение функций. Поиск текста Функции НАЙТИ и ПОИСК предназначены для определения местоположения в текстовой строке заданной последовательности символов. ■ НАЙТИ. Находит вхождение одной текстовой строки в другую текстовую строку и возвращает положение начала искомого текста относительно крайнего левого символа просматриваемого текста. Эта функция может начинать просмотр текста с указанной позиции. Она учитывает регистр символов. ■ ПОИСК. Находит вхождение одной текстовой строки в другую текстовую строку и возвращает положение начала искомого текста относительно крайнего левого символа просматриваемого текста. Эта функция может начинать просмотр текста с указанной позиции. Она не учитывает регистр символов. Как видно из этих описаний, различие между функциями заключается только в том, что функция НАЙТИ учитывает регистр символов, а ПОИСК — нет. Приведенные ниже формулы с помощью функций НАЙТИ и ПОИСК, позволяют определить позицию первого вхождения буквы а. Они возвращают разные значения: функция НАЙТИ возвращает число 6, а функция ПОИСК — число 1. =НАЙТИ("а" ; "Александр" ,-1) =ПОИСК("а";"Александр";1) В качестве первого аргумента функции ПОИСК можно использовать подстановочные символы (в функции НАЙТИ этого делать нельзя). ■ Знак вопроса (?). Этот знак соответствует любому символу в тексте. ■ Звездочка (*). Соответствует любой последовательности символов. Если в тексте нужно найти знак вопроса или звездочку, то перед ними следует Совет поставить знак тильды (-). Л В следующем примере в содержимом ячейки А1 проводится поиск последовательности из трех символов, в которой второй символ — дефис. Иными словами, ищется позиция символа, за которым следует дефис и еще один произвольный символ. Например, если в ячейке А1 содержится текст Часть-А90, то формула вернет число 5: =ПОИСК("?-?",А1,1) Глава 9. Работа с текстом 189
Замена текста Функцию ЗАМЕНИТЬ можно эффективно использовать вместе с функцией ПОИСК, чтобы заменить часть текстовой строки другой строкой. Функция ЗАМЕНИТЬ имеет четыре аргумента: исходный текст; номер символа, начиная с которого осуществляется замена; количество удаляемых символов; новая текстовая строка. В данном случае функция ПОИСК используется для того, чтобы определить позицию, с которой следует выполнять замену. Например, предположим, что в ячейке А1 находится такой текст: Суммарный доход 2004. Тогда следующая формула заменит слово доход словом убыток: =ЗАМЕНИТЬ(А1;ПОИСК("ДОХОД";А1);5;"убыток") С помощью функции ПОДСТАВИТЬ можно добиться того же результата, но более простым и понятным путем: =ПОДСТАВИТЬ(А1;"доход"/"убыток") Создание формул для работы с текстом В этом разделе приведены более сложные примеры и несколько полезных приемов обработки текстовых данных. К сожалению, поскольку объем книги ограничен, примеры приводятся только с краткими описаниями. Ь^ Рабочую книгу со всеми приведенными примерами можно найти на прилагаемом На коми щ компакт-диске. Подсчет количества определенных символов в тексте Следующая формула подсчитывает количество букв В (только прописных) в текстовой строке, содержащейся в ячейке А1: =ДЛСТР(А1)-ДЛСТР(ПОДСТАВИТЬ(А1;"В";"") ) В этой формуле с помощью функции ПОДСТАВИТЬ создается новая текстовая строка (только в памяти компьютера), в которой удалены все буквы В. Затем количество символов в этой строке вычитается из количества символов в исходной строке. В результате получаем количество букв В в исходной строке. В следующем примере подсчитывается количество букв В независимо от регистра: =ДЛСТР(А1)-ДЛСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(А1;"В";""); "в";"")) Подсчет вхождений подстрок в текст Формулы предыдущего раздела подсчитывали количество определенных символов в тексте. Формулы этого раздела подсчитывают количество вхождений определенной подстроки (состоящей из нескольких символов) в заданную текстовую строку. Пусть искомая подстрока находится в ячейке В1, а просматриваемый текст — в ячейке А1. Обратите внимание, что искомая подстрока может состоять из любого числа символов. Тогда запишем формулу =(ДЛСТР(А1)-ДЛСТР(ПОДСТАВИТЬ(А1;В1;"")))/ДЛСТР(В1) 190 Часть II. Формулы и функции
Например, если в ячейке А1 содержится текст Мишка, Мишка, что ты сделал, а в ячейке В1 — Мишка, то эта формула возвратит число 2. Приведенная выше формула чувствительна к регистру символов. Поэтому, если в ячейке В1 будет слово мишка, то формула вернет значение 0. Следующая формула не принимает во внимание регистр символов: = (ДЛСТР(А1)-ДЛСТР(ПОДСТАВИТЬ(ПРОПИСН(А1) ;ПРОПИСН(В1) ; "")))/ДЛСТР(В1) Извлечение из полного пути имени файла Следующая формула возвращает имя файла из полного пути. Например, если в ячейке А1 содержится текст C:\Windows\Pa6o4HH стол\Файл.х1з, формула вернет строку Oann.xls: =ПСТР(А1;НАЙТИ("*";ПОДСТАВИТЬ(А1;"\";"*";ДЛСТР(А1)- ДЛСТР (ПОДСТАВИТЬ (А1; ''\ " ;''» ) ) ) )+1; ДЛСТР (А1) ) Здесь предполагается, что обратная косая черта "\" является разделителем вложенных папок. По существу, формула возвращает весь текст после последнего символа "\". Если же в ячейке не будет ни одного такого символа, то формула вернет ошибку. Извлечение первого слова из строки Чтобы извлечь первое слово из текстовой строки, формула должна сначала найти первый пробел в строке, затем извлечь все символы, которые находятся в строке левее этого пробела'. Следующая формула выполняет эти действия: =ЛЕВСИМВ(А1;НАЙТИ(" ";А1)-1) Эта формула имеет один недостаток: если в ячейке А1 содержится единственное слово, то она возвратит ошибку. Следующая формула с помощью функции ЕСЛИ проверяет, есть ли ошибка в предыдущей формуле: =ЕСЛИ(ЕОШИБКА(ЛЕВСИМВ(А1;НАЙТИ(" ";А1)-1);А1; ЛЕВСИМВ(А1;НАЙТИ(" ";А1)-1)) Эта формула будет работать правильно даже тогда, когда в ячейке А1 находится только одно слово. В последнем случае результатом будет все содержимое ячейки А1. Извлечение последнего слова из строки Это более сложная задача по сравнению с предыдущей, поскольку функция НАЙТИ просматривает текст слева направо. Здесь проблема заключается в определении последнего пробела. Приведенная ниже формула решает эту проблему и возвращает все символы, стоящие в строке после последнего пробела. =ПРАВСИМВ(А1;ДЛСТР(А1)-НАЙТИ("*";ПОДСТАВИТЬ(А1; " ";"*";ДЛСТР(А1)- ДЛСТР(ПОДСТАВИТЬ(А1;" ";""))))) Эта формула имеет тот же недостаток, что и первая формула предыдущего раздела: она вернет ошибку, если в ячейке А1 содержится текст без пробелов. Следующая формула подсчитывает количество пробелов в ячейке А1 и возвращает все содержимое этой ячейки, если в ней нет пробелов: ' Здесь подразумевается, что строка не начинается с пробелов и слова отделяются друг от друга только пробелами без знаков препинания. — Прим. ред. Глава 9. Работа с текстом 191
=ЕСЛИ(ДЛСТР(А1)-ДЛСТР(ПОДСТАВИТЬ(А1;" ";""))=0;А1; ПРАВСИМВ(А1;ДЛСТР(А1)-НАЙТИС'*";ПОДСТАВИТЬ(А1;" "; "*";ДЛСТР(А1)- ДЛСТР(ПОДСТАВИТЬ(А1;" ";"")))))) Извлечение всей строки кроме первого слова Приведем формулу, которая возвращает содержимое ячейки А1 без первого слова: =ПРАВСИМВ(А1;ДЛСТР(А1)-НАЙТИ(" ";А1;1)) Например, если ячейка А1 содержит Годовой Бюджет 2004, то формула вернет Бюджет 2004. Разделение имен, отчеств и фамилий Предположим, у вас есть список полных имен (т.е. имя, отчество и фамилия), содержащихся в одном столбце. Вы хотите разнести их в три столбца: в первом будут имена, во втором — отчества, в третьем — фамилии. Усложним задачу тем, что не у всех людей указаны отчества. Задача становится еще более сложной, если перед именем имеются обращения типа м-р, г-н, тов., д-р и прочие или после фамилии приведена дополнительная информация, например мл. (младший) или III (третий). Приведенные ниже формулы не учитывают эти варианты, но, разобравшись в них, вы без труда модифицируете формулы так, чтобы они работали и в этих ситуациях. Для определенности положим, что полные имена находятся в столбце А. Приведем формулу, извлекающую имя из ячейки А12: =ЛЕВСИМВ(А1; НАЙТИС ";А1)-1) Извлечение отчества — более сложная задача, поскольку его может не быть. Следующая формула возвращает отчество, если оно есть, или пустую строку, если его нет: =ЕСЛИ(ДЛСТР(А1)-ДЛСТР(ПОДСТАВИТЬ(А1;" ";""))<2; "";ПСТР(А1;НАЙТИ(" ";А1)+1;НАЙТИ(" ";А1;НАЙТИ(" ";А1)+1)- НАЙТИ(" ";А1)-1)) Наконец, третья формула возвращает фамилию: =ПРАВСИМВ(А2;ДЛСТР(А2)-НАЙТИ("*";ПОДСТАВИТЬ(А2;" "; "*";ДЛСТР(А2)- ДЛСТР(ПОДСТАВИТЬ(А2;" ";""))))) На рис. 9.5 показано действие этих формул. Тем не менее помните, что могут возникнуть проблемы, если полное имя содержит какие-либо дополнительные слова. Но, как отмечалось ранее, эти недостатки также можно устранить. " Приведенные формулы будут работать правильно, если перед именем нет пробелов и внутри полного имени нет лишних пробелов. Чтобы быть в этом уверенным, к ячейкам с полными именами можно применить функцию СЖПРОБЕЛЫ, которая удалит лишние пробелы, а также все пробелы в начале и в конце текста. — Прим. ред. На заметку / 192 Часть II. Формулы и функции
А 6 1 Полное имя Имя 2 Иван Иваныч Иванов Иван ^■Андрей Сергеевич Каратов Андрей 4 Наталья Алексеевна Телищева Наталья Денис Максимов Денис О D Отчество Фамилия Иваныч Иванов Сергеевич Каратов Алексеевна Телищева Максимов -IPlxt ■Константин Жоржееич Ряеанцее Константин Жоржевич Рясанцев __ 1 jJH Рис. 9.5. Эти формулы извлекают имя, отчество и фамилию из полного имени Разделение текстовых строк без использования формул Во многих случаях разнести текст по столбцам можно без формул, применив команду Данные1^ Текст по столбцам, которая вызывает мастер текстов. Мастер текстов состоит из последовательности диалоговых окон, которые шаг за шагом помогут разнести текст по нескольким столбцам. На первом шаге мастера текстов выберите опцию с разделителями, затем на втором шаге укажите в качестве символа-разделителя пробел, как показано на рисунке. i"".'i"j: .гг'^'-а'"» Данный диалог позволяет установить рамилитеш для текстовых даиньв Результат выводится в окк <з£[НШ1*ра»£арв К^шволожфаммитвлен^влявтаг Г~тоук* с запитой Р >*а» табуляции Р Счндаъ последом теяаыв рвалеяитепи едг**1 jj Отмена | <Цамд jj Даяав > j Готово Удаление из имен обращений Приведенная ниже формула позволяет удалить обращения г-н и м-р из имени, если они есть. Например, если в ячейке А1 содержится текст м-р Иван Иваныч Иванов, то формула вернет строку Иван Иваныч Иванов. =ЕСЛИ(ИЛИ(ЛЕВСИМВ(А1;2)="г-н";ЛЕВСИМВ(А1;3)="м-р"; ЛЕВСИМВ(А1;2)="Мз");ПРАВСИМВ(А1;ДЛСТР(А1)-НАЙТИ(" ";А1));А1) Подсчет количества слов Следующая формула возвращает количество слов в текстовой строке (содержащейся в ячейке А1), если слова отделены пробелами: =ДЛСТР(СЖПРОБЕЛЫ(А16))-ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(А16);" ";""))+! В этой формуле сначала с помощью функции СЖПРОБЕЛЫ удаляются лишние пробелы внутри текста (остается по одному пробелу), а также все пробелы в начале и в конце текстовой Глава 9. Работа с текстом 193
строки. Затем подсчитывается количество оставшихся пробелов. Количество слов будет на единицу больше количества пробелов. Обратите внимание, что эта формула вернет 1, если ячейка пуста. Следующая формула лишена этого недостатка: =ЕСЛИ(ДЛСТР(А1)=0;0;ДЛСТР(СЖПРОБЕЛЫ(А16) ) - ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(А16);" ";""))+1) 194 Часть II. Формулы и функции
Работа с датами и временем н ачинающие пользователи часто недооценивают возможности Excel по работе с датами и временем. В ваших рабочих листах наверняка есть ячейки, содержащие значения времени и даты. Знание способов работы с такими значениями поможет сэкономить много сил и времени. В этой главе приведены сведения, необходимые для создания формул, применяемых к значениям такого типа. Как Excel обрабатывает даты и время В этом разделе приведен краткий обзор того, как Excel распознает и обрабатывает даты и время. Рассматривается представление дат и времени в виде порядковых чисел и даются советы по вводу и форматированию значений дат и времени. Даты как порядковые числа Для Excel дата — это просто число, точнее, "номер по порядку" данного дня, отсчитанный от 1 января 1900 года. Порядковое число 1 соответствует 1 января 1900 года, число 2 — это 2 января 1900 года и т.д. Такая система позволяет использовать даты в формулах. Например, с ее помощью легко подсчитать количество дней между двумя датами. Как это ни удивительно, но в Excel есть дата с порядковым числом, равным нулю, — 0 января 1900 года. Эта несуществующая дата используется для представления временных данных, которые не связаны с какой-либо конкретной датой. Детальнее эта дата описана далее в главе. Чтобы отобразить числовое значение в виде даты, просто примените к данной ячейке формат даты. Выберите команду ФорматОЯчейки, чтобы отобразить диалоговое окно Формат ячеек. Перейдите во вкладку Число и из списка Числовые форматы выберите Дата. После этого определите тип даты. ГЛАВА 1 В этой главе., Как Excel обрабатывает даты и время Работа с датами Работа со значениями времени
Две системы дат в Excel Microsoft Excel поддерживает систему дат 1900 и систему дат 1904. Эти системы отличаются начальной датой, от которой отсчитываются порядковые числа дат. В системе дат 1900 начальной датой является 1 января 1900 года, а в системе 1904— 1 января 1904 года. По умолчанию Excel для Windows использует систему дат 1900, a Excel для Macintosh— систему 1904. Чтобы обеспечить совместимость с файлами электронных таблиц Macintosh, Excel для Windows может поддерживать систему дат 1904. Чтобы изменить систему дат, выберите команду СервисоПараметры, в диалоговом окне Параметры перейдите во вкладку Вычисления и установите или снимите флажок Система дат 1904. При открытии документа, подготовленного на другой аппаратной платформе, смена системы дат происходит автоматически. Например, при открытии в Excel для Windows рабочей книги, созданной в Excel для Macintosh; система дат 1904 будет установлена автоматически. Но будьте предельно внимательны, если используете совместно рабочие книги, в которых применяются разные системы дат. Например, пусть в файле Книга1 используется система дат 1904 и в ячейке А1 содержится дата 15.1.1999, а в файле Книга2 — система дат 1900 и ссылка на ячейку А1 в Книга1. Тогда во второй книге будет отображаться дата 14.1.1995, а не 15.1.1999, поскольку при связывании данных передается порядковое число (в нашем случае 34 713), которое в рабочей книге переводится в дату в соответствии с установленной в ней системой дат. К достоинствам системы дат 1904 относится возможность отображения отрицательных значений времени. Если в результате вычислений (например, в формуле =4: оо-5:зо) получено отрицательное значение, то оно не отображается при установленной системе дат 1900, а в системе 1904 отобразится как -1:30 (т.е. разность в один час и 30 минут). Отметим, что в системе дат 1900 отрицательные значения времени сохраняются и обрабатываются корректно, но Excel не может их отображать. Начиная с версии Excel 97, максимальная доступная дата — 31 декабря 9999 года (порядковое число 2 958 465). В предыдущих версиях Excel максимальной доступной датой было 31 декабря 2078 года (порядковое число 65 380). Ввод дат Дату можно ввести в виде порядкового числа (если, конечно, знаете его), но обычно их вводят в одном из форматов, распознаваемых Excel как формат даты. Excel автоматически преобразует введенную дату в порядковое число (которое в дальнейшем можно будет использовать в вычислениях) и применит формат даты, установленный по умолчанию. Поэтому в ячейке будет отображаться именно дата в привычном виде, а не загадочное порядковое число. Например, если нужно ввести 18 февраля 2004 года, просто напечатайте 18 Февраль 2004 (можно использовать любой другой поддерживаемый формат). Excel интерпретирует то, что вы ввели, и сохранит число 38 035, которое и является порядковым номером введенной даты. Кроме того, к ячейке будет применен формат дат, установленный по умолчанию. Поэтому содержимое ячейки может быть представлено в несколько ином виде по сравнению с тем, как вы его ввели. Совет „ х Формат даты, применяемый по умолчанию, устанавливается в Windows, а не в Excel и распространяется на все Windows-программы. Для изменения этого формата в меню Пуск на панели задач Windows выберите команду Настройка^ Панель управления. В открывшемся окне Панель управления дважды щелкните на пиктограмме Язык и стандарты. Затем в диалоговом окне Свойства: Язык и стандарты щелкните на вкладке Дата. Формат дат по умолчанию устанавливается в поле Краткий формат в разделе Краткий формат даты. 196 Часть II. Формулы и функции
Если установить табличный курсор на ячейке с датой, то в строке формул также отобразится дата в соответствующем формате. Чтобы отобразить порядковое число, соответствующее дате, следует отформатировать ячейку числовым форматом, отличным от формата дат. В табл. 10.1 приведены распознаваемые Excel форматы дат. Таблица 10.1. Форматы дат, распознаваемые Excel Содержание ячейки Интерпретация Excel 16-2-04 16-2-2004 16/2/04 16/2/2004 16.2.04 16.2.2004 16-2/04 16 Февраль, 2004 16 фев 16 Февраль 16/2 16.2 16-2 16 февраля 16 февраля 16 февраля 16 февраля 16 февраля 16 февраля 16 февраля 16 февраля 16 февраля 16 февраля 16 февраля 16 февраля 16 февраля 2004 года 2004 года 2004 года 2004 года 2004 года 2004 года 2004 года 2004 года текущего года текущего года текущего года текущего года текущего года Как видно из приведенной таблицы, Excel распознает даты в широком диапазоне форматов. Однако приведенные ниже данные она не распознает как даты. ■ Февраль 1 2004 ■ Фев-1 2004 ■ Фев-1/2004 Программа считает эти данные текстом. Если вы собираетесь использовать даты в формулах, убедитесь в том, что вводимые вами данные действительно распознаются как даты. В противном случае ваши формулы будут давать неправильные результаты. Если попытаться ввести дату, которая выходит за рамки поддерживаемого диапазона дат, Excel интерпретирует ее как текст. Если же к порядковому числу, которое выходит за рамки поддерживаемого диапазона, применить формат дат, то Excel заполнит всю ячейку символами ########. Поиск дат Если в вашем рабочем листе находится большое количество данных в формате дат, то для поиска нужной даты удобно использовать диалоговое окно Найти и Заменить. Чтобы его открыть, выберите команду ПравкаоНайти. Но будьте внимательны при вводе искомой даты. Обязательно нужно вводить все четыре цифры, обозначающие год. Кроме того, дату следует вводить в том формате, в котором она отображается в строке формул. Глава 10. Работа с датами и временем 197
Работа со значениями времени Когда нужно работать с порядковыми числами временных данных, Excel просто расширяет систему представления дат таким образом, чтобы она включала десятичные дроби. Другими словами, Excel трактует время как дробную часть дня. Например, поскольку порядковый номер даты 1 февраля 2004 года — 38 018, то полдень будет соответствовать внутреннему представлению 38 018,5. Порядковое число одной минуты приблизительно равно 0,000 694 44. Это число можно получить с помощью следующей формулы: 24 часа умножается на 60 минут, после этого единица делится на полученный результат. Как видно, делитель равен числу минут в сутках (1440). =1/(24*60) Аналогично, порядковое число одной секунды приблизительно равно 0,000 011 57. Чтобы получить это число, единицу следует разделить на 24 часа, умноженные на 60 минут и умноженные на 60 секунд. В этом случае делитель равен количеству секунд в сутках (86 400). =1/(24*60*60) Программа Excel распознает значения времени с точностью до одной тысячной секунды. Числовой эквивалент для 23:59:59,999 равен 0,999 999 99. В табл. 10.2 представлены время суток с шагом в полтора часа и соответствующие порядковые числа. | Таблица 10.2. Время суток и соответствующие порядковые числа Время суток Порядковое число 00:00:00 (полночь) 0,0000 01:30:00 0,0625 03:00:00 0,1250 04:30:00 0,1875 60:00:00 0,2500 70:30:00 0,3125 90:00:00 0,3750 10:30:00 0,4375 12:00:00 (полдень) 0,5000 13:30:00 0,5625 15:00:00 0,6250 16:30:00 0,6875 18:00:00 0,7500 19:30:00 0,8125 21:00:00 0,8750 22:30:00 0,9375 198 Часть II. Формулы и функции
Ввод значений времени Скорее всего, вам не придется сталкиваться с порядковыми числами дней и их дробными значениями для представления времени. Достаточно ввести в ячейку время в одном из распознаваемых форматов, а все остальное программа сделает сама. В табл. 10.3 приведено несколько примеров форматов времени, распознаваемых Excel. Таблица 10.3. Форматы времени, распознаваемые Excel Содержимое ячейки Интерпретация Excel 11:30:00 am 11 часов 30 минут 11:30:00 AM 11 часов 30 минут 23:30 23 часа 30 минут 11:30 11 часов 30 минут В этих примерах не указана дата, поэтому для них Excel использует по умолчанию дату с порядковым числом 0, что соответствует несуществующей дате 0 января 1900. Вы можете комбинировать даты и время следующим образом: сначала вводится дата в одном из распознаваемых Excel форматов, затем через пробел вводится время также в одном из распознаваемых Excel форматов времени. Например, введенное в ячейку значение 1.2.04 11:30 соответствует следующему: 1 июня 2004 года, 11 часов 30 минут (порядковое число 38 018,479 166 666 7). Если значение времени превышает 24 часа, оно интерпретируется как соответствующее значение времени следующего дня. Например, если в ячейку введено значение 25:00:00, оно интерпретируется как 1:00:00 (час ночи) 1 января 1900 года. Аналогично, если в ячейку вместе со значением временем введена дата и значение времени превышает 24 часа, оно автоматически преобразуется к дате следующего дня. Например, если вы введете 1.9.02 26:00:00 (ячейка предварительно отформатирована каким-либо форматом дат), это значение автоматически преобразуется к 2.9.02 2:00:00. Максимальное значение времени, которое можно ввести в ячейку (без значения даты), составляет 9999:59:59 (без одной секунды 10 тыс. часов). Это значение Excel интерпретирует как 19.01.1901 15:59:59. Если вы введете время, превышающее 10 тыс. часов, оно будет воспринято как текст. Форматирование значений дат и времени Программа Excel дает большой простор в форматировании ячеек, содержащих значения дат и времени. Например, вы можете отформатировать ячейку так, что будет отображаться только дата или только время либо одновременно дата и время. Для форматирования ячеек, содержащих даты и время, используется вкладка Число диалогового окна Формат ячеек (рис. 10.1). Категория форматов Дата содержит встроенные форматы дат, категория Время — форматы времени. Некоторые форматы предусматривают отображение как даты, так и времени. Выберите подходящий формат из списка Тип и щелкните на кнопке ОК. Когда вы создаете формулу, содержащую ссылку на ячейку со значением даты или Совет времени, Excel автоматически применяет тот же формат к ячейке с формулой. Час- то это очень помогает, но иногда — крайне раздражает. К сожалению, нет никаких средств, позволяющих отключить автоматическое форматирование. Поэтому, если нужно отменить форматирование, в диалоговом окне Формат ячеек выберите числовой формат Общий. Или нажмите комбинацию клавиш <Ctrl+Shift+~>. Глава 10. Работа с датами и временем 199
число J 8ымвлаа*е j Шрифт } Гранин» | Вид j Запит* j Рис. 10.1. Вкладка Число диалогового окна Формат ячеек используется для задания форматов дат и времени Если нет подходящего встроенного формата, создайте собственный формат. Выберите категорию (все форматы) и введите код формата в поле Тип. (Созданию пользовательских числовых форматов посвящена глава 25.) Довольно часто используется следующий пользовательский формат времени: Совет С4! :мм:сс. Квадратные скобки здесь указывают, что значение часов может превышать 24. Этот формат удобен, если необходимо отображать время, которое превышает 24 часа. Об этом речь идет в разделе "Суммирование значений ' времени" далее в главе. Проблемы при работе с датами в Excel Когда вы работаете с датами в Excel, у вас могут возникнуть некоторые проблемы. Многие из них связаны с тем, что программа Excel разрабатывалась много лет назад, еще в прошлом тысячелетии. Система дат и времени в Excel вместе со всеми ошибками была взята из программы Lotus 1-2-3. Кроме того, в различных версиях Excel по-разному интерпретирует даты, в которых номер года представлен двумя цифрами. Добавьте к этому списку еще и то, что Excel может по-разному интерпретировать даты в зависимости от региональных установок. Скорее всего, если бы Excel сейчас разрабатывалась с самого начала, то правила ввода дат были бы значительно жестче. К сожалению, этого сделать нельзя и, работая с датами, приходится искать методы борьбы с ошибками. Ошибка "високосного" 1900 года Как известно, високосный год содержит дополнительный день 29 февраля. Хотя 1900 год не является високосным, Excel считает его таковым. Например, если ввести в ячейку дату 29.2.1900, то Excel не будет возражать и присвоит ей последовательное число 60. Если же ввести дату 29.2.1901, программа воспримет ее как текстовую строку. Как может программа Microsoft Excel мириться с такой очевидной ошибкой? В данном случае Microsoft оказалась заложницей ошибки, допущенной другими разработчиками намного раньше, чем появилась программа Excel. Високосным 1900 год ошибочно принят еще в самой первой версии Lotus 1-2-3. Разработчики первой версии Excel, зная об этой ошибке, решили повторить ее в своей программе, чтобы обеспечить совместимость файлов таблиц Excel и Lotus. Почему же эта ошибка продолжает переходить в более поздние версии Excel? Microsoft считает, что вред от ликвидации этой ошибки превысит возможную пользу, поскольку сразу станут несовместимыми сотни тысяч существующих рабочих книг, созданных как в Excel, так Il4.03.0l |14нор |14нвп01 _J а»ь* {иестопоаоженис. - ■РУССКИЙ •цривты дат служат для отображений дат и ореиени, лрелстоепенныс *слаяи,ввидвдат В паииеиясиых форматах, ааирсточе*чснпо»ючсш^ - j звездс»«саи(*} порядок меиенгов даты не #*т*»тся при снемв формате опершионнои системы 200 Часть II. Формулы и функции
и в других программах электронных таблиц (разработчики всех электронных таблиц знают и учитывают эту ошибку). По большому счету эта ошибка не является реальной проблемой, поскольку подавляющее большинство пользователей Excel никогда не будут использовать даты до 1 марта 1900 года. Можно ли использовать даты до 1900 года? Конечно, наш мир начался не 1 января 1900 года. Люди, которые работают с исторической информацией, обязательно обращаются к датам, более ранним, чем 1 января 1900 года. Excel может работать с такими датами, но, к сожалению, воспринимает их как текст. Например, Excel не будет возражать, если вы в ячейку введете 4 июля 1776. Однако с такими данными невозможно использовать функции, предназначенные для работы с датами, поскольку Excel воспринимает такие даты как текст. Также невозможно применить к ним форматы дат или, например, определить, какой это был день недели. ^^ На прилагаемом к книге компакт-диске доступна разработанная автором над- fla компакт- стройка (имя файла — xdate.exe). Она содержит восемь новых функций, которые | позволяют работать с датами в диапазоне от 0100 до 9999 года. Проблема, связанная с обозначением года двумя цифрами Если вы вводите даты с двумя цифрами номера года, убедитесь, что Excel правильно их интерпретирует. Дело в том, что Excel по-разному воспринимает такие даты. Если две последние цифры номера года лежат между 00 и 29, то эти даты интерпретируются как принадлежащие XXI столетию. Если две цифры номера года лежат между 30 и 99, то Excel понимает эти даты как даты XX столетия. Например, если ввести дату 5.12.28, то Excel интерпретирует эти данные как 5 декабря 2028 года. Но если ввести 5.12.30, то в этой дате Excel увидит 5 декабря 1930 года. При необходимости можно изменить номер года, начиная с которого даты будут интерпретироваться как относящиеся к XXI столетию. Для этого в окне Панель управления Windows откройте диалоговое окно Язык и стандарты. Во вкладке Дата укажите новое значение. Чтобы избежать подобных сюрпризов, советуем всегда вводить номер года пол- Совет ностью, используя четыре цифры. Работа с датами Программа Excel предлагает несколько функций для работы с датами, на основе которых можно строить разнообразные формулы. В окне мастера функций они собраны в категории Дата и время. Некоторые функции требуют установки надстройки Пакет анализа. Более подробная информация приведена в главе 24. В табл. 10.4 перечислены функции, предназначенные для работы с датами. Глава 10. Работа с датами и временем 201
ГОД Возвращает номер года, соответствующий аргументу даты в числовом формате ДАТА Возвращает порядковое число конкретной даты ДАТАЗНАЧ Преобразует дату из текстового формата в числовой ДАТАМЕС* Возвращает дату (в числовом формате), отстоящую на заданное количество месяцев вперед или назад от начальной даты ДЕНЬ Преобразует дату в числовом формате в день месяца ДЕНЫНЕД Преобразует дату в числовом формате в день недели ДНЕЙ360 Вычисляет количество дней между двумя датами, считая, что в году 360 дней ДОЛЯГОДА* Возвращает долю года, представляющую количество дней между начальной и конечной датами КОНМЕСЯЦА* Возвращает порядковый номер последнего дня месяца, отстоящего на указанное количество месяцев от начальной даты МЕСЯЦ Преобразует дату в числовом формате в номер месяца НОМНЕДЕЛИ* Возвращает номер недели в году РАБДЕНЬ* Возвращает дату в числовом формате, отстоящую на заданное количество рабочих дней вперед или назад от начальной даты СЕГОДНЯ Возвращает сегодняшнюю дату в числовом формате ТДАТА Возвращает текущую дату и время ЧИСТРАБДНИ* Возвращает общее количество рабочих дней между двумя датами * Эти функции становятся доступными только после установки надстройки Пакет анализа. Представление дат в рабочем листе Правильное представление дат в рабочем листе — важный этап работы с датами. В этом разделе описаны некоторые способы представления дат. Представление текущей даты Для вставки текущей даты в ячейку используется такая формула: =СЕГОДНЯ() Можно отобразить текущую дату с соответствующим текстом. Например, следующая формула сможет показать текст "Сегодня вторник 24 февраля 2004 года": ="Сегодня "&ТЕКСТ(СЕГОДНЯ();"ДДДД ДД ММММ ГГГГ \г\.") При использовании функции СЕГОДНЯ необходимо помнить, что ее значение обновляется каждый раз при пересчете формул в рабочем листе. Например, если вы ввели формулы, подобные приведенным выше, то при открытии рабочей книги на следующий день эта формула будет пересчитана и отобразит новую текущую дату, а не ту, когда была создана формула. Чтобы ввести сегодняшнюю дату, которая не будет изменяться, нажмите комби- Совет нацию клавиш <Ctrl+Shift+;> (точка с запятой). 202 Часть II. Формулы и функции
Представление произвольных дат Чтобы вставить какую-либо дату в ячейку рабочего листа, просто введите ее с помощью клавиатуры в одном из распознаваемых Excel форматов дат. Для автоматического создания дат используется функция ДАТА. Например, если в ячейке А1 находится номер года, в ячейке А2 — номер месяца, а в A3 — номер дня месяца, то следующая формула на основе этой информации создаст дату: =ДАТА(А1;А2;АЗ) ^г* Если в функцию передать неправильные аргументы, она попытается их преобра- Tia заметку зовать. Например, рассмотрим приведенную ниже формулу. Если в качестве второго аргумента (номер месяца) передать 13, то результатом будет дата 1 января 2004 года, т.е. "тринадцатый" месяц преобразуется в первый месяц следующего года. =ДАТА(2003;13;1) / Функция ДАТАЗНАЧ преобразует дату, представленную в виде текстовой строки, в ее порядковое число. Следующая формула вернет значение 38 043 — порядковое число даты 26 февраля 2004 года: =ДАТАЗНАЧ("26.02.2004") Чтобы снова отобразить результат вычисления этой формулы как дату, примените к ячейке, содержащей эту формулу, один из форматов даты. Если вы забудете заключить аргумент функции ДАТАЗНАЧ в кавычки, Excel вернет значение ошибки. Создание последовательности дат Часто требуется ввести в рабочий лист некоторую последовательность дат. Например, если нужно отследить объемы недельных продаж, то обязательно потребуется создать последовательность дат, разделенных семью днями, которые будут определять очередную неделю. Эффективный способ ввода последовательности дат, не требующий никаких формул, — это применение средства Excel Автозаполнение. Введите первую дату, затем правой кнопкой мыши протащите маркер заполнения по тем ячейкам, куда нужно вставить даты. После того как вы отпустите кнопку мыши, откроется контекстное меню, где следует выбрать нужную опцию заполнения выделенного диапазона ячеек (рис. 10.2). Последовательность дат можно создать и с помощью формул. Для этого обычно сначала вводится начальная дата, далее в соседней ячейке записывается формула, которая затем копируется во все остальные ячейки диапазона. Если изменить значение в первой ячейке диапазона, все остальные значения также изменятся в соответствии с новым значением. При использовании средства Автозаполнение во всех ячейках диапазона будут находиться порядковые номера дат, а не формулы. Поэтому изменения в первой ячейке никак не повлияют на остальные. Пусть начальная дата введена в ячейку А1, а формула— в ячейку А2. Эта формула копируется по столбцу А столько раз, сколько требуется создать дат. Для создания последовательности дат, отстоящих друг от друга на 7 дней, используется формула =А1 + 7 Глава 10. Работа с датами и временем 203
1 2 5 |l" « А ¥ K^rWrl -lOlxl С С £ копировать ячейки Заполнить . Заполнить только форматы Заполнить только значения Заполнить ло дндм Заполнить ло рабочим днйи Заполнить по месяцам Ц£ Заполнить по годам 3 C«*e*H'Sf л?*^***?4*»» Прогрессия.. ^ПкП/ПжтЭ/ \*j | ■^11 . " . •!• i Рис. 10.2. Создание последовательности дат Для генерирования последовательности дат, разность между которыми равна одному месяцу, используется формула =ДАТА(ГОД(А1) ;МЕСЯЦ(А1)+1;ДЕНЬ(А1) ) Чтобы создать последовательность дат, разность между которыми равна одному году, используется формула =ДАТА(ГОД(А1)+1;МЕСЯЦ(А1);ДЕНЬ(А1)) Для создания последовательности дат, которая состоит только из рабочих дней, используется следующая формула: =ЕСЛИ(ДЕНЬНЕД(А1)=6;Al+3;A1+1) Обратите внимание на то, что в Excel нумерация дней недели начинается с воскресенья. Поэтому, пятница имеет порядковый номер 6. Вычисления со значениями дат Во многих рабочих таблицах, особенно в тех, которые предназначены для обработки финансовой информации, возникает необходимость проводить вычисления на основе значений дат. Для этого Excel предлагает несколько полезных функций, способы применения которых описаны ниже. Преобразование текстовой строки в дату При вставке данных из внешних источников даты часто импортируются в виде текстовых строк. Например, текстовая строка 20040229 может соответствовать дате 29 февраля 2003 года. Пусть этот текст содержится в ячейке А1. Для его преобразования в реальную дату можно применить следующую формулу: =ДАТА(ЛЕВСИМВ(А1;4);ПСТР(А1;5;2);ПРАВСИМВ(А1; 2) ) Здесь предполагается, что первые четыре символа в текстовой строке соответствуют номеру года, следующие два символа — номеру месяца, а последние два — номеру дня. Для извлечения этих чисел из строки применяются текстовые функции ЛЕВСИМВ, ПСТР и ПРАВСИМВ, которые затем используются в качестве аргументов в функции ДАТА. 204 Часть II. Формулы и функции
Дополнительная информация Текстовые функции описываются в главе 9. Вычисление количества дней между двумя датами Подобные вычисления, по-видимому, самые распространенные среди всех вычислений, использующих значения дат. Поскольку даты фактически хранятся в виде порядковых чисел, то определение количества дней между двумя датами не представляет трудностей: необходимо из конечной даты вычесть начальную: =А1-В1 Здесь предполагается, что конечная дата находится в ячейке А1, а начальная— в ячейке В1. Отметим, что для того, чтобы ячейка с формулой отображала именно количество дней, она должна быть отформатирована одним из числовых форматов, а не форматом дат. Если в ячейке В1 значение будет больше, чем в А1, то результат будет отрицательным. На заметку Если формула возвращает ошибку, убедитесь, что в ячейках А1 и В1 содержатся даты, а не текст, который выглядит как дата. Иногда при вычислении разности между двумя датами, могут возникнуть ошибки. Например, пусть акция в каком-то магазине начинается 1 февраля и заканчивается 9 февраля. Сколько будет длиться акция? Отняв первую дату от второй, получим, что акция длится восемь дней. Хотя в действительности, она длится девять дней. В этом случае правильная формула будет выглядеть следующим образом (предположим, что ячейки поименованы): =Кон_Дата-Нач_Дата+1 Вычисление количества рабочих дней между двумя датами Чтобы подсчитать количество рабочих дней между двумя датами, нужно из общего количества дней между этими датами вычесть выходные дни и праздники. Такие вычисления выполняет функция ЧИСТРАБДНИ, которая не считает рабочими днями субботу и воскресенье. Кроме того, можно определить диапазон, содержащий даты праздничных дней, которые также не будут считаться. Этот диапазон нужно определять вручную, так как в Excel нет встроенных средств, позволяющих автоматически определять праздники. -Iffl.xl Рис. 10.3. Пример вычисления количества рабочих дней Глава 10. Работа с датами и временем 205
На рис. 10.3 показан пример вычисления количества рабочих дней между двумя датами (которые содержатся в ячейках А13 и В13); список праздничных дней содержится в диапазоне А1:А9. Формула, выполняющая вычисления, имеет вид =ЧИСТРАБДНИ(А13;В13;А1:А9) Приведенная выше формула возвращает число 3. Это значит, что среди первых семи дней года рабочими являются только три. Другими словами, от полученной разницы двух дат отнимается два дня выходных и два дня праздников. В ячейке С16 вычисляется количество рабочих дней в году. |fc^ Эту рабочую книгу можно найти на прилагаемом компакт-диске. На компакт- диске /Щ Вычисление даты, отстоящей от указанной на заданное количество рабочих дней Для таких вычислений используется функция РАБДЕНЬ, которая является обратной к функции ЧИСТРАБДНИ. Рабочими считаются пять дней недели (с понедельника по пятницу); можно также задать список праздничных дней. Например, нужно вычислить дату завершения работы, если работы начались 5 января 2004 года и будут длиться 10 рабочих дней. Приведенная ниже формула, используя функцию РАБДЕНЬ, вычисляет дату, отстоящую от 5 января 2004 года на 10 рабочих дней. Формула вернет порядковое число 38 005, которое соответствует дате 19 января 2004 года, отстоящей от начальной на 10 рабочих дней. =РАБДЕНЬ("5.01.2003";10) Второй аргумент в функции РАБДЕНЬ может быть отрицательным, т.е. функция может отсчитывать даты "назад". Подобно функции ЧИСТРАБДНИ, эта функция имеет третий (необязательный) аргумент, который указывает на диапазон ячеек, содержащий список праздников. Вычисление количества лет между двумя датами Следующая формула вычисляет количество лет между датами, которые содержатся в ячейках А1 и В1: =ГОД(А1)-ГОД(В1) Эта формула использует функцию ГОД, которая извлекает из дат номер года, затем- более ранняя дата (имеется в виду год) вычитается из более поздней. Если в ячейке В1 содержится более поздняя дата, чем в ячейке А1, формула вернет отрицательное значение. Отметим, что эта формула не может вычислить количество полных лет между датами. Например, если в ячейке А1 содержится дата 1 января 2004, а в ячейке В1 — 31 декабря 2003, то формула подсчитает разницу в один год, хотя эти даты отстоят друг от друга всего на один день. Функция РАЗНДАТ Ранее в этой главе упоминалась функция РАЗНДАТ. Но этой функции нет в списке диалогового окна Мастер функций. Поэтому, чтобы воспользоваться этой функцией, ее нужно вводить вручную. Функция РАЗНДАТ принадлежит программе Lotus 1-2-3 и поддерживается Excel для обеспечения совместимости. По некоторым причинам компания Microsoft держит эту функцию в секрете В справке нет даже упоминания о ней (хотя ее можно использовать в формулах). 206 Часть II. Формулы и функции
Функцию РАЗНДАТ удобно использовать для вычисления количества дней, месяцев и лет между двумя датами. Функция имеет три обязательных аргумента: нач_дата, кон_дата и код. Значение аргумента код указывает на то, что именно нужно найти (разность дней, месяцев или лет). В приведенной ниже таблице представлены допустимые значения третьего аргумента функции РАЗНЗНАЧ. Обратите внимание, что это значение представляет собой текст, поэтому его обязательно нужно заключить в двойные кавычки. Код Результат "у" Число полных лет в заданном промежутке "т" Число полных месяцев в заданном промежутке "<f Число дней в заданном промежутке "md" Разность дней между кон_дата и нач_дата. Значения месяца и года в заданных датах игнорируются "ут" Разность месяцев между кон_дата и нач_дата. Значения дня и года в заданных датах игнорируются "yd" Разность дней между кон_дата и нач_дата. Значение года в заданных датах игнорируется Значение аргумента нач_дата должно быть меньше значения кон_дата. В противном случае формула вернет ошибку. Вычисление возраста человека Возраст человека — это количество прожитых им полных лет. Формула, просто вычисляющая разность между двумя датами, здесь не подойдет. Для этого используются более сложные формулы. Следующая формула возвращает возраст человека, день рождения которого записан в ячейке А1: =ЦЕЛОЕ(ДОЛЯГОДА(СЕГОДНЯ();А1;1)) Здесь используется функция ДОЛЯГОДА, которая становится доступной только после установки надстройки Пакет анализа. Ниже приведена формула, которая также позволяет вычислить возраст человека, но не использует функцию ДОЛЯГОДА. Вместо этого в ней используется функция РАЗНДАТ (см. врезку "Функция РАЗНДАТ"). =РАЗНДАТ(А1;СЕГОДНЯ();"у") Определение дня года Первым днем года является 1 января, а последним — 31 декабря. Следующая формула позволяет определить порядковый номер дня года для даты, которая хранится в ячейке А1: =А1-ДАТА(ГОД(А1);1;0) Эта формула может понадобиться, например, для того, чтобы отобразить дату в юлианском календаре. Следующая формула возвращает количество дней, оставшихся до следующего года: =ДАТА(ГОД(А1);12;31)-А1 После ввода этих формул Excel применит к ячейкам формат даты. Чтобы увидеть результат, нужно применить общий либо числовой формат. Чтобы преобразовать номер дня (например, 90-й день года) в дату, введите формулу, приведенную ниже. Предполагается, что номер года хранится в ячейке А1, а день — в ячейке В1. =ДАТА(А1;1;В1) Глава 10. Работа с датами и временем 207
Определение дня недели Функция ДЕНЬНЕД определяет день недели указанной даты. Она имеет два аргумента — дату и код запроса, определяющий тип результата (второй аргумент необязательный). Коды запроса приведены в табл. 10.5. Таблица 10.5. Коды запросов функции ДЕНЬНЕД Код запроса Что возвращается 1 или опущен Число от 1 (воскресенье) до 7 (суббота) 2 Число от 1 (понедельник) до 7 (воскресенье) 3 Число от 0 (понедельник) до 6 (воскресенье) Например, если в ячейке А1 содержится значение 1.02.2004, то следующая формула возвращает 7, т.е. этот день — воскресенье: =ДЕНЬНЕД(А1;2) Вы можете отформатировать ячейки с датами так, чтобы дни недели выводились Совет на экран в привычной текстовой форме, а не в виде цифр. Для этого в списке числовых форматов выберите опцию (все форматы) и в поле Тип введите шаблон ддд (для отображения аббревиатур дней недели) или дддд (для отображения полного названия дней недели). Определение даты прошедшего воскресенья Следующая формула возвращает дату, которая была в прошедшее воскресенье. Если текущий день является воскресеньем, то формула вернет его дату. =СЕГОДНЯ()-ОСТАТ(СЕГОДНЯ()-1;7) Чтобы определить дату другого дня недели, замените единицу другим числом в диапазоне от 2 (понедельник) до 7 (суббота). Определение первого дня недели после заданной даты Формула, приведенная ниже, возвращает дату определенного дня недели, следующего после заданной даты. Например, эту формулу можно использовать для того, чтобы определить, когда после 1 июня 2004 года будет понедельник. Пусть в ячейке А1 содержится дата, а в ячейке А2 — число в диапазоне от 1 (понедельник) до 7 (воскресенье), тогда формула примет вид =А1+А2-ДЕНЬНЕД(А1;2)+(А2<ДЕНЬНЕД(А1;2))*7 Если ячейка А1 содержит дату 1 Июнь 2004, а значение ячейки А2 равно 1 (что соответствует понедельнику), то формула вернет дату 7 июня 2004 года. В этот день и будет первый понедельник после 1 июня 2004 года. Определение заданного дня недели в месяце Предположим, ваша фирма выплачивает заработную плату во вторую пятницу каждого месяца. Естественно, вы хотите посмотреть, на какие даты приходятся эти дни. Следующая формула выполняет подобные вычисления: =ДАТА(А1;А2;1)+АЗ-ДЕНЬНЕД(ДАТА(А1;А2;1);2)+(А4- (АЗ>=ДЕНЬНЕД(ДАТА(А1;А2;1);2)))*7 208 Часть II. Формулы и функции
Формула ссылается на следующие ячейки: ■ ячейка А1 содержит номер года; ■ ячейка А2 содержит номер месяца; ■ ячейка A3 содержит номер дня недели (1 для понедельника, 2 для вторника и т.д.); ■ ячейка А4 содержит одно из чисел 1, 2, 3 или 4, указывающее номер появления дня недели (заданного в ячейке A3) в месяце. Если вы хотите определить дату второй пятницы в июне 2004 года, то эта формула вернет дату 11 июня 2004 года. "* Если число в ячейке А4 превысит количество указанных дней в месяце, формула На заметку возвратит дату из следующего месяца. Например, если вы хотите определить дату шестой пятницы в июне (такой не существует), то формула возвратит дату , второй пятницы в июле. Определение последнего дня месяца Для определения последнего дня месяца, которому принадлежит заданная дата, используется функция ДАТА. Чтобы не считать количество дней в месяце, можно построить 0-й день следующего месяца, который совпадает с последним днем данного месяца. Этот прием используется в следующей формуле (заданная дата содержится в ячейке А1): =ДАТА(ГОД(А1);МЕСЯЦ(А1)+1;0) Изменив предыдущую формулу, можно получить новую, которая позволяет определить количество дней в определенном месяце. Следующая формула возвращает целое число, равное количеству дней в месяце для даты, хранящейся в ячейке А1: =ДЕНЬ(ДАТА(ГОД(А1);МЕСЯЦ(А1)+1;0)) Определение високосного года Чтобы определить, является ли указанный год високосным, можно проверить, принадлежит ли 29-й день, отсчитанный от 1 февраля, февралю или относится к марту. Здесь используется свойство функции ДАТА автоматически преобразовывать возвращаемый результат в правильную дату указанного года (если год не високосный, 29 февраля автоматически преобразуется в 1 марта). Пусть в ячейке А1 содержится некоторая дата. Следующая формула возвращает значение ИСТИНА, если эта дата принадлежит високосному году, и значение ЛОЖЬ в противном случае: =ЕСЛИ(МЕСЯЦ(ДАТА(ГОД(А1);2;29))=2;ИСТИНА;ЛОЖЬ) ^^^ Эта формула вернет значение ИСТИНА для 1900 года, который високосным не На заметку является. (См. раздел "Ошибка "високосного" 1900 года" выше в главе.) Определение квартала года В финансовых отчетах часто требуется представлять даты по кварталам. Следующая формула возвращает целое число в диапазоне от 1 до 4, равное номеру календарного квартала (дата хранится в ячейке А1): =ОКРУГЛВВЕРХ(МЕСЯЦ(А1)/3;0) Эта формула делит номер месяца на три, а затем округляет его до большего целого числа. Глава 10. Работа с датами и временем 209
Работа со значениями времени Как и следовало ожидать, Excel имеет необходимый набор функций для работы со значениями времени. В этом разделе представлены примеры использования таких функций. В табл. 10.6 приведен список функций, предназначенных для работы с временными значениями. В диалоговом окне мастера функций они представлены в категории Дата и время. Таблица 10.6. Функции для работы со значениями времени Функция Назначение ВРЕМЗНАЧ Возвращает время в числовом формате для времени, заданного текстовой строкой ВРЕМЯ Возвращает время в числовом формате для заданного времени МИНУТА Преобразует дату в числовом формате в минуты СЕКУНДЫ Преобразует дату в числовом формате в секунды ТДАТА Возвращает текущую дату и время ЧАС Преобразует дату в числовом формате в часы Представление текущего времени Следующая формула возвращает текущее время в виде последовательного числа (без последовательного числа даты): =ТДАТА()-СЕГОДНЯ() Чтобы ввести текущее время, которое не будет изменяться при пересчете фор- Совет мул рабочего листа, нажмите комбинацию клавиш <Ctrl+Shift+:> (двоеточие). Для отображения времени применяются соответствующие форматы. Например, формат ч : мм отображает часы и минуты (без секунд). Можно также комбинировать текст и значения времени, например: ="Текущее время "&ТЕКСТ(ТДАТА();"ч:мм") ,^|I|J" Значения формул, возвращающих текущее время, изменяются только при пере- На заметку счете всех формул рабочего листа. f Выше уже объяснялось, как вводить значения времени в ячейку: просто введите значения часов, минут и секунд (если необходимо). Для значений времени знак двоеточия (:) используется в качестве разделителя. Кроме того, значения времени можно создавать с помощью функции ВРЕМЯ. Пусть значения часов хранятся в ячейке А1, значения минут — в ячейке В1, а секунд — в С1. Следующая формула на основании этих данных создаст временное значение: =ВРЕМЯ(А1;В1;С1) Как и функция ДАТА, функция ВРЕМЯ не выдает ошибку, если введены неправильные значения, а пытается преобразовать их. Например, в приведенной ниже формуле количество 210 Часть II. Формулы и функции
минут равно 80, что, очевидно, ошибка. Но формула будет работать корректно и вернет значение 10:20:15. Поскольку число минут больше 60, то к количеству часов добавится единица. =ВРЕМЯ(9;80;15) Внимание! Если ввести значение, превышающее 24 часа, то результат вычисления функции будет не таким, как можно было ожидать. Например, рассмотрим формулу =ВРЕМЯ(25;0;0) Было бы логично, если бы эта формула выдавала значение в виде порядкового числа даты/времени — 1,041 667 (т.е. один день и один час). Но в действительности она эквивалентна формуле =ВРЕМЯ( 1,-0,-0) Можно совместно использовать функции ДАТА и ВРЕМЯ. Например, следующая формула сгенерирует порядковое число 38 003,770 833 333 3, которое соответствует 18:30 17 января 2004 года. =ДАТА(2004;1;17)+ВРЕМЯ(18;30;0) Функция ВРЕМЗНАЧ преобразует текстовую строку, представляющую значение времени, в соответствующее порядковое число. Следующая функция вернет число 0,239 583 333 3, что соответствует времени 5:45: =ВРЕМЗНАЧ("5:45") Чтобы отобразить результат вычисления этой формулы в виде времени, необходимо применить формат времени. Вычисления с использованием временных значений Во многих рабочих книгах применяются вычисления с использованием значений времени. Например, вычисление общего рабочего времени служащих основано на значениях посменного контроля времени. В этом разделе приводится несколько примеров вычислений с функциями, предназначенными для работы с временными значениями. Вычисление разности значений времени Поскольку время представляется в виде последовательных чисел, то вычисление разности двух значений времени не вызывает затруднений. Например, если в ячейке А2 хранится время 5:30:00, а в ячейке В2 — 14:00:00 (разность между ними составляет 8 часов и 30 минут), то следующая формула вернет значение 8:30:00: =В2-А2 Однако если в результате вычислений получается отрицательное значение времени, то вместо числового значения вы увидите в ячейке последовательность символов ########, поскольку Excel не может отображать отрицательных значений времени. Если знак разности времен не имеет значения, т.е. вас интересует только абсолютное значение разности, то для отображения отрицательных значений времени можно применить функцию ABS (абсолютная величина), которая отобразит это значение в виде положительного времени. =ABS(B2-A2) Глава 10. Работа с датами и временем 211
Проблема "отрицательного времени" часто возникает при вычислении разности времен, принадлежащих разным суткам, например, когда нужно вычислить продолжительность ночной смены, которая начинается, допустим, в 22 часа и заканчивается в 6 часов утра на следующий день. На рис. 10.4 показан пример вычислений длительности рабочей смены. Как видно, вычислить продолжительность ночной смены не получилось. А 1 1 Начало смены 2 В00 3 2200 В Конем смены 17 Ж С От: аботано 930 „М*Й D Ё - "1 |*~« * *•'. 1*ст1 ■: Г*сТ2/ГУстЗ Д' Рис. 10.4. Ошибка при вычислении разности времени Использование предыдущей формулы здесь не поможет, поскольку вернет значение 16 часов, что неправильно (в действительности смена длится 8 часов). В этом случае поможет следующая формула: =ЕСЛИ(В2<А2;В2+1;В2)-А2 Последнюю формулу можно переписать в виде =В2+(В2<А2)-А2 "Отрицательное время" поддерживается в системе дат 1904. Чтобы перейти в эту систему, выберите команду Сервис^Параметры. В открывшемся диалоговом окне перейдите во вкладку Вычисления. Затем установите флажок опции Система дат 1904. Будьте очень осторожны! Если в рабочей книге есть даты, то после включения этой опции порядковые номера уменьшатся на 1462 (количество дней за четыре года). Суммирование значений времени Многие пользователи приходят в недоумение, когда сумма значений времени, если она превышает 24 часа, отображается неверно. На рис. 10.5 показан такой пример. Диапазон В2:В8 содержит часы и минуты, отработанные служащим в каждый рабочий день недели. Формула суммирования содержится в ячейке В9. =СУММ(В2:В8) А 1 День 2 Понедельник Э Вторник t .UKM 5 -етверг 16 Ьпница I 7 Гуйота | 8 Ьосгресенье 9 {Всего 10 'Оормат 11 12 13 в с Отработано 8 30 еоо 9.00 9:30 4 15 230 0.00 17:45 ч мм 830 8:00 9:00 9:30 4:15 2:30 0:00 1,739383 Общий ««,'r*,S/ |i| О 8.30 8:00 9:00 930 4:15 2:30 0:00 41:45 [ч| мм nlQl*l Е "Г \ 1 ИГ Рис. 10.5. Использование неподходящего формата ячеек приводит к отображению неправильного результата Вы видите, что формула возвращает значение 17 часов 45 минут, хотя реальное значение суммы равно 41 часу и 45 минутам. 212 Часть II. Формулы и функции
Программа Excel всегда отображает время как часть дня, т.е. значение времени не должно превышать 24 часов. Форматирование ячейки с формулой суммирования форматом Общий не решает этой проблемы (значение в ячейке С9 на рис. 10.5), поскольку в этом формате значение отображается как количество дней с соответствующей дробной частью. И только применение формата [ч] : мм позволяет корректно отобразить результат (ячейка D9). На рис. 10.6 показан еще один пример. Таблица содержит список отработанных часов за неделю (запланированных и сверхурочных). На ко диске Эту рабочую книгу можно найти на прилагаемом компакт-диске. УИ2У Г~ Звцктять яисг График работы qynii'i Отдел: Начальная дата: Се: re* Стеков Бухгалтерия 01Л3.2004 ■йныамаим понелельник ВТО НИК срада четверг ПЯТНИЛ с-ббота воскресенье «та 01.03.2004 02 03 2004 03 03.2004 04 03 2004 05 03 2004 0F 03 2004 07 03 2004 Начало рааогы 800 1000 9:00 7:30 9:30 Начало 12:00 14:00 12:00 1130 14Я) ОБЩЕЕ В(-_ Л РАБОТЫ Bc.ro: 42J0 Запланированные: 40Я0 Сверхурочные 2-30 Конец ejjejrVff. 13:00 14:30 13:00 12 00 15: X Конец 1800 19:00 18:30 18:ЭР 17:00 Время р^оо|Ы (вяены 9:00 030 830 1030 6Я0 ода ода Время ра&шы (о»»»е| ода 1730 26:00 3630 42.Х 4230 4230 Очиепчь | Ctioawa . 1Сверк-[-очныь > М^уГрифисРлвяты •1Г Рис. 10.6. Таблица, позволяющая составить график работы В ячейке D5 представлена начальная дата, а в столбце В отображается день недели. В диапазоне D8:G14 находятся значения времени. В столбце Н вычисляется число часов, отработанных служащим за день. Например, в ячейке Н8 находится такая формула: =ECTM(E8<D8;E8+1-D8;E8-D8)+EGJIM(G8<F8;G8+1-G8;G8-F8) В первой части формулы вычисляется разница значений в столбцах D и Е, т.е. определяется, сколько часов отработал служащий до перерыва на обед. Во второй части формулы вычисляется количество часов, отработанных после обеда. Для этого значение из столбца F отнимается от значения в столбце G. Функция ЕСЛИ используется для того, чтобы можно было корректно вычислить продолжительность ночной смены. Например, если смена начинается в 22:00, а начало перерыва в 2:00, то формула без функции ЕСЛИ вернет отрицательный результат. Формула, которая подсчитывает общее рабочее время за неделю, находится в ячейке Е17 и имеет вид =СУММ(Н8:Н14) Глава 10. Работа с датами и временем 213
В таблице предполагается, что стандартная рабочая неделя состоит из 40 часов. Ячейке С23 присвоено имя Сверхурочные. Она содержит значение 40:00. Если в вашей фирме продолжительность стандартной рабочей недели другая, просто измените формулу в этой ячейке. В ячейке Е18 содержится формула, которая вычисляет количество запланированных (не сверхурочных) отработанных часов. Эта формула возвращает наименьшее двух чисел — общее время работы или сверхурочные часы: =МИН(Е17;Сверхурочные) Формула в ячейке Е19 отнимает от общего времени работы количество запланированных отработанных часов: =Е17-Е18 В диапазоне Е17:Е19 могут храниться значения времени, превышающие 24 часа, поэтому к ним был применен следующий числовой формат: [ч]:мм Преобразование значений времени в военный формат Военный формат времени представляет собой четырехзначное число в диапазоне от 0000 до 2359. Например, значение 1:00 запишется в виде 0100, а 15:30— 1530. Пусть в ячейке А1 содержится такое четырехзначное число, тогда следующая формула преобразует его в обычное представление: =ВРЕМЗНАЧ(ЛЕВСИМВ(А1;2)&":"&ПРАВСИМВ(А1;2)) Следует заметить, что эта формула вернет неправильный результат, если значение в ячейке А1 состоит менее чем из четырех цифр. Следующая формула решает эту проблему и возвращает правильный результат для диапазона значений от 0 до 2359: =ВРЕМЗНАЧ(ЛЕВСИМВ (ТЕКСТ (В1,- "0000") ; 2 ) &" : "&ПРАВСИМВ(В1;2 ) ) Ниже приведена более простая формула, эквивалентная предыдущей. В ней используется функция ТЕСКТ, которая возвращает отформатированную строку. Затем функция ВРЕМЗНАЧ преобразует эту строку в значение времени. =ВРЕМЗНАЧ(ТЕКСТ(С1;"00\:00")) Преобразование количества часов, минут и секунд в значение времени Чтобы преобразовать количество часов в значение времени, следует разделить его на 24. Например, если ячейка А1 содержит значение 9,25 (часов), то следующая формула вернет время 9:15:00 (9 часов и 15 минут): =А1/24 Чтобы преобразовать количество минут в значение времени, это количество следует разделить на 1 440 (число минут в сутках). Если ячейка А1 содержит значение 500 (минут), то следующая формула вернет время 8:20:00 (8 часов и 20 минут). =А1/1440 Для преобразования количества секунд в значение времени необходимо разделить его на число 86 400 (количество секунд в сутках). Если ячейка А1 содержит значение 65 000 (секунд), то следующая формула вернет время 18:03:20 (18 часов, 3 минуты и 20 секунд): =А1/86400 214 Часть //. Формулы и функции
Прибавление к значению времени часов, минут и секунд Чтобы прибавить к значению времени определенное количество часов, минут или секунд, обычно используется функция ВРЕМЯ. Пусть в ячейке А] содержится значение времени; чтобы прибавить к нему 2 часа и 30 минут, запишем формулу =А1+ВРЕМЯ(2;3 0;0) Функцию ВРЕМЯ можно использовать для заполнения последовательности значений времени с заданным шагом. На рис. 10.7 представлена последовательность, состоящая из 16 временных значений с шагом в 10 минут. В ячейку А1 введено начальное значение. Ячейка А2 содержит формулу, которая копируется во все остальные ячейки последовательности: =А1+ВРЕМЯ(0;10;0) Рис. 10.7. Использование формулы для создания последовательности Округление временных значений Иногда бывают полезны формулы, округляющие временные значения с определенной точностью. Например, если в вашей компании учет рабочего времени ведется с точностью до 15 минут, то значения рабочего времени также должны быть представлены с этой точностью. Следующая формула представляет значение времени в ячейке Ale точностью до минуты: =ОКРУГЛ(А1*1440;0)/1440 В этой формуле значение времени сначала умножается на число 1440 (чтобы получить общее количество минут), затем округляется до ближайшего целого, после этого делится на 1440. Например, если в ячейке А1 находилось значение 11:52:34, формула вернет 11:53:00. Следующая формула округляет значение времени в ячейке А1 до ближайшего часа: =ОКРУГЛ(А1*24;0)/24 Если в ячейке было значение 5:21:31, формула вернет 5:00:00. Приведем формулу, отображающую время с точностью до 15 минут: =ОКРУГЛ(А1*24/0,25;0) /(24/0,25) В этой формуле 0,25 соответствует четверти часа, т.е. 15 минутам. Для представления времени с точностью до получаса примените аналогичную формулу, заменив 0,25 на 0,5: =ОКРУГЛ(А1*24/0,5;0)/(24/0,5) Глава 10. Работа с датами и временем 215
В этой главе... Основные методы подсчета Функции подсчета Использование формул Основные методы сумми- Формулы условного суммирования Формулы подсчета и суммирования П одсчет и суммирование — две наиболее часто используемые операции, выполняемые в электронных таблицах. Excel предлагает большое количество средств для выполнения подобных операций. В этой главе описаны приемы и методы подсчета и суммирования, применяемые в рабочих книгах Excel. Основные методы подсчета В общем случае формула подсчета Excel возвращает количество ячеек в указанном диапазоне, содержимое которых удовлетворяет определенным условиям. Аналогично, формула суммирования возвращает сумму значений ячеек, также удовлетворяющих определенным критериям. В табл. 11.1 перечислены функции Excel, которые применимы в формулах подсчета и суммирования. Эти функции принадлежат разным категориям, в том числе категории функций баз данных. К сожалению, поскольку объем книги ограничен, здесь описаны не все функции. Если в таблице нет функций, способных решить вашу конкретную задачу, попробуйте применить формулы массивов. Л Массивы и функции массивов, а также приме- #ополнителы*я ры их применения для подсчета и суммирования рассматриваются в главах 14 и 15. В главе 19 представлена информация о том, как выполняется подсчет и суммирование в списках.
Таблица 11.1. Ф\ злица 11.1. Функции суммирования и подсчета Функция Назначение БДСУММ БСЧЁТ БСЧЁТА КВАДРОТКЛ ПРОМЕЖУТОЧНЫЕ. ИТОГИ СУММ СУММЕСЛИ СУММКВ СУММКВРАЗН СУММПРОИЗВ СУММРАЗНКВ СУММСУММКВ СЧЁТ СЧЁТЕСЛИ СЧЁТЗ СЧИТАТЬПУСТОТЫ ЧАСТОТА В столбце базы данных подсчитывает сумму значений, которые удовлетворяют критерию В базе данных подсчитывает записи, которые удовлетворяют критерию и содержат в указанном поле числовые значения В базе данных подсчитывает записи, которые удовлетворяют критерию и содержат какие-либо значения в указанном поле Возвращает сумму квадратов отклонений Возвращает промежуточные итоги по списку или по базе данных Суммирует свои аргументы Суммирует значения в ячейках, выбираемых по заданному критерию Возвращает сумму квадратов аргументов Возвращает сумму квадратов разностей соответствующих значений из двух массивов Возвращает сумму произведений соответствующих элементов массивов Возвращает сумму разностей квадратов соответствующих значений из двух массивов Возвращает сумму сумм квадратов соответствующих значений из двух массивов Подсчитывает количество чисел в списке аргументов Подсчитывает внутри диапазона количество непустых ячеек, удовлетворяющих заданному критерию Подсчитывает количество непустых значений в списке аргументов Подсчитывает количество пустых ячеек в заданном диапазоне Возвращает эмпирическое распределение частот в виде вертикального массива. Используется только в формулах массивов Быстрый подсчет и суммирование Начиная с версии 97, в Excel есть средство Автовычисление. Это средство отображает в строке состояния информацию о выделенном диапазоне. По умолчанию в строке состояния отображается значение суммы содержимого ячеек выделенного диапазона. Но если щелкнуть правой кнопкой мыши в строке состояния, то откроется меню с дополнительными функциями. -П5 73Т 253 163 131 228 97 261 4(5 384 —ЗГ 108 -TTI7- 147 457 481 179 57 477 58 255 81 56 387 238 412 390 131 133 483 332 498 444 160 475' 202 308 29 312 121 67 352 61 391 180 45 116 112 461 121 1 281 ! 372 ! 211 1 211 345 77 58 263 Ыет I Среднее I Количество значении I Количество чисел I Максимум Глава 11. Формулы подсчета и суммирования 217
При выборе в этом меню функции Количество значений Excel подсчитает число непустых ячеек в диапазоне. При выборе функции Количество чисел будет подсчитано количество ячеек с числовыми значениями. Функции подсчета В следующих разделах главы приводится много примеров формул подсчета количества ячеек, удовлетворяющих определенным условиям. На рис. 11.1 показан рабочий лист, содержащий формулы в столбце Е. Эти формулы описаны ниже и позволяют разными способами подсчитывать количество ячеек в диапазоне А1:В10, состоящем из 20 ячеек и названном Данные. Эту рабочую книгу можно найти на прилагаемом компакт-диске. 1J Оетгаоиию фоя-*-«ыИ«Д*ЭДИ* ri л 2. Январь Февраль 552 250 Ш «кхьи 1кдГ Ж*сШжаГ «авто 71В -Ю1х| р.— «Л F G л Подсчитываемые ячейки Всего 20 =ЧСТРОК(Даннь»)*ЧИСЛСТОЛБИанные) Пустые ' 4 =С^АТЫ1УСТОТОДаниь») Непустые 16 =СЧЁ73(Цанныа] Т~ С числами С нетекстом С текстом С догич значениями С ошибками С ошибкой «Н/Д ■С ошибкой «ПУСТО! :С ошибкой «ДЕЛЮ! С ошибкой *ЗНАЧ1 С ошибкой «ССЫЛКА! С ошибкой «ИМЯ? 7 =СЧЁТ(Даиные) 17 (=СУММ(ЕСЛИ(ЕНЕТЕКСТИаннь1е).1))} 3 |=СУММ(ЕСЛИ(ЕТЕКСТсаанные);1))1 2 (=СУММ(ЕСЛИ(ЕЛОГИЧ(Данные)^1))) 4 (=СУММ(ЕСЛИ(ЕОШИБКА1Данные).1))) 0 (=СУММ(ЕСЛИ(ЕНД(Данные).1))) {=СУММ(ЕСЩЕНД(ТЙП ОШИБКИЩанныеДО. 0 ЕСЛИСГИП.О11)И6КЩДаниь»|)=1:1.0)))) (-СУММ(ЕСЛИ(ЕНД(ТИП Ои)И6КИ(Данные)),0. 1 ЕСЛИ(ГИПОШИБКИ(Даиные)=2.1>0))){ (=СУММ(ЕСЛИ(ЕНД(™п СШИБКИ(Данные»Д 0 ЕСЛИ(ГИП.О111ИБКИ(Данные)=3.1,0)))) {-СУММ(ЕСЛИ(ЕНД(ТИП ОШИБКИ(Данные))Д 2 ЕСЛИдиП.ОШИБКИ1Панные)=4:1.0)))) (»СУММ(ЕСЛИ(ЕНД(ГИП ОШИБКИ(Данные)).0. 1 ЕСЛЩТИПОШИБКИ(Данные)=5;1,0)))] (=СУММ(ЕСЛИ(ЕНД(ТИП ОШИБКИ(Даниые))Д С ошибкой «ЧИСЛ01 0 ЕСЛИЛИП ОШИБКИИаннь»)=6 1,0)))| i^\ Рис. П.]. Формулы, показывающие различные способы подсчета данных в диапазоне ALB10 Подсчет общего количества ячеек в диапазоне Чтобы подсчитать общее количество ячеек в диапазоне, используется следующая формула: =ЧСТРОК(Данные)*ЧИСЛСТОЛБ(Данные) Эта формула вычисляет количество ячеек в диапазоне Данные путем перемножения количества строк в этом диапазоне, возвращаемых функцией ЧСТРОК, и количества столбцов, возвращаемых функцией ЧИСЛСТОЛБ. Несколько слов о примерах этой главы В большинстве приведенных здесь примеров аргументами функций являются поименованные диапазоны. Если вы будете использовать формулы из этих примеров в своих рабочих книгах, то либо замените адреса поименованных диапазонов, либо в формулах укажите другие диапазоны. 218 Часть II. Формулы и функции
Кроме того, в некоторых примерах используются формулы массивов. Это специальный тип формул, которые позволяют выполнять такие вычисления, которые выполнить другим способом нельзя. Формулу массива в строке формул легко определить по обрамляющим ее фигурным скобкам, например: {=Данные*2} При создании формул массивов не требуется вводить фигурные скобки. Вместо этого после завершения ввода формулы нажмите комбинацию клавиш <Ctrl+Shift+Enter> (а не просто <Enter>), и Excel автоматически поставит фигурные скобки. После редактирования формулы массива обязательно нажмите комбинацию клавиш <Ctrl+Shift+Enter> (в противном случае Excel преобразует ее в обычную формулу, что приведет к ошибке). Формулы массивов рассматриваются в главах 14 и 15. Подсчет пустых ячеек в диапазоне Для определения количества пустых ячеек в диапазоне Данные можно применить формулу =СЧИТАТЬПУСТОТЫ(Данные) Функция СЧИТАТЬПУСТОТЫ также считает пустыми те ячейки, которые содержат формулы, возвращающие пустые текстовые строки. Например, если в ячейке просматриваемого диапазона будет формула =ЕСЛИ(А1>5;"";А1) и число в ячейке А1 больше 5, то эта ячейка с формулой также будет считаться пустой. ^^^^ Функция СЧИТАТЬПУСТОТЫ не считает ячейки, которые содержат нулевые зна- На заметку чения, даже если в диалоговом окне Параметры вкладки Вид снят флажок Нулевые значения (тем самым нулевые значения в ячейках не отображаются). / Аргументом функции СЧИТАТЬПУСТОТЫ может быть и вся строка или столбец. Например, следующая формула вернет количество пустых ячеек в столбце А: =СЧИТАТЬПУСТОТЫ(А:А) Приведенная ниже формула возвращает число пустых ячеек в листе с именем Лист1. Помните, что эту формулу нужно вводить в другом листе той же рабочей книги, иначе она вернет ошибку, поскольку возникнет циклическая ссылка. =СЧИТАТЬПУСТОТЫ(Лист111:65536) Подсчет непустых ячеек в диапазоне Следующая формула с помощью функции СЧЁТЗ возвращает число непустых ячеек в диапазоне Данные: =СЧЁТЗ(Данные) Функция СЧЁТЗ подсчитывает ячейки, содержащие числовые значения, текст и логические значения (ИСТИНА и ЛОЖЬ). ^^^ Если в ячейке содержится формула, которая возвращает пустую строку, функция На заметку СЧЕТЗ все равно подсчитает ее, несмотря на то что в ячейке ничего не отображается. / Глава 11. Формулы подсчета и суммирования 219
Подсчет количества ячеек с числовыми значениями Для определения количества ячеек, содержащих только числовые значения, используется формула =СЧЁТ(Данные) Ячейки со значениями дат и времени также считаются содержащими числовые значения. Ячейки, содержащие логические значения (ИСТИНА и ЛОЖЬ), таковыми не считаются. Подсчет ячеек, не содержащих текст Приведенная ниже формула массива, подсчитывающая количество ячеек, не содержащих текст, в диапазоне Данные, использует функцию ЕНЕТЕКСТ, которая возвращает значение ИСТИНА, если ее аргументом не является ячейка, содержащая текстовое значение. Пустые ячейки подсчитываются. {=СУММ(ЕСЛИ(ЕНЕТЕКСТ(Данные) ;1) ) } Подсчет ячеек, содержащих текст Следующая формула возвращает количество ячеек в диапазоне Данные, содержащих текстовые значения: {=СУММ(ЕСЛИ(ЕТЕКС(Данные);1))} Подсчет логических значений в диапазоне Приведенная ниже формула возвращает количество логических значений (ИСТИНА и ЛОЖЬ) в диапазоне Данные. {=СУММ(ЕСЛИ(ЕЛОГИЧ(Данные) ;1)) } Подсчет числа ошибок Программа Excel предлагает три функции, которые помогают определить, в каких ячейках находятся ошибки. ■ ЕОШИБКА. Возвращает значение ИСТИНА, если ячейка содержит любое значение ошибки (#Н/Д, #ЗНАЧ!,#ССЫЛ!,#ДЕЛ/0!, #ЧИСЛО!, #ИМЯ? или#ПУСТО!). ■ ЕОШ. Возвращает значение ИСТИНА, если ячейка содержит любое значение ошибки, кроме #Н/Д. ■ ЕНД. Возвращает значение ИСТИНА, если ячейка содержит значение ошибки #Н/Д. Эти функции можно использовать в формулах массивов для подсчета количества ошибок в любом диапазоне. Например, следующая формула массива возвращает общее число ошибок в диапазоне Данные: {=СУММ(ЕСЛИ(ЕОШИБКА(Данные) ;1) ) } В зависимости от своих потребностей, в аналогичной формуле вместо функции ЕОШИБКА вы можете использовать функции ЕОШ или ЕНД. 220 Часть II. Формулы и функции
Для подсчета количества особых типов ошибок можно применить функцию СЧЁТЕСЛИ. Например, следующая формула, вычисляет количество ошибок #ДЕЛ/0 ! в диапазоне Данные: =СЧЁТЕСЛИ(Данные;"#ДЕЛ/0!") Использование формул подсчета В этом разделе рассматриваются более сложные формулы, когда подсчитываются ячейки, содержимое которых удовлетворяет разного рода условиям. В некоторых примерах этого раздела используются формулы массивов, которые подробно описаны в главах 14 и 15. Подсчет значений с помощью функции СЧЁТЕСЛИ Функция СЧЁТЕСЛИ очень полезна при создании формул подсчета с одним критерием. Эта функция имеет два аргумента: ■ диапазон, ячейки которого подсчитываются; ■ критерий, или логическое условие, по которому определяется, какие ячейки будут включены в подсчет. В табл. 11.2 приведены примеры формул с применением функции СЧЁТЕСЛИ. В этих формулах в качестве первого аргумента используется диапазон с именем Данные. Второй аргумент (логический критерий) может содержать константы, выражения, функции, ссылки на ячейки и символы замещения (* и ?). Таблица 11.2. Формулы на основе функции СЧЁТЕСЛИ Формула Что она возвращает =счётесли (Данные,-12) Число ячеек, содержащих значение 12 =счётесли (данные,-"<о") Число ячеек, содержащих отрицательные значения =счётесли (Данные;"<>о") Число ячеек, содержащих ненулевые значения =счётесли (Данные;" >5") Число ячеек, содержащих значения, превышающие 5 =счётесли (Данные; Ai) Число ячеек, содержащих значения, равные значению ячейки А1 =счётесли (данные; " >" &А1) Число ячеек, содержащих значения, превышающие значение ячейки А1 =счётесли (Данные;" *") Число ячеек, содержащих текстовые значения =счётесли (данные,-"???") Число ячеек, содержащих ровно три символа =счётесли (данные;"бюджет") Число ячеек, содержащих одно слово "бюджет" (независимо от регистра символов) =счётесли (Данные;" *бюджет*") Число ячеек, содержащих слово "бюджет" где-нибудь внутри текста =счётесли (данные; "А*") Число ячеек, в которых текст начитается с буквы А (независимо от регистра символов) Глава 11. Формулы подсчета и суммирования 221
Окончание табл. 11.2 Формула Что она возвращает =СЧЁТЕСЛИ(Данные;СЕГОДНЯ()) =СЧЁТЕСЛИ(Данные; ">"&СРЗНАЧ(Данные)) =СЧЁТЕСЛИ(Данные;">" &СТАНДОТКЛОН(Данные)*3) =СЧЁТЕСЛИ(Данные;3)+ СЧЁТЕСЛИ(Данные;-3) =СЧЁТЕСЛИ(Данные;ИСТИНА) =СЧЁТЕСЛИ(Данные;ИСТИНА)+ СЧЁТЕСЛИ(Данные;ЛОЖЬ) =СЧЁТЕСЛИ(Данные;"#Н/Д") Число ячеек, содержащих текущую дату Число ячеек, содержащих значения, превышающие среднее значение данного диапазона Число ячеек, содержащих значения, превышающие в три раза стандартное отклонение значений данного диапазона Число ячеек, содержащих значения 3 или -3 Число ячеек, содержащих логическое значение ИСТИНА Число ячеек, содержащих логические значения (ИСТИНА и ЛОЖЬ) Число ячеек, содержащих значение ошибки #н/д Подсчет ячеек с использованием нескольких критериев Во многих случаях для подсчета ячеек необходимо учитывать не один критерий отбора, а несколько. Эти критерии могут основываться как на значениях ячеек, которые подсчитыва- ются, так и на значениях ячеек из других диапазонов. На рис. 11.2 показан рабочий лист с несколькими примерами таких формул (формулы описаны далее в разделе). На этом листе данным в столбцах присвоены имена Месяц, Продавец, Товар и Продажи, соответствующие заголовкам столбцов. Эту рабочую книгу можно найти на прилагаемом компакт-диске. Наш диске Подсчет по песк^тйшн крятериян we А 1 Месяц 2 Январь 3 Январь 4 Январь 6 Январь 6_ Февраль 7 Февраль 8 Февраль 9 Февраль 10 Март 11 Март 12 Март 13 Март 14 -Апрель 15 Апрель 16_ Апрель ■Апрель в с d е[ |Продавеи1Товар [Продажи | .101x1 Брукс Брукс Джонс Куке Брукс Джонс Куке Брукс Джонс Куке Брукс Джонс Куке Брукс Джонс Куке Товар 1 Товар 2 Товар 1 Товар 2 Товар 1 Товар 1 Товар 1 Товар 2 Товар 1 Товар 1 Товар 1 Товар 2 Товар 1 Товар 1 Товар 1 Товар 2 1063 63 206 1769 663 223 1030 208. 962: 866 992 298 757* 283: 758 839 Z. 1 {=СУММ((Мвся1р"ЯнварьТ(ЛРВД>ввЧ="БР»,:сТ(пР0Даж">1|:|0Щ)) 13 (=CУMM((Mecяlf=■Янвapь^+^Пpoдaввl{=■Бpyкc■)+(Пpoдaжи>1000))! 3{=СУММ((Мвсяц="Январь")'ЕСЛИ((Продавеч='Брукс1+(Продаж»>1000);1))) i < » J^ntxt/ Рис. 11.2. Формулы подсчета, использующие несколько критериев отбора ячеек 222 Часть II. Формулы и функции
Учет всех критериев С помощью логической функции И можно создать формулы, определяющие количество ячеек, для которых выполняются сразу все заданные критерии. Например, можно подсчитать количество ячеек, содержащих значения, которые больше 0 и которые меньше или равны 12. Таким образом, будут подсчитаны ячейки, содержащие положительные значения, не превышающие 12. Например, это условие можно задать с помощью двух функций СЧЕТЕСЛИ: =СЧЕТЕСЛИ(Данные;">0")-СЧЕТЕСЛИ(Данные;">12") В этой формуле используется поименованный диапазон Данные. Здесь подсчитывается количество ячеек, содержащих положительные значения, а затем от полученного числа отнимается то количество ячеек, в которых значения больше 12. В результате получаем количество ячеек, значения которых больше 0 и не превышают 12. Создание таких формул осложняет восприятие того, какие проводятся вычисления. Это происходит потому, что нужно задавать критерий ">12", в то время как искомые ячейки содержат значения, не превышающие 12. Обычно подобного рода вычисления требуют применения формул массивов. Итак, используя формулу массива, запишем более простую формулу: {=СУММ((Данные>0)*(Данные<=12))} ^^^* Не забудьте после ввода нажать комбинацию клавиш <Ctrl+Shift+Enter>. На заметку Иногда отбор подсчитываемых ячеек основывается на критериях, которые учитывают значения не только в подсчитываемых ячейках, но и значения ячеек из других диапазонов. Например, нужно подсчитать количество продаж, которые удовлетворяют следующим условиям: ■ месяц январь и ■ продавец Брукс и ■ продажи больше 1000. Следующая формула подсчитывает количество строк в таблице, удовлетворяющих сразу всем этим критериям: {=СУММ((Месяц="Январь")*(Продавец="Брукс")*(Продажи>1000))} Если нужно учитывать все критерии, то можно обойтись и без формул массивов. В таких случаях следует использовать функцию СУММПРОИЗВ. Следующая формула вернет тот же результат, что и предыдущая: =СУММПРОИЗВ((Месяц="Январь")*(Продавец="Брукс")*(Продажи>1000)) Учет некоторых критериев Чтобы создать формулы, подсчитывающие ячейки в диапазоне, которые удовлетворяют хотя бы одному из заданных критериев, можно использовать логическую функцию ИЛИ либо несколько раз применить функцию СЧЕТЕСЛИ. Например, следующая формула подсчитывает количество единиц, троек и пятерок в диапазоне Данные: =СЧЁТЕСЛИ(Данные;1)+СЧЁТЕСЛИ(Данные;3)+СЧЁТЕСЛИ(Данные;5) Функцию СЧЕТЕСЛИ можно использовать в формулах массивов. Например, следующая формула массива вернет тот же результат, что и предыдущая: {=СУММ(СЧЕТЕСЛИ(Данные;{l;3;5}))} Глава 11. Формулы подсчета и суммирования 223
Обратите внимание, что при учете некоторых критериев функция СЧЕТЕСЛИ не работает. Приведем еще пример формулы подсчета ячеек, основанной на критериях, которые учитывают значения не только в подсчитываемых ячейках, но и значения ячеек из других диапазонов. Вернитесь к рабочему листу, показанному на рис. 11.2; допустим, требуется подсчитать количество продаж, удовлетворяющих следующим условиям: ■ месяц январь или ■ продавец Брукс или ■ продажи больше 1000. Следующая формула подсчитывает количество строк в таблице, удовлетворяющих этим критериям: {=СУММ((Месяц="Январь")+(Продавец="Брукс")+(Продажи>1000))} Комбинированные условия отбора Иногда возникает необходимость в использовании комбинированных условий. Предположим, в рабочем листе на рис. 11.2 необходимо подсчитать количество продаж, которые удовлетворяют следующим условиям: ■ месяц январь и ■ продавец Брукс или ■ продавец Куке. Следующая формула подсчитывает количество строк в таблице, удовлетворяющих этим критериям: {=СУММ((Месяц="Январь")*ЕСЛИ(Шродавец="Брукс")+(Продавец="Кукс");1))} Подсчет наиболее часто встречающихся значений Чтобы определить, какое значение в выделенном диапазоне встречается наиболее часто, используется функция МОДА. На рис. 11.3 показан рабочий лист с диапазоном чисел А1:А10, которому присвоено имя Данные. Следующая формула вернет число 10, поскольку оно наиболее часто встречается в диапазоне Данные: =МОДА(Данные) 1РГ^^И * 11 1 1 2 ■ 4 1 3 | " 4 10 I Ь ' 10 6 10 11 7 ■ 10 lie ■ 12 14 14 ь с 10 =МО, 4=СЧЁ |нные) 4 сСЧЁТЕСЛИЩанныцМООЧОанше)) Н . •Albert ,Лкг1 .'(VCT) ' |,[ | Рис. 11.3. Использование функции МОДА Чтобы подсчитать, сколько раз это число встречается в диапазоне Данные, можно применить формулу =СЧЁТЕСЛИ(Данные;МОДА(Данные)) 224 Часть //. Формулы и функции
Эта формула вернет число 4, поскольку именно столько раз число 10 встречается в диапазоне Данные. Функция МОДА работает только с числовыми данными. Она игнорирует ячейки, содержащие текст. Чтобы найти наиболее часто встречающееся текстовое значение, нужно использовать формулы массивов. Для подсчета того, сколько раз этот текст (а также числовое значение) встречается в диапазоне Данные, можно применить формулу {=МАКС(СЧЁТЕСЛИ(Данные;Данные))} Следующая формула работает так же, как и функция МОДА, с тем лишь отличием, что она может работать и с текстовыми и с числовыми значениями: (=ИНДЕКС(Данные;П0ИСКП03(МАКС(СЧЁТЕСЛИ(Данные;Данные)); СЧЁТЕСЛИ(Данные;Данные);0))} Подсчет текста В этом разделе будут показаны разные способы подсчета того, сколько раз указанные символы или текстовые строки встречаются в ячейках заданного диапазона. Описанные ниже примеры представлены на рис. 11.4. Текстовые данные записаны в диапазоне А1:А10, названном Данные; ячейке В1 присвоено имя Текст. Наш диске Эту рабочую книгу можно найти на прилагаемом компакт-диске. О Помечет теке«« хЬ 1 аа Альфа 2__Альфа 3_ААА _4^ааа 5 Бета .lOlxl 6 Б 7_БББ в Альфа Бата Ваб г__ щ альфа 12 13 ч. =СчеТЕСЛИ(Данныв;Текст) (=СУММ(ЕСЛИ(СОВПАДДанные;Текс'|); 1))) =СЧЁТЕСЛИСДанныв.'~-8,Твкст&~) 2: (=СУММ(ЕСЛИСОЛСТР(Цанныв>ДЛСТР(ПОДСТАВИТЬЩаниые;Тем:1-."))>0;1))) I (=(СУММ(ДЛСТРЩ»ииые))- 2! СУММ(аПСТР(ПОДСТАВИТЬСДанныеДекс1,-1))УДПСТР(ТекС1)) (=(СУММ(ДЛСТРСДанные))-СУММ(ДПСТР(ПОДСТАВтЪ(ПРОПИСН 3 (Данныв);ПРОГ1ИСНГГексгО."))))/ДЛСТР(Гекст)} • Ли<т1 1-1 ^ Рис. 11.4. Примеры подсчета текстовых элементов Подсчет полных текстовых строк Для подсчета ячеек, содержащих заданный текст (и ничего более), можно использовать функцию СЧЁТЕСЛИ, как показано в формуле =СЧЁТЕСЛИ(Данные;Текст) Например, если ячейка Текст содержит строку "Альфа", формула возвратит значение 2, поскольку только две ячейки содержат этот текст. Эта формула не учитывает регистр симво- Глава 11. Формулы подсчета и суммирования 225
лов, поэтому подсчитаны ячейки А2 (содержит "Альфа") и А10 (содержит "альфа"). Но она не подсчитала ячейку А8, содержащую текст "Альфа Бета". Следующая формула подобна предыдущей, но она учитывает регистр символов: {=СУММ(ЕСЛИ(СОВПАД(Данные;Текст) ;1) ) } Подсчет текстовых строк при неполном совпадении Для подсчета количества ячеек, содержащих как часть своих текстовых строк заданный текст, примените формулу =СЧЁТЕСЛИ(Данные;"*"&Текст&" * " ) Если ячейка Текст содержит "Альфа", формула вернет значение 3, поскольку это слово встречается в трех ячейках (А2, А8 и А10). Отметим, что эта формула не чувствительна к регистру символов. Следующая формула массива, выполняя такие же вычисления, учитывает регистр символов: {=СУММ(ЕСЛИ(ДЛСТР(Данные)-ДЛСТР(ПОДСТАВИТЬ(Данные; Текст;""))>0;1))} Эта формула вернет значение 2, поскольку текст "Альфа" (с учетом регистра букв) встретится только два раза (в ячейке А2 и А8). Подсчет всех вхождений текста Чтобы вычислить, сколько раз указанный текст встречается в ячейках заданного диапазона, следует применить формулу массива {=(СУММ(ДЛСТР(Данные))-СУММ(ДЛСТР(ПОДСТАВИТЬ(Данные; Текст;""))))/ДЛСТР(Текст)} Эта формула учитывает регистр букв. Если в ячейке Текст содержится "Б", формула вернет значение 7, поскольку прописная буква Б во всех ячейках диапазона Данные встречается семь раз. Следующая формула, выполняя подобные вычисления, не учитывает регистр символов: {=(СУММ(ДЛСТР(Данные))-СУММ(ДЛСТР(ПОДСТАВИТЬ(ПРОПИСИ (Данные); ПРОПИСИ(Текст);""))))/ДЛСТР(Текст)} Подсчет числа уникальных значений Иногда необходимо подсчитать количество уникальных (различных) значений в заданном диапазоне ячеек. Эту задачу решает следующая формула массива (просматриваемый диапазон ячеек назван Данные): {=СУММ(1/СЧЁТЕСЛИ(Данные;Данные))} Чтобы понять, как работает эта формула, необходимо знать основы поведения формул массивов (см. главу 14). Здесь последовательно рассматриваются этапы вычислений в приведенной формуле. На рис. 11.5 показан диапазон А1:А12, названный Данные. Диапазон С1:С12 содержит формулу массива (введенную во все ячейки этого диапазона). {=СЧЁТЕСЛИ(Данные;Данные)} >£х Эту рабочую книгу можно найти на прилагаемом компакт-диске. На компакт- диске 226 Часть II. Формулы и функции
Рис. 11.5. Использование формул массивов Массив в диапазоне С1:С12 содержит количество каждого значения из диапазона Данные. Например, число 100 в этом диапазоне встречается три раза, поэтому каждый элемент массива, который соответствует ячейке, содержащей число 100, равен 3. Массив в диапазоне D1:D12 вычислен по формуле {=1/С1:С12} Этот массив содержит величины, обратные значениям массива диапазона С1:С12. Просуммировав значения диапазона D1:D12, получим количество уникальных элементов в диапазоне Данные. Формула массива, представленная в начале этого раздела, создает массив, аналогичный массиву диапазона D1:D12, и суммирует его значения. Эта формула имеет недостаток: если диапазон Данные содержит пустые ячейки, она вернет значение ошибки. Приведенная ниже формула лишена этого недостатка. {=СУММ(ЕСЛИ(СЧЁТЕСЛИ(Данные;Данные)=0;""; 1/СЧЁТЕСЛИ(Данные;Данные)))} "\ В главе 15 приведена формула массива, которая создает список уникальных Исполнительная элементов диапазона, информация Создание распределения частот График распределения частот обычно строится на основе таблицы, содержащей частоты всех значений, находящихся в заданном диапазоне. Например, преподаватель может создать распределение частот тестовых баллов студентов. Распределение частот в Excel можно создать несколькими способами. ■ С помощью функции ЧАСТОТА. ■ На основе собственных формул. ■ С использованием средств надстройки Пакет анализа. На компакт диое Рабочую книгу с примерами создания распределения частот всеми тремя способами можно найти на прилагаемом компакт-диске. Глава 11. Формулы подсчета и суммирования 227
Если ваши данные представлены в виде базы данных, для того чтобы создать ^оголнительн^я распределение частот, можно использовать сводные таблицы (они описаны •информация \ в главе 21). Использование функции ЧАСТОТА Создать распределение частот проще всего с помощью функции ЧАСТОТА. Эта функция всегда возвращает массив, поэтому она используется в формулах массива, заполняющих диапазон ячеек. На рис. 11.6 показан диапазон А1:Е20, содержащий исходные значения и названный Данные. Эти значения лежат в интервале от 1 до 500. Диапазон G2:G11 содержит верхние границы интервалов разбивки области значений, которые используются при создании распределения частот. В данном случае интервалы равны 1-50, 51-100, 101-150 и т.д. Простой способ задания таких интервалов описан во врезке "Создание интервалов разбивки для распределения частот". ***" 1 6 7 8 9 Ш 11 Ж « 15 16 17 18 19 20 2L А /и 482 279 135 253 434 97 445 481 Ы 56 61 367 412 134 133 433 332 498 290 . ^ В 253 15 82 232 183 228 261 384 478 477 255 55 239 390 80 281 372 241 211 223 С ' О Е f G 446 69 33 174 360 132 35 401 168 36 71 102 109 90 147 151 160 457 444: 41 45 160 352 116 475 61 112 202 394 461 ЗОВ 180 121 29; 252 63 312 402 136 421 417 490 67 зд: до Интервал 50 100 150 200 250 3D 350 400 450 500 345 399 429 77 94 307 5В 21-190 263; 379 164 282 149 423 kn~,i,n*crt/n-cj/ HI J .|0!х|| н ' Л т\ 1 Г Рис. П. 6. Создание распределения частот для диапазона А1.Е20 Чтобы создать распределение частот, выделите диапазон ячеек, содержащий столько ячеек, сколько создано интервалов разбивки (на рис. 11.7 это диапазон Н2:Н11). Затем введите следующую формулу массива: {=ЧАСТОТА(Данные;G2:G11)} Эта формула подсчитывает количество значений из диапазона Данные, которые попадают в каждый интервал разбивки. Чтобы создать распределение частот, представленных в процентном формате (диапазон 12:111 на рис. 11.7), примените формулу {=ЧАСТОТА(Данные,-G2 :G11) /СЧЁТЗ (Данные) } На рис. 11.7 показан также график (гистограмма), построенный на основании созданного распределения частот. Создание интервалов разбивки для распределения частот При создании распределения частот вы сначала должны определить интервалы, на которые будет разбита область изменения значений. Обычно определяют равные по длине интервалы. Для автоматического задания 10 равных интервалов разбивки на основе значений, содержащихся в диапазоне Данные, примените следующую формулу массива: {=МИН(Данные)*(СТРОКА(ДВССШК "1:10"))*(МАКС(Данные)-МИН(Данные)+1)/10) -1} 228 Часть II. Формулы и функции
Здесь верхняя граница правого интервала всегда совпадает с максимумом значений, содержащихся в исходном диапазоне. Чтобы определить не 10, а другое количество интервалов разбивки, в приведенную формулу следует подставить вместо числа 10 нужное количество интервалов. -IDIxt 38 Интервал Частота Процент 132 "~ 168 102 147 457 45 116 112 461 121 63 136 490 90 429 307 190 164 423 ■з 50 100 150 200 250 300 350 400 450 500 9 16 12 9 7 10 5 9 11 10 90% 18.0% 120% 9f% 7(3% 1ПС% 51% 90% 110% юе% Н2:Н11 {-4ACT0TAiaaHHbie:G2:G11)) { ,1АСТ0ТА(Цанные,П2011).'СЧЬТЗЩанныв)} 136 490 ) 90 > 429 1 307 190 ! 164 50 100 150 200250300350400450500 Лн«т1 JWt. /Лкт$/ 1*1 «3 Рис. 11.7. Результат применения функции ЧАСТОТА для создания распределения частот Использование формул для создания распределения частот На рис. 11.8 показан рабочий лист, содержащий в столбце В тестовые баллы 50 студентов (этому диапазону присвоено имя Баллы). Формулы (без использования функции ЧАСТОТА) в столбцах G и Н вычисляют распределение частот для определения оценок студентов. Например, чтобы студент получил оценку 4, он должен набрать от 80 до 89 баллов. Рис. 11.8. Использование формул для создания распределения частот Формула массива в ячейке G2 вычисляет количество студентов, чьи баллы соответствуют оценке 5: {=СУММ((Баллы>=02)*(Баллы<=Е2))} Глава 11. Формулы подсчета и суммирования 229
Обратите внимание: подобная формула была представлена в предыдущем разделе. Эта формула скопирована в расположенные ниже ячейки столбца G. Формулы в столбце Н вычисляют процент студентов, получивших ту или иную оценку. Следующая формула введена в ячейку Н2 и затем скопирована в расположенные ниже ячейки: =G2/СУММ($G$ 2:$G$6) Использование средств пакета анализа для создания распределения частот После установки надстройки Пакет анализа для создания распределения частот можно использовать средство Гистограмма из этого пакета. Сначала определите границы интервалов разбивки области значений. Затем выполните команду Сервис^Анализ данных, которая откроет диалоговое окно Анализ данных. В этом окне в списке Инструменты анализа выберите опцию Гистограмма и щелкните на кнопке ОК. Откроется одноименное диалоговое окно, показанное на рис. 11.9. гтЯТТг'!?!!' | )Ътфмл карманов: Гйихи i Параметры юьводв ~ <*" бкгодмой интврвая- f* Но*аярвое-,«я(з«чга Г" Оврета((лссртирс»анкг * *'ПГ)зз**)НьДгусиемт' Р" вывод [рафии Г" ягктогдоинзЭ 31 -* *i 1 «* 1 Отлил J Рис. 11.9. Диалоговое окно, с помощью которого можно создать распределение частот В этом диалоговом окне в поле Входной интервал укажите диапазон ячеек, содержащих исходные данные; в поле Интервал карманов укажите диапазон ячеек со значениями границ интервалов разбивки, а также установите другие необходимые опции. На рис. 11.10 показано распределение частот (и соответствующая диаграмма), созданные с помощью средства Гистограмма. Рис. 11.10. Распределение частот и гистограмма, полученные с помощью средства Гистограмма 230 Часть II. Формулы и функции
В ячейках, содержащих распределение частот, созданное с помощью средства Гистограмма, содержатся только значения, а не формулы. Поэтому, если у вас изменятся исходные данные, для изменения распределения частот придется повторно вызвать средство Гистограмма. Основные методы суммирования В этом разделе на примерах показаны методы решения различных задач суммирования. Суммирование всех значений диапазона Нет ничего проще этой задачи. Следующая формула возвращает сумму всех значений диапазона, которому присвоено имя Данные: =СУММ(Данные) Функция СУММ может иметь до 30 аргументов. Следующая формула, например, суммирует значения пяти несмежных диапазонов: =СУММ(А1:А9;С1:С9;Е1:Е9;G1:G9;II:19) В качестве аргументов функции СУММ можно указать целый столбец или всю строку рабочего листа. Например, приведенная ниже формула суммирует все значения, расположенные в столбце А. Но, если эта формула также расположена в столбце A, Excel укажет ошибку в виде циклической ссылки. =СУММ(А:А) Следующая формула суммирует все значения, записанные в рабочем листе Лист1 (сама формула должна находиться на другом рабочем листе): =СУММ(Лист1!1:65536) Функция СУММ очень мощная и гибкая. В качестве ее аргументов можно использовать числовые значения, ссылки на ячейки и диапазоны, текстовые представления чисел (т.е. текст, который выгладит как число, будет преобразован в соответствующее число), логические значения и другие вложенные функции. Например, рассмотрим следующую формулу: =СУММ(В1;5;"6";;КОРЕНЬ(4);А1:А5;ИСТИНА) Программа Excel позволяет вводить подобного рода формулы (если, конечно, вы сможете в них разобраться). В этой формуле используются такие типы аргументов: ■ ссылка на ячейку; ■ литерал; ■ текстовая строка, которая выглядит как число; ■ пропущенный аргумент; ■ выражение, в котором используется другая функция; ■ ссылка на диапазон; - ■ логическое значение ИСТИНА. Функция СУММ считает логические значения (ИСТИНА и ЛОЖЬ) особенным образом. В вычислениях Excel интерпретирует значения этого типа как ноль. Но Внимание! функция СУММ считает, что значение ИСТИНА равно единице, а ЛОЖЬ — нулю. Поэтому используйте данную функцию для подсчета количества истинных значений в диапазоне, содержащем логические значения. Внимание! Глава 11. Формулы подсчета и суммирования 231
Суммирование с накоплением Иногда необходимо подсчитать сумму значений с последовательным накоплением сумм (такой метод суммирования иногда называют "нарастающим итогом"). Пример суммирования с накоплением показан на рис. 11.11. В столбце В введены месячные объемы продаж, в столбце С — накопленные суммы (суммы "от начала года до сегодня"). А I Б 1 Месяц Продажи 2 Январь 512 3 Февраль 127 4 .Март 5 Агрель (Г Май 7 Июнь е июль 9 Август 10 Сентябрь 34 712 156 11 Октябрь 12 Ноябрь 13 Декабрь 14 Всего 1 541р. 15 16 17 м « . -* Лкт1 ,'Лчстг/ 4 6 F с- т Накопленные суымы 512 639 673 13В5 1541 1541 1541 1541 1541 =СУММ(ВИ В2) »СУММ(В«2.ВЗ) =СУММ(В»2.В4) =СУММ(ВКВ5) -СУММ(В52.В6) =-СУММ(В«2.В7) =СУММ(В12В8) =СУММ(ВЙ ВЗ) =СУММ(В»2:В10) 1 541 =СУММре:В11) 1 541 =СУММ(В|2.В12) 1 541 . =СУММ[В«2.В13) l а Н 1 »1П| Рис. 11.11. Простой пример суммирования с накоплением В этом примере в ячейке С2 содержится формула =СУММ($В2:В2) Отметим, что в этой формуле используются смешанные ссылки. Первая ссылка в адресе диапазона суммирования всегда указывает на строку 2. При копировании этой формулы вниз по столбцу адрес диапазона суммирования будет изменяться, но всегда будет начинаться со второй строки. Например, после копирования в ячейке С8 будет формула =СУММ($В2:В8) Чтобы не отображать суммы в строках, в которых отсутствуют данные, можно создать формулу с помощью функции ЕСЛИ (рис. 11.12): =ЕСЛИ(В2 о"";СУММ($В2:В2) ;"") : А ■ .A _j Накопленные 1 Месяц Продажи суммы ЗГЧнмрь 512 512 3Ч 1>евраль 127 639 4 '^арт 34* " 673 5 Апрель 712 1 385 6 Waft 156: 1541. 7 4юнь 8 <'юль 9 Август 10 Сентябрь 11 Октябрь 12 Ноябрь 14 Всею 1541р. 15 16 и ч * »1^Пист1\Лмо2 / D Е F 3..-Я =EC№1(C2<>-.CVMM(CJ2.C2).") Я =ЕСЛЙ(СЭ<>_ CyWM(CJ2.C3),") ■ =ЕСЛИ(С4<>",СУММ(С12 С4).~) =ЕСЛИ(С5о";СУММССИ:С5),"1 ' =ЕСЛИ(С8<>-";СУММ(С$2:С6);") =ЕСЛИ(С7<>~.СУММ(С52:С7);~) =ЕСЛИ(С8о-:СУММ(С5гС8).") =ЕСЛИ(С9о";СУММ(С«2.С9).") =ЕСЛИ(С10<>";СУММ(С12С10),") ' =ЕСЛИ(С1К>',.СУММ(СК.С11).") =ЕСЛИ(С12<>~ ,СУММ(С J2. С12). ~) Л 1 \а 1 >\г* Рис. 11.12. С помощью функции ЕСЛИ можно скрыть суммы для пустых строк 232 Часть II. Формулы и функции
|^к Эту рабочую книгу можно найти на прилагаемом компакт-диске. На компакт- диске ^Щ Суммирование п наибольших значений В некоторых ситуациях необходимо просуммировать п наибольших значений из заданного диапазона, например 10 наибольших значений. Один из способов решения этой задачи — сортировка значений данного диапазона в убывающем порядке и суммирование первых 10 значений отсортированного диапазона. Следующая формула массива решает эту задачу без сортировки значений: {=СУММ(НАИБОЛЬШИЙ(Данные;{l;2;3;4;5;6;7;8;9;10}))} Эта формула суммирует 10 наибольших значений из диапазона с именем Данные. Чтобы просуммировать L0 наименьших значений, вместо функции НАИБОЛЬШИЙ следует воспользоваться функцией НАИМЕНЬШИЙ, как сделано в следующей формуле: {=СУММ(НАИМЕНЬШИЙ(Данные;{l;2;3;4;5;6;7;8;9;10}))} Здесь вторым аргументом в функциях НАИБОЛЬШИЙ и НАИМЕНЬШИЙ является массив констант. Если само значение п достаточно велико, то перечислять значения от 1 до п утомительно. Этого можно избежать, если немного изменить приведенные формулы следующим образом (здесь суммируются 30 наибольших значений): {=СУММ(НАИБОЛЬШИЙ(Данные;СТРОКА(ДВССЫЛ("1:30"))))} Формулы условного суммирования Иногда простые формулы суммирования не решают полностью ваших задач. В этом разделе описаны приемы условного суммирования, которые помогут решать более сложные задачи. Условное суммирование с одним критерием При условном суммировании значения, которые складываются, должны удовлетворять определенным критериям. В этом разделе рассмотрим формулы суммирования с одним критерием. Для построения таких формул полезна функция СУММЕСЛИ. Она имеет три аргумента: ■ диапазон, содержащий значения, определяющие ячейки, включаемые в сумму, ■ критерий, или выражение, определяющее ячейки, включаемые в сумму, ■ диапазон суммирования (необязательный аргумент), указывающий диапазон ячеек, значения которого должны суммироваться. Если этот аргумент опущен, суммируются значения из диапазона, указанного в первом аргументе. На рис. 11.13 показан рабочий лист, содержащий формулы, в которых используется функция СУММЕСЛИ. Здесь в столбце F содержатся формулы, вычитающие данные столбца Е из соответствующих данных столбца D (отрицательные разности указывают на прошлые платежи). В приведенных ниже формулах используются имена диапазонов, совпадающие с заголовками столбцов, расположенными в первой строке. Глава 11. Формулы подсчета и суммирования 233
А 1 Номере* ~5~iAK-0145 3 АК-0189 ~4~1АК-0220 s ак-оэю ~$ 1ЛК 0356 1 A" D409 ТАК-0581 9 АК-0609 11 Р'ВГО "til 14, В ia Пославши* Орегон Калиф Васин Орегон Васин Васин Орегон Орегон * С Сумма 5 000р 450р 65 430р 65 400р 8 700р. 4 530р 12 300р. 5 430р. j 256 780р Да! _ И « ■ «1^|Ь*Т1 , J платежа! 03 апр 21 апр т 30 май 01 .ИЮН е 1 f о егодня Раэносп. 16 май -43 16 май: -25 16 май -16 16 май -13 16 май 0 16 май 4 16 май 14 16 май 16 1*1 ■-, J -lOlxl , 'Т ——Я J jjr| Рис. 11.13. Рабочий лист, на котором показано несколько формул условного суммирования Суммирование отрицательных значений Следующая формула возвращает сумму отрицательных значений в столбце F: =СУММЕСЛИ(Разность;"<0") Поскольку здесь в функции СУММЕСЛИ третий аргумент опущен, будут суммироваться значения диапазона Разность. ^— Для суммирования отрицательных значений из диапазона Разность можно также 1^ использовать формулу массива На заметку {=СУММ(ЕСЛИ(Разность<0;Разность))} Если вы хотите сделать формулу условного суммирования более гибкой, можно критерий отбора значений записывать не в формуле суммирования, а в отдельной ячейке, например G2. Тогда приведенная выше формула запишется так: =СУММЕСЛИ(Разность;G2) Изменяя критерий в ячейке G2, вы будете получать новые значения суммы. Суммируемые и проверяемые значения принадлежат разным диапазонам В следующем примере значения диапазона суммирования определяются на основе значений, принадлежащих другому диапазону. Подсчитаем сумму прошлых платежей в столбце С. =СУММЕСЛИ(Разность;"<0";Сумма) Эта формула использует значения из диапазона Разность для определения значений в диапазоне Сумма, подлежащих суммированию. ^-» Такой же результат можно получить с помощью следующей формулы массива: Назаметку {=СУММ(ЕСЛИ(Разность<0;Сумма) ) } / 234 Часть II. Формулы и функции
Критерий суммирования на основе сравнения текста Для определения суммируемых значений можно использовать результаты сравнения текстовых элементов. Например, следующая формула возвращает общую сумму платежей поставщику Орегон: =СУММЕСЛИ(Поставщик;"=Орегон";Сумма) Обратите внимание, что использовать знак равенства не обязательно. Поэтому следующая формула эквивалентна предыдущей: =СУММЕСЛИ(Поставщик;"Орегон";Сумма) Следующая формула суммирует суммы платежей всем поставщикам, за исключением Орегон: =СУММЕСЛИ (Поставщик; "оОрегон" ;Сумма) Критерий суммирования на основе сравнения дат Приведенная ниже формула складывает суммы платежей, датированных после 30 мая. =СУММЕСЛИ(Дата_Платежа;">=1.06";Сумма) Отметим, что здесь второй аргумент в функции СУММЕСЛИ является выражением, определяющим условие отбора суммируемых значений. Следующая формула возвращает суммы будущих платежей, срок которых превышает текущую дату: =СУММЕСЛИ(Дата_Платежа;">="&СЕГОДНЯ();Сумма) Условное суммирование на основе нескольких критериев В примерах предыдущего раздела для отбора суммируемых значений использовался один критерий. В этом разделе приведем примеры условного суммирования на основе нескольких критериев. Поскольку функция СУММЕСЛИ не позволяет работать с несколькими критериями, будем использовать формулы массивов. Примеры данного раздела показаны на рис. 11.14. Суммирование при выполнении всех критериев Предположим, вы хотите подсчитать сумму всех прошлых платежей поставщику Орегон. Другими словами, необходимо просуммировать значения из диапазона Сумма, для которых выполняются одновременно два условия: ■ соответствующее значение в диапазоне Разность отрицательное; ■ в соответствующих ячейках диапазона Поставщик содержится текст "Орегон". Следующая формула выполняет нужное суммирование: (=СУММ((Разность<0)*(Поставщик="Орегон")*Сумма)} Глава 11. Формулы подсчета и суммирования 235
I i'i i ■ ..-—ZZ I * 1 Номер счета 2 «K-0U5 3_*ЧС-01в9 4 'У 0220 5 *К-0310 Т« -0356 f~UK-0409 8 АУ-0561 6*ЛК0609 10 ЛК 0789 Г Лоаав.< Орегон Калиф васин Орегон Васин Васин Орегон Орегон Калиф ■ - ;;• . с > Сумме 5 000р 450р 65 4Э0Р 65 400р 8 700Р 4 530Р 12 ЗООр 5 430р 69 540р "5 .. Й .1 f : Дата платежа Сегодня Разносль -ialxi ОЗэпр 21 алр ЗОапр 03 мэй 16 май 20i май 30 май 01 ион 05 ион: 16 май 16 май 16 май 16 май 16 май 16 май 11 всего 256 780р Я -97 =СУ*МЕСЛИ(Разносп>;"«0") -97(=СУММ(ЕСЛИ(Разнос1ь-0,Раэность») 136 280р ='СУММЕСЛИ(Разность;-«0*,Сумма) 168 650р =СУММЕСЛИ(ПоставщиС<>Орегон",Сумма) Я| - р -СУММЕСЛИ(Дата_ппатежа;»=1 06\Сумиа)" %С н 70 400р (=СУММ((Рэзность-0)*СПоставщи«="ОрегО1Г)"Сумиа)1 В 154 ОЮр (=СУММ№СЛИ(СПоста1щи«="Орегон-).(Раэность«Ь).1.0)-Сумма)} ШЛ 70 850р НСУНМ(^аэность<0)*ЕСЛИ((^ставь^к="Орегон^*(Посгавщи1(^Калиф,^.1.0)*Суыыа)} 1 * "•fN.P!?«Ti /~ ш Рис. 11.14. Примеры условного суммирования Эта формула в памяти компьютера создает два логических виртуальных массива: ■ в первом значения ИСТИНА будут соответствовать отрицательным значениям диапазона Разность, в противном случае значения массива будут ЛОЖЬ; ■ во втором значения ИСТИНА будут соответствовать значениям диапазона Поставщик, равным "Орегон", в противном случае значения массива будут ЛОЖЬ. Логические значения перемножаются по правилам ИСТИНА * ИСТИНА = 1 ИСТИНА * ЛОЖЬ = 0 ЛОЖЬ * ЛОЖЬ = О Поэтому значения из диапазона Сумма умножаются на 1 только тогда, когда оба соответствующих значения в виртуальных массивах равны ИСТИНА. Иначе они умножаются на 0. Суммирование при выполнении хотя бы одного критерия Предположим, вы хотите подсчитать сумму всех прошлых платежей или платежи поставщику Орегон. Другими словами, необходимо просуммировать значения из диапазона Сумма, для которых выполняется хотя бы одно из следующих условий: ■ соответствующее значение в диапазоне Разность отрицательное; ■ в соответствующих ячейках диапазона Поставщик содержится текст "Орегон". Следующая формула выполняет нужное суммирование: {=СУММ(ЕСЛИ((Разность<0)+(Поставщик="Орегон");1;0)*Сумма)} Здесь знак "плюс" соединяет критерии (выполняет роль логической функции ИЛИ). Подобным образом можно соединить несколько критериев. Комбинирование критериев Для создания нужных формул условного суммирования комбинировать критерии, которые должны выполняться все одновременно, и критерии, среди которых должен выполняться хотя бы один, совсем несложно. Допустим, необходимо просуммировать значения из диапазона Сумма при выполнении следующих условий: 236 Часть II. Формулы и функции
■ соответствующие значения в диапазоне Разность должны быть отрицательными; ■ в соответствующих ячейках диапазона Поставщик должен быть текст "Орегон" или "Калиф". Следующая формула будет суммировать значения из диапазона Сумма при выполнении этих критериев: {=СУММ((Разность<0) *ЕСЛИ((Поставщик="Орегон") + (Поставщика"Калиф");1;0)*Сумма)} Глава 11. Формулы подсчета и суммирования 237
ГЛАВА В этой главе... Основы формул просмотра и поиска Функции просмотра и поиска Создание формул для просмотра и поиска Использование формул просмотра и поиска Формулы просмотра и поиска значений |^в\ процессе работы в Excel часто возникает задача из- *—" влечения нужных данных из рабочих таблиц. В Excel предлагается несколько функций, предназначенных для этих целей; они рассматриваются в данной главе. Но, кроме стандартных методов просмотра и поиска значений, будут также представлены другие методы, которые в определенных ситуациях можно использовать вместо стандартных. Основы формул просмотра и поиска Формулы просмотра и поиска возвращают значение из таблицы на основании других значений этой же таблицы. Эти действия подобны поиску нужного номера в телефонном справочнике. Для этого вы сначала просматриваете справочник в поиске нужной фамилии и, только найдя ее, получаете номер телефона. На рис. 12.1 показан простой рабочий лист, содержащий несколько формул просмотра и поиска. Начиная с 9-й строки на этом листе расположена таблица, содержащая данные о работниках некой гипотетической конторы и названная РабДанные. После ввода фамилии в ячейку С2 формулы поиска, введенные в ячейки D2:G2, извлекут всю информацию об этом работнике из таблицы данных. Эти формулы имеют вид D2: Е2: F2 G2 =ВПР(С2;РабДанные;2;ЛОЖЬ) =ВПР(С2;РабДанные;3;ЛОЖЬ) =ВПР(С2;РабДанные;4;ЛОЖЬ) =ВПР(С2;РабДанные;5;ЛОЖЬ)
Василий Маркетинга Отдел Отдел I Табельным номврТДата поруппенкя! - -3 ВПР(С2.РаВДанныв. 2. ЛОЖЬ) ВПР(С2.Ра6Данные,3,ЛОЖЬ) ВПР(С2.Ра6Данные 4 ЛОЖЬ) ВПР^РабДанные.Б ЛОЖЬ) Администрация Табельный номер лцминистрация Продаж 'з даж Пг изводственный Производствен! Производственный Маркетинга Администрация Маркетинга Маркетинга 1270 Дата поступления 20 11 1993 : V**-*1 л УТР /ГПР /ПРОСМОТР I TOt«rxr>33Lj»WKC / и\ , ( t Й1Й Рис. /2. У. Формулы просмотра в строке 2 извлекают информацию из таблицы данных, соответствующую значению ячейки С2 В этом примере использовано четыре формулы для извлечения нужной информации. Во многих случаях необходимо получить только одно значение из таблицы данных, для чего достаточно одной подобной формулы. Не забудьте присвоить имя таблице данных перед созданием формул. Именам Совет диапазонов в Excel соответствуют абсолютные ссылки, что облегчает копирование формул. Несколько слов о примерах этой главы В большинстве примеров в этой главе аргументами функций являются поименованные диапазоны. Если вы будете использовать формулы, приведенные в примерах, в своих рабочих книгах, либо замените адреса поименованных диапазонов, либо в формулах укажите другие диапазоны. Функции просмотра и поиска В Excel предусмотрено несколько функций, которые можно использовать для создания формул просмотра и поиска значений в таблице данных. Наиболее часто используемые функции этой категории кратко описаны в табл. 12.1. Таблица 12.1. Функции просмотра и поиска Функция Назначение ВПР Просматривает левый столбец массива в поисках заданного значения и возвращает значение из ячейки, находящейся на пересечении строки с найденным значением и указанного столбца ВЫБОР Выбирает значение из списка значений аргументов (число аргументов может достигать 29) ГПР Просматривает верхнюю строку массива в поисках заданного значения и возвращает значение из ячейки, находящейся на пересечении столбца с найденным значением и заданной строки Глава 12. Формулы просмотра и поиска значений 239
Окончание табл. 12.1 Функция Назначение ЕСЛИ Возвращает одно значение, если условие истинно, и другое в противном случае ИНДЕКС Использует номер элемента массива (индекс) для выбора значения из ссылки или из массива ПОИСКПОЗ Ищет значения в ссылке или в массиве ПРОСМОТР Ищет значения в векторе или в массиве СМЕЩ Возвращает ссылку, смещенную относительно заданной ссылки Использование функции ЕСЛИ Функция ЕСЛИ обладает большой гибкостью, поэтому ее можно эффективно использовать в простых моделях принятия решений. На рисунке ниже представлен список абитуриентов (столбец А) со значениями баллов (столбец В), которые набрали эти абитуриенты на вступительных экзаменах. Нужно определить, кто поступил, а кто — нет. В столбце С находятся формулы, которые используют функцию ЕСЛИ и возвращают текстовые значения: Поступил (если количество баллов 65 или более) и Провалился (если количество баллов меньше 65). Например, в ячейке С2 находится такая формула: =ЕСЛИ(В2>=65;"Поступил";"Провалился") А В 1 Ани' ур нент Баллы J2_r0uec 82 3 -елли 57 4 Мартинсон 73 5 Эсвальд 54 6 ■эегинсон 62 7 Элисон 72 8 ■ амадсон 63 9 10 И 4 » и\Пмст1/ С D Ре1упьтат Поступил Провалился Поступил Провалился Поступил Поступил Провалился .Inlxt Е F С Н IT =ЕСЛИ(В2>=65. "Поступил". "Провал ился") =ЕСЛИ(ВЗ>=€5;Т1остулнл\"Провалился") =ЕСЛИ(В4>=€5; "Поступил". "Провалилс я") =ЕСШ(В5>^;"Поетуг1ил*;"Провэлился") =ЕСЛИ(В6>=65. "Поступил". "Провалился^ =Е СЛИ(В7>=65,'Поступил"; "Провалил ся-) =ЕСЛИ(ВЭ>=65. "Поступил". "Провалился") 1*1 1 ИГ Чтобы выполнить операцию множественного выбора (более двух вариантов), можно использовать вложенные друг в друга функции ЕСЛИ. Например, следующая формула возвращает одну из четырех текстовых строк: Отлично, Хорошо, Удовлетворительно, Неудовлетворительно. =ЕСЛИ(В2>=90;"Отлично";ЕСЛИ(В2>=70;"Хорошо"; ЕСЛИ(В2>=50;"Удовлетворительно";"Неудовлетворительно"))) Максимально допустимая глубина вложенности в Excel — семь уровней. Но следует учитывать, что разобраться в формуле, в которой глубина вложенности более трех уровней, очень сложно. В этих случаях лучше использовать одну из функций поиска. Создание формул для просмотра и поиска В этом разделе описано, как создавать формулы, которые позволяют просматривать значения в столбце или строке и возвращают соответствующие значения. Для выполнения таких операций в Excel используется три функции: ГПР, ВПР и ПРОСМОТР. Функции ПОИСКПОЗ и ИНДЕКС, как правило, используются вместе в формулах, которые возвращают искомое значение или ссылку на ячейку. 240 Часть II. Формулы и функции
Извлечение значений из столбцов таблицы Чтобы извлечь какое-либо значение из таблицы, основываясь на значении из первого столбца этой же таблицы, обычно используется функция ВПР. Эта функция просматривает таблицу по столбцам сверху вниз. Функция ВПР имеет следующий синтаксис: ВПР(искомое_значение;таблица;номер_столбца;параметр_просмотра) ■ Искомое_значение — значение, которое ищется в первом столбце таблицы. ■ Таблица — диапазон ячеек, содержащий просматриваемую таблицу. ■ Номер_столбца — номер столбца, из которого возвращается значение, если значение в первом столбце данной строки совпадает с аргументом искомое_значение. ■ Параметр_просмотра — необязательный логический аргумент; если он равен ИСТИНА или опущен, то допускается неточное совпадение значения в первом столбце отсортированной таблицы со значением аргумента искомое_значение (если точного совпадения нет, то принимается наибольшее значение, которое меньше чем искомое_значение). Если этот аргумент равен ЛОЖЬ, то ищется точное совпадение значения в первом столбце со значением аргумента искомое_значение; если такого совпадения нет, возвращается значение ошибки #Н/Д. ^^^* Если аргумент параметр_просмотра равен ИСТИНА или опущен, значения На заметку в первом столбце таблицы должны быть отсортированы в возрастающем порядке. Если наименьший элемент в первом столбце меньше значения аргумента ^ искомое_значение, возвращается значение ошибки #Н/д. Если аргумент параметр_просмотра равен ЛОЖЬ, сортировка значений первого столбца не обязательна, поскольку ищется точное совпадение значений в первом столбце и искомое_значение. При отсутствии точного совпадения возвращается значение ошибки #Н/Д. Классический пример использования формулы просмотра — определение ставки налога по значению прибыли, как показано на рис. 12.2. Здесь формула в ячейке ВЗ возвращает значение ставки налога: =BnP(B2;D2:F2;3) В данном примере просматриваемая таблица D2:F7 состоит из трех столбцов. Поскольку третий аргумент в функции ВПР равен 3, формула возвращает значение из третьего столбца этой таблицы. Отметим, что здесь не требуется точного совпадения искомого значения и значения в первом столбце. Если нет точного совпадения, функция ВПР использует наибольшее значение, которое меньше искомого. Прибыль больше или равна.. _0£ 2 651] 27Х1р 58 501р. 131 В01р 284 701 р ВЗ: =ВПР(В2;Ш:Г7;31 " I но меньие. чем... 2 650р 27 300р. 58 500р 131300Р 284 700р. '■. Рж1, ВПР . ГПР / ГРОСМОТР / fKMtxnoS ШЯ&С / 111 Ставка налога 1500% 2BOJ% 31100% 3600% 3960% 45j5% -ipfxl i\ J »]J* Рис. 12.2. Использование функции ВПР для определения ставки налога Глава 12. Формулы просмотра и поиска значений 241
Извлечение значений из строк таблицы Для выполнения этой задачи используется функция ГПР, которая работает так же, как ВПР, за исключением того, что она просматривает таблицу построчно слева направо, т.е. по горизонтали, а не по вертикали, как это делает функция ВПР. Функция ГПР имеет следующий синтаксис: ГПР(искомое_значение;таблица;номер_строки; параметр_просмотра) ■ Искомое значение — значение, которое ищется в первой строке таблицы. ■ Таблица — диапазон ячеек, содержащий просматриваемую таблицу. ■ Номер_строки — номер строки, из которой возвращается значение, если значение в первой строке данного столбца совпадает с аргументом искомое_значение. ■ Параметр_нросмотра — необязательный логический аргумент; если он равен ИСТИНА или опущен, то допускается неточное совпадение значения в первой строке отсортированной таблицы со значением аргумента искомое_значение (если точного совпадения нет, то принимается наибольшее значение, которое меньше чем искомое_значение). Если этот аргумент равен ЛОЖЬ, то ищется точное совпадение значения в первой строке со значением аргумента искомое_значение; если такого совпадения нет, возвращается значение ошибки #Н/Д. Обратите внимание: значение аргумента искомое_значение является текстом, Совет поэтому в нем можно использовать подстановочные символы * и ?. . N На рис. 12.3 показан пример применения функции ГПР для определения ставки налога по значению прибыли в просматриваемой таблице (диапазон E1:J3). В ячейке ВЗ находится следующая формула: =rnP(B2;El:J3;3) ' г " Ч Т Т 1 1 ■ 2 Сумм» гонбып» 123 403р 3 1 Ставка налога] 36JOO% Прибыль Ёольне или равна... но меньше, чем... Ставка налога ? 9 к • » «\>«я/>™хП»>/ПР0р»)Г»/ГУ»О1ГЛ.1»Ч£ГС / мя ■ 1 1 ...s^ ЩЯ . Е Е |. , Н 1 } Ор 2 650[ 15 00% 2 651 р. 27 300р. 28.00% 27 301р. 58 500р. 3100% 58501р 131 ВСОр 3600% 131 eoip 284 700Р 39 60% ... 284 701р 4525% ----- ы ~Ш1*1 * 3 п =1 1 1 А Рис. 12.3. Пример использования функции ГПР для определения ставки налога Извлечение значений из таблицы с помощью функции ПРОСМОТР Функция ПРОСМОТР подобна функциям ВПР и ГПР, но имеет другой синтаксис и осуществляет поиск в таблицах, состоящих только из одного столбца или одной строки1. Функция ПРОСМОТР имеет следующий синтаксис: Функция ПРОСМОТР имеет две синтаксические формы: векторную и форму массива. Здесь описывается функция ПРОСМОТР в векторной форме. —Прим. ред. 242 Часть II. Формулы и функции
ПРОСМОТР(искомое_значение; просматриваемый_вектор,- вектор_результата) ■ Искомое_значение— значение, которое ищется в векторе просматриваемый^ вектор. ■ Проематриваемый_вектор — диапазон ячеек, который состоит из одной строки или одного столбца и в котором ищется значение. ■ Вектор_результата — диапазон ячеек, который состоит из одной строки или одного столбца и значение из которого возвращается функцией. ^^^^ Значения в диапазоне просматриваемый_вектор обязательно должны быть от- На заметку сортированы в возрастающем порядке. Если искомое значение меньше первого значения в просматриваемом векторе, возвращается значение ошибки #Н/Д. / Внимаш имание) Функция ПРОСМОТР всегда выполняет приблизительное сравнение, а не точное, т.е. работает так, как функции ВПР и ГПР при опущенном последнем аргументе. На рис. 12.4 вновь показана таблица со ставками налога на прибыль. Теперь для извлечения соответствующего значения ставки налога в ячейке ВЗ используется формула =ПРОСМОТР(В2;D2:D7;F2:F7) Если значения в просматриваемом векторе не отсортированы в возрастающем порядке, то можно получить неверный результат. ' . а е с ' 2 (умна прибыли 123403р 3 Ставка налита Э6ДО% 4 5 е 7 8 ВЗ: =ПРОСМОТР(Вгс 1» Прибыль больше или равна... Ор. 2 651р. 27 301р. 58 501 р. 131801b 284 7GIP 2:D7:F2:F7) 1| 12 е^. не мвкьве, чем... 2 650р. 27ЭО0р 58 500р. 131 800в 284 700b. F G.- Ставка налога 15Д1% 28.00% 31.00% 36.00% 39.60% 45,25% . Лф|х| 1 И Г' . .ИГ Рис. 12.4. Использование функции ПРОСМОТР для определения ставки налога Заметьте, что в функцию ПРОСМОТР нужно передавать ссылки на два диапазона (просматриваемый и содержащий результирующие значения). С другой стороны, в функцию ВПР нужно передавать только одну ссылку на таблицу. Столбец, содержащий результирующие значения, определяется третьим аргументом, который может быть либо числом, либо ссылкой на ячейку. Глава 12. Формулы просмотра и поиска значений 243
Поиск значений с помощью функций ИНДЕКС и П0ИСКП03 Функции ИНДЕКС и ПОИСКПОЗ часто используются совместно для поиска и извлечения значений из таблиц. Преимущество их совместного применения (по сравнению с функциями ВПР, ГПР и ПРОСМОТР) состоит в том, что при сравнении значений они позволяют использовать символы подстановки, что не позволяют делать другие функции. Функция ПОИСКПОЗ возвращает местоположение ячейки, значение в которой приблизительно совпадает с искомым, а функция ИНДЕКС возвращает значение ячейки, используя для ее поиска значения смещения строк и столбцов в таблице. Функция ПОИСКПОЗ имеет синтаксис ПОИСКПОЗ(искомое_значение;просматриваемый_вектор; тип_сравнения) ■ Искомое_значение— значение, которое ищется в векторе просматриваемы^ вектор и может содержать символы подстановки * и ?. ■ Просматриваемый_вектор — диапазон ячеек, в котором ищется искомое значение. ■ Тип_сравнения — целое число (—1, 1 или 0), определяющее, как будет осуществляться сравнение искомого значения и значения в просматриваемом векторе. Если аргумент тип_сравнения равен 1, то функция ПОИСКПОЗ находит наибольшее значение, которое меньше или равно аргументу искомое_значение. При этом просматриваемый массив должен быть упорядочен по возрастанию. Если этот аргумент равен 0, то функция находит первое значение, которое в точности равно аргументу искомое_значение, при этом просматриваемый массив может быть не упорядочен. Если тип_сравнения равен -1, то функция ПОИСКПОЗ находит наименьшее значение, которое больше или равно аргументу искомое_значение. В этом случае просматриваемый массив должен быть упорядочен по убыванию. Если аргумент тип_сравнения опущен, то по умолчанию он считается равным 1. Функция ИНДЕКС имеет синтаксис ИНДЕКС (массив ;номер_строки,-номер_столбца) ■ Массив — диапазон ячеек. ■ Номер_строки — номер строки в массиве. ■ Номер_столбца — номер столбца в массиве. Если массив состоит только из одной строки или столбца, то соответствующий Совет аргумент (номер_строки или номер_столбца) можно опустить. На рис. 12.5 показан рабочий лист, где для поиска и извлечения значения из таблицы использованы функции ИНДЕКС и ПОИСКПОЗ. Если ввести значение даты в ячейку В1, фор- 2 Эта функция имеет две синтаксические формы: ссылочную и массива. Функция ИНДЕКС в ссылочной форме возвращает ссылку на ячейку, а в форме массива — значение ячейки или массива значений. Здесь описана функция в форме массива. — Прим. ред. 244 Часть II. Формулы и функции
мула в ячейке В2 найдет эту дату в столбце D и вернет соответствующее значение из столбца F В ячейке В2 содержится формула =ИНДЕКС(F2:F21;ПОИСКПОЗ(B1;D2:D21;0)) 1 цата 17 01.2005 2 Сумма 937 3 4 [ 6 11 12 13 м 15 17 18 19~ 20 21 Днв Кавнь неаели 03 012002 04 012002 07 012002 08 012002 09.01.2002 10 012002 11 01.2002 14 012002 15 012002 16 012002 17 01 2002 18 01 2002 21 01.2002 22.01 2002 24.01.2002 25 012002 28 01 2002 29 01 2002 Э0012О02 четверг пятница понедельник вторник среда четверг пятница понедельник вторник среда четверг пятница понедельник вт. рник четверг пятница понедельник вторник среда 22 23 » • • «\?иси»ЕЛ38_, U J г 4 flflsMj 14Е 258 357 684 520 258 845 976 321 654 967 123 456 789 753 951 357 485 625 В2: -HHflEKC(F2:F21;nOMCKn03(B1.D2 D21 0)) j, ^ -1Ых|| ■с ■- J _Ш Рис. 12.5. Совместное использование функций ИНДЕКС и ПОИСКПОЗ Чтобы понять, как работает эта формула, рассмотрим сначала, что возвращает функция ПОИСКПОЗ. Эта функция просматривает диапазон D2:D21 для поиска даты, совпадающей с датой, записанной в ячейке В1, и возвращает номер строки, в которой найдено совпадение. Этот номер строки используется как второй аргумент в функции ИНДЕКС, которая возвращает соответствующее значение из диапазона F2:F21. Ячейки: пустые и содержащие ноль Функции поиска и просмотра Excel считают, что пустые ячейки содержат нулевое значение. На рисунке ниже показана таблица, состоящая из двух столбцов. Следующая формула (находится в ячейке В2) ищет в таблице имя, заданное в ячейке В1 и возвращает соответствующее значение: = BnP(Bl,-D2:E8;2) Заметьте, что ячейка справа от имени Гарри пустая, но формула возвращает нулевое значение. Если необходимо отличать ячейки с нулевыми значениями от пустых ячеек, следует изменить формулы просмотра, добавив функцию ЕСЛИ для проверки того, имеет ли содержимое Глава 12. Формулы просмотра и поиска значений 245
ячейки длину 0 или нет. Если ячейка пуста, длина ее содержимого равна нулю, во всех других ситуациях длина содержимого больше нуля. Следующая формула решает эту проблему. Если результирующая ячейка пустая, формула также вернет пустую строку, в противном случае вернет содержимое ячейки. =ЕСЛИ(ДЛСТР(ВПР(В1;П2:Е8;2))=0;"";( ВПР(B1;D2:Е8;2))) Ниже приведена еще одна формула, аналогичная предыдущей (содержится в ячейке ВЗ). = ЕСЛИ(ВПР(B1;D2:E8;2)=""; " " ,- (ВПР (В1,- D2 :Е8 ; 2 ) ) ) Использование формул просмотра и поиска Формулы просмотра и поиска можно использовать для решения более сложных задач, чем показано в предыдущем разделе. Например, можно осуществлять поиск искомого значения не только в первом столбце таблицы, выполнять сравнение с учетом регистра символов, возвращать значения из нескольких просматриваемых таблиц, а также решать другие сложные и специальные задачи поиска. Решение подобных задач рассматривается в следующих разделах. Поиск точного совпадения В некоторых ситуациях требуется точное совпадение между просматриваемым и искомым значениями. Например, если нужно найти фамилию служащего по его табельному номеру, очевидно, что заданный номер должен в точности совпадать с табельным. Функции ВПР и ГПР по умолчанию (если опушен четвертый аргумент) не требуют точного совпадения. Для того чтобы функции ВПР и ГПР выполняли точное сравнение между просматриваемым и искомым значениями, четвертый (необязательный) аргумент должен быть определен равным логическому значению ЛОЖЬ. На рис. 12.6 показана таблица, которая содержит список табельных номеров служащих (столбец D) и их фамилии (столбец Е). Эта таблица названа Данные. Формула в ячейке В2 ищет в первом столбце таблицы значение из ячейки В1 и возвращает соответствующую фамилию. =ВПР (В1,- Данные,- 2 ; ЛОЖЬ) Рис. 12.6. Поиск значения, которое в точности совпадает с искомым Если последний аргумент в функции ВПР равен ЛОЖЬ, то эта функция возвратит значение только при наличии точного совпадения искомого значения и одного из значений в первом столбце таблицы. Если точного совпадения нет, функция возвращает значение ошибки #Н/Д. В данном случае, это именно то, что нужно, поскольку неточное совпадение не имеет смысла. Обратите внимание, что табельные номера в столбце D не упорядочены. 246 Часть II. Формулы и функции
Чтобы вместо значения ошибки #Н/Д вывести другое сообщение, можно воспользоваться функцией ЕСЛИ для анализа полученного результата. Чтобы определить, что функция возвращает значение ошибки, используется функция ЕНД. Например, следующая функция вместо значения #Н/Д вернет текст Не найден: =ЕСЛИ(ЕНД(ВПР(В1;Данные;2;ЛОЖЬ) ) ,-"Не найден" ;ВПР (В1; Данные; 2 ; ЛОЖЬ) ) Поиск в правом столбце Функция ВПР всегда ищет значения в первом столбце таблицы. Но иногда нужно выполнить поиск по какому-либо другому столбцу. В таком случае эту функцию использовать нельзя. На рис. 12.7 показана таблица, в которой представлены имена игроков (в столбце D, названном Игроки) и среднее число ударов по воротам (столбец С, которому присвоено имя Попадания). Предположим, по имени игрока требуется определить его среднюю результативность. В ячейке G1 находится фамилия искомого игрока. В этом случае использовать функцию ВПР нельзя, поскольку поиск нужно выполнять по значениям последнего столбца, а не первого. Конечно же, можно изменить порядок следования столбцов, но иногда этого сделать нельзя. Ударов по 1 | воротам 2 | 12 3 j 41 4 24 5 25 6] 26 7 30 в 0 в1 51 10 43 11 Зв 12 в 13 16 14 44 15 14 18 2в ВСЯ! Всего ударов 36 105 72 129 120 100 0 153 231 25В 27 51 129 49 87 17 1в ■__ __ С t 0 Попадании (в среднем) 0,333 0,390 0.333 0.198 0.217 0.300 0.000 0.333 0.1В6 0.140 0.333 0.314 0,341 0,266 0322 Игрок Арнольдов Брыкапов Будённые Васин Голубюв Гомес Грэфченко Ивенов Me идее Охотник Пей^ке^е Петин Рыбак Сидоров Юэенко -lOlxI Е I . F 0 .. Н. I Игрок Рыбак Попаданий 0.341 Ударов по воротам 44 Попаданий 0,341 (33 G4 G6 G7 Ударов по воротам 44- ^1POCMOTP(G1;ltrpoKH. Попадания) =ЛРОСМОТР(31;Игроки,УдарВорота) Ц^НДЕКС(Г^падания|ПОИСКПОЗ[01,Игроки.р)) =ИНДЕКС(УдарВорота.ПОИСКПОЭ(С1.Игроки.О)) ' hi i •t I* Рис. 12.7. Поскольку искомое значение находится в последнем столбце, функция ВПР не работает В этом случае можно использовать функцию ПРОСМОТР, которой нужно передать две ссылки на диапазоны. Следующая формула (ячейка G3) вернет значение средней результативности игрока, указанного в ячейке G1: =ПРОСМОТР(G1;Игроки;Попадания) Для того чтобы воспользоваться функцией ПРОСМОТР, нужно упорядочить фамилии игроков по алфавиту. Кроме того, если ввести в ячейку G1 фамилию игрока, которого нет в списке Игроки, то формула вернет неправильный результат. Поэтому лучше выполнять поиск с помощью функций ИНДЕКС и ПОИСКПОЗ. Следующая формула работает так же, как и предыдущая, с той лишь разницей, что она вернет значение ошибки #Н/Д, если фамилия искомого игрока не будет найдена. Эта формула обладает еще одним преимуществом: значения в диапазоне Игроки могут быть не упорядочены. =ИНДЕКС(Попадания;ПОИСКПОЗ(G1,-Игроки;0)) Глава 12. Формулы просмотра и поиска значений 247
Эту рабочую книгу можно найти на прилагаемом компакт-диске. На компакт- диске Сравнение с учетом регистра символов Функции поиска ВПР, ГПР и ПРОСМОТР при сравнении не учитывают регистр символов. На рис. 12.8 приведен простой пример. В диапазоне В6:В11 (названном Данные"!) приведен список имен, которые повторяются, но набраны прописными или строчными буквами. В диапазоне С6:С11 (названном Данные2) представлены некоторые числовые данные. Текст для поиска записан в ячейке В1 (названной Слово). Рис. 12.8. Формула массива, учитывающая при сравнении регистр символов Эту рабочую книгу можно найти на прилагаемом компакт-диске. На компакт- диске Следующая формула массива введена в ячейку В2. Она учитывает регистр букв, просматривает диапазон Данные1 и возвращает значение из диапазона Данные2: {=ИНДЕКС(Данные2;ПОИСКПОЗ(ИСТИНА;СОВПАД(Слово; Данные1);0))} Эта формула находит слово Борис и возвращает значение 1260. Стандартная формула на основе функции ПРОСМОТР возвратит значение 1280. =ПРОСМОТР(Слово;Данные!;Данные2) На замет la заметку После ввода формулы массива не забудьте нажать комбинацию клавиш <Ctrl+Alt+Enter>. Выбор значений из нескольких таблиц Конечно, на рабочем листе может быть любое число таблиц, откуда могут извлекаться данные. В некоторых случаях формулы должны "решать самостоятельно", из какой таблицы следует брать данные. Такая ситуация показана на рис. 12.9. 248 Часть II. Формулы и функции
Рис. 12.9. Рабочий лист содержит несколько таблиц, из которых извлекаются данные На этом рабочем листе вычисляются комиссионные от продаж и находятся две таблицы со значениями процентов комиссионных: G3:H9 (названная Таблица1) и J3:K8 (названная Таблица2). Процент комиссионных зависит от двух факторов: стажа продавца (столбец В) и объема продаж (столбец С). В столбце D находятся формулы, которые выбирают значения процента комиссионных из соответствующих таблиц в зависимости от этих факторов. Например, в ячейке D2 находится формула =ВПР(С2;ЕСЛИ(В2<3;Таблица1;Таблица2);2) В качестве второго аргумента функции ВПР используется функция ЕСЛИ, определяющая, в зависимости от значения в столбце В, таблицу, из которой будет извлекаться значение процента комиссионных. Формулы в столбце Е просто перемножают объемы продаж из столбца С и процент комиссионных из столбца D. Например, в ячейке Е2 содержится формула =C2*D2. ia компакт- Эту рабочую книгу можно найти на прилагаемом компакт-диске. На диске Определение оценки за тест Классическим примером использования таблицы поиска является задача определения оценки студента по его баллам. На рис. 12.10 показан рабочий лист, в котором содержатся баллы студентов. Таблица, по которой проводится поиск, находится в диапазоне E2:F5 (названном Шкала). |^^ Эту рабочую книгу можно найти на прилагаемом компакт-диске. В столбце С находятся формулы, которые с помощью функции ВПР определяют оценку на основе набранных баллов. Например, в ячейке С2 находится такая формула: =ВПР(В2;Шкала;2) Глава 12. Формулы просмотра и поиска значений 249
Рис. 12.10. Поиск оценки по баллам Если таблица, по которой проводится поиск, невелика (как в нашем примере), то вместо таблицы можно использовать массив. Следующая формула работает аналогично предыдущей, но вместо таблицы использует массив: =ВПР(В2;{0;2:50;3:70;4:90;5};2) Дополнительная информация по массивам представлена в главе 14. Дополнительная информация Аналогично можно использовать функцию ПРОСМОТР, в которой второй и третий аргументы будут массивами: =ПРОСМ0ТР(В2;{0;50;70;90};{2;3;4;5}) Извлечение данных на основе двух критериев Иногда требуется извлечь значение из таблицы данных, удовлетворяющее двум критериям. Например, необходимо определить объем продаж заданного товара за указанный месяц. Такая ситуация показана на рис. 12.11. Пользователь вводит имя месяца в ячейку В1, а название товара в ячейку В2. Приведенные ниже формулы из таблицы продаж извлекают соответствующую сумму продаж. . „ . Месяц Июль "Г Товар Товар В j*j Строка месяца 8 5 Столбец изделия 4 6 Продажи 2 397 7 8 . 9 Единая формула 2 397 1- ц 13 Я: 0 Январь Февраль Март Апрель Мам Июнь Июль Август Сентябрь Октябрь Ноябрь Декабрь Всего Товар А 5517 7065 5905 3 571 4 587 BS36 6 367 2 363 2250 2897 4 447 4735 60ESC 1Б Бе »ИНДЕКС(Т»влица В4 В5) 17 69 -ИНДЕКС(Та6лица.П0ИСКП03<М 18' W 9Сяц,Список_месяцы;0' 20 м 4 » и\Ли«т1/ F . V Товар Ь 2138 I486 1793 7 522 7360 5 097 6960 6546 7320 9 456 6 759 РЕ34 7БЮ- Товар В 7996 60Э0 4 777 6 414 4 473 6206 2 397 3601 6869 5 60S 6253 7161 71966 ■поискпс 3(Товар.Сг И -lOlxl Н Товар Г ( 954 6060 1222 9 011 10007 6 370 6296 1 304 7092 9554 5 927 4 173 75 872 исо«_то|э .0» 1 ^7j щ . АГ Рис. 12.11. Извлечение данных из таблицы на основе двух критериев 250 Часть //. Формулы и функции
На компакт- диске Эту рабочую книгу можно найти на прилагаемом компакт-диске. Чтобы упростить формулы, используются приведенные ниже имена диапазонов. Имя Диапазон Месяц В1 Товар В2 Таблица D1:H14 Список_месяцы D1 :D14 Список_товар D1 :Н1 Следующая формула, находящаяся в ячейке В4, с помощью функции ПОИСКПОЗ возвращает позицию значения Месяц в диапазоне Список_месяцы. Например, если в ячейке Месяц записано Январь, то эта формула вернет значение 2, поскольку "Январь" — второй элемент диапазона Список_месяцы (первый элемент в этом диапазоне — пустая ячейка D1). =П0ИСКП03(Месяц;Список_месяцы;0) Формула в ячейке В5 подобна приведенной, но работает с диапазоном Список_товар. =П0ИСКП03(Товар;Список_товар;0) Конечная формула в ячейке В6 возвращает соответствующее значение объема продаж. Здесь используется функция ИНДЕКС и результаты вычисления формул в ячейках В4 и В5. =ИНДЕКС(Таблица;В4;В5) Разумеется, все три приведенные формулы можно записать в виде единой формулы: =ИНДЕКС(Таблица;ПОИСКПОЗ(Месяц;Список_месяцы;0); ПОИСКПОЗ(Товар;Список_товар;0)) В Excel существует еще один способ выполнить поиск на основе двух критериев. Совет Для этого нужно присвоить имена для всех столбцов и строк таблицы. Чтобы быстро присвоить имена, выделите таблицу и выберите команду Встав- . каоИмя^Создать. Затем можно написать такую формулу: =Товар_В Июль Здесь используется оператор пересечения диапазонов (пробел). Формула возвращает объем продаж товара В за июль. Подробнее пересечение диапазонов рассматривается в главе 8. Извлечение данных на основе значений в двух столбцах В некоторых ситуациях требуется извлечь значение из таблицы данных, соответствующее определенной комбинации значений в двух других столбцах таблицы. Например, вы хотите найти телефонный номер в своей базе данных телефонных номеров по фамилии и имени абонента, причем фамилия и имя записаны в разных столбцах базы данных. Глава 12. Формулы просмотра и поиска значений 251
Подобная ситуация показана на рис. 12.12. Здесь на основании названия изделия и его модели необходимо определить код изделия. Рис. 12.12. Извлечение информации из таблицы на основе значений, расположенных в двух столбцах На компакт- диске Эту рабочую книгу можно найти на прилагаемом компакт-диске. Чтобы формулы были более понятны, используются приведенные ниже имена диапазонов. Имя Диапазон Код Изделие Модель Данные1 Данные2 F2:F12 В1 В2 D2:D12 Е2:Е12 Следующая формула массива отображает код изделия, соответствующий указанным названию и модели: {=ИНДЕКС(Код;П0ИСКП03(ИзделиеШодель;Данные1&Данные2;0))} В этой формуле объединяются значения ячеек Изделие и Модель и затем ищется совпадение этого объединенного текста с текстом в массиве, составленном из объединения текстов диапазонов Данные1 и Данные2. Определение адреса значения в диапазоне Все предыдущие формулы возвращали значение из таблицы данных. Но иногда требуется определить адрес ячейки, содержащей определенное значение. На рис. 12.13 показан рабочий лист, содержащий диапазон чисел С2:С20 и названный Данные. Ячейка В1, содержащая искомое значение, названа Цель. Формула в ячейке В2 возвращает адрес ячейки из диапазона Данные, содержащей значение Цель. =АДРЕС(СТРОКА(Данные)+ПОИСКПОЗ(Цель/Данные;О)-1;СТОЛБЕЦ(Данные)) 252 Часть II. Формулы и функции
Рис. 12.13. Определение адреса ячейки, содержащей искомое значение Если диапазон Данные представлен в виде строки, то формула несколько изменится. =АДРЕС(СТРОКА(Данные);СТОЛБЕЦ(Данные)+П0ИСКП03(Цель,-Данные;0)-1;) Эту рабочую книгу можно найти на прилагаемом компакт-диске. Если в диапазоне Данные есть несколько ячеек, значение которых совпадает со значением Цель, то возвращается адрес первой встреченной ячейки с этим значением. Если ни одно значение в диапазоне Данные не совпадает со значением Цель, возвращается значение ошибки #Н/Д. Поиск ближайшего значения Иногда необходимо найти значение, ближайшее к заданному. Хотя функции ВПР и ГПР допускают неточное совпадение значений, они при неточном совпадении возвращают наибольшее значение, меньшее искомого. Другими словами, эти функции как бы округляют искомое значение, но всегда с недостатком. На рис. 12.14 показан метод поиска ближайшего к заданному значения, независимо от того, превышает оно заданное или меньше его. Здесь диапазон В2:В20 назван Данные и содержит числовые значения. Ячейка Е2 названа Цель, она содержит искомое значение. В ячейке ЕЗ (названой Смещение) содержится значение смещения столбца с именами (столбец А) относительно диапазона Данные. Эту рабочую книгу можно найти на прилагаемом компакт-диске. На ко диске Приведенная ниже формула массива в диапазоне Данные ищет значение, ближайшее к значению, записанному в ячейке Цель, и возвращает соответствующее имя студента из столбца А. Глава 12. Формулы просмотра и поиска значений 253
{=ДВССЫЛ(АДРЕС(СТРОКА(Данные)+ПОИСКПОЗ(МИН(ABS(Цель- Данные));ABS(Цель-Данные);0)-1;СТОЛБЕЦ(Данные)+ Смещение))} Если в диапазоне Данные есть два значения, одинаково близкие к искомому, то возвращается первое встреченное в диапазоне. 3 Катерина 4 "еннади 5 Давид 6 Георгий 7 Дж и 9 Нора 11 Тьре- 12 Виктория 13 >Днтон М .Виктор 4 15 гАлекс IS Петр 20 Чук 9 873 Цепь 8025 Сн еден не -1 Студент Тереза (=ДВССЫЛ(Л0РЕС(СТРОКА(а»нные)+ПОИСКПОЗ (МИН'АВ5(Цель Данные)) АВЭ(Цель Данные) 0> 1 СТОЛБЕЦ(ДанныеЗ+ Смещение])} -Ю1*1 тяятттвт XiL Рис. 12.14. Пример поиска значения, ближайшего к заданному Значение смещения может быть отрицательным (для столбца, находящегося левее диапазона Данные), положительным (для столбца, находящегося правее диапазона Данные) или равным нулю (тогда вернется значение из диапазона Данные, ближайшее к искомому). Чтобы разобраться в этой формуле, нужно понимать, как работает функция ДВССЫЛ. Первым аргументом является текстовая строка (или ссылка на ячейку с текстом), которая выглядит как ссылка на ячейку. В данном случае такая строка формируется функцией АДРЕС, которая на основе номеров строки и столбца возвращает ссылку в виде текста. 254 Часть II. Формулы и функции
Формулы и функции для финансовых расчетов Н е секрет, что чаще всего Excel используется для всевозможных вычислений, связанных с финансовыми расчетами. Каждый день люди принимают тысячи решений, основываясь на результатах вычислений в электронных таблицах. Принимаемые решения могут быть как очень простыми (Могу ли я купить этот автомобиль ?), так и достаточно сложными (Окупятся ли инвестиции в компанию А за 18 месяцев?). В настоящей главе описаны основные приемы, применяемые в Excel для финансовых расчетов. Временные значения денег В зависимости от точки зрения, номинальное значение денег может быть различным. Ключевое понятие здесь — временное значение денег. Вычисления над денежными суммами могут выполняться в прошлом, настоящем или будущем. Выбор типа вычислений основывается на том, что сумма денег увеличивается, поскольку постоянно поступают начисления по процентам. Другими словами, вложив один рубль сегодня, завтра вы получите больше. Например, предположим, что богатенький заокеанский дядюшка решил подарить вам деньги, причем нужно выбрать один из следующих вариантов: ■ получить 80 000 рублей сегодня; ■ получить 95 000 рублей через год; ■ получить 120 000 рублей через пять лет; ■ получать 1 500 рублей каждый месяц на протяжении пяти лет. В этой главе... Краткий обзор функций Excel для финансовых расчетов Формулы для расчета параметров ссуды Формулы для расчета параметров инвестиции Обзор функций Excel для асчета амортизации
Чтобы получить максимальную сумму, нужно учитывать не только собственно номинальную сумму, но и временное значение этой суммы. Временное значение денег зависит от ваших возможностей и перспектив. Другими словами, вы можете быть либо кредитором, либо заемщиком. Когда вы берете ссуду на покупку автомобиля, то выступаете в роли заемщика, а учреждение, которое дает вам деньги, — в роли кредитора. Когда же вы вкладываете деньги в банк на сберегательный счет, вы — заемщик, поскольку занимаете свои деньги банку, а банк является вашим кредитором. С термином временное значение денег, связано еще несколько понятий. ■ Приведенная стоимость. Это основная (капитальная) сумма. Если на депозит в банке вкладывается 50 000 рублей, то эта величина представляет собой капитал, или приведенную стоимость вложенных денег. Если берется ссуда, размером 150 000 рублей на приобретение автомобиля, то данная сумма будет основной, или приведенной стоимостью ссуды. Приведенная стоимость может быть как положительной, так и отрицательной. ■ Будущая стоимость. Представляет собой сумму приведенной стоимости и начисленных по ней процентов. Если на депозитный счет в банке вкладывается 50 000 рублей на пять лет под 6% годовых, то в конце срока можно будет получить 63 123,80 рубля. Последняя сумма будет будущей стоимостью инвестиции. Если же берется ссуда на три года на покупку автомобиля в размере 150 000 рублей под 7% годовых, в конце срока нужно будет выплатить 166 731,60 рубля, т.е. основную сумму плюс проценты. Будущая стоимость, в зависимости от перспективы (кредитор или заемщик), может быть положительной или отрицательной. ■ Взнос. Взносом (платежом) может быть либо капитал, либо капитал и начисленные на него проценты. Если каждый месяц вкладывается 1 000 рублей на депозитный счет, то эта 1 000 рублей — взнос. Если для погашения ссуды ежемесячный взнос составляет 8 250 рублей, то он состоит из основной суммы и начисленных процентов. ■ Процентная ставка. Это часть основной суммы (в процентах), начисляемая за определенный период (как правило, за год). Например, деньги вложены на депозит с процентной ставкой 5,5% годовых. Или процентная ставка ссуды составляет 7,75% в год. ■ Период. Это промежуток времени, по истечении которого выплачиваются проценты (например, ежеквартальные выплаты по депозитам или ежемесячные выплаты по ссуде). ■ Срок. Промежуток времени, на который вкладываются или берутся в кредит деньги. Например, деньги вкладываются в банк на депозит на срок один год либо ссуда берется на 30 лет. Вычисление параметров ссуды Теперь рассмотрим, как осуществляются выплаты по ссудам. Следует помнить, что ссуда имеет следующие параметры: ■ объем ссуды; ■ процентная ставка; ■ количество выплат; ■ периодичность выплат. Если известны любые три параметра, можно создать формулу для вычисление четвертого параметра. 256 Часть II. Формулы и функции
-" Все вычисления в этом разделе выполняются для ссуды с фиксированными про- На заметку центной ставкой и сроком. Функции, применяемые для вычисления параметров ссуды В настоящем разделе рассматривается шесть функций: ПЛТ, ОСПЛТ, ПРПЛТ, СТАВКА, КПЕР и ПС. В табл. 13.1 представлено описание аргументов этих функций. Таблица 13.1. Аргументы функций для финансовых расчетов Аргумент Описание ставка Процентная ставка за один период. Если она выражена в процентах за год, то эту величину нужно разделить на количество периодов в году кпер Общее количество выплат (периодов) период Заданный период, который должен быть меньше или равен значению параметра кпер плт Взнос, который выплачивается каждый период (постоянная величина) бс Необязательный аргумент, равный будущей стоимости после последней выплаты. Если аргумент опущен, то он полагается равным нулю. (Например, будущая стоимость ссуды после ее погашения, очевидно, равна нулю.) тип Указывает, когда должна быть проведена выплата. Равен нулю, если выплата проводится в конце периода, и единице — если в начале. Это необязательный аргумент, который по умолчанию равен нулю Функция ПЛТ Эта функция позволяет рассчитать объем выплат по ссуде (основная сумма плюс проценты) за один период, полагая постоянными объем выплат и процентную ставку. Функция ПЛТ имеет такой синтаксис: ПЛТ(ставка;кпер;пс,-бс;тип) Следующая формула возвращает объем ежемесячных выплат по ссуде, размер которой 50 000 рублей, а процентная ставка составляет 6% годовых. Ссуда взята на срок четыре года (48 месяцев). =ПЛТ(0,06/12,-48;-50000) Вычислив формулу, получим, что объем ежемесячных выплат по ссуде равен 1 174,25 рублей. Обратите внимание: третий аргумент (пс — приведенная стоимость) отрицательный, это указывает на то, что деньги взяты в долг. Функция ОСПЛТ Эта функция возвращает основную часть выплат по ссуде за определенный период, подразумевая постоянными объем выплат и фиксированную процентную ставку. Функция ОСПЛТ имеет следующий синтаксис: ОСПЛТ(ставка;период;кпер;пс;бс;тип) Глава 13. Формулы и функции для финансовых расчетов 257
Следующая формула возвращает основную часть выплаты за первый месяц по ссуде 50 000 рублей, взятой под 6% годовых. Ссуда взята на срок четыре года (48 месяцев). =ОСПЛТ(0,06/12;1;48,-50000) Вычислив формулу, получим, что основная часть первой выплаты равна 924,25 рубля, или приблизительно 78,7% от общей суммы выплаты. Если в качестве второго аргумента ввести число 48 (для вычисления основной части последней выплаты), то формула вернет 1 168,41 рубля, т.е. приблизительно 99,5% от общей суммы выплаты. ^^^* Чтобы вычислить кумулятивную (накопленную) основную сумму, выплаченную На заметку между любыми двумя определенными периодами выплат, можно воспользоваться функцией ОБЩДОХОД, которая входит в состав надстройки Пакет анализа. Функция содержит два дополнительных аргумента: нач_период и кон_период. / Функция ПРПЛТ Эта функция вычисляет ту часть общей суммы выплат по ссуде, которая идет на выплату процентов, полагая постоянными объем выплат и процентную ставку. Функция ПРПЛТ имеет следующий синтаксис: ПРПЛТ(ставка;период;кпер;пс;бс;тип) Приведенная ниже формула вычисляет объем выплат по процентам для первой выплаты по ссуде, размером 50 000 рублей с процентной ставкой 6% годовых. Ссуда взята на 4 года (48 месяцев). =ПРПЛТ(0,06/12;1;48;-50000) После вычисления формулы получим, что сумма выплат по процентам составляет 250,00 рублей. Но объем выплат по процентам за последний период будет всего 5,84 рубля. Чтобы вычислить кумулятивную сумму выплат по процентам между двумя периодами, следует воспользоваться функцией ОБЩПЛАТ, которая станет доступной только после установки надстройки Пакет анализа. Функция содержит два дополнительных аргумента: нач_период и кон_период. Функция СТАВКА Эта функция позволяет вычислить периодичность, с которой начисляются проценты по ссуде по заданным общему количеству периодов выплат, объему выплат за один период и объему ссуды. Функция СТАВКА имеет следующий синтаксис: СТАВКА(кпер;плт;пс;бс;тип;предположение) Следующая формула вычисляет годовую процентную ставку для ссуды, размером 50 000 рублей, взятой на 48 месяцев. Объем выплат за один период составляет 1 174,25 рубля. =СТАВКА(48,-1174,25;-50000)*12 Формула вернет 6%. Заметьте, что результат, который возвращает функция, умножается на 12. Функция возвращает процентную ставку за период. Чтобы получить годовую процентную ставку, нужно умножить полученное значение на количество периодов выплат в году (в примере — на 12). 258 Часть II. Формулы и функции
Функция КПЕР Эта функция возвращает общее количество выплат по ссуде по заданным объему ссуды, процентной ставке и объему одной выплаты. Функция КПЕР имеет следующий синтаксис: КПЕР(ставка;плт;пс;бс;тип) Приведенная ниже формула вычисляет количество выплат по ссуде размером 50 000 рублей и объему выплаты, равному 1 174,25 рубля. Ссуда взята под 6% годовых. =КПЕР(0,06/12;1174,25;-50000) С небольшой погрешностью (меньше 0,0001) функция вернет число 48. Это значит, что всего будет проведено 48 выплат (за 48 месяцев). Полученный результат оказался неточным из-за того, что объем выплат указан с точностью до одной копейки, т.е. округлен. Функция ПС Эта функция вычисляет приведенную сумму ссуды по заданным процентной ставке, количеству периодов и объему одной выплаты. Функция ПС имеет такой синтаксис: ПС(ставка ;кпер;плт;бс,-тип) Следующая формула возвращает основной объем ссуды, взятой на 48 месяцев под 6% годовых. Объем выплаты равен 1 174,25 рубля. =ПС(0,06/12;48;-1174,25) Формула вернет 49 999,94 рубля. Поскольку объем выплаты указан с точностью до одной копейки, результат оказался с погрешностью в 0,06 рубля. Пример вычислений по ссуде На рис. 13.1 показан рабочий лист, используя который можно вычислить объем выплат по ссуде. В ячейке В1 находится объем ссуды, а в ячейке В2 — годовая процентная ставка. В ячейке ВЗ содержится длительность одного периода, выраженная в месяцах. Например, если в ячейке ВЗ находится число 1, это значит, что выплаты проводятся ежемесячно. Общее количество периодов хранится в ячейке В4. В примере, показанном на рис. 13.1, вычисляется объем выплат для ссуды, размером 100 000 рублей, взятой под 9,5% годовых на 36 месяцев. В ячейке В6 содержится следующая формула: =ПЛТ(В2*(ВЗ/12);В4;-В1) Обратите внимание: первым аргументом является выражение, которое вычисляет периодическую процентную ставку на основе значений годовой процентной ставки и периодичности Рис. 13.1. Вычисление объема выплат по ссуде с помощью функции ПЛТ Глава 13. Формулы и функции для финансовых расчетов 259
выплат. Поэтому если выплаты проводятся ежеквартально на протяжении трех лет, то периодичность выплат будет равна 3, количество периодов — 12, а чтобы вычислить периодическую процентную ставку, нужно умножить годовую ставку на 3/12. В ячейках В10 и В11 вычисляется основная и процентная суммы для заданного в ячейке В9 периода. Не забывайте, что значение в ячейке В9 должно быть меньше или равно значению ячейки В4. Иными словами, заданный период не должен превышать общее количество периодов. Формула в ячейке В10 представлена ниже. Она позволяет вычислить объем основной части выплаты для заданного в ячейке В9 периода. =ОСПЛТ(В2*(ВЗ/12);В9;В4;-В1) Следующая формула (ячейка В11) вычисляет объем выплат по процентам для заданного (ячейка В9) периода: =ПРПЛТ(В2*(ВЗ/12);В9;В4;-В1) Обратите внимание: сумма ячеек В10 и В11 всегда равна общему объему выплат по ссуде, который вычисляется в ячейке В6. Тем не менее соотношение основной и процентной сумм различно для каждой выплаты. (Доля основной суммы с каждой последующей выплатой увеличивается.) На рис. 13.2 графически показаны основные и процентные суммы для всего срока. Рис. 13.2. Соотношение основной и процентной сумм Эту рабочую книгу можно найти на прилагаемом компакт-диске. График погашения ссуды График погашения ссуды представляет собой таблицу, содержащую различную информацию по каждому периоду выплаты. На рис. 13.3 показан рабочий лист, который содержит формулы, используемые для создания графика. Эту рабочую книгу можно найти на прилагаемом компакт-диске. 260 Часть II. Формулы и функции
Ча График выплат xfo ■06v«u ссуды Годовая 2 1,.очонтнйя ставка ■ Л«|>ИОДИЧН«СТЬ Э *мпллт (нос) ■Количество i пориедов ввК=!!11!1!7иГЗ t 36 Нонав выплаты Обьом выплаты Кумулятивная сумм» выплат- Выплата я» процоитом Кумулятивная сумма аыплат по процентам Основная сумма ■ Кумулятивная основная сумма Остаток : 4 ► мЛпмст! / 13 14 15 16 4 64873р. 4Б467Эр. 4 648,73р. 4 64в.73р 4 648.73р. 4 648.73Р 4 648.7Эр. 4 648,73р. АНЯЗъ 4 648/Эр. 4 648.73р. 4648.73р 4 648,73р. 4 648,7Эр 4 64873р 4 648.73с 4 Б48.73р 9 297,46р. 13946,19р. 18 594.92р 23 243.65р. 27 89238р 32 541,11р: 37 1в934р ! 41 838,56р. 46 487,29р.. 51 136.02р. 55 784.75р 60 433,48р 65 062.21 р.; 69 730.94р 74 379 67 3 742,48р Э765Д9р. Э7В7В4р 3810,72р Э83Э,75р 3 85651Р 3 880.21 р 3903 Е5р 3 927Д4р Э950£6р 3974jB3p 3998 85р 4023 01р 4 047 31 р 4 071770 4096 37. 3 742.48р.; 7 507,57р. j 11 295.41р 15 106,1Эр 18 9Э9ЛЭр 22796 78р 26 67699р. 30 580.65р.: 34 50768р. 38 458,85р.; 42 433 680 46 43253р. 50 455 54р 54 502ВЕр 58 57462р 6267099? 150 00000р. 146 25752Р 142 492,43р. 138 70459р. 134 893,87р. 131 060,12р 127 203 22р 123 323,01р. 119 41935р. 115 492,12р. 111541,15а! 107 56632р. 103567.47р 99 544 46р 95497,14р 91 425 ЗВр. 87 329Д1р Л Рис. 13.3. График выплат по ссуде Параметры ссуды введены в диапазон В1:В4. Эти параметры используются в формулах, содержащихся в ячейках начиная с девятой строки. В табл. 13.2 представлены формулы из строки 9 графика выплат. Формулы были скопированы во все строки графика до 488 строки. Поэтому с помощью данного рабочего листа можно рассчитать график погашения ссуды, продолжительностью до 480 периодов. Если количество выплат меньше, то, чтобы скрыть данные в неиспользуемых строках, применяется условное форматирование. Условное форматирование подробно обсуждается в главе 27. Таблица 13.2. Формулы, используемые для создания графика выплат Ячейка Формула Описание А9 =А8+1 В9 =ПЛТ($В$2*($В$3/12);$В$4;-$В$1) С9 =С8+В9 D9 =ПРПЛТ($В$2*($В$3/12);А9;$В$4;-$В$1) Е9 =E8+D9 F9 =ОСПЛТ($В$2*($В$3/12);А9;$В$4;-$В$1) G9 =G8+F9 Н9 =H8-F9 Возвращает номер платежа Вычисляет объем выплаты Возвращает общую (кумулятивную) сумму выплат Вычисляет процентную часть выплаты Вычисляет кумулятивную сумму выплат по процентам Вычисляет основную часть выплаты Вычисляет кумулятивную сумму.основ- ных выплат Вычисляет остаток в конце каждого периода Глава 13. Формулы и функции для финансовых расчетов 261
Анализ параметров ссуды с помощью таблицы подстановки Команда Данные1*Таблица подстановки является одним из самых мощных средств Excel, которым, к сожалению, довольно редко пользуются. Это средство позволяет создавать сценарии типа "что-если". Например, изменяя значения одного или двух параметров ссуды, можно проследить их влияние на объем платежа. В следующих разделах описано, как создавать таблицы подстановки с одним или двумя входами. Ек Рабочую книгу с примерами использования таблицы подстановки с одним и дву- На компакт-» мя входами можно найти на прилагаемом компакт-диске, диске Создание таблицы подстановки с одним входом Таблица подстановки с одним входом позволяет выполнить произвольное количество расчетов, изменяя значения в одной ячейке. На рис. 13.4 показана таблица (диапазон В 10:113), в которой вычисляется три параметра ссуды (объем выплаты, общая сумма выплат и общая сумма выплат по процентам) при различных значениях процентной ставки, которая изменяется от 7,00% до 8,50% (всего семь значений). В данном примере значения подставляются в ячейку В2. .lOlxl 06ъ«м выплаты Общая сумма Комиссионные «,■?•»<».' 4М».73р. 167 354,26р. 17 354.26Р 7.00% 4831580. 1вв 7зв дав. 1873832р. 7,26% 4 848,73р. 187 354,28р. 17 354,28р. 7,50% 4685,93р. 167 97358р. 1787358р. 775% 4683.17р. 168 594,28р. 18 584,28р. 6.00% 4 700.46Р «8 21637р. 1821637р. 6.25% 4 717.77р. 188 83836р. 1883835р. 6.60% 4 735.13р. 170 484,70р. 20 484,70р. Рис. 13.4. Пример таблицы подстановки с одним входом для вычисления параметров ссуды для различных значений процентной ставки Чтобы создать таблицу подстановки с одним входом, выполите ряд действий. 1. Введите формулы для вычисления параметров ссуды, которые будут использоваться в таблице подстановки. В этом примере формулы находятся в диапазоне В6:В8. 2. Введите значения изменяемой ячейки в соответствующие ячейки. Здесь изменяемым значением является процентная ставка, значения которой находятся в ячейках С10:110. 3. В столбце, который находится слева от изменяемых значений, введите ссылки на ячейки с формулами. В данном примере ссылки следует ввести в диапазон В11:В13. Например, в ячейке В11 содержится формула =Вб. 262 Часть II. Формулы и функции
4. Выделите диапазон, который содержит все данные, созданные при выполнении предыдущих пунктов. Здесь — В 10:113. 5. Выполните команду Данные11*Таблица подстановки. На экране появится диалоговое окно, показанное на рис. 13.5. 6. В поле Подставлять значения по столбцам в укажите ссылку на изменяемую ячейку. В данном случае изменяемое значение хранится в ячейке В2. 7. Второе поле оставьте пустым. 8. Щелкните на кнопке ОК. Excel создаст формулу массива, которая использует функцию ТАБЛИЦА с одним аргументом. 9. При желании можно отформатировать полученную таблицу. Например, можно добавить фон для заголовков таблицы. Гюдстае ibm, зигмния то стдобиаме |в2) 1 « 1 л) 31 Ъ1 ОГЫН4 \ Рис. 13.5. Диалоговое окно Таблица подстановки Обратите внимание, что формула массива была введена не во все ячейки выделенного диапазона. Первые строка и столбец остались без изменений. При создании таблицы подстановки левый столбец (в котором содержатся ссылки, Совет созданные на третьем этапе) содержит ссылки на значения, вычисленные для за- данного значения изменяемого параметра. В этом примере ссылки содержатся в ■ Л столбце D. Иногда возникает необходимость скрыть эти значения. Для этого можно, например, сделать одинаковыми цвет шрифта и фона для левого столбца. Создание таблицы подстановки с двумя входами Таблица подстановки с двумя входами содержит результаты вычислений по одной формуле при изменении двух входных параметров. На рис. 13.6 показана таблица подстановки с двумя входами (диапазон В 10:116), которая используется для вычисления объема платежа для семи значений процентной ставки и шести значений размера ссуды. ,«|flx| Количество 4 Периодов ЭСьем выплаты Обиде сумма выплат . Оумма комиссионных 3096,15t> 111569510 1156951& Процентная стаем S % 8 | о! ' n5easi[x 90 000.00р. 95 000,00р. 100 000.00р. 106000.00р. 110 000.00р. 115 000,00р. 7,00% 10 041,79р. Ю59967р. 11157,55р. 11715,43р. 12273,30р. 12831.18р. ТЗЯ* 1041255р. «WIWJP. 1156951р. 12 147 ,98р. 12726,4вс 13304.93р. 7.50% 10784,15р. 11383,27р. 11982.39Р 12 58150Р 13 180,626 13779,74р. 7,76% 11 15857р. 11 778,38р. 12 396,19р. 13 016 ДОС 13835,81р. 14255.621). 8,00% 1152982р. 12170,37р. 12810,92р. 13451,46р. 14 09201р. W73255D. 8.25% 11903,91р. 1256524 р. 13 226 56р. 1388789р. 14Б4922Р, 152Ю55Р. 8,50% 1227882р. 129Ю.НВР. 13843,13р. 1432529Р. 15007,45р. 15в8860р М. Л •I •11. Рис. 13.6. Применение таблицы подстановки с двумя входами для вычисления объема платежа при разных параметрах ссуды Глава 13. Формулы и функции для финансовых расчетов 263
Чтобы создать таблицу подстановки с двумя входами, выполните ряд действий. 1. Создайте формулу, по которой будут проводиться вычисления в таблице подстановки. В этом примере такая формула находится в ячейке В6. Формулы в ячейках В7 и В8 не используются. 2. Введите значения первого изменяемого параметра в строку. В данном примере первым параметром является значение процентной ставки. Подставляемые значения хранятся в диапазоне С10:110. 3. Введите значения второго изменяемого параметра. В этом примере размер ссуды выступает в качестве второго параметра, значения которого содержатся в диапазоне В11:В16. 4. Создайте ссылку на ячейку, содержащую формулу для вычисления значений в таблице. В примере ячейка В10 содержит ссылку =Вб. 5. Выделите диапазон, содержащий все ячейки, в которые были введены данные на предыдущих шагах. 6. Выберите команду ДанныеоТаблица подстановки. Excel отобразит одноименное диалоговое окно. 7. В поле Подставлять значения по столбцам в укажите ссылку на ячейку, которая содержит текущее значение первого параметра. В данном примере следует ввести ссылку на ячейку В2. 8. В поле Подставлять значения по строкам в введите ссылку на ячейку с текущим значением второго параметра таблицы подстановки. В этом примере создайте ссылку на ячейку В1. 9. Щелкните на кнопке ОК. Excel вставит формулу массива с функцией ТАБЛИЦА с двумя аргументами. После создания таблицы подстановки можно изменить формулу, по которой осуществляются расчеты. Для этого следует изменить ссылку в верхней левой ячейке таблицы подстановки. Например, если в этом примере заменить существующую ссылку в ячейке В10 ссылкой =В8, то в таблице будет рассчитываться общая сумма выплат по процентам. Если созданная таблица подстановки замедляет скорость вычислений в рабочей Совет книге, выберите команду Сервис* Параметры. Во вкладке Вычисления диалого- вого окна Параметры установите переключатель в положение автоматически %\ кроме таблиц. Вычисление параметров ссуды с нерегулярными платежами До сих пор все примеры этой главы приводились для ссуд с регулярными выплатами. Но в некоторых случаях ссуда погашается нерегулярно. Например, вы заняли денег друзьям или членам семьи без официального соглашения о том, как будут проводиться выплаты. На рис. 13.7 представлен рабочий лист, с помощью которого можно отслеживать состояние таких займов. Значение годовой процентной ставки ссуды содержится в ячейке В1, которой присвоено имя ПС. Размер и дата первоначальной ссуды находятся в ячейках В5 и С5 соответственно. Формулы, расположенные в строке 6 и ниже, позволяют отследить состояние ссуды, а также выполняют дополнительные расчеты. 264 Часть II. Формулы и функции
! 1 - А 5 В 7 8 9 Ю 11 12 13 14 •15 » 17 18 » 20 21 22 23 .4 25 26 'одовая процентная ставка Номер платежа Размер ссуды 1 2 3 4 5 Эополнигсльквя ссуда в 7 В 9 10 11 12 13 14 15 1в 17 Двгопнигелькм ссуда 18 18 S.WX Объем |, платежа (ЮОСХОДОр) 2000,00р. гооойор. 2СЩ00р 1000Д1р 2500Д)р (5000.00р.) 200ОД)р 1000j00p 2 000,00р. 2500ДОР 2000ДОР 2000ХОр ЗОООХОр ЮООХСр гооохор гооохор ЮООХОр ЮООХОр (5 000.00р. 1 1000Д1р 1000Д)р Пат» платежа 01.06.02 №.07.02 оглаог 1709X12 02.12ХЙ 12.01X0 250*03 04.02X0 2QD2XO 01.03X0 ЮХОХО 0204X0 19.04X0 0405X0 texexo 02.06X0 1&060Э 05.07X0 ВХ>7ХО 01.08X0 02.11X0 16.11.03 Выплаты по процентам 7СВ22р 223.11р. етцввр 109435р. Б9123р Основная еумма 1291,78р 177в,88р 1328.12р !94^5p.l 1908,77р ОХОр. (5000.00р.: 148,88р. 233,71р. 130,42р. 213,15р. 235.71р. 231,т8р 189«9р. 154,83р 217,32р. 212.7вр. 195,83р 121,25р. 1851.14р 76629р 186858р 2288,85р 17642Эр 176831р 2800.01р 845Д7Р 1782j68p 178724р B04j07p В78,75р ОХОр (БОООДтз.) 78023р. tS52Rp. 209,77р 834,72р Кумулятивная сумма платежей 2000ХСр 4000ХСр. вОООХОр. ГОООХОр. 950ОХОр 95СЮХОр 11500ХОр 12500ХОр 14 500ХОР 17000ХСр. 19000ХОр 21000ХОр 24000ХОр 25000ХОр 27000ХОр, 29000,00р. ЗООООХОр, 31000,00р. ЗЮООХОр згооохор 33000.00р. G Кумулятивная сумма ло процентам 70822р 93133р 160321р 2688Хвр 328829р 328829р 34Э8.1£р 367ЦВ7р 38022Эр 40t5,44p 4 251.15р 4 482,34р 4 68254р 483727р 5054£9р Б267,35р 54в328р 5Е84ЕЗр 5584 53Р в374.75р 6540j04p. Остаток ЮООООХОр. ' 8870822р I 98 S31,33г. 1 ЙЕвОЗЛр. 1 85в9ВХер 1 8378929р 1 9878929р. I Ввв38.15р I ее 17цв7р. 9430229р 92015,44р. 90251,15р ВВ 482,34р. В5682,34р 84В3727р 8305459Р B12t73Ep ВО 46328р. 76584/Зр 84584ДЗр 1 В4 374,75р. 83540j04p I Рис. 13.7. Рабочий лист, с помощью которого можно отследить параметры ссуды с нерегулярными платежами В столбце В содержатся объемы выплат, проведенных в день, указанный в столбце С. Заметьте, что выплаты проводились нерегулярно. Также следует отметить, что в двух случаях (строки 11 и 24) объем выплаты отрицательный. Это значит, что проводились дополнительные займы, которые добавлялись к остатку ссуды. Формулы в ячейках D и Е вычисляют основную сумму и сумму выплат по процентам. Значения в столбцах F и G позволяют отследить общую сумму выплат и сумму выплат по процентам. Формулы в столбце Н вычисляют остаток по ссуде после каждой выплаты. В табл. 13.3 приведены формулы, которые содержатся в строке 6, а также их краткие описания. Таблица 13.3. Формулы, используемые для вычисления параметров ссуды с нерегулярными платежами Ячейка Формула Описание D6 =ЕСЛИ(В6>0;(((С6-С5)/365)*Н5)*ПС;0) Если платеж положительный, формула вычисляет сумму, начисленную по процентам; в противном случае (если взята дополнительная ссуда) возвращает О Чтобы получить основную часть платежа, из суммы платежа вычитается процентная часть Если платеж положительный, сумма данного платежа добавляется к общей сумме; в противном случае формула отображает кумулятивную сумму за прошлый период Если платеж положительный, формула добавляет процентную часть выплаты к общей сумме; в противном случае отображает кумулятивную сумму за прошлый период Формула вычисляет остаток в конце каждого периода Е6 =B6-D6 F6 =EOlH(B6>0;F5+B6;F5) G6 =EMH(B6>0;G5+D6;G5) Н6 =Н5-Е6 Глава 13. Формулы и функции для финансовых расчетов 265
На компакт- диске Эту рабочую книгу можно найти на прилагаемом компакт-диске. Расчет параметров инвестиций При расчете параметров инвестиций основной интерес представляет вычисление прибыли от инвестиций с фиксированной процентной ставкой, таких, как сберегательные счета, депозиты или выданные ссуды. Такого рода вычисления можно проводить для инвестиций, состоящих из одного или более вкладов. На компактна диске Рабочую книгу со всеми расчетами, приведенными в этом разделе, можно найти на прилагаемом компакт-диске. Будущая стоимость одного вклада Большинство инвестиций представляют собой одиночный вклад на определенный срок, проценты по которому выплачиваются после окончания этого срока. В настоящем разделе описаны способы вычисления простых и сложных процентов. Вычисление простого процента В случае простого процента выплаченные проценты не прибавляются к основной сумме вклада. Для вычисления простого процента используется следующая формула: Доход = Основная_Сумма * Процентная_Ставка * Срок Предположим, в банк на депозит вложено 10 000 рублей на один год при условии, что простая годовая процентная ставка составляет 5%. Через год банк вернет сумму вклада, а также выплатит проценты— 500 рублей. Итого сумма выплаты составит 10 500 рублей. В этом случае, чтобы вычислить полученные проценты, следует основную сумму (10 000 рублей) умножить на процентную ставку (0,05) и умножить на срок (1 год). Если срок инвестиции меньше одного года, то простая процентная ставка буде соответствующим образом преобразована. Например, если в предыдущем примере срок вклада будет шесть месяцев, то по процентам банк выплатит только 250 рублей. В последнем случае годовая процентная ставка умножается на 6/12. щидцщи, ■Вычисление простого процента Объем ингктицж годовая процентная ставка **оок инвестиции {пет) 10 000.00р. 5.О0Ч 1 ■ем выплат по процентам ^ИОСхм инвестиции в юнце срока I 7* » И Праст»* л Сло»**Л, { 5С0.00Р. Юбоо.ооа =ВЗ"В4-В5 ЛИЙ Г." - •1Г Рис. 13.8. Вычисление простого процента 266 Часть II. Формулы и функции
На рис. 13.8 показан рабочий лист, который содержит формулы, позволяющие вычислить простой процент. Формула в ячейке В7, показанная ниже, вычисляет объем выплат по процентам в конце срока. =ВЗ*В4*В5 Формула в ячейке В8 суммирует объем выплат по процентам и объем инвестиции. Вычисление сложного процента В большинстве случаев выплаты по процентам вычисляются на основе одного из типов сложного процента. Под сложным процентом понимается многократное начисление процентов, которые добавляются к общей сумме вклада, причем в следующий раз проценты начисляются как по основной сумме вклада, так и по начисленным ранее процентам. Предположим, сумма депозита в банке составляет 10 000 рублей. Годовая процентная ставка составляет 5%, проценты начисляются каждый месяц. После первого месяца проценты начисляются по основной сумме вклада, а затем полученная сумма добавляется к основной. В следующем месяце, проценты будут начисляться уже по большей сумме (основная плюс выплаты по процентам за первый месяц). Полученная сумма вновь добавляется к текущей сумме вклада. Чтобы вычислить объем инвестиции в конце срока, можно создать последовательность формул (рис. 13.9). 2ZS аш. JOIxll t Вычисление сложного процента 2 Сумыироаами* «имымотмыу выплат В Объем инеестндо 'годовая процентная ставка С - к ■ .. .к (месяцев) ЮООО.ООр s.txm 12 Месяц Основная сумма Начисления починжеитам 42.90Р 43,44р. 43,620 Суына инвестиции 10 000,00р. 10 041.67Р 10 083,510 10 125.52Р 10 t67,71p 10 210,060 10 252,620. 10 295,340, 10 336,24p 10 381,31р. Ю 424.57Р К) 468,000 Ю 511,520 Ю5Ч.62Р . -• r^^Om. I /с ~ ■ - В10 "CS-(SB$5"(V12» СИ -Св*В10 СГ2 -БС«В5/12)М.,-64) Jtl й Рис. 13.9. Чтобы вычислить сложный процент, можно создать последовательность формул В столбце В содержатся формулы, вычисляющие выплаты по процентам для каждого месяца. Например, в ячейке В10 содержится следующая формула: =С9*($В$5*(1/12)) Формулы в столбце С суммируют начисления по процентам за текущий месяц с суммой инвестиции за предыдущий месяц. Например, в ячейке СЮ содержится такая формула: =С9+В10 В конце срока (12 месяцев) сумма инвестиции составляет 10 511,62 рубля. Другими словами, ежемесячное начисление сложного процента (по сравнению с простым процентом) принесло дополнительную прибыль — 11,62 рубля. Глава 13. Формулы и функции для финансовых расчетов 267
Вместо того чтобы создавать последовательность формул, можно воспользоваться функцией БС. На рис. 13.10 показан рабочий лист, который содержит формулы для вычисления сложного процента. В ячейке В6 хранится число выплат за один год. Если выплаты проводятся ежемесячно, то ячейка В6 должна содержать число 12. Если выплаты будут проводиться ежеквартально, то число выплат равно 4. Если же выплаты проводятся ежедневно, то количество выплат будет равно 365. Срок инвестиции, указанный в виде количества лет, содержится в ячейке В7. Рис. 13.10. Вычисление сложного процента с помощью одной формулы В ячейке В9 содержится приведенная ниже формула, которая вычисляет процентную ставку за один период. Полученное значение процентной ставки используется для вычисления суммы выплаты для каждого периода. =В5*(1/Вб) В формуле, которая хранится в ячейке В10, для расчета объема инвестиции в конце срока вклада используется функция БС: =БС(В9;В6*В7;;-В4) Первым аргументом функции БС является значение процентной ставки за один период, которое вычисляется в ячейке В9. Второй аргумент представляет собой общее число периодов. Третий аргумент (ПЛТ) пропущен, а четвертый аргумент — это объем инвестиции, который записан как отрицательное число. Общая сумма выплат по процентам вычисляется с помощью простой формулы, записанной в ячейке В11: =В10-В4 Формула в ячейке В13 позволяет вычислить сумму начислений за год (выраженную в процентах) относительно объема инвестиции: =(В11/В4)/В7 Например, пусть депозит в банке равен 50 000 рублей, процентная ставка составляет 5,75% годовых, начисляемых ежеквартально. В этом случае количество периодов выплат за год равно 4 (ячейка В6). Срок вклада составляет три года, поэтому в ячейку В7 вводится число 3. Формула в ячейке В10 вернет значение 59 370,67 рубля. Предположим, что другой банк предлагает депозиты на тех же условиях, но начисления по процентам происходят ежедневно. На рис. 13.11 показаны параметры депозита размером 50 000 рублей с ежедневными выплатами. Сравните полученные значения со значениями на рис. 13.10. Как видите, разница очень мала (общая сумма выплат равна 9 340,67 рубля и 268 Часть II. Формулы и функции
9 412,78 рубля соответственно). За три года по второму вкладу будет начислено на 72,11 рубля больше, чем по первому. Если же сравнивать суммы выплат за год, то при ежеквартальных начислениях эта сумма будет составлять 6,23%, а при ежедневных — 6,28%. Р таи .!»,»►»,„о.-.взсгши" И!9Щ| 1 Вычисление сложного процента 2. Ilpunouotuu функции БС 3 4 Объем твестидпч & одевая прэцмтиая ставке « исло вьплат в год 7 Jdok вклада (пат) SOOOOOOp 5.75* 365 3 в 9 1рэцентн8я ставка за перюд Ю ЗОъгм имзесттт в конце срэка ft Эбщая сумма вьлпат по процент 0.02~j 59 412.780. S 412.78a п 13 "умна населений за год (%) I 6.28% Л ж ■I J 1H -В5*(1/Вв) =БС(вв;вгв7;;-в4) "В10-В4 -(BtVB4yB7 \*"* * *1.Г\~стл./ С*а*~**1 /Стмпыйг/ Рис. 13.11. Вычисление параметров депозита с ежедневными выплатами Вычисление сложного процента с постоянными начислениями Термин постоянные начисления означает, что проценты начисляются и добавляются к сумме вклада непрерывно. Иными словами, число периодов выплат по инвестиции за год бесконечно. Следующая формула позволяет определить будущую стоимость инвестиции объемом 50 000 рублей, вложенную под 5,75% годовых, которые начисляются непрерывно на протяжении трех лет: =50000*ЕХР(0,0575*3) Эта формула вернет значение 59 413,59 рубля, что на 0,08% больше по сравнению с аналогичной инвестицией, но с ежедневными выплатами. На замет а заметку Сложный процент можно вычислить без использования функции БС. Общая формула выглядит следующим образом: сумма * (1 + ставка) * кпер Здесь сумма — основная сумма инвестиции; ставка — процентная ставка за один период; кпер — общее количество периодов выплат. Например, пусть инвестиция размером 50 000 рублей вкладывается на пять лет под 5% годовых, которые начисляются ежемесячно. В этом случае будущую стоимость инвестиции можно вычислить по формуле =50000*(1+0,05/12)*(12*5) Правило числа 72 Что делать, если нужно быстро принять решение о том, вкладывать ли деньги на определенных условиях, а компьютера поблизости нет? Простое "правило числа 72" позволяет определить количество лет, по истечении которых стоимость инвестиции, вложенной под определенные проценты с ежегодными начислениями, удвоится. Просто разделите число 72 на значение процентной ставки. Например, пусть 100 000 рублей вкладываются под 6% годовых. Через сколько лет эта сумма возрастет до 200 000 рублей, т.е. удвоится? Разделив 72 на 6, получим, что стоимость данной инвестиции удвоится через 12 лет. А что будет, если процентная ставка составляет 7% годовых? В последнем случае сумма удвоится чуть больше, чем через 10 лет. Глава 13. Формулы и функции для финансовых расчетов 269
Теперь рассмотрим точность этого правила. В приведенной ниже таблице во втором столбце представлены значения, полученные с помощью правила числа 72, а в правом столбце — действительные значения. Как видите, для малых значений процентной ставки это простое правило обеспечивает удивительную точность. Тем не менее помните: если процентная ставка будет равна 30% и более, точность будет значительно меньше. Процентная ставка Правило числа 72 1% 2% 3% 4% 5% 6% 7% 8% 9% 10% 15% 20% 25% 30% Правило числа 72 работает инвестиции за шесть лет, нужно вкладывать под 12% 72,00 36,00 24,00 18,00 14,40 12,00 10,29 9,00 8,00 7,20 4,80 3,60 2,88 2,40 и в обратном направлении, следует разделить 72 на 6. годовых. Фактическое значение 69.66 35,00 23,45 17,67 14,21 11,90 10,24 9,01 8,04 7,27 4,96 3,80 3,11 2,64 Например, чтобы удвоить стоимость В результате получим, что деньги Будущая стоимость последовательности вкладов Рассмотрим еще один тип инвестиций, в котором на протяжении всего срока инвестиции периодически вносятся дополнительные вклады. Этот тип инвестиции называется аннуитетом. Некоторые банковские учреждения предлагают такую услугу. Функции, описанные в разделе "Вычисление параметров ссуды" ранее в этой главе, также можно применить и для расчета аннуитетов, но для этого нужно поменять перспективу (кредитор вместо заемщика). Через заданный промежуток времени определенная сумма вносится на депозит. Затем, например через один год, выплачивается вся накопленная сумма (вместе с начислениями по процентам). Предположим, что в начале каждого месяца (на протяжении 12 месяцев) на счет вносится 2 000 рублей под 4,25% годовых, начисляемых ежемесячно. Следующая формула позволяет вычислить будущую стоимость депозита: =БС(0,0425/12;12;-2000;;1) Формула вернет значение 24 559,74 рубля. Это число представляет собой сумму общего объема взносов (24 000 рублей) и начислений по процентам (559,74 рубля). Последний аргумент функции БС равен 1, это значит, что взносы проводятся в начале каждого периода. На рис. 13.12 показан рабочий лист, который содержит формулы для расчета параметров аннуитета. В табл. 13.4 представлены формулы этого листа с краткими описаниями. Ц^ Эту рабочую книгу можно найти на прилагаемом компакт-диске. На компакт- диск? 270 Часть II. Формулы и функции
Рис. 13.12. Расчет параметров аннуитета Таблица 13.4. Формулы, используемые для вычисления параметров аннуитета Ячейка Формула Описание Объем первого взноса (может быть равным нулю) Объем периодических взносов Количество взносов за один год ИСТИНА, если взносы делаются в начале периода; ЛОЖЬ в противном случае Срок инвестиции (лет). Значение может быть дробным Значение годовой процентной ставки Отображает объем первого взноса Вычисляет общую сумму дополнительных взносов Вычисляет сумму первого и всех дополнительных взносов Вычисляет периодическую процентную ставку -В5;-В4;ЕСЛИ(В7;1;0)) Вычисляет будущую стоимость инвестиции Вычисляет прибыль от инвестиции В4 В5 В6 В7 В10 В13 В16 В17 В18 В19 В20 В21 Нет(значение) Нет (значение) Нет (значение) Нет (значение) Нет(значение) Нет (значение) =В4 =В5*В6*В10 =В16+В17 =В13*(1/В6) =БС(В19;В6*В10 =В20-В18 Расчет амортизации Программа Excel содержит пять функций, которые позволяют рассчитать амортизацию активов за время их эксплуатации. Значение амортизации в текущий момент времени (уменьшение стоимости в заданный момент времени по сравнению с начальной стоимостью) можно описать с помощью функции, аргументами которой являются начальная стоимость и время эксплуатации. Выбор функции зависит от используемого метода амортизации. Глава 13. Формулы и функции для финансовых расчетов 271
В табл. 13.5 кратко описаны функции Excel, позволяющие рассчитать амортизацию, а также их аргументы. Дополнительную информацию можно найти в справочной системе Excel. Таблица 13.5. Функции для расчета амортизации Функция Метод амортизации Аргументы* АПЛ Линейный метод. Стоимость актива каждый год нач_стоимость;ост_стоимость; уменьшается на одинаковую сумму на протяжении время_эксплуатации всего срока эксплуатации ФУО Метод фиксированного уменьшения остатка. Значе- нач_стоимость;ост_стоимость; ние амортизации за период вычисляется с помощью время_эксплуатации;период;[месяцы] фиксированной процентной ставки ДДОБ Метод двойного уменьшения остатка. Амортизация нач_стоимость;ост_стоимость; вычисляется с помощью увеличенного коэффициен- время_эксплуатации;период; та. Значение амортизации максимально в первый [коэффициент] период, а затем постепенно уменьшается АСЧ Метод суммы годовых чисел. Устанавливает большее нач_стоимость;ост_стоимость; значение амортизации в первые периоды эксплуата- время_эксплуатации;период ции ПУО Метод снижающегося остатка. Вычисляет амортиза- нач_стоимость;ост_стоимость; цию для любого периода (включая частичные перио- время_эксплуатации;нач_период; ды) с использованием метода двойного уменьшения кон_период;коэффициент; остатка или любого другого указанного метода без_переключения * Аргументы в квадратных скобках задавать необязательно. Для того чтобы лучше понять принцип работы функций для расчета амортизации, рассмотрим их аргументы. ■ нач_стоимость — начальная стоимость активов. ■ ост_стоимость — стоимость активов в конце срока эксплуатации. ■ время_эксплуатации — количество периодов, на протяжении которых эксплуатируются активы. ■ период — период, по истечении которого проводится расчет амортизации. ■ месяцы — количество месяцев в первом году; если аргумент опущен, он полагается равным 12. ■ коэффициент — процентная ставка снижающегося остатка; если аргумент опущен, то он полагается равным 2 (т.е. используется метод двойного уменьшения остатка). ■ без_переключения — логическое значение, которое указывает, следует ли использовать линейную амортизацию, если значение амортизации превышает величину, рассчитанную методом снижающегося остатка. На рис. 13.13 показан пример расчета амортизации с помощью функций АПЛ, ФУО, ДДОБ и ФСЧ. Начальная стоимость актива составляет 100 000 рублей, срок эксплуатации составляет 10 лет, а остаточная стоимость равна 10 000 рублей. В таблице с названием Значение амортизации представлены ежегодные объемы амортизации актива, рассчитанные разными методами. Во второй таблице (Стоимость актива) представлены значения уцененной стоимости актива на протяжении всего срока его эксплуатации. 272 Часть II. Формулы и функции
I О АмортюмпвжН j Начальная стоимость • E рамч эксплуатации (пет) Ш*1- !'М?1 НУ !Г-Д^ loop J Остаточная стоимость 10 ОО0,00р 6 Значение амортизации U Гол 10 ДЦОБ а оос.оор аооооор 9 ООО.ООр 9 000.00р 9 000,00р. 9 ООО.ООр 9 000.00р. 9 000.00р. 9 000.00р. 9 000,00р. 20 бОС.ООр | 20 000,00р. I 16 363,64р 16~366.40р , 16 000 00|j" 14~727,27р 12 986.98Р 10 311.66Р 6 187.46р 6 600.84р. 5 161.67р. 4 096.37р 3 264.10Р 2 683.76р 12 вОО.ООр 10 240,00р 8192,00р 6 653,60р. 5 242,86р. 4 194,30р 3 356,44р 2 694.35р 13 090.91 р 11 454,66р 9 818,18р 8 181.82р. 6 646,46р 4 909,09р 3 272,73р 1 636,36р В8. =Arm(tBti.8S»4.*BI3) Се =ФУО($В*2,*В«4,»В13,А8) D8 =дцое(«е*г »в*4,»е*з,А8) | Е8: =AC4(t6*2.8B*4.|BJ3.A8) 19 Стоимость актива 26 Год АП* • 1 *У6 21 Oi 100 000,00р.' ЮоВДООр 22 1 123 2 24 3 25 4 26 б 27 6 28 7 8 30 9 31 10 91 ООО.ООр 82 000.00р. 73 000.00р 64 ООО.ООр. 66 ООО.ООр. 46 ООО.С0р 37 ООО.ООр. 28 0OC.OCD 19 000,00р. 10 ООО.ООр. 79 400. Юр 63 043.60р. во оев.егр. 39 744.96р. 31 667.49р. 25 066.660 19 894.98р. 15 796,61 р. 12 542.51р. 9в68.7бр ДДОб 100 ООО.ООр 80 ООО.ООр 64 ООО.ООр 61 гоо.оор 40 960,СОр 32 768, ООр 26 214,400 20 971,52р 16 777,22р 1Э421,77р 10 737,42р. АСЧ 100 ООО.ООр 83 636,36р 68 909,09р 65в18,1вр 44 363.64р 34 546,46р. 26 363,64р. 19 818,18р 14 909,09р 11 636,36р. 10 ООО.ООр. к . . -•*_.,,.,«,.. <rvo/ |«i 1 ЛП»| Рис. 13.13. Значения амортизации, полученные с использованием четырех функций Excel Эту рабочую книгу можно найти на прилагаемом компакт-диске. На ксчгшг цр На рис. 13.14 представлен график остаточной стоимости активов, вычисленный с использованием различных методов амортизации. Как видите, с использованием функции АПЛ стоимость актива снижается по прямой линии. При использовании других функций стоимость снижается по кривой, поскольку максимальное снижение происходит в первые периоды срока эксплуатации. ГСООООр 2 воооор S Б 1 еоооор о S § 40000р 6 гоооор 0р Рис. 13.14. Расчет остаточной стоимости активов с помощью разных методов амортизации Глава 13. Формулы и функции для финансовых расчетов 273
Функция ПУО используется в тех случаях, когда нужно вычислить амортизацию за несколько периодов (например, за второй и третий годы эксплуатации). На рис. 13.15 показан рабочий лист, которые позволяет выполнить расчет амортизации с использованием функции ПУО. В ячейке В12 содержится следующая формула: =ПУО(В2;В4;ВЗ;В6;В7;В8;В9) Формула рассчитывает амортизацию актива за первые три года эксплуатации (начиная с периода с номером 0 и заканчивая периодом 3). -lalxf ii ■Начальная стоимость ВВрвмя эксплуатации (гит) ■Остаточная стоимость Офисная м«6«ль 10 000,00р. (Первый период (Последний период Коэффициент |Беа переключения 0 Э 2 ИСТИНА |Амортн1ация 48 800,00р. | «ПУО(В2 е«.ВЭ В6,В?,ВВ.Вв) м\лморт>ошм« > nvo ; JjlL jjr Рис. 13.15. Расчет с помощью функции ПУО амортизации за несколько периодов 274 Часть И. Формулы и функции
Основы формул массивов дна из наиболее интересных (и наиболее мощных) возможностей Excel — допустимость использования массивов в формулах. Эта глава является введением в массивы и формулы массивов и требует определенных усилий от читателя, особенно того, кто желает стать настоящим мастером в Excel. Глава 15 является логическим продолжением настоящей главы. Введение в формулы массивов Если вы когда-нибудь занимались программированием, то, наверное, знакомы с таким понятием, как массив. Массив — это набор элементов, которые могут обрабатываться как единая группа или каждый в отдельности. В Excel массивы могут быть одно- или двухмерными. Измерения массивов непосредственно соответствуют строкам и столбцам. Например, одномерный массив может быть группой ячеек, которые размещены в одной строке (горизонтальный массив) или в одном столбце (вертикальный массив). Двухмерный массив размещается в нескольких строках и столбцах. Трехмерных массивов Excel не поддерживает. Однако позднее вы узнаете, что массивы не обязательно должны храниться в диапазонах ячеек. Можно работать с массивами, которые существуют только в памяти компьютера. Такие массивы также можно использовать в формулах и получать определенный результат. Формулы массивов могут занимать диапазон ячеек, а могут находиться и в одной ячейке. В этом разделе представлено два примера формул массивов. В одном из них формула массива занимает несколько ячеек, во втором — только одну ячейку. В этой главе... Введение в формулы массивов Размерность массивов Работа с формулами массивов Создание формул массивов для диапазона ячеек Создание формул массивов для отдельных ячеек
Формулы массивов для диапазона ячеек На рис. 14.1 показан простой рабочий лист, где вычисляются объемы продаж некоторых товаров. Чтобы вычислить объем продаж каждого конкретного товара (значения в столбце D), обычно используется формула умножения количества проданного товара (столбец В) на цену товара (столбец С). Например, в ячейке D2 будет формула =В2*С2, которая затем копируется во все оставшиеся ячейки столбца D. В данном случае получим пять отдельных формул в столбце D. Рис. 14.1. Одна формула массива в диапазоне D2:D6 заменяет пять обычных формул Другой способ вычисления пяти значений в столбце D — использование одной формулы массива. Эта формула займет диапазон D2:D6 и вернет сразу все пять искомых значений. Для создания формулы массива выполните следующее. 1. Выделите диапазон, в котором должен содержаться результат. В нашем примере это диапазон D2:D6. 2. Введите формулу =В2:В6*С2:Сб 3. Нажмите комбинацию клавиш <Ctrl+Shift+Enter> для ввода формулы именно как формулы массива (обычно для завершения ввода формулы нажимается клавиша <Enter>). Формула будет введена сразу во все пять выделенных ячеек. Если вы посмотрите в строку формул, то там будет представлена формула {=В2:Вб*С2:Сб} Excel заключает формулу в фигурные скобки, показывая тем самым, что это формула массива. Эта формула выполняет вычисления и возвращает массив из пяти элементов. Фактически формула работает с двумя другими массивами, которые хранятся в диапазонах В2:В6 и С2:С6. Поскольку нельзя в одной ячейке отобразить более одного значения, требуется выделить пять ячеек для представления результата вычисления формулы массива. Данная формула массива, конечно, возвращает те же самые значения, которые можно вычислить по отдельным формулам, перемножающим соответствующие значения из столбцов В и С: ■ В2:С2; ■ ВЗ:СЗ; ■ В4:С4; ■ В5:С5; ■ В6:С6. 276 Часть II. Формулы и функции
Но использование формулы массива по сравнению с набором отдельных формул имеет ряд преимуществ. ■ Есть уверенность, что все формулы диапазона введены правильно. ■ Формулы массивов больше защищены от непреднамеренных изменений, поскольку нельзя изменить одну формулу в ячейке, которая входит в диапазон ячеек, содержащих формулу массива. Формулы массивов для отдельных ячеек Формулы массивов могут возвращать результат и в одну ячейку. На рис. 14.2 в ячейку D8 введена формула массива (=СУММ(В2:В6*С2:С6)} м II шшшщяяята 1 Товав ]К-во IUbhs I 2 Товар A J 4 3 Товар Б 2 4 Товар В 15 5 Товер Г 5 Б Товар Д | 66 25p 100p. 76p 13p 5p. 7 IBcero | 1835 [=СУММ(В2:В6-С2 9 »"Y . «MVcrl >(W.J/ Ibc-l/ft. ^/п^/^гл/tl C6)) 1 JBixJ 1 ... - .1 ■ *, i -in! Рис. 14.2. Формула в ячейке D8 вычисляет общий объем продаж без использования промежуточных вычислений Еще раз напомним, что ввод формулы массива завершается нажатием клавиш <Ctrl+Shift+Enter> — тогда фигурные скобки будут вставлены автоматически, их нельзя вводить вручную. Эта формула возвращает общую сумму продаж. Здесь важно понять, что формула не использует данные из столбца D. Вы можете удалить всю информацию из этого столбца, а формула будет продолжать работать. Эта формула, как и предыдущая, работает с двумя массивами, хранящимися в диапазонах В2:В6 и С2:С6. Формула перемножает соответствующие значения из этих массивов и создает виртуальный массив, который существует только в памяти компьютера. Затем функция СУММ обрабатывает этот новый массив и возвращает сумму его значений. _^^^ В данном случае вместо формулы массива можно воспользоваться функцией СУММПРОИЗВ, которая вернет тот же результат: =СУММПР0ИЗВ(В2:Вб;С2:С6) Тем не менее, как вы увидите далее, существует множество задач, которые без формул массивов решить нельзя. На заметку / Создание массивов констант В предыдущих примерах использовались массивы, хранящиеся в диапазонах ячеек р-^э- чего листа. Примеры этого раздела демонстрируют массивы, которые не содержатся в ,i 1ей- ках рабочего листа. Этот тип массивов, хранимый только в памяти компьютера, называется массивом констант. Глава 14. Основы формул массивов 277
Для создания массива констант введите элементы этого массива и заключите их в фигурные скобки. Вот пример горизонтального массива из пяти элементов: { 1; 0 ; 1; 0 ; 1} Следующая формула использует функцию СУММ, где в качестве аргумента используется этот массив: =СУММ({1;0;1;0;1} ) Эта формула вернет сумму значений массива (число 3). Обратите внимание: несмотря на то что в формуле используется массив, сама она не является формулой массива. При вводе формулы с массивом констант вы должны вручную вставить окружающие элементы массива фигурные скобки. Но при вводе формул массивов окружающие ее фигурные скобки вводить вручную нельзя (следует нажать клавиши <Ctrl+Shift+Enter>). До сих пор еще не видно преимуществ использования массивов констант. Например, предыдущую формулу можно переписать без использования массива констант: =СУММ(1;0;1;0;1) Чтобы увидеть преимущества использования массивов констант, рассмотрим следующую формулу, обрабатывающую два массива: =СУММ({1;2;3;4}*{5;6 ; 7 ; 8} ) Эта формула создает виртуальный массив в памяти, который содержит результаты попарного перемножения элементов двух массивов. Новый массив выглядит следующим образом: {5,-12,-21,-32} Этот виртуальный массив используется как аргумент в функции СУММ, которая вернет результат 70. Таким образом, данная формула эквивалентна следующей, которая не использует массивов: =СУММ(1*5;2*6;3*7;4*8) Формулы в Excel могут одновременно работать как с массивами констант, так и с массивами, расположенными в диапазонах ячеек. Например, приведенная ниже формула возвращает сумму значений массива из диапазона A1:D1, каждый элемент которого умножен на соответствующий элемент массива констант. =СУММ((Al:D1*{1;2;3;4})) Эта формула эквивалентна следующей: =СУММ(А1*1;В1*2;С1*3;Dl*4) Константы в массивах Массивы констант могут содержать числа, текст, логические значения (ИСТИНА и ЛОЖЬ) и даже значения ошибок, например #Н/Д. Числа могут быть целыми, десятичными дробями или представленными в экспоненциальном формате. Текст в массивах должен быть заключен в двойные кавычки. В одном массиве констант могут содержаться значения разного типа, например: {1;2;3;ИСТИНА;ЛОЖЬ;"Май";"Коля";"Иванов"} 278 Часть II. Формулы и функции
Массив констант не может содержать формулы, функции и другие массивы. Числовые значения не могут иметь знак денежной единицы, разделители групп разрядов и знак процентов. Например, Excel не позволит ввести следующий массив: {КОРЕНЬ(16);56,32р.;12,5%} Размерность массивов В Excel массивы могут быть одно- и двухмерными. Одномерные массивы могут быть вертикальными и горизонтальными. Создание одномерных горизонтальных массивов Элементы в одномерных горизонтальных массивах разделяются точкой с запятой, например {1; 2; 3 ; 4; 5}. Этот массив можно отобразить в диапазоне из пяти ячеек. Чтобы записать его в диапазон ячеек, сначала выделите горизонтальный диапазон, состоящий из пяти смежных ячеек в одной строке. Затем введите формулу = {1; 2; 3 ; 4 ; 5} и нажмите <Ctrl+Shift+Enter>. Если вы попытаетесь ввести этот массив в диапазон, состоящий более чем из пяти ячеек, то он будет правильно введен в первые пять ячеек, а в остальных ячейках появится сообщение об ошибке #Н/Д (которое означает, что нет доступного значения). Если вы попытаетесь ввести этот массив в вертикальный диапазон, во всех ячейках диапазона запишется первый элемент массива (в данном случае это 1). В следующем примере показан горизонтальный массив, который состоит из семи текстовых строк: {"ПН";"ВТ";"СР";"ЧТ";"ПТ";"СБ";"ВС"} Чтобы ввести этот массив, выделите строку, состоящую из семи ячеек, затем напечатайте следующее (после ввода не забудьте нажать <Ctrl+Shift+Enter>): ={"ПН";"ВТ";"СР";"ЧТ";"ПТ";"СБ";"ВС"} Создание одномерного вертикального массива Элементы в одномерных вертикальных массивах разделяются двоеточием, например: {10:20:30:40:50:60} Чтобы поместить этот массив в рабочий лист, потребуется шесть ячеек. Для этого сначала выделите вертикальный диапазон, состоящий из шести смежных ячеек в одном столбце. Затем введите следующую формулу и нажмите <Ctrl+Shift+Enter>. ={10:20:30:40:50:60} Создание двухмерных массивов В двухмерных массивах используется точка с запятой для отделения горизонтальных элементов и двоеточие — для вертикальных. Вот пример массива, состоящего из трех строк и четырех столбцов: {1;2;3;4:5;6;7;8:9;10;11;12} Этот массив можно отобразить в диапазоне, состоящем из 12 ячеек. Чтобы ввести этот массив в ячейки рабочего листа, сначала выделите диапазон смежных ячеек, расположенных Глава 14. Основы формул массивов 279
в трех строках и четырех столбцах. Затем введите = {1; 2; 3 ; 4 : 5 ; 6; 7; 8 : 9; 10; 11,-12} и нажмите <Ctrl+Shift+Enter>. На рис. 14.3 показан рабочий лист, в который введен данный массив. Рис. 14.3. Массив размером 3x4 Если вы попытаетесь ввести массив в диапазон, содержащий больше ячеек, чем элементов в массиве, в незаполненных ячейках появится значение ошибки #Н/Д. На рис. 14.4 показан массив размером 3x4, введенный в диапазон размером 10x5. ИПаТТ и 2< а < *н/д бГ" 7! " В «Н/Д 10 11 12 «Н/Д «Н/Д #Н)Д *Н/Д «Н/Д «Н/Д *н/д #н/д *н/д *н/д *нщ *Н/Д«Н/Д «Н/Д «Н/Д *Н/Д *н/д *н/д #нщ *н/д *н/д *0Д.*Н/Д *Н/Д #Н/Д «Н/Д! *Н/Д «Н/Д «Н/Д «Н/Д «Н/Д* «Н/Д!*Н/Д «Н/Д «Н/Д «Н/Д г- —4—i 4- «\Л<т1 *, Листа ; rv<T3/rv«rr4^ft J 4 J Рмс. 74.4. Массив 3x4, введенный в диапазон 10x5 Все строки в двухмерном массиве должны содержать одинаковое количество элементов. Следующая формула, например, неправильна, поскольку третья строка содержит только три элемента: {1;2;3;4:5;6;7;8:9;10;11} Программа не позволяет вводить формулы с различным количеством элементов. Именованные массивы констант Можно создать массив констант, присвоить ему имя и затем использовать именованный массив в формулах. Строго говоря, именованный массив представляет собой формулу, которой присвоено имя. В главе 4 подробно обсуждаются имена и поименованные формулы. На рис. 14.5 показано, как создается именованный массив с помощью диалогового окна Присвоение имени. Здесь массиву присвоено имя Дни_недели, он содержит элементы {"ПН";"ВТ";"СР";"ЧТ";"ПТ" ;"СБ";"ВС"} 280 Часть II. Формулы и функции
Рис. 14,5. Создание массива констант в диалоговом окне Присвоение имени Отметим, что в диалоговом окне Присвоение имени массив в поле Формула задается с помощью знака равенства. Если не ввести этот знак, введенные значения элементов массива будут интерпретироваться как текстовые строки. Также необходимо ввести фигурные скобки, обрамляющие элементы массива — Excel не вставит их самостоятельно. Созданный именованный массив можно использовать в формулах. На рис. 14.6 показана простая формула массива, введенная в диапазон A1:G1. Эта формула имеет вид {=Дни_недели} Рис. 14.6. Пример использования в формуле именованного массива Поскольку в данном примере элементы массива отделяются точкой с запятой, это горизонтальный массив. Чтобы создать вертикальный массив, используйте в качестве разделителей двоеточие. Чтобы вставить горизонтальный массив в вертикальный диапазон ячеек, можно использовать функцию ТРАНСП, которая описана далее в главе. Следующая формула введена в столбец, состоящий из семи ячеек: (=ТРАНСП(Дни_недели)} Для того чтобы использовать отдельные элементы массива, следует воспользоваться функцией ИНДЕКС. Например, приведенная ниже формула вернет значение "ЧТ", поскольку это четвертый элемент массива Дни_недели. =ИНДЕКС(Дни_недели;4) Работа с формулами массивов В этом разделе рассматриваются способы выделения массивов, а также введения и редактирования формул массивов. Как вы увидите, эти процедуры немногим отличаются от работы с обычными диапазонами ячеек и формулами. Введение формулы массива Когда вы вводите формулу массива в ячейку или группу ячеек, вам необходимо выполнять специальную процедуру, чтобы программа знала, что это формула массива, а не обычная формула. Обычная формула вводится в ячейку посредством нажатия клавиши <Enter>. Глава 14. Основы формул массивов 281
А формула массива вводится в одну или несколько ячеек с помощью комбинации клавиш <Ctrl+Shift+Enter>. Вы всегда сможете отличить формулу массива, так как в строке формул она заключена в фигурные скобки. При вводе формулы массива фигурные скобки набирать не нужно; Excel сделает это сама. Если результат работы формулы массива — несколько значений, то, прежде чем вводить формулу, не забудьте выделить нужные ячейки. Если этого не сделать, то в ячейке будет отображено только первое значение массива. Выделение массива Используя обычные процедуры, можно выделить диапазон массива вручную. Кроме того, можно использовать один из следующих методов: ■ перейдите к одной из ячеек диапазона массива; выберите команду Правка^Перейти или нажмите клавишу <F5>, в открывшемся диалоговом окне Переход щелкните на кнопке Выделить и в следующем диалоговом окне выберите переключатель Текущий массив; щелкните на кнопке ОК, чтобы закрыть диалоговые окна; ■ перейдите к одной из ячеек диапазона массива и нажмите комбинацию клавиш <Ctrl+/>, чтобы выделить весь массив. Редактирование формул массивов Если формула массива помещена в несколько ячеек, вы должны отредактировать все ячейки диапазона как одну ячейку. Запомните: нельзя изменить только один элемент, содержащий формулу массива! Если вы попытаетесь сделать это, Excel выдаст сообщение, показанное на рис. 14.7. Рис. 14.7. Excel напоминает, что нельзя изменить содержимое одной ячейки массива Ниже перечислены правила, относящиеся к формулам массивов. При нарушении хотя бы одного из них Excel даст вам об этом знать. Вы должны помнить, чего именно не следует делать. ■ Изменять содержимое одной из ячеек, содержащих формулу массива. ■ Перемещать отдельные ячейки, на которые распространяется формула массива (можно перемещать только все ячейки с формулой массива сразу). ■ Удалять отдельные ячейки, на которые распространяется формула массива (можно удалить только весь массив целиком). ■ Вставлять новые ячейки в массив. Это правило относится также к вставке новых строк или столбцов, которые добавляют новые ячейки к массиву. Чтобы отредактировать формулу массива, выделите все его ячейки и активизируйте строку формул (щелкните на ней или нажмите <F2>). При редактировании формулы Excel удаляет фигурные скобки. Закончив редактирование формулы, нажмите <Ctrl+Shift+Enter>, чтобы Внимание! 7 251 |\ -ъ<-_~~ 1 282 Часть II. Формулы и функции
внести изменения. Теперь содержимое всех ячеек массива изменится в соответствии с внесенными изменениями. Если вы забудете нажать <Ctrl+Shift+Enter>, формула не будет восприниматься как формула массива. Если же вы нажмете <Ctrl+Shift+Enter>, то формула будет скопирована во все ячейки выделенного диапазона, но не будет формулой массива. Формулу массива нельзя изменить в отдельной его ячейке, тем не менее можно форматировать как весь массив, так и отдельные его части. Расширение и сокращение диапазона, содержащего формулу массива Если возникла необходимость расширить или сократить диапазон из нескольких ячеек, содержащий формулу массива, выполните ряд действий. 1. Выделите весь диапазон, содержащий формулу массива. 2. Нажмите клавишу <F2>, чтобы перейти в режим редактирования. 3. Нажмите <CtrI+Enter>. Это действие вводит отдельные формулы (не формулу массива) в каждую ячейку выделенного диапазона. 4. Измените выделение диапазона так, чтобы он включал новые ячейки (или исключал "лишние" ячейки). 5. Снова нажмите клавишу <F2>. 6. Нажмите комбинацию клавиш <Ctrl+Shift+Enter>. Формулы массивов: достоинства и недостатки Познакомившись с приведенными примерами функций массивов, вы, вероятно, уже оценили возможности и достоинства этих формул. Основное достоинство формул массивов состоит в том, что они позволяют выполнять очень широкий круг вычислений, который другими способами выполнить нельзя. Но, по всей видимости, вы уже можете признать и некоторые недостатки, присущие формулам массивов. Формулы массивов — это наиболее сложное и непонятное средство Excel. Поэтому, если вы планируете передать свою рабочую книгу другим пользователям, которые будут вносить в нее изменения, то, вероятно, откажетесь от использования формул массивов, поскольку изменения, внесенные в формулы массивов незнакомым с ними пользователем, конечно же приведут к ошибкам в рабочей книге. Кроме того, очень легко забыть о том. что для ввода формулы массива необходимо нажать комбинацию клавиш <Ctrl+Shift+Enter>. Помимо логических ошибок, вносимых в формулы, это, по-видимому, наиболее общая проблема при работе с формулами массивов. Если вы по ошибке нажали клавишу <Enter> после ввода или редактирования формулы массива, нажмите клавишу <F2> для возврата в режим редактирования и затем нажмите <Ctrl+Shift+Enter>. Более того, формулы массивов замедляют пересчет формул. Это особенно заметно, если используются очень большие массивы. Однако, если у вас достаточно мощный компьютер, это не имеет особого значения. С другой стороны, формулы массивов практически всегда работают быстрее, чем функции, созданные с помощью языка. Дополнительная информация по функциям VBA представлена в главе 35. Глава 14. Основы формул массивов 283
Создание формул массивов для диапазона ячеек В этом разделе приведены примеры, также демонстрирующие возможности формул массивов. Эти примеры показывают создание массивов на основе значений ячеек диапазона, выполнение операций над массивами, использование функций, транспонирование массивов и генерирование чисел. Создание массивов на основе значений ячеек диапазона На рис. 14.8 показан рабочий лист, содержащий данные в диапазоне А1:С4. Диапазон D7:F10 содержит массив, созданный на основе этих данных с помощью формулы {=А1:С4} Рис. 14.8. Создание массива на основе значений ячеек диапазона Массив в диапазоне D7:F10 связан со значениями диапазона А1:С4. Если изменить какое-либо значение в последнем диапазоне, автоматически изменится соответствующее значение в массиве. Создание массива констант на основе значений диапазона ячеек В предыдущем примере формула массива в ячейках D7:F10, по существу, является ссылкой на диапазон А1:С4. Чтобы "разорвать" эту связь и создать массив констант, выполните ряд действий. 1. Выделите диапазон, содержащий формулу массива (в этом примере — D7:F10). 2. Нажмите клавишу <F2>, чтобы перейти в режим редактирования формулы. 3. Нажмите <F9>, чтобы преобразовать ссылки на ячейки в соответствующие значения. 4. Нажмите комбинацию клавиш <Ctrl+Shift+Enter>. Теперь в диапазоне D7:F10 находится следующий массив: {1;"Пт";3:4;5;"Ср":7;8;9:"Пн";11;12} На рис. 14.9 показано, как этот массив выглядит в строке формул. 284 Часть II. Формулы и функции
D7 - В 6> 7 в 9^ 10] 12 * (=(1 "Пт" 3 15 " р" 7 8 9 'Пи- 11 К о I е I f 1 Пт 3 4 5Ср 7 8 9 Пн 11 12 Рис. /4.9. После нажатия клавиши <F9> в строке формул отобразится массив констант Выполнение операций над массивами До сих пор большинство примеров в этой главе показывали разные способы ввода массивов в диапазоны ячеек. Следующая формула массива создает прямоугольный массив и умножает каждый его элемент на 2: {={1;2;3;4:5;б;7;8:9;10;11;12}*2} Результат выполнения этой формулы показан на рис. 14.10. 10 16 «\IWtI yfWTi/n<rS/ ,l М'Д: 1<1 Рис. 14.10. Результат умножения массива на 2 Приведенная ниже формула умножает каждый элемент массива на самого себя. На рис. 14.11 показан диапазон, в который была введена эта формула {={1;2;3;4:5;б;7;8:9;10;11;12}*{1;2;3;4:5;6;7;8:9;10;11;12}} Рис. 14.11. Умножение каждого элемента массива на самого себя Эту формулу можно переписать в более компактном виде: {={1;2;3;4:5;б;7;8:9;10;11;12}А2} Если массив хранится в диапазоне ячеек (допустим, А1:С4), то подобная формула возвратит квадрат каждого элемента этого массива: {=А1:С4Л2} Применение функций к массивам В операциях над массивами можно использовать функции. Следующая формула массива, которую нужно ввести в вертикальный диапазон, состоящий из 10 ячеек, вычисляет квадратные корни каждого элемента массива: Глава 14. Основы формул массивов 285
{=КОРЕНЬ({1:2:3:4:5:6:7:8:9:10})} Если массив хранится в диапазоне ячеек (например, А1:А10), подобная формула выполнит эти же вычисления для каждого элемента массива: (=КОРЕНЬ(А1:А10) } Транспонирование массивов При транспонировании массива его строки становятся столбцами, а столбцы — строками. Если массив одномерный, то при транспонировании горизонтальный массив становится вертикальным и наоборот. Для выполнения операции транспонирования используется функция Excel ТРАНСП. Допустим, есть одномерный горизонтальный массив {1; 2 ; 3 ; 4 ; 5}. С помощью функции ТРАНСП можно преобразовать его в вертикальный массив. Для этого выделите вертикальный диапазон, состоящий из пяти ячеек, введите следующую формулу и после этого нажмите <Ctrl+Shift+Enter>: =ТРАНСП({1;2;3;4;5}) Транспонирование двухмерных массивов выполняется подобным образом. На рис. 14.12 показан двухмерный массив в диапазоне A1:D3, полученный посредством формулы { = { 1; 2 ; 3 ; 4 : 5 ; 6 ; 7 ; 8 : 9 ; 10 ; 11; 12 } } Формула в диапазоне А6:С9 создает транспонированный массив: {=ТРАНСП({1;2;3;4:5;6;7;8:9;10;11;12} ) } Рис. 14.12. Примеры использования функции ТРАНСП Конечно, функцию ТРАНСП можно применять и к массивам, хранящимся в диапазоне на рабочем листе. Например, следующая формула транспонирует массив, содержащийся в диапазоне A1:D3 (три строки и четыре столбца) в массив, состоящий из четырех строк и трех столбцов: {=ТРАНСП(А1:БЗ)} Генерирование последовательности натуральных чисел С помощью формул массивов легко генерировать последовательности натуральных чисел. Для этого идеально подходит функция СТРОКА, возвращающая номер строки. Рассмотрим формулу массива, введенную в вертикальный диапазон, состоящий из 12 ячеек: {=СТРОКА(1:12)} 286 Часть II. Формулы и функции
Эта формула возвращает массив из 12 элементов, содержащий числа от 1 до 12 (рис. 14.13). Отметим, что данная формула возвращает правильный результат независимо от того, где расположен диапазон, в который вводится формула. .101 xl 3 1=СТР0КА(1:12)1 5 6 7 8 9 10 11 12 и\г*.ст1 /ЛистЯХ"""* -'' _ ай Рис. 14.13. Использование формулы массива для генерирования 12 последовательных чисел Если вы поэкспериментируете с приведенной формулой, то обнаружите присущий ей недостаток: при добавлении новой строки выше диапазона, где расположена эта формула, Excel изменит номера строк и формула автоматически преобразуется в формулу, возвращающую значения от 2 до 13: (=СТР0КА(2:13)} Приведем формулу массива, которая лишена этого недостатка: {=СТРОКА(ДВССЫЛ("1:12"))} Эта формула использует функцию ДВССЫЛ, аргументом которой является текстовая строка. Excel не изменяет этот аргумент при вставке или удалении строк в рабочем листе, поэтому данная формула всегда возвращает правильный результат, состоящий из чисел от 1 до 12. дололнитель нформация В главе 15 показано еще несколько методов генерирования последовательностей чисел. Функции, возвращающие массив Результатом выполнения некоторых функций Excel является массив. Чтобы такие функции возвращали правильный результат, выделите диапазон, введите формулу, содержащую одну из этих функций, как формулу массива. Вот несколько функций, которые возвращают массив: ПРЕДСКАЗ, ЧАСТОТА, РОСТ, ЛИНЕЙН, ЛГРФПРИБЛ, МОБР, МУМНОЖ и ТЕНДЕНЦИЯ. Дополнительную информацию по этим функция можно найти в справочной системе. Создание формул массивов для отдельных ячеек Ранее в основном рассматривались формулы массивов, вносимые в диапазоны, состоящие из нескольких ячеек. Но настоящая мощь формул массивов проявляется тогда, когда они вводятся в отдельную ячейку. Примерам таких формул посвящен этот раздел. Глава 14. Основы формул массивов 287
Подсчет количества символов в диапазоне Если необходимо подсчитать общее количество всех символов в определенном диапазоне, то "традиционный" метод выполнения этой задачи состоит в том, чтобы найти количество символов в каждой ячейке диапазона (например, с помощью формулы, подобной =ДЛСТР (А1)) и затем суммировать эти значения. Приведенная ниже формула массива выполняет эти вычисления без промежуточных формул (предполагается, что подсчитывается количество символов в диапазоне А1:А10, показанном на рис. 14.14). (=СУММ(ДЛСТР(А1:А10))} .«JHljSl =ДПСТР(А1) -ДЛСТР(А2) =ДЛСТР(АЗ) 7 =ДПСТР(М} _ i | Б >=ДПСТР(Д5) S =ДЛСТР(*6) ~ ' 1 4 =ДПСТР(А7) 4 =ДЛСТР(А8) 9 =ДЛСТР(АЭ) Щ =ДЛСТР(А10) 6J] =СУММ(В1:В10) : Ш ..&СУММ(ЦЛС1Р(А1-А1ВД. Рис. 14.14. Одна формула массива заменяет целый ряд отдельных формул Эта формула с помощью функции ДЛСТР создает виртуальный массив в памяти компьютера, содержащий количество символов каждой ячейки диапазона. Суммирование трех наименьших значений диапазона Предположим, имеется диапазон чисел, названный Данные, и вы хотите узнать сумму трех наименьших из них. Следующая формула массива решает эту задачу: {=СУММ(НАИМЕНЬШИЙ(Данные;{1;2;3}) ) } Здесь в качестве второго аргумента в функции НАИМЕНЬШИЙ используется массив констант. Это "вынуждает" Excel сгенерировать виртуальный массив, содержащий три наименьших значения из диапазона Данные. Затем к этому виртуальному массиву применяется функция СУММ, которая суммирует его элементы и возвращает искомый результат. На рис. 14.15 показан столбец значений (диапазон А1:А10), названный Данные. Функция НАИМЕНЬШИЙ выполняется три раза, причем второй аргумент каждый раз меняется. Первый раз значение второго аргумента функции НАИМЕНЬШИЙ равно 1, поэтому она вернет значение из ячейки А2 (равное -5). Второй раз аргумент равен 2, а функция вернет 0 (самое маленькое число после -5). Третий раз аргумент равен 3, а функция вернет 2. Итак, в памяти компьютера сформируется виртуальный массив { - 5; 0; 2}, значения которого передаются в качестве аргументов в функцию СУММ. Последняя функция вернет их сумму, т.е. число -3. 288 Часть II. Формулы и функции
Рис. 14.15. Формула массива возвращает сумму трех наименьших значений в диапазоне А1 :А10 Подсчет количества ячеек, содержащих текст В следующей формуле функция ЕСЛИ используется для проверки содержимого каждой ячейки диапазона. Затем создается виртуальный массив (того же размера, что и исходный), в котором содержатся числа 1 (если в ячейке находится текст) и 0 (в противном случае). Новый массив передается в функцию СУММ, которая возвращает сумму элементов массива. В итоге получаем количество ячеек, содержащих текст. (=СУММ(ЕСЛИ(ЕТЕКСТ(А1:05);1;0))} Т\ Такой тип формул (когда функция ЕСЛИ применяется как аргумент функции Диюлнительни СУММ) очень часто используется для подсчета. Дополнительные примеры при- «нформация^ ведены в главе 11. На рис. 14.16 показан пример использования этой формулы. В результате выполнения функции ЕСЛИ был создан следующий виртуальный массив: { 0 ; 1; 1; 1:1; 0 ; 0 ; 0 :1; 0 ; О ; 0 :1; 0 ; 0 ; 0 :1; 0 ; 0 ; 0 } Обратите внимание, что виртуальный массив состоит из пяти строк, содержащих по четыре элемента (т.е. тот же размер, что и исходный массив). Ниже приведена предыдущая формула в более компактном виде: {=СУММ(ЕТЕКСТ(А1:Б5)*1)} Здесь вместо функции ЕСЛИ используется тот факт, что ИСТИНА*1=1 ЛОЖЬ*1=0 Глава 14. Основы формул массивов 289
Исключение промежуточных формул Одно из достоинств формул массивов заключается в том, что они позволяют исключать промежуточные формулы (и соответственно результаты промежуточных вычислений) из рабочих листов. Это делает таблицы на рабочих листах более компактными и понятными. На рис. 14.17 показан рабочий лист, содержащий баллы студентов до и после выполнения тестов. В столбце D содержатся формулы, вычисляющие разность между этими баллами, в ячейке D13 — формула, вычисляющая среднее значение этих разностей: =CP3HA4(D2:D11) Рис. 14.17. Вычисление среднего с помощью ряда промежуточных формул и с помощью одной формулы массива С помощью следующей формулы массива можно исключить промежуточные вычисления в столбце D: {=СРЗНАЧ(С2:С11-В2:В11)} В этой формуле используются два массива, содержащиеся в диапазонах С2:С11 и В2:В11. Формула создает виртуальный массив, состоящий из разностей значений этих двух массивов. Этот виртуальный массив хранится в памяти компьютера, а не в рабочем листе Excel. Функция СРЗНАЧ использует этот виртуальный массив в качестве своего аргумента и возвращает среднее его элементов. Виртуальный массив имеет вид {7;18;18;10;3;8;0;17;8;- 8} Поэтому в данном случае предыдущая формула принимает вид =СРЗНАЧ({7;18;18;10;3;8;0;17;8;-8}) Аналогично создаются и работают формулы массивов, вычисляющие различные характеристики диапазонов данных. Например, следующая формула находит максимальное число среди разностей значений диапазонов С2:С11 и В2:В11: {=МАКС(С2:С11-В2:В11)} Эта формула вернет число 18. Следующая формула возвращает наименьшее число разностей значений двух диапазонов (она вернет число -8): {=МИН(С2:С11-В2:В11)} 290 Часть II. Формулы и функции
Использование массивов вместо ссылок на диапазоны Если в формулах используются ссылки на диапазоны, то их можно заменить массивами констант. Это очень удобно, если значения в диапазонах, на которые указывают ссылки, меняться не будут. К сожалению, в функциях, работающих с базами данных (например, БДСУММ), нельзя заменить ссылку на диапазон, содержащий критерии, массивом констант. На замет а заметку / Дополнительную информацию по использованию формул просмотра и поиска Дополнитвлы}» можно найти в главе 12. Функции для работы с базами данных (включая информация БДСУММ) описаны в главе 19. На рис. 14.18 представлена таблица, в которой проводится поиск названия заданного числа. Например, если 9— искомое значение, то формула вернет слово Девять. В ячейку С1 введена следующая формула: = ВПР (Bl ;D1 : ЕЮ ; 2 ; ЛОЖЬ) А 6 С Ь & GH 4 1 Нисло 9 2 Название Девять Э Девять V И I 1 С 10 IgJ В2 =ВПР(В1.01 Е10.2;ГОЖЬ) ИВ т -Bfipmi (1 -Опии-1 -л.>- з -Tf 11« 8."Восемь* 9,"Девять" Ю.'Десят Два Три Четыре Пять Шесть Семь Восемь Девять Десять и" Л; "Четыре" 5."Пять" Б."Шесть"7."Семь" ь"),2,ЛОЖЬ) Г 1" • > •/l>«T-/A,S«/-W«/rkI,ttHWTll, 1<1 | ,Ю|х|, •1Г| Рис. 14.18. Таблицу, в которой проводится поиск, можно заменить массивом констант Вместо ссылки на таблицу можно использовать двухмерный массив. Следующая формула работает аналогично предыдущей, но не использует таблицу, которая находится в диапазоне D1:E10: =ВПР(В1;{1;,,Один" :2;"Два" :3;"Три" : 4;; "Четыре" : 5; "Пять" : 6; "Шесть" : 7 ,-" Семь":8;"Восемь":9;"Девять":10;"Десять"};2;г ЛОЖЬ) Глава 14. Основы формул массивов 291
ГЛАВА Применение формул массивов В этой главе... Примеры использования формул массивов в отдельной ячейке Примеры использования i формул массивов для диапазонов ячеек |р"«\ предыдущей главе рассмотрены основы работы с мас- ■—^ сивами и формулами массивов. В настоящей главе вы познакомитесь с некоторыми техническими приемами использования формул массивов. Приведенные здесь примеры могут послужить основой для решения многих практических задач, выполняемых с помощью Excel. Примеры подбирались таким образом, чтобы их можно было применить как базу готовых решений для множества задач. Большинство из них можно использовать в том виде, в котором они здесь представлены (не забудьте только заменить ссылки и имена диапазонов). Кроме того, внеся незначительные изменения, формулы примеров можно приспособить для других целей. К^ Все примеры этой главы можно найти на прила- На компаст- гаемом к книге компакт-диске. Кроме того, он I содержит дополнительные примеры, которые подробно не обсуждались на страницах главы. Применение формул массивов в отдельных ячейках Эти формулы возвращают единственные значения, а не многоэлементный массив (точнее, здесь отдельное значение также является массивом, но одноэлементным). Такие формулы могут работать с массивами, которые хранятся в диапазонах ячеек, и с виртуальными массивами, которые хранятся только в памяти компьютера. В следующих разделах приведено несколько примеров использования формул массивов, возвращающих результат в отдельные ячейки.
Суммирование значений диапазона, содержащего ошибки Вы, вероятно, уже обнаружили, что функция СУММ не работает, если в диапазоне суммирования содержатся ошибки (такие, как #ДЕЛ/0 ! или #Н/Д). На рис. 15.1 показана такая ситуация: формула суммирования в ячейке СП возвращает значение ошибки, поскольку диапазон суммирования С4:С10 содержит ошибки. Рис. 15.1. Применение формулы массива для суммирования значений диапазона, содержащего ошибки Следующая формула массива возвращает сумму значений диапазона Данные, даже если он содержит ошибки: {=СУММ(ЕСЛИ(ЕОШИБКА(Данные);"";Данные))} Эта формула создает виртуальный массив, содержащий все значения диапазона Данные, за исключением ошибок. Функция ЕСЛИ отбрасывает значения ошибок, заменяя их пустой строкой. Поэтому функция СУММ работает с массивом, не содержащим ошибок. Подобный прием можно использовать при работе с многими другими функциями, например МАКС или МИН. Вместо ЕОШИБКА можно использовать и другие функции, находящие ошибки в ячейках. Функция ЕОШИБКА возвращает значение ИСТИНА для ошибки любого типа. Функция ЕОШ возвращает значение ИСТИНА также для любой ошибки, кроме #н/д. Функция ЕНД возвращает ИСТИНА, только в том случае, когда в ячейке содержится ошибка #н/д. Подсчет количества ошибок в диапазоне Следующая формула массива подобна предыдущей, но возвращает число ячеек в диапазоне Данные, содержащих значения ошибок: {=СУММ(ЕСЛИ(ЕОШИБКА(Данные) ;1;0)) } Эта формула создает виртуальный массив, содержащий 1 (если соответствующая ячейка содержит ошибку) и 0 (если ячейка не содержит ошибки). Данную формулу можно немного упростить, удалив третий аргумент в функции ЕСЛИ. Когда этот аргумент в функции ЕСЛИ опущен, она возвращает значение ЛОЖЬ (что равнозначно нулю) в том случае, если логическое условие не выполняется. Следующая формула массива вернет тот же результат, что и предыдущая: (=СУММ(ЕСЛИ(ЕОШИБКА(Данные);1;0))} На заметку / Глава 15. Применение формул массивов 293
Можно еще упростить формулу: {=СУММ(ЕОШИБКА(Данные)*1)} В этой версии формулы используется тот факт, что ИСТИНА * 1 = 1 ЛОЖЬ * 1 = О Выполнение условного суммирования с помощью формул массивов Часто требуется просуммировать значения, которые удовлетворяют одному или нескольким условиям. Например, приведенная ниже формула массива возвращает сумму только положительных значений (отбрасывая отрицательные) из диапазона, названного Данные. {=СУММ(ЕСЛИ(Данные>0;Данные))} Здесь функция ЕСЛИ создает новый массив, содержащий только положительные значения из диапазона Данные. Затем функция СУММ суммирует эти значения. Диапазон Данные может содержать любое число строк и столбцов. Для подобных вычислений можно использовать и функцию СУММЕСЛИ. Формула, использующая эту функцию и не являющаяся формулой массива, возвращает тот же результат. =СУММЕСЛИ(Данные;">0") Однако к недостаткам функции СУММЕСЛИ можно отнести то, что она не позволяет отбирать значения по нескольким условиям. Чтобы задать несколько условий, нужно в одной формуле несколько раз использовать функцию СУММЕСЛИ. Например, предположим, что нужно просуммировать только те значения диапазона, которые больше 0 и меньше 5. Для этого можно использовать следующую формулу. =СУММЕСЛИ(Данные;">0")-СУММЕСЛИ(Данные;">5" ) Эта формула суммирует все значения, которые больше нуля, затем из полученной суммы вычитает сумму чисел, которые больше пяти. Разбираться в формулах, написанных подобным образом, довольно сложно. Но можно написать более простую формулу массива, которая вернет тот же результат: {=СУММ((Данные>0)*(Данные<=5)*Данные)} В этой формуле в результате перемножения значений трех массивов формируется еще один виртуальный массив, значения которого суммируются. Первые два массива содержат логические значения ИСТИНА (1) или ЛОЖЬ (0). Следует отметить, что данная формула вернет ошибку, если диапазон Данные содержит ячейки с текстом. Чтобы расширить возможности подобных формул, следует использовать в формулах массивов логические функции. Однако логические функции не всегда корректно работают в формулах массивов. Вопреки ожиданиям в формулах массивов нельзя использовать функцию И. Сле- | дующая формула, хотя и достаточно простая на вид, вернет неправильный ре- Внимание! зультат: {=СУММ(ЕСЛИ(И(Данные>0;Данные<=5);Данные))} 294 Часть II. Формулы и функции
Можно также комбинировать условия, требуя выполнения хотя бы одного из них. Например, следующая формула будет суммировать те значения, которые или меньше нуля, или больше пяти: {=СУММ(ЕСЛИ((Данные<0)+(Данные>5);Данные))} Обратите внимание на первый аргумент функции ЕСЛИ. Его значение будет равно ИСТИНА, если Данные<0 или Данные>5. В противном случае значение аргумента будет равно ЛОЖЬ. В последнем случае формула пропустит текущий элемент диапазона Данные и суммировать его не будет. Так же как и функцию И, в формулах массивов нельзя использовать функцию ИЛИ. \ Например, следующая формула вернет неверный результат: Внимание| {=СУММ(ЕСЛИ(ИЛИ(Данные>0;Данные<=5);Данные))} Суммирование п наибольших значений из диапазона Следующая формула возвращает сумму 10 наибольших значений из диапазона Данные: {=СУММ(НАИБОЛЬШИЙ(Данные;СТРОКА(ДВССШ1("1:10"))))} Здесь функция НАИБОЛЬШИЙ выполняется 10 раз, каждый раз с другим вторым аргументом (1, 2, 3 и т.д.). Результаты этих вычислений сохраняются в виртуальном массиве, который используется как аргумент в функции СУММ. Чтобы просуммировать другое число наибольших значений, замените в приведенной формуле 10 этим числом. Если необходимо просуммировать и наименьших чисел диапазона, вместо функции НАИБОЛЬШИЙ примените функцию НАИМЕНЬШИЙ. Вычисление среднего, не учитывающего нулевые значения На рис. 15.2 показан простой рабочий лист, в котором вычисляется средний объем продаж, приходящихся на группу продавцов. Формула в ячейке В12 имеет вид =СРЗНАЧ(Данные) Рис. 15.2. Формула массива, вычисляющая среднее без учета нулевых значений Глава 15. Применение формул массивов 295
Она вычисляет среднее значений из диапазона ВЗ:В10, которому присвоено имя Данные. Некоторые продавцы не работали, но они также учитывались при вычислении среднего. На заметку / Функция СРЗНАЧ игнорирует пустые ячейки, но учитывает ячейки с нулевыми значениями. Следующая формула массива возвращает значение среднего, причем при вычислении не учитываются ячейки, содержащие 0: {=СРЗНАЧ (ЕСЛИ (ДанныеоО,-Данные) ) } Эта формула создает виртуальный массив, содержащий только ненулевые значения из диапазона Данные. Этот массив используется в качестве аргумента в функции СРЗНАЧ. Тот же результат можно получить с помощью обычной формулы (не формулы массива): =СУММ(Данные)/СЧЁТЕСЛИ(Данные;"<>0") Эта формула использует функцию СЧЁТЕСЛИ для определения числа ненулевых значений в заданном диапазоне, на которое затем делится сумма значений этого диапазона. Поиск заданного значения в диапазоне Чтобы определить, есть ли заданное значение в диапазоне ячеек, можно использовать команду Правка^Найти. Но эту же задачу можно выполнить и с помощью формулы массива. На рис. 15.3 показан рабочий лист со списком имен в диапазоне А4:Е16 (названный СписокИмен). Формула массива в ячейке D2 проверяет, есть ли имя, введенное в ячейку С2 в этом списке (ячейка С2 названа ЭтоИмя). Если заданное имя есть в списке, формула возвращает текст Найдено, в противном случае— Не найдено. Формула имеет вид {=ЕСЛИ(ИЛИ(ЭтоИмя=СписокИмен);"Найдено";"Не найдено")} У Формулы маеошо* „у**** я<нм4и.« xf» I ' ~Т\ хяомде мм —■ I Ян 1ЩшД(«:лИ(И№Ч*тоИ>|1иО««жИ|«яХ-н»Вд»«Л."Н«ш*двн|Л)] ■ . _г 4м| Алекс Данила Григорий Леопольд Роберт 5 Алексей Даниэль Гарольд Луис Ричард 6 Андрей Давид Ян Марта Роман 7 Антон Денис Яков Марк Роланд _8^ Варвара Эдвард Джек Мэри Симон 9 Ьернард Эрнс Л*аш Михаил Спепан 10 чатя Эдуард Ерофей Мишель Стае II L ильм/ Игорь Иосиф Норман Том ^9 Боб Иван Джозеф Нора Тоыас 13 Клар? Инвар Карина Патрик Тимофей 14 'Сарл Фредди Марина Павел Алик Гари Катерина Петр Ярослав лШ2й\ ГЦ] Георгий Леонард Филип 'Ярослава 15^ Чарли 16'Сурт Л" 18 m Рис. 15.3. Поиск заданного значения в диапазоне ячеек Эта формула сравнивает значение ЭтоИмя со значением в каждой ячейке диапазона СписокИмен и строит виртуальный массив, содержащий логические значения ИСТИНА и ЛОЖЬ. Функция ИЛИ возвращает значение ИСТИНА, если хотя бы одно значение в виртуальном массиве равно ИСТИНА. Функция ЕСЛИ, используя значение, возвращенное функцией ИЛИ, отображает тот или иной текст. 296 Часть II. Формулы и функции
Если отказаться от вывода текста, можно упростить приведенную формулу. Следующая формула массива отобразит значение ИСТИНА, если заданное имя найдено, и ЛОЖЬ в противном случае: {=ИЛИ(ЭтоИмя=СписокИмен) } Определение количества различий в двух диапазонах Допустим, необходимо определить, сколько различных несовпадающих значений содержится в двух диапазонах ячеек. Приведенная ниже формула массива сравнивает соответствующие значения в диапазонах, названных МоиДанные и ЕгоДанные, и возвращает число несовпадений. Если все значения в диапазонах попарно совпадают, возвращается значение 0. {=СУММ(ЕСЛИ(МоиДанные=ЕгоДанные;0;1) ) } Сравниваемые диапазоны должны быть одного размера и одинаковой размер- Совет ности. Приведенная формула работает следующим образом: в памяти создается виртуальный массив, который имеет тот же размер, что и указанные диапазоны. Функция ЕСЛИ заполняет этот массив значениями 1 (если соответствующие значения различны) и 0 (если значения совпадают). Затем функция СУММ возвращает сумму элементов виртуального массива. Предыдущую формулу можно немного упростить: {=СУММ(1* (МоиДанныеоЕгоДанные) ) } В последней формуле используется тот факт, что ИСТИНА * 1 = 1 ЛОЖЬ * 1 = 0 Определение местоположения максимального значения в диапазоне Иногда необходимо узнать адрес ячейки, в которой находится заданное значение. Следующая формула массива возвращает номер строки, в которой находится максимальное значение одномерного вертикального диапазона Данные-: {=МИН(ЕСЛИ(Данные=МАКС(Данные);СТРОКА(Данные);""))} Здесь функция ЕСЛИ создает виртуальный массив, соответствующий диапазону Данные. Если ячейка содержит максимальное значение, тогда соответствующий элемент в виртуальном массиве равен номеру строки этой ячейки, в противном случае он равен пустой строке. Функция МИН использует виртуальный массив в качестве своего аргумента и возвращает минимальный номер строки, где содержится максимальное значение диапазона Данные. Если в диапазоне Данные содержится несколько ячеек с максимальными значениями, возвращается номер первой строки, где находится это значение. Приведенная ниже формула подобна предыдущей, но возвращает фактический адрес ячейки, содержащей максимальное значение. Для этого используется функция АДРЕС, имеющая два аргумента: номер строки и номер столбца. {=АДРЕС(МИН(ЕСЛИ(Данные=МАКС(Данные);СТРОКА(Данные);"")); СТОЛБЕЦ(Данные))} Глава 15. Применение формул массивов 297
Определение местоположения n-го вхождения значения в диапазоне Следующая формула массива возвращает номер строки и-го вхождения заданного значения (которое содержится в ячейке с именем Значение) в одномерный вертикальный диапазон Данные: (=НАИМЕНЬШИЙ(ЕСЛИ(Данные=Значение;СТР0КА(Данные);"");п)} Функция ЕСЛИ создает виртуальный массив, содержащий номера строк элементов диапазона Данные, которые равны содержимому ячейки Значение. Те элементы диапазона Данные, содержимое которых не совпадает с содержимым ячейки Значение, заменяются пустыми строками. Функция НАИМЕНЬШИЙ работает с полученным массивом и возвращает л-й наименьший номер строки. Формула вернет значение ошибки #ЧИСЛО!, если не будет ни одного совпадения или если число совпадений будет меньше п. Поиск самой длинной текстовой строки в диапазоне Приведенная ниже формула массива отображает текстовую строку из диапазона Данные, которая имеет наибольшее количество символов; если в нескольких ячейках содержатся одинаково длинные строки, то возвращается первая из них. {=ИНДЕКС(Данные,-ПОИСКПОЗ (МАКС (ДЛСТР (Данные) ) ;ДЛСТР (Данные) ;ЛОЖЬ) ;1) } Эта формула создает четыре виртуальных массива: ■ массив, созданный функцией ДЛСТР и состоящий из значений длин содержимого каждой ячейки диапазона Данные; ■ еще один такой же массив, также созданный функцией ДЛСТР (которая используется внутри функции МАКС); ■ массив, содержащий максимальные значения первого массива (создан функцией МАКС); ■ массив, содержащий смещение ячейки, содержимое которой имеет максимальную длину (создан функцией ПОИСКПОЗ). Функция ИНДЕКС использует значения последнего массива и возвращает содержимое ячейки, которое имеет наибольшую длину. Эта формула работает только с одномерным вертикальным диапазоном. Проверка ячеек диапазона на допустимость значений Иногда возникает необходимость сравнить элементы одного списка с элементами другого. Например, нужно импортировать список шифров изделий. Следует убедиться, что список шифров изделий в импортированном списке (диапазон назван МоиСписок) содержит только допустимые шифры. Чтобы выполнить эту операцию, можно сравнить элементы импортированного списка с элементами списка образцов (допустимых шифров), которому присвоено имя Образцы. 298 Часть II. Формулы и функции
Приведенная ниже формула возвращает логическое значение ИСТИНА, если каждый элемент импортированного списка соответствует одному из элементов списка образцов. МойСписок и Образцы должны быть одномерными вертикальными диапазонами, но число элементов может быть различным. {=ЕНД(П0ИСКП03 (ИСТИНА; ЕНДШОИСКПОЗ (МойСписок;Образцы; 0) ) ;0) ) } Следующая формула массива возвращает количество несовпадающих значений, т.е. количество элементов списка МойСписок, которые не совпадают ни с одним элементом списка Образцы: {=СУММ(1*ЕНД(П0ИСКП03(МойСписок;0бразцы;0)))} Чтобы получить первый несовпадающий элемент списка МойСписок, следует воспользоваться формулой {=ИНДЕКС(МоЙСписок;П0ИСКП03(ИСТИНА;ЕНД(П0ИСКП03(МойСписок;Образцы;0 ));0))} Суммирование цифр целого числа Приведенная ниже формула массива возвращает сумму цифр, составляющих положительное целое число, которое содержится в ячейке А1. Например, если в этой ячейке хранится число 409, то формула вернет число 13 (сумму цифр 4, 0 и 9). {=СУММ(ПСТР(А1;СТРОКА(ДВССЫЛ("1: "£сДЛСТР(А1) ) ) ;1) *1) } Чтобы понять, как работает эта формула, рассмотрим сначала функцию СТРОКА: {=СТРОКА(ДВССЫЛ("1:"&ДЛСТР(А1)))} Эта функция возвращает массив целых чисел, который начинается с единицы и заканчивается числом, равным количеству цифр, составляющих значение, хранящееся в ячейке А1. Например, если ячейка А1 содержит число 409, то функция ДЛСТР вернет число 3 и функция СТРОКА создаст следующий виртуальный массив: {1;2;3} "^ Дополнительная информация о том, как использовать функцию ДВССЫЛ для Дополнительим создания массива, приведена в главе 14. информация Далее этот массив используется как второй аргумент функции ПСТР. С учетом полученного массива для данного примера функция ПСТР выглядит следующим образом: { = ПС Т Р (4 0 9 ; { 1; 2 ; 3 } ; 1) * 1} Функция создаст массив из трех элементов: { 4 ; 0 ; 9 } Подставив результат в исходную формулу, получим: {=СУММ({4;0;9})} Последняя формула вернет число 13. Обратите внимание, что функция ПСТР возвращает массив строк, которые содержат цифры. Чтобы преобразовать строку, которая выглядит как число, в соответствующее число, следует умножить ее на единицу (что и было сделано). Вместо этого можно воспользоваться функцией ЗНАЧЕН, которая преобразует текстовую строку, содержащую число, в соответствующее значение. На заметку / Глава 15. Применение формул массивов 299
Заметьте, что формула не работает с отрицательными числами, поскольку знак "минус" не является числом. В приведенной ниже формуле эта проблема решается с помощью функции ABS, которая возвращает модуль аргумента. На рис. 15.4 показан рабочий лист, в котором вычисляется сумма цифр целого числа. В ячейке В4 содержится следующая формула (которая затем копируется во все остальные ячейки столбца В): {=CYMM(3HA4EH(nCTP(ABS(A4);СТРОКА(ДВССЫЛ("1:"&ДЛСТР(ABS(A4))));!)))} Рис. 15.4. Сумму цифр целого числа можно вычислить с помощью формулы массива Суммирование округленных значений На рис. 15.5 показан рабочий лист, демонстрирующий общую проблему электронных таблиц — ошибки округления. Как видите, общий итог в ячейке Е6 содержит ошибочное значение (ошибка в одну копейку). Дело в том, что значения в столбце Е отображаются в формате с двумя десятичными знаками. Фактические значения в этих ячейках содержат больше десятичных знаков. Но суммируются не отображаемые значения, а фактические. Реальное значение в ячейке Е6 равно 168,320 997, что отображается (в формате с двумя десятичными знаками) как 168,32. Рис. 15.5. Формула массива, исправляющая ошибки округления Чтобы согласовать отображаемые значения в ячейках ЕЗ:Е5 и итоговое значение в ячейке Е6, можно применить формулу массива, проводящую округление суммируемых значений до двух десятичных знаков. {=СУММ(ОКРУГЛ(Е4:Е6;2))} Эта формула вернет результат 168,31. 300 Часть II. Формулы и функции
Ошибки округления можно также исключить, применив функцию ОКРУГЛ к значениям диапазона ЕЗ:Е5. Этот прием не требует применения формулы массива, однако требует использования этой функции в каждой ячейке диапазона ЕЗ:Е5. Суммирование n-х значений в диапазоне Предположим, имеется диапазон значений и вам необходимо просуммировать каждое третье значение, т.е. первое, четвертое, седьмое и т.д. Такую задачу обычные формулы не решат, но формула массива может это выполнить. На рис. 15.6 представлен диапазон Данные. Значение шага, с которым будет выполняться суммирование, содержится в ячейке Е2, которой присвоено имя П. Рис. 15.6. Суммирование каждого третьего значения диапазона Данные с использованием формулы массива Следующая формула массива возвращает сумму всех n-х значений в диапазоне Данные: {=СУММ(ЕСЛИ(ОСТАТ(СТРОКА(ДВССЫЛ("1:"&СЧЁТ(Данные)))- 1;п)=0,-Данные ;■■"))} Формула возвращает число 70, которое является суммой каждого третьего элемента диапазона Данные. Эта формула генерирует массив последовательных натуральных чисел (совпадающих с номерами строк диапазона Данные, как будто он начинается с первой строки). Полученный массив функция ОСТАТ использует в качестве своего первого аргумента, вторым аргументом этой функции является число п. Функция ОСТАТ создает другой массив, который содержит остатки от деления номеров строк на число п. Если элемент этого массива равен нулю (т.е. номер строки без остатка делится на п), то соответствующее значение диапазона Данные включается в сумму. Приведенная формула вернет значение ошибки, если п равно нулю (тогда сумма должна быть равной нулю). Чтобы формула работала и при этом значении и, ее следует немного исправить, добавив еще одну функцию ЕСЛИ, отслеживающую эту ситуацию. {=ЕСЛИ(п=0;0;СУММ(ЕСЛИ(ОСТАТ(СТРОКА(ДВССЫЛ("1:"&СЧЁТ(Данные)))- 1;п)=0;Данные;"")))} Глава 15. Применение формул массивов 301
Эта формула работает только тогда, когда диапазон Данные состоит из одного столбца значений. Она не работает с прямоугольным диапазоном и горизонтальным диапазоном, состоящим из одной строки. Чтобы приспособить эту формулу для работы с горизонтальным диапазоном, необходимо транспонировать массив натуральных чисел, создаваемый функцией СТРОКА. Приведем измененную формулу, работающую с горизонтальным диапазоном (также имеющим имя Данные). {=ЕСЛИ(п=0;0;СУММ(ЕСЛИ(ОСТАТ(ТРАНСП(СТРОКА(ДВССЫЛ("1:"&СЧЁТ(Данные) ) ) ) -1,-п)=0/Данные;"") ) ) } Диалоговое окно Вычисление формулы Чтобы лучше разобраться, как работают сложные формулы, представленные в этой главе, можно воспользоваться диалоговым окном Вычисление формулы. Выделите ячейку с формулой и выполните команду Сервис*Зависимости формул*Вычислить формулу. На экране появится окно, показанное ниже. ПСТР(й4ЯОИСКГЮЗ(о*(еои*«КА<ПС|Р(М1-ГТРОКА •m>*i, нслы»зуемая»>гвД формуя», к»«няетрвзул>твтпр**»»*А0« пересчете Габч«1М Ре>уЬТЙТП0ОМДНвГ0ШвГ«М^ИС1ИН)»)сУА81СС1ВП11Д«ТЪСР«1уА>Т«Т г ь »»'••. мо резуьтеты промежуточных шел» ми-утме совладеть J J |*Ъ(*««пигь/1 Кнопка Вычислить используется для поэтапного вычисления формулы. После каждого щелчка на ней будет выполнено одно действие. Удаление из строки нечисловых символов Приведенная ниже формула массива вернет число, которое находится в строке, содержащей помимо него текст. Например, рассмотрим строку АБВ145Я. Формула вернет часть этой строки — число 145. {=ПСТР(А1;ПОИСКПОЗ(0; (ЕОШ(ПСТР(А1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР (А1) ) ) ;1) *1)*1);0);ДЛСТР(А1)- СУММ((ЕОШ(ПСТР(А1;СТРОКА(ДВССЫЛ("1:"&ДЛСТР(А1)));1)*1)*1)))} Следует отметить, что эта формула вернет правильный результат лишь в том случае, если в тексте содержится только одна непрерывная последовательность цифр. Например, если ввести строку А45Я999, формула вернет неправильный результат. Поиск значения, ближайшего к заданному Следующая формула возвращает из диапазона Данные значение, ближайшее к заданному (оно названо Цель): {=ИНДЕКС(Данные;ПОИСКПОЗ(НАИМЕНЬШИЙ(ABS(Цель-Данные);1);ABS(Цель- Данные) ;0) ) } Если в диапазоне Данные есть несколько значений, одинаково близких к искомому, то возвращается первое встретившееся из них. На рис. 15.7 показан пример использования этой 302 Часть II. Формулы и функции
формулы. В данном случае искомое значение (в ячейке D2) равно 45. Формула массива в ячейке D3 возвращает число 48 — ближайшее к числу 45 из всех чисел, содержащихся в диапазоне Данные. Рис. 15.7. Применение формулы массива для поиска значения, ближайшего к заданному Поиск последнего значения в столбце Предположим, требуется изменить таблицу данных в рабочем листе, добавив новые данные в конце заполненных столбцов. Для этого необходимо найти последнюю заполненную ячейку в столбце А (предполагается, что таблица данных расположена в рабочем листе начиная со столбца А). Если в таблице данных в столбце А нет пустых ячеек, то решение относительно просто находится с помощью формулы массива {=СМЕЩ(А1;СЧЁТЗ(А:А)-1;0)} Эта формула использует функцию СЧЁТЗ для подсчета непустых ячеек в столбце А. Данное значение, уменьшенное на единицу, используется как второй аргумент функции СМЕЩ. Например, если последнее значение в столбце А находится в строке 100, то функция СЧЁТЗ вернет значение 100, функция СМЕЩ вернет значение в ячейке, отстоящей от ячейки А1 на 99 строк вниз в том же столбце. Если внутри таблицы данных в столбце А есть пустые ячейки, то формула будет работать неправильно, поскольку функция СЧЁТЗ не может определить, какие пустые ячейки находятся внутри таблицы, а какие — вне ее. Следующая формула лишена этого недостатка, однако она работает с таблицей, содержащей не более 500 строк: (=ИНДЕКС (А1:А500,-МАКС (СТРОКА(А1:А500)*(А1:А500о,,и) ) ) } Чтобы эта формула работала не только со столбцом А, но и с любым заданным, измените в ней букву столбца А на нужную букву. Если же последняя заполненная ячейка находится ниже 500-й строки, измените в формуле число 500 на большее. Но при этом следует учитывать, что если диапазон слишком большой, то скорость вычислений может снизиться. € Нельзя использовать эту формулу в столбце, с которым вы работаете. Если вы { так сделаете, то возникнет циклическая ссылка. Разумеется, формулу можно из- | менить. Например, если формула содержится в ячейке А1, то ссылки в формуле должны начинаться со второй строки. Глава 15. Применение формул массивов 303
Поиск последнего значения в строке Приведенная ниже формула массива подобна предыдущей, но возвращает содержимое последней непустой ячейки в заданной строке (в данном случае в строке 1). {=ИНДЕКС(1:1;гМАКС(СТОЛБЕЦ(1:1) *(1:1<>"" ) ) ) } Чтобы эта формула работала с другой заданной строкой, измените первый аргумент функции СТОЛБЕЦ на номер нужной строки, а ссылку 1:1 — на ссылку нужной строки. Ранжирование данных Описанный в этом разделе метод часто используется для ранжирования данных в диапазоне. Например, если есть итоговая таблица с данными о годовых продажах товаров, продаваемых 20 продавцами, то можно узнать ранг каждого из них — от самого высокого до самого низкого. В Excel для этого существует специальная функция РАНГ. Но способ, которым эта функция устанавливает ранги, не всегда устраивает. Например, если два значения относятся к третьему месту, функция РАНГ устанавливает обоим ранг 3. Однако многие предпочитают присваивать каждому из значений, относящихся к третьему месту, средний ранг 3,5. На рис. 15.8 показана таблица, в которой использовано два метода ранжирования столбца значений под названием Продажи. Первый метод (столбец С) использует функцию РАНГ. В столбце D для вычисления рангов используется формула массива, которая в ячейке D3 имеет следующий вид: {=СУММ(1*(ВЗ<=Продажи))-(СУММ(1*(ВЗ=Продажи))-1)/2} Фврмуяы ит&тммк „Оли* ***■»* хН I Функция 4 Пу«да»»и_ЛП|>«йажц1 _ РАНГ 6 Адамов 6_ ~»еженов 7 -редкий 8 Георгиев S -Ькинсое J0. Ikoocoh 11 'чЛЯИН 12 1и,нев 13 'ЛоРнево Д4_ Л)бертое 16 Платно 16. -Зцкин 17." W » 123000 98 000 38 000 98 000 2SO00 101 000 305000 145000 145 000 121000 124 000 150000 8 9 9 9 12 в 1 3 3 7 5 2 ) Присвоен средний ранг Присвоен усредненный ранг » ' > »U»aeJs^9/S^S/niesJi^s^Xn^'iy »ы_ Рис. 15.8. Упорядочение данных с помощью функции РАНГ и формулы массива Эта формула введена в ячейку D3 и затем скопирована во все остальные ячейки, расположенные ниже. mi "* Здесь каждый ранг вычисляется с помощью отдельной формулы массива, но На заметку формулы введены во все ячейки диапазона. 304 Часть II. Формулы и функции
Применение формул массивов для диапазонов ячеек В предыдущих разделах главы рассматривались формулы массивов, возвращающие значения в одиночные ячейки. В этом разделе описаны формулы массивов, возвращающие не одно значение, а массив значений. Извлечение положительных значений из диапазона Приведенная ниже формула массива работает с одномерным вертикальным диапазоном (названным Данные). Эта формула вводится в диапазон, который совпадает по размеру с диапазоном Данные и в который формула возвратит только положительные значения из диапазона Данные (нулевые и отрицательные значения игнорируются). {=ИНДЕКС(Данные;НАИМЕНЬШИЙ(ЕСЛИ(Данные>0;СТРОКА(ДВССЫЛ("1:"&ЧСТРОК( Данные))));СТРОКА(ДВССЫЛ("1:"&ЧСТРОК(Данные)))))} Как видно из рис. 15.9, эта формула не совершенна, поскольку возвращает значение ошибки для ячеек, которые содержат нулевые или отрицательные значения. Следующая более сложная формула лишена этого недостатка: {=ЕСЛИ(ЕОШ(НАИМЕНЬШИЙ(ЕСЛИ(Данные>0;СТРОКА(ДВССЫЛ("1:"&ЧСТРОК( Данные))))/СТРОКА(ДВССЫЛ("1:"&ЧСТРОК(Данные)))));""/ИНДЕКС(Данные; НАИМЕНЬШИЙ(ЕСЛИ(Данные>0;СТРОКА(ДВССЫЛ("1:"&ЧСТРОК(Данные))))/СТРОКА (ДВССЫЛ("1:"&ЧСТРОК(Данные))))))} .talxl i_ Формуле • столбце С; (=ИНДЕКС(Данные.НАИМЕНЬШИЙ(ЕС !' ЛИ(ДанныеХ>;СТР0КА1ДВССЫЛП Ч. ЧСТРОКЩаниые)))),СТРОКА(ЦВССЫЛ( •1:ЧЧСТР0К(Данные)))))] Формула в столбце Е: |=ЕСЛИ(ЕОШ(НАИМЕНЬШИЙ(ЕСЛИ(Да нше>0;СТРОКА(ДВССЫЛГ1 -&ЧСТРО КЩаиии.)))); СТРОКАЩВССЫЛП ЧМ СТРОКЩаниые))))) " ИНДЕКС(Даиные; НАИМЕНЬШИЙ(ЕСЛИ(Данние>О.СТРО КАСДВССЬиТ1:Ч.ЧСТРОКСЦа«иыв))! СТРОКАЩВССЫЛП: ЧЧСТРОКЩанн Лн«т1 £ ftterj /' ПктЭ / l-J А Рис. 15.9. Формулы массивов, извлекающие положительные значения из диапазона Извлечение непустых ячеек из диапазона Приведенная ниже формула немного отличается от предыдущей. Она работает с одномерным вертикальным диапазоном, которому присвоено имя Данные. Формула введена в диапазон того же размера, что и диапазон Данные, и возвращает только непустые ячейки этого диапазона. Глава 15. Применение формул массивов 305
{=ЕСЛИ (ЕОШ (НАИМЕНЬШИЙ(ЕСЛИ (Данныео" " ; СТРОКА (ДВССЫЛ (" 1: " &ЧСТРОК (Данные))));СТРОКА(ДВССЫЛ("1:"&ЧСТРОК(Данные)))));"";ИНДЕКС(Данные; НАИМЕНЬШИЙ (ЕСЛИ (Данныео" ";СТРОКА(ДВССЫЛ("1:"&ЧСТРОК(Данные) ) ) ) ; СТРОКА(ДВССЫЛ("1:"&ЧСТР0К(Данные))))))} Создание списка уникальных значений диапазона Для вертикального одномерного диапазона Данные следующая формула массива создаст список уникальных значений этого диапазона: {=ИНДЕКС(Данные;НАИМЕНЬШИЙ(ЕСЛИ(П0ИСКП03(Данные;Данные;0)=СТРОКА (ДВССЫЛ("1:"&ЧСТР0К(Данные)));П0ИСКП03(Данные;Данные;0);"");СТРОКА (ДВССЫЛ(м1:"&ЧСТР0К(Данные)))))} Эта формула не будет работать, если в диапазоне Данные есть пустые ячейки. Свободные ячейки в диапазоне, содержащем формулу массива, заполняются значениями ошибки #ЧИСЛО!. Пример использования этой формулы показан на рис. 15.10. Рис. 15.10. Формула массива, создающая список уникальных значений диапазона Создание календаря На рис. 15.11 показан календарь, который содержится в диапазоне ячеек. В рабочем листе определено два имени: м (номер месяца) и г (номер года). Единственная формула массива, которая создает календарь, была введена в 42 ячейки. В диапазон В6:Н11 была введена следующая формула массива: {=ЕСЛИ(МЕСЯЦ(ДАТА(г;м;1))оМЕСЯЦ(ДАТА(г;м;1)-(ДЕНЬНЕД(ДАТА(г;м;1) ;2)-1)+{0:7:14:21:28:35}+{0;1;2;3;4;5;б});"";ДАТА(г;м;1)-(ДЕНЬНЕД (ДАТА(г;м;1);2)-1)+{0:7:14:21:28:35}+{0;1;2;3;4;5;6})} Строго говоря, формула возвращает значение даты, но ячейки отформатированы таким образом, что отображается только день. Обратите внимание, что в формуле используются массивы констант. Исключив функцию ЕСЛИ, можно значительно упростить формулу: {=ДАТА(г;м;1)-(ДЕНЬНЕД(ДАТА(г;м;1) ; 2 ) -1) + { 0 : 7 :14 : 21 : 2 8 : 3 5 } + { 0 ; 1; 2 ; 3 ; 4 ; 5 ; 6 } ) } 306 Часть II. Формулы и функции
2 4 5 б В l«— JJ JU 8 9 101 11 12 п 2 9 16 23 30 и 4 * м\капгнда(*>/ с d е f jj 2004 Август 2004 Вт Ср Чт Пт 3 10 17 24 31 4 11 18 2S Б 12 19 26 6 13 20 27 и G се 7 14 21 28 Н Вс 1 8 15 22 29 I I IJT >\П Рис. 15.11. Календарь, созданный с помощью одной формулы массива Л Массивы констант описаны в главе 14. Яололнительнзя информация V Последняя формула, помимо номеров дней текущего месяца, также возвращает номера дней прошедшего и следующего месяцев. В первой формуле функция ЕСЛИ проверяет принадлежность каждого номера дня к текущему месяцу. В том случае, когда номер дня не принадлежит текущему месяцу, функция ЕСЛИ возвращает пустую строку. Глава 15. Применение формул массивов 307
Создание диаграмм и изображений |^в\ трех главах этой части описываются средства Excel, ш^ предназначенные для работы с диаграммами и рисунками. Вы узнаете, как эффективно использовать средства Excel по созданию диаграмм для графического представления данных. Кроме того, вы познакомитесь с тем как применять средства рисования для оформления рабочих книг. ЧАСТЬ этой части... Вз Глава 16 Основы построения диаграмм Глава 17 Расширенные возможности построения диаграмм Глава 18 Работа с изображениями и рисунками ми
Основы построения диаграмм В этой главе. Что такое диаграмма Как Excel работает с диаграммами Диаграммы: внедренные и расположенные на отдельных листах Элементы диаграмм Использование средства Мастер диаграмм Печать диаграмм Стандартные типы диаграмм ' ногие считают, что Excel — это просто большое количество пронумерованных столбцов и строк. Но, как вы уже знаете, эта программа не так проста, особенно если необходимо представить данные в графическом виде. В этой главе приводятся базовые сведения о возможностях Excel для построения диаграмм. Что такое диаграмма Начнем с базовых понятий. Диаграмма— это способ наглядного представления информации, заданной в виде таблицы чисел. Диаграммы, которые также называют графиками, стали неотъемлемой частью программ электронных таблиц еще со времен появления Lotus 1-2-3. Первые средства построения диаграмм были очень ограниченными, но со временем эти возможности значительно расширились, и сейчас в Excel представлены средства для создания разнообразных диаграмм. Несмотря на то что Excel может создавать гигантские диаграммы, не исключено, что они будут громоздкими и трудными для понимания. И вполне возможно, что со временем вы столкнетесь с некоторыми ограничениями, связанными с построением диаграмм. В этом нет ничего необычного; программное обеспечение, ориентированное исключительно на работу с диаграммами, позволяет создать более качественные и гибкие средства построения графиков. В приложении Б приведен список таких программ. Демонстрация данных с помощью хорошо продуманной диаграммы помогает лучше понять их и может существенно ускорить работу. Так как графики представляются в виде изображения, они могут быть очень полезны для анализа рядов чисел и представления их взаимосвязи. Создав диаграмму, можно определить тенденции и структуру процесса, представленного таблицей чисел, что практически невозможно сделать, имея лишь таблицу.
Рис. 16.1. Простейший пример гистограммы, содержащей ежемесячные объемы продаж На рис. 16.1 приведен пример листа, содержащего простую диаграмму, которая отображает объемы продаж фирмы за месяц. Достаточно одного взгляда на диаграмму, чтобы определить, что летом (июнь, июль и август) количество продаж меньше чем в последние четыре месяца года. Разумеется, вы можете просто изучить числовые значения, но графическое отображение данных делает этот процесс более наглядным и быстрым. "\ Гистограмма — это всего лишь один из типов графического представления дан- ДолопнительАя Ных в Excel. Этот и другие типы диаграмм детально описаны далее в главе, (информация Как Excel работает с диаграммами Диа1раммы создаются на основе данных, содержащихся в рабочем листе, поэтому перед созданием диаграммы необходимо их ввести. Обычно данные, используемые в диаграммах, расположены в одном листе или в отдельной рабочей книге, но это вовсе не обязательно. Одна диаграмма может использовать данные из любого количества листов и даже из нескольких рабочих книг. Диаграмма — это объект, создаваемый Excel. Этот объект создается из одного или нескольких рядов данных, представленных в графическом виде (в каком именно, зависит от типа диаграммы). Например, если вы строите график по двум рядам данных, то он будет содержать две линии — каждая для представления одного ряда. Данные для каждого ряда хранятся в отдельном столбце или строке. Ряды данных диаграммы связаны с ячейками рабочего листа. Каждая точка на линии графика определяется по значению, которое находится в отдельной ячейке. Чтобы отличить линии друг от друга, им задают разную толщину, цвет или наносят специальные метки данных. На рис. 16.2 представлен пример линейчатой диаграммы, изображающей две числовые последовательности, которые содержат данные за 12 лет. Чтобы различать ряды данных, используются маркеры (квадратные и круглые), представленные в легенде под диаграммой. Никогда не забывайте, что диаграммы Excel динамические. Другими словами, диаграмма связана с данными рабочего листа. Если изменить данные, то автоматически произойдет обновление диаграммы в соответствии с новыми значениями. Глава 16. Основы построения диаграмм 311
Рис. 16.2. График, содержащий две числовые последовательности После того как диаграмма создана, всегда можно изменить ее тип, добавить специальные атрибуты форматирования, дополнить ее новым рядом данных, изменить диапазоны, на которые ссылаются существующие ряды данных, а также выполнить другие действия. Перед созданием диаграммы следует определить, где будет находиться новая диаграмма: на существующем рабочем листе (внедренная диаграмма) или на новом листе диаграммы. Можно легко переместить внедренную диаграмму на отдельный лист диаграммы и наоборот. Внедренные диаграммы Обычно внедренная диаграмма расположена на верхнем уровне рабочего листа, который еще называют графическим. Обе диаграммы, представленные выше в этой главе, являются внедренными. Как и другие графические объекты (текстовое поле, изображение), диаграмму можно перемещать, изменять ее размеры и пропорции, выравнивать границы, а также выполнять другие операции. Основное преимущество внедренных диаграмм состоит в том, что их можно расположить, а затем и распечатать рядом с данными, которые использовались для построения этих диаграмм. Чтобы внести какие-либо изменения во внедренную диаграмму, необходимо ее активизировать. Для этого нужно щелкнуть на ней левой кнопкой мыши. После активизации диаграммы меню Данные изменится на меню Диаграмма, кроме того, изменятся некоторые команды других меню. Диаграмма, расположенная на отдельном листе Это диаграмма, которая занимает весь лист. Поэтому, чтобы напечатать диаграмму на отдельной странице, лучше всего использовать лист диаграммы. Если требуется создать много диаграмм, имеет смысл строить каждую из них на отдельном листе, чтобы избежать "захламления" рабочего листа. Кроме того, этот метод позволяет легко отыскать нужную диаграмму, присвоив листам диаграмм содержательные имена. Как уже отмечалось, при активизации листа диаграммы меню Excel изменяется. Меню Данные исчезает, а на его месте появляется меню Диаграмма, в других меню также появляются соответствующие команды для работы с диаграммами. 312 Часть III. Создание диаграмм и изображений
Программа Excel представляет диаграммы в так называемом режиме WYSIWYG (What You See Is What You Get — что видите, то и получите). Это значит, что распечатанная диаграмма будет выглядеть точно так же, как и на листе диафаммы. Если диафамма полностью не помещается на экране, следует воспользоваться полосами прокрутки или средством масштабирования. Можно установить такой размер диаграммы, расположенной на отдельном листе, Совет чтобы он соответствовал размеру окна. Для этого используйте команду Вид=>По • размеру окна. Когда выбрана эта команда, диаграмма будет изменяться в соот- чЛ ветствии с размером окна рабочей книги. Таким образом, диаграмма всегда будет занимать все пространство окна. Но помните, что в этом режиме диаграмма не всегда отображается в том виде, в котором она будет распечатана. Диафамму, расположенную на отдельном листе, можно легко преобразовать во внедренную. Для этого выберите команду ДиаграммаОРазмещение и в диалоговом окне Размещение диаграммы выберите опцию Имеющемся, затем выберите лист, в котором будет находиться внедренная диафамма. После щелчка на кнопке OK Excel автоматически удалит лист с диафаммой и переместит ее на указанный лист. Эту операцию можно выполнить и в обратном направлении: выбрать внедренную диафамму и переместить ее на новый лист диаграммы. ^^^^ Помните, что лист диаграммы, как и рабочий лист, может содержать несколько Tia заметку внедренных диаграмм. Чтобы переместить внедренную диаграмму на лист диаграммы, выберите команду ДиаграммаоРазмещение. В появившемся диалоговом окне второй раскрывающийся список содержит не только рабочие листы, но и листы диаграмм. / Параметры диаграммы На рис. 16.3 приведен пример комбинированной диафаммы, которая отображает два ряда данных: Доход и Уровень Прибыли. Ряд Доход изображен в виде вертикальных колонок, а Уровень прибыли — в виде линии с квадратными маркерами. Каждая колонка (или маркер линии) представляет одну точку ряда данных (данные, содержащиеся в одной ячейке). До к од 250000 - Доход & Прибыль Рис. 16.3. Пример комбинированной диаграммы Диафамма имеет горизонтальную ось, которая называется осью категорий. Эта ось отображает категорию каждой единицы данных (Янв, Фев и т.д.). Метки внизу диафаммы (месяцы) являются метками оси категорий. Глава 16. Основы построения диаграмм 313
Обратите внимание: рассматриваемая диаграмма имеет две вертикальные оси, которые называются осями значений, причем их шкалы отличаются друг от друга. Левая ось предназначена для колонок (Доход), а правая — для линии (Уровень прибыли). Оси значений отображают значения масштабного коэффициента. Левая ось содержит значения от 0 до 250 000 с шагом 50 000. Правая ось использует другую шкалу значений: от 0 до 14% с шагом 2%. Использовать две вертикальных оси очень удобно в тех случаях, когда две числовые последовательности значительно отличаются друг от друга. Например, если для представления ряда данных Размер прибыли использовать левую ось, то этот ряд просто сольется с горизонтальной осью и не будет виден. Многие диаграммы содержат легенды, в которых определяется внешний вид рядов данных. В приведенном выше примере легенда размещена справа от диаграммы. Кроме того, в некоторых диаграммах используются подписи данных, которые содержат значения каждой точки ряда данных. В примере подписи данных используются для ряда Уровень прибыли, для ряда Доход подписи данных не отображаются. Более того, многие диаграммы (в том числе и показанная на рис. 16.3) содержат заголовок диаграммы и названия осей. Диаграмма на рис. 16.3 содержит горизонтальные линии сетки (которые соответствуют только левой оси). Линии сетки, по сути, представляют собой продолжение разметки оси, позволяя приблизительно оценить значение точки ряда данных. Более того, каждая диаграмма имеет область диаграммы (вся площадь, занимаемая диаграммой и ее элементами) и область построения диаграммы (часть, которая содержит собственно диаграмму: ряды данных, оси и метки). Ограничения Excel по созданию диаграмм Ниже в таблице приведены некоторые ограничения, накладываемые на диаграммы, создаваемые в Excel. Скорее всего, эти ограничения никак не повлияют на работу большинства пользователей, но о них нужно знать. Элемент Количество диаграмм, расположенных на отдельных листах Количество внедренных диаграмм на листе Количество рядов данных в диаграмме Количество точек в одном ряде данных Количество точек в одном ряде данных (объемные диаграммы) Общее количество точек данных в одной диаграмме Ограничение Ограничено доступной памятью 255 255 32 000 4 000 256 000 Некоторые типы диаграмм могут иметь дополнительные элементы. Например, круговая диаграмма имеет несколько частей, но не имеет осей, а объемные диаграммы имеют стенки и основание. Кроме того, на диаграмму можно добавить множество дополнительных элементов, например линию тренда или планки погрешностей. Построение диаграмм В этом разделе описываются методы построения как внедренных диаграмм, так и диаграмм, расположенных на отдельных листах. Обычно диаграммы создаются с помощью средства Мастер диаграмм, но Excel позволяет создать диаграммы и без использования этого средства. 314 Часть III. Создание диаграмм и изображений
Создание диаграммы нажатием одной клавиши Чтобы убедиться в том, что создать диаграмму очень просто, следуйте приведенным ниже инструкциям. Этот пример показывает, как можно создать диаграмму на отдельном листе, не прибегая к помощи средства Мастер диаграмм. 1. Введите в рабочий лист данные, которые будут использоваться для создания диаграммы. На рис. 16.4 показан пример данных, которые можно использовать для создания диаграммы. 2. Выделите диапазон данных, включая заголовки строк и столбцов. Например, если диаграмма строится на основе данных, представленных на рис. 16.4, необходимо выделить диапазон А1:С4. 3. Нажмите клавишу <F11>. Excel построит на основе выделенного диапазона диаграмму и поместит ее на новый лист диаграммы с названием Диаграмма1. На рис. 16.5 показан результат выполнения этой процедуры. f-l ■■ 1 А | 1 Юг 2 Яне 3 сев 4 Мер б 6 7 | |м « » м' ftecTl - JOi*i В С D Е Т Север 1843 982 2283 1092 2184 1143 -I- Рис. 16.4. На основе представленных данных можно построить диаграмму Рис. 16.5. Диаграмма была создана одним нажатием клавиши В этом простом примере программа использовала предусмотренный по умолчанию тип диаграммы (гистограмма). Эту диафамму, как и любую другую, можно изменять и настраивать. Например, к ней можно добавить заголовок. Методы настройки и редактирования диа- фамм описаны далее в главе. Глава 16. Основы построения диаграмм 315
Создание диаграммы щелчком мыши Чтобы создать внедренную диаграмму без помощи средства Мастер диаграмм, выполните перечисленные ниже действия. 1. Убедитесь в том, что на экране видна панель инструментов Диаграммы. Если ее нет на экране, щелкните правой кнопкой мыши на любой панели инструментов и в контекстном меню выберите команду Диаграммы. 2. Выделите данные, на основе которых будет создаваться диаграмма. 3. Щелкните на кнопке Тип диаграммы, расположенной на панели инструментов Диаграммы, и выберите тип диаграммы. На рабочий лист будет помещена диаграмма выбранного типа с заданными по умолчанию установками. Команда Тип диаграммы на панели инструментов Диаграммы отображается в lit заметку виде пиктограммы, соответствующей типу диаграммы, который последний раз использовался. При щелчке на стрелке рядом с пиктограммой появляется выпадающий список всех восемнадцати стандартных типов диаграмм (рис. 16.6). Более детальную информацию о командах этой панели инструментов можно найти во врезке "Панель инструментов Диаграммы". I А 1 3 4 Фее Map « 6 ц г 8 14 16 18 1? ie IS и". . -', А-. В | С КХ 2283 2184 Север 982 1092 1143 ._. IWxl/— —D - — Г ■ <3 Н t J Т f t*~[MJf •О Л ф К » А U М «й • *fc « У . Пирвгл4Я4)*н*в диагрлмла) | —■ JLi Рис. 16.6. Инструмент Тип диаграммы позволяет одним щелчком мыши создать диаграмму любого типа Панель инструментов Диаграммы Эта панель инструментов появляется автоматически при активизации листа диаграммы или после щелчка на внедренной диаграмме. Кроме того, чтобы ее отобразить, можно выбрать команду ВидоПанели инструментов^Диаграммы. Эта панель содержит девять инструментов. Инструменты панели Диаграммы позволяют быстро изменить некоторые параметры диаграммы. 316 Часть III. Создание диаграмм и изображений
♦ Элементы диаграммы. Когда диаграмма выделена, в этом поле отображается выделенный элемент диаграммы. Кроме того, щелкнув на стрелке раскрывающегося списка, можно выделить любой доступный элемент. ♦ Формат выделенного объекта. После щелчка на этом инструменте появляется диалоговое окно Формат для выбранного объекта. ♦ Тип диаграммы. После щелчка на кнопке раскрытия этого инструмента на экране появляется палитра, состоящая из 18 типов диаграмм. После раскрытия ее можно перетащить в любую часть экрана, создав таким образом миниатюрную плавающую панель инструментов Тип диаграммы. ♦ Легенда. Добавляет или удаляет легенду для выделенной диаграммы. ♦ Таблица данных. Отображает таблицу данных, на основе которых была построена диаграмма. ♦ По строкам. Указывает, что ряды данных расположены в строках таблицы. ♦ По столбцам. Указывает, что ряды данных расположены в столбцах таблицы. ♦ Текст по часовой стрелке. Выбранный текст размещается под углом - 45°. ♦ Текст против часовой стрелки. Выбранный текст размещается под углом +45°. Последние два инструмента являются переключателями. Иными словами, чтобы отменить поворот текста, еще раз используйте соответствующую команду. Кроме того, для работы с диаграммами можно использовать некоторые инструменты, размещенные на других панелях инструментов, в частности Цвет заливки, Цвет шрифта, Полужирный, Курсив, Подчеркнутый, Шрифт и некоторые другие. В Excel есть несколько других инструментов для работы с диаграммами, которые не вошли в ростав панели инструментов Диаграммы. Чтобы настроить панель инструментов и включить в нее дополнительные инструменты выполните ряд действий. 1. Убедитесь в том, что на экране видна панель инструментов Диаграммы. 2. Выберите Видо Панели инструментов1^ Настройка. На экране появится диалоговое окно Настройка. 3. Выберите вкладку Команды. 4. В списке Категории выберите Диаграмма. 5. В списке Команды выберите нужную команду и, щелкнув на ней, перетащите на панель инструментов Диаграммы. 6. Повторите предыдущий шаг для всех остальных элементов, которые необходимо добавить на панель инструментов. 7. Чтобы закрыть диалоговое окно, щелкните на кнопке Закрыть. Использование средства Мастер диаграмм В предыдущих разделах были описаны два способа быстрого создания диаграмм. К сожалению, часто бывает так, что нужно задать какие-то определенные настройки диаграммы, которые отличаются от заданных по умолчанию. В этом случае, разумеется, можно изменить настройки вручную после создания диаграммы. Но для большего контроля лучше воспользоваться средством Мастер диаграмм. Самый распространенный (и самый удобный) способ создания диаграмм — это использование средства Мастер диаграмм. Для этого выполните ряд действий. 1. Выделите данные, на основе которых будет строиться диаграмма. 2. Выберите команду ВставкаОДиаграмма (или щелкните на кнопке Мастер диаграмм стандартной панели инструментов). Глава 16. Основы построения диаграмм 317
3. Следуя указаниям мастера, определите настройки диафаммы. 4. Щелкните на кнопке Готово, чтобы создать диафамму. В следующем разделе средство Мастер диаграмм описано более детально. Создание диаграммы с помощью средства Мастер диаграмм Средство Мастер диаграмм состоит из четырех диалоговых окон, используя которые, можно задать параметры создаваемой диафаммы. Если вы никогда ранее не создавали диаграммы в Excel, внимательно прочитайте этот раздел, а также повторите описанный здесь пример. Выбор данных Прежде чем запустить средство Мастер диаграмм, выделите данные для построения диафаммы. Вообще-то в этом нет строгой необходимости, но это упрощает работу. Если вы не выделили данные перед запуском средства Мастер диаграмм, их можно выбрать во втором диалоговом окне мастера. При выборе данных в выделяемый диапазон следует включить и такие элементы, как заголовки строк и столбцов, относящиеся к рядам данных диафаммы. На рис. 16.7 показан рабочий лист, содержащий данные, на основе которых будет создаваться диафамма. Эти данные представляют собой процентное соотношение людей, постоянно читающих газеты. Данные упорядочены по годам и по уровню образованности читателей. Эту рабочую книгу можно найти на прилагаемом компакт-диске. На компакт- диске l$JM«eir«|» диаграмм xts AS С D E F Уровень образованности постоянных читателей газеты Бв1 среднего обрамвания ^iSUI Среднее - образование Высшее Ученая обрааованмв | степень 65% 66% 46% «4% 40% 43% 71% 59% 55% 53% 46% 70% 70% 60% 59% 57% 46% б«% Рис. 16.7. Данные, которые используются для создания диаграммы Для этого примера выделите диапазон АЗ:Е9. Этот диапазон содержит заголовки столбцов, но в него не входит название диафаммы, которое хранится в ячейке А1. Данные для диаграммы не обязательно должны быть расположены в одном смеж- Совет ном диапазоне. Чтобы выделить несколько диапазонов, нажмите клавишу <Ctrl> и щелкните на нужных ячейках. В этом случае Excel будет использовать для по- ■•Л строения диафаммы только выделенные ячейки. Тем не менее исходные данные должны храниться на одном рабочем листе. Чтобы построить диаграмму на основе 318 Часть III. Создание диаграмм и изображений
данных из разных рабочих листов, следует добавить дополнительные ряды данных после создания диаграммы (или же указать их во вкладке Ряд на втором шаге Мастера диаграмм). В любом случае данные будут скопированы на один рабочий лист. Другими словами, Excel не позволяет создавать диаграммы на основе данных из разных рабочих листов. После того как данные были выделены, запустите средство Мастер диаграмм. Для этого нужно щелкнуть на кнопке Мастер диаграмм, которая расположена на стандартной панели инструментов, или выбрать команду Вставка^Диаграмма. На экране появится первое из четырех диалоговых окон мастера диаграмм. В любой момент можно вернуться к предыдущему этапу работы, щелкнув на кнопке Назад. Для немедленного завершения построения диаграммы щелкните на кнопке Готово. Если вы закроете средство Мастер диаграмм, не дойдя до последнего шага, Excel создаст диаграмму, используя имеющуюся на текущий момент информацию и параметры, принятые по умолчанию. Не стоит пытаться создать совершенную диаграмму с первого раза. Помните, что все параметры, которые задаются с помощью средства Мастер диаграмм, можно изменить в любой момент. Мастер диаграмм: шаг 1 из 4 На рис. 16.8 показано первое диалоговое окно средства Мастер диаграмм. Здесь определяется тип создаваемой диаграммы. Диалоговое окно содержит две вкладки: Стандартные и Нестандартные. Во вкладке Стандартные представлены 14 основных типов диаграмм с соответствующими подтипами. Во вкладке Нестандартные показаны некоторые специальные типы диаграмм, включая разработанные пользователем. ■ тззрг Рис. 16.8. Первое диалоговое окно средства Мастер диаграмм Для данного примера подходящим будет тип диаграммы График С маркерами. Выберите в списке Тип элемент График, а затем щелкните на пиктограмме подходящего вида (подтипа) [рафика в списке Вид. Совет При работе с вкладкой Нестандартные можно сразу увидеть, как выглядит создаваемая диаграмма. Во вкладке Стандартные для этого нужно щелкнуть на кнопке Просмотр результата, при этом кнопку мыши следует удерживать нажатой. Определив тип и подтип диаграммы, щелкните на кнопке Далее, чтобы перейти к следующему шагу. Глава 16. Основы построения диаграмм 319
Мастер диаграмм: шаг 2 из 4 На втором этапе работы средства Мастер диаграмм (рис. 16.9) можно определить следующие параметры: ■ проверить диапазон исходных данных и, если необходимо, изменить его; ■ определить ориентацию рядов данных (по строкам или по столбцам); ■ проверить, правильно ли Excel разбила исходные данные на категории и ряды. Диапазон д***« \ ■ л \ 1Ш им ДНрПММ Ряде е. i С строе» **"стш£цах Отмена | <Ь*МД j -*~Г*л ™ Д41М*> | .11*1 с» row Рис. 16.9. Мастер диаграмм (шаг 2 из 4) Проверка диапазона исходных значений Диалоговое окно средства Мастер диаграмм на втором шаге содержит две вкладки: Диапазон данных и Ряд. Перейдите во вкладку Диапазон данных. Поле Диапазон содержит ссылку на диапазон, который был выделен перед запуском средства Мастер диаграмм. Если же была выделена только одна ячейка, то Excel укажет ссылку на предполагаемый диапазон исходных данных. Если диапазон данных определен неверно, его можно изменить. Для этого выделите поле Диапазон и выделите на рабочем листе нужные данные. Кроме того, изменить указанный диапазон можно вручную с помощью клавиатуры. Существует еще один способ определить диапазон исходных данных. Активизи- Совет руйте поле Диапазон, а затем, используя клавиши управления курсором, выдели- те нужный диапазон. Чтобы перейти в обычный режим, нажмите клавишу <F2>. С\ После этого клавиши управления курсором можно использовать для редактирования ссылки на диапазон. В примере выделенный вначале диапазон исходных данных был правильным, поэтому никаких изменений на этом этапе вносить не нужно. Изменение ориентации данных Ориентация данных кардинально влияет на внешний вид диаграммы. В Excel есть правила, по которым она определяет ориентацию данных. Но если Excel определила эту опцию неправильно, то ориентацию можно задать вручную, установив в нужное положение переключатель Ряды в. После изменения положения переключателя результат сразу отобразится в диалоговом окне. 320 Часть III. Создание диаграмм и изображений
Для нашего примера ориентацию данных Excel определила правильно: ряды данных располагаются в столбцах. Определение категорий и рядов данных Внимательно посмотрев на внешний вид диаграммы, можно заметить, что на данном этапе она не такая, как хотелось бы. Excel ошибочно определила годы в столбце А как ряд данных. В действительности, номер года является названием категории и должен рассматриваться как текст, а не выводиться на диаграмме как числовое значение. Поскольку мастер диаграмм не определил категории автоматически, их нужно задать вручную. Для этого следует перейти во вкладку Ряд, показанную на рис. 16.10. Список Ряд содержит названия всех рядов данных диаграммы. Если выбрать ряд из этого списка, то справа отобразятся ссылки на имя и значения выбранного ряда. В примере для ряда Год имя содержится в ячейке A3, а значения — в диапазоне А4:А9. Поскольку ряд Год в действительности не является рядом, а содержит названия подписей оси X. то его следует удалить из этого списка. Для этого выделите нужный ряд и щелкните на кнопке Удалить. В результате внешний вид диаграммы изменится. Теперь она выглядит лучше, но не имеет подписей по оси категорий (горизонтальная ось). Поле Подписи ОСИ X пустое, поэтому следует определить диапазон, который содержит эти подписи. Чтобы добавить подписи, щелкните на поле и выделите диапазон А4:А9. Теперь диаграмма приняла правильный вид (рис. 16.11). Годы отображаются как категории на горизонтальной оси, а сама диаграмма состоит из четырех рядов данных. JJ*J Диапазон д.-**». [****. jj |-Пист1фЦЭ i -*-Г*л С»«л1ш<>м1—* Рис. 16.10. Вкладка Ряд 2J 6 L^JpeMBdt** , i "3 Отивиа [ <Цаз*А | &>чм> > I Ргсоео ■."■'.'ЦП fytantcoH А*б*ых Ряд rs: an »u см J Добавить] 5£Дв*«ть| J-rVCTl!$A»4$AfV "В | &&wg> j tora» Рис. 16.11. После удаления одного ряда и добавления подписей оси X диаграмма приняла правильный вид При определении подписей оси X программа анализирует тип выбранных данных. В этом примере годы в столбце А были числовыми значениями, поэтому Excel восприняла их как данные. Также обратите внимание на то, что если подписи оси X не определены, то Excel в качестве подписей использует последовательность натуральных чисел (1, 2, 3 и т.д.). В данном примере можно предположить, что если применить к диапазону А4:А9 текстовый формат, то Excel воспримет его как Глава 16. Основы построения диаграмм 321
подписи, но это не так. Тем не менее перед значением года можно добавить апостроф, при этом заголовок столбца (Год) необходимо удалить. В последнем случае Excel корректно распознает годы как подписи оси X. Щелкните на кнопке Далее для перехода к следующему диалоговому окну. Мастер диаграмм: шаг 3 из 4 В третьем диалоговом окне средства Мастер диаграмм (рис. 16.12) задается большинство опций, определяющих внешний вид диаграммы. Эти опции зависят от типа диаграммы, выбранного на первом шаге. Диалоговое окно содержит шесть вкладок. ■ Заголовки. Добавление заголовков диаграммы. Обратите внимание, что в поля этой вкладки нельзя ввести ссылки на ячейки, здесь можно вводить только текст. ■ Оси. Отображение и удаление осей, а также определение типа осей. ■ Линии сетки. Определение параметров сетки, если она есть на диаграмме. ■ Легенда. Здесь можно указать, отображать ли легенду, и если да, то куда ее поместить. ■ Подписи данных. В этой вкладке можно указать, отображать ли названия данных, и если да, то в каком виде. ■ Таблица данных. Здесь определяется, нужно ли показывать под диаграммой таблицу данных. zmtrr "РПТ-Г .11*1 ПОДПИСИ «ДННЫХ £7 **"»****, ,.*,*} Оси Нюванив *иагрчииь« [Уровень образованности по I щ ОаХ(КатогермЦ- [год ОсьУ<Зидуиий> I ! Tetwma Ааниьи JWtfcrr» | Легенда UN Ml Ml 1 "S т.*тж pHU-r. OftWHa j <цювд | flaflc* > f Сотою Рис. 16.12. В третьем диалоговом окне мастера диаграмм содержатся опции, определяющие внешний вид диаграммы 0 i^* В зависимости от типа диаграммы, выбранного на первом шаге мастера диа- На заметку грамм, опции на третьем шаге могут отличаться. / После внесения изменений результат сразу же отобразится на диаграмме. В этом примере изменяются только два параметра во вкладке Заголовки. В поле Название диаграммы следует ввести Уровень образованности постоянных читателей газеты, а в поле Ось X (категорий) — Год. После выбора опций щелкните на кнопке Далее для перехода к последнему диалоговому окну мастера диаграмм. 322 Часть III. Создание диаграмм и изображений
Мастер диаграмм: шаг 4 из 4 В последнем диалоговом окне средства Мастер диаграмм (рис. 16.13) следует указать, где будет находиться диафамма. Установите переключатель в положение отдельном, чтобы разместить диафамму на отдельном листе, или в положение имеющемся, чтобы создать внедренную диафамму. Выбрав нужную опцию, щелкните на кнопке Готово. -У*! <^ яикщеиах р""^1 Отмени j <йыад J Ь Зткзеа | Рис. 16.13. На четвертом шаге мастера диаграмм следует указать, где должна размещаться диаграмма После этого диафамма будет создана и отобразится на экране. ^^^ Если была создана внедренная диаграмма, Excel расположит ее по центру ак- Тна заметку тивного окна и активизирует. Размер диаграммы будет приблизительно в два раза меньше, чем размер активного окна, а пропорции будут такими же. После выделения диаграммы вокруг диапазонов с рядами данных и заголовками появляются цветные рамки. Это позволяет увидеть, на основании каких данных построена диаграмма. На рис. 16.14 показана созданная диафамма. Если вас что-то в ней не устраивает, ее параметры всегда можно изменить. А В С D Е • Уровень образованности постоянных читателей газеты J.lQfxl Бе! среднего Среднее Высшее Ученая образования образование образование степень 1992 1995 1998 2000 2002 53% 47% 65% 56% 71% 59%: 70% 70% Уровень образованности постоянных читателей газеты 80% 70% 50% 50% ■ «■ 30% 20% 10% 0% - Без среднего образования - Среднее образование - Высшее образование - Ученая степень 1990 1992 1995 1998 2000 2О02 JLlL J 4Г Рис. 16.14. Диаграмма была создана средством Мастер диаграмм на основе указанных параметров Глава 16. Основы построения диаграмм 323
Изменение стандартного типа диаграммы В этой главе несколько раз упоминался тип диаграммы, предусмотренный по умолчанию. Под стандартным типом диаграммы понимается тип диаграммы, а также значения параметров диаграммы, на основе которых будет создана новая диаграмма, если эти параметры не изменять вручную. Таким типом в Excel является двухмерная гистограмма со светло-серой областью построения, горизонтальными линиями сетки и легендой, расположенной справа. Если вам не нравится этот вид диаграммы или обычно вы используете другой тип диаграммы, то его можно легко изменить. 1. Щелкните на диаграмме, чтобы активизировать ее. Выберите команду Диаграмма^Тип диаграммы. 2. Выберите тип диаграммы, который следует использовать по умолчанию. Тип можно выбрать как из вкладки Стандартные, так и из вкладки Нестандартные. 3. Щелкните на кнопке Сделать стандартной. После этого подтвердите свой выбор. Если вам приходится создавать много диаграмм одного и того же типа, то имеет смысл изменить тип диаграммы, принятый по умолчанию, на тот, с которым вы работаете. После этого можно создавать диаграммы, не выбирая их тип каждый раз. Изменение параметров диаграмм Созданную диаграмму можно в любой момент модифицировать. Существует множество способов модификации диаграммы. В этом разделе описаны некоторые часто используемые возможности настройки диаграмм. ■ Перемещение и изменение размеров диаграммы. ■ Изменение типа диаграммы. ■ Перемещение элементов диаграммы. ■ Удаление элементов диаграммы. ■ Форматирование элементов диаграммы. Совет • Прежде чем приступать к модификации диаграммы, ее нужно активизировать. Чтобы активизировать внедренную диаграмму, щелкните на ней. При этом активизируется вся диаграмма и будет выбран тот элемент, на котором вы щелкнули. Для того чтобы активизировать диаграмму, расположенную на отдельном листе, просто щелкните на ярлычке этого листа. Перемещение и изменение размеров диаграммы Если диаграмма находится на отдельном листе, ее нельзя перемещать или изменять ее размер. Однако можно изменить вид диаграммы с помощью команды Вид^По размеру окна. Если же это внедренная диаграмма, то ее можно свободно перемещать и изменять размеры. Для перемещения диаграммы нужно щелкнуть на ее рамке, а затем перетащить ее. Чтобы изменить размер диаграммы, нужно перетащить любой из восьми маркеров размера, расположенных на рамке диаграммы. 324 Часть III. Создание диаграмм и изображений
Изменение типа диаграммы Чтобы изменить тип выбранной диаграммы, воспользуйтесь одним из предложенных ниже способов. ■ Щелкните на кнопке Тип диаграммы, которая расположена на панели инструментов Диаграммы, и выберите один из 18 основных типов диаграмм. ■ Выберите команду Диаграмма^Тип диаграммы. ■ Щелкните правой кнопкой мыши на диаграмме и из появившегося контекстного меню выберите команду Тип диаграммы. При выборе команды Диаграмма^Тип диаграммы на экране появится диалоговое окно, такое же как было на первом шаге средства Мастер диаграмм. Если нужно выбрать один из стандартных типов (и подтипов) диаграммы, щелкните на вкладке Стандартные. Если же требуется выбрать один из нестандартных типов диаграммы, щелкните на вкладке Нестандартные. Когда выбран тип диаграммы, щелкните на кнопке ОК, чтобы изменить тип выделенной диаграммы. Г Если вы изменили некоторые элементы диаграммы, то выбор нового типа из I вкладки Нестандартные может привести к удалению некоторых или всех внесенных ие' изменений. Например, если на диаграмме были добавлены линии сетки, а затем был выбран нестандартный тип диаграммы, не использующий сетку, то линии сетки исчезнут. Поэтому, прежде чем внести изменения в диаграмму, убедитесь, что выбранный тип диаграммы вам подходит. Впрочем, всегда можно воспользоваться командой ПравкаоОтменить, чтобы вернуть диаграмме исходный вид. Если установить переключатель дополнительные во вкладке Нестандартные, то в списке Тип будут отображаться только созданные пользователем форматы диаграмм. Копирование диаграмм Чтобы сделать точную копию внедренной диаграммы, нажмите и удерживайте нажатой клавишу <Ctrl>. Щелкните на диаграмме и перетащите ее в другое место. Чтобы скопировать диаграмму, расположенную на отдельном листе, проделайте ту же процедуру, но перетаскивайте не саму диаграмму, а ярлычок листа, на котором она находится. Удаление диаграммы Чтобы удалить внедренную диаграмму, нажмите клавишу <Ctrl> и щелкните на диаграмме (в результате диаграмма будет выделена как объект). Затем нажмите клавишу <Delete>. Чтобы удалить диаграмму, расположенную на отдельном листе, щелкните правой кнопкой мыши на ее ярлычке и из контекстного меню выберите команду Удалить. Перемещение и удаление элементов диаграммы Некоторые элементы диаграммы можно перемещать (например, заголовки, легенду или таблицу данных). Чтобы переместить элемент диаграммы, выберите его, щелкнув мышью, а затем перетащите в нужное место диаграммы. Для удаления элемента диаграммы выделите его, а затем нажмите клавишу <Delete>. Глава 16. Основы построения диагсамм 325
Другие изменения диаграммы Когда диаграмма активизирована, можно выбрать любой элемент диаграммы, а затем изменить его параметры. Модификация диаграммы подобна любому другому действию в Excel: сначала нужно выделить объект (в данном случае — элемент диаграммы), а затем выполнить нужную команду. После щелчка правой кнопкой мыши на каком-либо элементе появится контекстное меню. Это меню, как правило (но не всегда), содержит команду, которую нужно использовать. Для изменения цвета элемента можно воспользоваться кнопкой Цвет заливки, которая находится на панели инструментов форматирования. Например, если нужно изменить цвет, используемый для отображения ряда данных, выделите этот ряд и затем выберите нужный цвет с помощью инструмента Цвет заливки. Обратите внимание, что множество инструментов, расположенных на других панелях инструментов, также могут использоваться для работы с диаграммами. Например, можно выбрать легенду диаграммы, а затем, чтобы сделать ее шрифт полужирным, щелкнуть на кнопке Полужирный. Дважды щелкните на элементе диаграммы (или выделите его и нажмите комбинацию клавиш <Ctrl+l>), чтобы отобразить диалоговое окно форматирования для выбранного элемента. В зависимости от выбранного элемента, диалоговое окно может быть различным. В большинстве случаев диалоговые окна отличаются количеством вкладок. Большинство опций очевидны, например изменение шрифта заголовка диаграммы. Но некоторые могут быть более сложными. Л В главе 17 возможности настройки диаграмм рассматриваются более подробно, я «формация Кроме того, всегда можно щелкнуть правой кнопкой мыши, чтобы отобразить контекстное меню этого элемента, которое содержит большинство часто используемых команд. Печать диаграмм Печать внедренных диаграмм ничем особенным не отличается от печати обычного рабочего листа. Когда внедренная диаграмма включена в диапазон печати, она будет напечатана в том виде, в котором представлена на экране. Если же печатается весь рабочий лист, на котором находится диаграмма, то воспользуйтесь сначала средством Предварительный просмотр, чтобы убедиться, что диаграмма не была разбита на несколько страниц. Если внедренная диаграмма выделена перед использованием команды Файло Совет Печать или перед щелчком на кнопке Печать, то будет напечатана только диаграмма, а не весь рабочий лист. При печати в черновом режиме внедренная диаграмма напечатана не будет. Если же внедренную диаграмму вообще не нужно печатать, щелкните на ее рамке правой кнопкой мыши и из появившегося контекстного меню выберите команду Формат области диаграммы. Появится одноименное диалоговое окно, перейдите во вкладку Свойства и снимите флажок Выводить объект на печать. Если диаграмма создана на листе диаграммы, то она печатается на отдельной странице. Если лист диаграммы активный, то при вызове диалогового окна Параметры страницы вкладка Лист будет заменена вкладкой Диаграмма (рис. 16.15). I 326 Часть III. Создание диаграмм и изображений
Страница J поля J колонтитулы д*агр**и r Pwwp ди*гра|*!ы яри еь*аде на лечадь^^^: Vs* oenon>50B«Tbfa20 страницу J (~ Э?«стнть на странице (* по^эовательоз** Ямс. 16.15. Вкладка Диаграмма диалогового окна Параметры страницы В этом диалоговом окне содержится несколько опций. ■ Использовать всю страницу. Напечатанная диаграмма будет занимать по высоте и ширине всю область страницы между полями. Выбор этой опции не всегда удачен, поскольку при печати пропорции диаграммы изменяются, и она будет выглядеть не так, как на экране. ■ Уместить на странице. Пропорционально расширяет диаграмму в двух измерениях до тех пор, пока в одном направлении она не заполнит все пространство вплоть до полей страницы. Эта опция дает хорошие результаты при печати. ■ Пользовательский. Печатает диаграмму в том виде, в каком она представлена на экране. Используйте команду Вид■=> По размеру окна, чтобы ваша диаграмма соответствовала размеру и пропорциям окна. Опции группы Печать вкладки Диаграмма действуют так же, как и при печати рабочих листов. Если установить опцию Черновая, то диаграмма будет напечатана, однако качество может быть невысоким (в действительности результат зависит от вашего принтера). При выборе опции Черно-белая ряды данных будут отпечатаны с использованием черно-белой, а не цветной палитры цветов. Большинство черно-белых принтеров автоматически преобразуют цвета диафаммы в фадации серого, даже если эта опция не установлена. Но лучше сначала поэкспериментировать, чтобы определить оптимальные параметры печати для вашего принтера. Типы диаграмм Excel Как правило, диафаммы создаются для того, чтобы доказать какое-либо утверждение или передать какое-то сообщение. Обычно само сообщение явно указано в заголовке диафаммы или в текстовом поле, расположенном рядом с ней. Сама же диафамма обеспечивает наглядность этого утверждения или сообщения. Если тип диафаммы выбран правильно, то утверждение может стать неоспоримым фактом. Поэтому, как правило, не стоит жалеть времени, пофаченного на эксперименты с различными типами диафамм. Очень важно определить тип диафаммы, который позволяет наиболее наглядно представить данные. Практически всегда сообщением, которое требуется донести с помощью диафаммы, является сравнение. Можно выделить несколько общих типов сравнений. Глава 16. Основы построения диаграмм 327
■ Сравнение нескольких элементов. Например, диаграмма используется для сравнения объемов продаж продукции компании по регионам. ■ Сравнение данных по времени. Например, диаграмма содержит объем продаж по месяцам, а также общую тенденцию развития. ■ Относительное сравнение. Примером может служить обычная круговая диаграмма, которая изображает относительные доли в виде "секторов круга". ■ Сравнение соотношения данных. Для этого идеально подходит точечная диаграмма, например если требуется показать взаимоотношения между расходами и доходами. ■ Сравнение по частотам. Обычная гистограмма; например, может использоваться для того, чтобы отобразить количество (возможно, в процентах) студентов, успеваемость которых находится в определенном диапазоне. ■ Определение "выбросов" или нестандартных ситуаций. Если имеются тысячи точек данных, то диаграмма поможет определить нехарактерные значения. Выбор типа диаграммы Пользователи Excel часто перед созданием диаграммы задают вопрос: "Как определить, какой тип диаграммы использовать для наиболее точного представления моих данных?" К сожалению, однозначного ответа на этот вопрос нет. Можно только сказать, что следует использовать тот тип диаграмм, с помощью которого можно наиболее простым и наглядным способом передать ваше сообщение. На рис. 16.16 показано шесть диаграмм разных типов, которые были построены на основе одного набора исходных данных. Несмотря на то что все шесть диаграмм представляют одну и ту же информацию (количество посетителей сайта в месяц), они значительно отличаются друг от друга. Рис. 16.16. Одни и те же данные представлены с помощью шести типов диаграмм 328 Часть III. Создание диаграмм и изображений
Гистограмма (вверху слева) в данном случае, наверное, является наиболее подходящим вариантом, поскольку информация по каждому месяцу ясно представлена в отдельных столбцах. Линейчатая диаграмма (вверху справа) аналогична гистограмме, повернутой на 90е по часовой стрелке. Следует помнить, что многие лучше воспринимают временные данные слева направо, чем сверху вниз. Для этого набора данных фафик (посередине слева) не очень подходит, поскольку этот тип диафамм, как правило, применяется для непрерывных, а не дискретных данных. В примере имеется только 12 точек данных и ничего не известно о том, как ведет себя фафик в других точках. То же самое можно сказать и о диафамме с областями (посередине справа). Круговая диафамма (внизу слева) выглядит очень сложно и не передает временную природу данных. Круговая диафамма применяется для фафического изображения ряда данных, когда нужно показать пропорциональное отношение между несколькими точками данных. Если же точек данных довольно много, то круговую диафамму будет трудно понять. Лепестковая диафамма (внизу справа) не подходит для этого набора данных, так как разобраться во временных данных, расположенных по кругу, очень сложно. К счастью, изменить тип диафаммы в Excel не составляет труда. Поэтому желательно поэкспериментировать с типами диаграмм, чтобы определить тип, с помощью которого можно представить конкретный набор данных как можно более точно и ясно. Оставшаяся часть главы посвящена описанию различных стандартных типов диафамм Excel. Эта информация поможет определить, какой тип диафаммы лучше всего подходит для ваших данных. Стандартные типы диаграмм При создании диафамм с помощью средства Мастер диаграмм на первом шаге нужно определить тип диафаммы. Это диалоговое окно содержит две вкладки: Стандартные и Нестандартные. После выбора типа диафаммы в первой вкладке отображается набор подтипов. Например, гистофамма содержит семь подтипов. Далее описаны стандартные типы диафамм Excel, а также приведены примеры их использования. |^ Рабочие книги, содержащие все примеры, приведенные в следующих разделах, На компакт- можно найти на прилагаемом компакт-диске, диске Гистограммы Гистограмма — один из наиболее распространенных типов диафамм. Она представляет каждую точку данных в виде вертикального столбца, высота которого соответствует значению этой точки данных. Шкала значений отображается на вертикальной оси, которая, как правило, расположена в левой части диафаммы. Можно определить любое количество рядов данных, причем столбцы могут располагаться стопками (друг над другом). Как правило, чтобы различать ряды данных, столбцы окрашиваются в разные цвета или заливки. Гистофаммы часто используются для сравнения дискретных наборов данных, а также для изображения различий между точками данных одного или более рядов. Excel предлагает семь подтипов гистофамм. На рис. 16.17 представлена гистофамма, которая отображает годовые объемы продаж по двум изделиям. Из этой диафаммы ясно, что объем продаж стульев всегда больше, чем столов. Кроме того, каждый год объемы продаж столов уменьшаются, в то время как объемы продаж стульев увеличиваются. Глава 16. Основы построения диаграмм 329
1999 2000 2001 2002 2003 Рис. 16.17. Гистограмма позволяет сравнить объемы продаж двух изделий Гистограмма с накоплением, построенная на основе этих же данных, показана на рис. 16.18. Преимущество данного подтипа диаграмм в том, что можно увидеть общий годовой объем продаж по двум изделиям. Из диаграммы видно, что общий объем продаж все время остается приблизительно постоянным, в то время как относительная доля изделий меняется. 1999 2000 2001 2002 2003 Рис. 16.18. Гистограмма с накоплением отображает как объемы продаж по каждому изделию, так и общий объем продаж: Рис. 16.19. Нормированная гистограмма показывает относительный вклад каждого изделия в общий объем продаж На рис. 16.19 показана нормированная гистограмма, построенная на основе тех же данных. С помощью этого подтипа гистограмм можно показать относительный вклад каждого изделия. Обратите внимание, что ось значений отображает процентные значения, а не фактические объемы продаж. Этот подтип гистограмм часто может заменить несколько круговых 330 Часть III. Создание диаграмм и изображений
диаграмм. Тогда как в круговой диаграмме относительный годовой объем продаж показан в виде круга, в гистограмме для этого используется один столбец. Те же данные, изображенные в виде трехмерной гистограммы, показаны на рис. 16.20. Этот подтип используется потому, что такие гистограммы имеют более привлекательный вид. Несмотря на это, из-за искаженной перспективы провести сравнение изображенных на них данных сложнее. Обычно трехмерные гистограммы используются в тех случаях, когда нужно показать общие тенденции. 100000,"*'^-- 90000 80000 70 000 60000 40 000 хооо f" 1 ^ш ^\ 20000 >И iooooKj oL4^ 1999 -—_____ S-lx 2000 2001 В Г 2002 — 2003 ] _Р 1 ' 1 —I 1 - 1 ~ ШШ СТУЛЬ* у Столы ЕЭ Столы ■ Стулья Рис. 16.20. Трехмерная гистограмма Линейчатые диаграммы Линейчатая диаграмма— это, в сущности, гистограмма, повернутая на 90° по часовой стрелке. Преимущество использования линейчатых диаграмм состоит в том, что на них легче разместить метки категорий. На рис. 16.21 показана линейчатая диаграмма, отображающая значения по каждой из десяти категорий. Поскольку метки категорий достаточно длинные, то удобно разместить их на гистограмме довольно сложно. На выбор предлагается шесть подтипов линейчатых диаграмм. На замет а заметку / Количество клиентов, которые "Полностью согласны" Удобное расположение магазина Удобное время работь; магазина Магазин хорошо оснащен Удобный weо-сайт магазина Дружественный персонал Большой выбор товаров Низкие цены Вы продаете качественные товары В общем, мне здесь нравится Я буду рекомендовать ваш магазин Рис. 16.21. Если метки категорий достаточно длинные, то лучше использовать линейчатый тип диаграммы В отличие от гистограммы, в линейчатой диаграмме нет подтипа, который бы позволял отображать несколько рядов данных по третьей оси. Поэтому нет подтипа "трехмерная линейчатая диаграмма". Глава 16. Основы построения диаграмм 331
Как и гистограмма, линейчатая диаграмма может состоять из любого количества наборов данных. Кроме того, линейчатые диаграммы могут быть представлены в виде стопок по направлению слева направо. Графики График — один из самых распространенных типов диаграмм, который часто применяется для отображения непрерывных данных, а также для наглядного отображения тенденций. Например, при отображении ежедневных объемов продаж в виде графика видно их изменения и колебания со временем. Как правило, подписи по оси категорий нанесены с равными интервалами. Excel поддерживает семь подтипов графиков. На рис. 16.22 показан пример графика, который отображает ежедневные объемы продаж (200 точек данных). Несмотря на то что ежедневные изменения очень малы, на графике четко виден общий рост. Ежедневные объемы продаж 37 000 32 000 27 000 22 000 17000 12000 1 10 19 28 37 46 56 64 73 62 91 100 109 116 127 136 145 154 163 172 161 190 199 Рис. 16.22. График часто помогает проследить тенденцию изменения данных Графики можно строить на основе нескольких наборов данных, при этом, чтобы различать наборы (ряды), можно применять различные цвета и стили линий, а также различные маркеры. Круговые диаграммы Круговую диаграмму удобно использовать, если нужно показать пропорции или части чего-либо относительно целого. Круговая диаграмма строится только для одного ряда данных. Она, как правило, применяется для пяти-шести точек данных (секторов). Если же создать диаграмму этого типа, содержащую больше точек данных, то ее трудно будет понять. ^^^^ Все значения, используемые для построения круговой диаграммы, должны быть На заметку положительными. Если набор исходных данных содержит одно или более отрицательных значений, то они будут автоматически преобразованы в положительные. В круговой диаграмме можно "вырезать" один или более секторов (как показано на рис. 16.23). Чтобы выделить сектор активизируйте диаграмму и щелкните на любом секторе. В результате будет выделен весь ряд (круг). Затем выделите сектор, который нужно отделить, и перетащите его из центра круга. 332 Часть III. Создание диаграмм и изображений
Использование версий Excel в корпорации АБВ Другие версии Excel 2002 Рис. 16.23. Круговая диаграмма с одним вырезанным сектором Подтипы диаграмм со вторичной круговой диаграммой и вторичной гистограммой позволяют отобразить вторую диаграмму, поясняющую один из секторов круговой диаграммы. На рис. 16.24 показана круговая диаграмма с вторичной гистограммой. Круговая диаграмма показывает распределение расходов по четырем категориям: Аренда, Поставки, Другие и Зарплата. Вторичная гистограмма представляет дополнительную разбивку категории Зарплата по регионам. Категория Аренда Поставки Другие Регион 1 Заргша 6 Регион 2 Зарплата 7 эегион 3 Зерплата 8 Регион 4 Зарплата лэш " Р L> — Расходы за год Другие Поставки ^f "*^\* • и У- **"*■ ^щ L-^-—— Регион 1 Зарплата Регион 2 3 ершите Регион 3 Эаргыпта Регион 4 АЛ Рис. 16.24. Круговая диаграмма с вторичной гистограммой Данные, которые использовались для построения диаграммы, расположены в диапазоне А2:В8. При создании диаграммы мастер диаграмм автоматически определяет, какие категории относятся ко вторичной диаграмме. Часто случается так, что мастер определяет их неправильно. Например, в нашем случае он определил, что ко вторичной гистограмме относятся три последние категории, тогда как в действительности — четыре. Чтобы исправить диаграмму, дважды щелкните на любом секторе. Появится диалоговое окно Формат ряда данных. Перейдите во вкладку Параметры и внесите необходимые коррективы. В данном случае в раскрывающемся списке Разделение рядов было выбрано значение Положение, а ниже было указано, что ко вторичной диаграмме относятся четыре последние категории. Глава 16. Основы построения диаграмм 333
Точечные диаграммы Еще одним распространенным типом диаграмм являются точечные диаграммы, которые также известны под названием диаграммы рассеивания. Точечные диаграммы отличаются от остальных тем, что по обеим осям такой диаграммы откладываются значения. Иными словами, в точечной диаграмме нет оси категорий. Данный тип диаграммы часто используется для того, чтобы показать взаимосвязь между двумя переменными. На рис. 16.25 показан пример точечной диаграммы, которая отображает график зависимости между количеством звонков (горизонтальная ось) и фактическим количеством заказов, сделанных по телефону (вертикальная ось). На графике видно, что связь между этими двумя переменными прямо пропорциональна: чем больше было звонков, тем больше (как правило) было заказов. У ТоЧвчтът дмиг [. in»»*jiii 1 Год Месяц Звонки Закааы 2 2002 3 4 S 6 7 в в ю 11 к 13 и гооэ ■и 18 t7 18 19 го 21 22 23 24 га Янв I 9041 8S Фее Map Алр М1Й Ион июл Агс Сен Опт Ноя Дек Яне Фее Map Ann Май Июн Июл Ааг Сен Окт Ноя Дет 2в « • . «\п. nt №т 895 896 881 809 864 907 893 876 911 922 840 909 897 ею 858 825 815 793 813 788 777 788 798 09 89 86 92 86 91 91 96 88 93 91 91 89 87 82 81 77 76 85 7С 75 77 97 — -J.» \ *шщ Отношение между количеством, авонков и количество и •акаков 95 - 90- 86 ВО - 75- 70 • *> * *> «• 4» ♦ • * • ♦ ♦ ♦ » * * * I I 1 Г I I I I коямчестм leoiMtoe в месяц А - 1 41 Рис. 16.25. На графике видна зависимость между двумя переменными На замет а заметку / Несмотря на то что в данном примере точки данных были упорядочены по времени, графики не отображают никакой временной информации. Другими словами, точки данных строились только на основе их значений. Диаграммы с областями Диаграмму с областями можно представить как график, в котором вся область под линией графика закрашена определенным цветом. На рис. 16.26 показан пример диаграммы с областями с накоплением. Эта диаграмма показывает общую сумму по трем рядам данных. Кроме того, стопки рядов данных позволяют представить вклад каждого ряда в общую сумму. 334 Часть III. Создание диаграмм и изображений
2 000 QS^H 1 750 EJ 1 500 ^^^ 1 250 J 1 000 -1 750 J 500 250 Щ Четверть-1 Объем продаж за квартал Четеерть-2 Четеерть-3 ■ Изделие С G Изделие В в Изделие А Четверг ь-4 Рис. 16.26. Диаграмма с областями с накоплением На рис. 16.27 показаны те же данные, представленные в виде объемной диаграммы с областями. Несмотря на то что эта диаграмма выглядит довольно привлекательно, она имеет серьезный недостаток. Очень часто одни точки данных перекрывают точки данных, расположенные за ними. В этом примере значений за первые три квартала для изделия С совершенно не видно. 1 400^ 1200 1 000 800 600 ' (^^ 40CBJ 20С И■■■• о14| четверть-1 Объем продаж за квартал '' ' '' -*•—- f'^^^S XX.^jg ^^k .v^i ■ ^ш" Изделие С |,t^ Изделие В "^ЧЙ ■*< ИаделиеА четвертъ-2 ., четверть-3 Четеерть-4 Рис. 16.27. На этой объемной диаграмме с областями значения за первые три квартала для изделия С не видны Кольцевые диаграммы Кольцевая диаграмма напоминает круговую с вырезанной серединой. Однако еще одно важное отличие состоит в том, что кольцевые диаграммы могут представлять несколько рядов данных. На рис. 16.28 показан пример кольцевой диаграммы с двумя рядами данных (первое и второе полугодия). Легенда содержит подписи точек данных. Стрелки и описания рядов добавлены в диаграмму вручную. В кольцевой диаграмме нет стандартных средств для создания подписей рядов данных. Заметьте, что Excel отображает ряды данных в виде концентрических колец. Как видите, кольцевые диаграммы с несколькими рядами данных не очень наглядны. Например, поскольку размер внешнего сектора превышает размер аналогичного внутреннего сектора, искажается восприятие диаграммы в целом. Поэтому кольцевой тип диаграмм следует использовать очень осторожно. В большинстве случаев для сравнения нескольких рядов данных предпочтительнее использовать гистограммы с накоплением. Кольцевые диаграммы лучше всего использовать как альтернативу круговой диаграмме для построения одного ряда данных. Глава 16. Основы построения диаграмм 335
Разделение объемов продаж по регионам 1 полугодие 2 полугодие □ Север ■ Восток С Юг О Запад Рис. 16.28. Кольцевая диаграмма с двумя рядами данных Лепестковые диаграммы Возможно, раньше вам не приходилось встречаться с лепестковыми диаграммами. Такая диаграмма имеет отдельную ось для каждой категории, причем все оси исходят из ее центра. Значение точек данных отмечается на соответствующей оси'. Если в ряду данных все точки имеют одинаковые значения, то лепестковая диаграмма приобретает вид круга. На рис. 16.29 представлен пример лепестковой диаграммы. Диаграмма содержит два ряда данных, каждый из которых состоит из 12 категорий. Данные представляют собой спрос на обычные и водные лыжи по месяцам. Обратите внимание на то, что один ряд данных частично перекрывает другой. Рис. 16.29. Лепестковая диагралша Поверхностные диаграммы Поверхностная диаграмма отображает два или несколько рядов данных в виде поверхности. Как видно из рис. 16.30, эти диафаммы довольно интересные. В отличие от остальных диафамм, в поверхностных диафаммах Excel применяет различные цвета для выделения значений, а не рядов данных. (Единственный способ изменить эти цвета — изменить палитру цветов рабочей книги с помощью вкладки Цвет диалогового окна Параметры.) Количество цветов, используемых в диафамме, зависит от цены основных делений по оси значений: каждый цвет соответствует одному делению. На замет !а заметку / Важно понимать, что в поверхностной диаграмме точки данных не строятся в пространстве. Как и в остальных объемных диаграммах, осью рядов данных является ось категорий, а не ось значений. Другими словами, нельзя точно отобразить на диаграмме точки данных, которые представлены в виде координат х, у и z (за исключением случая, когда координаты х и у равны). Лепестковая диаграмма является аналогом графика в полярной системе координат. — Прим. ред. 336 Часть III. Создание диаграмм и изображений
1.6- 1.4. 1 . 0.». ..-~*~^вм bbW ^В Л\> м •;.-■ ^^~^\ МГ Ш ш* \ 0 -0.2 4.4 4.6 ■W I^^F .-'. ^■■■■«""ГС"- I ■■ / '"j ■'т- .-j* ттш£шМш-:- ! •'' ^ШЛ Щ^1 ■- - Щ ^V 182.7 .^^1 ^^^^^рГ юн 0 .» ^100,9 М " " 2.7 3 '*+ «* " и Рмс. 16.30. Поверхностная диаграмма Пузырьковые диаграммы Пузырьковая диаграмма напоминает точечную, но в ней могут быть представлены дополнительные рады данных. Такой дополнительный ряд отображается в виде размеров пузырьков. Как и в точечной, в пузырьковой диаграмме обе оси являются осями значений, а не категорий. На рис. 16.31 показан пример пузырьковой диаграммы, на которой показаны результаты применения программы по снижению веса. На горизонтальной оси представлен начальный вес пациентов, а на вертикальной — длительность лечения. Размер пузырьков указывает на сброшенный вес. 20 • I 15 S г in в - 0 - Результаты применения программы по снижению веса ]о Сброшенный вес I I | Ш* UJ ►ft I • !•[ I II i ■ ; • i I i • ■ 1 1 1 1 1 1 1 ( 50 60 70 SO 90 100 110 120 130 140 Вес до лечения (кг) Рис. 16.31. Пузырьковая диаграмма Биржевые диаграммы Биржевая диаграмма идеально подходит для отображения информации о ценах на бирже. Для нее требуется от трех до пяти наборов данных, в зависимости от подтипа. На рис. 16.32 показаны примеры всех четырех подтипов биржевой диаграммы. На двух нижних диаграммах отображаются объемы продаж. Кроме того, в этих диаграммах используется две оси значений. Объем продаж за день представлен в виде колонок, значения которых откладываются по левой вертикальной оси. Глава 16. Основы построения диаграмм 337
fiO- , t [ ' [ \ ' максимальные Минимальный - Закрытие 0пфЫ1М»-Млкс1«млммн-Мннииальный-Зпцн>11И« i rh ^_^r~ т "*■ т Открытие Максимальный Минимальный Закрытие Обьем-Массмиальный-ЬЬаиаильньЯс-ЗлфЫпм 30 000 25 000 20 000 15 000 10 000 5 000 X О t т 1 -г- i Т 1 ■ Объем Открьпие Максимальный Минимальный Эакрьпие 627 626 529 6.30 5 27 526 529 5ЭО Рис. 16.32. Четыре подтипа биржевой диаграммы Диаграммы цилиндрические, конические и пирамидальные Эти три типа диаграмм, в сущности, идентичны, за исключением используемых в них геометрических фигур. Такие диаграммы можно применять вместо линейчатых диаграмм или гистограмм. На рис. 16.33 показаны примеры пирамидальной и цилиндрической диаграмм. Количосгао служащих (1993-2003) 1993 1995 1997 1999 2001 2003 Количество служащих (1993-2003) Рис. 16.33. Пирамидальная и цилиндрическая диаграммы 338 Часть III. Создание диаграмм и изображений
Расширенные возможности построения диаграмм |^*\ главе 16 обсуждаются основы построения диаграмм ш^ в Excel. В данной главе эта тема раскрыта на более высоком уровне. Вы узнаете, как изменить диаграммы, чтобы они выглядели именно так, как вам нужно. Кроме того, найдете описание "секретных" приемов, которые сделают ваши диаграммы еще более выразительными. Настройка диаграмм Часто бывает вполне достаточно тех основных типов диаграмм, которые создает Excel. Если вы строите диаграмму, чтобы представить числовые данные в наглядном и понятном виде, то для этого вполне подойдут диаграммы, созданные на основе стандартных типов. Однако если вы хотите как можно более усилить эффект воздействия диаграммы на зрителей, то, возможно, понадобятся средства дополнительной настройки диаграмм. При настройке диаграммы изменяется ее внешний вид, а иногда также добавляются новые элементы. Эти изменения могут быть либо чисто косметическими (например, изменение цвета или толщины линий), либо весьма существенными (например, изменение шкалы осей или поворот объемных диаграмм). На диаграмму можно добавить такие новые элементы, как таблица данных, линия тренда или значения погрешностей. этой главе... Настройка диаграмм Форматирование элементов диаграмм Работа с рядами данных Секреты построения диаграмм Ответы на часто зада! мые вопросы
Изменение основных элементов диаграмм В этом разделе рассматривается, как можно изменять различные части диаграмм. Выделение элементов диаграммы Модификация диаграммы — процесс, похожий на любое другое действие в Excel. Сначала вы выделяете объект (в данном случае элемент диаграммы), а затем задаете соответствующую команду для выполнения каких-либо действий с выделенным элементом. В отличие от выбора нескольких диапазонов в рабочем листе, вы можете за один раз отметить только один элемент диаграммы. Исключением являются те элементы, которые состоят из нескольких одинаковых частей, например линии сетки. Если отметить одну линию, будут отмечены и все остальные. В Excel возможны три способа выделения элементов диаграммы. ■ С помощью мыши. ■ С помощью клавиатуры. ■ С помощью панели инструментов Диаграммы. Рассмотрим эти методы более подробно. Выделение с помощью мыши Для того чтобы выделить элемент диаграммы, просто щелкните на нем кнопкой мыши. После этого в поле Имя появится имя выделенного элемента. Таким образом вы можете убедиться, что выделение сделано верно. Текст, выведенный в поле Имя, изменить невозможно; это поле является просто частью экрана, в которой Excel будет выводить имя выбранного элемента диаграммы. Если указатель мыши перемещать над областью диаграммы, появятся всплываю- Совет щие подсказки, отображающие имя элемента диаграммы, над которым находится курсор. Даже если курсор навести на область данных, все равно появится подсказка :\ диаграммы, которая отобразит значения данных. Но, если эти подсказки мешают работе, их можно убрать. Для этого выберите команду Сервис=>Параметры и в открывшемся диалоговом окне перейдите во вкладку Диаграмма. Затем в области Всплывающие подсказки отображают снимите флажки с обеих опций. Некоторые элементы диаграммы (например, область построения диаграммы, легенда или оси) могут состоять из нескольких частей. Для примера рассмотрим диаграмму построенную для одной точки данных. Чтобы выделить конкретную точку данных, необходимо выполнить два щелчка: сначала щелкнуть на ряде данных для его выделения, а затем на нужном элементе вне этого ряда (например, на столбце или маркере линейной диаграммы). Преимущество такого выделения состоит в том, что можно выполнить форматирование только по отношению к определенной точке данных, а не ко всему ряду. Вы увидите, что выделить какой-либо элемент диаграммы с помощью мыши не всегда легко. Возможно, в некоторых случаях придется несколько раз щелкнуть мышью, чтобы выделить необходимый элемент. К счастью, в Excel возможен еще один способ выделения. Выделение с помощью клавиатуры Когда диаграмма активизирована, можно использовать клавиши управления курсором для перемещения по ее элементам. При этом в поле Имя (или в списке Элементы диаграммы) будет выводиться имя выделенного элемента. 340 Часть III. Создание диаграмм и изображений
Если выделен ряд диаграммы, можно использовать клавишу «—> или <—» для выделения индивидуальной точки данных вне этого ряда. То же самое происходит при выделении осей. С помощью этих клавиш можно выбрать нужную ось. И наконец, когда выделена легенда, можно выбрать нужный элемент легенды с помощью все тех же клавиш управления курсором. Выделение с помощью панели инструментов Диаграммы Панель инструментов Диаграммы появляется при выделении диаграммы или (если она не появилась автоматически) с помощью команды ВидОПанели инструментовОДиаграммы. На панели инструментов Диаграммы находится раскрывающийся список Элементы диаграммы (рис. 17.1). Этот список содержит все поименованные элементы диаграммы. В нем можно выбрать тот элемент, над которым вы хотите работать. Но с помощью этого средства можно выделить только главные элементы диаграммы. Если необходимо выделить часть, входящую в определенный элемент, то придется выбрать его в списке Элементы диаграммы, а затем воспользоваться одним из ранее описанных методов выделения. а н I Заголовок диаграммы Пегеида Область диаграммы V—iОбласть построения диаграммы JalisJ 'I ",\ Лист! ,П*1. /A-rrt ' Рис. 17.1. С помощью панели инструментов Диаграммы можно выделить элементы активной диаграммы -" Когда выделена точка данных в списке Элементы диаграммы, будет отображено на заметку ее имя< Даже если этого имени изначально в списке не было Использование диалогового окна Формат Когда элемент диаграммы выделен, для его форматирования можно использовать диалоговое окно Формат. В зависимости от выбранного элемента, количество опций в диалоговом окне может отличаться. Чтобы отобразить это окно, выполните одно из перечисленных ниже действий. ■ Выберите команду Формат^Выделенный Название объекта (в меню Формат будет отображено имя выбранного объекта диаграммы). Глава 17. Расширенные возможности построения диаграмм 341
■ Дважды щелкните на элементе диаграммы. ■ Нажмите комбинацию клавиш <Ctrl+l>. ■ Щелкните правой кнопкой мыши на элементе диаграммы и выберите из контекстного меню команду Формат. После выполнения любого из этих действий на экране появится диалоговое окно Формат, содержащее вкладки, с помощью которых можно изменить параметры выделенного элемента диаграммы. Например, на рис. 17.2 показано диалоговое окно Формат для легенды диаграммы. Вид 'ti^^Tjf Разнещение | Шрифта начертание. frXfef. Г~ 6ето»*ааета6ироелние Ц>1фгтииTrueType Ц£ифтбудетиатогекжанкекдоаемюдене экран таккдлялечати Рис. 17.2. Для каждого элемента диаграммы предусмотрено свое диалоговое окно форматирования На заметку Если какой-либо элемент диаграммы выделен, многие кнопки панелей инструментов, обычно используемые для форматирования рабочего листа, также работают и для отмеченного объекта диаграммы. Например, если выделить область построения диаграммы, то можно изменить ее цвет с помощью кнопки Цвет заливки, расположенной на панели инструментов форматирования. Если же был выбран элемент, который содержит текст, то можно использовать инструмент Цвет шрифта этой же панели инструментов для изменения цвета текста. В следующих разделах возможности форматирования элементов диаграмм описываются более подробно. Область диаграммы Область диаграммы — это объект, содержащий все остальные элементы диаграммы. Эту область можно считать задним планом диаграммы. В диалоговом окне Формат области диаграммы представлено три вкладки: Вид, Шрифт и Свойства. ■ С помощью опций вкладки Вид можно изменить цвет области диаграммы и способ заливки, а также добавить рамку необходимого типа. ■ Во вкладке Шрифт можно изменять свойства всех используемых в диаграмме шрифтов. ■ Во вкладке Свойства можно указать, как диаграмма должна перемещаться и располагаться относительно соответствующих ячеек рабочего листа. Также можно установить свойство Защищаемый и определить, будет ли диаграмма выводиться на печать. Эта вкладка доступна только для внедренных диаграмм. 342 Часть III. Создание диаграмм и изображений
Область построения диаграммы В области построения диаграммы находится сама диаграмма. В диалоговом окне Формат области построения находится всего одна вкладка— Вид. С ее помощью можно изменить цвет и способ заливки области построения, а также ее рамку. Если установить способ заливки прозрачная, то будут видны цвет и заливка об- Совет ласти диаграммы. •а Можно изменить размер и местоположение области построения диаграммы, выделив ее и перетащив ее границы. Кроме того, можно растянуть ее так, что она будет занимать всю область диаграммы, как показано на рис. 17.3. Здесь заголовок и легенда были перенесены на саму диаграмму. -iOlxl А Рейтинг Отлично Очень хорошо Хорошо Удовлетворительно 1Л0ХО Мужчины 6* 10% 65% 21* 9» Женщины 15% 20% 60% 12% 3% Рейтинг I Мужчины I Женщины г Очень хорошо Хорошо Удовлетворительно Плохо j\™>,"~«i™r И I •1Г3 Совет | Рис. 17.3. Область построения этой диаграммы занимает всю область диаграммы Чтобы удалить все параметры форматирования области построения диаграммы, необходимо выделить эту область и нажать клавишу <Delete>. Сама область построения останется, но рамки исчезнут, а заливка станет прозрачной. Различные типы диаграмм по-разному реагируют на изменения в их области построения. Например, нельзя изменять размеры области построения круговой или лепестковой диаграммы (она всегда будет прямоугольной). Работая с другими типами диаграмм, можно изменять пропорции сторон, уменьшая или увеличивая их высоту или ширину. Изменение размера и расположения области построения диаграммы может су- Совет щественно сказаться на внешнем виде всей диаграммы. При настройке диаграм- мы вам наверняка захочется поэкспериментировать с различными размерами и \ местом расположения области построения. Поэтому лучше сначала выбрать оптимальный размер и положение области построения, а затем форматировать остальные элементы диаграммы. Глава 17. Расширенные возможности построения диаграмм 343
Важно помнить, что размер области построения может автоматически изменяться во время форматирования других элементов диаграммы. Например, если добавить к диаграмме легенду, область построения может увеличиться, чтобы выделить дополнительное место, на котором будет размещена легенда. Заголовки диаграммы В диаграммах используется до пяти различных заголовков. ■ Заголовок диаграммы. ■ Заголовок оси категорий (X). ■ Заголовок оси значений (Y). ■ Заголовок вспомогательной оси категорий (X). ■ Заголовок вспомогательной оси значений (Y). Количество заголовков зависит от типа диаграммы. Например, в круговой диаграмме присутствует только заголовок диаграммы, потому что в ней нет осей. Чтобы добавить заголовок к диаграмме, выделите ее, а затем выберите команду Диа- грамма^Параметры диаграммы. Появится диалоговое окно Параметры диаграммы. Перейдите во вкладку Заголовки и введите текст одного или нескольких заголовков. Можно свободно перемещать заголовки диаграмм по всей области диаграммы, Совет однако их размеры изменять нельзя. Ч Чтобы изменить свойства заголовка диаграммы, откройте диалоговое окно Формат. В этом окне содержится три вкладки. ■ Вид. Здесь можно изменить тип и цвет рамки, а также цвета фона. ■ Шрифт. Используется для изменения шрифта, его размера, цвета и других атрибутов. ■ Выравнивание. В этой вкладке можно задать параметры вертикального и горизонтального выравнивания и ориентации текста. Добавление поля текста Текст на диаграмме — это не только заголовок. В любое место диаграммы можно добавить текст, который затем можно свободно перемещать по всей области диаграммы. Для этого выделите любой объект диаграммы, за исключением заголовков или меток данных, и введите текст в строку формул. Excel добавит автофигуру Надпись, которая будет содержать введенный текст. Эту автофигуру можно перемещать куда угодно и как угодно форматировать. Многие предпочитают использовать текстовое поле вместо "официальных" заголовков диаграммы. Как уже отмечалось, заголовки, созданные Excel, имеют некоторые недостатки и, возможно, самым главным из них является то, что в вертикальных заголовках не всегда виден весь текст. Кроме того, невозможно изменить размер заголовков (за исключением изменения размера шрифта). Использование текстового поля устраняет обе эти проблемы. Легенда диаграммы Легенда состоит из текста и ключей. Ключ — это маленький графический объект, отвечающий определенному ряду данных диаграммы. 344 Часть III. Создание диаграмм и изображений
Чтобы добавить на диаграмму легенду, выберите команду Диаграмма^Параметры диаграммы, а затем в одноименном диалоговом окне перейдите во вкладку Легенда. Установите флажок Добавить легенду. Кроме того, в этой вкладке можно указать место расположения легенды, установив в нужную позицию переключатель Размещение. Чтобы удалить легенду, выделите ее и нажмите клавишу <Delete>. Если нужно переместить легенду, щелкните на ней и перетащите на нужное место. Для перемещения легенды можно также воспользоваться вкладкой Размещение диалогового окна Формат легенды. Можно выделить определенный текст внутри легенды и отдельно отформатировать его с помощью диалогового окна Формат элемента легенды, в котором содержится только одна вкладка Шрифт. Например, для того чтобы привлечь внимание к определенному ряду данных, шрифт соответствующей подписи можно сделать полужирным. Инструмент Легенда, расположенный на панели инструментов Диаграммы, рабо- Совет тает как переключатель. С помощью этой кнопки можно добавить легенду, если ее нет, или удалить, если она присутствует. После перемещения легенды с ее обычной позиции на другое место, как правило, требуется изменить размеры области построения диаграммы. Для этого выделите область построения диаграммы и переместите ее рамку так, чтобы она Л приняла нужный размер. Если вы не включили текст для подписей легенды в диапазон исходных данных, Excel будет использовать в легенде имена Ряд 1, Ряд 2 и т.д. Чтобы добавить названия ряда данных, выберите команду Диаграмма^Исходные данные, а затем в диалоговом окне Исходные данные перейдите во вкладку Ряд (рис. 17.4). Выделите нужный ряд данных из списка Ряд, затем введите в поле Имя ссылку на ячейку, которая содержит название ряда, или непосредственно введите название ряда в это поле. Совет* ,\ j±sJ I Огнем» Рис. 17.4. Для изменения названия ряда данных используйте вкладку Ряд диалогового окна Исходные данные Дополнитель информация Смотрите раздел "Создание собственных типов диаграмм" далее в главе. Глава 17. Расширенные возможности построения диаграмм 345
Копирование параметров форматирования диаграммы Предположим, была создана очень сложная диаграмма, на редактирование которой было потрачено много времени. И теперь нужно создать еще одну такую же. Что делать в таких случаях? Существует несколько вариантов. ♦ Копирование параметров форматирования. Создайте стандартную диаграмму с настройками, установленными по умолчанию. Затем выделите готовую диаграмму и выберите команду ПравкаоКопировать. После этого выберите команду ПравкаоСпециаль- ная вставка. В появившемся диалоговом окне установите переключатель в положение Форматы. Эта процедура имеет один недостаток. Вместе с остальными установками заголовок новой диаграммы заменяется тем, который был в старой. ♦ Копирование диаграммы и изменение источника данных. Выделите готовую диаграмму. Затем, удерживая нажатой клавишу <Ctrl>, переместите ее в любое другое место рабочего листа. Это позволит создать точную копию диаграммы. Затем выберите команду Диаграмма^Исходные данные и в появившемся диалоговом окне определите новые исходные данные диаграммы. ♦ Создание собственного типа диаграммы. Выделите созданную диаграмму. Затем выберите команду Диаграмма^Тип диаграммы. В появившемся диалоговом окне во вкладке Нестандартные установите переключатель Вывести в положение Дополнительные. После нажатия кнопки Добавить в диалоговом окне Добавление нового типа диаграмм заполните поля Название и Описание. При создании новой диаграммы используйте этот тип диаграмм. Линии сетки Линии сетки помогают определить числовые значения приведенных на диаграмме данных и представляют собой обычные расширения делений осей. Некоторые диаграммы с линиями сетки выглядят довольно неплохо, а некоторые сетка слишком загромождает. Нужны ли линии сетки для вашей диаграммы — решать вам. Иногда горизонтальных линий сетки вполне достаточно, хотя точечные диаграммы лучше смотрятся с горизонтальными и вертикальными линиями сетки. Чтобы добавить или удалить линии сетки, воспользуйтесь командой Диаграммам Параметры диаграммы и выберите вкладку Линии сетки. Для каждой оси предусмотрено два вида линий сетки: основные и вспомогательные (промежуточные). С помощью линий основной сетки показан уровень меток делений осей, а линии вспомогательной сетки располагаются между линиями основной сетки. Добавить или удалить сетку определенного вида можно, установив или сняв соответствующий флажок. Если вы работаете с настоящей трехмерной диаграммой, то в описываемом диалоговом окне появятся опции отображения линий сетки для третьей оси. Чтобы изменить свойства линий какой-либо сетки, выделите эту сетку (щелкните на одной из линий), а затем вызовите диалоговое окно Формат сетки, в котором расположено две вкладки. ■ Вид. Для изменения стиля, толщины и цвета линий. ■ Шкала. Для корректировки шкалы оси. Параметры осей Диаграммы различаются количеством используемых осей. Круговые и кольцевые диаграммы вообще не имеют осей. Все двухмерные диаграммы имеют две оси (или три, если используется вспомогательная ось значений, или четыре, если вы используете вспомогательную 346 Часть III. Создание диаграмм и изображений
ось категорий в точечной диаграмме). Настоящие трехмерные диаграммы имеют три оси. Excel предоставляет полный контроль над всевозможными параметрами осей. Чтобы изменить какой- либо элемент оси, откройте диалоговое окно Формат ОСИ, в котором содержится пять вкладок. ■ Вид. Изменение толщины линий оси, вида делений и расположения меток делений на осях. ■ Шкала. Изменение максимального и минимального значений оси, цены делений основной и вспомогательной осей и других свойств. ■ Шрифт. Изменение шрифта меток осей. ■ Число. Изменение числового форматирования меток осей. ■ Выравнивание. Определение ориентации меток осей. Поскольку свойства осей заметно влияют на внешний вид диафаммы, в следующих разделах отдельно описываются вкладки Вид и Шкала диалогового окна Формат оси. Изменение вида оси Вкладка Вид диалогового окна Формат оси содержит множество параметров для настройки вида осей диаграммы и состоит из четырех разделов. ■ Ось. Управляет параметрами линии оси (стиль, цвет и толщина). ■ Основные. Контролирует расположение основных отметок на оси. Можно выбрать опции Нет (без отметок на оси), Внутрь (на внутренней стороне оси), Наружу (на внешней стороне оси) или Пересекают ось (с двух сторон оси). ■ Промежуточные. Контролирует расположение промежуточных отметок на оси. Можно выбрать тс же опции, что и для основных отметок. ■ Метки делений. Контролирует местоположение меток делений оси. Обычно метки располагаются рядом с осью. Однако можно задать, чтобы метки появлялись вверху диаграммы (опция Вверху), в основании диаграммы (опция Внизу) или вообще не появлялись (опция Нет). Эти опции полезны в том случае, если ось не располагается на своем обычном месте — на краю области построения. Основные деления на осях — это такие отметки, возле которых обычно размещаются названия или числовые значения. Промежуточные деления на осях расположены между основными. Изменение шкалы оси Корректировка шкалы значений может существенно повлиять на диафамму. В некоторых случаях манипулирование шкалой может привести к тому, что отображенные данные будут восприниматься неверно. Какую шкалу использовать, зависит от ситуации, поскольку каких- то строгих правил не существует. Однако старайтесь избегать искажения данных, из-за того, что шкала была выбрана неверно. Если вы строите несколько диаграмм, которые содержат данные, близкие по Совет масштабу, сделайте одинаковыми шкалы осей, чтобы диаграммы можно было легко сравнить. Excel автоматически определяет шкалу для диафамм. Однако можно вручную изменить шкалу во вкладке Шкала диалогового окна Формат оси (рис. 17.5). На заметку Глава 17. Расширенные возможности построения диаграмм 347
|ф»риаго«е Ба» шам } Шрифт j число | выревинмние | Uteet» пб оси т^знбчении) Дето рнинииагьное значение! |о f? неганаяьнсе значение: ] 2S р иена основных делений: J5 ;!^ цене Б»ие*ут»«*р; делении |l 1^ Ось X (категорий) «ересекветсве^аче»»! [о Ценаде»»**»- И0* Zi & Г" 2РГ*р«$иимескаяцжйЛ4 Г* обратный порадок,знач№*« . Г" тиресечение с оо*> X (катетер***) в йаксинаяьном значении fiZM~l$ Ormsm \ Рис. 17.5. Вкладка Шкала диалогового окна Формат оси На заметку Опции вкладки Шкала зависят от выбранной оси. Во вкладке Шкала представлено несколько опций. ■ Минимальное значение. Для ввода минимального значения оси. Если установлен этот флажок, минимальное значение определяется автоматически. ■ Максимальное значение. Для ввода максимального значения оси. Если установлен этот флажок, максимальное значение определяется автоматически. ■ Цена основных делений. Для ввода числового значения цены основных делений шкалы оси. Если установлен этот флажок, то цена деления шкалы определяется автоматически. ■ Цена промежуточных делений. Для ввода числового значения цены промежуточных делений шкалы. Если установлен этот флажок, даннное значение определяется автоматически. ■ Ось тип оси пересекается в значении. Для помещения осей в различные положения. По умолчанию оси находятся по краям области построения. Точные текстовые названия этой опции будут разными в зависимости от выбранной оси. ■ Цена деления. Устанавливает цену деления, например сотни, тысячи или миллионы. ■ Отображать на диаграмме. Переключатель отображения на диаграмме установленной цены деления. ■ Логарифмическая шкала. Для создания логарифмической шкалы на осях. Логарифмическая шкала, как правило, удобна в научных приложениях, когда диапазон значений диаграммы очень велик. Вы получите сообщение об ошибке, если шкала включает отрицательные значения или 0. ■ Обратный порядок значений. Для изменения направления шкалы на обратное. Например, если выбрать эту опцию для оси значений, то наименьшее значение шкалы будет вверху, а наибольшее — внизу. ■ Пересечение с осью тип оси в максимальном значении. Для позиционирования осей в точке максимального значения (обычно ось позиционируется в точке минимального значения). Точное текстовое название этой опции зависит от выбранной оси. 348 Часть III. Создание диаграмм и изображений
Работа с временными осями При создании новой диафаммы Excel автоматически определяет, содержат ли ее оси значения даты или времени. В этом случае создается временная диафамма. На рис. 17.6 представлен простой пример такой диафаммы. Столбец А содержит даты, а столбец В — данные, на основе которых была построена гистофамма. Несмотря на то что диафамма содержит значения только 10 дней, Excel все равно разбивает ось на 31 интервал одинаковой величины. Это означает, что данные оси категорий являются датами. кгт 1 г A t С E F G Количество Цата клиентов 05 02 04 35 0802.04 41 09.02.04 32 11.02.04 52 130204 40 14.02.04 44 17 02 04 65 19 02 04 60 21 02 04 S3 22 02 04 65 |И 1 • 1 Количество клиентов в день 60 50 ■ 40 30- 20 10 1 ■ 1 1 1 1 I I S.2 8.2 11.2 142 172 |<| 202 ■ 1 ■ 1 ИГ Рис. 17.6. Excel распознает даты и создает временные типы осей Бывают случаи, когда создавать временную ось нежелательно. Чтобы отменить эту установку, откройте диалоговое окно Параметры диаграммы и перейдите во вкладку Оси. Обратите внимание, что переключатель Ось X (категорий) установлен в положение автоматическая (значение по умолчанию). Установите этот переключатель в положение категории. На рис. 17.7 отображен результат выполнения этой операции. 60 ■ 50 . 40 30 • 20 10 Количество клиентов в день ■ 1 ■ III Ml III ■ 4i II | | 1 1 52 82 92 11 2 13 2 14.2 17 2 19 2 21 ! ! 2 22 2 Рис. 17.7. Предыдущая диаграмма с использованием стандартной оси категорий. Не бойтесь экспериментировать (с копией диаграммы) Чтобы создать профессиональную диаграмму, приходится часто экспериментировать. Иными словами, лучшим способом создать диаграмму, которая будет выглядеть профессионально, является метод проб и ошибок. Excel предлагает такое огромное количество опций диаграмм, что даже умудренные опытом профессионалы не знают всех тонкостей. Даже в этой книге, несмотря на ее объем, не описаны все возможности построения и настройки диаграмм. Чтобы разобраться со всеми опциями Excel, нужно пробовать применять различные варианты опций для ваших диаграмм. Но если на какой-то одной диаграмме некоторые опции не дают удовлетворительных результатов, это не означает, что они не подойдут для других диаграмм. Поэтому чаще экспериментируйте. Глава 17. Расширенные возможности построения диаграмм 349
После создания базовой диаграммы вам наверняка захочется сделать ее копию для своих экспериментов. Таким образом, всегда можно будет вернуться к начальному виду диаграммы. Для создания копии внедренной диаграммы выделите ее и, удерживая нажатой клавишу <Ctrl>, переместите на новое место. Если необходимо сделать копию листа диаграммы, щелкните на ее ярлычке и, удерживая нажатой клавишу <Ctrl>, переместите его на новое место. Работа с рядами данных Каждая диаграмма состоит из одного или нескольких рядов (наборов) данных, которые содержатся в рабочем листе. Эти данные преобразуются в столбцы диаграмм, графики, секторы круговых диаграмм и т.д. В этом разделе обсуждаются основные операции, выполняемые с рядами данных. Прежде чем приступать к работе с рядами данных, их необходимо выделить. Активизируйте диаграмму, а затем щелкните на нужном наборе данных, чтобы его выделить. В гистограмме это столбец, в графике — линия и т.д. Убедитесь в том, что вы выбрали весь ряд, а не отдельную точку. Можно выбрать набор данных с помощью раскрывающегося списка Элемент диа- Совет граммы, который находится на панели инструментов Диаграммы. У Когда вы выбираете ряд данных, в поле Имя строки формул будет показано название этого набора данных, например Ряд 1, а в самой строке формул будет находиться формула =РЯД. Выделенный ряд данных отмечается маленькими квадратиками на каждом элементе ряда. Кроме того, ячейки, в которых содержатся значения выделенного ряда, также выделяются цветным прямоугольником. Все виды настройки рядов данных осуществляются с помощью диалогового окна Формат ряда данных, которое может состоять из семи вкладок. Число вкладок варьируется в зависимости от типа диаграммы. Например, для данных круговой диаграммы это окно имеет четыре вкладки, для данных графика и гистограммы — шесть вкладок, а для точечной диаграммы — все семь. В диалоговом окне Формат ряда данных представлены перечисленные ниже вкладки. ■ Вид. Применяется для изменения цвета, узора и стиля рамки ряда данных. Для графиков эта вкладка позволяет изменить цвет и стиль маркеров данных. ■ Ось. Определяет, какая ось значений, основная или вспомогательная, должна использоваться для выделенного ряда данных. ■ Подписи данных. Используется для установки меток рядом с каждой точкой данных. ■ Параметры. Содержит опции для изменения параметров данного типа диаграммы. ■ Порядок рядов. Определяет порядок, в котором должны располагаться ряды данных на диаграмме. ■ Y-погрешности. Позволяет вводить или изменять планки погрешностей для значений, отложенных по оси Y. ■ Х-погрешности. Позволяет вводить или изменять планки погрешностей для значений, отложенных по оси X. Используется только для точечных диаграмм. ■ Фигура. Используется для определения формы столбцов (только для трехмерных гистограмм). Далее рассматриваются многие опции, содержащиеся на этих вкладках. 350 Часть III. Создание диаграмм и изображений
Удаление ряда данных Чтобы удалить ряд данных, выделите его и нажмите клавишу <Delete>. Ряд данных будет удален с диаграммы. Конечно, данные в рабочем листе останутся в неизменном виде. Можно убрать с диаграммы все ряды данных. В этом случае получится пустая диаграмма, однако она сохраняет свои установки. Поэтому, если добавить ряд данных к пустой диаграмме, она снова примет первоначальный вид. На замет а заметку / Добавление нового ряда данных на диаграмму Довольно часто требуется добавить новый набор данных на существующую диаграмму. Конечно же, можно вновь создать диаграмму и включить в нее новый ряд данных, но гораздо проще дополнить уже существующую диагоамму. В Excel предлагается несколько способов выполнения этой операции. ■ Активизируйте диаграмму, а затем выберите команду Диаграмма^Исходные данные. В диалоговом окне Исходные данные перейдите во вкладку Ряд. Щелкните на кнопке Добавить, а затем введите диапазон данных в поле Значения (в этом поле можно вручную ввести адрес диапазона или указать на него в рабочем листе). ■ Выделите диапазон, который необходимо добавить, и перетащите его на диаграмму. Когда вы отпустите кнопку мыши, Excel обновит диаграмму с учетом внесенных данных. Этот метод применим только для диаграмм, внедренных в рабочий лист. ■ Выделите нужный диапазон данных и скопируйте его в буфер обмена. Затем активизируйте диаграмму и выберите команду Правка^Специальная вставка. Появится диалоговое окно, показанное на рис. 17.8. В этом окне выберите нужные опции в соответствии с выбранными данными (или воспользуйтесь командой Правка^Вставка, и Excel сама определит, как отобразить данные на диаграмме). Доклеить »нвче»#в» каг Значения (У) | & новые&*ды ■'■ i Г"ьспю&» 1 1 Г* ноеы» доиенты рядов *** Р^ЭЙ?*5' W Цнен«р«дове первой строк* Г" Категории (подписи ос i Y) ш доем столбце -*1 1 « | Отмена ] Рис. 17.8. С помощью диалогового окна Специальная вставка можно добавить новые данные на диаграмму Изменение ряда данных Часто случается, что, создав диаграмму на основе конкретного диапазона данных, вы затем добавляете новые данные в рабочий лист и расширяете этот диапазон. В то же время те данные, которые уже представлены в виде диаграмм, вы хотите удалить. Рассмотрим, как можно изменить диапазон ряда данных. Перетаскивание границы диапазона Самый простой способ изменения диапазона данных, на основе которого строится диаграмма, — это перетаскивание границы диапазона. Этот метод работает только с внедренными диаграммами. Когда вы выделяете ряд данных на диаграмме, Excel отмечает соответст- Глава 17. Расширенные возможности построения диаграмм 351
вуюший диапазон ячеек в рабочем листе. Чтобы увеличить или сократить ряд данных, нужно перетащить маркер заполнения, расположенный в правом нижнем углу рамки диапазона. На рис. 17.9 показано, как это происходит. т Продано товара it 13 с 80 ^ 60 40- 20 - 0 - 0 1 2 е f Продано товара 3 4 б о н Рис. 17.9. Для изменения ряда данных диаграммы выделите этот ряд и перетащите маркер заполнения Использование диалогового окна Исходные данные Чтобы обновить диаграмму для нового диапазона данных, активизируйте ее и выберите команду Диаграмма^Исходные данные. Щелкните на вкладке Ряд, а затем выберите нужный ряд из списка Ряд. Уточните диапазон в поле Имя, где можно отредактировать ссылку на диапазон или указать другой диапазон. Редактирование формулы ряда С каждым набором данных в диаграмме связана определенная формула =РЯД. Она появляется в строке формул, если выделить на диаграмме ряд данных (рис. 17.10). Можно непосредственно исправить ссылки на диапазон в формуле =РЯД. Ряд 'Прогноз" > | А V В | 1 месяц Прогмм Фактически 2~*Тно 'Ю0 89 (. =РЯДЛистЗИВЛ ЛистЗ>»А*2 |А»7 ПистЗ tB12 JBJ7.1 I :ав "(Иар iAno 125 ISO 176 200 229 106 170 199 Яне Фее Map Алр Май [■ Прогноз а Фактически I Рис. 17.10. Если выделить ряд данных на диаграмме, то в строке формул появится соответствующая формула В описываемой формуле используется функция РЯД с четырьмя аргументами: =РЯД(имя_ряда;имя_категории;диапазон_данных;номер_ряда) В функции РЯД указываются абсолютные ссылки на ячейку. Чтобы изменить данные, которые используются в наборе, исправьте ссылку на ячейки (третий аргумент) в строке формул. Первый и второй аргументы необязательные и в формуле могут не участвовать. Если у 352 Часть III. Создание диаграмм и изображений
ряда нет названия, аргумент имя_ряда опускается и Excel использует в легенде фиктивные названия рядов (Ряд 1, Ряд 2 и т.д.). Если нет названий категорий, аргумент имя_ категории опускается и используются фиктивные метки категорий (1, 2, 3 и т.д.). Внимание! Если набор данных использует метки категорий, убедитесь в том, что ссылка на ячейки меток категории (второй аргумент функции РЯД) корректна. Возможно, наилучший способ работы с рядами данных — присвоение им имен. Совет Имя ряда данных будет использовано в диаграмме и функции РЯД. Если вы добавите новые данные в именованный диапазон, диаграмма изменится автомати- I чески. Добавление подписей данных Иногда необходимо, чтобы на диаграмме показывались значения данных в каждой точке. Подписи данных задаются во вкладке Подписи данных диалогового окна Формат ряда данных (рис. 17.11). В этой вкладке есть несколько опций. Обратите внимание на то, что для каждого типа диаграммы можно установить только определенные опции. Если установить флажок Ключ легенды, то возле каждой подписи появится ключ легенды. *1. ■^погрешности . ПардавТры Подг*м:»! данных 1 дКЛЮЧИТЬ S ПОДЛ**» - | Р»«еив радов ' Г" топа категорий Р" дочения Г" Г* £в)де/*ггеяь: ~Л Г" Ючач пегвмды Рис. 17.11. Вкладка Подписи данных диалогового окна Формат ряда данных используется для добавления подписей данных Подписи данных связаны с рабочим листом, поэтому, если изменяются данные, их подписи также меняются. Если нужно заменить подпись каким-нибудь текстом, выделите ее и введите новый текст (или ссылку на ячейку с текстом) в строку формул. Часто бывает так, что подписи данных расположены неудачно, например одна Совет подпись может быть заслонена другой. Такую подпись можно выделить и пере- £4. тащить в другое место. К сожалению, работа с подписями данных в Excel все еще оставляет желать лучшего. Например, нельзя определять диапазон текста для дальнейшего его использования в подписях данных. Такая возможность оказалась бы очень полезной при работе с линейными диаграммами (XY), где есть необходимость присваивать каждой точке данных определенный текстовый элемент. Диаграмма, представленная на рис. 17.12, иллюстрирует этот пример: вам не удастся вывести имя студента возле соответствующего маркера. Глава 17. Расширенные возможности построения диаграмм 353
д1В1*] Ъ g. Студент Январь S Бенюное < Гслувюеа Колесников ? Селезнева 96 90 В5 - В0- 75 - 70 - 65 т - Успеваемость студентов t ♦ ♦ \ г + т i i ГО 76 80 86 90 9S Январь ■м •1Г Рис. 17.12. В Excel не предусмотрено возможности описания подписей данных Даже несмотря на многочисленные требования, Microsoft так и не добавила такого свойства в Excel. Поэтому приходится добавлять подписи данных, а затем уже вручную их редактировать. На прилагаемом к книге компакт-диске можно найти надстройку Power Utility Pak, которая позволяет обойти это ограничение Excel. С ее помощью можно определить диапазон, который будет использоваться для создания подписей. На компакт- диске Обработка пропущенных данных Иногда в наборе данных для диаграммы может быть пропущено одно или несколько значений. В Excel предусмотрено несколько опций для обработки таких пропущенных данных. Этими данными нельзя управлять с помощью диалогового окна Формат ряда данных (как можно было бы ожидать). Вместо этого нужно использовать команду Сервисе Параметры и щелкнуть на вкладке Диаграмма. Выбираемые опции применяются ко всей активизированной диаграмме, нельзя задать разные опции для различных рядов данных в одной и той же диаграмме. Во вкладке Диаграмма в разделе Для пустых ячеек находится три опции. ■ Точки не отображаются. Пропущенные данные просто игнорируются, и ряд данных будет иметь промежуток. ■ Подразумеваются нулевые значения. Пропущенные данные воспринимаются как нуль. ■ Значения интерполируются. Пропущенные данные вычисляются на основании соседних значений. Эта опция доступна только для графиков. Отображение в диаграмме скрытых данных Обычно данные в скрытых строках или столбцах не отображаются в диаграмме. Можно использовать это свойство для того, чтобы проконтролировать, какие данные будут представлены в диаграмме, а какие— нет. Однако, если вы работаете со структурами или отфильтрованными данными (в обоих случаях используются скрытые строки), вам может не 354 Часть III. Создание диаграмм и изображений
понравиться, что скрытые данные удалены с диаграммы. Чтобы исправить это положение, активизируйте диаграмму и выберите команду Сервис=>Параметры. В диалоговом окне Параметры щелкните на вкладке Диаграмма и снимите флажок Отображать только видимые ячейки. Дополнительная информация , Структура рабочих листов рассматривается в главе 28. Добавление планок погрешностей Для определенных типов диафамм можно добавить к точкам данных планки пофешно- стей. Они обычно используются для определения области изменения значения данных в конкретной точке. Планки пофешностей применяются только для диафамм с областями, гисто- фамм, фафиков, линейчатых и точечных диафамм. Щелкните в диалоговом окне Формат ряда данных на вкладке Y-погрешности. Набор данных точечной диаграммы может иметь планки погрешностей и для зна- Совет' чений оси X, и для значений оси Y одновременно. ^* В Excel можно установить несколько типов планок пофешностей. ■ Фиксированное значение. Планки пофешностей имеют заданный вами фиксированный размер. ■ Относительное значение. Размер планки пофешностей задается в процентах от каждого значения. ■ Стандартное отклонение. Размер планки пофешностей задается в единицах средне- квадратического отклонения от среднего значения, которое Excel вычисляет для ряда данных. ■ Стандартная погрешность. Размер планки пофешностей задается в единицах средне- квадратической ошибки, которую вычисляет Excel для ряда данных. ■ Пользовательская. Здесь можно указать размер верхней и нижней планок погрешностей. В поля ввода этой опции можно ввести значения или ссылку на диапазон, где содержатся значения погрешностей. Диафамма, представленная на рис. 17.13, содержит планки пофешностей. Рис. 17.13. В этой диаграмме используются относительные значения погрешности Глава 17. Расширенные возможности построения диаграмм 355
Добавление линии тренда Если вы строите диаграмму для данных, зависящих от времени, то можно построить линию тренда, которая отобразит тенденции изменения данных. В некоторых случаях с помощью линий тренда можно прогнозировать изменение данных. Один ряд данных может иметь несколько линий тренда. Дополнить диаграмму линией тренда очень просто. Воспользуйтесь командой Диаграм- ма"=>Добавить линию тренда, чтобы открыть диалоговое окно Линия тренда. Эту команду можно выбрать из меню, только если выделен диапазон данных. Выбор типа линии тренда зависит от данных. Самый распространенный тип — линейный, но некоторые данные лучше описывать другими типами линий тренда. С помощью опции Линейная фильтрация можно сгладить слишком разбросанные данные. В поле этой опции нужно указать количество точек данных, которые будут включены в расчет каждого среднего значения. Например, если выбрать число 5, то Excel будет вычислять среднее значение, используя пять точек данных. На рис. 17.14 представлен пример линии тренда линейного типа. Продажи по месяцам Янв Map Май Июп Сен ноя Яне Map Май Июп Сен ноя Рис. 17.14. С помощью линии тренда можно спрогнозировать объемы продаж на три месяца вперед Во вкладке Параметры предлагается определить названия, которые будут включены в легенду, и количество периодов, для которых будут прогнозироваться данные. Две дополнительные опции позволяют отобразить на диаграмме уравнение линии тренда и значение R2 (величину достоверности аппроксимации). Изменение объемных диаграмм Все объемные диаграммы имеют несколько дополнительных объектов, которые можно изменять. Например, многие диаграммы имеют основание и стены, а настоящие объемные диаграммы — еще и дополнительную ось. Эти элементы можно выделить и отформатировать по своему вкусу. В основном опции объемного форматирования применяются точно так же, как и при форматировании остальных элементов диаграммы. При работе с трехмерными диаграммами у вас есть богатые возможности выбора перспективы обзора диаграммы путем ее вращения. Диаграмму можно вращать одним из двух способов. ■ Активизируйте объемную диаграмму и выберите команду Диаграмма<=>Объемный вид. Появится диалоговое окно, с помощью опций которого можно изменить угол и перспективу обзора диаграммы. Образец, который вы видите в диалоговом окне, ника- 170000 165000 160000 155000 150000 145000 140000 135000 130000 125000 356 Часть III. Создание диаграмм и изображений
кого отношения к вашей диаграмме не имеет. Демонстрация образца просто дает представление о возможных изменениях. Внесите необходимые изменения и щелкните на кнопке ОК, чтобы они вступили в силу (или щелкните на кнопке Применить, тогда диалоговое окно не будет закрыто и вы сможете продолжить в нем работу). ■ Можно повернуть диаграмму, перетащив ее углы с помощью мыши. Щелкните на одном из углов диаграммы. На экране появятся черные указатели, а в поле Имя — слово Углы. Перетащив один из указателей, вы можете повернуть объемную диаграмму по своему усмотрению. На рис. 17.15 изображено четыре возможных вида одной диаграммы. Рис. 17.15. Четыре разных вида одной объемной гистограммы Форматирование поверхностных диаграмм Главным отличием поверхностной диаграммы от других типов диаграмм является то, что на ее поверхности невозможно выделить конкретный ряд. Еще одним отличием являются цвета, которые зависят от значений. Количество цветных зон зависит от цены основных делений оси значений. Рассмотрим две поверхностные диаграммы, представленные на рис. 17.16. Цена основных делений диаграммы, изображенной слева, равна 0,05 (это значение было установлено по умолчанию), а справа — 0,4 (что составляет длину всей оси). Следовательно, для отображения второй диаграммы будет использоваться только один цвет. Настройка цветов поверхностной диаграммы добавляет ей наглядности. Чтобы изменить установленные Excel цвета, выполните следующие действия: отобразите легенду диаграммы, а затем, выделив ее, щелкните два раза на необходимом ключе легенды. В открывшемся диалоговом окне перейдите во вкладку Вид и выберите подходящий цвет. Чтобы диаграмма выглядела лучше, можно перейти во вкладку Параметры и изменить глубину диаграммы (как это делается при работе с объемными диаграммами). Глава 17. Расширенные возможности построена пиаграмм 357
Рис. 17.16. Изменение цены основных делений оси значений влияет на цвета, которые используются в поверхностной диаграмме Построение комбинированных диаграмм Комбинированной называется диаграмма, которая состоит из нескольких рядов данных и в которой используются различные типы диаграмм, например гистограмма и график. В комбинированной диафамме может также использоваться один тип диаграммы (например, только гистофаммы), но при этом она будет содержать вторую ось значений. Для создания комбинированных диафамм нужно по меньшей мере два ряда данных. Можно превратить имеющуюся диафамму в комбинированную, изменив тип диафаммы для одного ряда данных. Выделите ряд данных, который необходимо представить другим типом диафамм, и выберите команду Диаграмма^Тип диаграммы. В диалоговом окне Тип диаграммы выберите новый тип диафаммы для выделенного ряда данных. Excel поддерживает много различных вариантов комбинированных диаграмм, однако нельзя комбинировать плоские (двухмерные) и объемные (трехмерные) диаграммы. Если вы выберете несовместимые типы диаграмм для рядов данных, Excel предупредит вас об этом. Нельзя создать комбинированные трехмерные диаграммы, но если вы используете трехмерную гистограмму или трехмерную линейчатую диаграмму, то можно изменить форму столбцов или полос. Выберите ряд данных и откройте диалоговое окно Формат ряда данных. Щелкните на вкладке Фигура и выберите нужную форму для выделенного ряда данных. Использование вспомогательных осей Если нужно построить диафамму из наборов данных, существенно отличающихся масштабом, воспользуйтесь вспомогательной шкалой. Например, нужно построить диафамму, отражающую объемы ежемесячных продаж и средний размер продажи на одного покупателя. В этих двух наборах данных используется разная шкала (значения средних продаж гораздо меньше общего объема продаж). Если использовать одну шкалу, диапазон данных средних продаж будет практически невидим на диафамме. Решение подобной проблемы состоит в использовании вспомогательной оси для второго набора данных. На заметку Совет 358 Часть III. Создание диаграмм и изображений
Чтобы задать вспомогательную ось, выделите ряд данных в диаграмме, а затем войдите в диалоговое окно Формат ряда данных. Щелкните на вкладке Ось и активизируйте опцию по вспомогательной оси. Отображение таблицы данных С помощью Excel можно непосредственно под диаграммой отображать таблицу данных, на основании которой построена диаграмма. Для того чтобы добавить к диаграмме таблицу данных, выберите команду Диаграммам Параметры диаграммы, а затем, находясь в диалоговом окне Параметры диаграммы, во вкладке Таблица данных установите флажок Таблица данных. Также можно отобразить ключи легенды в таблице данных. На рис. 17.17 показан пример диаграммы с таблицей данных. г 1 Л!Л1 ZZZZZ -tDI х| г Продажи Отклонения JflHB Фев Map 7 Мей 8 Ирц 10 А«| 11_.Сен чг'ои И Нои и Де« 12360 2571 2SS41 62171 12366 78941 В620 36921 25601 76690 55412 6367 22911 32700 9430 17200 22906 43670 26761 1650 9470 40419 50141 29914 15 Средней 16 17 16 3S27) 90000 ВС0О0 70000 60000 60000 40000 10000 о --•-Отклонение 22911 32700 0430 2571 25841 52471 щ 17200 22906 43670 П. , J- 26801 7S690 95412 П. 6367 28914 60000 50000 40000 30000 20000 10000 о A*««t/fWr2/JU:ra/n«r4//Wrt/flMCt</rWt>/ftfert>F и ; JP Рис. 17.17. К этой диаграмме добавлена таблица данных Для того чтобы изменить форматирование или шрифт, применяемый в таблице данных, воспользуйтесь диалоговым окном Формат таблицы данных. Это окно предоставляет весьма ограниченные возможности по редактированию таблицы данных, кроме того, если работа происходит с внедренной диаграммой нужно быть особенно внимательным при изменении ее размеров, так как в этом случае таблица данных будет отображать не все данные. При работе с внедренной диаграммой сложно почувствовать всю прелесть таблиц данных, но, когда речь идет о листе диаграммы, применение этого свойства может оказаться незаменимым. Создание собственных типов диаграмм В предыдущих разделах описаны стандартные типы диаграмм Excel. Теперь пришло время рассмотреть так называемые пользовательские типы диаграмм. Немного о пользовательских диаграммах Любой пользовательский тип диаграммы есть не что иное, как просто стандартная диаграмма, но с определенным форматированием. Он предназначен для быстрого создания диаграммы, необходимой пользователю. Глава 17. Расширенные возможности построения диаграмм 359
На заметку Некоторые пользовательские типы диафамм являются комбинированными, т.е. объединяют два разных типа диафамм, например линейчатую диафамму и гисто- фамму. В этом случае для каждой последовательности будет определен свой тип диаграммы. Но помните: такой тип диафамм требует, чтобы оба типа диафамм имели одинаковые оси категорий (но допускаются разные оси значений). Кроме того, объемные диафаммы нельзя скомбинировать ни с каким другим типом. Создание собственного типа диаграммы В этом разделе подробно описано создание собственного типа диаграммы. Создание диаграммы Чтобы разработать собственный тип диафаммы, нужно построить начальную диаграмму, которая будет служить базовой для будущего пользовательского типа. Тип значений, которые будет использовать ваша диаграмма, может быть любым, но лучше выбрать тот, с которым в дальнейшем вы будете работать. Форматирование диаграммы Следующий шаг — форматирование диаграммы. На этом шаге определяется внешний вид диаграммы, созданной на основе нового пользовательского типа. Добавление диаграммы к списку нестандартных типов диаграмм Теперь, когда задано форматирование диаграммы, можно добавить новый тип к списку нестандартных диаграмм. Для этого выполните ряд действий. 1. Выделите диаграмму. 2. Выберите команду Диаграмма<=>Тип диаграммы. Откроется диалоговое окно Тип диаграммы. 3. Щелкните на вкладке Нестандартные. 4. Установите переключатель Дополнительные. 5. Щелкните на кнопке Добавить. Появится диалоговое окно Добавление нового типа диаграмм. 6. Введите название нового типа диаграммы и его описание (рис. 17.18). 7. После щелчка на кнопке ОК новый тип диаграммы отобразится в списке диалогового окна Тип диаграммы. 8. Повторный щелчок на кнопке ОК завершит создание пользовательского типа диаграммы. 3= ШЯ 2й Данное дн4логоео*-еднв*»5вол«г созмиитьтекущу»; диаграмму е списке новых wnte лиагрвмк. бввдчтвивж*»*» н'вогдтнгаднегр** ' Название; [моя диаграмм ^1шяефоисаииеи(»огот1«19диаграи»1: ,,, , „ Описание: В диагранв содержатся все необходимые установки Рис. 17.18. Диалоговое окно Добавление нового типа диаграмм 360 Часть III. Создание диаграмм и изображений
Тестирование и отладка Последний шаг — это тестирование нового типа диаграммы. Проверку необходимо выполнять для различных рядов исходных данных. Готово! Теперь данные будут графически отображаться именно тем типом диаграмм, который был специально создан для работы с подобными данными. Но если диаграмма все-таки выглядит не так, как хотелось бы, возможно, придется заняться дополнительным форматированием, а затем еще раз повторить описанные выше действия. Если при повторном добавлении использовать предыдущее имя, Excel предупредит о том, что подобный тип уже существует, и спросит, нужно ли его заменить. Секреты построения диаграмм В этом разделе вы найдете некоторые секреты построения диаграмм. Одни из них касаются применения малоизвестных средств, другие вообще до сих пор не упоминались. Отдельные советы относятся к таким диаграммам, построение которых вы, наверное, считали бы невозможным. fcb. Все примеры, приведенные в следующих разделах, можно найти на прилагаемом На кома щ. к книге компакт-диске, диске Применение в диаграммах графических объектов В диаграммах, созданных в Excel, можно использовать узор, текстуру или графическое изображение. На рис. 17.19 показан пример гистограммы, созданной с применением графических изображений. Продажи Я^ 111 JJ Пн Вт Ср Чт Рис. 17.19. К столбцам диаграммы можно применить графические изображения Для того чтобы преобразовать ряд данных в рисунки, откройте диалоговое окно Формат ряда данных. Щелкните на кнопке Способы заливки, чтобы открыть одноименное диалоговое окно. Щелкните на вкладке Рисунок, а затем на кнопке Рисунок, чтобы найти тот графический файл, который вам нужен. Используйте диалоговое окно Способы заливки для того, чтобы изменить некоторые опции изображения. Кроме того, можно скопировать рисунок в буфер обмена, а затем, выделив диаграмму или столбец, выбрать команду Правка^Вставить. Глава 17. Расширенные возможности построения диаграмм 361
Диаграммы прогресса Каждый человек встречался с диаграммами, которые отображают, на сколько процентов выполнена работа. В Excel можно создавать такие же диаграммы. Вся хитрость заключается в том, что нужно создать диаграмму, исходный диапазон данных которой состоит из одной ячейки (которая содержит число в процентном формате). На рис. 17.20 приведен пример рабочего листа, в котором определяется процент выполнения за один день поставленной задачи. За 15 дней было привлечено 1000 новых клиентов. В ячейке В18 отображается результат работы, а в ячейку В19 заносится следующая формула: =СУММ(В2:В16) В ячейке В21 вычисляется, на сколько процентов выполнена задача: =В19/В18 24 -*■ ^ А Рис. 17.20. Эта диаграмма позволяет определить, на сколько процентов выполнена поставленная задача Если поместить новые данные в столбец В, по формулам автоматически подсчитается результат. Для создания диаграммы необходимо выделить ячейку В21 и, щелкнув на кнопке мастера диаграмм, выбрать гистограмму. Обратите внимание на пустую ячейку над только что выделенной. Если ее не будет, Excel использует весь диапазон данных для построения диаграммы. Именно поэтому ячейка В21 отделена от всех остальных, а следовательно, диаграмма будет строиться с использованием одной ячейки. Кроме того, внесите еще некоторые изменения. ■ Удалите ось категорий (х) с диаграммы, для этого выделите ее и нажмите клавишу <Delete>. ■ Удалите легенду. ■ Добавьте подписи рядов данных (в диалоговом окне Формат ряда данных). 362 Часть III. Создание диаграмм и изображений
■ Установите значение в поле Ширина зазора, равное 0, после чего колонка будет занимать всю ширину диаграммы. Для этого дважды щелкните на колонке и в открывшемся диалоговом окне Формат ряда данных выберите вкладку Параметры. ■ Откройте диалоговое окно Формат оси, перейдите во вкладку Шкала и установите Максимальное значение равным 1, а Минимальное значение — 0. В дальнейшем можно настроить внешний вид диаграммы в соответствии с вашими желаниями. Процентная диаграмма На рис. 17.21 представлена круговая диаграмма, напоминающая измерительное устройство. Она, как и предыдущая диаграмма, отображает только одно значение (введенное в ячейку В1), хотя на самом деле в диаграмме используется три точки данных (А4:А6). «• * • wV Jncn/o«rf> IWr3,.i»<T4/i»«T»/rt<T*4j«J Рис. 17.21. Эта диаграмма по внешнему виду напоминает спидометр и отображает значения от 0 до 100% Нижняя часть круга скрыта и всегда будет равной 50%. Для области построения рамка устанавливается невидимой, а заливка — прозрачной. Размеры двух других долек основаны на значении из ячейки В1. В ячейку А4 введена следующая формула: =МИН(В1,100%)/2 Эта формула определяет, какое из двух значений (хранящееся в ячейке В1 или 100%) является меньшим. Затем, поскольку видна лишь половина круга, полученное значение нужно разделить на 2. С помощью функции МИН на диаграмму налагается ограничение, и она никогда не будет отображать значение больше 100%. Ячейка А6 используется для определения оставшейся части круга, область диаграммы которой находится справа от разделителя: =50%-А5 Сравнительные гистограммы Применив творческий подход, в Excel можно создать казалось бы невозможное. Например, на рис. 17.22 показана сравнительная гистограмма. Такие диаграммы часто используются для представления данных о предпочтениях групп людей. Глава 17. Расширенные возможности построения диаграмм 363
л ;-, |.". , в-- • с 1 ,jBo»fает Женщины М,» <ины 3 ?!■» 31 4 11-SJ 11-60 41-70 >70 -23% ■32% -18% -е% -3% -2% 25* 31% 20% 14% 3% 2% ♦1-76 sice £ «St С 1 "-« 5 тил* Использование продукта Распределение по возрасту и полу | 1 ! 7 60S 504 404 30% 20% 104 0% 10% 2C „ 30% 40% 50% 60% Процент 1мь постоянно испояьгумаих продую .*-;* *««\Лист1/~ -Ы_ 1 -ill" Рис. 17.22. Чтобы создать такую сравнительную гистограмму, необходимо знать некоторые секреты Рассмотрим, как построить такую диаграмму. 1. Введите данные, как показано на рис. 17.22. Обратите внимание: значения для групп женщин введены в виде отрицательных чисел. 2. Выделите диапазон А1:С8 и создайте двухмерную линейчатую диаграмму. 3. К горизонтальной оси примените специальный числовой формат: 0%; 0%; 0%. Это специальное форматирование переводит отрицательные значения в проценты. 4. Выделите вертикальную ось и активизируйте диалоговое окно Формат оси. Щелкните на вкладке Вид и удалите все деления на оси. Расположите метки делений оси снаружи (опция Внизу). Таким образом, ось будет размешаться в центре диаграммы, а метки осей будут находиться с левой стороны. 5. Выберите по очереди каждый ряд данных и активизируйте диалоговое окно Формат ряда данных. Щелкните на вкладке Параметры и установите значение опции Перекрытие равным 100, а опции Ширина зазора — равным 0. 6. Вместо легенды дополните диаграмму двумя текстовыми окнами с надписями Женщины и Мужчины. 7. Примените необходимые атрибуты форматирования. Диаграмма Ганта Диаграмма Ганта — это горизонтальная линейчатая диаграмма, которая часто используется в программах управления проектами. Несмотря на то что в Excel диаграммы Ганта как таковые не поддерживаются, создать их довольно просто. Здесь самое главное — правильно задать исходные данные. На рис. 17.23 показана диаграмма Ганта, которая графически отображает расписание проекта, расположенного в диапазоне А2:С13. На горизонтальной оси отображается общая длительность выполнения проекта, а каждый прямоугольник представляет собой одно за- 364 Часть III. Создание диаграмм и изображений
дание. Взглянув на диаграмму, легко оценить время выполнения каждого задания, а также определить накладывающиеся задания. В столбце А содержатся названия заданий, в столбце В — дата начала выполнения соответствующего задания, а в столбце С — длительность выполнения задания в днях. . I Диаграмма Ганга -it .JSIxJ 1 За'jHHe .! Планирование собрания 3 Разработка анкеты 4 Распространение анкеты ^_ Ожидание результатов Ь_ Ввод данных 7 Анализ данных 8 Составление предварительного отчета 9 Распространение предварительного отчета ~10 Сбор комментариев 11 Составление отчета 12 Сдача отчета руководству 13 Совещание руководства ' ата начала Срок 29.12.97 30.12.97 1301.96 16.01.gS 16.01.98 03.02 9В 09 02.98 23.02.9S 24.02.9S 02.03.9S 09 03 98 17.03.98 20 21 1 ||и • . и Я Планирование собрания Разработка анкеты Распространение анкеты Ожидание реуяметов Ввод данных Аналш данных Составление предварительного отчета Распространение предварительного отчета Coop комментариев Составление отчета Сдача отчета руководству Совещание руководства | ■■■■■§■■ ■ i i i i Расписание работ - ■■ [ 1 ■ \ 1 122Q ЛА 1.12 1.19 120 22 2 9 2 10 223 3.2 30 3.10 А Рис. 17.23. На основе линейчатой диаграммы можно построить диаграмму Ганта Чтобы создать диаграмму, выполните ряд действий. 1. Выделите диапазон А2:С13 и щелкните на кнопке Мастер диаграмм. На первом шаге мастера выберите линейчатую диаграмму с накоплениями. 2. На втором шаге средства Мастер диаграмм переключатель Ряды в установите в положение столбцах. Обратите внимание, что Excel ошибочно восприняла значения в первых двух столбцах как подписи по оси категорий. 3. Также на втором шаге перейдите во вкладку Ряд и добавьте еще один ряд данных. Ряды должны ссылаться на следующие диапазоны: Ряд1:В2:В13; Ряд2: С2:С13; Подписи по оси X: А2:А13. 4. На третьем шаге мастера удалите легенду и щелкните на кнопке Готово, чтобы создать внедренную диаграмму. 5. Установите высоту диаграммы так, чтобы все подписи были видимы. Для этого также можно уменьшить размер шрифта для подписей по оси категорий. Глава 17. Расширенные возможности построения диаграмм 365
Автоматически обновляемые диаграммы Ранее в главе было описано несколько способов обновления диаграммы при изменении исходных данных. Хотя обновить диафамму и несложно, но для вас может представлять интерес "секретный" прием, заставляющий Excel автоматически обновлять диафамму при удалении или добавлении значений в диапазон данных, на основе которого строится диафамма. Для того чтобы "заставить" Excel автоматически обновлять диафамму, выполните ряд действий. 1. Создайте рабочий лист, подобный показанному на рис. 17.24. 2. С помощью команды ВставкаОИмя^Присвоить откройте диалоговое окно Присвоение имени. В поле Имя введите Данные, а в поле Формула — следующее: =СМЕЩ(Лист1!$А$2;0;0;СЧЁТЗ(Лист1!$А:$А)-1) 3. Щелкните на кнопке Добавить. Отметим, что функция СМЕЩ ссылается на первую точку данных (ячейка А2) и использует функцию СЧЁТЗ для определения количества точек данных. Так как в строке 1 содержатся заголовки, то от количества всех непустых ячеек, определяемых функцией СЧЁТЗ, отнимается 1. 4. В диалоговом окне Присвоение имени в поле Имя введите имя Продажи, а в поле Формула — следующее: =СМЕЩ(Лист1!$В$2;0;0;СЧЁТЗ(Лист1!$В:$В)-1) 5. Щелкните на кнопке Добавить, а затем на кнопке ОК, чтобы закрыть диалоговое окно Присвоение имени. 6. Активизируйте диафамму и выделите ряд данных. В строке формул вы увидите такую формулу: =РЯД(Лист1!$В$1;Лист1!$А$2:$А$10;Лист1!$В$2:$В$10;1) 7. Замените ссылки на диапазоны именами диапазонов, определенными при выполнении пп. 2 и 4 описываемой процедуры. Формула должна принять вид =РЯД(;Лист1!Данные;Лист1Шродажи;1) После выполнения описанных действий, если вы добавите или удалите данные в столбцах А и В, диафамма будет обновляться автоматически. р А В С О '!' 1> 3 м I* 1схг 2окг Зокг Р- ! г^ 8 » U 11 12 W 14 IS « в 2 бокг 7окг вокт 9 met идедажя <зе воз 581 взз 635 621 512 654 70в . ...Kiwrt 700 600 а» 400 300 200 100 II -IOlX|| £ F • : Р н * ^iKLLr| Ежедневный объем продаж .... .... ....■ .... Зост Sorr 7скт Эомт Рис. 17.24. Эта диаграмма будет обновляться автоматически при изменении исходных данных 366 Часть III. Создание диаграмм и изображений
Для корректного применения этого приема к своим данным убедитесь, что первый аргумент функции СМЕЩ ссылается именно на первую ячейку с данными, а аргументом функции СЧЁТЗ является весь столбец. Если в столбцах, содержащих данные, есть еще какие-нибудь заполненные ячейки, не имеющие отношение к данным, на основе которых строится диаграмма, то функция СЧЁТЗ будет возвращать неверный результат. Создание графиков математических функций одной переменной Удобнее всего создавать графики математических или тригонометрических функций, используя точечные диафаммы. На рис. 17.25 приведен пример фафика функции синус. На диафамме значения переменной у строятся в зависимости от значений переменной х (выраженной в радианах) в диапазоне от -5 до +5 с шагом 0,5. Каждая пара х и у отображается на диафамме в виде одной точки данных. Затем все точки соединяются линией. 19 Г**фшш 4т«««-* «U ! Л 1 X 2 -500 3 -150 4 -«.00 S -3.50 S -3.00 7 -2.50 8 | -200 8 -1.50 Ю -1.00 11 -0.50 12 0.00 13 0.50 И 1.00 1S 1.50 И 2.00 17 2,50 1в 3,00 19 3.50 20 4.00 21 4.50 22 5,00 8 Y о.ге 0.9в 0.76 0.35 -0.W -0.60 -0.91 -1.00 -0.84 -0.48 О.ОО 0.46 0.84 1.00 0.91 O.tiO о.и -0.35 -0 76 -0.98 -0.96 23 24 1JS и°< 0.S 0.0 Of ■</> -1.5 d e f о Y-SIN(X) \ -V -/- 5 4-3-2-10 1 2 " — JSUUl _ н 1 \- -V; 3 4 5 — —*- J 7~ -sir1! Рис. 17.25. На этой диаграмме изображен график функции SIN(x) Функция зависимости переменной у от х выражается следующей формулой: у = SIN(x) Соответствующая формула находится в ячейке В2 (и копируется в нижние ячейки): =SIN(A2) Часто задаваемые вопросы Логическим окончанием этой главы будет раздел, посвященный ответам на часто возникающие вопросы при работе с диафаммами в Excel. Здесь вы сможете найти многие ответы на вопросы, возникшие при чтении глав 16 и 17. Все вопросы разделены на несколько фупп. ■ Насфойка диафамм. ■ Форматирование диафамм. Глава 17. Расширенные возможности построения диаграмм 367
■ Ряды данных диаграмм. ■ Типы диаграмм. ■ Другие вопросы. Настройка диаграмм Что лучше, внедренная диаграмма или диаграмма, расположенная на отдельном листе? На этот вопрос нет однозначного ответа. Дело в том, что каждый из этих видов диаграмм служит своей цели. Использование листа диаграммы позволяет быстро определить расположение диаграмм (ярлычки листов диаграмм могут иметь поясняющие имена). С другой стороны, внедренные диаграммы будут более удобными, если необходимо иметь перед глазами одновременно и диаграмму, и данные, которые в ней используются. Кроме того, внедренные диаграммы удобнее форматировать, а если вам необходимо разместить две диаграммы на одном рабочем листе, то тут без внедренных диаграмм никак не обойтись. Можно ли на одном листе диаграмм разместить несколько диаграмм? Да. Создайте внедренную диаграмму, как вы это делаете обычно, и поместите ее на какой- либо рабочий лист. Затем выберите любую пустую ячейку и нажмите клавишу <F11>. Excel создаст пустой лист диаграмм. Вернитесь на рабочий лист с диаграммой, активизируйте внедренную диаграмму и выберите команду Диаграмма^Размещение. На экране появится диалоговое окно Размещение диаграмм. Установите переключатель в положение имеющемся и из раскрывающегося списка выберите пустой лист диаграммы. Excel переместит внедренную диаграмму на лист диаграмм. Теперь, чтобы переместить другие диаграммы на тот же лист, выделите их (по одной за раз) и вновь выберите команду Диаграмма^Размещение. После того как все диаграммы будут перенесены на лист диаграмм, можно как угодно размещать и изменять размеры этих диаграмм. Если несколько диаграмм расположено на одном листе, можно воспользоваться командой Вид^По размеру окна (эта опция доступна только тогда, когда выделен лист диаграмм). В результате будет подобран такой масштаб, чтобы в окне были видны все диаграммы, причем они будут занимать все пространство окна. При изменении размеров или пропорций окна автоматически будут меняться масштаб и пропорции диаграмм. При создании линейных диаграмм на основе данных, среди которых имеются пропущенные точки данных (пустые ячейки), между соответствующими столбцами остаются промежутки. Как можно от них избавиться? Когда создается линейчатая диаграмма в Excel, пропущенные данные не отображаются и на диаграмме появляются бреши. Существует два способа обработки таких данных. ■ Присвоить пустым ячейкам нулевые значения. ■ Интерполировать данные, соединив линией две соседние (известные) точки данных. Чтобы лучше понять, как Excel обрабатывает пропущенные данные, выделите диаграмму и выберите команду Сервис=>Параметры. В диалоговом окне Параметры перейдите во вкладку Диаграмма и установите переключатель Для пустых ячеек в нужное положение. Действие этой опции будет распространяться на все ряды данных выделенной диаграммы. Кроме того, вместо изменения параметров диаграммы в пустые ячейки можно ввести формулу =НД (). Все точки данных, содержащие эту формулу, будут интерполироваться автоматически. 368 Часть III. Создание диаграмм и изображений
Можно ли связать максимальные и минимальные значения осей с ячейками? К сожалению, Excel не содержит встроенных средств для выполнения этой операции. Однако можно создать макрос VBA, который будет выполняться каждый раз при изменении определенного диапазона. Этот макрос будет изменять соответствующие настройки диаграммы. Ось категорий диаграммы использует значения даты, но Excel отображает другие значения даты, которых нет на моем рабочем листе. Как от этого избавиться? Выделите диаграмму и выберите команду Диаграмма^Параметры диаграммы. В диалоговом окне Параметры диаграммы перейдите во вкладку Оси. Убедитесь, что переключатель Ось X (Категорий) установлен в положение категории (а не Автоматическая или Временная шкала). Мне очень не нравятся цвета, используемые в диаграммах по умолчанию. Можно ли их изменить? Каждая рабочая книга содержит палитру, состоящую из 56 цветов, которые сохраняются в файле рабочей книги. Чтобы заменить один или более цветов, выберите команду СервисО Параметры и в открывшемся диалоговом окне выберите вкладку Цвет. На экране появится набор цветов, которые используются в диаграммах. Чтобы изменить какой-либо цвет, щелкните на нем, а затем щелкните на кнопке Изменить. Все внесенные изменения отобразятся на всех уже существующих диаграммах этой рабочей книги, а также будут применяться ко всем новым диаграммам. Ответ на предыдущий вопрос хорошо подходит для одной книги, но как мне изменить стандартные цвета для всех новых рабочих книг? Чтобы изменить стандартную палитру для всех новых рабочих книг, необходимо создать шаблон рабочей книги, используемый по умолчанию. Для этого выполните ряд действий. 1. Создайте новую рабочую книгу. 2. Выберите команду Сервис^Параметры. В открывшемся диалоговом окне Параметры выберите вкладку Цвет и в ней установите желаемые цвета. 3. Выберите команду Файл^Сохранить как. Откроется диалоговое окно Сохранение документа. 4. В раскрывающемся списке Тип Файла выберите Шаблон. Выберите папку XLStart. В поле Имя файла введите книга.хИ. Папка XLStart может находиться в любом месте, но обычно она располагается здесь: C:\Program Files\Microsoft Office\Officell\XLStart 5. Щелкните на кнопке Сохранить. После выполнения этих действий создайте новую рабочую книгу, которая будет основываться на только что созданном шаблоне. Новая книга будет основываться на файле книга.хИ и поэтому будет содержать новую палитру цветов. Форматирование диаграмм Как выделить все внедренные диаграммы на рабочем листе? Нажмите комбинацию клавиш <Ctrl+G>. В открывшемся диалоговом окне Переход щелкните на кнопке Выделить. Затем установите переключатель в положение объекты и щелкните на кнопке ОК. В результате будут.выделены все объекты (не только диаграммы), расположенные на активном рабочем листе. Глава 17. Расширенные возможности построения диаграмм 369
Кроме того, есть еще один способ — выделять каждую диаграмму отдельно. Для этого, удерживая клавишу <Ctrl>, щелкните по очереди на всех имеющихся диаграммах. Если диаграмм много и они не помещаются на экране, то сначала лучше уменьшить масштаб. Как сделать, чтобы все внедренные диаграммы были одного размера? Выделите все имеющиеся диаграммы и затем выберите команду ФорматООбъект. Откроется диалоговое окно Формат объекта. Перейдите во вкладку Размер и введите необходимые значения высоты и ширины. Затем щелкните на кнопке ОК. Иногда нужно просто увеличить или уменьшить размеры диаграмм, но сохранить их пропорции. Для этого опять выделите все диаграммы и, перетаскивая угловые маркеры одной из них, определите нужный размер. Все остальные диаграммы также поменяют свои размеры. Как сделать, чтобы все внедренные диаграммы были выровнены по одной линии и располагались на одинаковых расстояниях друг от друга? Выделите все необходимые диаграммы. Убедитесь, что отображена панель инструментов Рисование. Чтобы упорядочить и распределить диаграммы, выберите команду Действия^ Выровнять/распределить. При создании линейчатых диаграмм между началом линии и осью значений возникает брешь. Как этого избежать? Дважды щелкните на оси категорий, чтобы открыть диалоговое окно Формат ОСИ. Перейдите во вкладку Шкала и снимите флажок Пересечение с осью Y (значений) между категориями. Можно ли использовать верхний или нижний индекс в заголовке диаграммы? Да. Щелкните на заголовке диаграммы, чтобы выделить ее. Затем с помощью мыши выделите символы, которые необходимо отформатировать (в данном случае — изменить индекс символов). Воспользуйтесь командой Формате Выделенное название диаграммы. В открывшемся диалоговом окне измените параметры шрифта для выделенного текста. Этот метод также работает для форматирования названий осей. Можно ли использовать верхний или нижний индекс для форматирования значений осей? К сожалению, нет. Как создать "разделенную" ось, чтобы расположить рядом данные, которые существенно отличаются друг от друга? Для этого придется применить довольно сложные операции, а результат их выполнения будет статическим. Например, можно создать две диаграммы, затем наложить одну на другую. После чего, чтобы указать, что ось разорвана, наложить на место разрыва небольшой прямоугольник. Можно ли с диаграммами использовать условное форматирование? Мне бы хотелось, чтобы цвет столбцов диаграммы изменялся в зависимости от значений. Автоматически это сделать невозможно, но можно создать макрос VBA, который будет выполнять условное форматирование. Для диаграммы был установлен размер шрифта, но когда я изменил ее размер, Excel автоматически поменяла и размер шрифта. Как избежать этого? Выделите текст диаграммы (заголовок, название оси, легенду или другой элемент) и откройте для выделенного элемента диалоговое окно Форматирование. Перейдите во вкладку Шрифт и установите размер шрифта. Затем снимите флажок Автомасштабирование. Для того чтобы запретить Автомасштабирование для всей диаграммы, откройте диалоговое окно Формат области диаграммы. Перейдите во вкладку Шрифт и снимите флажок Автомасштабирование. Лучше всего это делать до внесения в диаграмму каких-либо изме- 370 Часть III. Создание диаграмм и изображений
нений, иначе все текстовые элементы будут автоматически отформатированы одним стилем и вам, возможно, придется еще раз их форматировать. Чтобы отменить средство Автомасштабирование навсегда, необходимо внести изменения в реестр Windows. Для этого запустите программу Редактор реестра (выберите команду ПускОВыполнить и в поле Открыть введите regedit.exe). Затем перейдите к указанному ниже ключу (часть "11.0" может меняться в зависимости от установленной на вашем компьютере версии Microsoft Office): HKEY_CURRENT_USER\Software\Microsoft\Office\ll.0\Excel\Options Воспользуйтесь командой ПравкаОСоздать<=>Параметр DWORD и добавьте новый элемент с названием AutoChartFontScaling. После чего присвойте ему значение 0. Изменения отобразятся только на тех диаграммах, которые будут созданы после изменения реестра. Все ранее созданные диаграммы останутся неизмененными. Внесенные в реестр изменения просто будут изменять опцию вкладки Шрифт диалогового окна Формат области диаграммы для новых диаграмм При создании линейчатой диаграммы категории располагаются в порядке, обратном порядку их следования в рабочем листе. Как это исправить? Категории всех диаграмм начинаются на пересечении оси категорий и оси значений. В случае с линейчатой диаграммой эта точка находится в нижнем левом углу. Поэтому если метки категорий размещаются по рядам (а не по столбцам), то и отображаться они будут в обратном порядке. Эту проблему легко .решить, выбрав в диалоговом окне Формат оси вкладку Шкала, а затем установив флажки Обратный порядок значений и Пересечение с осью Y (значений) в максимальной категории. Текстовые метки под осью категорий размещаются очень близко друг к другу и поэтому практически невозможно что-либо прочитать. Как это исправить? Есть несколько способов решить эту проблему. Иногда, возможно, понадобится одновременно использовать некоторые из приведенных ниже советов. ■ Уменьшите размер шрифта подписей по оси категорий. ■ Увеличьте ширину области диаграммы. ■ Измените масштаб оси категорий (для этого используйте вкладку Масштаб диалогового окна Формат оси). ■ Измените выравнивание по оси категорий (для этого используйте вкладку Выравнивание диалогового окна Формат оси). ■ Измените текст, который используется в качестве подписей по оси категорий. Я создал очень сложную диаграмму, на редактирование которой потратил много времени, И теперь нужно создать еще одну такую же. Как это сделать? Есть несколько способов. ■ Копирование форматирования. Создайте стандартную диаграмму с настройками, установленными по умолчанию. Затем выделите готовую диаграмму и выберите команду Правка^Копировать. Активизируйте новую диаграмму и выберите команду ПравкаоСпециальная вставка. В появившемся диалоговом окне установите переключатель в положение Форматы. Эта процедура имеет один недостаток. Вместе с остальными установками заголовок новой диаграммы заменяется тем, который был в исходной диаграмме. На заметку / Глава 17. Расширенные возможности построения диаграмм 371
■ Копирование диаграммы и изменение источника данных. Выделите готовую диаграмму. Затем, удерживая нажатой клавишу <Ctrl>, переместите ее в любое другое место. Это позволит создать точную копию исходной диаграммы. Далее выберите команду Диаграмма^Исходные данные и в появившемся диалоговом окне определите исходные данные для новой диаграммы. ■ Создание собственного типа диаграммы. Выделите исходную диаграмму. Выберите команду Диаграмма^Тип диаграммы. В открывшемся диалоговом окне во вкладке Нестандартные установите переключатель Вывести в положение Дополнительные. После щелчка на кнопке Добавить в диалоговом окне Добавление нового типа диаграммы заполните поля Название и Описание. Для создании новой диаграммы используйте этот тип диаграммы. При наведении курсора мыши на любую точку данных диаграммы появляется маленькое всплывающее поле, в котором выводится его имя и значение. Как отключить эти поля? Это поле называется всплывающей подсказкой диаграммы. Чтобы отключить ее, выберите команду Сервис=>Параметры и в открывшемся диалоговом окне Параметры перейдите во вкладку Диаграмма. Здесь вы найдете две опции, отвечающие за всплывающие подсказки. Можно ли изменить стиль текста всплывающих подсказок? Нет. Даже с помощью VBA? Даже с помощью VBA. Если изменить данные в сводной диаграмме, все установленные настройки форматирования исчезают. Почему это происходит? Это происходит из-за шаблона сводной диаграммы. Microsoft знает об этой проблеме уже довольно долго, но почему-то все остается без изменений. Существует два способа решить эту проблему. ■ Создать макрос, который будет выполнять форматирование. ■ Создать собственный тип диаграммы. Почему вокруг трехмерной гистограммы так много пустого места? Хороший вопрос. Я не знаю ответа на него. В некоторых случаях можно поэкспериментировать, поворачивая диаграмму так, чтобы лучше использовать свободное пространство. Для этого выберите команду Диаграмма^Объемный вид. Как изменить в гистограмме цвет только одной колонки? Щелкните на любой колонке (выделится весь ряд), а затем щелкните на той колонке, цвет которой нужно изменить. Теперь ее можно редактировать отдельно, используя для этого стандартные средства форматирования. Ряды данных диаграмм Моя диаграмма состоит из двух рядов данных, причем один из них намного больше второго, из-за чего второго ряда данных практически не видно. У этой проблемы есть только одно решение: используйте для второго ряда данных дополнительную ось значений. Выделите ряд и выберите команду ФорматОВыделенный ряд. В открывшемся диалоговом окне Формат ряда данных откройте вкладку Ось и установите переключатель Построить ряд в положение по вспомогательной оси. Почему, когда я добавляю новые данные в рабочий лист, диаграмма не обновляется автоматически, чтобы отобразить их? 372 Часть III. Создание диаграмм и изображений
Эта одна из особенностей реализации диаграмм в Excel. Можно создать автоматически обновляемый ряд, используя именованную формулу. Воспользуйтесь диалоговым окном Присвоение имени, чтобы создать следующую именованную формулу (с именем Данные): =СМЕЩ (Лист1!$А$2;0;0;СЧЕТЗ(Лист1$А:$А)-1;1) В этой формуле предполагается, что данные начинаются с ячейки А2, а в ячейке А1 находится название столбца. Замените ссылки на ячейки в формуле РЯД именем Данные, например: =РЯД(;;Лист1!Данные;1) Если вы работаете с Excel 2003, то есть еще одно средство. Из диапазона ячеек, используемого для построения определенного ряда данных, создайте обозначенный список. Для этого выберите команду Данные^Список^Создать список. Теперь диаграмма будет обновляться каждый раз, когда вы внесете в этот список какие-либо изменения. Как добавить в диаграмму прямую линию, отображающую среднее значений? Для этого в диаграмму необходимо добавить новый ряд данных. Значения для нового ряда вычисляются тю формуле, которая возвращает среднее исходных данных. В результате каждая точка данных нового ряда будет средним значением. Я добавил линию тренда на диаграмму и выбрал опцию, которая отображает уравнение этой линии. Как перенести эти данные на рабочий лист? Чтобы вычислить значения уравнения линии тренда линейного типа, можно воспользоваться функциями НАКЛОН, ОТРЕЗОК и КВПИРСОН. Для других типов воспользуйтесь функцией ЛИНЕЙН. Как создать диаграмму, использующую по одному значению из десятка рабочих листов? На листе, на котором будет расположена диаграмма, создайте простые формулы ссылок на другие листы, например: =Лист1!А1 =Лист2!А1 Затем создайте диаграмму, которая будет использовать значения, возвращаемые этими формулами. Ряд данных состоит из нескольких тысяч значений. Как построить диаграмму, в которой будет отображаться каждое пятое значение? Проще всего выполнить эту операцию можно с помощью средства Автофильтр. Добавьте рядом с данными еще один столбец, в каждую ячейку которого введите следующую формулу: =ОСТАТ(СТРОКА();5) Эта формула разделит номер строки на 5 и вернет остаток. Затем используйте автофильтр, чтобы отобразить только те строки, в которых формула вернула значение 0. В результате на экране из исходных данных останется только каждое пятое значение. По умолчанию в диаграммах не отображаются данные, содержащиеся в скрытых строках. Я добавил на диаграмму подписи данных, но некоторые из них трудно прочитать. Можно ли их переместить? Можно, но это придется делать вручную. Щелкните на любой подписи данных, чтобы выделить их всех. Затем щелкните на подписи, которую необходимо переместить. Перетащите ее на новое место. Повторите эти действия для каждой трудночитаемой подписи. Глава 17. Расширенные возможности построения диаграмм 373
Типы диаграмм Можно ли в Excel создать диаграмму Ганта? Можно. Процесс создания такой диаграммы подробно описан ранее в главе. Как создать частотную гистограмму (полигон частот)? Существует два способа. ■ Воспользуйтесь средством Гистограмма, которое входит в состав надстройки Пакет анализа. Это средство проведет анализ ваших данных и создаст диаграмму, но она будет статической (т.е. не будет меняться при изменении исходных данных). ■ Определите интервалы значений (карманы), а затем с помощью функции ЧАСТОТА определите количество попаданий в каждый интервал. На основе полученных данных создайте диаграмму. Я создал трехмерную гистограмму, но по ней сложно определить, какая колонка выше. Что здесь не так? Несмотря на то что трехмерные гистограммы Excel выглядят привлекательно, они не подходят для представления данных, которые необходимо сравнивать. Лучше использовать двухмерную гистограмму. Каждая точка данных определена тремя значениями (х,у и г). Как создать трехмерную точечную диаграмму? К сожалению, Excel не поддерживает этот тип диаграмм. Я создал несколько типов диаграмм. Как я могу перенести их на другие компьютеры? Для этого необходимо скопировать ваш файл XLUSRGAL.XLS в аналогичную папку на другом компьютере. Этот файл создается после того, как был создан по крайней мере один пользовательский тип диаграмм. Поэтому если на другом компьютере также были созданы некоторые типы диаграмм, то после перезаписи файла XLUSRGAL. XLS эти пользовательские типы диаграмм будут утеряны. Можно ли в одной диаграмме объединить график и гистограмму? Это типичный пример комбинированной диаграммы. Ее можно создать с помощью средства Мастер диаграмм. На первом шаге мастера перейдите во вкладку Нестандартные и выберите тип График|Гистограмма. Кроме того, можно создать стандартную диаграмму (график или гистограмму) с двумя рядами данных. Выделите один из рядов и выберите команду Диаграмма^Тип диаграммы, после чего выберите нужный тип. Новый тип диаграммы будет применен только к выбранному ряду данных. Все ли типы диаграмм могут быть использованы в комбинированной диаграмме? Нет. Например, нельзя объединить трехмерную диаграмму с каким-либо другим типом диаграмм. Excel не позволит вам этого сделать. Как создать диаграмму, в которой используется географическая карта? Если вы используете Excel 2000 или более раннюю версию, то такая возможность есть. Но начиная с Excel 2002 это средство не поддерживается. Другие вопросы Какая разница между осями значений и категорий? Что такое ось рядов данных? Ось значений отображает данные на числовой шкале. Ось категорий, как правило, отображает текст (хотя может отображать и числа). Ось рядов данных доступна только для трехмерных диаграмм и представляет собой ось категорий, направленную вглубь. 374 Часть III. Создание диаграмм и изображений
Обычная гистограмма содержит горизонтальную ось категорий и вертикальную ось значений. Точечная и пузырьковая диаграммы имеют две оси значений (и ни одной оси категорий). Круговая диаграмма вообще не имеет осей. Я создал диаграмму, но Excel воспринимает все числа как нули. Что здесь не так? Скорее всего, вы импортировали данные из других источников и Excel не распознала их как числа. Чтобы исправить это, выполните ряд действий. 1. Выделите любую пустую ячейку. 2. Выберите команду ПравкаоКопировать. 3. Выделите ваш диапазон данных. 4. Выберите команду Правка^Специальная вставка и установите переключатель Операция в положение сложить. В результате Excel воспримет эти значения как числа. На одном рабочем листе находится несколько внедренных диаграмм. Что нужно сделать, чтобы они не выводились на печать? Нажмите и удерживайте клавишу <Ctrl>, а затем выделите диаграммы, которые не нужно печатать. В результате диаграммы будут выделены как объекты. Выберите Формате Объект, после чего на экране появится диалоговое окно Формат объекта. Перейдите во вкладку Параметры и снимите флажок Выводить объект на печать. Мне нужно создать диаграмму, но исходные данные находятся в несмежных столбцах. Обязательно ли перемещать данные в один диапазон? Нет. Но перед созданием диаграммы необходимо выполнить множественное выделение, чтобы выделить только те данные, которые будут использоваться в диаграмме. Выделите первый диапазон, затем нажмите и удерживайте клавишу <Ctrl> и выделите остальные диапазоны. Кроме того, можно создать диаграмму на основе одного диапазона, а затем с помощью команды Диаграмма^Исходные данные добавить новые ряды данных. Я создал диаграмму и хочу оставить ее такой, какая она есть. Я не хочу, чтобы она менялась при изменении исходных данных. Это возможно? Да, можно разорвать связь между диаграммой и исходными данными. В результате получится статическая диаграмма, которая не будет зависеть от каких-либо данных. Разорвать связь можно двумя способами. ■ Скопируйте диаграмму как рисунок. Для этого выделите диаграмму, нажмите и удерживайте клавишу <Shift> и выберите команду Правка<=>Копировать рисунок. (Эта команда доступна только при нажатой клавише <Shift>.) На экране появится диалоговое окно Копировать рисунок. Щелкните на кнопке ОК, чтобы принять установки по умолчанию. Затем щелкните в любом месте рабочего листа и выберите команду Прав- каоВставить. ■ Преобразуйте ссылки на исходные данные в массивы. Для этого выделите один ряд данных на диаграмме, а затем щелкните на строке формул, чтобы активизировать формулу =РЯД. Нажмите клавишу <F9>, чтобы преобразовать ссылку на диапазон в статический массив. Повторите эти действия для каждого ряда данных. Диаграмма станет статической, но при этом ее все еще можно будет форматировать (она не станет рисунком). Следует помнить, что есть ограничение на длину формулы =РЯД, поэтому второй способ может не сработать, если ряд содержит слишком много точек данных. На диаграмму была добавлена автофигура, но она не перемещается вместе с диаграммой. Что здесь не так? Глава 17. Расширенные возможности построения диаграмм 375
Скорее всего, когда добавлялась автофигура, диафамма не была выделена. Поэтому автофигура была добавлена на рабочий лист, а не на диафамму. Чтобы перенести автофигуру на диафамму, выделите ее и выберите команду Правка"=>Вырезать. Затем выделите диафамму и воспользуйтесь командой Правка^Вставить. Теперь можно расположить автофигуру в нужном месте диафаммы. Как связать название диаграммы с содержимым ячейки? Сначала убедитесь, что диафамма содержит заголовок, после чего щелкните на нем, чтобы выделить. Введите знак равенства "=", а затем щелкните на ячейке, с которой нужно связать заголовок. Нажмите клавишу <Enter>, чтобы создать связь. Можно ли внести на диаграмму дополнительный текст (помимо заголовков)? Можно. Выделите диафамму и просто начните печатать нужный текст. В конце»нажмите клавишу <Enter>. В результате будет создано плавающее текстовое поле, которое можно перемещать и форматировать. Можно связать содержимое этого текстового поля с содержимым ячейки. Для этого выделите диафамму. Введите знак равенства "=", укажите нужную ячейку и нажмите клавишу <Enter>. 376 Часть III. Создание диаграмм и изображений
Работа с изображениями и рисунками и з последних двух глав вы узнали, как добавлять в рабочий лист такой тип графических элементов, как диаграммы. Но построение диаграмм является только одним из способов вставки графических и визуальных объектов в рабочую книгу- В этой главе описывается несколько других типов графических объектов, которые можно разместить на графическом уровне рабочего листа. В частности, обсуждаются три основных типа изображений. ■ Растровая и векторная графика, непосредственно импортированная в рабочую книгу или скопированная из буфера обмена. ■ Объекты, созданные с помощью инструментов рисования Excel. ■ Объекты, созданные с использованием таких средств Microsoft Office, как художественный текст и организационные диаграммы. Автофигуры Все приложения (включая Excel), входящие в состав пакета Microsoft Office, обеспечивают доступ к множеству настраиваемых графических изображений, называемых автофигурами. Их можно добавлять на графический уровень рабочего листа или на диаграмму. Чтобы получить доступ к автофигурам, выполните одно из приведенных ниже действий. ■ Выберите команду Вставка^РисунокОАвтофигуры, чтобы отобразить панель инструментов Автофигуры. ■ Воспользуйтесь пунктом меню Автофигуры, который расположен на панели инструментов Рисование.
Панель инструментов Автофигуры Панель инструментов Автофигуры представлена на рис. 18.1. оооо 60DD [ D < У Рис. 18.1. Панель инструментов Автофигуры Работать с графическими объектами средства Автофигуры очень просто, поскольку их пиктограммы интуитивно понятны. Панель инструментов содержит несколько кнопок, каждая из которых представляет одну категорию автофигур. Если вы часто пользуетесь автофигурами какой-то группы, вам покажется интересной возможность отделить одну или более категорий от основной панели инструментов. Таким образом будет создана новая плавающая панель инструментов. Для этого щелкните на пиктограмме нужной категории, чтобы открыть список автофигур. Затем перетащите его за маленькую строку заголовка, которая расположена вверху этого раскрывающегося списка. В результате будет создана новая плавающая панель инструментов, содержащая пиктограммы всех автофигур выбранной категории. Вставка автофигуры На заметку Как было замечено ранее, автофигуру можно добавить либо на графический уровень рабочего листа, либо на диаграмму. Чтобы вставить автофигуру в рабочий лист, сначала выделите любую ячейку, в то время как для вставки автофигуры в диаграмму сначала нужно ее выделить. Щелкните на кнопке нужного инструмента, а затем перетащите указатель мыши по листу (по диаграмме) для создания фигуры. При этом указатель изменит форму, напоминая, что вы находитесь в режиме рисования. Когда вы отпустите кнопку мыши, объект будет создан и выделен, а его имя появится в поле Имя в строке формул (рис. 18.2). Если вы хотите вставить автофигуру в диаграмму, но в момент вставки диаграмма не была выделена, то автофигура будет вставлена поверх диаграммы. Может показаться, что она вставлена в диаграмму, но в действительности она была добавлена на графический уровень рабочего листа. Поэтому автофигура не будет менять расположение, масштаб и пропорции вместе с диаграммой. Следует помнить, что для добавления некоторых автофигур, недостаточно одного щелчка мышью. Например, когда вы рисуете полилинию (категория Линии), при каждом щелчке добавляется один узел (изгиб) линии. Чтобы завершить рисование таких фигур, следует дважды щелкнуть мышью. Ниже приведено несколько советов, которые пригодятся при создании автофигур. ■ Большинству автофигур присваиваются имена вида Автофигура 1, Автофигура 2 и т.д. Однако некоторым присваиваются более содержательные имена, например Овал 3. Чтобы изменить имя автофигуры, выделите ее, а затем введите новое имя в поле Имя 378 Часть III. Создание диаграмм и изображений
и нажмите клавишу <Enter>. Странно, но Excel допускает, чтобы несколько автофигур имели одинаковые имена. Чтобы нарисовать автофигуру, сохранив ее пропорции, установленные по умолчанию, следует во время рисования нажать и удерживать клавишу <Shift>. Например, в этом случае фигура Прямоугольник превратится в идеальный квадрат. Чтобы нарисовать линию или стрелку под углом, кратным 15°, также во время рисования нужно нажать и удерживать клавишу <Shift>. С M.ct-uofl Exert . Км*» . 2 &М*1 *j Ф*ая OP*»"* Вид Встаем Фора*- Сервис Данные Окно Спреем . ff x J . JiJ Л ?« » -* -й- J О • Г» - i. -Н St ,0-"-_^Jj I jл , 4 5 _-*-Д- Автофигура 3 * ft ASCDE F«H о А о о о о 2в н < ■ - Пнсг1 ^ r\«i; /focrl I Действия* *f детофигуры- Гете*» Ямс. /8.2. Автофигура была нарисована на рабочем листе. Ее имя (Автофигура 3) отображается в поле Имя Во вкладке Вид диалогового окна Параметры можно контролировать, как объекты будут выглядеть на экране. Как правило, переключатель Объекты установлен в положение отображать. Но можно скрыть все объекты, установив переключатель в положение не отображать. Кроме того, вместо самих объектов можно отображать только серые прямоугольники (положение только очертания). Если на рабочем листе расположено много сложных объектов, которые долго перерисовываются, то их сокрытие может существенно ускорить работу. Несколько слов о графическом уровне Каждый рабочий лист имеет так называемый графический уровень. Он представляет собой невидимую поверхность, независимую от ячеек листа (или диаграммы на листе диаграмм). Графический уровень может содержать внедренные диаграммы, графические объекты, рисунки, встроенные диаграммы, объекты OLE и т.п. Объекты, расположенные на графическом уровне, можно перемещать, копировать, удалять и изменять их размеры. Причем эти операции никак не будут влиять на остальные элементы рабочего листа. Объекты графического уровня могут "подстраиваться" под положение и размер находящихся под ними ячеек. Если щелкнуть правой кнопкой мыши на объекте и выбрать из контекстного меню команду Формат объекта, то появится одноименное диалоговое окно с несколькими вкладками. Щелкните на вкладке Свойства и выберите необходимые опции положения и размещения графического объекта в соответствии с расположенными под ним ячейками. Ниже представлено описание этих опций. Глава 18. Работа с изображениями и рисунками 379
♦ Перемещать и изменять объект вместе с ячейками. Объект привязывается к расположенным под ним ячейкам. Например, если вы вставляете строки над объектом, то он смещается вниз: если увеличиваете ширину столбца, объект тоже становится шире. ♦ Перемещать, но не изменять размеры. Объект смещается по мере вставки новых строк и столбцов. При этом он не изменяет размеров при соответствующих изменениях высоты строк или ширины столбцов, расположенных под ним. ♦ Не перемещать и не изменять размеры. Объект полностью независим от ячеек, расположенных под ним. Перечисленные опции управляют перемещением и размерами объекта по отношению к расположенным под ним ячейкам. Добавление текста в автофигуру Большинство автофигур поддерживают текст. Чтобы добавить в автофигуру текст, щелкните на ней правой кнопкой мыши и из контекстного меню выберите команду Добавить текст. Кроме того, можно просто выделить автофигуру и сразу начать печатать. В любом случае вы перейдете в режим редактирования объекта, в котором можно вводить и редактировать текст. Когда объект находится в этом режиме, в левой части строки состояния появляется слово Правка. Если автофигура содержит текст, то щелчок на ней приведет к переходу в режим Совет редактирования. Чтобы выйти из этого режима, оставив объект выделенным, нажмите клавишу <Escape>. С другой стороны, чтобы сразу выделить автофигуру, \ щелкните на ней, удерживая нажатой клавишу <Ctrl>, или щелкните на какой- либо линии автофигуры. Чтобы изменить форматирование всего текста автофигуры, выделите ее как объект. Затем можно воспользоваться средствами панели инструментов форматирования или диалоговым окном Формат автофигуры. Если же нужно отформатировать только некоторые символы, выделите их, а затем примените нужное форматирование. Форматирование автофигур Нет ничего удивительного в том, что можно в любое время отформатировать графические объекты, созданные с помощью средства Автофигуры. Для этого вначале необходимо выбрать сам объект. Если объект заполнен цветом или узором, то для его выбора достаточно щелкнуть где-нибудь внутри его области; если же не заполнен, следует щелкнуть на его контуре. С помощью кнопок панели инструментов Рисование можно выполнить некоторые виды модификаций объекта, например изменить цвет заполнения. Для других изменений потребуется воспользоваться диалоговым окном Формат автофигуры. Выбрав нужные объекты, вызовите это окно одним из перечисленных ниже способов. ■ Выберите команду Формате Автофигура. ■ Используйте комбинацию клавиш <Ctrl+l>. ■ Дважды щелкните на выбранном объекте. ■ Щелкните правой кнопкой мыши на объекте и выберите из появившегося контекстного меню команду Формат автофигуры. В диалоговом окне Формат автофигуры представлено несколько вкладок, количество которых зависит от типа объекта и от того, содержит ли он текст. Опции форматирования автофигур интуитивно понятны и наилучший способ разобраться с ними — немного попрактиковаться. 380 Часть III. Создание диаграмм и изображений
Выделение нескольких объектов В некоторых случаях приходится работать с несколькими объектами одновременно. Выделить несколько объектов на рабочем листе или диаграмме можно разными способами. ■ Удерживая нажатой клавишу <Ctrl>, щелкните на каждом объекте. ■ Щелкните на кнопке Выбор объектов, расположенной на панели инструментов Рисование. Курсор превратится в стрелку. Затем переместите курсор, нажав и удерживая левую кнопку мыши. Таким образом будет создана прямоугольная область. Все объекты, которые попадут в эту область, будут выделены. Чтобы вернуться в обычный режим, нажмите клавишу <Esc> или еще раз щелкните на кнопке Выбор объектов. ■ Чтобы выделить все объекты, расположенные на рабочем листе, выберите команду Правка^Перейти или нажмите комбинацию клавиш <Ctrl+G>. На экране появится одноименное диалоговое окно. Щелкните на кнопке Выделить и выберите объекты. Затем щелкните на кнопке ОК. Перемещение объектов Чтобы переместить объект, выделите его и перетащите за рамку на новое место. Для большего контроля, можно воспользоваться клавишами управления курсором, чтобы переместить выделенный объект на один пиксель при каждом нажатии клавиши. Копирование объектов Для копирования графических объектов, расположенных на рабочем листе или диаграмме, можно использовать стандартные операции копирования и вставки. Также можно выделить один или более объектов и переместить их, удерживая нажатой клавишу <Ctrl>. Чтобы скопировать объект из графического уровня рабочего листа на диаграмму, выделите его, а затем воспользуйтесь командой ПравкаОКопировать. После этого активизируйте диаграмму и выберите команду Правка<=>Вставить. Вращение автофигур После выделения автофигуры появляется небольшой зеленый кружок. Для вращения автофигуры перетащите его. Модификация автофигур При выделении многих автофигур на экране появляется небольшой желтый ромб. Можно перетащить этот ромб, чтобы изменить контур выделенной автофигуры. При этом точное поведение зависит от типа выбранной автофигуры. Поэтому нужно поэкспериментировать, чтобы увидеть, что произойдет. Изменение порядка расположения объектов При добавлении новых объектов на графический уровень рабочего листа может получиться так, что эти объекты будут наложены друг на друга в порядке их создания. Вновь созданные объекты всегда помещаются перед объектами, созданными ранее. Глава 18. Работа с изображениями и рисунками 381
Если один объект закрывается частью другого, можно изменить порядок следования объектов. Щелкните правой кнопкой мыши на объекте и выберите из контекстного меню опцию Порядок. Появится подменю, включающее перечисленные ниже возможности расположения объектов. ■ На передний план. Помещает выделенный объект впереди остальных. ■ На задний план. Располагает выделенный объект позади всех остальных перекрывающихся объектов. ■ Переместить вперед. Передвигает объект на один уровень вперед — ближе к переднему плану. ■ Переместить назад. Передвигает объект на один уровень назад — ближе к заднему плану. Группировка объектов В Excel можно объединить два и более графических объекта в один. Эта процедура называется группировкой. Например, если в рабочем листе есть четыре отдельных графических объекта, то можно объединить их в группу и затем манипулировать ею как одним объектом — перемещать, менять размеры и т.д. Для того чтобы сгруппировать объекты, выделите их, а затем щелкните на них правой кнопкой мыши и выберите из контекстного меню команду ГруппировкаОГруппировать. В том случае, если после этого будет необходимо изменить один из объектов группы, их можно разгруппировать. Для этого щелкните на объектах правой кнопкой мыши и выберите из контекстного меню команду Группировка<=>Разгруппировать. В результате сгруппированный объект распадется на исходные компоненты. Панель инструментов Рисование Чтобы применить инструменты рисования Excel, нужно активизировать панель инструментов Рисование. Для этого щелкните на кнопке Рисование, которая расположена на стандартной панели инструментов. Эта кнопка является переключателем; щелкните на ней еще раз, чтобы скрыть панель инструментов Рисование. Обычно эта панель появляется в нижней части окна Excel, но (как и все другие панели) ее можно переместить в любое место экрана. На рис. 18.3 показана панель инструментов Рисование. Как видно, она содержит намного больше инструментов, чем может показаться на первый взгляд. Пыцз.»»я-и А»т.»»цц.- \ ч О О 1А А О Я J 3>-^-A-5SS : rpynrmpoeetfc Псрадм ^1 Лривяздть Смит Выровнять^ а слредопи т ь ОоеериуТь'ОТ р*ЭИТ Ь -4 Не передни^ плен Изменить мтофигуру I Подертчбмиюдляаетофмгэф "2а НаэдпниЙптон г 4* Переместить клеред -i Переместить имел Рис. 18.3. Панель инструментов Рисование 382 Часть III. Создание диаграмм и изображений
Выравнивание объектов Если на рабочем листе создано несколько графических объектов, иногда необходимо выровнять их между собой или по границе ячеек. Для этого можно перетащить объекты (что не даст точного результата) или воспользоваться клавишами управления курсором, чтобы передвигать объекты на один пиксель за одно нажатие клавиши. Но самый быстрый способ — использовать опции автоматического выравнивания. Для того чтобы выровнять несколько объектов, сначала выделите их. Затем щелкните на инструменте Действия панели инструментов Рисование. Появится меню, из которого нужно выбрать опцию Выровнять/распределить, которая имеет следующие варианты выравнивания: ■ Выровнять по левому краю; ■ Выровнять по центру; ■ Выровнять по правому краю; ■ Выровнять по верхнему краю; ■ Выровнять по середине; ■ Выровнять по нижнему краю. К сожалению, нельзя указать, какой объект следует использовать в качестве базового для выравнивания. Если вы выравниваете объекты по левому краю, то они всегда выравниваются по тому объекту, который находится левее остальных. При выравнивании по верхнему краю объекты будут выровнены по самому верхнему из них. То же самое и с остальными вариантами выравнивания. Чтобы привязать объекты к сетке ячеек, когда вы создаете, перемещаете эти объекты или изменяете их размеры, необходимо активизировать опцию Привязать к сетке. Для этого щелкните на инструменте Действия на панели инструментов Рисование. Из появившегося меню выберите Привязать^Привязать к сетке. Если эта опция установлена, то при создании новых или изменении размеров уже существующих объектов они будут выровнены по границе ячеек. Кроме того, при перемещении объекта его верхний левый угол всегда будет находиться на пересечении ячеек. Возможно, вам будет удобнее работать с объектами, если убрать сетку. Следует помнить, что средство Привязать к сетке будет работать даже в том случае, если сетка не видна. Если опция Привязать к сетке установлена, но вам нужно временно ее отклю- Совет чить, при перемещении или изменении размеров объекта удерживайте нажатой Л^ клавишу <Alt>. Распределение объектов В Excel можно разместить три (или более) объекта так, чтобы между ними были одинаковые расстояния по горизонтали или по вертикали. Выделите эти объекты и щелкните на инструменте Действия, который находится на панели инструментов Рисование. На экране появится меню. Выберите в этом меню опцию Выровнять/распределить, а затем Распределить по горизонтали или Распределить по вертикали. На заметку Глава 18. Работа с изображениями и рисунками 383
Замена одной автофигуры другой Вас это может удивить, но в Excel можно заменять одну автофигуру другой. Для этого выделите ее и щелкните на инструменте Действия. Затем из подменю Заменить автофигуру выберите категорию, после чего выберите новую автофигуру. В результате старая фигура заменится новой, но все форматирование останется неизменным. ^^^^ Эта процедура не работает для автофигур из категорий Линии и Соединительна заметку ные линии. Автофигуры этих категорий нельзя заменить другими автофигурами. Добавление затенения и эффекта объема Ко всем категориям автофигур (за исключением линий и соединительных линий) можно применить привлекательные эффекты затенения и объема. Для этого нужно воспользоваться инструментами Стиль тени и Объем панели инструментов Рисование. Помните, что эффекты тени и объема взаимно исключающие. Другими словами, к одной автофигуре можно применить либо затенение, либо эффект объема. Для применения этих эффектов выделите автофигуру, созданную на рабочем листе, а затем щелкните на инструменте Стиль тени или Объем. На экране появится палитра с вариантами эффектов. Выберите один из них, и он будет применен к выделенной фигуре. На рис. 18.4 показано несколько автофигур, к которым были применены эффекты объема или затенения. Рис. 18.4. Автофигуры с эффектами тени и объема Можно уточнить настройки эффектов затенения и объема, щелкнув на соответствующем инструменте, а затем выбрав опцию Настройка тени или Настройка объема. В результате на экране появится специальная панель инструментов, которая позволяет добиться именно такого эффекта, который вам нужен. В вашем распоряжении множество возможностей, с которыми лучше всего знакомиться в процессе работы. 384 Часть III. Создание диаграмм и изображений
Изменение стандартных настроек автофигур В Excel есть возможность изменить стандартные настройки для создаваемых автофигур. Например, если вы предпочитаете определенный цвет текста или заполнения, то можете задать этот цвет, чтобы он применялся по умолчанию для всех создаваемых автофигур. Для изменения стандартных настроек сначала создайте и отформатируйте объект. Вы можете изменять цвета, эффекты заполнения, ширину и стиль линий, а также затенение или эффекты трехмерного изображения. Затем выделите этот объект, щелкните правой кнопкой мыши и из контекстного меню выберите опцию По умолчанию для автофигур. Эта команда также доступна из меню инструмента Действия, который находится на панели инструментов Рисование. Печать объектов По умолчанию все объекты выводятся на печать вместе с рабочим листом. Если же объекты выводить на печать не нужно, откройте диалоговое окно Параметры страницы и во вкладке Лист установите флажок Черновая. Или щелкните правой кнопкой мыши на объекте и из контекстного меню выберите команду Формат объекта. В появившемся диалоговом окне во вкладке Свойства снимите флажок Выводить объект на печать. Работа с другими типами графических объектов В рабочий лист Excel можно импортировать разнообразные графические файлы. Это можно выполнить следующими способами: ■ использовать панель Коллекция клипов в области задач, для того чтобы найти и вставить изображение; ■ импортировать непосредственно графический файл; ■ скопировать и вставить изображение с использованием буфера обмена; ■ импортировать изображение непосредственно со сканера или цифровой фотокамеры; ■ использовать один из аплетов, входящих в состав Microsoft Office. Несколько слов о графических файлах Графические файлы можно разделить на две большие категории: растровые и векторные (изображения). Растровый рисунок состоит из отдельных точек. Они выглядят очень привлекательно при том размере, с которым они создавались, но при масштабировании резко снижается четкость. С другой стороны, векторные файлы сохраняют четкость линий независимо от размера. Среди популярных растровых форматов можно выделить BMP, PCX, DIB, JPG и GIF, тогда как популярными векторными форматами являются CGM, WMF, EPS и DRW. Растровые файлы отличаются количеством используемых в них цветов. Если вы просмотрите растровый рисунок с большим количеством цветов на экране, воспроизводящем только 256 цветов, изображение будет выглядеть крайне непривлекательно. Наиболее часто используются графические файлы в форматах GIF, JPG и BMP, но Excel поддерживает множество других форматов. Глава 18. Работа с изображениями и рисунками 385
Ча заметку / Использование растровой графики на рабочем листе может значительно увеличить размер рабочей книги. В результате будет использоваться больше памяти и увеличится время открытия и сохранения файла. Чтобы уменьшить размер файла рабочей книги, можно сжать рисунки. Для этого выделите рисунок и щелкните на кнопке Сжатие рисунков на панели инструментов Настройка изображения. Панель Коллекция клипов Эта панель является общей для всех приложений, входящих в состав Microsoft Office. С помощью панели Коллекция клипов без труда можно найти и вставить в рабочий лист как картинки, так и звуковые или видеофайлы. Чтобы получить доступ к коллекции клипов, выберите команду ВставкаОРисунок1^ Картинки, после чего появится панель задач Вставка рисунка. В верхней части панели находятся элементы управления, которые позволяют выполнить поиск рисунков. На рис. 18.5 показан результат поиска рисунков по ключевому слову машина. В нижней части панели задач представлены пиктограммы рисунков, удовлетворяющих критерию поиска. Чтобы вставить рисунок в рабочий лист, просто щелкните на его пиктограмме. Чтобы получить доступ к дополнительным опциям, щелкните правой кнопкой мыши на пиктограмме рисунка. Коллекция клипов ^ X Просматривать- Выделенные коллекции Искать объекты: Все файлы мультимедиа <^м «й. *Ш. чВ. <Р9 **щр jQ Упорядочить картинки... ^ Картинки на узле Office Onlne V' Советы по помеху клипов Рис. 18.5. Используйте панель задач Коллекция клипов для поиска картинок и других файлов мультимедиа Для вызова коллекции картинок щелкните на ссылке Упорядочить картинки в нижней части панели задач. Это приложение предоставляет доступ непосредственно к файлам мультимедиа. Можно добавлять собственные файлы в коллекцию клипов. Это очень удобно, Совет если вам часто приходится вставлять в рабочий лист одну и ту же картинку (например, логотип вашей компании). Чтобы выбрать нужный файл, воспользуйтесь командой ФайлоДобавить клипы в коллекцию^Вручную Рисунки будут добавлены в категорию Неклассифицированные клипы. Для того чтобы добавить эти рисунки в другие категории, просто перетащите их. С помощью команды ПравкаоКлючевые слова можно связать с рисунком список ключевых слов, которые затем будут использоваться для поиска этих рисунков. 386 Часть III. Создание диаграмм и изображений
Импортирование графических файлов С помощью Excel можно вставлять рисунки, которые находятся в графических файлах. Сделать это очень просто. Выберите команду Вставка^РисунокОИз файла. Появится диалоговое окно Добавление рисунка. Выберите нужный файл и щелкните на кнопке Вставить. Копирование графических объектов с помощью буфера обмена В некоторых случаях вам может понадобиться вставить в рабочий лист графическое изображение, которого либо нет в отдельном файле, либо оно хранится в файле, формат которого не поддерживается Excel. Например, изображение было создано в какой-то специализированной графической программе, формат файлов которой не поддерживается Excel. Разумеется, можно экспортировать рисунок в формат, который Excel поддерживает. Однако проще открыть этой рисунок в программе, в которой он был создан, и скопировать его в буфер обмена Windows. После этого следует перейти в Excel и вставить рисунок на графический уровень рабочего листа с помощью команды ПравкаОВставить. Предположим, вы видите рисунок на экране, но не можете его выделить. В этом случае можно скопировать в буфер обмена весь экран как рисунок, а затем вставить его в рабочий лист Excel. Для копирования экрана (или его части) используются следующие клавиши: ■ <PrintScreen> — для копирования в буфер обмена всего экрана; ■ <Alt+PrintScreen> — для копирования в буфер обмена активного (или диалогового) окна. Как правило, требуется только часть копии экрана. Поэтому можно обрезать рисунок с помощью инструмента Обрезка, который находится на панели инструментов Настройка изображения. Импортирование изображений со сканера и цифровой фотокамеры Изображение можно получить непосредственно со сканера или цифровой фотокамеры. Для того чтобы воспользоваться этой возможностью, сначала убедитесь, что соответствующее устройство правильно подключено к вашему компьютеру. Затем выберите команду Вставка<=> РисунокОСо сканера или камеры. Дальнейшая процедура выбора и копирования изображения зависит от того, с чем вы работаете — со сканером или цифровой фотокамерой. Во многих цифровых фотокамерах для обмена данными используется порт USB. В этом случае память камеры может рассматриваться как еще один диск, доступ к которому можно получить в окне Мой компьютер. Поэтому можно импортировать рисунки непосредственно из фотокамеры с помощью команды Вставка<=> Рисунок1* Из файла. Добавление подложки рабочего листа Чтобы использовать графическое изображение в качестве подложки рабочего листа (аналогично обоям на рабочем столе Windows), выберите команду Формат^ЛистО Подложка и укажите нужный файл. В результате весь рабочий лист будет заполнен выбранным изображением. К сожалению, подложка рабочего листа выводится только на экран и не появится при печати рабочего листа. На замет / заметку Глава 18. Работа с изображениями и рисунками 387
Модификация графических объектов Если вы вставили рисунок в рабочий лист, то его можно изменить, используя панель инструментов Настройка изображения (рис. 18.6). Эта панель появляется автоматически, когда вы выделяете графический объект'. Например, с ее помощью можно настроить цвет, яркость и контрастность изображения. Кроме того, можно добавить рамку, обрезать рисунок или повернуть его. 0 fisto Н 0.ттенки серого Черно-белое Подло&ка Рис. 18.6. Панель инструментов Настройка изображения позволяет модифицировать рисунок Вставка рисунка ячеек или диаграммы Одной из скрытых возможностей Excel является способность копировать и вставлять рисунки ячеек. Вы можете скопировать ячейку или диапазон, а затем вставить его рисунок на любой рабочий лист или диаграмму. На рабочий лист можно вставить либо статический рисунок, либо связь с рисунком. В последнем случае, если вы измените содержимое или форматирование исходных ячеек, изменения отобразятся и на рисунке. Чтобы создать изображение диапазона, выделите его и выберите команду Правкам Копировать. Затем нажмите клавишу <Shift> и щелкните на меню Правка. Выберите команду Вставить рисунок для создания статического рисунка или Вставить связь с рисунком, чтобы создать обновляемый рисунок выделенного диапазона. В диаграмму можно вставить только статический рисунок диапазона. Еще одной полезной возможностью является копирование внедренных диаграмм, а затем вставка их рисунков. Для этого нажмите клавишу <Ctrl> и щелкните на диаграмме, чтобы выделить ее как объект. Затем нажмите клавишу <Shift> и выберите Правкао Копировать рисунок (эта команда доступна только при нажатой клавише <Shift>). На экране появится одноименное диалоговое окно. Щелкните на кнопке ОК. После этого выделите ячейку и выберите команду ПравкаоВставить. В результате будет вставлен рисунок диаграммы. Это не "живая" диаграмма, поэтому она не будет обновляться при изменении исходных данных. Использование аплетов В состав пакета Microsoft Office входит несколько средств, которые, за неимением более подходящего термина, я назвал аплетами. В следующем разделе описана работа с двумя из них — организационными диаграммами и объектами WordArt. Построение организационных диаграмм В дополнение к основным автофигурам Excel имеет замечательное средство для построения различного вида диаграмм. Эти диаграммы состоят из автофигур, объединенных в один объект и поэтому работающих вместе. Чтобы открыть диалоговое окно Библиотека диафамм (рис. 18.7), щелкните на инструменте Добавить диафамму или организационную диафамму на панели инструментов Рисование либо выберите команду Вставка^Организационная диафамма. 1 Если панель инструментов Настройка изображения не появилась автоматически, щелкните на графическом объекте правой кнопкой мыши и в контекстном меню выберите команду Отобразить панель настройки изображения. — Прим. ред. 388 Часть III. Создание диаграмм и изображений
Рис. 18.7. Диалоговое окно Библиотека диаграмм В этом диалоговом окне доступно несколько организационных диаграмм. ■ Организационная диаграмма. ■ Циклическая диаграмма. ■ Радиальная диаграмма. ■ Пирамидальная диаграмма. ■ Диаграмма Венна. ■ Целевая диаграмма. Выберите тип диаграммы и щелкните на кнопке ОК. Excel добавит шаблон диаграммы, готовый для модификации. Основные инструменты для работы с диафаммой находятся на панели инструментов Диаграмма. Не скрывайте панель инструментов Диаграмма. Это единственный способ получить доступ к инструментам для модификации и настройки организационных диаграмм. Если же вы случайно скрыли ее, щелкните правой кнопкой мыши на диаграмме и выберите команду Показать панель диаграмм. За исключением организационной диафаммы, остальные типы диафамм взаимозаменяемые. После насфойки диафаммы, можно заменить ее тип на какой-либо другой с помощью кнопки Заменить на, которая находится на панели инструментов Диаграмма. Из всех типов диафамм самой мощной и часто используемой является организационная. Обратите внимание, что она имеет собственную панель инструментов Организационная диаграмма. На рис. 18.8 показан пример простой организационной диафаммы, которая была добавлена на рабочий лист. Для эффективного использования диафамм требуется определенная практика. Но не стоит забывать и некоторые советы. ■ На панелях Диаграмма и Организационная диаграмма есть меню Макет. Открыв его, вы увидите команду Автомакет, которая является переключателем. Когда эта опция включена, вы не сможете вручную перемещать элементы диафаммы. Если требуется скорректировать диафамму вручную, отключите эту опцию. Но будьте осторожны. Если вы снова включите опцию Автомакет, диафамма вернется в исходное состояние. ■ Можно изменить автофигуры, используемые в диафамме. Сначала щелкните правой кнопкой мыши на диафамме и отключите опцию Автоформат (по умолчанию она включена). Затем выделите элемент диафаммы и в меню Действия, которое находится на панели инструментов Рисование, выберите Изменить автофигуру. Чтобы вернуться к фигурам, используемым по умолчанию, снова включите Автоформат. ■ Чтобы изменить фон диафаммы, щелкните на ней правой кнопкой мыши и выберите команду Форматировать диафамму (Форматировать организационную диафамму). v**t>"e p*i диаг partw || 1 ▲ о'-о <8> а о-о-о Щ Организационная диаграмм* Отсбражвм» структуры отноайний Внимание! Глава 18. Работа с изображениями и рисунками 389
-IQlxl A 8 Текст слайда _E ЭС ) Текст слайда X Текст слайда 3. Текст слайда + Текст слайда — Текстслайда Текстслайда Текстслайда Текстслайда Текстслайда 3 Текстслайда 7=—-Ть-— Текстслайда —I—(Текст слайда : |« 4^- .^ft^T^IWrt/Л«ТЗ / W d Рис. /&& Это организационная диаграмма была создана с помощью библиотеки диаграмм Excel Использование коллекции WordArt Аплет WordArt позволяет создавать графические изображения на основе текста. Вы можете вставить изображение из WordArt в свой рабочий лист, воспользовавшись инструментом Добавить объект WordArt панели инструментов Рисование. Также можно выбрать команду ВставкаОРисунокООбъект WordArt. Каким бы из предложенных способов вы ни воспользовались, на экране появится диалоговое окно Коллекция WordArt. Выберите нужный стиль, а затем введите текст в следующее диалоговое окно. Щелкните на кнопке ОК, и художественный текст будет помещен на рабочий лист. Если выделить текст, созданный с помощью WordArt, появится панель инструментов WordArt. Представленные на ней инструменты можно использовать для изменения текста WordArt. Вы можете сами убедиться в том, что эти средства имеют множество возможностей. Кроме того, можно воспользоваться средствами Стиль тени и Объем для придания дополнительных эффектов тексту WordArt. На рис. 18.9 показано несколько примеров использования в рабочем листе текста WordArt. J5 .ла*1 г Годов 1 отчет Q^IOROH ОТЧ£Т Годовой отчет Ш] iut^ *\Яиет1/1*«т2Х',-тЭ |<1 1 >}Щ Рис. 18.9. Примеры текста WordArt 390 Часть III. Создание диаграмм и изображений
Анализ данных П рограмма Excel — прекрасное средство для анализа данных, если, конечно, вы знаете, как извлечь нужную информацию, хранящуюся в рабочих листах Excel. В этой части рассматриваются методы обработки и анализа данных в Excel. Вы скоро убедитесь, что эти средства не только чрезвычайно мощные, но и очень простые в использовании. ЧАСТЬ В этой части... Глава 19 Работа со списками Глава 20 Использование внешних баз данных Глава 21 Анализ данных с помощью .сводных таблиц Глава 22 Анализ данных с помощью сценариев "что-если" Глава 23 Анализ данных: подбор па раметров и поиск решения Глава 24 Использование пакета анализа
глава Работа со списками В этой главе.., Что такое список Excel Ввод данных в список Фильтраций списков Сортировка списка Выполнение вычислений над списком Новое средство Excel 2003 Список ногие пользователи Excel применяют эту программу для работы со списками, или базами данных рабочего листа. В этой главе рассматривается использование списков и демонстрируются полезные возможности, связанные со списками. Кроме того, здесь описаны новые средства Excel по работе со списками. Что такое список Excel По существу, список — это упорядоченный набор данных. Обычно список состоит из строки заголовков (описания данных) и строк данных, которые могут быть числовыми или текстовыми. Список можно считать табличной базой данных, чем он, в сущности, и является. В Excel используется термин список для обозначения базы данных, хранящейся в рабочем листе, а термин база данных— для таблиц с информацией, которая находится во внешнем файле. Внешние базы данных описаны в главе 20. ^ополнителДя информация На рис. 19.1 показан список, находящийся на рабочем листе. В первой строке этого списка расположены заголовки, а в следующих 20 строках — данные. Список занимает шесть столбцов. Обратите внимание на несколько разных типов данных, содержащихся в этом списке: текст, числа, даты и логические значения. В столбце D находится формула, которая вычисляет месячный оклад на основе значений из столбца С. Столбцы списка часто называют полями, а строки — записями. Исходя из этой терминологии, можно сказать, что данный список содержит шесть полей (Сотрудник, Годовой оклад, Месячный оклад, Место работы, Дата назначения и Освобождение от налогов) и 20 записей. Размер списка ограничен размерами одного рабочего листа. Другими словами, список может иметь не больше 256 полей и не больше 65 535 записей (одна строка содержит заголовки полей). Очевидно, что создание таких списков и дальнейшая работа с ними непродуктивна. Кроме того, для работы
с подобными списками необходимо, чтобы компьютер обладал очень большим объемом памяти. С другой стороны, список может состоять из двух ячеек (название поля, под которым находится одна ячейка с данными). Хотя пользы от списка из двух ячеек немного, он все равно рассматривается как список. \ . i Список соттмнмкАв**** 1 А В 1 3 4 5 I 6 1 7 I 8 9 Ю I и 1 1= I -з Г и |15 I M I " 13 1 19 20 21 22 h .' • »> Сотрудник Акимов Альчевский Арнольдов Барабуля Белов Бенюмов Буденков Быстро» Голубков Дренов Жоржввский К инее Колесников Лекарь Пилголии Пуримский Рыбак Симеоненкз Соколов Сомов ' С Годовой оклад 89 873 78 230 29 860 27 690 96 000 149 000 120 000 60 000 39 000 44 12Э 32 900 39 600 29 600 42 000 66 000 43 000 89 697 56 600 49 000 24 000 D Е Месячным оклад 7 409 6 619 2 488 2308 7 917 12 417 10 000 6 000 3 260 3 677 2 742 3 292 2 468 3600 6 417 3 683 7 474 4 626 4 000 2 000 Место работы Санкт-Петербург Киев Киев Москва Москва Санкт-Петербург Москва Москва Москва Москва Москва Киев Санкт-Петербург Киев Киев Киев Санкт-Петербург Москва Москва Киев F • Дата назначения 4.8.00 3.12.01 3 24 99 1226 98 9.11.00 2.9.01 1 29 02 1.22.99 8.13.02 7 10.00 12.26.01 7.21 01 10.15 99 1.19.02 3 8 03 4 13 99 10 15 99 2 1' 00 8.17.02 12.22 00 О Освобождение от уплаты налогов ИСТИНА ИСТИНА ЛОЖЬ ЛОЖЬ ИСТИНА ИСТИНА ИСТИНА ЛОЖЬ ложь ЛОЖЬ ЛОЖЬ ЛОЖЬ ложь ложь ИСТИНА ложь ИСТИНА ложь ложь ложь ;Ш>й ■ н- 3 Рис. 19.1. Пример списка Что можно делать со списком В Excel есть несколько средств, предназначенных для работы со списками. Они могут быть использованы для самых разных целей. Для одних пользователей список — это способ простого хранения набора данных (например, список клиентов), другие используют его для хранения таких данных, которые должны быть включены в итоговый отчет. Ниже приведены операции, которые обычно выполняются над списками. ■ Ввод данных в список. ■ Фильтрация списка для выборочного отображения строк (по определенному критерию). ■ Сортировка списка. ■ Вставка формул для подведения промежуточных итогов. ■ Создание формул для вычисления результатов в списке, отфильтрованном по определенным критериям. ■ Публикация списка на узле SharePoint для совместной работы с другими пользователями. ■ Создание итоговой сводной таблицы на основе данных списка (подробности приведены в главе 21). Все эти операции, за исключением последней, описаны в данной главе. Глава 19. Работа со списками 393
Планирование списка Хотя Excel — довольно гибкая система в отношении хранения информации в списках, получить начальное представление о том, как организовать эту информацию, нелегко. Ниже приведены основные рекомендации, которые следует помнить, создавая списки. ■ Помещайте заголовки (по одному для каждого столбца) в первую строку списка, которая называется строкой заголовков. Если заголовки длинные, используйте текстовый формат с переносом слов, тогда не придется расширять столбцы. ■ Проследите, чтобы в каждом столбце содержалась однотипная информация. Например, не следует смешивать в одном столбце даты и обычный текст. ■ Можете применять формулы, использующие значения из других полей этой же записи. Если формула ссылается на ячейку, расположенную вне списка, сделайте ссылку на эту ячейку абсолютной, иначе результаты при сортировке списка могут быть непредсказуемыми. ■ Не используйте пустых строк в списке. При проведении операций над списком Excel определяет его границы автоматически, при этом пустая строка означает конец списка. ■ Помещайте список на отдельный лист. Если на этот лист необходимо поместить еще какую-нибудь информацию, располагайте ее ниже или выше списка. Не используйте для этого ячейки слева или справа от списка. ■ Используйте команду Окно^Закрепить области, чтобы заголовки были всегда видны при прокручивании листа списка. ■ Всегда старайтесь предварительно форматировать весь столбец, чтобы данные имели один и тот же формат. Например, если столбец содержит даты, выберите необходимый формат для отображения дат в этом столбце. Одна из наиболее привлекательных особенностей электронных таблиц — возможность их простого структурирования. Это, конечно же, относится и к спискам. Например, если к созданному списку необходимо добавить еще один столбец (или, другими словами, поле), то здесь нет ничего сложного: просто вставьте новый столбец, задайте его заголовок — и ваш список расширен. Если вы когда-нибудь работали с программой управления базами данных, то сможете по достоинству оценить такую возможность. Ввод данных в список Данные можно ввести в список тремя способами. ■ Вручную, используя стандартные методы ввода данных. ■ Импортировать или скопировать из другого файла. ■ Использовать форму ввода. В операции ввода данных в список нет ничего особенного. Перемещаясь по таблице, вы вводите данные в нужные ячейки. В Excel есть два средства, которые помогают избежать выполнения скучной операции ввода однообразных данных. ■ Автозаполнение. Когда вы начинаете вводить данные, программа просматривает столбец, чтобы выяснить, сможет ли она узнать то, что вы набираете. Если Excel находит закономерность, то заполняет остаток ячеек автоматически. Чтобы завершить ввод данных, нажмите клавишу <Enter>. Можно включать или отключать эту возможность 394 Часть IV. Анализ данных
с помошью опции Автозавершение значений ячеек во вкладке Правка диалогового окна Параметры, которое вызывается командой СервисоПараметры. Выбор из списка. Щелкните правой кнопкой мыши на ячейке и выберите из появившегося контекстного меню команду Выбрать из раскрывающегося списка. Появится список со всеми элементами, находящимися в столбце (рис. 19.2). Выберите из списка нужный элемент, и он будет отображен в ячейке (при этом ничего набирать не нужно!). А 1 9 «1 1 I20J 'it] 22 24 ц щ щ 30 [77. -■ в Барабуля Белое Бемомое Буденкое Быстрое Голубкое Дренов Жоржевекмй Кииев Колесников Пекарь Пилюлин Пуримсшй Рыбак Симеонеико Соколое Сомое IWrl/" с 27 690 86 000 149 0С0 120 000 во ооо 39 000 44 123 32 900 39 600 29 600 42 000 65 000 43 000 99 697 66 600 40 000 24 000 О Е 2 309 7 917 12 417 10000 6 ООО 3 250 3 677 2 742 3 292 2 469 3600 6 417 3 693 7 474 «625 4000 2 000 Москва Москва Санкт-Петербург Москва Москва Москве москеэ Москва Киев Санкт-Петербург Киев Киев Киев Санкт-Петербург Москва Москва Кисе С^СЭЯвлтЯМЦ Санкт-Лвтеобуот 1226.9» 9 11 00 29.01 1.29.02 1.22.99 9.1302 7 10 00 122601 7.21.01 10.16 99 1.19.02 3.903 41399 1015 99 2 11 00 9 17.02 " l«l О ложь ИСТИНА ИСТИНА ИСТИНА ЛОЖЬ ЛОЖЬ ложь ложь ложь ложь ложь ИСТИНА ложь ИСТИНА ложь ложь •^ JnMl н t~| _:J *1Г Рис. 19.2. Чтобы увидеть список записей в текущем столбце, выберите из контекстного меню ячейки команду Выбрать из раскрывающегося списка Если вы предпочитаете вводить данные, используя форму, то Excel предоставляет и эту возможность. Чтобы вывести на экран форму для ввода данных, поместите табличный курсор в каком-нибудь месте списка и выберите команду ДанныеОформа. Программа определит размер вашего списка и выведет диалоговое окно, в котором будет находиться каждое поле списка (рис. 19.3). Поля, содержащие формулу, в форме ввода отображаются, но их значения нельзя изменить. Рис. 19.3. Форма для ввода данных Глава 19. Работа со списками 395
Если полей окажется больше, чем может поместиться на экране, то диалоговое окно будет содержать два столбца для ввода данных. Если же полей будет больше 32, команда Данныеоформа не сработает. Придется отказаться от этого метода ввода и вводить данные непосредственно в ячейки. На прилагаемом к книге компакт-диске можно найти надстройку JWalk Enhanced Data Form. Эта надстройка, распространяемая бесплатно, позволяет вводить данные в форму даже в том случае, когда количество полей больше 32. Кроме того, она обладает дополнительными средствами, которые отсутствуют в стандартной форме ввода Excel. Ввод данных с помощью формы ввода Когда появится форма, в ней будет показана первая запись списка. Обратите внимание, что индикатор в правом верхнем углу формы показывает номер выбранной записи и общее число записей в списке. Чтобы ввести новую запись, щелкните на кнопке Добавить, таким образом в форме очистятся все поля. Теперь можно вводить новую информацию в соответствующие поля. Используйте клавишу <ТаЬ> или <Shift+Tab> для перемещения от одного поля к другому. После щелчка на кнопке Добавить или Закрыть введенные данные появятся в конце списка. Можно также нажать клавишу <Enter>, что эквивалентно щелчку на кнопке Добавить. Если список содержит формулы, то они автоматически появятся в новых записях. Если списку присвоить имя База_Данных, то при добавлении новых записей с помощью формы ввода Excel автоматически увеличит поименованный диапазон так, чтобы он включал новые записи. Заметьте, что это произойдет только в том случае, если диапазону будет присвоено имя База_Данных. В остальных случаях поименованный диапазон не изменится. Другие применения формы ввода Форму ввода можно использовать не только для ввода данных. Она позволяет редактировать существующие записи, просматривать их, удалять и выборочно отображать записи по определенному критерию. Форма ввода содержит несколько кнопок. ■ Удалить. Удаляет текущую запись. ■ Вернуть. Отменяет все внесенные в текущую запись изменения. Эта кнопка работает до тех пор, пока вы не щелкнете на кнопке Добавить. ■ Назад. Осуществляется переход к предыдущей записи списка. Если установлен критерий отбора, то произойдет переход к предыдущей записи, удовлетворяющей данному критерию. ■ Далее. Осуществляется переход к следующей записи списка. Если установлен критерий отбора, то произойдет переход к следующей записи, удовлетворяющей данному критерию. ■ Критерии. Очищает поля для ввода критерия, по которому будут отбираться записи. Например, чтобы найти все записи, в которых значение, находящееся в поле Годовой оклад, больше 50 000, введите >50000 в поле Годовой оклад формы. После этого можно использовать кнопки Назад и Далее, чтобы найти подходящую запись. ■ Закрыть. Закрывает форму и записывает введенные данные (конечно, если вы их ввели) в рабочий лист. На заметку / На компакт- диске Совет'. Л, 396 Часть IV. Анализ данных
Фильтрация списков Фильтрация списка — это процесс сокрытия всех строк, кроме тех, которые удовлетворяют определенным критериям. Например, если у вас есть список клиентов, его можно отфильтровать так, чтобы видеть фамилии только тех из них, которые живут в определенном городе. Фильтрация — весьма распространенная и очень полезная операция. В Excel списки можно фильтровать двумя способами. ■ Автофильтр используется для фильтрации по простым критериям. ■ Расширенный фильтр применяется для фильтрации по более сложным критериям. Оба способа фильтрации детально обсуждаются далее в главе. Автоматическая фильтрация Чтобы автоматически отфильтровать список, сначала установите табличный курсор на одну из его ячеек. Затем выполните команду Данные^ФильтрОАвтофильтр. Excel проанализирует список и добавит в строку заголовков полей кнопки раскрывающихся списков (кнопки автофильтра), как показано на рис. 19.4. После щелчка на одной из этих кнопок откроется список, содержащий все уникальные элементы выбранного столбца. Выберите нужный элемент. В результате Excel скроет все строки, не содержащие выбранного элемента. Другими словами, список будет отфильтрован по выбранному элементу. Я^ ^Р А 8 CD E F ОН!" Сотрудник ее Акимов Альчевский Арнольдов Бврабупя Белов Б'НЮИОв Будвнков Быстрое Голубгов Дренов Жоржевский Кинее колесников Лекарь Пилюлин Пуримский Рыбек Симеоненко Соколов Сомов Годовой оклад | 89 673 78 230 29 850 27 690 99 000 149 000 120 000 60 000 39 000 41123 32 900 39 500 29 600 42 000 66 000 43 030 69 667 66 600 48000 24 000 Месячный оклад PJ Место райоты * Сортировке по возрастемте Сортировка поубьчпео (все) (Первые 10...) (Условие...) Киев Сонкт-nj ю.-,;. 6 000 3 260 3 677 2 742 3 292 2 468 3600 6 417 3 683 7 474 4 626 4000 2 000 леоблг Ч Москва Москва Москва Москва Москва Киев Санкт-Петербург Киев Киев Киев Санкт-Петербург Моема Москва Киев Дата назначения . 4 8 00 312.01 3 24 99 12 26 98 9.11.00 ,_ 2.9.01 1 29 02 1.22 99 8.1302 71000 12.26.01 721.01 1016 99 1.1902 3 8 03 41399 1016 99 211 00 617 02 12 22 00 Освобождение от налогов щ ИСТИНА ИСТИНА ЛОЖЬ ложь ИСТИНА ИСТИНА ИСТИНА ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ложь ложь ИСТИНА ложь ИСТИНА ложь ложь ложь Ы . - - . _. . I 'If] Рис. 19.4. После выполнения команды Данные^Фильтр^Автофильтр к заголовкам полей добавляются кнопки раскрывающихся списков После того как список будет отфильтрован, в строке состояния появится сообщение о том, сколько строк отобрано. Кроме того, изменится цвет кнопки раскрывающегося списка, чтобы напомнить вам, что список отфильтрован по значениям, содержащимся в этом столбце. JS Глава 19. Работа со списками 397
Автоматическая фильтрация имеет ограничения. В раскрывающемся списке появляются только 1 000 первых различных значений. Если число элементов в списке превышает указанный предел, можно использовать средства расширенной фильтрации (она описана ниже). Кроме всех значений столбца, раскрывающийся список содержит еще пять пунктов. ■ Все. Отображает все элементы столбца. Используется для отмены фильтрации столбца. ■ Первые 10. Выбирает "лучшую десятку" элементов списка (подробнее это рассматривается ниже). ■ Условие. Позволяет фильтровать список по нескольким условиям (подробнее это описано ниже). ■ Пустые. Фильтрует список, отображая только строки с пустыми ячейками в данном столбце. Этот пункт появляется в конце списка только в том случае, если в столбце есть одна или более пустых ячеек. ■ Непустые. Фильтрует список, показывая только строки с непустыми ячейками в данном столбце. Этот пункт появляется в конце списка только в том случае, если в столбце есть одна или более пустых ячеек. Чтобы весь список был показан снова, щелкните на кнопке раскрытия списка и выберете опцию Все, которая расположена первой в раскрывающемся списке, или выполните команду ДанныеОФильтр^Отобразить все. Для отмены режима Автофильтр и удаления кнопок раскрывающихся списков в именах полей выберите команду Данные^ФильтрОАвтофильтр повторно. В результате будет удален флажок у пункта меню Автофильтр и список вернется в обычное состояние. Не забывайте, что если у вас есть формулы, в которых используются ссылки на i ячейки отфильтрованного списка, то после выполнения фильтрации значение, вы- ' числяемое по таким формулам, не изменяется. Другими словами, в формулах не могут быть использованы лишь значения из отфильтрованных ячеек. Например, если в ячейку введена формула суммирования значений в столбце С, то после фильтрации будет продолжаться суммирование всех значений в столбце С, а не только элементов в видимых строках. Эта проблема решается с помощью функций баз данных, которые описываются далее в главе. Автоматическая фильтрация по значениям в нескольких столбцах Иногда возникает необходимость фильтрации списка по значениям, находящимся в двух или более столбцах. На рис. 19.5 показан пример списка. Предположим, необходимо просмотреть записи, относящиеся к сотрудникам, которые работают в Москве и освобождены от уплаты налогов. Другими словами, вам нужно исключить все записи, кроме тех, которые в поле Место работы содержат Москва, а в поле Освобождение от налогов — ИСТИНА. Эту рабочую книгу можно найти на прилагаемом компакт-диске. На компакт- диске _^Щ Сначала включите режим Автофильтр (команда ДанныеОФильтрОАвтофильтр). Затем щелкните на кнопке раскрывающегося списка в поле Место работы и выберите Москва. Из списка будут отобраны записи, в которых поле Место работы имеет значение Москва. Затем щелкните на кнопке раскрывающегося списка в поле Освобождение от налогов и выберите ИСТИНА. В результате будет отфильтрован уже ранее отфильтрованный список. 398 Часть IV. Анализ данных
Другими словами, список будет отфильтрован по значениям в двух столбцах. Как видно из рис. 19.6, обоим условиям удовлетворяет только две записи. * * Сотрудник Щ АКИМОВ Альчевский АрНОЛЬДОв Барабуля Белов Беномов Буденков Быстрое Голубков Дренов Жоржевский Кинвв Колесников Лекарь Пмлюлмн Пуримский Рыбек Симвоненко Соколов Сомов Пиет1/ С Годовой оклад - 89 673 78 230 29 850 27 890 95 000 149 000 120 000 80 000 Э9 0ОО 44 123 32 000 39S00 29 600 42 000 66 000 43 000 89 687 66 600 48 000 24 000 :ь __l ^ Месячный оклад * 7 489 6 519 2 48В 2 309 7 917 12 417 10 000 б 000 3 260 3 677 2 742 3 292 2 458 3 600 5 417 3 583 7 474 4 626 4 000 2 000 Место - работы у Санкт-Петербург кит Киев Москва Москва Сэнг"-Петербург Москва Москва Москва Москве Москва Киев Свикг-Петербург Киев Киев Киев Санкт-Петербург Москва Москва Киев -lOlxl F О Дата нааначения | 4.800 3.1201 3 24 99 12 26 98 9.11.00 2 9 01 1 29 02 1.22.99 « 13 02 7.10.00 12.26 01 72101 10.1699 1 19.02 3.9.03 4.1399 101599 2.11.00 8.17 02 12.22.00 Освобождение от налогов . ИСТИНА ИСТИНА ЛОЖЬ ложь ИСТИНА ИСТИНА ИСТИНА ЛОЖЬ ложь ЛОЖЬ ложь ложь ЛОЖЬ ложь ИСТИНА ложь ИСТИНА лсжь ложь ложь <1 ill Рис. 19.5. Список, который необходимо отфильтровать по нескольким условиям Сотрудник Щ Белов Будвнксв Годовой оклад Щ 96 000 120 000 Мьсячный оклад р 7 917 10 000 Место работы «•; Москва Москве Дата нааначения ** 911 00 1.29 02 Освобождение от налогов «. ИСТИНА ИСТИНА иаавввввввввк: J Рис. 19.6. Список отфильтрован по значениям из двух столбцов Можно отфильтровать список по любому количеству столбцов. Цвет кнопок раскрывающихся списков, к которым применен фильтр, становится другим. Пользовательский автофильтр Обычно автоматическая фильтрация заключается в выборе одного значения в одном или нескольких столбцах. Если выбрать опцию Условие в раскрывающемся списке, то можно осуществить фильтрацию более гибким способом. При выборе опции Условие появится диалоговое окно Пользовательский автофильтр (рис. 19.7). Это окно позволяет фильтровать списки с использованием нескольких критериев. ■ Значения больше или меньше установленного. Например, можно выбрать записи, указывающие на годовые оклады, превышающие 50 000. ■ Значения в интервале. Например, нужно отобрать все записи, указывающие на объемы продаж, превышающие 10 000 И не превышающие 20 000. ■ Два отдельных значения. Например, можно отобрать записи, в которых находится информация о сотрудниках, работающих в Москве ИЛИ в Киеве. Глава 19. Работа со списками 399
Выборка по шаблону. Можно использовать символы подстановки "*" и "?", чтобы отфильтровать список более гибким способом. Символ "*" может заменить любое количество символов, а символ "?" — один символ. Например, чтобы вывести на экран записи только о тех сотрудниках, фамилии которых начинаются с буквы В, используйте шаблон В*. Показать только те строка значения которых; Годовой оклад — Больше или равно ~3 I50000 Л1 <?я <~щц Эиал вопроса ■э" обозначает один любой знак "•"обозначает последовательность «обых знаков OK [ Отпена I Рис. 19.7. Дополнительные опции фильтрации представлены в диалоговом окне Пользовательский автофильтр Пользовательский автофильтр может быть весьма полезным средством, но он имеет определенные офаничения. Например, с его помощью нельзя отфильтровать список по трем и более значениям (в частности, вывести записи, в которых представлена информация о служащих, работающих в городах Киев, Москва и Санкт-Петербург). Для выполнения задач такого типа необходимо использовать средство расширенной фильтрации, которое рассматривается в разделе "Расширенная фильтрация" далее в главе. Наложение условия по списку Иногда необходимо отфильтровать числовые поля так, чтобы показать на экране наибольшие или наименьшие значения. Например, вам нужно определить список, состоящий из 12 сотрудников, работающих в компании дольше всего. Конечно, можно прибегнуть к помощи пользовательского автофильтра, но тогда вам придется указать количество, от которого следует вести отсчет и которое вы можете не знать. Выход простой — использовать опцию Первые 10. Название Первые 10 — это просто общепринятый термин, действие же опции не офани- чивается поиском только 10 "наибольших" элементов. На самом деле ее действие даже не ограничивается поиском только наибольших элементов. При выборе опции Первые 10 появится диалоговое окно Наложение условия по списку (рис. 19.8). |12 ^J |наитньших «J рлвнантов списка Т-с*' Л Отпена { Рис. 19.8. В этом диалоговом окне представлены дополнительные возможности автоматической фильтрации С его помощью можно выбрать наибольшие или наименьшие элементы из списка, а также указать их количество. Например, если необходимо определить 12 сотрудников, проработавших в компании дольше всего, выберите опцию Наименьших и задайте число 12. После фильтрации список будет содержать 12 записей, в поле Дата назначения которых содержатся наименьшие значения. В этом диалоговом окне можно также выбрать опцию Элементов списка или % от количества элементов. Например, можно отобрать 5% наибольших элементов поля. Копирование и удаление отфильтрованных данных Некоторые стандартные операции рабочего листа для списков работают иначе. Например, некоторые строки были скрыты с помощью команды Формат^СтрокаОСкрыть. Если затем скопировать диапазон, содержащий скрытые строки, будут скопированы все данные, включая 400 Часть IV. Анализ данных
и те, которые находятся в скрытых строках. Но если скопировать данные из отфильтрованного списка, то будут скопированы только видимые ячейки. Аналогичным образом можно выделять или удалять видимые строки списка, не затрагивая строки, скрытые с помощью средства Автофильтр. Расширенная фильтрация Часто для обработки списка бывает вполне достаточно автофильтра. Но если необходимо выполнить операцию, выходящую за рамки возможностей автофильтра, то придется прибегнуть к помощи средств расширенной фильтрации. Расширенный фильтр гораздо более гибкий, чем автофильтр, однако при его использовании требуется выполнять больше подготовительных действий. Расширенный фильтр позволяет выполнить следующее: ■ определить более сложный критерий фильтрации; ■ установить вычисляемый критерий фильтрации; ■ отобразить только различные (не повторяющиеся) записи; ■ перемещать копии строк, отвечающих определенному критерию, в другое место. Установка диапазона критериев Прежде чем использовать средство расширенной фильтрации, необходимо задать диапазон критериев. Это специально отведенная область рабочего листа, отвечающая определенным требованиям. Диапазон критериев используется Excel для фильтрации списка и должен отвечать двум требованиям. ■ Состоять по крайней мере из двух строк, первая из которых должна содержать все или некоторые названия полей списка. Исключение составляет случай, когда применяется вычисляемый критерий, который может использовать пустую строку заголовков. (Детальнее это описано в разделе "Вычисляемые критерии" далее в главе.) ■ Остальные строки должны содержать критерии фильтрации. ьаз« ддмвмх мелвиж»мо< TKjcfc Стони ость Регион Ц#нтрапь о Бассейн 6 f томность - 7 2 649 ОООр I в з 9во room 9 3 540 000р. Ю 2 299 000р. 11 3 599 000р. 12 2 399 ОООр 13 2 087 500р U 3 190 ОООр 15 2 299 ОООр 3 388 760P 17 3 899 ОООр 18 3 500 ОООр 19 2359 100р 20 2500000Р 21 2 275 СООр 22 3 099 ОООр 23 1 890 ОООр 134 3 749 Oga. Дата разиацвния » 24 май 2003 03 ион 2003 02 май 2003 05 вд- 2003 13 опт 2003 14НРЯ2003 11фев2О03 21 ион 2003 18 май 2003 11ОКГ2О03 22 ост 2003 22апр2003 25 май 2003 11 иол 2003 11 (рев 2003 17 ион 2003 Т2авг2003 Рагиои * Северный Сееерньй Центральный Северный Северный Центральный Южный Центральный Центральный Центральный Центральный Центральный Центральный Центральный Южный Северный Центральный Спальни I 3 5 2 Л Уборны* £ 3 2 2 3 2 3 3 2 3 3 2 2 3 2 3 3 2 1 * 1 Плоадвь! 113 119 95 93 100 Ю4 100 77 91 113 104 103 104 В4 87 111 69 Тип Щ Коммунальная Частная Частная Коммунальная Коммунальная Частная Частная Коммунальная Частная Частная Частная Частная Частная Частная Коммунальная Коммунальная Коммунальная <d(.T~j-< Бассейн * ЛОЖЬ ложь ложь ложь ИСТИНА ложь ИСТИНА ИСТИНА ложь ИСТИНА ложь ИСТИНА ИСТИНА ЛОЖЬ ЛОЖЬ ИСТИНА ложь лочь I ] J 1 »иЗ Рис. 19.9. Диапазон критериев для списка Глава 19. Работа со списками 401
Несмотря на то что можно отвести для диапазона критериев любое место на рабочем листе, желательно не задействовать при этом строки, используемые списком. Поскольку некоторые из строк списка будут скрыты при фильтрации, может оказаться, что ваш диапазон критериев стал невидимым после фильтрации. Поэтому размещайте его над или под списком. На рис. 19.9 показан рабочий лист, содержащий список продаваемых в городе квартир. Диапазон критериев расположен в ячейках A1:D2 над списком, который его использует. Обратите внимание, что поля, не используемые при фильтрации, можно не помещать в диапазон критериев. На компакт- диске Рабочую книгу, представленную на рис. 19.9, можно найти на прилагаемом компакт-диске. В этом примере диапазон критериев содержит только одну строку критериев. Поля в каждой строке диапазона (исключая заглавную строку) соединены оператором И. Поэтому в отфильтрованном списке показаны только те строки, у которых одновременно поле Район содержит значение Центральный и в поле Тип содержится значение Частная. Другими словами, после фильтрации будут отображаться только частные квартиры, расположенные в центральном районе. Чтобы выполнить фильтрацию, выберите команду Данные^Фильтр^Расширенный фильтр. Появится диалоговое окно Расширенный фильтр (рис. 19.10). Определите диапазон списка и диапазон критериев и убедитесь, что установлен переключатель Фильтровать список на месте. Щелкните на кнопке ОК, и список будет отфильтрован по заданным критериям. * (femrpbwrb список на икгте *~ ског&фовать радулы ат в Й-тойньЛ диапазон* Диапазон ус/кэеий- Г" Тешыдауцжапьиывмписи IpyroeneCTO ■$A$6jJH$131 |r.*Ti.$A$| p-j 1 *1 U 5J J _ОК jj Огнвнв j Рис. 19.10. Диалоговое окно Расширенный фильтр Множественный критерий отбора Если в диапазоне критериев используется несколько строк, критерии в каждой строке соединены оператором ИЛИ. На рис. 19.11 показан диапазон критериев (A1:D3), который состоит из двух строк критериев. В данном примере отфильтрованный список будет содержать строки, которые отвечают следующим условиям: ■ значение в поле Стоимость меньше 3 000 000 И в поле Район содержится строка Центральный; ■ ИЛИ поле Стоимость меньше 3 500 000 И поле Район содержит Южный И значение поля Бассейн равно ИСТИНА. Выполнить фильтрацию с подобными условиями с помощью средства Автофильтр нельзя. Диапазон критериев может иметь любое количество строк, соединенных одна с другой оператором ИЛИ. 402 Часть IV. Анализ данных
17 « ■ Стоимость i ooooooo 0500000 Стоимость 2 649 000a 3 930 000» 3 540000b 2 299 000P 3 599 000р. 2 399 000р. 2 037 500a 3 190000P 2 299 0000 3 368 760p 3ti99 000a 3 500 000P 2 359 100P * *t\lWriy 6 Район -внтпч ьньй Южвьй Дота ра1н«н«ния 24иай2003 ОЗион20ОЗ 02 мой 2003 ОбавгйЮЗ 13 от 2003 14 ноя 2003 11фев20ОЗ 21 MR 2003 18 мой 2003 11 OKI 2003 22 ОСТ 2003 22ОЛР2003 26 мой 2003 С Тнп Район Севернь? Северны* Центральный Северчь * Северный Центральный Южны? Центральный Hi iiMWii iii.fi Центральньой Центральный Центральный Центральный Р. Бассейн ИСТИНА Спальни 3 3 4 _ Е Уборные 3 2 2 3 2 3 3 2 3 3 2 2 3 LU F Площадь 113 119 95 93 100 104 100 77 91 113 104 103 104 G Тнл Коммунальная Частная частная Коммунальная Комь'унальная частная Частная Коммунальная "-аст-оя Частная Частная Частная Частная 1 -Ю. х| 3 Боссомн ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ ИСТИНА ЛОЖЬ ИСТИНА ИСТИНА ЛОЖЬ ИСТИНА ЛОЖЬ ИСТИНА ИСТИНА -.1 JtltT Рис. 19.11. Этот диапазон критериев состоит из двух наборов условий Типы критериев Записи в диапазоне критериев могут быть двух видов. ■ Текстовые или числовые критерии. Во время фильтрации для определения видимых записей осуществляется сравнение чисел или строк с помощью операторов, таких, как равно (=), больше чем (>), не равно (о) и т.д. ■ Вычисляемые критерии. Во время фильтрации выполняются некоторые вычисления. Текстовые и числовые критерии В табл. 19.1 представлен список операторов сравнения, которые можно использовать в текстовых или числовых критериях. Оператор Тип сравнения = Равно > Больше чем >= Больше или равно < Меньше чем <= Меньше или равно о Не равно Использование символов подстановки В критериях, содержащих текст, можно использовать два символа подстановки: "*", которая заменяет несколько символов; и "?", который используется вместо одного символа. В табл. 19.2 показаны примеры строковых (текстовых) критериев. Некоторые примеры могут быть достаточно трудными для понимания. Например, чтобы найти записи, которые состоят из одного символа, критерий следует вводить в виде формулы, как показано в последнем примере таблицы. Глава 19. Работа со списками 403
Таблица Критерий 19.2. Примеры строковых критериев Действие ="Январь" '=Январь Январь С <>С* >=К 'Январь* См* с*с с?с =«=с*сг '=с*с <>*с =777? о????? <>*с* -? о Все записи, содержащие слово "Январь" (и ничего другого). Этот критерий нужно вводить так, как здесь показано: следует ввести знак "=", а затем в кавычках ввести формулу. Также можно просто ввести формулу, перед которой поставить апостроф Записи, начинающиеся со строки "Январь" Записи, начинающиеся с символа С Все слова, кроме начинающихся с буквы С Слова, начинающиеся с букв от К до Я Записи, содержащие произвольный текст, среди которого есть слово "Январь" Записи, начинающиеся с букв "См" Записи, начинающиеся с буквы "с" и содержащие по крайней мере еще одну букву "с" Записи, начинающиеся с буквы "с" и содержащие в третьей позиции еще одну букву "с". Заметьте, что будут найдены не только слова, состоящие из трех букв Записи, которые начинаются и заканчиваются буквой "с". Этот критерий нужно вводить так, как здесь показано: следует ввести знак "=", а затем в кавычках ввести формулу. Также можно просто ввести формулу, перед которой следует поставить апостроф Записи, содержащие текст, который заканчивается любой буквой, кроме "с" Записи, которые состоят точно из четырех символов Все записи, кроме тех, которые состоят из пяти символов Записи, в которых нет буквы "с" Записи, содержащие только один знак вопроса Все пустые записи Все непустые записи Записи, содержащие одну букву "с". Этот критерий нужно вводить так, как здесь показано: следует ввести знак "=", а затем в кавычках ввести формулу. Также можно просто ввести формулу, перед которой поставить апостроф В текстовых сравнениях не различаются прописные и строчные буквы. Например, критерий си* соответствует как фамилии Сидоров, так и слову "сильный". На заметку I Вычисляемые критерии Использование вычисляемых критериев может сделать операцию фильтрации более гибкой и мощной. Вычисляемый критерий основывается на одном или нескольких вычислениях и, по существу, вычисляет для списка новое поле. Поэтому следует помещать новое название поля в первую строку диапазона критериев. На рис. 19.12 показан пример фильтрации, с помощью которой можно определить, какие записи лучше среднестатистических. Иными словами, ищутся предложения, стоимость которых ниже средней, а площадь — выше средней. Обратите внимание, что в диапазоне критериев (В1:С2) не используются заголовки списка. Вместо этого были созданы два новых заголовка. Использование заголовков полей 404 Часть IV. Анализ данных
для вычисляемых критериев необязательно. Но, поскольку при фильтрации с помощью вычисляемого критерия создается одно или более новых полей списка, лучше добавить заголовки с описаниями. [-Г* | 1 1 1 ' Е 6 7 • 14 15 щ 20 21 **** А СТОИМОСТЬ 2 649 000р. зваоооор. 3 540 000р. 2 299 ОХР. 3599 000Р 2 399 000р. 2 087 500р. 3 190 «Юр 2 299 000р. 3 388 760р 3899 000р. 3500 000р. 2 359 100р. 2 5С0ОО0Р 2 275 000р. . *'п~ 7" —~**п—^ в НИ1КДЯ СТОИМОСТЬ ИСТ"4МД Дата размещения 24 май 2003 03 ион 2003 02 май 2003 05ааг2003 ГЗОКТ2003 14 юя 2003 11фев2003 21 ион 2003 18иэй2003 110КТ2С03 22 ОСТ 2003 22апр2003 26 май 2003 11 ИОЛ 2003 11фев2О03 Р Ьопьшая плошадь ■1СТ »-U Район Северный Северный Центральный Северный Северный Центральный Южный Центральный Центральный центральный Центсальнь/ Центральный Центральный Центральный Южный Спальни 3 Уборные 3 2 2 г 2 3 3 2 3 3 2 2 3 2 3 Площадь 113 119 95 93 100 104 100 77 91 113 104 103 Ю4 94 87 jjElxl "3 3 Тип коммунальная Частная частная Коммунальная Коммунальная частная Частная Коммунальная Частная Частная Частная Частная Частная частная Коммунары^ Бассейн ЛОЖЬ ложь ложь ложь ИСТИНА _?ожь ИСТИНА ИСТИНА ложь ИСТИНА ложь ИСТИНА ИСТИНА ложь ложь Рис. 19.12. Фильтрация с помощью вычисляемых критериев Ячейка В2 содержит следующую формулу: =А7<СРЗНАЧ(А:А) Эта формула вычисляет среднее значение в поле Стоимость и сравнивает его со значением первой записи. В ячейке С2 содержится формула =F7>CP3HA4(F:F) В формуле сначала вычисляется среднее значение в поле Площадь, а затем это значение сравнивается со значением поля Площадь первой записи. Если список отфильтровать по этим критериям, то он будет содержать только те записи, в которых значение поля Стоимость ниже среднего И значение поля Площадь выше среднего. При использовании вычисляемых критериев рекомендуется помнить некоторые правила. ■ Не используйте заголовки полей списка в диапазоне критериев для вычисляемого значения. Создайте новый заголовок или просто оставьте пустую ячейку. ■ Можете использовать любое количество вычисляемых критериев, а также сочетания вычисляемых критериев с невычисляемыми. ■ Не обращайте внимания на значения, возвращаемые формулами в диапазоне критериев. Они ссылаются на первую строку списка. ■ Если ваша вычисляемая формула ссылается на значения вне списка, используйте абсолютные, а не относительные ссылки. Например, вместо С1 используйте ссылку $С$1. ■ При создании формул вычисляемых критериев используйте первую строку списка (не строку заголовков!). Используйте относительные, а не абсолютные ссылки. Например, вместо $С$5 используйте ссылку С5. Другие возможности расширенной фильтрации В диалоговом окне Расширенный фильтр представлены еще две опции, которые рассматриваются дальше. Глава 19. Работа со списками 405
■ Скопировать результат в другое место. ■ Только уникальные записи. Копирование отобранных строк Если выбрать переключатель Скопировать результат в другое место в диалоговом окне Расширенный фильтр, то отобранные строки будут скопированы в другое место активного рабочего листа или на другой лист. Место определяется в поле Поместить результат в диапазон. Обратите внимание, что при использовании этой опции сам список не фильтруется. Отображение только уникальных строк При выборе опции Только уникальные записи все одинаковые строки, отвечающие определенному критерию, будут скрыты. Если вы не установили диапазон критериев, то в списке будут скрыты все одинаковые строки. Использование функций баз данных Важно всегда помнить, что в формулах рабочего листа используются все указанные ячейки, в том числе и скрытые в результате операции фильтрации. Поэтому, если применять, например, формулу СУММ, по которой вычисляется сумма значений в столбце списка, она вернет то же самое значение независимо от того, будет список отфильтрован или же будут видны все записи. Чтобы создать формулу, которая возвращает значения в зависимости от выбранных критериев фильтрации, необходимо либо воспользоваться функцией ПРОМЕЖУТОЧНЫЕ.ИТОГИ (см. раздел "Создание промежуточных итогов" далее в главе), либо использовать функции из категории баз данных Excel. В этом разделе описаны функции баз данных. Например, можно создать формулу для вычисления суммы значений в списке, отвечающей определенному критерию. Для этого нужно задать диапазон критериев, как было описано раньше, затем ввести формулу такого типа: =БДСУММ(ДиапазонСписка, НазваниеПоля, Критерий) В данном случае вместо аргумента ДиапазонСписка подставляется ссылка на список, вместо аргумента НазваниеПоля — ссылка на ячейку с заголовком поля того столбца, который будет суммироваться, а вместо аргумента Критерий подставляется ссылка на диапазон критериев. В табл. 19.3 приведен список функций баз данных Excel. Таблица 19.3. Функции баз данных Excel Функция Описание ДСРЗНАЧ Возвращает среднее значение выбранных элементов в базе данных БСЧЁТ Подсчитывает количество ячеек, содержащих числа в определенном поле базы данных, выбранных по определенному критерию БСЧЁТА Подсчитывает количество непустых ячеек в определенном поле базы данных, выбранных по заданному критерию БИЗВЛЕЧЬ Извлекает из базы данных отдельные записи по заданному критерию ДМАКС Возвращает максимальное значение в выбранных записях базы данных ДМИН Возвращает минимальное значение в выбранных записях базы данных 406 Часть IV. Анализ данных
Окончание табл. 19.3 Функция Описание БДПРОИЗВЕД Перемножает значения в указанном поле базы данных тех записей, которые удовлетворяют определенному критерию ДСТАНДОТКЛ Оценивает стандартное отклонение по выборке из базы данных ДСТАНДОТКЛП Вычисляет стандартное отклонение по генеральной совокупности из базы данных БДСУММ Суммирует числа в указанном поле всех записей базы данных, удовлетворяющих заданному критерию БДДИСП Оценивает дисперсию по выборке из базы данных БДДИСПП Вычисляет дисперсию по генеральной совокупности из базы данных Вам может показаться неудобным то, что в каждой функции баз данных нужно указывать диапазон критериев. К счастью, в Excel есть еще несколько способов выполнения операций условного суммирования и подсчета. В главе 11 представлены примеры использования функций СУММЕСЛИ и СЧЕТЕСЛИ. Также в главе 11 вы найдете множество других приемов для выполнения подобных операций. Кроме того, следует быть внимательным при суммировании и подсчете с использованием функции ПРОМЕЖУТОЧНЫЕ.ИТОГИ. В отличие от остальных функций, эта функция игнорирует строки, которые были скрыты при фильтрации. Более детально функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ описана в разделе "Создание промежуточных итогов" далее в главе. Сортировка списка Обычно порядок строк в списке не имеет значения. Но иногда необходимо, чтобы строки имели определенную последовательность. Так, например, чтобы какое-либо наименование товара легче было найти в списке, строки должны быть расположены в алфавитном порядке по наименованиям товаров. Кроме того, иногда необходимо изменить порядок строк в готовом отчете, для того чтобы значения сумм располагались в списке в последовательности от большей к меньшей. Изменение порядка строк в списке называется сортировкой. Excel — очень гибкая система в отношении методов сортировки данных, поэтому часто для выполнения описываемой операции бывает достаточно сделать всего один щелчок мышью. Простая сортировка Чтобы быстро отсортировать список в порядке возрастания, переместите табличный курсор в начало столбца, по которому нужно выполнить сортировку. Затем щелкните на кнопке Сортировка ПО возрастанию, расположенной на панели инструментов Стандартная. Кнопка Сортировка по убыванию работает так же, но список сортируется в порядке убывания. В обоих случаях Excel самостоятельно определяет размер списка и сортирует все строки в нем. Сортировка отфильтрованного списка выполняется только для видимых строк. Если фильтрация отменяется, то список окажется неотсортированным. Будьте внимательны во время сортировки списка с формулами. Если в формулах используются значения ячеек, находящихся в тех же строках, то никаких проблем не возникнет. Однако если в формулах используются значения ячеек, находящихся в других строках списка, то после сортировки эти формулы окажутся неправильными. Если формулы в списке связаны с ячейками вне списка, убедитесь, что были указаны абсолютные адреса этих ячеек. На заметку Глава 19. Работа со списками 407
Правила сортировки в Excel Поскольку в ячейках может содержаться информация разного типа, вам, наверное, интересно знать, как эта информация сортируется. Ниже приведен список элементов в порядке убывания их значимости при выполнении сортировки по возрастанию. 1. Числа. Числа сортируются от наименьшего отрицательного к наибольшему положительному. Даты и время обрабатываются как числа. Во всех случаях при сортировке обрабатывается реальная величина (а не ее внешний вид после форматирования). 2. Текст. Сортируется в следующем алфавитном порядке: 0123456789 (пробел) !"#$%&'()* + , -./:;< = >?@[\]ft_'{|}~ABCDEF GHIJKLMNOPQRSTUVWXYZABBrflEE>K3MUKrMHOnPCTy<t>X ЦЧШЩЪЫЬЭЮЯ По умолчанию во время сортировки строчные и прописные буквы не различаются. Однако есть возможность изменить это в диалоговом окне Параметры сортировки (которое описано в следующем разделе). 3. Логические значения. Ложь следует перед Истина. 4. Ошибочные значения. Ошибочные значения, такие, как #знач ! и #н/д, появляются в их первоначальном порядке и не сортируются по типу ошибок. 5. Пустые ячейки. Всегда появляются последними. При выполнении сортировки по убыванию приведенные последовательности используются в обратном порядке (за исключением пустых ячеек, которые по-прежнему остаются последними). Более сложная сортировка В отдельных случаях необходимо выполнить сортировку по двум или более столбцам. Такая операция проводится, если сортировка по одному полю оставляет неотсортированными записи, соответствующие одинаковым значениям в сортируемом поле. Если необходимо выполнить сортировку по нескольким полям, выберите команду Дан- ныеОСортировка — появится диалоговое окно Сортировка диапазона (рис. 19.13). В раскрывающемся списке Сортировать ПО выберите поле и укажите порядок сортировки (ПО возрастанию или по убыванию). Затем сделайте то же самое для второго поля. Если необходимо отсортировать и по третьему полю, определите третье поле в третьем разделе. Когда в разделе Идентифицировать диапазон данных по установлен переключатель Подписям (первая строка диапазона), строка заголовков полей не будет влиять на сортировку. Щелкните на кнопке ОК, и строки быстро перегруппируются. ЛШ <~ ПО ВЙЗР9СТ»*« |СтОГМОСП> Бпсспедиюю очередь, по — 1/Юпраэхеш»*!"]!] <*" по шркпмо f* по уб&£аг*«о Ид*итм«>чщю**ть диапазон д»#*ххпо i~ подгиои (первая строке диапазона} С о6о*н*чм««*чсго1|бчде|»<гд Пдоиетры». Рис. 19.13. Диалоговое окно Сортировка диапазона 408 Часть IV. Анализ данных
Если результат сортировки оказался неудовлетворительным, выберите команду ПравкаО Отменить сортировку или нажмите комбинацию клавиш <Ctrl+Z>, чтобы вернуть список к первоначальному состоянию. Ну а если необходимо сортировать больше, чем по трем полям, как тогда нужно поступить? Подобную операцию также можно выполнить, но это потребует дополнительного шага. Предположим, нужно отфильтровать список по пяти полям: Поле1, Поле2, ПолеЗ, Поле4 и Полеб. Для этого сначала отсортируйте список по элементам ПолеЗ, Поле4 и Полеб, а затем еще раз — по элементам Поле1 и Поле2. Другими словами, отсортируйте сначала менее важные поля, тогда они сохранят свой порядок при выполнении второй сортировки. Совет .ч Очень часто требуется, чтобы записи в файле хранились в своем первоначальном порядке, а сортировка выполнялась лишь временно, для просмотра. Выход один — добавить к списку дополнительный столбец и хранить в нем порядковые номера строк (для создания номеров строк формулы использовать нельзя). Затем после сортировки можно вернуться к первоначальному порядку, еще раз отсортировав список по полю, содержащему порядковые номера. Для возврата к первоначальному порядку также можно использовать возможность отмены последнего действия. Однако использование дополнительного столбца имеет одно преимущество: данный метод позволяет выполнить дополнительные операции над временно отсортированным списком (и результат действия этих операций не будет отменен после возврата к первоначальному порядку в списке). Если в диалоговом окне Сортировка диапазона щелкнуть на кнопке Параметры, на экране появится диалоговое окно Параметры сортировки (рис. 19.14). ЕЖЯГ .*! йортчх»оа по пвудоиу сточу: [S —3 Г" ^читывать регистр! Сортировать — (• строки диапазона <** сталбцыдиапаюиа Отмена | Рис. 19.14. Диалоговое окно Параметры сортировки предоставляет дополнительные опции сортировки Ниже приведено описание опций этого диалогового окна. ■ Сортировка по первому ключу. Позволяет определить особый порядок сортировки (читайте следующий раздел). ■ Учитывать регистр. При сортировке будет учитываться различие между прописными и строчными буквами. В результате при сортировке по возрастанию прописные буквы будут располагаться перед строчными. По умолчанию различие между прописными и строчными буквами не учитывается. ■ Сортировать. Позволяет выполнить сортировку по столбцам, а не по строкам (последнее задано по умолчанию). Особый порядок сортировки Сортировка чисел или упорядочение текстовых строк чаще всего выполняется по алфавиту. Однако иногда требуется отсортировать данные особым образом. Например, если данные представляют собой названия месяцев, то желательно, чтобы они располагались не в алфавитном порядке, а в порядке возрастания номеров месяцев. Для выполнения такой сортировки можно использовать диалоговое окно Параметры сортировки, выбрав список, в соответствии с которым будет проводиться сортировка, из раскрывающегося списка Сортировка по Глава 19. Работа со списками 409
первому ключу. По умолчанию в Excel определены четыре стандартных списка. Кроме того, пользователь может также определить собственные списки. Вот перечень стандартных списков Excel. ■ Сокращенные названия дней недели: Пн, Вт, Ср, Чт. Пт, Сб, Вс. ■ Полные названия дней недели: Понедельник, Вторник, Среда, Четверг, Пятница, Суббота, Воскресенье. ■ Сокращенные названия месяцев: Янв, Фев, Map, Апр, Май, Июн, Июл, Авг, Сен, Окт, Ноя, Дек. ■ Полные названия месяцев: Январь, Февраль, Март, Апрель, Май, Июнь, Июль, Август, Сентябрь, Октябрь, Ноябрь, Декабрь. Иногда требуется создать свой список. Например, у вашей компании есть несколько магазинов и вам необходимо, чтобы они были размещены в определенном порядке (не алфавитном). Если создать пользовательский список, операция сортировки будет помещать элементы в том порядке, в котором они указаны в списке. Отсортировать данные по списку пользователя можно с помощью команды Данные^Сортировка. Чтобы указать, по какому именно списку сортировать, щелкните на копке Параметры. Для создания пользовательского списка используйте вкладку Списки диалогового окна Параметры (рис. 19.15). Выберите опцию НОВЫЙ СПИСОК и введите все элементы по порядку в окно Элементы списка. Кроме того, можно импортировать список из диапазона ячеек с помощью кнопки Импорт. I Сохранений | ГЪомрсвоиибск | ©рф«р*$-«1 | Веэспасностг Ъьпкюш* [ Правке ] Общие ] Переход Списки ] Дпагрым | Цвет =»явивит^«пиа«; Jj Добавил» Ш№Г4 надовпе клавишу а*вг ""53 &«** 1 Г-1 Рис. 19.15. Excel позволяет создавать пользовательские списки для сортировки Пользовательские списки учитываются также при работе в режиме автозаполнения ячеек. Например, если вы вводите первый элемент пользовательского списка, а затем применяете средство Автозаполнение, Excel автоматически заполнит оставшиеся элементы. Сортировка произвольного диапазона Для выполнения сортировки произвольного диапазона на рабочем листе этот диапазон не обязательно должен быть списком. Однако необходимо помнить следующее. При использовании кнопок Сортировка по возрастанию и Сортировка по убыванию, расположенных на стандартной панели инструментов, верхняя строка может ошибочно считаться строкой заголовков, и эти ячейки не будут учитываться при сортировке. 470 Часть IV. Анализ данных
Поэтому, чтобы избежать возможных ошибок, не используйте эти кнопки панели инструментов. Вместо этого выделите весь диапазон и используйте команду Данные^Сортировка. Убедитесь, что в диалоговом окне Сортировка диапазона в разделе Идентифицировать диапазон данных по выбран переключатель обозначениям столбцов листа. Создание промежуточных итогов Довольно часто на практике приходится создавать промежуточные итоги. В Excel есть средство, которое позволяет выполнять эту операцию автоматически, что очень удобно и экономит много времени. Чтобы использовать эту возможность, список должен быть предварительно отсортирован, поскольку промежуточные итоги будут создаваться каждый раз при изменении значения определенного поля. Чтобы формулы промежуточных итогов вставить в список автоматически, поместите табличный курсор где-нибудь на списке и выберите команду ДанныеОИтоги. Появится диалоговое окно Промежуточные итоги (рис. 19.16). В этом примере список был отсортирован по месяцам. Рис. 19.16. С помощью диалогового окна Промежуточные итоги в отсортированный список можно автоматически вставить формулы для вычисления промежуточных результатов Рабочую книгу с примером использования промежуточных итогов можно найти на прилагаемом компакт-диске. В этом диалоговом окне представлено несколько опций. ■ При каждом изменении В. В этом раскрывающемся списке показаны все поля вашего списка. Выбранное поле должно быть отсортировано. ■ Операция. Вам предоставлены на выбор 11 функций. Обычно используется функция СУММ. Она и задана по умолчанию. ■ Добавить итоги по. В этом окне выводятся названия всех полей вашего списка. Разместите отметку рядом с полем или полями, в которых следует подвести промежуточные итоги. ■ Заменить текущие итоги. Если установить эту опцию, то любые существующие формулы итогов будут заменены новыми. ■ Конец страницы между группами. Excel вставляет символ конца страницы после подведения каждого промежуточного итога. Глава 19. Работа со списками 411 Промежуточные нтаги *\ |ч» iCyma Добаоитънтогипо: 3 "3 Р" 5анв»*пъг«суиу1в«гоги Г &ривцсгр*иицым*щдугрупп«и W Итаси под даг*ыии 1#Р*гъвсе | | ОК ~|
■ Итоги под данными. Итоги будут расположены под текущими данными, если эта опция выбрана (она установлена по умолчанию). В противном случае вначале будет расположен итог, а затем данные. ■ Убрать все. После щелчка на этой кнопке из списка удаляются все формулы итогов. Если щелкнуть на кнопке OK, Excel проанализирует список и вставит формулы, которые были определены, а также структурирует таблицу. Все формулы используют функцию ПРОМЕЖУТОЧНЫЕ.ИТОГИ. На рис. 19.17 показан рабочий лист после добавления промежуточных итогов. ' Проп»»т кия Г I I 1 I ' _?_ • .А. • 4 -ГЦ ■ .<> 7 1 1 I 1 • л_ • » « • и --J « ! 1 J 1 1 1 • 13 14 - 15 • 16 • 1? • 18 1 - 19 - 23 22 К < * м\Пг ¥*•**>:■ ИГвГК-ХЬ Менеджер Месяц Товар veieoHBHMi Январь Товар А Ваоабуля Январь Товар 5 РьВак (Январь [Товар Б Сияэоненю Январь Товар Б Симеоненнэ Январь Товар В Январь Итог ГЬлуби» Февраль Товар А ГЪлубюв Февраль Товар Б Оелвоненко Февраль Товар Б Арнольдов Февраль Товар В Февраль Итог Арнольдов Март Товар А >уденгав Март Товар А Рыбак Март Товар А ■рнольдов Март Товар Б уденкое Март Товар В олубков Март Тоеарв Март Ито| Оёцмй htoi €Л/ ЦенаК| 225р 226р |40р 175р МЭр 125р 225р 226р. |25р |75р |25р 225р МОр 22бр |40р итчества В Ю 9 В в с 5 7 В г 5 4 В И 2 ' Всаго 3 375р 2260р 1260р 1400р В40р В135р ISOOp 1 125р |5В2р 750р 4В57р 350р В25р «»р 1 120р 3150р 2в0р 6 425р 20 517р н3 1 «1 Рис. 19.17. При создании промежуточных итогов рабочая таблица автоматически структурируется Если вы попытаетесь отсортировать список, содержащий промежуточные итоги, { то последние будут удалены. Если же промежуточные итоги были созданы для I отфильтрованного списка, то после отмены фильтрации итоги также изменятся. Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ Это очень гибкая функция. Ее уникальность в том, что она является единственной функцией Excel, которая игнорирует скрытые строки. Но есть одно ограничение — строки должны быть скрыты с помощью автофильтра или структуры. Если же скрыть строки вручную, то это никак не отразится на результатах вычислений функции. Первый аргумент функции ПРОМЕЖУТОЧНЫЕ.ИТОГИ указывает, какая функция в действительности будет использоваться. Например, если первый аргумент равен 1, то функция работает так же, как и СРЗНАЧ. Ниже представлены допустимые значения первого аргумента. Значение Функция 1 СРЗНАЧ 3 4 5 6 7 СЧЕТ СЧЕТЗ МАКС МИН ПРОИЗВЕЛ СТАНДОТКЛОН 412 Часть IV. Анализ данных
8 СТАНДОТКЛОНП 9 СУММ 10 ДИСП 11 ДИСПР Если эта функция применяется к данным списка (обозначенного с помощью команды Дан- ныеОСписок^Создать список), то к значению первого аргумента следует добавить 100. Например, вместо числа 9 следует ввести 109. В том случае, когда первый аргумент больше 100, функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ работает несколько иначе. В частности, она не учитывает строки, скрытые вручную. Если же значение первого аргумента меньше 100, то функция учитывает строки, скрытые вручную, но не учитывает те строки, которые были скрыты при фильтрации списка. Работа с обозначенными списками ^^^* В этом разделе обсуждается средство, доступное только в Excel 2003. На заметку В Excel всегда были представлены средства для работы со списками. Но в версии 2003 Microsoft ввела новую концепцию; согласно этой концепции можно обозначить диапазон ячеек, который "официально" будет считаться списком. Использовать это средство необязательно. В действительности нет ничего такого, что можно делать с обозначенным списком и нельзя с обычным. ^^^^ Следует иметь в виду, что какого-либо особого названия новый тип списков не Ча заметку имеет. Поэтому, чтобы избежать путаницы, тип списков, обсуждаемый в этом разделе, будем условно называть "обозначенным". / Обозначенный список, по существу, такой же, как и обычный список. Единственное отличие состоит в том, чтобы явно указать Excel, что тот или иной диапазон является списком. После этого Excel добавляет рамку вокруг списка, которая будет автоматически расширяться при добавлении новых записей. Рабочий лист может содержать произвольное количество обозначенных списков. Создание обозначенного списка Чтобы создать обозначенный список, выделите любую ячейку списка и примените команду ДанныеОСписокОСоздать список или просто нажмите комбинацию клавиш <Ctrl+L>. На экране появится диалоговое окно Создание списка, в котором можно изменить диапазон, содержащий список, и указать, содержит ли список строку заголовков. После щелчка на кнопке ОК список будет обрамлен цветной рамкой и будет активизировано средство Автофильтр. Кроме того, на экране появится панель инструментов Список (рис. 19.18). Эта панель содержит одно меню и ряд кнопок, которые позволяют быстро выполнить некоторые часто применяемые к спискам операции. Обратите внимание, что обозначенный список внизу содержит, помимо указанного диапазона, еще одну пустую строку. Первая ячейка пустой строки содержит символ *. Глава 19. Работа со списками 413
|*ТГ^^^ ! * 2 А 5 7 8 101 12 13 14 16' 13 17 18 19' 20 21 23 24 25 26 27 28 и « » fcf ЧР .*f. Б Пне Янв Янв Янв Янв 3>ев х«в Эев х«в Х«В эев Map Map Map Мэр Map Map * ^fWTl./" " С D E F 0 «г Мене we|i ±J Регион » Боб Север Копичество встреч *•] ipbeu продаж *| Годовом ооьвн ш 56 283800 Френк Север 3S 507 200 Поп Юг 25 107 600 Ренди Юг 47 391600 Мэри Юг 39. 226 700 Боб Север 44 558 400 Длсипп Север 46 350 400 Френк Север Поп Юг Ренди Юг Мэри Юг Боб Север Джипп Север Френк Север Поп юг Ренди Юг Мэри Юг 74 411800 29 154 200 45 258 000 52| 233 ВО0 30. 353 100 44 532 100 57 256400 13 286 000 14 162 200 36 134 300 3 669 400 6 046 400 1281200 4699 200 2720400 6 700 800 4204 800 4941600 1850 400 3096 000 2805 600 4 237 200 6385 200 3 100 800 3 432 000 1946 400 1611600 1 Списокт ^Переключить етро^итогов щ *f J0 \-. » ^ )Л 4л 1 м i Jfll-ll Н3 _ 'If Рис. 19.18. Данные, расположенные в диапазоне B2:G20, были обозначены как список Чтобы преобразовать обозначенный список обратно в обычный диапазон, воспользуйтесь командой ДанныеоСписок^Преобразовать в диапазон. Эту рабочую книгу можно найти на прилагаемом компакт-диске. На компакт ■ Добавление строк и столбцов к обозначенному списку Для того чтобы добавить данные в конец списка, просто введите их в пустую строку. Чтобы вставить строку или столбец, щелкните правой кнопкой мыши и из меню Вставить выберите нужную команду (или же выберите команду из меню Список^Вставить, которое расположено на панели Список). Чтобы удалить строку или столбец, щелкните правой кнопкой мыши и выберите команду из меню Удалить (или из меню Список1*Удалить на панели инструментов Список). Добавление итоговых формул в обозначенный список Обозначенные списки могут содержать формулы, суммирующие данные в каждом столбце. Прежде чем создавать эти формулы, следует добавить строку итогов. Для этого выберите команду ДанныеоСписокоСтрока итогов или на панели инструментов Список щелкните на кнопке Переключить строку итогов. После этого в конец списка будет добавлена новая строка. Каждая ячейка этой строки является раскрывающимся списком, похожим на список, который 474 Часть /V. Анализ данных
появляется после включения средства Автофильтр. Раскройте список и выберите подходящий тип итогов. Например, можно выбрать тип итогов Сумма, Среднее, Количество и т.д. К сожалению, создавать собственные формулы в строке итогов нельзя. Выбор ограничен только теми функциями, которые присутствуют в раскрывающемся списке. Заметьте, что во всех вариантах используется функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ. Тип отображаемого итога определяется первым аргументом этой функции. Например, если первый аргумент равен 109, то функция отображает сумму значений столбца. Рабочие книги, содержащие обозначенные списки не обладают обратной совместимостью. Если эта книга будет открыта в более ранней версии Excel, то все данные останутся нетронутыми, но данные, содержащиеся в обозначенных списках, будут отображаться как обычный диапазон. Кроме того, если обозначенный список содержал итоговые формулы, то они вернут значение ошибки #ЗНАЧ!. Преимущества использования обозначенных списков Обозначенные списки по сравнению с обычными обладают некоторыми преимуществами. Например, удобно, когда список четко обозначен темным контуром. Кроме того, в обозначенные списки проще добавлять итоговые формулы. Если в вашей компании используется сервис Microsoft SharePoint, то обозначенные списки приобретают еще одно преимущество: их довольно просто опубликовать на узле Share- Point. Для этого выберите команду ДанныеОСписок^Опубликовать список. На экране появится диалоговое окно, в котором нужно указать адрес узла и некоторую дополнительную информацию. Глава 19. Работа со списками 415
главаЩ Использование внешних баз I данных В этой главе... Файлы внешних баз данных Основы работы в Microsoft Query Работа с внешними данными предыдущей главе речь шла об использовании списков, расположенных на рабочем листе. Одни пользователи считают, что таких списков вполне достаточно для сбора и отслеживания данных, а другие предпочитают использовать возможности доступа к данным, хранимым в файлах внешних баз данных. Специализированные программы для работы с базами данных, как правило, имеют некоторые дополнительные преимущества перед Excel. Эта тема и рассматривается в данной главе. Файлы внешних баз данных Когда вы открываете рабочую книгу Excel, она полностью загружается в оперативную память компьютера. Это обеспечивает быстрый и полный доступ ко всем данным, содержащимся в рабочей книге. Но это также подразумевает, что вы не можете создавать чрезвычайно больших списков. Даже если ваш компьютер имеет достаточный объем памяти, Excel ограничивает размер списков, который не должен превышать размера рабочего листа. Файлы внешних баз данных несколько отличаются от файлов рабочих книг Excel. Когда вы получаете доступ к внешней базе данных, реально в память компьютера загружается только несколько записей из этой базы данных. Поэтому потенциально внешняя база данных может иметь неограниченный объем данных. Фактически объем внешней базы данных ограничен только возможностями вашей компьютерной системы и может во много раз превышать тот объем данных, который хранится в списках рабочих книг Excel.
Возможность доступа к файлам внешних баз данных из Excel может быть полезна в следующих случаях: ■ база данных, с которой необходимо работать, очень большая; ■ к базе данных имеют доступ разные пользователи, и им может понадобиться одновременно работать с этими данными; ■ вам необходимо работать лишь с частью данных, которая удовлетворяет определенному критерию; ■ база данных имеет формат, не поддерживаемый Excel; ■ база данные содержит несколько связанных между собой таблиц. Если вам необходимо работать с файлами внешних баз данных, то для этого предпочтительнее использовать Excel, чем другие программы управления базами данных. Преимущество заключается в том, что после ввода в Excel данные можно обрабатывать и форматировать, используя привычные инструменты и средства Excel. Конечно, "настоящие" базы данных, такие, как Microsoft Access, имеют определенные преимущества для хранения и обработки больших массивов данных. Например, в Access можно создать весьма сложные по структуре отчеты, что затруднительно сделать в Excel. Excel может непосредственно "читать" файлы многих типов баз данных. Если внешняя база данных имеет меньше 65 535 записей и не больше 255 полей, то можно загрузить весь файл в рабочий лист, учитывая, конечно, ограниченность оперативной памяти компьютера. Однако, даже если для загрузки такого большого файла памяти достаточно, скорость работы Excel, скорее всего, будет очень низкой. Во многих случаях вас могут интересовать не все записи или поля в файле базы данных, а только те, которые удовлетворяют определенному критерию. Чтобы импортировать именно эти данные, нужно создать запрос к базе данных и загрузить в рабочий лист только часть внешней базы данных. Как будет показано ниже, выполнять операции подобного типа в Excel можно относительно просто. Для выполнения запросов к внешним базам данных на вашем компьютере должно быть установлено приложение Microsoft Query. Чтобы проверить, установлено ли это приложение, попробуйте выбрать команду ДанныеоИмпорт внешних дан- ных^Создать запрос. Если такая команда недоступна или Excel выдает сообщение об ошибке, значит, вам придется воспользоваться программой установки Excel (или Microsoft Office) и установить Microsoft Query. На заметку / Термины баз данных Пользователи, которые работают с базами данных, должны знать соответствующую терминологию, поэтому ниже приводится несколько терминов из области баз данных. ♦ Внешняя база данных. Данные, собранные в один большой файл (не файл Excel). Файл базы данных имеет одну или несколько таблиц данных, таблицы состоят из записей и полей. ♦ Запись. Элемент таблицы базы данных, который соответствует строке в этой таблице. ♦ Запрос. Поиск записей в базе данных, которые удовлетворяют определенным условиям. ♦ Кубы OLAP. Аббревиатура от On-Line Analytical Processing — аналитическая обработка в реальном времени. Многоуровневые базы данных, которые часто создаются на основе нескольких других источников. Глава 20. Использование внешних баз данных 417
♦ Обновление. Повторное выполнение запроса для получения свежей информации. Эту операцию используют при работе с базой данных в многопользовательском режиме, когда информация в ней постоянно изменяется. ♦ Поле. Элемент записи табличной базы данных, соответствующий столбцу в Excel. ♦ Результирующий набор. Данные, получаемые по запросу. Как правило, это некоторое подмножество исходной базы данных. MS Query возвращает результирующий набор в рабочую книгу Excel или в сводную таблицу. (Сводные таблицы обсуждаются в главе 21.) ♦ Реляционная база данных. База данных, которая хранится в нескольких таблицах или файлах. Таблицы связываются через одно или больше общих полей, которые называются ключевыми. ♦ Таблица. Упорядоченный набор данных, состоящий из записей и полей. База данных может содержать одну или несколько таблиц. ♦ ODBC. Аббревиатура от Open DataBase Connectivity— открытое соединение баз данных. Стандартный интерфейс, созданный компанией Microsoft, который предназначен для доступа к файлам баз данных в различных форматах с помощью специальных драйверов. Утилита MS Query поставляется вместе с драйверами для доступа к базам данных, Paradox, SQL Server, рабочим книгам Excel и текстовым ASCII-файлам. Кроме того, компанией Microsoft, а также рядом независимых производителей созданы драйверы ODBC для доступа к другим базам данных. ♦ SQL. Аббревиатура от Structured Query Language — язык структурированных запросов. MS Query использует SQL для создания запроса к ODBC-совместимым базам данных. Пример извлечения данных с помощью запроса Изучив пример, можно быстро и просто познакомиться с основными возможностями программы Microsoft Query. В следующих разделах вы узнаете, как с помощью MS Query открыть внешний файл базы данных и импортировать определенный набор записей. Файл базы данных Для того чтобы показать использование MS Query, необходим файл внешней базы данных. Тип этой базы данных не имеет существенного значения, поскольку MS Query может открывать файлы баз данных Access, dBASE или FoxPro и многих других без особых проблем. Для примера, который может повторить любой пользователь, имеющий на своем компьютере установленную базу данных Microsoft Access, использована учебная база данных "Борей", входящая в поставку Microsoft Access. Использование MS Query для получения данных При использовании MS Query вы импортируете только те данные, которые вам необходимы, а не всю информацию, содержащуюся во внешней базе данных. Это позволяет работать с внешней базой данных любого размера, даже если она имеет больше 65 535 записей (ограничение Excel). 418 Часть IV. Анализ данных
Выбор источника данных При запуске MS Query появляется диалоговое окно Выбор источника данных (рис. 20.1). Это диалоговое окно содержит три вкладки. ■ Вкладка Базы данных со списком источников данных, известных программе MS Query- Этот список может быть как пустым, так и непустым, в зависимости от того, какие источники данных определены в вашей системе. ■ Вкладка Запросы со списком сохраненных запросов. Этот список тоже может быть пустым. ■ Вкладка Кубы OLAP содержит список баз данных и запросов OLAP, доступных из MS Query. Если вы уже работали с базой данных, она будет находиться в списке баз данных. В противном случае вам понадобится определить источник данных. Чтобы определить новый источник данных, выберите во вкладке База данных опцию <Новый источник данных> и щелкните на кнопке ОК. В результате будет вызвано еще одно диалоговое окно, которое называется Создание нового источника данных (рис. 20.2). Ц1М"'|"1м,|ц,а^ —& Запейте имя для приемом* источнику данных 1 |Е«»алдннь« Борей быбвригеярдЕЫрйяятрдй»—org тмга&юыйаиныж Наю*г< глопк» Твяа*>' и bttwterpt&jeHJo слоения J Сеядь- | CSPtogt«T»Rfe»NMicioMftftfce ..i 3 Рис. 20.1. Диалоговое окно Выбор источника дан- Рис. 20.2. Диалоговое окно Создание ных нового источника данных Приведем инструкции по работе с этим диалоговым окном. 1. Введите полное имя источника данных. 2. Выберите драйвер для источника данных из списка установленных драйверов. (Поскольку файл базы данных в нашем примере был создан в Microsoft Access, выберите драйвер Microsoft Access Driver (*.mdb).) 3. С помощью кнопки Связь выводится другое диалоговое окно, которое запрашивает дополнительную информацию для драйвера, выбранного при выполнении п. 2. Например, можно выбрать каталог, в котором размещена база данных. 4. Выберите таблицу базы данных, которую вы будете использовать по умолчанию (этот шаг можно опустить). Если требуется задать пароль, следует указать, что пароль должен быть сохранен вместе с определением источника данных. После задания всей необходимой информации в диалоговом окне Создание нового источника данных щелкните на кнопке ОК, и вы вернетесь в диалоговое окно Выбор источника данных, в список которого уже будет включен созданный вами источник. Ммбор «етвчммкл «аияых ?аэыддннь«|зачксы) KySbiOtAPJ М1 •екмеСО" MQIS" Ь ем ванным MS Accw*' |«м данных Vnual FoxPro" 'абмчыУмиа! FoxPro* 'айлыоВме-WoHf ФайлыоВА5Е' ■ и)\ Р" Истользоеап»мастер ■мгрсссв | ОК. | Отмена ! ббж» ■ =&* * Параметры. Глава 20. Использование внешних баз данных 419
На замет la заметку / Для каждого источника данных описанная выше процедура выполняется один раз. При следующем обращении к MS Query любая определенная вами исходная база данных будет отображена в диалоговом окне Выбор источника данных. Действия, описанные выше, нужно выполнять для создания нового источника данных любого поддерживаемого типа. Тем не менее иногда нужно просто открыть файл базы данных без создания именованного источника данных, который будет появляться в диалоговом окне Выбор источника данных. Например, открытие файл напрямую может быть удобным, когда нужно открыть этот файл только один раз. Если требуется открыть файл базы данных Access, выберите во вкладке Базы данных поле База данных MS Access. После этого появится диалоговое окно Выбор базы данных; в нем следует указать файл, который будет загружен непосредственно в MS Query. Использование мастера запросов В нижней части диалогового окна Выбор источника данных находится флажок, установка которого указывает, что при создании запроса будет использоваться средство Мастер запросов. Вы не будете иметь дело непосредственно с MS Query, если используете мастер запросов; он будет сопровождать вас на всех этапах создания запроса. Дальше будет показано на примере, как применяется это средство. Итак, вы установили связь с источником внешних данных, теперь нужно создать запрос к этому источнику, чтобы извлечь из него необходимые данные. Убедитесь, что флажок Использовать мастер запросов установлен, а затем щелкните на кнопке ОК для запуска средства Мастер запросов. Мастер запросов: выбор столбцов На первом шаге работы средства Мастер запросов (рис. 20.3) выберите столбцы, которые должны находиться в запросе. Выделите один или более столбцов и щелкните на кнопке >, чтобы добавить их. Имеющиеся таблицы и столбцы; ТУРИНЕ КодПоставиим Название Обращаться*' Должность Данные *ы^о*нног - crwrtia. т Параметры Рис. 20.3. Выбор столбцов на первом шаге работы мастера запросов Чтобы просмотреть данные определенного столбца, нужно выбрать этот столбец и щелкнуть на кнопке Просмотр. Если столбец добавлен ошибочно, выделите его в правой панели и щелкните на кнопке < для его удаления. В этом примере были добавлены все поля таблицы Поставщики, кроме полей КодПо- ставщика и Индекс. Завершив выбор всех необходимых столбцов, щелкните на кнопке Далее. 420 Часть IV. Анализ данных
Мастер запросов: фильтрация данных Во втором диалоговом окне Создание запроса: отбор данных определяется критерий отбора записей, другими словами, здесь вы должны определить, как нужно фильтровать данные (рис. 20.4). Этот шаг не является обязательным. Если вам нужны все данные, щелкните на кнопке Далее. и,",л. ■■■jii.aj *j Задайте прввилв отбора да***»» Ест требуется nwyem» все данные, налмкге кк*ка "Даяее" Стоябць'дял отбора. Боэвр«шп№то««огвг1«к9аоелегвср«о|цив^ше1<;к дрть раем 1 J-J |Р0ССИЯ <Т И Г «Ai Л Г 1" Г и л г . г,- , J J J < назад |^ JXaigjbT J Отмене Рис. 20.4. Во втором диалоговом окне мастера запросов определяется фильтр для данных Если необходимо задать критерии для отбора записей, выполните следующее. 1. В окне Столбцы для отбора выберите поле, по которому будет проводиться фильтрация. 2. В области Возвращать только записи, удовлетворяющие условиям в первом раскрывающемся списке выберите оператор сравнения, который будет применяться к значениям выбранного поля. 3. В соседнем раскрывающемся списке введите или выберите значение, с которым будут сравниваться значения поля. Для просмотра введенных критериев выберите нужный столбец в списке Столбцы для отбора, и мастер запросов отобразит введенный критерий для данного столбца. В примере для фильтрации было выбрано поле Страна. Если вы ввели все необходимые данные, щелкните на кнопке Далее. Мастер запросов: порядок сортировки На третьем шаге формирования запроса создается порядок сортировки записей (рис. 20.5). Этот шаг можно пропустить, воспользовавшись кнопкой Далее для перехода к следующему шагу. В этом случае данные останутся неотсортированными, но их можно отсортировать после ввода в рабочий лист. Может быть задано любое количество полей для сортировки. Щелкните на кнопке Далее для перехода к следующему шагу. Мастер запросов: завершение Последний шаг работы мастера запросов — диалоговое окно Создание запроса: заключительный шаг (рис. 20.6). На этом шаге выполняются следующие действия: ■ задается имя запроса; ■ запрос сохраняется в файле для повторного использования; ■ указывается, что делать с данными. Глава 20. Использование внешних баз данных 421
Укажите лоряшж ссрщме^и данных. ' Есвд данные сортировать не требуется, нажмите Kwxxti "Xtamstf*; Сортировать по '[Название 'Звгемпе :.\ "3 г | ДОЛЖНОСТЬ Б последнюю йчйревг». W —j ^ по ео^аетанию -^ Г- ле-дбывенме "3 d <H&«ft l'„'fejy€:C-'i Оядепа | Рис. 20.5. На третьем шаге мастера запросов определяется порядок сортировки Выберите программу, в которую будут возвращены данные. Как правило, данные следует вернуть в Excel. Если вы умеете пользоваться MS Query, то можно вернуть данные в это приложение, где можно проверить отобранные данные и отредактировать критерии отбора. Кроме того, на основе результатов запроса можно создать базу данных OLAP. Выполните необходимые действия и щелкните на кнопке Готово. [ьж:;11!^'мь,ш *j г Дальнейшие действия'' (• t$apHyrba«*ft« e Microsoft Ойс«£нсе< % Создание *з^ 01^ «данного запрос* £лирамить запрос j Готово j Отмена Рис. 20.6. Заключительный шаг мастера запросов Определение места размещения данных На рис. 20.7 показано диалоговое окно, которое появляется после щелчка на кнопке Готово в окне Создание запроса: заключительный шаг. Куласпёдуег «желтить данные?" (• ЦмекщиЙс** яист; С феьйяист : 'Оо^теа... ] - ~ ] j OK' Отмена изменить jafipoc. 1 1 1 Рис. 20.7. Диалоговое окно Импорт данных В этом диалоговом окне можно выбрать один из вариантов размещения данных. ■ Имеющийся лист. Дополнительно можно указать левую верхнюю ячейку диапазона, куда будут вставлены данные. 422 Часть IV. Анализ данных
■ Новый лист. В книгу будет вставлен рабочий лист, а в него — данные, начиная с ячейки А1. ■ Создать отчет сводной таблицы. Для задания размещения сводной таблицы будет вызван Мастер сводных таблиц (читайте главу 21). На рис. 20.8 показаны данные, помещенные в рабочий лист. 1 ' г лас Название Обращаться* Должность АО Германия-Россия Петр Моргунов Менеджер по JHJ-Xl Адрес Город Область Страна Телефон продажам Тверская 5 Москва Россия (095)99(М510 Факс ООО Эиотмса Вероника Кудрявцева Менеджер по )экупкам Большая Садовая ул 12 Москва Россия (035)325-2222 (096)325-2 • «\IWrl,' . Рис. 20.8. Результат выполнения запроса Работа с внешними данными Данные, возвращаемые после выполнения запроса, записываются либо в рабочий лист, либо в сводную таблицу. Данные, сохраняемые в рабочем листе, записываются в специально поименованный диапазон, так называемый диапазон внешних данных (Excel автоматически присваивает имя этому диапазону). В этом разделе описывается, как обрабатываются данные, возвращаемые из MS Query и записанные в рабочий лист. Установка свойств диапазона внешних данных В диалоговом окне Свойства внешнего диапазона можно корректировать различные свойства диапазона внешних данных (рис. 20.9). Чтобы вызвать это диалоговое окно, указатель ячейки должен находиться в пределах диапазона внешних данных. Доступ к диалоговому окну можно получить, воспользовавшись одним из трех методов. ■ Щелкните правой кнопкой мыши и из контекстного меню выберите команду Свойства диапазона данных. ■ Выберите команду Данные1^Импорт внешних данных^Свойства диапазона данных. ■ Щелкните на кнопке Свойства диапазона данных на панели инструментов Внешние данные. В диалоговом окне Свойства внешнего диапазона представлен ряд опций. ■ Имя. Имя диапазона внешних данных, создаваемое Excel по умолчанию. Это имя можно изменить или оставить. Если имя диапазона содержит пробелы, то при его отображении в поле Имя в строке формул Excel подставит вместо них знаки подчеркивания. Глава 20. Использование внешних баз данных 423
Имя* Jianj киэБамммныхБорей Офеделение запроса - - ^ соэдмнить определение запросе Г" сочм»*т. оаропь Обновя<*+« жрана — —*- - - Р" фоновоеобноеленне Г" ссмэепять каждые )■■< ^j •**• Г" о&оотвмив при открытии файле Г* а.» - .. - ** Ф0рЯ*ТИра»1еТ?Ч1Д«ННЬ*Х ■ - .^ «клочить женапояей ^ автоформат данных Г" включить аонерАСтрс* Г? задать ц»"рим¥ столбца ,' J^ сохранить сведения о «^тфсвкв^^^Ф^Фор^Твллветолбца ' Если количество строк в диапаыэме изменится, Р д^ввитьноеыесфохииудалитьсущвствукадие С" добавить новь* «троки и очистить пуста* вчейси Г 3ajjet«Tb существующие ячейки и удалить пустые Г" fcanoiwm. фориуявни соседние сто*6аы LgCTI О™. Рис. 20.9. Диалоговое окно Свойства внешнего диапазона ■ Определение запроса. Если флажок сохранить определение запроса установлен, то определение запроса сохраняется вместе с диапазоном внешних данных (позволяет обновлять данные или при необходимости редактировать запрос). Если для базы данных требуется пароль, можно также задать пароль, и тогда его не нужно будет вводить при обновлении запроса. ■ Обновление экрана. Определяет, как и когда обновляются данные. ■ Формат и разметка данных. Определяет, как будет размещен диапазон внешних данных. Диалоговое окно Свойства внешнего диапазона содержит множество опций. Названия большинства из них говорят сами за себя. Дополнительную информацию можно получить из справочной системы Excel. Данные, возвращаемые после выполнения запроса, могут обрабатываться точно так же, как и данные любого другого диапазона на рабочем листе. Можно, например, отсортировать эти данные, отформатировать, создать формулы, использующие эти данные. Обновление запроса После выполнения запроса можно сохранить файл рабочей книги, а позже открыть его. В рабочей книге будут содержаться данные, которые были первоначально получены из внешней базы данных. Однако внешняя база данных за это время может измениться. Если установлен флажок сохранить определение запроса в диалоговом окне Свойства внешнего диапазона, то определение запроса сохраняется вместе с рабочей книгой. Для обновления запроса установите курсор где-нибудь в таблице внешних данных, а затем выполните одно из перечисленных ниже действий. ■ Щелкните правой кнопкой мыши и выберите из появившегося контекстного меню команду Обновить данные. ■ Выберите команду ДанныеООбновить данные. ■ Щелкните на кнопке Обновить данные, которая расположена на панели инструментов Внешние данные. 424 Часть /V. Анализ данных
Программа Excel запустит Query и использует первоначальный запрос для получения текущих данных из внешней базы данных. Если вы обнаружили, что запрос приводит к нежелательным результатам, используйте команду Отменить для восстановления первоначальных данных. Отдельная рабочая книга, если это необходимо, может содержать много диапазонов внешних данных. Диапазонам присваиваются уникальные имена, поэтому с каждым из них можно работать независимо от других. Excel автоматически отслеживает запрос, который используется для получения каждого диапазона внешних данных. После выполнения запроса иногда требуется скопировать или переместить диапазон внешних данных. При этом можно использовать обычные приемы копирования, вырезания и вставки. Однако необходимо убедиться, что копируется или вырезается целый диапазон внешних данных, иначе соответствующий запрос не будет скопирован, а скопированные данные не будут обновляться. Удаление запроса Если данные, возвращаемые по запросу, больше не нужны, их можно удалить. Для этого выделите весь диапазон внешних данных и выберите команду Правка^Удалить. Изменение запроса Если полученные результаты запроса неудовлетворительны, запрос можно модифицировать. Поместите курсор где-нибудь в пределах таблицы внешних данных, а затем используйте один из приведенных ниже способов изменения запроса. ■ Щелкните правой кнопкой мыши и выберите из контекстного меню команду Изменить запрос. ■ Выберите команду ДанныеОИмпорт внешних данных^Изменить запрос. ■ Щелкните на кнопке Изменить запрос на панели инструментов Внешние данные. Программа Excel запустит Microsoft Query, после чего можно изменить первоначальный запрос. По окончании корректировки выберите команду Файл^Вернуть данные в Microsoft Excel. Программа вновь будет активизирована, выполнится модифицированный запрос, а диапазон внешних данных обновится. В следующем разделе описано, как использовать MS Query без мастера запросов. Создание расширенных запросов В предыдущих разделах было описано, как использовать средство Мастер запросов для создания запроса к базе данных. Но в отдельных случаях предпочтительнее использовать Microsoft Query без участия мастера запросов. Если выбрать команду ДанныеОИмпорт внешних данных^Создать запрос, то в появившемся диалоговом окне Выбор источника данных можно установить опцию использования средства Мастер запросов или отказаться от его использования. Отказавшись от использования средства Мастер запросов, можно работать непосредственно с Microsoft Query- Кроме того, в Query можно редактировать запросы, созданные с помощью мастера запросов. Совет t > На заметку Внимание! Глава 20. Использование внешних баз данных 425
Создание запроса вручную Прежде чем создать запрос, необходимо отобразить область критериев. Выберите в окне Microsoft Query команду Вид^Условия, и в середине окна появится новая область (рис. 20.10). Область данных Область условий Область таблиц Ш.'.11Ш.],1.Л1.1.'ЯкМ J!J!i%.".|'."'iIT—ггщ ^3 Файл Приема Вид Формат TaiSmwi* Условие Загшо» Owt Спр#в*« ■ВМИв*^Й6н:-.-Л^-- Э ИИ га №1ШШ ГПШ1Щ L*U: мат Яыс. 20. /0. Внешний вид главного окна Microsoft Query Окно Microsoft Query разделено по вертикали на три области. ■ Область таблиц. Это верхняя область, содержащая таблицы из базы данных. В каждом окне таблицы выводится список ее полей. ■ Область условий. Это средняя область, содержащая критерии, определяющие строки, которые будут возвращены в Excel. ■ Область данных. Это нижняя область, содержащая данные, удовлетворяющие критериям. Для создания запроса выполните ряд действий. 1. Перетащите поля (столько, сколько вам необходимо) из области таблиц в область данных. Эти поля соответствуют столбцам, которые будут возвращены в Excel по запросу. Вместо перетаскивания можно также выполнить двойной щелчок на выбираемом поле. 2. Введите критерии в область условий. Когда вы активизируете эту область, первая строка, называемая Условия, отобразит раскрывающийся список, который содержит все имена полей. Выберите поле, по значениям которого будет идти отбор записей, а ниже введите критерий. Область данных обновится автоматически. Каждая строка обрабатывается как логический оператор ИЛИ. 3. Выберите команду ФайлОВернуть данные в Microsoft Excel. По этой команде выполнится запрос, а данные будут помещены в рабочий лист или сводную таблицу. 426 Часть IV. Анализ данных
На рис. 20.11 показано, как выглядит запрос в окне Microsoft Query для примера, рассмотренного выше в главе. £fc Файл Правк* Вид Формат Табпнца Услав*)* «3eni №&\в№ а \ш\ т ism [таи пп: : -igixi Я Ну— ОМ Экзотика вероника Kyupaei Менеджер по закупка* Большая Садовая ул 1 Москва АО Гсомапи»Россйп ПетрМоргучов Менеджерпо продажа ТверскаяБ Москва Г«-« 1 Об»* Россия Россия (ОЭЬ.998-4510 Мт»*^ "вИГ.и..! Хиж»)Э|раш4нмядам*«вГ¥Мло«вте^<1<«»1гаь<вси»|;йманы*Фл6^/6цм>^ьв»м«йМг | t { Г ЯН Рис. 20.11. В области условий содержится определение запроса После двойного щелчка в области условий открывается диалоговое окно Изме- Совет нение условия, которое помогает задать или изменить условие запроса. } Использование нескольких таблиц базы данных В примере, приведенном в этой главе, используется только одна таблица базы данных. Однако некоторые базы данных используют несколько таблиц. Такие базы данных называются реляционными, их таблицы связаны через общие поля. Приложение Query позволяет использовать любое количество таблиц в запросах. ^^^* После добавление новой таблицы в запрос (команда ТаблицаоДобавить табли- На заметку ЧУ) в области таблиц должны быть показаны связи между таблицами. Если связей нет, то эти таблицы нельзя использовать в одном запросе. Добавление и редактирование записей в таблицах внешних баз данных Прежде чем добавить, удалить или отредактировать данные с помощью Microsoft Query, убедитесь, что активизирован флажок Разрешить правку (команда ЗаписиоРазрешить правку), поскольку нельзя редактировать файл базы данных, который открыт только для чтения. Глава 20. Использование внешних баз данных 427
Будьте внимательны при использовании этого средства, поскольку все измене- i ния будут сохранены на диске, как только вы переместите табличный курсор за Внимание! пределы редактируемой записи (выбирать команду Файл^Сохранить не нужно). Форматирование данных Если вам не нравится внешний вид отображаемых данных, расположенных в области данных, то можете изменить шрифт с помощью команды Формат^Шрифт. Обратите внимание, что, в отличие от Excel, выборочное форматирование ячеек недопустимо — изменение шрифта распространяется на все данные, находящиеся в области данных. Иногда полезно просмотреть данные, расположенные в области данных, в дру- Совет гом порядке. Чтобы это сделать, выберите команду Записи^Сортировать или щелкните на кнопке панели инструментов Сортировать по возрастанию или С\ Сортировать по убыванию. Дополнительная информация о Microsoft Query В этой главе не ставилась цель осветить все возможности Microsoft Query. В ней только обсуждались основные, чаще всего используемые возможности этой программы. В действительности, если вы будете использовать Мастер запросов, то вам, скорее всего, никогда не понадобится применять Microsoft (2иегу>отдельно. Если все же вам придется работать с Query, обратитесь за дополнительной информацией к встроенной справочной системе. Поскольку приложение Query очень тесно связано с Excel, лучший способ его освоить — использовать его в деле, предпочтительно с теми данными, которые необходимы вам для работы. 428 Часть IV. Анализ данных
Анализ данных с помощью сводных таблиц Excel предусмотрено много инструментов анализа данных, но сводные таблицы, наверное, являются наиболее полезными и интересными. Сводные таблицы удобно применять для обобщения информации из баз данных, которые могут храниться как в рабочих книгах Excel, так и во внешних файлах. В этой главе продемонстрированы возможности сводных таблиц и даны советы по их использованию. Что такое сводная таблица Сводная таблица— это динамическая таблица итоговых данных, извлеченных или рассчитанных на основе информации, содержащейся в базе данных или списке. С помощью средств сводных таблиц можно преобразовать огромное количество малопонятных чисел в одну небольшую и удобную для анализа таблицу. Например, сводные таблицы позволяют создавать динамические перекрестные таблицы с легко изменяемой структурой, данные в которых обобщаются по нескольким измерениям. Кроме того, с помощью сводной таблицы можно подсчитать промежуточные итоги с любым необходимым уровнем детализации. Наверное, одним из самых впечатляющих свойств сводной таблицы является ее интерактивность. После создания сводной таблицы, можно как угодно переупорядочить имеющуюся в ней информацию и даже добавить в нее специальные формулы для выполнения дополнительных расчетов. Более того, после создания сводной таблицы можно группировать ее элементы (например, объединить итоги по северному и западному регионам). Единственным недостатком сводных таблиц является то, что, в отличие от итоговых отчетов, созданных с использованием формул, сводные таблицы не обновляются автома- В этой главе Что такое сводная таблица Создание сводных таблиц Группировка элементов сводной таблицы Создание вычисляемых полей и элементов сводной таблицы
тически при изменении исходных данных. Тем не менее с обновлением сводной таблицы не возникает особых проблем, поскольку для этого нужно всего лишь щелкнуть на кнопке Обновить данные. Пример сводной таблицы Лучший способ понять концепцию сводных таблиц — увидеть их в действии. На рис. 21.1 показаны данные, на основе которых можно создать сводную таблицу. На компакт- диске ^ T*^^T^*^aTe»1 ■А 1 Дата 2 02092003 : ej ог 09 20оз ] 4 02 09 2003 6 U2 09.2003 '8*02 09.2003 7 02 09.2003 б 02 09 2003 9 • 02 09 2003 10, 12 092003 11^ СИ 09 2003 12 | 2 09 2003 13 2 09 2003 1* 209 ДОЗ 16 ; К 09 2003 16 J2 Ю 2003 1? св 09 2003 18 12 09 2003 15L и2 °9 2003 20 У2 09 2003 21 Я 09 2003 22 3 09 2003 23 13092003 24 ЭЭ 09 2003 25 03 .09 2003 е с Счет [Т ил 340 Текущий 16 769 Депозит 15 276 Депозит 12 000 На предъявителя 6 000 Депозит 7 000 Срочный 90 000 Депозит 124 Текущий 400 Текущий 100 Текущий 14 644 Депозит 6 000 Срочный 4 623 Срочный 6 979 Текущий Э 171 Текущий 4 000 Срочный 6 000 Тисущий 16 000 Депозит 60 000 Срочный 13 636 Депозит 60 000 Депозит 15 000 Депозит 13 000 Депозит 13 000 Депозит Открыл Уполномоченный Кассир уполномоченный Уполномоченный Уполномоченный Уполномоченный Уполномоченный Кассир Кассир Уполномоченный Уполномоченное! Уполномоченный Уполномоченный Упопномочекный уполномоченный Уполномоченный УПОПНОМОЧ-1МЫЙ Уполномоченный Уполномоченный УПОЛНОМО" ЮННЫЙ Уполномоченный Уполномоченный Уполномоченный УПОПНОМОЧ-ННЫЙ | Е | Отделение Центральное Западное Северное Западное Северное Северное Центральное Центральное Центральное Центрально* Западное Западное Северно* Центральное западное центрельное Центрально* Центральное Центральное Северное Северное Западное Северно* Центральное -Inixi г от Клиент Существующий _ Существующий Существующий 'Существующий Существующий НсеыЙ ; Существующий Существующий Существующий ; Существующий IHoebiii [Существующий "существующей Существующий существующий Существующий Существующий [новый ^Существующий ! Существующий [новый Новый НО*ЫЙ Рис. 21.1. Эта база данных будет использована для создания сводной таблицы Эту рабочую книгу можно найти на прилагаемом компакт-диске. Это пример базы данных, содержащей ежедневно обновляемую информацию по счетам трех отделений банка. База данных состоит из 350 записей и позволяет отслеживать определенную информацию. ■ Дата открытия каждого счета. ■ Сумма каждого счета. ■ Тип счета (депозит, текущий, срочный или на предъявителя). ■ Сведения о том, кем был открыт счет (кассиром или уполномоченным по новым счетам). ■ Отделение, в котором был открыт счет. ■ Сведения о клиенте (новый или существующий). В описываемой базе данных содержится довольно много информации, но вся она не систематизирована. Чтобы информация была действительно полезной, ее надо обобщить. Подведение итогов — процесс, состоящий в основном из поиска ответов на интересующие служащих банка вопросы, скрытые в имеющихся данных. Ниже перечислен ряд вопросов, которые могут интересовать правление банка. 430 Часть /V. Анализ данных
■ Какова общая сумма вкладов в каждом отделении и по каждому типу счетов? ■ Сколько счетов было открыто в каждом отделении и по каждому типу счетов? ■ Как распределена сумма по разным типам счетов? ■ Какие типы счетов чаще всего открывают кассиры? ■ Как работает центральное отделение по сравнению с двумя другими? ■ В каком отделении открыто наибольшее количество счетов для новых клиентов? Сводную таблицу можно использовать для поиска ответов на подобные вопросы. Это займет всего несколько секунд, причем не потребуется вводить ни одной формулы. На рис. 21.2 изображена сводная таблица, созданная на основе базы данных. Здесь показана сумма вкладов по каждому отделению и типу счетов. Это лишь одна из многих итоговых таблиц, которые можно создать на основе этих данных. ызтз^яшшвшшя^яяшяяяшш А t? 1 2 3 Сумма по оояюСчет 4 |Т»П - б Депопп S j на предъявители 1 7 Прочный I ё пущий | в Эбщий итог Ownw^j D Е Западной Северное Центральное 332962 830139 22О00 134374 164000 152607 90697 9222S 699669 1209345 1 |* « > м\Лип1 .СмтСрь/ \ 960439 63380 332349 217209 1463375 Общий итог 2013539 219764 638956 400030 3272279 •I -IPlxl f 3 I J I '1П Рис. 21.2. Простая сводная таблица На рис. 21.3 изображена другая сводная таблица, созданная на основе тех же данных. Эта таблица использует область страницы для элемента Клиент. В этом случае сводная таблица отображает данные только для существующих пользователей (значение Существующий в поле Клиент). Обратите внимание, что изменена ориентация таблицы (значения из поля Отделение показаны в строке, а из поля Тип — в столбце). А В С D 1 КЛИЕНТ }cyU4*CT*yK>Ui>tJ *J г 3 С<ммя по поло Счет Отделение <*- 3 медное Северное Центральное Общий итог Т-, ,| Депозит На предьявителя Срочный 261626 22000 677638 126374 724289 63360 1663463 210764 Ё Текущий 153500 113000 261749 528249 83178 72165 17О980 326313 •-гЧ Общий итог 620203 189168 1220398 2728769 - JWrl/r„^./ Рис. 21.3. Сводная таблица, которая использует поле страницы Отбор данных для сводных таблиц Прежде чем углубиться в процесс построения сводных таблиц, важно разобраться с данными, которые подходят для этих таблиц. Данные, по которым подводятся итоги, должны быть представлены в виде базы данных. База данных может находиться на рабочем листе (такую базу данных называют табличной или списком) либо в файле внешней базы данных. Глава 21. Анализ данных с помощью сводных таблиц 431
Хотя Excel может преобразовать любую базу данных в сводную таблицу, подобная операция будет иметь смысл не для любой базы данных. Поля в табличных базах данных (списках) могут относиться к одному из двух типов. ■ Данные. В полях этого типа содержатся значения (на рис. 21.1 это поле Счет, в котором содержатся суммы по каждому счету). ■ Категория. Поля этого типа описывают данные (на рис. 21.1 это поля Дата, Тип, Открыл и Клиент, которые описывают данные поля Счет). Простая табличная база данных может иметь любое количество полей данных и любое количество полей категорий. При создании сводной таблицы обычно необходимо подвести итог по одному или нескольким полям данных. Что касается значений в полях категорий, то они появляются в сводной таблице в виде полей строк, столбцов или страниц. Однако можно создать полезные сводные таблицы даже для баз данных, не содержащих числовых полей данных. Например, можно создать сводную таблицу, которая будет считать количество полей, а не суммировать их значения. (Не забывайте, что, помимо суммирования, в сводных таблицах можно использовать и другие функции подведения итогов.) Например, на рис. 21.4 в столбцах А:С представлена база данных, не содержащая числовых данных. Тем не менее и для нее можно создать полезную и удобную сводную таблицу. С помощью этой таблицы можно узнать распределение служащих по полу и по месяцу рождения. A BCD 1 Сотрудник Месяц рождения Пол 2 : Сидорова март ;ж 3 алоеников Август м * Чалеико Сентябрь !Ж 5 -'рафочуя Январь М 6 грозный Март ;М ? голубой Декабрь =М 8 ; олеснмков :Июмь !М S лрнольдова Сентябрь ;Ж Ю олубко» Май |М Н барабупл ноябрь Ж 12 <*ыбак Апрель М 13 ' рафченко Январь !Ж 14 "акркмурм Февраль ;Ж 15 lOHopoB йопь М 16 еовги-м Октябрь -Ж ЬЫ Меньшова март |Ж 1в галумов Август М 19 ;Дактемко Сентябрь |Ж 20 лдяьсй Январь М 21 1вишенков Сентябрь ;М Е F G н Количество полою Сотрьдадас "*сяц: гкдачм » Январь Февраль Март Апрель мей Июнь Июль Август Сентябрь Октябрь ноябрь Декабрь Общий итог г**., Ж :М г.... , 0 Э 1 3 Г ! 0 3 6 Э 2 0 4 1 0: 2 21 29 Общий итог 9 б 4 3 4 г э э в 2 б 2 60 BffffJ • щ " .1 Рис. 21.4. Сводная таблица была создана для базы данных, не содержащей числовых полей Hainan- Эту рабочую книгу можно найти на прилагаемом компакт-диске. Терминология сводных таблиц Если вы раньше не были знакомы с Excel, то термин "сводная таблица" может вас немного смутить. При работе со сводными таблицами важно знать соответствующие термины, список которых приведен ниже. На рисунке представлены основные элементы сводной таблицы. 432 Часть IV. Анализ данных
♦ Группа. Набор элементов, которые обрабатываются как один элемент. Элементы можно объединить в группу вручную или автоматически (например, объединить даты в группу конкретного месяца). Сводная таблица на рисунке не содержит групп. ♦ Исходные данные. Данные, которые используются для создания сводной таблицы. Они могут содержаться в рабочем листе или во внешней базе данных. ♦ Область данных. Ячейки сводной таблицы, в которых содержатся итоговые данные. Над значениями полей, помещенных в эту область, выполняются сводные (обобщающие, консолидирующие, итоговые и т.д.) вычисления, например суммирование, вычисление среднего, поиск максимального и минимального значений и т.п. На рисунке область данных содержится в диапазоне С5:Е20. ♦ Область столбцов. Элементы поля, назначенного этой области, размещаются вдоль верхнего края сводной таблицы в качестве заголовков столбцов. На рисунке в качестве области столбцов используется поле Клиент, которое состоит из двух элементов — Существующий и Новый. Область столбца может быть иерархической (т.е. иметь вложенные подобласти). ♦ Область страниц. Область в сводной таблице, имеющая значение "страниц", которые можно листать. Эта область как бы добавляет третье измерение в сводную таблицу. Поле, назначенное этой области, создает раскрывающееся меню, которое располагается над таблицей и позволяет выбирать любые значения этого поля. На рисунке в качестве этой области используется поле Открыл. ♦ Область строк. Значения поля, присвоенного этой области, размещаются вдоль левого края сводной таблицы в качестве заголовков строк. Поля этой области могут быть вложенными. На рисунке эта область содержит поля Отделение и Тип. ♦ Обновление сводной таблицы. Вычисление сводной таблицы, после того как были внесены изменения в исходные данные. ♦ Общие итоги. Строка (или столбец), в которой показаны общие итоги для всех ячеек строки (или столбца) сводной таблицы. Всегда можно либо задать способ подведения общих итогов — для строк, для столбцов, для тех и для других, либо вообще ничего не подытоживать. В сводной таблице на рисунке подводятся общие итоги как для строк, так и для столбцов. ♦ Промежуточные итоги. Строка (или столбец), в которой отображаются промежуточные итоги для отдельной строки (или столбца) сводной таблицы. На рисунке промежуточные итоги приводятся для каждого отделения. Глава 21. Анализ данных с помощью сводных таблиц 433
Элемент. Элемент поля, назначенного определенной области. Элементы выполняют роль заголовков строк и/или столбцов сводной таблицы. На рисунке ячейки с текстом Новый и Старый являются элементами поля Клиент. Поле Отделение содержит три элемента: Западное, Северное и Центральное. К полю Тип Относится четыре элемента: Депозит, На предъявителя, Срочный и Текущий. Создание сводных таблиц В этом разделе описываются этапы создания сводной таблицы с помощью средства Мастер сводных таблиц и диаграмм. Чтобы получить доступ к этому средству, выберите команду ДанныеОСводная таблица. in \-~ Приведенная в этом разделе информация справедлива для Microsoft Excel верна заметку сии 2000 или более поздней. В более ранних версиях процесс создания сводной диаграммы был несколько иным. / Определение местонахождения данных Если выбрать команду Данные^Сводная таблица, появится первое из трех диалоговых окон мастера сводных таблиц и диаграмм (рис. 21.5). £ЯГ ?|х| С »о &ыянеч источмисе ****** С ш другие саодж^аблиданяисьодний Вкд создаваемого отчет*. (*" (родная таблица С сведьдалмгрдаиаСса оюдмой таблицей) (jtrroeo Pwc. 21.5. Первое из трех диалоговых окон мастера сводных таблиц и диаграмм На этом этапе определяется источник данных. Возможные источники описаны во врезке "Источники данных для сводных таблиц". В нашем примере сводная таблица создается на основе базы данных, которая расположена на рабочем листе. ^^^^ При работе с мастером сводных таблиц и диаграмм вид диалоговых окон масте- На заметку Ра может отличаться в зависимости от местоположения исходных данных. В этом разделе предполагается, что исходные данные находятся или в рабочем листе Excel, или во внешней базе данных. / 434 Часть IV. Анализ данных
Источники данных для сводных таблиц Для создания сводных таблиц подходят данные из различных источников. К ним можно отнести базы данных или списки Excel, внешние по отношению к Excel источники данных, диапазон, содержащий несколько таблиц, другие сводные таблицы. Описание этих источников данных приведено ниже. Данные в списке или базе данных Excel Чаще всего анализируемые данные хранятся в базе данных рабочего листа, который называется списком. База данных, хранящаяся в рабочем листе, не может иметь больше 65 535 записей и 256 полей. Однако работа с базой данных такого размера неэффективна, к тому же для ее хранения может не хватить оперативной памяти компьютера. В первой строке базы данных должны содержаться названия полей. Кроме этого, никаких дополнительных требований нет. Данные могут состоять из чисел, текста или формул. Данные во внешнем источнике данных Если для создания сводной таблицы используется внешняя база данных, то данные вводятся в рабочий лист с помощью приложения Microsoft Query, входящего в поставку Microsoft Office. Можно использовать файлы dBASE, данные SQL-сервера или другие источники. Выбор источника данных осуществляется на втором шаге работы мастера сводных таблиц и диаграмм. Начиная с Excel 2000, в качестве источника данных можно использовать кубы OLAP. Данные в диапазонах консолидации Сводные таблицы можно также создавать на основе информации, находящейся в нескольких таблицах. Тогда создание сводной таблицы эквивалентно объединению информации из этих таблиц. В подобном случае преимущество сводных таблиц перед методами консолидации заключается в том, что можно работать с объединенными данными, используя все средства и возможности сводных таблиц. Данные в другой сводной таблице или сводной диаграмме Программа Excel позволяет создавать новую сводную таблицу из уже существующей. На самом деле это не совсем верно. Сводная таблица, которая создается, помогает анализировать исходные данные, использованные для построения первой таблицы (а не данные самой сводной таблицы). Если активная рабочая книга не имеет никаких сводных таблиц, эта возможность недоступна. Если требуется создать несколько сводных таблиц на основе одних и тех же исходных данных, то эта возможность позволяет сэкономить используемую память. Определение данных Чтобы перейти к следующему этапу работы мастера сводных таблиц и диаграмм, щелкните на кнопке Далее. На втором шаге мастер выдаст запрос об источнике исходных данных. Вид диалогового окна будет зависеть от выбора, сделанного в первом окне. На рис. 21.6 показано диалоговое окно, появляющееся в случае, если на первом этапе в качестве источника данных был выбран список на рабочем листе Excel. Укмкг* диапазон, содержащий исходные донные. диапазон: |-читя6(»1«А»1:*Цэб1 \J - Огнен» | сназад |L44je>T| jrjxl Сотово [ Рис. 21.6. Ha втором этапе работы мастера сводных таблиц и диаграмм нужно определить диапазон данных Если при выполнении команды Данные^Сводная таблица табличный курсор находился на одном из элементов списка, то Excel автоматически определит диапазон ячеек базы данных для создания сводных таблиц. Глава 21. Анализ данных с помощью сводных таблиц 435
Чтобы открыть другой рабочий лист и выбрать диапазон ячеек, щелкните на кнопке Обзор. Чтобы перейти к третьему этапу, щелкните на кнопке Далее. Если диапазону исходных данных было присвоено имя База_Данных, то с помо- Совет щью формы ввода можно добавлять новые записи в этот диапазон. Excel будет автоматически расширять поименованный диапазон так, чтобы он включал все .Л новые записи. Кроме того, сводную таблицу можно создать на основе списка (для обозначения которого выберите команду Данные^Список^Создать список). В результате сводная таблица будет связана со списком. Поэтому сводная таблица будет обновляться, если в список будут внесены какие-либо изменения (например, если будут добавлены, изменены или удалены некоторые записи). ^^^^ Если в текущей рабочей книге уже есть сводные таблицы, созданные на основе На заметку тех же источников данных, то после щелчка на кнопке Далее во втором окне мастера сводных таблиц откроется дополнительное окно. В этом окне будет предложено создать сводную таблицу на основе уже существующей. Щелкните на кнопке Нет, если хотите создать новую "независимую" сводную таблицу. Завершение построения сводной таблицы Последнее диалоговое окно средства Мастер сводных таблиц и диаграмм показано на рис. 21.7. Здесь необходимо указать местоположение создаваемой сводной таблицы. Мастер сводных та«п#ц к дмвгвлнм- « Jjx| Понвстть табпицг вг С существующий *мст I 53 Для создания глблкаы маижтто кнопку ТотакЛ Оаранупзм... J Отужд | <Ь»ад J Сотшо Рис. 21.7. На третьем этапе указывается местоположение сводной таблицы Если был выбран переключатель новый лист, то Excel вставит новый рабочий лист для сводной таблицы в текущую рабочую книгу. Если выбран переключатель существующий лист, то сводная таблица появится на текущем рабочем листе (можно указать ее положение на листе). На последнем этапе можно установить опции новой сводной таблицы, щелкнув на кнопке Параметры. (Эти опции описаны во врезке "Параметры сводной таблицы".) Помните, что изменить эти параметры можно в любое время после создания сводной таблицы. Поэтому устанавливать их непосредственно из диалогового окна мастера необязательно. Макет сводной таблицы можно создать двумя способами. ■ Щелкните на кнопке Макет, которая расположена в последнем диалоговом окне мастера сводных таблиц и диаграмм. На экране появится новое диалоговое окно для создания макета сводной таблицы. ■ Щелкните на кнопке Готово, чтобы создать пустую сводную таблицу. Затем создайте макет сводной таблицы с помощью панели инструментов Список полей сводной таблицы. Обе возможности описаны в следующих разделах. 436 Часть /V. Анализ данных
Создание макета сводной таблицы с помощью мастера Щелкните на кнопке Макет в последнем диалоговом окне мастера сводных таблиц и диаграмм. Откроется диалоговое окно Мастер сводных таблиц и диаграмм - макет (рис. 21.8). В этом окне поля базы данных представлены в виде кнопок, которые расположены в правой части диалогового окна. Вам нужно просто перетащить кнопки в соответствующие области макета сводной таблицы. Рис. 21.8. Определение макета сводной таблицы Макет сводной таблицы состоит из четырех областей. ■ Страница. Значения поля, помещенного в эту область, используются в качестве заголовков страниц в сводной таблице. ■ Строка. Значения поля, помещенного в эту область, используются в качестве заголовков строк в сводной таблице. ■ Данные. Поле, для которого подводятся итоги в сводной таблице. ■ Столбец. Значения поля, помещенного в эту область, используются в качестве заголовков столбцов в сводной таблице. В каждую из этих областей можно перетащить любое количество полей. Все поля использовать не обязательно. Неиспользованные поля не будут присутствовать в сводной таблице. При перетаскивании кнопки поля в область данных мастер сводных таблиц по умолчанию применит функцию СУММ, если поле содержит числовые значения, и функцию СЧЁТ, если поле содержит нечисловые значения. На этом шаге для настройки отображения какого-либо поля дважды щелкните на нем. Появится диалоговое окно, в котором можно указать для конкретного поля функцию подведения итогов — подсчет количества значений или какую-либо другую. Можно также определить, какие элементы поля не показывать или пропустить. Если вы какое-то поле решили использовать в другой области, просто перетащите его кнопку на новое место. Если же нужно удалить поле из сводной таблицы, перетащите его за пределы макета. Однако эти настройки можно изменять и после создания сводной таблицы. На рис. 21.9 показан внешний вид макета после того, как в нем были размещены некоторые кнопки полей. Эта сводная таблица будет отображать сумму по полю Счет, причем значения будут упорядочены по строкам по полю Тип и по столбцам по полю Клиент. Кроме того, поле Отделение будет отображаться в области страниц. Чтобы вернуться к диалоговому окну мастера сводных таблиц и диаграмм, щелкните на кнопке ОК. Глава 21. Анализ данных с помощью сводных таблиц 437
Ы*С**рео*и*ь1Х*л6п*ап дввговми- НЬХ.Ъ-1 х| Зц-F сз Перетопите кнопки попей в нужные области диаграияы Этд-жЛ Тип Схрока Кл-Wht (Столбец Данные ;От*рьш] Справка j j(J OK_ Рис. 21.9. Настроенный макет сводной таблицы Создание макета сводной таблицы с помощью панели инструментов Можно создать макет сводной таблицы непосредственно в рабочем листе, используя для этого панель инструментов Список полей сводной таблицы. Этот способ очень похож на описанный выше, так как и здесь для создания макета необходимо просто поместить нужные поля базы данных в соответствующие области сводной таблицы. Но в последнем случае поля базы данных перетаскиваются из панели инструментов. ^^^* Этот способ создания макета сводной таблицы появился только в Excel 2000. На заметку Также отметим, что в Excel 2000 не было панели инструментов Список полей сводной таблицы. Вместо этого кнопки полей размещались на панели инструментов Сводные таблицы. / Выполните два первых шага мастера сводных таблиц и диаграмм. Если хотите, в третьем диалоговом окне мастера установите параметры сводной таблицы (для этого щелкните на ЮЗ А В С D E F О 1 «■ ид 1* ' ,*._! -< 15 ; ■£ 1? иг X WU . : ■ Перетащит© сюда «пометы данных 1 | Сво Ч * » -\*К* oa..T«s™u«- Д1Л -2*1 : iviT °i|-3| iX"~T?/<4"<4 / °ис. 21.10. Шаблон сводной таблицы на рабочее н [ 1 4 к >ш6»:пол«в сводней гвблицы w X ЛегвТешкге элементы в сводную твбдгвд 3*и™ дткп t-j Открыл ! pjОтделен» дКлиеит f Поместить* j Область строк | - И 1 листе .«inl* 1 ~ •я ] 43.9 Часть /У. Анализ данных
кнопке Параметры). Но не трогайте в этом окне кнопку Макет (или выйдите из диалогового окна Мастер сводных таблиц и диаграмм — макет, щелкнув на кнопке Отмена). Укажите в третьем окне мастера местоположение сводной таблицы и щелкните на кнопке Готово. Excel отобразит в рабочем листе шаблон сводной таблицы (рис. 21.10). Перетащите кнопки полей из окна Список полей сводной таблицы в нужную область макета таблицы. Как только какое-либо поле будет помещено в область данных, Excel перейдет от представления шаблона к представлению сводной таблицы, хотя вы можете и дальше перемещать отдельные поля с панели инструментов в нужные области сводной таблицы. Поэтому имеет смысл помещать поля в область данных в самую последнюю очередь, когда заполнены все остальные области сводной таблицы. Если вы сделали ошибку и поместили какое-либо поле не в ту область сводной таблицы, которую запланировали, просто перетащите это поле в нужную область или за пределы шаблона. Все поля базы данных остаются на панели инструментов Список полей сводной таблицы, даже если они уже используются в сводной таблице. Просмотр результата На рис. 21.11 показана законченная сводная таблица. Обратите внимание, что область страниц отображается как раскрывающийся список. Чтобы отобразить какой-либо элемент этой области, выберите его из раскрывающегося списка. Кроме того, можно выбрать элемент Все, после чего на экране отобразится все содержимое сводной таблицы. Рис. 21.11. Законченная сводная таблица Параметры сводной таблицы Программа Excel предоставляет доступ к множеству параметров, которые позволяют настроить внешний вид и поведение сводной таблицы. Доступ к диалоговому окну Параметры сводной таблицы можно получить, если щелкнуть в третьем диалоговом окне мастера сводных таблиц и диаграмм на кнопке Параметры. Кроме того, установить параметры сводной таблицы можно и после ее создания. Для этого щелкните правой кнопкой мыши на любой ячейке сводной таблицы и выберите из контекстного меню команду Параметры таблицы. Представленное на рисунке диалоговое окно содержит ряд опций. ♦ Имя. В этом поле задается название сводной таблицы. Excel по умолчанию называет их СводнаяТаблица1. СводнаяТаблица2 и т.д. ♦ Общая сумма по столбцам. Установите этот флажок, если необходимо подвести общие итоги по столбцам. ♦ Общая сумма по строкам. Установите этот флажок, если необходимо подвести общие итоги по строкам. Глава 21. Анализ данных с помощью сводных таблиц 439
W общая су»»м no скнфа» P абмл*су**»1» строки Р ввтофорнзт Г «»ПйУ*йтЬМрьгг** значен* Г" Ш£РО<АТЬфф(«Т}ДОМ>#>е Р not терять подлил ныеаяиу*»! станице ?*чвТг1 анкет сг[*м«ы |мв, мтем Э*« попей в стоя&и- Г" дяяовг^бокатсбрв««гп»' 1° 1 4 Р для рустде ячвдас отображал. Г" Данные иг»очннс р сохранить лэтные виествс тоблщей Г" Р7 раэе$вртымиив рвареояно Г* . г F 3 • 3. ♦ Автоформат. Если необходимо применить средство автоматического форматирования Excel, установите этот флажок. Excel будет использовать автоматическое форматирование, даже если вы измените макет таблицы. ♦ Включать скрытые значения. Установите этот флажок, если необходимо включать скрытые элементы поля страницы в промежуточные итоги. ♦ Объединять ячейки заголовков. Установите этот флажок, если необходимо объединить ячейки для внешних заголовков строк и столбцов. В результате таблицу будет легче читать. ♦ Сохранять форматирование. Установите этот флажок, если необходимо сохранять заданное форматирование при изменении сводной таблицы. ♦ Повторять подписи на каждой странице печати. Установите этот флажок, если необходимо, чтобы заголовки строк печатались на каждой странице отчета сводной таблицы. ♦ Макет страницы. С помощью этой опции можно указать порядок следования полей страниц. ♦ Число полей в столбце. С помощью этой опции можно указать количество выводимых полей страницы в строке или столбце перед выводом следующей строки или столбца. ♦ Для ошибок отображать. Можно указать значение, которое будет выводиться в ячейках сводной таблицы при возникновении ошибки. ♦ Для пустых ячеек отображать. Можно указать значение, которое будет выводиться в пустых ячейках. ♦ Печать заголовков. Установите этот флажок, если необходимо на каждой странице отчета сводной таблицы распечатывать заголовки столбцов. ♦ Помечать итоги *. Позволяет помечать итоговые значения звездочкой (*), тем самым выделяя их. ♦ Сохранить данные вместе с таблицей. Если эта опция активизирована, то Excel сохраняет дополнительную копию данных, которая называется "кэш сводной таблицы", вместе с рабочей книгой. Это позволяет гораздо быстрее пересчитывать сводную таблицу при ее изменении. Если на вашем компьютере не хватает оперативной памяти, снимите флажок этой опции, но тогда обновление будет происходить немного медленнее. Развертывание разрешено. Если данная опция активизирована, то после двойного щелчка на ячейке сводной таблицы выводятся дополнительные сведения для этой ячейки. Обновить при открытии. Если эта опция активизирована, то после открытия книги сводная таблица будет обновлена автоматически. Обновлять каждые мин. Если сводная таблица создается на основе данных из внешней базы данных, то здесь можно указать, через сколько минут периодически будут обновляться данные в сводной таблице. 440 Часть /V. Анализ данных
♦ Сохранить пароль. При использовании внешней базы данных, которая требует пароля, эта опция позволяет сохранить пароль как часть запроса, после чего не требуется его ввод. ♦ Фоновый запрос. Если эта опция активизирована, то запрос к внешней базе данных будет выполняться в фоновом режиме, и вы сможете не прерывать работу в Excel. ♦ Оптимизировать память. С помощью этой опции можно уменьшить общее количество памяти, которая используется при обновлении запроса к внешней базе данных. Работа со сводными таблицами Созданная сводная таблица не является статическим объектом. Ее можно изменять и настраивать, пока она не будет выглядеть так, как нужно. В этом разделе описываются изменения, которые можно вносить в сводную таблицу. При работе со сводными таблицами очень полезна панель инструментов Сводные таблицы; она появляется автоматически при активизации рабочего листа, содержащего сводную таблицу. Если панель инструментов Сводные таблицы не появилась автоматически, при- Совет мените команду Вид1* Панели инструментов^Сводные таблицы. Изменение структуры сводной таблицы Обратите внимание на то, что сводная таблица, отображаемая в рабочем листе, имеет кнопки полей. Любую из них можно перетащить в другое место сводной таблицы. Например, можно перетащить поле из области столбца в область строки. Excel немедленно изменит сводную таблицу, реагируя на внесенные изменения. Перетаскивая кнопки, можно также изменить порядок полей в областях строк и столбцов. Это действие повлияет на порядок вложения полей и может существенно изменить внешний вид таблицы. Сводная таблица является специальным типом диапазона, и, кроме описанных операций, в нее нельзя вносить изменения. Например, нельзя вставлять или удалять строки, редактировать содержимое отдельных ячеек или перемещать сами ячейки. Если вы попытаетесь это сделать, Excel выдаст соответствующее предупреждение. Удаление поля Чтобы удалить поле из сводной таблицы, просто щелкните на кнопке поля и перетащите его за пределы таблицы. Отпустите кнопку мыши, и выбранное поле будет исключено из таблицы. Добавление нового поля Если вам необходимо добавить новое поле в сводную таблицу, выберите кнопку этого поля из окна Список полей сводной таблицы и перетащите ее в нужную область сводной таблицы. Excel изменит сводную таблицу в соответствии с новым полем. Для вставки нового поля можно также использовать мастер сводных таблиц и диаграмм. Выберите команду Данные^Сводная таблица. На экране появится третье диалоговое окно средства Мастер сводных таблиц и диаграмм. Щелкните на кнопке Макет и внесите изменение в макет сводной таблицы. Глава 21. Анализ данных с помощью сводных таблиц 441
Обновление сводной таблицы Сводные таблицы не содержат формул. Вместо этого Excel заново пересчитывает всю сводную таблицу каждый раз, когда в нее вносятся какие-либо изменения. Если исходная база данных большая, то обновление сводной таблицы может занять много времени. Если же база данных невелика, все изменения происходят почти мгновенно. Иногда требуется изменить исходные данные. Если вы это сделали, то сводная таблица не изменится автоматически — ее необходимо обновить вручную. Для обновления сводной таблицы можно использовать один из перечисленных ниже методов. ■ Выберите команду ДанныеООбновить данные. ■ Щелкните правой кнопкой мыши на любой ячейке сводной таблицы и выберите из появившегося контекстного меню команду Обновить данные. ■ Щелкните на кнопке Обновить данные, которая расположена на панели инструментов Сводные таблицы. Настройка параметров полей сводной таблицы Для полей сводной таблицы предусмотрено несколько опций. Чтобы получить к ним доступ, дважды щелкните на кнопке поля или воспользуйтесь командой Параметры поля контекстного меню кнопки поля. На экране появится диалоговое окно Вычисление поля сводной таблицы (рис. 21.12). Иехедиоеголе: Счет ${яя: | Сумм по полю Счет ! количество (Среднее ■Произведение | Количество чисел А * л! 1 .. с . ". J Отмене | Хядопь J Фор***,.. | ДрЯоямитейьнО >» | Рис. 21.12. Это диалоговое окно появляется после двойного щелчка на кнопке поля сводной таблицы Ниже приведено краткое описание опций этого диалогового окна. ■ Имя. Изменяет название, отображаемое на кнопке поля. Это название можно также изменить, если непосредственно отредактировать содержимое ячейки, содержащей кнопку поля. ■ Итоги. Позволяет изменять тип вычисляемых промежуточных итогов. Промежуточные итоги имеет смысл подводить только в том случае, если в областях строк или столбцов сводной таблицы находится несколько полей. Чтобы исключить промежуточные итоги, выберите переключатель Нет. ■ Отображать пустые элементы. Установите этот флажок, если хотите, чтобы в сводной таблице отображались элементы полей, не содержащие данных. ■ Макет. После щелчка на этой кнопке открывается окно Расположение полей сводной таблицы, позволяющее настроить вид сводной таблицы (в виде таблицы или в виде структуры). Программа Excel имеет несколько дополнительных опций настройки полей, которые можно увидеть, щелкнув на кнопке Дополнительно в диалоговом окне Вычисление поля сводной таблицы. Эти опции позволяют указать порядок сортировки элементов поля и количество выводимых элементов (например, первые десять). 442 Часть IV. Анализ данных
Форматирование сводной таблицы При создании сводной таблицы по умолчанию используется автоматическое форматирование (чтобы изменить эту установку, необходимо в диалоговом окне Параметры сводной таблицы снять флажок Автоформат). Когда сводная таблица создана, всегда можно применить другой тип автоформатирования. Поместите табличный курсор непосредственно на сводную таблицу и щелкните на кнопке Формат отчета панели инструментов Сводные таблицы. Excel отобразит диалоговое окно Автоформат. Выберите нужный автоформат и щелкните на кнопке ОК. Если необходимо использовать другой формат представления чисел, выполните ряд действий. 1. Выделите любую ячейку, содержащую число, в области данных сводной таблицы. 2. Щелкните правой кнопкой мыши и из появившегося контекстного меню выберите команду Параметры поля. На экране появится диалоговое окно Вычисление поля сводной таблицы. 3. Щелкните на кнопке Формат. 4. Выберите необходимый формат представления чисел. Если необходимо сохранить форматирование, которое вы применяли к отдельным Совет ячейкам, проверьте, установлена ли опция Сохранять форматирование в диа- логовом окне Параметры сводной таблицы. Если флажок этой опции не установлен, при обновлении сводной таблицы Excel будет использовать формат, задаваемый по умолчанию. Группировка элементов сводной таблицы В Excel предусмотрено удобное средство, которое позволяет группировать определенные элементы поля. Чтобы создать группу, выделите ячейки, которые будут сгруппированы. Затем выберите команду ДанныеоГруппа и структура^Группировать. Если одно из полей вашей базы данных состоит из дат, то для каждой даты в сводной таблице будет отведена отдельная строка или столбец. Иногда полезно объединить даты в месяцы или кварталы, а затем убрать с экрана слишком детальное их представление. К счастью, в Excel это делается очень просто. На рис. 21.13 показана простая табличная база данных, которая состоит из двух полей: Дата и Продажи. Эта таблица состоит из 370 записей и содержит даты в диапазоне от 1 июня 2001 года до 31 октября 2002 года. На основе этой таблицы необходимо составить отчет, в котором данные будут представлены по месяцам. j^k Эту рабочую книгу можно найти на прилагаемом компакт-диске. На компап- диске чг На рис. 21.14 изображен фрагмент сводной таблицы, созданной на основе данных, представленных на рис. 21.13. Не удивительно, что она выглядит точно так же как и исходные данные, поскольку даты не были сгруппированы. Чтобы сгруппировать элементы по месяцам, щелкните правой кнопкой мыши на заголовке Дата и выберите команду Группа и структурам Группировать. На экране появится диалоговое окно, показанное на рис. 21.15. В списке С шагом выберите месяцы и годы, а также убедитесь, что начальная и конечная даты установлены правильно. Щелкните на кнопке ОК. После этого элементы сводной таблицы будут сгруппированы по годам и месяцам (рис. 21.16). Глава 21. Анализ данных с помощью сводных таблиц 443
|£tq- | редняя стоимость <&%>*/ПХ [«Продажи/ "Продано единиц" Оояя: [Продавец Добавить попа | Л « \ *J Добавить { Звфыть | Рис. 21.20. Диалоговое окно Вставка вычисляемого поля Созданное поле будет добавлено в область данных сводной таблицы. С этим полем можно обращаться точно так же, как и с любым другим, за одним исключением: его нельзя перемещать в области страницы, строки или столбца (оно должно размещаться в области данных). ^^ Формулу можно ввести либо вручную, либо дважды щелкнув на именах соответ- На заметку ствующих полей в списке Поля. Дважды щелкнув на элементе, вы его скопируете в поле Формула. Поскольку в названии поля Продано единиц имеется пробел, Excel автоматически взяла это название в одинарные кавычки. / -pYTf—"!—fT—fff"* .! А 1 P-r«Q- 3"! 4 Месяц-",, »■ i 5 Январь в 7 1>евраль в 9 Иарт 10 11 Апрель 12 13 Май 14 15 4юнь 17 иль 18 19 Август 20~ 21 Сентябрь 22 23 Эктябрь 24 25 Ноябрь 26 27 Декабрь "28 29 Итог Сумма по полю Прад 30 Итог Cvmus no полю Cpei и < • Я Л ст1 i «ни / ""tweieie в Денные - .. ▼ Сумма по полю Продать Сумма по полю Средняя стоимость Сумма по полю Продажи Сумма по г элю Средняя cTOfc-:^h Сумма по полю Продажи Сумма по полю Средняя стоимость Сумма по полю Продажи Сумма по тлю Средняя стоимость Сумма по полю Продажи Сумма по полю Средняя стоимость Сумма по полю Продажи Сумма по полю Средняя стоимость Сумма по полю Продажи Сумма по полю Средняя ст^.ксть Сумма по полю Продажи Сумма по полю Средняя стой xctl Сумма по полю Продажи Сумма по полю Средняя стоимость Сумма по полю Продажи Сумма по полю Средняя стоимость Сумма по полю Продажи Cyvwa по полю Средняя стоимость Сумма по полю Продажи Су V4a по полю Средняя стоимость ажи няя стоимость С (Тродаеец ▼( ШЛ Г1 сг с Анна Виталий Геннадий Николай 23040 96 р. 24131 305р 24S46 347р. 22047 311р. 24971 159р 24218 263р 25735 147р 23538 272р. 25749 46 р. 24437 257р. 25355 36р. 25899 144а 291368 117р 20024 194р 23822 89р. 24854 259р. 22838 ЗС9р 25320 110 р. 24733 151р. 21184 312р 23174 203р. 25999 310р. 22639 87 р. 23949 220 р. 23179 50р. 281715 138р 111 19886 209р. 23494 159Р 21824 263р 22058 230р 20280 45р. 23965 32р 23032 149р 21273 2йр 21584 189р 19625 236р. 19832 233Р 20583 116Р 257436 86р. 26264 285р 29953 35р 25041 291р 29338 132р 25150 104р 27371 288р 25044 305р 29506 2В6р 29061 199р 27113 226р 25953 320р 28670 145р 32R464 142Р С. Общий итог 89214 169р Ю14О0 75р 96365 287р 96281 208р 95721 88р №02е7 90р 94995 198р. 97591 91р 102393 114р 93814 168р 95089 98р 98331 96р 1161481 118С 1 -1П|Х[ г -Г jiD Рис. 21.21. Сводная таблица после добавления вычисляемого поля На рис. 21.21 показана сводная таблица после добавления вычисляемого поля. Новое поле отображается с именем Сумма по полю средняя стоимость. (Если необходимо, этот текст можно изменить. Для этого измените его в одной из ячеек, после чего он поменяется во всех остальных ячейках.) Новое вычисляемое поле также появится на панели инструментов Список полей сводной таблицы. 448 Часть IV. Анализ данных
Копирование сводной таблицы По существу, сводная таблица является специальным видом объекта, над которым нельзя выполнить казалось бы обычные действия. Например, в сводную таблицу нельзя добавлять новые строки или вводить формулы. Если же вам нужно выполнить какие-то операции со сводной таблицей, которые обычно недопустимы, создайте ее копию. Чтобы скопировать сводную таблицу, выделите ее и примените команду Правка^Копировать. Затем перейдите на новый рабочий лист и выберите ПравкаОСпециальная вставка. В появившемся диалоговом окне выберите значения и щелкните на кнопке ОК. Содержимое сводной таблицы будет скопировано на новое место. Теперь с этими данными можно делать все, что угодно. Кроме того, можно повторно воспользоваться командой Правка** Специальная вставка с установленным переключателем форматы, чтобы скопировать форматирование сводной таблицы. Этот метод также подходит, если нужно создать обычную (не сводную) диаграмму. Если вы попытаетесь создать диаграмму на основе сводной таблицы, Excel создаст сводную диаграмму, которая будет содержать кнопки полей. Обратите внимание: скопированные данные не связаны с исходными, а потому, если содержимое исходных данных изменится, это никак не повлияет на копию сводной таблицы. Просмотр деталей Каждая ячейка в области данных сводной таблицы представляет несколько записей исходной базы данных. Иногда нужно выяснить, из каких полей состоит суммарное значение. Для этого дважды щелкните на нужной ячейке области данных сводной таблицы. Excel создаст новый лист с теми записями, которые были использованы для получения информации в выбранной ячейке сводной таблицы. На рис. 21.17 показан пример такого списка. [••ТГГ^ЯЯИИИ .idixiI А В 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 Дата i : адчм 3108 2001 1027 30082001 62] 29.08 2001 707 28.08 2001 1264 27 08 2001 1256 24 08.2001 630 23 08 2001 1056 22.08.2001 1274 21.08 200Y 670 20.08 2001 948 17 08 2001 1210 16 08 2001 826 15.08.2001 595 14 08 2001 1062 13 08 2001 680 10.08 2001 1266 09 оагоо1 974 08.08 2001 1158 07.08 2001 1090 06.06 2001 942 03 08.2001 1019 23 02 08.2С01 807 24!0108 2С01 832 2S » ««\IWT2 дЛист!/ Е F —"1 ~| —' t -! lii 1 -SifT Рис. 21.17. Щелкнув дважды на ячейке в области данных, вы создадите новый лист со списком данных, на основании которых вычислено значение ячейки Глава 21. Анализ данных с помощью сводных таблиц 445
1 9 I »4 !5 16 17 16 19 20 21 22 23 А Лил . 0106 2001 04 06 2001 05 06 2001 06 062001 07.06 2001 08.06 2001 1106 2001 12.062001 13.06.2001 14.06.2001 15 06 2001 18 06 2001 19.06.2001 20 06 2001 21.06 2001 22.06 2001 25.06.2001 26.06.2001 27 06.2001 28 06.2001 29 06.2001 02 07 2001 в с 1344. 1 189! 1023! 998! 1384! 1 156; 1 185! 1256! 1030! 641! 1475; 792! 1200! 1 187 532 787; 1193: 1233 675 691 1448 959 ._1Я|х1 :: C7i _ 1 1 1- ,.....■ 1 я 1 .... ■ ■-Л А1П РТГ!?В52 -А ,. EL 3 Оптв по папй Продажи 4 S _6 т 8 В 11 12 13 14 15 16 ЯГ « 21 22 " ' Дет» 01.06 2001 04.06 2001 05.06 2X1 06 С6 2001 07 06 2001 08.06.2001 11.06.2001 12.06 2001 13 06 2001 14.06.2001 15.06 2001 18.06 2001 1906 2X1 20.06 2X1 21.06 2001 22.06 2001 25.06 2001 26.S6 2001 27.06 200» » «V Лист! ; Д»**.> / -lOlxl Б ; "Я Итог 1344 1189 1023 998 1384 1 156 1 185 1256 1030 641 1475 792 12Х 1 187 532 787 1 193 1233 675 _ jsL^, 1 АЯ Рис. 21.13. С помощью сводной таблицы можно сгруппировать данные по месяцам Рис. 21.14. Сводная таблица до группировки элементов Рис. 21.15. Диалоговое окно Группирование позволяет группировать элементы сводной таблицы А t 2 1 3 с-ммапонолю 5 2O01 ион , 22 419 иоп 7 е в » и п :Х2 t3' и 15 16 17 п « 20 21 авг сен ист ноя дек пне *>•• мер апр май ион иол авг сен о»ст 22 Ищи» итог 22313 21913 21 154 23 121 21 198 21 166 22 739 21842 23833 2159о 23 814 18 674 21375 22 366 21456 21911 372 880 23 24 25 26 27 *Ш\ Рис. 21.16. Сводная таблица после группировки по годам и месяцам На заметку Если в диалоговом окне Группирование выбрать, что группировать следует только по месяцам, то одинаковые месяцы разных лет также будут объединены Например, в этом случае элемент авг будет отображать сумму продаж за август 2001 и 2002 годов. 444 Часть /V. Анализ данных
iM'i'L'IML".!.!-'..!!-... 1 PeftOtf ^^^^^ 2 3 *:ум«апоголх5Пеед-*и 4 Месяц *- 5 Январь 1 в «врапь 1 7 "рг [_3 ^првпь Г*> Май Гад .-чонь [ ft i.lKMlW 1 12 август I 13' #нт«врь 1 "M ктмврь | 1$ кмбрь ■W ,)еябрь 17 Обилий итог ГЧШШЕви-П Анна Виталий Геннадий Ниюпай 23040 20034 24131 23822 24646 24854 22047 22833 24971 25320 24218 24733 2S735 21184 23638 23174 2574S 25В» 24437 22639 25355 23S49 258М> 23179 293866 281715 13 19 20 ч * * н л* rl , Дшит / 19886 23494 21824 22058 2О280 Z396S 23032 21273 21584 19625 19832 20563 257436 И 26264 29953 25041 29338 25150 27371 25044 29506 29061 27113 25953 28670 328464 Общий итог 89214 101400 В6365 96281 S5721 ЯЮ287 94995 ?7581 102393 93814 65066 96331 1161481 - - : а 7°£ —° --1—Ц 1 .1Г1 Рис. 21.19. Сводная таблица была создана на основе данных, представленных на рис. 21.18 На рис. 21.19 показана сводная таблица, которая была создана на основе описанных выше данных. В ней представлены объемы продаж каждого продавца, упорядоченные по месяцам. В следующих разделах подробно описаны такие примеры: ■ создание вычисляемого поля, которое будет содержать среднюю стоимость одной единицы товара; ■ создание вычисляемого элемента для подведения промежуточных итогов по кварталам. Создание вычисляемого поля в сводной таблице Поскольку сводная таблица является особым типом диапазона данных, в нее нельзя вставлять новые строки или столбцы. Это означает, что нельзя вставить в сводную таблицу формулы, которые будут выполнять операции над данными. Однако есть возможность создания новых вычисляемых полей для сводной таблицы. В вычисляемом поле выполняются вычисления, использующие значения из других полей. Как правило, для отображения новой информации в сводной таблице используются вычисляемые поля. Этот способ позволяет избежать создания нового поля данных в исходной базе данных. Вычисляемое поле не может находиться в областях строк, столбцов или страниц. Предположим, что в нашем примере необходимо вычислить среднюю стоимость одной единицы товара. Для этого необходимо разделить значение из поля Продажи на значение из поля Продано единиц. Результат будет храниться в новом (вычисляемом) поле сводной таблицы. Чтобы создать такое поле, выполните ряд действий. 1. Поместите курсор в область сводной таблицы. 2. На панели инструментов Сводные таблицы щелкните на кнопке Сводная таблица и в открывшемся меню выберите команду ФормулыОВычисляемое поле. Появится диалоговое окно Вставка вычисляемого поля. 3. Введите имя поля и определите формулу, как показано на рис. 21.20. В формуле можно использовать другие поля. В данном примере имя поля — Средняя стоимость, а формула имеет такой вид: =Продажи/'Продано единиц' 4. Щелкните на кнопке Добавить для добавления нового поля. 5. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно. Глава 21. Анализ данных с помощью сводных таблиц 447
На заметку Если двойной щелчок на ячейке не срабатывает, убедитесь, что флажок Развертывание разрешено в диалоговом окне Параметры сводной таблицы установлен (после щелчка правой кнопкой мыши на любой ячейке сводной таблицы выберите из контекстного меню команду Параметры таблицы). Вставка вычисляемого поля или вычисляемого элемента После того как была создана сводная таблица, для дальнейшего анализа данных можно воспользоваться двумя типами вычислений. ■ Вычисляемое поле. Новое поле создается на основе существующих полей сводной таблицы. Вычисляемое поле должно находиться в области данных сводной таблицы. (Нельзя создавать вычисляемые поля в областях страниц, строк или столбцов.) ■ Вычисляемый элемент. Вычисляемый элемент рассчитывается с использованием содержимого других элементов, которые находятся в том же поле сводной таблицы. Вычисляемый элемент может находиться в областях данных, строк или столбцов (и не может находиться в области страниц). Для создания вычисляемых полей или элементов нельзя использовать стандартные функции Excel. Другими словами, нельзя вводить формулы непосредственно в ячейки. Вместо этого формулы вводятся в специальном диалоговом окне и сохраняются вместе с данными сводной таблицы. Для примера в этом разделе используется табличная база данных, показанная на рис. 21.18. Она состоит из пяти полей и 48 записей. Каждая запись содержит информацию о ежемесячных объемах продаж по каждому продавцу. Например, Анна работает в северном регионе и в январе продала 239 единиц товара на общую сумму 23 040 рублей. А Продли л 2 Анна 3 'Агна А .Анна 5 ** . в ■■»1 7 Анна б Анна & "4hi Ю лнна 11'Лнчв 12 Анна 13 Анна 14 Виталий 15 ~ игалий ■И инталии 17 Зиталий «S Виталий 1$ 'Зиталий 20 Зиталий 21 Зиталий 22 Виталий 23 Виталий и * » ->.Д— в г«IH-H £ вер ^ м Северный Северный Северный Северный Северный Северный Северный Северный Северный Северный Северный Северный Северный Северный Северный Северный Северный Северный Северный Северный Северный »ШШШ CD E F 1 м...к ||г...... Пр.а.н. |дшя« АВТгСТ Апрель Декабрь Июль Июнь Май Март ноябрь Октябрь Сентябрь Февраль Январь Август Апрель Декабрь Июль Июнь Май Март ноябрь Октябрь Сентябрь 23 638р 221>47р 26 8»9р 26 735р 24 218р. 24 9Пр 24 646р 2S3SSP 24 437р. 26 74ВР 24 131р 23 040р 23 174Р 22вЗвр 23 17Рр: 21 IB4p 24 733р 25320р 24В54р 23 МОр 22 6ЭВр 259В9р 67 71 «О! 175: ю- 157 71 706! 851 557: 7»! 239) il4* 74! 465 ее: «4; 231! 99: Ю9! 260: 84; !<i „I0f*t О IT am -и Рис. 21.18. Исходная база данных Эту рабочую книгу можно найти на прилагаемом компакт-диске. На компакт иске 446 Часть IV. Анализ данных
В формулах можно использовать функции Excel, но эти функции не должны ссы- Совет латься на ячейки рабочего листа или поименованные диапазоны. -iS > Вставка в сводную таблицу вычисляемого элемента В предыдущем разделе описано, как создавать вычисляемые поля. Помимо того, с помощью Excel можно создать вычисляемый элемент для какого-либо поля сводной таблицы. Заметьте, что создание вычисляемых элементов позволяет избежать добавления новых полей в исходную базу данных. Но следует помнить, что вычисляемые элементы могут использовать значения только в одном поле. Сводная таблица, показанная на рис. 21.19, содержит текстовое поле с именем Месяц. В эту таблицу можно добавить вычисляемый элемент (назовем его, например, Кв1), который будет содержать сумму объемов продаж за три месяца: янв, фев, мар. Эти же значения можно получить, если сгруппировать значения по кварталам. Но в последнем случае объемы продаж за каждый месяц будут скрыты, а на экране будут только суммарные значения. Создание вычисляемого элемента для подведения квартальных итогов — более гибкая операция, поскольку можно отобразить как итоговые значения, так и объемы продаж за каждый месяц. Чтобы просуммировать данные в строках ЯНВ, фев и мар с помощью вычисляемого элемента, выполните ряд действий. 1. Установите табличный курсор в область сводной таблицы (строк, столбцов или страниц), над элементами которой будут проводиться вычисления. В нашем примере табличный курсор должен находиться в области строк в поле Месяц. 2. На панели инструментов Сводные таблицы щелкните на кнопке Сводная таблица и в открывшемся меню выберите команду Формулы^Вычисляемый объект. Появится диалоговое окно Вставка вычисляемого элемента. 3. Введите имя нового элемента в поле Имя, а также определите формулу в поле Формула (рис. 21.22). В формуле можно использовать элементы других полей, но нельзя вводить функции рабочего листа. В этом примере новый элемент назван Квартал 1, а вычисляется он по следующей формуле: =Январь+Февраль+Март 4. Щелкните на кнопке Добавить. | -»«грь+ M>pai»+ Март j,, ь I Рис. 21.22. Диалоговое окно Вставка вычисляемого элемента Глава 21. Анализ данных с помощью сводных таблиц 449
Внимание! 5. Повторите пп. 3 и 4, чтобы создать вычисляемые элементы Квартал2 (=Апрель + +Май+Июнь), КварталЗ (=Июль+Август+ Сентябрь) и Квартал4 (=Октябрь+ +Ноябрь+Декабрь). 6. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно. Если в сводной таблице вы используете вычисляемые элементы для какого-то поля, необходимо удалить строку, в которой подводятся общие итоги по этому полю. В противном случае в этой строке будет отображаться сумма всех исходных элементов поля и сумма вычисляемых элементов. Другими словами, итоговые значения будут неправильными, поскольку одни и те же элементы будут дважды суммироваться. Чтобы удалить строку общих итогов, воспользуйтесь диалоговым окном Параметры сводной таблицы (см. врезку "Параметры сводной таблицы" ранее в этой главе). Все созданные вычисляемые элементы будут автоматически добавлены в сводную таблицу. На рис. 21.23 показана сводная таблица после добавления четырех вычисляемых элементов. Заметьте, что новые элементы отобразились после элементов поля Месяц. Чтобы вставить вычисляемые поля между исходными элементами, просто перетащите их на новое место. На рис. 21.24 показано, как будет выглядеть сводная таблица после переноса вычисляемых элементов на соответствующие им места. Эти строки были также выделены полужирным шрифтом. >И**Г ОБ ; 1 Рагим J -IQlxl С.^-иапоЕлчпаП 1 ааш аре »' Меся., » Январь Февраль \Ларт Апрель май Июнь Июль LftBP/CT Сентябрь Октябрь Ноябрь [Декабрь Квартал! Квартал! КварталЗ квартагМ ■'нна 1 23040 24131 24646 2204J 24S71 24216 2573S 23638 25749 24437 25355 25898 71817 71236 75'.22 75591 Италии Геннадий Николай 20024 23822 24854 22838 25320 24733 21184 23174 25999 22639 23949 23179 66700 72891 70357 69767 19886 23494 21824 2205В 20280 23965 23032 21273 21584 19625 19832 20583 65204 66303 65889 6ОО40 26264 29953 25041 29338 25150 27371 25044 29506 29061 27113 25953 28670 В1258 В1859 В3611 81736 Об ийитог 89214 1014С0 96365 96281 95721 100287 94695 97591 102393 93814 95089 68331 286976 292289 294979 287234 •ifi Рис. 21.23. Использование вычисляемых элементов для подведения промежуточных итогов На заметку / Вычисляемые элементы появляются в сводной таблице, только если в ней имеется поле, на основе которого были вычислены новые элементы. Если вы удалите это поле и перенесете его из области строк или столбцов в область данных, вычисляемые элементы будут скрыты. В Excel есть другой способ подведения квартальных итогов — с помощью группировки элементов по кварталам. Поскольку названия месяцев в действительности не являются датами, группировку придется выполнять вручную. На рис. 21.25 показана сводная таблица после разбития на четыре группы. Для создания первой группы выделите элементы Январь, Февраль, Март. Затем щелкните правой кнопкой мыши и из контекстного меню выберите команду Группа и структураОГруппировать. Excel добавит группу и по умолчанию присвоит 450 Часть IV. Анализ данных
ей имя Группа 1, которое следует заменить на Квартал 1. Затем вновь щелкните правой кнопкой мыши на элементе Квартал1 и выберите команду Параметры поля. На экране появится диалоговое окно Вычисление поля сводной таблицы. В этом окне из списка выберите Сумма, чтобы подвести итог для выделенной группы. Повторите эти действия для оставшихся трех кварталов. I2S-SL 1 Ре(к;м ■ гвее'» Ч 2 '■ г>мма no nonjg QpiqwM Л |*С*4 -г ГЬЩшЩЦ yj н^в Анна Виталий Ген-ч ий Николай 5 -Ыварь 23040 б. Февраль 7 Март 8 Квлртлл1 S -прель Ю Дай 11 Июнь 12 Квартал? 13 Июль 14 Август 15 Сентябрь 16 КвлрталЗ 17 Октябрь 18 Ноябрь 19 .Декабрь ?0 КварталД 21 22 гз ** * * »'. А**»*» /ЛисП> П*гГ 24131 24646 71817 22047 24971 24218 71236 25735 23638 2574S 75122 2443/ 25355 25899 75691 !/ 20024 23822 24854 60700 22838 25320 24733 72891 21184 23174 25999 70357 22639 23949 23179 69767 19886 23494 21824 65204 2205В 20280 23965 66303 23032 21273 21584 (5889 19625 19832 20583 60040 1 26264 29953 25041 81258 29338 25150 27371 81859 25044 29506 29061 83611 27113 25953 28670 81736 I F 69214 101400 S6365 286979 66281 95721 100287 292289 94995 97591 102393 294979 93814 95089 98331 287234 .1alxl о н т _J jjr* Рис. 21.24. Сводная таблица после того, как элементы были упорядочены 1 3 '„ и*» по погш ГЪ.да-ад А У... : ,ЭП » 5 Квартал 1 7 8 (вартал1 Сумма J •> <вартап2 12 <вартал2 Сумма 13 'варталЗ 1 «**КввртвлЗ Сумма J7 Квартам 12С КвартапД Сумма втенобший итог """и -Л Январь Февраль Март Апрель Май Июнь ИЮЛЬ АВГУСТ Сентябрь Октябрь Ноябрь Даквбрь ПшпИ Анна Виталий Геннадий Николай 23040 24131 24646 71817 22047 24971 24218 71234 25735 23636 25749 75122 24437 2535! 25999 75691 293866 20024 23922 24654 68700 22838 25320 24733 72Р91 21164 г.-.'.- 25999 70357 22639 23949 23179 69767 281715 19886 23494 21824 65204 22058 20280 23965 66303 23032 21273 21664 66889 19625 19832 20663 60040 257436 26264 29953 25041 81253 29338 25150 27371 81859 25044 29506 29061 83611 27113 25953 28670 6'736 328464 . | 89214 101400 96365 286979 96261 95721 1002Е7 292289 94995 97591 102393 294979 93614 95099 98331 287234 1161481 : .131x1 - т\ >W«/IW4 J "W .IWll Рис. 21.25. Подведение квартальных итогов с помощью группировки Глава 21. Анализ данных с помощью сводных таблиц 451
ГЛАВА В этой главе.. Пример анализа "что-если" Типы анализа "что-если" Проведение анализа "что-если" вручную Создание таблиц подстановки Диспетчер сценариев Анализ данных I с помощью сценариев "что-если" дной из наиболее привлекательных сторон программ электронных таблиц (и Excel здесь не исключение) является возможность использования формул для построения динамических моделей, которые немедленно реагируют на изменение исходных данных. Другими словами, формулы будут автоматически пересчитывать результат, если изменилось содержимое ячеек, которые в них используются. Поэтому, если вы будете изменять значение в ячейках по какой-нибудь системе, а затем отслеживать полученные результаты в тех ячейках, где содержатся формулы, вы будете выполнять один из видов анализа "что-если". Анализ "что-если"— это процесс поиска ответов, например, на следующие вопросы: "Что будет, если процентная ставка кредита поднимется с 8,5 до 9,0%?" или "Что будет, если мы поднимем цену на нашу продукцию на 5%?". Таким образом, если ваша электронная таблица создана правильно, то, чтобы ответить на подобные вопросы, нужно только задать новые значения и посмотреть, что получится в результате расчета. Вы увидите, что в Excel есть полезные средства, которые помогут вам в проведении такого анализа. Пример анализа "что-если" На рис. 22.1 показана электронная таблица, которая обрабатывает информацию об ипотечной ссуде. Лист разделен на две секции, в которых расположены ячейки ввода и ячейки результатов. В столбце D показаны формулы, введенные в столбец С.
JSl*l . 1*1 i в с Расчет ипотечной ссуды Исходныф AaHHMt Цена Первый взнос Срок погаиений ссу^ы (месяцы) Процентная ставка 32S900.00P 10% 360 6.50% Результаты авечатл Размер ссуды Месячная плата Общая сумма выплат Общая сумма иомиесюнньк 293 310 00р 2 059.91Р 741 567 49р 448 257.49 р. \ Лист! £ г Л 'v.i подстл юкзд / ы .г1 Рис. 22.1. В этом рабочем листе используется четыре ячейки для ввода исходных данных, по которым рассчитываются результаты С помощью этого рабочего листа можно легко ответить на вопросы "что-если", подобные приведенным ниже. ■ Что, если я смогу договориться о более низкой цене на имущество? ■ Что, если кредитор потребует 20% выплаты? ■ Что, если я смогу получить 40-летнюю ссуду? ■ Что, если процентная ставка снизится до 7%? |^ь Эту рабочую книгу можно найти на прилагаемом компакт-диске. На компакт- диске ^1 Вы можете получить ответы на все эти вопросы, просто помещая различные значения в ячейки диапазона С4:С7 и наблюдая за результатами в ячейках С10:С13. Разумеется, при вводе вы можете задавать любое число исходных параметров сразу. Не используйте в формулах строго определенные значения На примере расчета ипотечной ссуды был продемонстрирован важный момент в подходе к проектированию рабочих таблиц. Заключается он в том, что вы должны всегда так создавать таблицу, чтобы обеспечить максимальную гибкость для внесения изменений. Пожалуй, одно из самых важных правил проектирования рабочих таблиц гласит: Старайтесь не использовать строго определенные значения в формулах. Вместо этого помещайте значения в отдельные ячейки и используйте ссылки на них в (рормуле! Термин строго определенные значения подразумевает использование в формуле обычных чисел, или констант. В формулах из приведенного выше примера используются ссылки на ячейки, а не сами значения. Например, можно было бы использовать значение 360 (срок погашения ссуды) в качестве аргумента функции пплат, которая находится в ячейке С11. Использование ссылки на ячейку, а не константы имеет два преимущества: во-первых, это проясняет, какое значение используется (оно не спрятано в формуле); во-вторых, это облегчает изменение значения. Сказанное выше не составит серьезной проблемы в том случае, если используется только одна формула, но представьте, что будет, если значения строго определены в нескольких сотнях формул, разбросанных по всей таблице. Глава 22. Анализ данных с помощью сценариев "что-если" 453
Типы анализа "что-если" Как вы уже догадались, в Excel можно создавать гораздо более сложные модели, чем та, которая приведена в предыдущем примере. Далее в главе подробно рассматривается эта тема. Для выполнения анализа "что-если" Excel предоставляет три основные возможности. ■ Анализ "что-если" вручную. Поместите новые значения в ячейки и понаблюдайте, как изменится результат в ячейках с формулами. ■ Таблицы подстановки. Создайте таблицу, в которой будут представлены результаты вычислений по формулам из выделенных ячеек, в зависимости от систематического изменения одной или двух ячеек. ■ Диспетчер сценариев. Создайте с его помощью поименованный сценарий путем генерации отчетов с использованием средств структуризации данных или сводных таблиц. Все эти методы обсуждаются в следующих разделах. Проведение анализа "что-если" вручную Об этом методе много не скажешь. На самом деле примера, приведенного в начале главы, вполне достаточно. Метод основан на следующем принципе: есть одна или несколько ячеек для ввода информации, ссылки на которые используются в одной или нескольких ключевых ячейках с формулами. Вы меняете информацию во входных ячейках и смотрите на результат. Можно отпечатать результат на бумаге или сохранить каждый сценарий в новой рабочей книге. Под термином сценарий здесь подразумевается определенный набор данных, который находится в одной или нескольких входных ячейках. Большинство пользователей выполняют анализ "что-если" именно таким образом. В этом, конечно, нет ничего плохого, но полезно знать и другие методы. Создание таблиц подстановки При работе с моделью "что-если" в определенный момент времени можно использовать только один сценарий (только один набор исходных данных). Но что, если необходимо сравнить результаты нескольких сценариев? Приведем несколько вариантов решения подобной проблемы. ■ Отпечатать несколько копий рабочего листа с разными сценариями на каждом. ■ Скопировать модель на другие листы и расположить их окна на экране так, чтобы были видны все сценарии. ■ Вручную создать формулу, которая бы подытоживала значения из ключевых ячеек для каждого сценария. ■ Использовать команду Excel ДанныеОТаблица подстановки для автоматического создания итоговой таблицы. В этой главе обсуждается последний пункт — команда ДанныеОТаблица подстановки. С ее помощью можно создавать удобные таблицы подстановки, позволяющие проводить вычисления по формулам для одного из приведенных ниже случаев. ■ Существует один набор данных для одной ячейки (одной переменной), на которую ссылается несколько формул. ■ Существует два набора данных для двух ячеек (две переменные), на которые ссылается одна формула. 454 Часть IV. Анализ данных
Хотя создать таблицу подстановки очень просто, на ее использование наложены некоторые ограничения. Самое главное ограничение состоит в том, что она может одновременно оперировать только с одной или двумя ячейками исходных данных. Другими словами, нельзя создать таблицу подстановки, которая бы использовала комбинацию трех или более ячеек с исходными данными. С помощью средства Диспетчер сценариев, о котором речь идет дальше в главе, можно создать отчет, который подводит итог для любого количества входных и выходных ячеек. Создание таблицы подстановки с одним входом В таблице подстановки с одним входом приводятся результаты расчетов по одной или нескольким формулам при различных значениях одного входного параметра. На рис. 22.2 показан общий макет таблицы подстановки с одним входом. Таблицу можно расположить в любом месте рабочего листа. Левый столбец содержит различные значения входного параметра. Верхняя строка содержит формулы или (чаше всего) ссылки на ячейки с формулами, по которым рассчитывается результат. (Сами формулы могут находиться в другом месте рабочего листа.) Можно использовать любое количество ссылок на формулы (или только одну). Верхняя левая ячейка таблицы не используется. Excel вычисляет значения, которые получаются в результате подстановки каждого из исходных значений во входную ячейку, и помещает результат в соответствующий столбец (в ячейку, которая находится под ячейкой с соответствующей формулой или ссылкой на формулу). Макет таблицы подстановки с одним входом Не используется \ Здесь находятся формулы или ссылки на формулы 1 Значения входного параметра Рис. 22.2. Составные части таблицы подстановки с одним входом В приведенном ниже примере использован рабочий лист, по которому рассчитывается ипотечная ссуда (о нем речь шла в начале главы). Этот рабочий лист демонстрирует, как можно создать таблицу, в которой бы отражались значения, рассчитанные по формулам, находящимся в четырех ячейках (Размер ссуды, Месячная плата, Общая сумма выплат, Общая сумма комиссионных), при изменении процентных ставок от 6 до 8% с шагом 0,25%. На рис. 22.3 показана заготовка таблицы подстановки для описываемого примера. Строка 3 состоит из ссылок на соответствующие ячейки с формулами. Например, в ячейке F3 содержится Глава 22. Анализ данных с помощью сценариев "что-если" 455
формула =С10. В столбце Е приведены все возможные варианты входных значений (процентных ставок), которые будут использованы при расчетах. Кроме того, была добавлена рамка вокруг области, где будут появляться вычисляемые значения. :J <Чэ*** *** В Расчет ипотечной ссуды 4 5 6 7 8 а * и 12 JJ 14 15 Цена Исходные данные Первый юное Срок погашения ссуды (месяцы) Процентная стае 325800,00р Р«|упьтаты Расчета Pswrpccy^i Месячная плата Овщая сумма выплат Общая сумма комиссионных 293 ЗЮ.ООр. 2 059.91р. 741 667.49Р 448257.49Р «,оо\ e^er, «до* в.76% 7,00% 7,25% 7 50% 7,75*. «,00» Rjwep ссуды 293 310P. Месячная плата говор. Общая сумма сыплет 741 SS7P. Обща я сумма ■«эмиссионных 441257р. ' Лист! j Таблица амнетаен Ы_ ^ Ямс. 22..J. Подготовка к созданию таблицы подстановки с одним входом Чтобы создать таблицу подстановки, выделите диапазон ячеек (в нашем случае Е3:112), а затем выберите команду Данные1*Таблица подстановки. Появится диалоговое окно, показанное на рис. 22.4. Здесь необходимо определить ячейку листа, в которую должны подставляться исходные данные. Поскольку все исходные данные находятся в столбце, а не в строке, поместите адрес или имя ячейки, в которую должны подставляться исходные данные, в поле Подставлять значения ПО строкам В. Введите в это поле С7 или щелкните на этой ячейке в рабочем листе. В описываемом диалоговом окне оставьте пустым поле Подставлять значения по столбцам в. Щелкните на кнопке ОК, и Excel заполнит таблицу соответствующими результатами (рис. 22.5). Подставлять значения по ст&пбцдк в г.дсгамкпъ »Иг*енйяпоета£жанв- j OK xl И7 Ц 1 OTWM | Рис. 22.4. Диалоговое окно Таблица подстановки .lot x! ■i 6.00% в.25% «.60S в.75% 7.00% 7.25' 7,50% 7,75% 5.00% ftaMep ССУДЫ 293 310р. 2933 Юр 233 3 Юр 293310р. 293 310р. 293310р. 293 ЗЮр. 293 ЗЮр. 293 ЗЮр 293 ЗЮр. Месячная плата 2 осе*. 1954р 2 007р. говор. 2114р. 2 1вВр 2 223р 2 279р 2 335р. 2 391р. Общая сумма выплат 741 567р. 703417Р 722 3В4р 741 567р. 7609910 780 559р 800 35вр В20346р 840 524р Вв0 682р Общая сумма «эмиссионных 448 257р. 410 Ю7р. 429 0740. 44в257в. 4676510 487249р 5070460 5270360 547214р. 5675720. • • «\Г»;т1Хт^»~.~» Рис. 22.5. Результат анализа, проведенного с помощью таблицы подстановки с одним входом Если рассмотреть ячейки таблицы, в которых находятся результаты после выполнения команды Данные1*Таблица подстановки, то можно заметить, что программа поместила 456 Часть IV. Анализ данных
туда формулы, причем не обычные, а формулы массивов, в которых используется функция ТАБЛИЦА. Как уже отмечалось в главе 14, формула массива — это одна формула, вычисляющая значения в нескольких ячейках. Поскольку используются формулы, при изменении ссылок на ячейки в первой строке таблицы или изменении значений процентных ставок в первом столбце значения в созданной таблице будут автоматически пересчитываться. Таблица подстановки с одним входом может быть организована вертикально (как в этом примере) или горизонтально. Если значения исходных данных, которые должны подставляться во входную ячейку, расположены в строке, введите ссылку на эту ячейку в поле Подставлять значения по столбцам в, которое находится в диалоговом окне Таблица подстановки. Создание таблицы подстановки с двумя входами Таблица подстановки с двумя входами позволяет отобразить на экране результаты расчетов при изменении двух входных параметров. Макет для этого типа таблицы показан на рис. 22.6. Хотя он выглядит практически так же, как и для таблицы подстановки с одним входом, он все же имеет одно существенное отличие: в данную таблицу можно свести результаты расчетов только по одной формуле. В верхней строке таблицы подстановки с одним входом можно разместить любое количество формул или ссылок на них. В таблице подстановки с двумя входами в верхней строке содержатся значения для подстановки второго входного параметра. И только в верхней левой ячейке находится ссылка на ячейку с единственной формулой. Макет таблицы подстановки с двумя входами Формула или ссылка на формулу 1 Значения второго входного параметра Значения первого входного параметра Рис. 22.6. Макет таблицы подстановки с двумя входами Используя предыдущий пример, можно создать таблицу подстановки с двумя входами, которая выводит результаты расчетов по какой-либо формуле (например, расчет зарплаты) при различных комбинациях двух исходных параметров (например, процентная ставка комиссионных и процент выплаты наличными деньгами). Чтобы увидеть, как влияет изменение входных параметров на результаты расчетов по другим формулам, создайте несколько таблиц подстановки — по одной для каждой формулы, по которой необходимо подвести итог. Глава 22. Анализ данных с помощью сценариев "что-если" 457
На рис. 22.7 показана таблица подстановки с двумя входами. Это пример расчета эффективности проведения рекламной кампании с помощью рассылки рекламных материалов по почте. Расчет эффективности проводится путем вычисления прибыли после продажи. -|П| *! А В СГ, 1 Доход от рассылки рекламы почтой з 4 5 6 7 8 В 10 11 '2 13 14 Исходные длины" Разослано материалов Прочит ответивших 275 000 2.50% Стоимость печатные материал Почтовые расходы Число респондентов Ооход на 1.респондента Q/ммарный доход /ммарные расходы 0,15р. 0.32р 6875 22.00Р 151250.00р. 129 250,00р Ю Прибыль 22U00.00D. ■ ia ► -\iwri/ hi •( Рис. 22.7. Расчет чистой прибыли после проведения рекламной кампании В этой модели используются две ячейки для ввода информации: количество разосланных рекламных материалов и предполагаемый процент ответов. Область результата включает следующее. ■ Стоимость печатных материалов. Стоимость печати одного рекламного буклета. Цена изменяется в зависимости от количества: 0,20 рубля — если количество экземпляров не превышает 200 000; 0,15 рубля— от 200 001 до 300 000 экземпляров; 0,10 рубля — если больше 300 000. Стоимость отпечатанных материалов (в зависимости от их количества) определяется по следующей формуле: =ЕСЛИ(Разослано_материалов<200000;0,2; ЕСЛИ(Разослано_материалов<300000;0,15;0,1) ) ■ Почтовые расходы. Их стоимость фиксирована и составляет 0,32 рубля за одно почтовое отправление. ■ Число респондентов. Количество ответов, которое предполагается получить. Оно определяется в зависимости от процента предполагаемых ответов и количества разосланных материалов. Формула для этой ячейки следующая: =Процент_ответивших*Разослано_материалов ■ Доход на одного респондента. Это фиксированное значение. Компании известно, что за каждый заказ она получит прибыль 22 рубля. ■ Суммарный доход. Суммарный доход вычисляется по простой формуле, в которой величина дохода, полученного от одного заказа, умножается на количество заказов: =Доход_на_1_респондента*Число_респондентов ■ Суммарные расходы. По формуле, находящейся в этой ячейке, вычисляются суммарные расходы на рекламу, в которые входит стоимость печатных материалов и почтовых услуг =Разослано_материалов*(Стоимость__печатных_материалов+Почтовые_ расходы) ■ Прибыль. В последней строке таблицы приведена величина прибыли, которая определяется как разница суммарных доходов и суммарных расходов. 458 Часть IV. Анализ данных
Если вы попробуете провести вручную анализ сценария "что-если" и будете менять значения двух входных параметров, то вскоре обнаружите, что величина прибыли может быть очень разной. Иногда она становится отрицательной — это убытки. Была создана таблица подстановки с двумя входами, которая позволяет вычислять прибыль при разных комбинациях количества разосланных материалов и предполагаемого процента полученных ответов. На рис. 22.8 показано, как должна располагаться таблица в диапазоне А18:128. Чтобы создать таблицу подстановки, выделите указанный диапазон и выберите команду Данные^>Таблица подстановки. В поле Подставлять значения по столбцам в введите имя ячейки В5 (Процент_ответивших), а в поле Подставлять значения по строкам в — имя ячейки В4 (Разослано_материалов). На рис. 22.9 показан результат выполнения этой команды. 3 P*fCM ли* jdt А Б 1 Доход от рассылки рекламы почтой Исходны* денные 4 Разослано матергепов I S Процент ответивших 275 000 2.50% | 6 Стоимость печатных материал I 6 Почтовье расходы 1 10 Число респондентов j 11 Дзход на 1 респондента 112 Суммарный доход I 13 Суммарные расходы 0.15р. 032р 6875 22.00р. 151 250.00р. 12В 250.00Р П Прибыль 22000.00р. 16 17. 18 № 100 000 •К) I26CO0 21' 150 000 22 175 ОСЬ 25 200000 24 „6 000 26 ■ 250000 26 , 275 000 27 300 ОСО 28 j 325 000 150% 29 м < ■ h[>,IWtI/ С 1.75% 2.00% ,-|п|х| Е Р О Н 1 ' 225*| 2 50% 2 75%1 3,00% 3 25-. Jil ._ Л ~ : -1 I Рис. 22.8. Подготовка к созданию таблицы подстановки с двумя входами .'(Г1... . ..ца-1. А 17 18 20 21 22 23 '24 25 26 21 28 2S on ^^^ " * > « \П«т1 / 100 000 125 000 15С000 175 000 200 000 225 000 250 000 ?75 00О 300 000 325 000 С .. . Е Ь 3 __________ -1РОО0р -'ЗоООо -23 750р -28 500р. -33 250р. -28 000 р. -315О0р -35 000р. •38 500р -г/ооор -29 250P -16 В75р -20 250р. -23 625 р. -17 СКРр -16 125р -21250Р -23-7-Р -10500 р. -11375Р 4QMB -ЮОООр -12 ОООр -14 000р. ■6 ОООр -6 750Р -7 5О0Р -в25_р 6 000р. 6 500р. -2 500.: -3 125в •3 750р -4 375р. 5 000а 5 625р 6 250р. 6 875р. 22 500р. 24 375р. ЗОООр 3 750Р 4 500 р. 5 250 р. 16 ОООр 18 000р. 20 ОООр 22 000ft 39 ОООр 42 250P 6 500:1 10 625р. 12 750ft 14 B75ft 27 000ft 30 375ft 33 750р. 37 125ft 55 500ft 60 125 р. Li] • 14C00: 17 500P 21000 ft 24 500 ft 38000 ft 42 750P 47 500P 52 250ft 72 000ft 78 000ft 1B500:i Г4 375p 29 250ft 34 125ft 48 000P 55 125ft 61250ft 67 375ft 88 500ft 95 875ft 1 1 -lOlxl J « —4 Рис. 22.9. Результат анализа, проведенного с помощью таблгщы подстановки с двумя входами Глава 22. Анализ данных с помощью сценариев "что-если" 459
Диспетчер сценариев Анализ данных с помощью таблиц подстановки весьма эффективен. Однако он имеет несколько недостатков. ■ Одновременно можно анализировать расчетные данные только при изменении одного или двух исходных параметров. ■ Процесс создания таблицы подстановки не всегда интуитивно понятен. ■ При использовании таблицы подстановки с двумя входами можно проанализировать результаты расчетов, проведенных только по одной формуле. Для других формул нужно создать дополнительные таблицы подстановки. ■ Очень часто требуется просмотреть результаты расчетов, проведенных только для нескольких определенных комбинаций входных параметров, а не всю таблицу подстановки. С помощью средства Диспетчер сценариев довольно просто автоматизировать процесс выполнения анализа "что-если" для различных моделей. С его помощью можно создать несколько наборов данных вводимых значений (в терминологии средства Диспетчер сценариев они называются изменяемыми ячейками) для любого количества переменных и присвоить имя каждому набору. Затем по имени можно выбрать определенный набор данных, и Excel отобразит результаты анализа этих данных в рабочем листе. Кроме того, можно создать итоговый отчет по сценариям, в котором будет показан результат подстановки различных комбинаций входных параметров. Итоговый отчет может быть представлен в виде обычного структурированного списка или сводной таблицы. В качестве примера рассмотрим процесс прогнозирования объема продаж товаров на текущий год. Объем продаж может зависеть от многих факторов, поэтому создается три сценария — по одному для лучшего, худшего и наиболее вероятного случая. После того как сценариям будут присвоены имена, можно легко переключаться между ними, выбирая соответствующие названия из списка. При этом Excel будет автоматически подставлять нужные исходные данные в рабочий лист и пересчитывать формулы. Определение сценариев Чтобы получить общее представление о средстве Диспетчер сценариев, начнем с простого примера — производственной модели, показанной на рис. 22.10. А. В Изменяемы* ячейки 2 Почасовая оплата 3 ^Стоимость материалов 41 5 6 7 Норма времени (часы) в количество материалов © ^бестоимость 1 10 Отпускная цена 11 Прибыль на 1 изделие 12 количество изделий 13 > уммлрная прибыль 14 113 иощая прибыль |Г« (~ 4 • «\lWrt/ 34 58 Изделие А 12 в 7620 795р ЗЗр 36 1188р. 13008р С j Иэдвли* Б 14 9 1007а 1295а 283р. 18 5184р. Н 0 Иэдвли* В 24 14 1642р. 2 195р. 553р. 12 6 636р. лаЫ] Е Т ~!| J I МГ Рис. 22.10. Вычисление суммарной прибыли от производства трех видов продукции 460 Часть IV. Анализ данных
^^ Эту рабочую книгу можно найти на прилагаемом компакт-диске. На компакт- диске ■щ Рабочий лист содержит две ячейки с исходными данными: почасовая оплата (ячейка В2) и стоимость материалов (ячейка ВЗ). Компания производит три изделия, причем на производство каждого из них необходимо затратить разное количество материала и времени. В таблице вычисляется суммарная прибыль по каждому изделию (строка 13) и общая прибыль (ячейка В15). Правление пытается спрогнозировать общую прибыль, но при этом точно не известны стоимость материалов и тариф почасовой оплаты. Поэтому были определены три сценария, которые приведены в табл. 22.1. Таблица 22.1. Три сценария производственной модели Сценарий Почасовая оплата Стоимость единицы материала В лучшем случае 30 57 В худшем случае 38 62 Наиболее вероятно 34 59 В сценарии для лучшего случая тариф почасовой оплаты и стоимость материалов наименьшие. В сценарии для худшего случая эти значения самые большие. В третьем сценарии, или в наиболее вероятном случае, используются промежуточные значения этих параметров (они определяются менеджером с учетом ряда факторов). Менеджеры должны быть готовы к худшему случаю, однако им также необходимо знать, что будет, если сработает сценарий лучшего случая. Для доступа к средству Диспетчер сценариев воспользуйтесь командой Сервисе Сценарии. Появится диалоговое окно Диспетчер сценариев. При первом вызове в этом окне содержится сообщение, в котором сказано, что ни один сценарий не определен, и это не удивительно — ведь вы только начали. Как только будут добавлены новые сценарии, их названия появятся в окне. Полезно присваивать имена значениям подстановки и всем ячейкам результата, которые нужно проанализировать. Excel использует эти имена в диалоговых окнах и генерируемых отчетах. Использование имен намного упрощает отслеживание информации и, кроме того, делает отчеты более читабельными. Чтобы добавить сценарий, в диалоговом окне Диспетчер сценариев щелкните на кнопке Добавить. Появится диалоговое окно Изменение сценария (рис. 22.11). Это диалоговое окно разделено на четыре части. ■ Название сценария. В этом поле можно указать любое имя сценария, но желательно, чтобы оно было содержательным. ■ Изменяемые ячейки. Ячейки, в которых находятся исходные данные для сценария. В это поле можно ввести абсолютный адрес ячейки или ее имя. Разрешается выбирать несколько ячеек, причем не обязательно смежных. В каждом сценарии, которому присвоено имя, можно использовать одни и те же наборы изменяемых ячеек или разные изменяемые ячейки. Количество изменяемых ячеек для одного сценария ограничено числом 32. ■ Примечание. По умолчанию в это поле Excel помещает информацию о том, кто создал сценарий, а также дату его создания. Однако можно отредактировать этот текст, добавить к нему новый текст или вовсе удалить его. Совет Глава 22. Анализ данных с помощью сценариев "что-если" 461
■ Защита. Две опции, которые позволяют защитить сценарий от изменений и скрыть его, можно активизировать только в том случае, если рабочий лист защищен и в диалоговом окне Защитить лист активизирована опция Сценарии. Защита сценария предотвращает модификацию его кем-либо другим, а скрытый сценарий вообще не появляется в диалоговом окне Диспетчер сценариев. В этом примере нужно определить три сценария, которые перечислены в предыдущей таблице. Изменяемыми ячейками являются Почасовая_оплата (В1) и Стоимость_материалов (В2). После заполнения полей диалогового окна Изменение сценария щелкните на кнопке ОК. Появится диалоговое окно Значения ячеек сценария, показанное на рис. 22.12. В этом окне перечислены поля для всех изменяемых ячеек, которые были определены в предыдущем диалоговом окне. Введите значения для каждой ячейки сценария. Щелчок на кнопке ОК приведет к возврату в диалоговое окно Диспетчер сценариев. В нем теперь будет находиться имя созданного сценария. Если необходимо создать еще сценарии, щелкните на кнопке Добавить и повторите описанную выше последовательность действий. |$8»2 *8$1 Ч-оёы добавить неспешную нэненяеиую ty, укажите ее при нажатой клавише Ctrl [ Автор: Alex, 06.05.20Dr J7 запретить иженеимя Г" скрыт> Ввците значения каждой нэпе*мвиои ячейки. 1 Почассеая_оля |<0 ■ 2 Стсю»еть_иаг |b/ .*j 1 ок | Огне» | Добавить J Рис. 22.11. Новый сценарий создается с помощью диалогового окна Изменение сценария Рис. 22.12. В этом диалоговом окне вводятся значения для сценария Отображение сценариев После определения всех сценариев вы вновь вернетесь к диалоговому окну Диспетчер сценариев. В нем будут перечислены все имена существующих сценариев. Выберите один из них, а затем щелкните на кнопке Вывести. Excel подставит соответствующие значения в изменяемые ячейки, и в рабочем листе по данным сценария будут вычислены результаты. Использование инструмента Сценарий В Excel есть инструмент под названием Сценарий, который представляет собой раскрывающийся список всех определенных сценариев и используется для создания и отображения сценариев. Как это ни странно, но этот полезный инструмент не входит ни в одну из предоставляемых панелей инструментов. Однако если вы используете Диспетчер сценариев, то, возможно, захотите добавить инструмент Сценарий в какую-нибудь панель инструментов. Для этого выполните ряд действий. 1. Выберите команду Сервис^ЯНастройка. 2. В диалоговом окне Настройка выберите вкладку Команды. 3. Выберите категорию Сервис. 462 Часть IV. Анализ данных
4. Выделите инструмент Сценарий и перетащите его на любую панель инструментов. 5. Щелкните на кнопке Закрыть. Подробное описание настройки панелей инструментов приведено в главе 33. Использование этого инструмента для создания и просмотра различных сценариев может быть более эффективным, чем вызов диалогового окна Диспетчер сценариев. Для создания сценария с использованием инструмента Сценарий введите в изменяемые ячейки исходные значения, отметьте их, а затем введите название сценария в поле раскрывающегося списка. Чтобы просмотреть названный сценарий, просто выберите его из списка. Сценарии, определенные с использованием этого метода, также появятся в диалоговом окне Диспетчер сценариев. Поэтому, если необходимо выполнить какие-либо операции над сценариями (добавить комментарии, изменить значения, создать отчет и т.п.), выберите команду СервисоСценарии для вызова этого диалогового окна. Изменение сценария Кнопка Изменить, расположенная в диалоговом окне Диспетчер сценариев, позволяет редактировать сценарий (изменить одно или несколько значений входных ячеек). Выберите сценарий, который необходимо изменить, щелкните на кнопке Изменить. Чтобы на экране появилось диалоговое окно Значения ячеек сценария, щелкните на кнопке ОК. Внесите необходимые изменения и снова щелкните на кнопке ОК. Обратите внимание: Excel автоматически поместит в окно Примечание новый текст, сообщающий о том, когда сценарий был изменен. Объединение сценариев Если вы входите в состав рабочей группы, то можете столкнуться с тем, что несколько пользователей, работая с одной и той же таблицей, создали разные сценарии. Например, отдел маркетинга может иметь свое мнение о том, какими должны быть изменяемые ячейки, отдел финансов — свое, а руководство фирмы — свое, отличное от других мнение. Программа Excel позволяет легко объединять эти различные сценарии в одной рабочей книге. Для этого в диалоговом окне Диспетчер сценариев нужно щелкнуть на кнопке Объединить. Прежде чем объединять сценарии, убедитесь, что рабочая книга, из которой вы берете сценарий, открыта. Затем щелкните на кнопке Объединить в диалоговом окне Диспетчер сценариев. Появится диалоговое окно Объединение сценариев. Из раскрывающегося списка Книга выберите рабочую книгу, в которой находится рабочий лист с нужным сценарием. Затем из списка Лист выберите рабочий лист. Обратите внимание: по мере того как вы будете проходить по этому списку, в диалоговом окне Объединение сценариев будет показано, какое количество сценариев есть в каждом листе. Щелкните на кнопке ОК, чтобы вернуться к предыдущему диалоговому окну, в котором теперь будут показаны названия сценариев, добавленных из выбранной рабочей книги. Создание отчета по сценарию После создания сценариев можно создать итоговый отчет. В диалоговом окне Диспетчер сценариев щелкните на кнопке Отчет. Появится диалоговое окно Отчет по сценарию. Можно выбрать один из двух типов отчета. ■ Структура. Итоговый отчет будет иметь форму структурированного списка. ■ Сводная таблица. Итоговый отчет будет иметь форму сводной таблицы (о сводных таблицах речь идет в главе 21). Глава 22. Анализ данных с помощью сценариев "что-если" 463
Для простых случаев использования сценариев часто подходит обычный отчет в форме структурированного списка. Однако, если у вас много сценариев с различными ячейками результата, можно использовать сводную таблицу, поскольку она предоставляет более гибкие возможности анализа данных. В диалоговом окне Отчет по сценарию нужно указать ячейки результата, в которых содержатся интересующие вас формулы. Для нашего примера введите B13:D13 и ВЗ (множественный выбор ячеек). В отчете будут представлены значения каждого из исходных параметров и общая сумма прибыли. На заметку Средство Диспетчер сценариев имеет одно существенное ограничение: в одном сценарии не может быть более 32 изменяемых ячеек. Если вы попытаетесь указать большее количество таких ячеек, Excel выдаст сообщение об ошибке. Программа Excel создаст новый лист и поместит туда итоговою таблицу. На рис. 22.13 показан отчет, созданный в результате выбора опции Структура. Если изменяемым ячейкам и ячейкам результата были присвоены имена, то в таблице будут использованы эти названия. В противном случае будут показаны только адреса ячеек. -IDlXl Структура сценария PW*»Ut»HM»^ Почасовая "Плате. Стоииасл» материал©» Рыупктжг- Прибыль _п«_м»дятио_А Л|1я9ыпь_по_|идели»_Б Пв*быль_ле_и*д*люо_В 06* *я прибыль *• »s#< 1 188(1 5184р ббЭбр 13D08P 30 В7 3 348р 6 516р 8124р 17S88P за с -1 1Юр\ ЗввСр девор Г482Р 34 в* 1 тавр. 5 «4р 6636р 13 ЭСвр Примечания столбец Tttcyujv* значения" представляет значения игменяемьвг ячеек а ыоиент сссдяния Итогового отчета по Счвнарии Иэменяемье ячейки для каждого сценария выделеиысарьм цветом ^л««аХ.с*и*»»* «•»*р««. Ы_ АГ Рис. 22.13. Отчет, созданный с помощью диспетчера сценариев 464 Часть IV. Анализ данных
Анализ данных: подбор параметров и поиск решения предыдущей главе рассматривался анализ "что-если". Это процесс исследования зависимости выходного результата от изменения исходных данных. В этой главе рассматривается обратный процесс — поиск исходных данных, которые при подстановке в формулы дают нужные значения в ячейках результата. Средства подбора параметров и поиска решения Рассмотрим следующий типичный вопрос анализа "что- если": каким станет общий доход, если объем продаж возрастет на 20%? Если рабочий лист создан правильно, то, изменив значение в одной из ячеек, вы увидите, что получится в ячейке, содержащей значение дохода. При выполнении процедуры подбора параметров используется противоположный подход. Если известно, каким должен быть результат вычисления по формуле, то Excel подскажет значения одного или нескольких входных параметров, которые позволят получить нужный результат. Другими словами, можно задать вопрос такого типа: какой рост продаж необходим для получения дохода в 1 200 000 долларов? В Excel для этого предусмотрено два соответствующих средства. ■ Подбор параметра. Определяет значение одной входной ячейки, которое обеспечивает получение желательного результата в зависимой ячейке (ячейке результата).
Поиск решения. Определяет значения в нескольких входных ячейках, которые требуются для получения желательного результата. Более того, можно накладывать ограничения на входные данные, поэтому здесь можно получить решение (если оно существует) многих практически важных задач. Подбор параметра Выполнить процедуру подбора параметров для одной ячейки довольно просто. Excel определяет то значение во входной ячейке, которое даст желательный результат в выходной ячейке. Наилучший способ понять принцип его работы — разобраться в приведенном ниже примере. Процедура подбора параметра На рис. 23.1 показан рабочий лист с выполненным расчетом ипотечной ссуды, который упоминался в предыдущей главе. В этом листе предусмотрено четыре ячейки для ввода параметров и столько же для результатов. В предыдущей главе этот лист использовался для демонстрации выполнения анализа "что-если", а сейчас рассмотрим другой подход. Прежде чем вводить разные значения во входные ячейки и оценивать полученный результат, позволим программе самостоятельно определить одно из входных значений. jsi*l в Расчет ипотечной ссуды Исходны* манны* Цена Первый взнос Срок погашеню ссуды (месяцы) Процентная ставга 325 900.0ОР 10% 360 6 50% 12 13 А Результаты расчета Размер ссуды Месячная плата Общая сумма выплат Общая сумма комиссионных 293 310.00 р. 2 059,91р. 741567,49р. 448 257,49р J«J- „й Рис. 23.1. Пример для использования процедуры подбора параметра Представьте, что вы хотите купить себе новый дом. Вам известно, что в месяц вы в состоянии погашать не больше 15 000 рублей взятой ссуды. Кроме того, известно, что кредитор даст ссуду под фиксированный процент (скажем, 6,5%), рассчитывая на то, что вы должны погасить за определенное время 80% ссуды (т.е. первоначальный взнос составляет 20%). Вопрос состоит в следующем: какова максимальная стоимость покупки, которую вы себе можете позволить? Другими словами, какое значение должно быть в ячейке ВЗ, чтобы результат в ячейке В10 равнялся 15 000 рублей? Один способ решения — изменять значения в ячейке ВЗ до тех пор, пока значение в ячейке В10 не станет равным 15 000. Более эффективный способ — позволить Excel найти ответ. Чтобы ответить на этот вопрос, выберите команду Сервис=>Подбор параметра. Появится диалоговое окно, показанное на рис. 23.2. Необходимо получить значение 15 000 в ячейке В10, изменяя значение в ячейке ВЗ. Ввести эту информацию в диалоговое окно Подбор параметра можно, либо непосредственно набрав адреса ячеек с клавиатуры, либо щелкнув указателем мыши на нужных ячейках. Чтобы начать процесс подбора параметра, щелкните на кнопке ОК. 466 Часть IV. Анализ данных
Расчет ипотечной ссуды .IDI »t 3 Исходеые данные Цена Первый взнос Срок погаиенил ссуды (месяцы) Продентная ставка 3 250 000.00Р 20% 360 6.50% И|.!.Ш1Ш х) |15000 "3 Результаты расчета Размер ссуды Месячная плата Общая сумма выплат Общая сумма комиссионных 2 600 000.00а 20 542.2 ID 7 395 195,87р. 4 795 195 87р Цацичн значите ffиЛок [*3j4~~ I ■ г г I 'Я •1Г| Рис. 23.2. Диалоговое окно Подбор параметра Через секунду Excel объявит, что решение найдено, и выведет окно Результат подбора параметра. В этом окне будет отображено подбираемое значение и значение, предложенное Excel. В данном случае программа нашла точное значение. В ячейке ВЗ рабочего листа теперь будет находиться искомое значение (2 373 162р.). Взяв такую ссуду, в месяц вы должны будете погашать 15 000 рублей. На данном этапе у вас есть две возможности. ■ Щелкните на кнопке ОК, чтобы заменить прежнее значение найденным. ■ Щелкните на кнопке Отмена, чтобы вернуть рабочий лист в прежнее состояние — как до выполнения команды СервисО Подбор параметра. 0 процедуре подбора параметра К сожалению, Excel не всегда может найти значение, дающее нужный результат, поскольку решения иногда просто не существует. В таком случае в окне Результат подбора параметра буЯет выдано сообщение об этом (рис. 23.3). шс IIP Ш1 Подбор параметра дгюячвйкиСи. Найдено. ~wr Подбчиеноо значение: -I Рис. 23.3. Если программа не сможет найти решение задачи и подобрать нужный параметр, она выдаст это сообщение Возможна и другая ситуация: программа сообщает, что не может найти решения, но точно известно, что оно существует. В таком случае попробуйте выполнить следующее. ■ Измените величину в подбираемой ячейке на значение, более близкое к решению, а затем примените команду еще раз. ■ Измените значение опции Предельное число итераций, которая расположена во вкладке Вычисления диалогового окна Параметры. Увеличение числа итераций повысит вероятность обнаружения нужного решения, но увеличит время поиска. ■ Еще раз проверьте формулы и убедитесь, что выходная ячейка действительно зависит от выбранной входной ячейки. Глава 23. Анализ данных: подбор параметров и поиск решения 467
^^^* Как и все компьютерные программы, Excel имеет ограниченную точность. Чтобы На заметку убедиться в этом, введите в ячейку В1 следующую формулу: =А1Л2. Затем используйте команду Сервисе Подбор параметра, чтобы найти значение в ячейке 1 А1, которое привело бы к результату 16 в ячейке В1. Программа выведет значение 4,000 022 69, которое очень близко к квадратному корню из 16, но, конечно, не точное. Точность может быть установлена во вкладке Вычисления диалогового окна Параметры, для этого уменьшите значение опции Относительная погрешность. В некоторых случаях разные значения во входной ячейке могут привести к одно- 1\а заметку МУ и тому же результату. Например, формула =А1А2 выдаст значение 16, если в ячейке А1 будет находиться как -4, так и +4. Если процедура подбора параметра . используется для случая, когда возможны два решения, Excel выдаст решение с тем же знаком, что и текущее значение ячейки. Поиск решения Средство подбора параметра Excel, несомненно, полезный инструмент, однако оно имеет определенные ограничения. Например, оно может найти значение только для одной изменяемой ячейки и выдает только одно решение. В Excel предусмотрен еще один мощный инструмент — Поиск решения, который позволяет расширить процедуру подбора параметра следующим образом: ■ указывать несколько изменяемых ячеек; ■ указывать ограничения на значения изменяемых ячеек; ■ находить решение, при котором значение в определенной ячейке рабочего листа достигает максимума или минимума; ■ получить несколько решений задачи. Подбор параметра — относительно простая операция, использовать процедуру поиска решения гораздо сложнее. Фактически поиск решения является одним из самых сложных средств Excel и поэтому требует внимания и определенных усилий. Характерные задачи поиска решения Задачи, выполняемые с использованием процедуры поиска решения, должны удовлетворять перечисленным условиям. ■ Значение в целевой ячейке зависит от других ячеек и формул. Необходимо определить все исходные параметры, при которых значение в целевой ячейке будет максимальным, минимальным или заранее определенным. ■ Целевая ячейка зависит от группы ячеек, которые называются изменяемыми ячейками. Их значения необходимо подобрать так, чтобы получить нужный результат в целевой ячейке. ■ Решение (значения изменяемых ячеек) должно находиться в определенных пределах или удовлетворять определенным ограничениям. На компакт- диске Все примеры, приведенные далее в главе, можно найти на прилагаемом к книге На помпа компакт-диске, диске 468 Часть IV. Анализ данных
После соответствующей подготовки рабочего листа можно использовать процедуру поиска решения для подбора значений в изменяемых ячейках и получения в целевой ячейке нужного результата, который удовлетворяет всем установленным ограничениям. Команда Сервисе Поиск решения отсутствует.- Поскольку Поиск решения — это надстройка Excel, то ею можно воспользоваться лишь в том случае, если она загружена. Поэтому, если в меню Сервис вы не можете найти команду Поиск решения, значит, необходимо загрузить соответствующую надстройку. Выберите команду СервисоНадстройки. На экране появится диалоговое окно Надстройки. Прокрутите вниз список надстроек и установите флажок возле надстройки Поиск решения. Щелкните на кнопке ОК, и надстройка будет загружена. При этом появится команда Сервис=>Поиск решения. Если надстройки Поиск решения в списке надстроек нет, необходимо запустить программу установки Excel (или Microsoft Office) и установить ее. Простой пример поиска решения Знакомство с процедурой поиска решения начнем с простого примера. Далее в главе для демонстрации ее возможностей будет приведено несколько более сложных примеров. На рис. 23.4 показан рабочий лист, с помощью которого можно вычислить прибыль от продажи трех видов продукции. В столбце В отображено количество товара по каждому изделию, в столбце С — доход от продажи единицы изделия. В столбце D содержатся формулы, по которым вычисляется доход от продажи каждого вида товара путем умножения их количества на прибыль от продажи единицы изделия. ЬГШЯШННЕГ А В С 1 ' Количество Доход на 3 < "оделив А 100 4 ■'чдвпивВ 100 5 i Изделие С 100 Ъ Всего 300 7 8 8 *> * ». *J Лист! i ад 13р 1вр 22р JU D Доход 1 300р. 1 еоор 2 гоор 6 Э00р Е . 1 -iOlxl •F3 - J Al Рис. 23.4. Процедура поиска решения будет использована для определения количества изделий, приносящих максимальную прибыль Не нужно иметь ученую степень по экономическим наукам, чтобы понять, что наибольшую прибыль от продажи единицы продукции дает изделие С. Таким образом, можно принять вполне логичное решение — изготавливать только изделия С, причем в максимальных количествах. Если бы на самом деле все бьшо так просто, то такого мощного средства, как процедура поиска решения, не потребовалось бы. Но, как и в большинстве случаев, у рассматриваемой компании есть несколько ограничений, которые она должна учитывать. ■ Общий объем производства — всего 300 единиц изделий в день. ■ Компании нужно произвести 50 единиц изделия А для выполнения существующего заказа. ■ Компании нужно произвести 40 единиц изделия В для выполнения планового зака: ■ Поскольку сбыт изделий С относительно небольшой, то должно быть изготовлено не больше 40 единиц этого изделия. Глава 23. Анализ данных: подбор параметров и поиск решения 469
Эти четыре ограничения делают задачу более реалистичной и сложной. По сути, это идеальная задача для выполнения процедуры поиска решений, которая включает ряд действий. 1. Введите в рабочий лист исходные данные и формулы. 2. Вызовите диалоговое окно Поиск решения. 3. Укажите целевую ячейку. 4. Укажите изменяемые ячейки. 5. Задайте ограничения. 6. При необходимости измените опции процедуры поиска решения. 7. Позвольте процедуре поиска решения выполнить поставленную задачу. Чтобы запустить процедуру поиска решения, выберите команду СервисОПоиск решения. Появится диалоговое окно Поиск решения (рис. 23.5). Установитьцелев>топчейсу: |$Б$< 3 | &><полнить j С4 >■-«,--льному значению г^Ьнвнач ячзй^и: ■ ~— |$В$3 $8$5 3 Гхмдпояоасить j . Параметры | ~И Дабаеить 1 йэметть I **" 6оСТтано»ит» | , i У^аатть j —■ frpaaca I Рас. 23.5. Диалоговое окно Поиск решения В этом примере в целевой ячейке D6 вычисляется обшая прибыль по трем видам изделий. 1. В поле Установить целевую ячейку укажите адрес ячейки D6 или щелкните в рабочем листе на этой ячейке. 2. Поскольку поставлена цель максимизировать значение в этой ячейке, установите переключатель Равной максимальному значению. 3. Затем определите изменяемые ячейки, которые в данном случае находятся в диапазоне ВЗ:В5. 4. Ограничения добавляются по одному за один раз и отображаются в окне Ограничения. Для добавления ограничений щелкните на кнопке Добавить. Появится диалоговое окно Добавление ограничения (рис. 23.6). 5. В это диалоговое окно нужно ввести ссылку на ячейку, оператор и значение. Первое ограничение — общий объем продукции должен быть равен 300 единицам изделий. Введите адрес ячейки В6, выберите оператор равно (=) из раскрывающегося списка операторов и введите в качестве значения число 300. 6. Для добавления очередного ограничения щелкните на кнопке Добавить. В табл. 23.1 приведены все ограничения для этой задачи. 7. После ввода последнего ограничения щелкните на кнопке ОК, чтобы вернуться к диалоговому окну Поиск решения. В этом окне в нашем примере должно содержаться четыре ограничения. 470 Часть IV. Анализ данных
8. Чтобы начать процесс решения задачи, щелкните на кнопке Выполнить. В строке состояния будет отображаться ход решения задачи. Через некоторое время на экране появится информация о том, что решение найдено. Диалоговое окно Результаты поиска решения показано на рис. 23.7. Таблица 23.1. Список ограничений Ограничение Сокращенная запись Объем выпуска 300 единиц Вб=зоо Не меньше 50 единиц изделия А вз>=50 Не меньше 40 единиц изделия В В4>=40 Не больше 40 единиц изделия С В5<=40 Рис. 23.6. Диалоговое окно Добавление ограни- Рис. 23.7. Это диалоговое окно появляется в слу- чения чае, если решение задачи найдено После решения задачи можно выбрать одну из перечисленных ниже возможностей. ■ Заменить исходные значения в изменяемых ячейках теми, которые были найдены в результате решения задачи. ■ Восстановить исходные значения в изменяемых ячейках. ■ Создать несколько отчетов о процедуре поиска решения (для выбора нескольких отчетов из списка нажмите клавишу <Shift> и щелкните на нужном типе отчета). ■ Щелкнуть на кнопке Сохранить сценарий для сохранения решения в виде сценария, который может быть использован в средстве Диспетчер сценариев (подробности в главе 22). Если было указано, что нужно создать отчет, он будет размещен на новом рабочем листе, которому будет присвоено соответствующее имя. На рис. 23.8 показан отчет по результатам поиска решения. Приведенный выше простой пример иллюстрирует работу процедуры поиска решения. На самом деле эту конкретную задачу можно было бы решить вручную гораздо быстрее. Но так, конечно, случается не всегда. Параметры процедуры поиска решения Прежде чем перейти к более сложным примерам, рассмотрим диалоговое окно Параметры поиска решения. Это, пожалуй, одно из самых содержательных окон в Excel. С его помощью можно контролировать многие аспекты процесса решения задачи, а также загружать и сохранять спецификации моделей, заданных в виде диапазона. Глава 23. Анализ данных: подбор параметров и поиск решения 471
-г I ■' » А В С 0 Microsoft Excel 110 Отчет по результатам 6 F G „ЮН н т 2 ' абочий лист: [Изделия.»:Is]j1hct1 3 Отчет создан' 06 Об 2004 12:16:14 Г s 6 целевая ячейка (Максимум) Ячейка $D$6 зменяемь Ячейка 1В*Э IBJ4 SB15 Имя Всего Доход е ячейки Имя Изделие А Количество Изделие В Количество Изделие С Количество Исходное значение Результат 5 300р. S 31 Ор Исходное значение Результат 100 50 100 210 100 40 11 13 и |9 ! Ограничении 19 20 г\ 22 23 Ячейка *В*6 «ВГо teu «BIS Имя Всего Количество Изделие А Количество Изделие В Количество Изделие С Количество Значение Формула 300 *В»6=300 SO «В$3>=60 210 *В*4>-40 40 *В|5<=40 Статус не связан. связанное не связан. связанное Разница 0 0 170 0 » и|\Г*тч*тт и* . ех.льтатэм 1 / Пмст1/ Ы i Рис. 23.8. Один из трех отчетов, созданных по результатам процедуры поиска решений Если в результате выполнения процедуры поиска решения само решение не будет найдено, в этом нет ничего необычного, даже если известно, что такое решение должно существовать. Очень часто подобную проблему удается решить, изменив одну или несколько опций и повторно запустив процедуру поиска решения. Чтобы появилось диалоговое окно Параметры поиска решения (рис. 23.9), щелкните в диалоговом окне Поиск решения на кнопке Параметры. ЕЭЗЖ5ЯЙ55ИИ Г**ч£и**ль№ев»ня rt?e*tejv*e число итераций: f 100 О^нооттеяьная погрешность: |ooooooi Дояустяяре отклонение; JO ОС 01. Загрузить нацель... . Оидоить иодвяь. £рр&т 1" ^^^^уЦсдь; I- Автоавтичеаое кзсшт»5икдааняе Г" нвотрицатеяы^в значения Г" Пскаэьвать ае»улыаты **щ*тг& ■ . f* пииейная j ^"гдвларат1*иая | -Разности— I fit ^ентраяы*»*^ г-Метод поиска ! f*" Цаютонв | Г гагрф»а»ннь«!£й1Аие«гав Pwc. 2i.9. С помощью этого диалогового окна можно управлять процедурой решения задачи Ниже описаны параметры процедуры поиска решений. ■ Максимальное время. Предоставляет возможность ограничить максимальное время (в секундах) решения задачи. Если появится сообщение о том, что время решения истекло, можно добавить время или остановить процесс поиска решения. ■ Предельное число итераций. Предназначен для ввода максимального числа промежуточных решений, допускаемых при поиске решения. 472 Часть IV. Анализ данных
■ Относительная погрешность. Служит для задания точности выполнения ограничений и соответствия вычисленного значения в целевой ячейке заданному. Задача может быть решена быстрее, если установить меньшую точность. ■ Допустимое отклонение. Устанавливает максимальное отклонение в процентах для целочисленных решений (имеет смысл, только если задано целочисленное ограничение). ■ Сходимость. Применяется только к нелинейным задачам. Когда относительное изменение значения в целевой ячейке за последние пять итераций становится меньше числа, указанного в поле Сходимость, поиск прекращается. ■ Линейная модель. Служит для ускорения поиска решения, применяя к задаче оптимизации линейную модель. Нелинейные модели предполагают использование нелинейных функций, фактора роста и экспоненциального сглаживания, что замедляет вычисления. ■ Неотрицательные значения. Устанавливает нулевую нижнюю границу для тех влияющих ячеек, для которых не заданы ограничения. ■ Автоматическое масштабирование. Служит для включения автоматической нормализации входных и выходных значений, значительно различающихся по величине. ■ Показывать результаты итераций. Если эта опция активизирована, то после выполнения очередной итерации поиск решения приостанавливается и на экране отображаются найденные результаты. ■ Оценка, Разности и Метод поиска. Опции этих разделов контролируют некоторые технические аспекты решения задачи. В большинстве случаев нет необходимости изменять установки этих опций. ■ Загрузить модель. Отображает диалоговое окно Загрузить модель, в котором можно задать ссылку на диапазон ячеек рабочего листа, содержащих параметры модели, которую необходимо загрузить. ■ Сохранить модель. Отображает диалоговое окно Сохранить модель, в котором нужно определить ссылку на диапазон ячеек рабочего листа, где будут сохранены параметры модели. Обычно модель сохраняют только при использовании нескольких различных наборов параметров поиска решений. Параметры для первой модели поиска решений запоминаются автоматически в рабочем листе (используются скрытые имена). При сохранении дополнительных моделей, информация записывается в виде формул, которые соответствуют вашим установкам (последняя ячейка в сохраняемом диапазоне представляет собой формулу массива, которая содержит установки опций). Для загрузки этих установок используется диалоговое окно, вызываемое с помощью кнопки Загрузить модель. Примеры поиска решений В заключение рассмотрим примеры использования процедуры поиска решения для различных типов задач. Минимизация расходов на перевозку В этом примере проводится поиск альтернативных способов перевозки грузов для минимизации общих расходов на перевозку (рис. 23.10). Компания имеет склады в Лос-Анджелесе, Сент-Луисе и Бостоне. Заказы на перевозку грузов поступают из сети розничных магазинов, Глава 23. Анализ данных: подбор параметров и поиск решения 473
распределенных по всей территории США и получающих товары с одного из складов. Цель задачи— удовлетворить потребность шести розничных магазинов в товарах, находящихся на складах, и сохранить при этом общие расходы по перевозкам на минимальном уровне. лЮШ D Е Таблица стоимости перевозок Д«"»«г Хью стен Атланта Майами Сиэтл Дегронт Лое-Анджеяес •68 «97 •121 «149 (62 1128 Свнт-ЛцИ): «47 (46 (30 166 >115 (28 Бостон $103 >100 «57 «83 1164 (38 Объем Магазин потребности Деньер 150 Хьюстон 225 Атланта 100 Майами 250 Сиэтл 120 Детройт 160 Всего 995 Перевезено иэ_ Лос-Анджелеса Сент-Луиса 26 26 25 25 25 25 25 26 26 26 26 26 150 150 Бостона 26 26 26 26 26 25 150 Обьеы поставки 76 75 76 75 75 76 450 Товарные запасы Остаток 400 250 350 200 500 350 |Стоимость перевозок (8 300 (13 750 !•! ЧГ Рис. 23.10. На этом рабочем листе определяется наиболее дешевый способ перевозки товаров со складов в розничные магазины Этот рабочий лист довольно сложный, поэтому ниже подробно объясняется каждая его часть. ■ Таблица стоимости перевозок. Эта таблица, расположенная вверху листа, содержит информацию о стоимости перевозки единицы товара с каждого склада в каждый розничный магазин. Например, стоимость перевозки единицы товара из Лос-Анджелеса в Денвер составляет 58 долларов. ■ Потребность в товаре для каждого розничного магазина. Эта информация содержится в ячейках С12:С17. Например, для Денвера нужно 150 единиц товара, для Хьюстона — 225 и т.д. В ячейке С18 подсчитывается общая потребность в товарах. ■ Количество перевезенного товара. В диапазоне D12:F17 находятся ячейки, значения в которых будут изменяться в результате выполнения процедуры поиска решения. Во всех ячейках установлено начальное значение 25. В столбце G содержатся формулы, суммирующие общее число единиц товара, который будет доставлен к каждому розничному магазину. ■ Товарные запасы. В строке 20 содержится информация об общем количестве товаров, находящихся на каждом из складов. В строку 21 введены формулы, по которым вычитается количество перевезенных товаров (строка 18) из общего числа товаров, находящихся на складе. Например, в ячейке D21 располагается формула: =D20-D18. ■ Вычисляемая стоимость перевозок. Строка 24 содержит формулы, по которым вычисляется стоимость перевозок. В ячейке D24 содержится приведенная ниже формула, которая была скопирована в две ячейки справа. =СУММПР0ИЗВ(03:D8;D12:D17) Эта формула вычисляет общую стоимость перевозок с каждого склада. В ячейке G24 приводится общая стоимость перевозок для всех заказов. 474 Часть IV. Анализ данных
Процедура поиска решения находит такие значения диапазона ячеек D12:F17, при которых розничный магазин будет получать нужное количество товара и общая стоимость перевозок будет минимальна. Другими словами, необходимо минимизировать значение, находящееся в ячейке G24, изменяя значения диапазона ячеек D12:D17 с учетом описанных ниже ограничений. ■ Количество необходимого товара для каждого розничного магазина должно равняться количеству перевезенного (другими словами, все заказы должны быть выполнены). Эти ограничения представляются следующими условиями: C12=G12 C14=G14 C16=G16 C13=G13 C15=G15 C17=G17 ■ Значения в изменяемых ячейках не могут быть отрицательными. Иначе говоря, перевозка такого количества товара, значение которого отрицательно, бессмысленна. Эти ограничения представлены следующими условиями: D12>=0 E12>=0 F12>=0 D13>=0 E13>=0 F13>=0 D14>=0 E14>=0 F14>=0 D15>=0 E15>=0 F15>=0 D16>=0 E16>=0 F16>=0 D17>=0 E17>=0 F17>=0 ■ Количество запасов в каждом магазине не должно быть отрицательным (нельзя перевезти то, чего нет в наличии). Это представлено следующими ограничивающими условиями: D21>=0 E21>=0 F21>=0 На заметку / Прежде чем выполнить задачу с помощью процедуры поиска решения, попытайтесь найти близкую к минимальной стоимость перевозок, изменяя вручную значения в диапазоне D12:F17. He забудьте проверить, все ли ограничения удовлетворены. Немного поэкспериментировав, вы обнаружите, что это довольно сложная задача, которая позволит по достоинству оценить всю мощь процедуры поиска решений. ' [75 24 I» • А I В С D £ Таблица гтомм^стм пвревсэок Денвер Хьюстон Атланта Майами Сиэтл Деврвят Лос-Анджелес Свит Пчис «51 S47 187 »4Е (121 $30 •149 166 «62 1116 1126 120 Объем Магазин потребности Деиеер 160 Хьюстон 226 Атланта 100 Майами 260 Сиэтл 120 Детройт t60 Всего вйб Перевезено иэ_ Лос-Анджелеса Сент-Луиса 1S0 0 0 22S 0 100 0 28 120 0 0 0 270 360 Товарные (апасы 40G 350 Остаток 130 0 |Стоимость перевозок S16140 (15 000 . -■ л™,,. |<1 """ F Бостон tioe 1100 if S164 (зо Бостона 0 D 0 225 0 154) 375 500 125 124 375 - G Объем поставки 1БО 225 100 250 120 160 995 155 515 JQX) н it Итого | . I ЛГ Рис. 23.11. Решение, полученное с помощью процедуры поиска решений Глава 23. Анализ данных: подбор параметров и поиск решения 475
Постановка задачи является, пожалуй, одним из самых сложных этапов, поскольку здесь требуется ввести 27 ограничений. После задания всей необходимой информации щелкните на кнопке Выполнить, чтобы начать решение задачи. Этот процесс будет продолжаться некоторое время, но в конечном счете программа отобразит на экране решение, показанное на рис. 23.11. Общая стоимость перевозок составит 55 515 долларов, при этом все потребности магазинов будут удовлетворены. Обратите внимание, что товары в розничный магазин, находящийся в Майами, будут поступать как из Сент-Луиса, так и из Бостона. Распределение ресурсов В этом разделе рассматривается пример, который можно отнести к категории идеальных задач для решения с помощью метода поиска решений. По существу, в задачах подобного типа определяются способы оптимизации объемов выпускаемой продукции в зависимости от имеющегося количества ресурсов. На рис. 23.12 показан пример такого расчета для компании по производству детских игрушек. L^ESTTt™""™"™!"™™™?!? 1 ' А 4 5 в ь 3 * Материал Храсная краска "опусая краска «лая краска Пластмасса ДОеесжа Клей шНлоход от 1 игруижи лопичество 11 роюведенкьм wbvubk 12 1риЗьпь 13 ' >ощая прибыль Л. • иЧЛист! / в Игрушка А 0 3 2 1 3 1 (15 50 $750 SS750 _ С . О E F Компания АБВ О Количество материалов Игрушка Б 1 1 1 6 0 2 $30 50 $1500 Игрушка В 0 0 2 2 3 3 $2С 50 $1000 Игрушка Г 1 1 0 2 5 2 $25 50 $1250 Игрушка Д 3 0 2 1 5 3 {25 50 $1250 !•( Имеется 525 640 1 100 875 2200 1500 Н Используется 250 250 350 550 еоо 550 -IOI xf 1 -ГГ Остаток 375 390 750 325 1400 650 " ^ J -1Г Рис. 23.12. Применение процедуры поиска решения для максимизации получаемой прибыли в условиях ограниченности ресурсов Рассматриваемая компания производит пять видов игрушек, для которых используется шесть видов материала в различных количествах. Например, для выпуска игрушки А требуется 3 единицы голубой краски, 2 единицы белой краски, 1 единица пластмассы, 3 единицы древесины и 1 единица клея. В столбце G показаны текущие запасы каждого вида материала. В строке 10 показан доход от производства одной игрушки каждого вида. Количество произведенных игрушек находится в диапазоне B11:F11. Эти значения как раз и будут определяться с помощью процедуры поиска решения. Цель этого примера— определить, как следует распределить ресурсы, чтобы максимизировать значение общей прибыли, которое находится в ячейке В13. Другими словами, с помощью процедуры поиска решений будет определено, какое количество каждого вида игрушек необходимо изготовить для получения максимальной прибыли. Ограничения для этого примера сравнительно просты. ■ На выпуск продукции должны быть затрачены только имеющиеся в наличии ресурсы. Этого можно достичь, указав, что значения в каждой ячейке столбца I должны быть больше или равны нулю. ■ Количество произведенного не должно быть отрицательным. Этого можно достичь, указав, что значения в каждой ячейке строки 11 должны быть больше или равны нулю. 476 Часть IV. Анализ данных
На рис. 23.13 показаны результаты, полученные с помощью процедуры поиска решения. В таблице показано, какое количество продукции каждого вида нужно выпустить, чтобы получить максимальную прибыль, составляющую 12 365 долларов. Обратите внимание, что при этом все ресурсы, кроме клея, будут использованы полностью. Компания АБВ 3 Материал л ■ расная краска \ $1Гилуист крыьКВ .ПН Белая краска а^Шппастмасса I в древесина б кгей 1 Ю ноход от 1 vrpyuKH ! Количество 111 - х изведамнык игрушек I 12 р*бьль 13 ОоелЛЯ прибыль " и • * м n*tt\ Количество материалов Игрушка А 0 3 2 1 3 1 $» 194 $2903 «12 365 Игрушка Б 1 1 1 5 0 2 £30 19 $573 Игрушкя8 0 0 2 2 3 3 $20 ISO $3 163 Игрушка Г 1 1 0 2 5 2 ' $25 40 $1008 Игрушка Д 3 0 2 1 5 3 $25 189 $4713 Иияется 625 640 1 100 875 2200 1500 Используется 625 640 1 100 875 2200 1353 Остаток J 0 0 0 0 0 147 J J >1Г Рис. 23.13. С помощью процедуры поиска решения определяется, как использовать ресурсы, чтобы максимизировать общую прибыль Оптимизация портфеля ценных бумаг В этом примере показано, как использовать процедуру поиска решения, для того чтобы помочь максимизировать доходы от портфеля ценных бумаг. Портфель содержит несколько инвестиционных проектов, которые приносят различный доход. Кроме того, можно наложить несколько дополнительных ограничений, которые помогут снизить риск потерь и правильно распорядиться капиталом. Без таких ограничений подобная задача решается очень просто: нужно вложить все свои деньги в предприятие, приносящее наибольший доход. ~ -tOixl 4 S 6 » » » Исвестиция ' £уды на покупку новых автомобилей Ьсуды на покупку поддержанные автомобилей ■поточные ссуды ■шобеслвченньь- ссуды "эмгэвекив депозиты гасЕГО ДохооТ'» 6.90% 8.25% 8.90% 13.00% 4.60% Ооь?м иноеспшцш) 1000 ОМ 100СООО 1000 000 1000 000 100СООО $5 000 000 Доход 69 000 В2 5О0 ВО 000 130 000 *к:з $416 500 Дол» портфеля (Щ 20.00% 20.00% 20.00% 20.00% 20,00% Ю0,О0% [Общий доход "8,33%| » и\и-.*1/ Ссуды на покупку автомобилей 40,00% I Рис. 23.14. Этот лист создан для решения задачи максимизации доходов от инвестиций кредитного союза В этом примере используется гипотетическая модель кредитного союза— финансовой организации, которая принимает деньги от своих членов и выдает ссуды под проценты другим членам, выдает кредиты банкам и осуществляет некоторые виды инвестирования. Часть дохода от этих инвестиций перераспределяется между членами организации в виде дивидендов, которые зависят от доли их депозитных вкладов. Этот гипотетический кредитный союз должен придерживаться нескольких правил, касающихся инвестиций. Кроме того, правление Глава 23. Анализ данных: подбор параметров и поиск решения 477
может установить несколько своих правил. Эти правила и составляют ограничения для данной задачи. На рис. 23.14 показана рабочая книга, которая создана специально для этого примера. Ниже перечислены ограничения, которых необходимо придерживаться при работе с портфелем ценных бумаг стоимостью в 5 млн. долларов. ■ Сумма инвестиций в предприятия, торгующие новыми автомобилями; должна быть по крайней мере в 3 раза больше суммы инвестиций в предприятия, торгующие подержанными автомобилями, поскольку торговля подержанными автомобилями более рискованное дело. Это ограничение записывается так: С5>=С6*3. ■ Ссуды на автомобили должны составлять по крайней мере 15% от полной суммы портфеля. Это ограничение записывается так: D14> = 0,15. ■ Необеспеченные (негарантированные) ссуды должны составлять не более 25% от суммы портфеля. Это ограничение записывается так: Е8<=0, 25. ■ Банковские кредиты должны составлять по крайней мере 10% от суммы портфеля. Это ограничение записывается так: Е9>=0,10. ■ Все инвестиции должны быть больше или равны нулю. Иначе говоря, задача требует пяти дополнительных ограничений, которые обеспечивают, чтобы ни одна из изменяемых ячеек не стала отрицательной. Изменяемые ячейки— С5:С9, а цель данной задачи— максимизировать общий доход, указанный в ячейке D12. В изменяемые ячейки введено начальное значение 1 000 000. Если запустить процедуру поиска решения с этими параметрами, то будет получен результат, показанный на рис. 23.15. При этом общий доход составит 9,25%. .-ШЛ РИсвестиция : судь из покупку новы* ввто»-Jh-vei' Ссуды на покупку поддержанных ввтомобетей Ипотечные ссуды fi Необеспеченные ссуды Банковские депозиты «.ВСЕГО Ооъем Доля Доход (*'*) инвестиций Доход порюф*пя(%) 6.90% 562 500 38 813 11.25* В.25% 187 500 15 469 3.75% В.В0% 2 500 000 222 500 50.00« 13.00% 1250 000 162 500 25.00% 4,60% 500 000 23 000 10.00% $5 000 000 $462 281 Ю0,00% |Общий доход ,^25%) Ссуды на покупку автомобилей 15 00% 16 hi. Рис. 23.15. Результаты оптимизации портфеля ценных бумаг В этом примере начальные значения, введенные в изменяемые ячейки, очень важны. Если в качестве начальных значений использовать меньшие числа (например, 10) и заново запустить процедуру поиска решения, то будет получен неудовлетворительный результат. И действительно, общий доход будет составлять всего 8,35%. Это наглядно показывает, что процедура поиска не всегда достигает оптимального решения с первой попытки, даже если в диалоговом окне Результаты поиска решения сообщается, что все ограничения и условия оптимизации удовлетворены. Обычно лучшие результаты получаются, если заданы правильные начальные значения, которые ближе всего к окончательному решению. В этом аспекте следует отметить: сначала убедитесь, что вы хорошо овладели принципами, лежащими в основе процедуры поиска решения, и лишь затем доверяйте ей ответственную задачу принятия окончательного решения. Опробуйте разные начальные значения и подберите параметры процедуры поиска решения, чтобы увидеть, можно ли улучшить результаты поиска. 478 Часть IV. Анализ данных
Использование пакета анализа ГЛАВА ощность программ электронных таблиц определяется сложностью задач, которые можно решать с их помощью. В Excel для решения сложных задач предусмотрена надстройка Пакет анализа. Эта надстройка предлагает простые в использовании, но достаточно мощные средства для решения финансовых, статистических, инженерных задач, задач из области научных исследований, образования и многих других. Обзор пакета анализа Пакет анализа — это надстройка, обеспечивающая доступ к средствам анализа, которые обычно не входят в стандартную поставку Excel. Пакет анализа состоит из двух частей: ■ аналитические процедуры; ■ встроенные функции. В перечисленных инструментах анализа представлены возможности, которые могут оказаться полезными для широкой аудитории пользователей, в частности связанных с наукой, инженерным делом, образованием (не говоря о тех, деятельность которых связана с финансами и предполагает расширение стандартных возможностей электронных таблиц). Ниже представлен перечень типов анализа, проводимого с помощью средств пакета анализа (каждый из этих инструментов подробнее рассматривается далее в главе). ■ Дисперсионный анализ (три вида). ■ Корреляционный анализ. ■ Ковариационный анализ. ■ Описательная статистика. ■ Экспоненциальное сглаживание. ■ F-тест. В этой главе.. Обзор пакета анализа Использование средств пакета анализа Инструменты пакета анализа Функции пакета анализа ■ Анализ Фурье.
■ Гистограмма. ■ Скользящее среднее. ■ Генерация случайных чисел. ■ Ранг и персентиль. ■ Регрессия. ■ Выборка. ■ t-тест (три вида). ■ z-тест. Как видите; эта надстройка добавляет в Excel много новых возможностей. Однако эти процедуры имеют ограничения, и в некоторых случаях для выполнения вычислений лучше создавать собственные формулы. Кроме перечисленных процедур, в пакете анализа представлено много дополнительных функций, которые применимы к математическим и инженерным расчетам, финансовому анализу, переводу единиц измерения и дат. Использование средств пакета анализа В этом разделе рассматриваются два компонента пакета анализа: инструменты и функции. Установка пакета анализа В зависимости от первоначальной установки Excel на вашем компьютере, надстройка Пакет анализа может быть как доступной, так и недоступной. Чтобы проверить, имеется ли в распоряжении надстройка Пакет анализа, откройте меню Сервис. Если в нем есть команда Анализ данных, значит, все установлено должным образом. Если команда Сервис^Анализ данных отсутствует, выполните ряд действий. 1. Выберите команду СервисоНадстройки. 2. Установите флажок возле надстройки Пакет анализа. 3. Щелкните на кнопке ОК. Использование инструментов пакета анализа Пользоваться процедурами надстройки Пакет анализа относительно просто. Выберите команду СервисОАнализ данных. На экране появится диалоговое окно, показанное на рис. 24.1. Затем прокрутите представленный список, чтобы найти необходимый инструмент. Щелкните на кнопке ОК, после чего появится новое диалоговое окно, зависящее от выбранной процедуры. 480 Часть IV. Анализ данных
Обычно требуется определить один или несколько диапазонов ячеек с исходными данными и диапазон ячеек с выходными результатами (часто достаточно указать одну ячейку). При этом можно указать, чтобы результаты анализа помещались на новом рабочем листе или в новой рабочей книге. В каждой процедуре требуется указать разное количество дополнительной информации. Во многих диалоговых окнах есть опция, с помощью которой указывается, содержатся ли в заданном диапазоне данных заголовки. Если заголовки присутствуют, то для анализа необходимо ввести ссылку на весь диапазон, включая заголовки, и указать программе, что заголовки находятся в первом столбце или в первой строке. Excel будет использовать эти заголовки в создаваемых ею таблицах. Большинство инструментов имеют также различные опции, влияющие на вид результата. В некоторых случаях процедуры анализа вычисляют результат с использованием формул. Поэтому при изменении данных результат изменится автоматически. В других процедурах результат анализа выдается в форме фиксированных значений, так что, если изменить данные, результат останется прежним. Использование функций пакета анализа Если пакет анализа загружен, то можно воспользоваться рядом дополнительных функций (они полностью описаны во встроенной электронной справочной системе). Функции пакета анализа появятся в диалоговом окне Мастер функций в следующих категориях. ■ Дата и время. ■ Инженерные. Это новая категория, которая появляется после загрузки надстройки Пакет анализа. ■ Финансовые. ■ Информационные. ■ Математика и тригонометрия. Эти функции используются так же, как и любые другие, они появляются в диалоговом окне Мастер функций вместе с обычными функциями Excel. ^^^^ Если вы предполагаете, что с созданной вами рабочей книгой, в которой исполь- На заметку зуются функции пакета анализа, будут работать другие пользователи, убедитесь, W4TO у них также есть доступ к функциям этой надстройки. Если надстройка не установлена, формулы, использующие функции пакета анализа, будут возвращать ошибку #знач !. Инструменты пакета анализа В этом разделе описан каждый инструмент пакета анализа и приведены соответствующие примеры. Недостаток места не позволяет рассмотреть каждую опцию в этих процедурах. Но, если вам потребуются некоторые сложные инструменты анализа, вы, конечно, сами во всем разберетесь. Ь^ Результаты применения всех инструментов, обсуждаемых в этой главе, можно На компакт- найти на прилагаемом к книге компакт-диске, диске Глава 24. Использование пакета анализа 481
Дисперсионный анализ Дисперсионный анализ — это статистический тест, который определяет, взяты ли две или несколько выборок из одной и той же генеральной совокупности. С помощью пакета анализа можно выполнять дисперсионный анализ трех видов. ■ Однофакторный дисперсионный анализ. Простой дисперсионный анализ с использованием только одной выборки для каждой группы данных. ■ Двухфакторный анализ с повторениями. Расширенный дисперсионный анализ с несколькими выборками (или повторениями) для каждой группы данных. ■ Двухфакторный анализ без повторений. Расширенный дисперсионный анализ с одной выборкой для каждой группы данных. На рис. 24.2 показано диалоговое окно однофакторного дисперсионного анализа. Параметр Альфа задает статистический уровень значимости теста. Результаты представляют средние значения и дисперсию для каждой из четырех выборок, величину F, критические значения F и значимость F-статистики (вероятность). Корреляционный анализ Коэффициент корреляции широко используется в статистике для оценки степени зависимости двух наборов данных. Например, если наивысшие значения в одном наборе данных связаны с наивысшими значениями во втором наборе, у этих наборов положительная корреляция. Степень корреляции выражается коэффициентом, который лежит в интервале от -1,0 (полная отрицательная корреляция) до +1,0 (полная положительная корреляция). Нулевой коэффициент корреляции означает, что два набора некоррелированы (это часто принимается как подтверждение того, что наборы данных независимы). Диалоговое окно Корреляция показано на рис. 24.3. Требуется определить входной диапазон ячеек, который может состоять из любого количества переменных, сгруппированных по строкам или столбцам. *J Вводной интервал. Грутнров****: Г~ й*™* в первом строке 31 (• поето^цаи i Параметры вывода i С вы^дной интервал; | (• Новый рабочий 0«п 1 ( i Новая рабочее rwra ii >■•<..■ гбходные данные Входисй интервал: I Гругетирование' С построкам | Г" Метки в первой строке гПаранегры вывода * ■: С Выгодной интервал: С Новыйрабочмйдмст! f* Новая рабочая снига . £лравка J 31 Рис. 24.2. Определение параметров однофакторного дисперсионного анализа Рис. 24.3. Диалоговое окно Корреляция Результат представлен в виде корреляционной матрицы, в которой содержатся коэффициенты корреляции для каждой пары переменных. 482 Часть IV. Анализ данных
^^^-* Обратите внимание, что в результирующей корреляционной матрице не исполь- На заметку зуются формулы для вычисления результатов. Поэтому, если данные изменились, корреляционная матрица останется неизменной. Для создания корреляци- . онной матрицы, которая автоматически обновляется при изменении исходных данных, можно использовать функцию КОРРЕЛ. Ковариационный анализ При использовании средств ковариационного анализа создается матрица, аналогичная корреляционной. Ковариация определяется как среднее произведения отклонений каждой пары точек данных от их средних. Как и корреляция, она измеряет степень зависимости двух случайных переменных. Описательная статистика С помощью этого средства пакета анализа создается таблица с некоторыми стандартными статистическими параметрами данных. Диалоговое окно этого средства анализа показано на рис. 24.4. В полях опций К-ый наибольший и К-ый наименьший вводится ранг выводимого значения данных. Например, если флажок К-ый наибольший установлен и в поле этой опции указано значение 2, то будет выведено второе по величине значение из входного диапазона (в стандартные результаты анализа автоматически включаются максимальное и минимальное значения). В • ,'Дные л&*ът анодной интервал: "J 1 Группирование (* постоянна* С посдхжаи 1 ' Г" Цвтки е первой строка 1 Параметры вЫРОАД —— <~ BtfiKWuW интервал ) _а! ^ Новый рабочей пнСт- | * j С Новая рабочая книга • Г" Итоговая статистика ! Г" Ypooet* надежности; { * Г~ К-ый ц» н»ц|цй: К-ь*1 наибольший 1 *) 1 « 1 Отмена | Справка j Рис. 24.4. Диалоговое окно Описательная статистика Поскольку выходной результат состоит из значений (а не формул), эту процедуру можно использовать только в том случае, если вы уверены, что данные не будут изменяться. Иначе придется заново выполнить всю процедуру анализа. Эти статистические данные можно также вычислить, используя соответствующие формулы. Экспоненциальное сглаживание Это метод прогнозирования, основанного на данных предыдущего периода и скорректированного с учетом погрешностей в прогнозе предыдущего периода. Можно определить фактор затухания (также называемый константой сглаживания); он берется из интервала от 0 до 1. Этот фактор определяет, насколько существенно влияют на прогнозы погрешности в предыдущем периоде. Кроме того, можно вывести стандартные погрешности и построить диаграмму. С помощью этой процедуры создается формула, в которой используется заданный фактор затухания. Поэтому при изменении данных формулы автоматически обновляются. Глава 24. Использование пакета анализа 483
F-тест (для оценки дисперсий) Это часто используемый статистический тест, который позволяет сравнить дисперсии двух выборок. Диалоговое окно этого теста показано на рис. 24.5. В результатах анализа приведены среднее значение и дисперсия для каждой из выборок, величина F-статистики, критические значения F-статистики и ее значимость. Анализ Фурье С помощью этого средства выполняется быстрое преобразование Фурье для диапазона данных. Диапазон ограничен следующими размерами: 1, 2, 4, 8, 16, 32, 64, 124, 256, 512, 1024, 2048, 4096 точки данных. Входные и выходные значения этой процедуры могут быть комплексными числами. Гистограмма Эта процедура полезна для анализа распределения данных и построения гистограмм (графика эмпирической плотности вероятности). В качестве исходных значений нужно указать входной диапазон и интервалы значений. Интервал значений определяет границы для каждого столбца гистограммы. Если не указывать интервалы значений, Excel автоматически создаст равномерно распределенные интервалы. Диалоговое окно Гистограмма показано на рис. 24.6. В качестве дополнительной возможности предусмотрена сортировка результирующей диаграммы по частоте попадания данных в каждый интервал. Рис. 24.6. Средство Гистограмма позволяет проводить анализ распределения данных и представлять их в графическом виде Если установлен флажок Парето (отсортированная гистограмма), то в интервале значений должны находиться только значения, формулы использовать нельзя. Если в интервале значений появятся формулы, то сортировка, выполняемая программой Excel, будет неверной и в рабочем листе появятся ошибочные значения. *\ Другой способ выполнения этой операции описан в главе 11 в разделе "Создание Дополнительная распределения частот". информация 484 Часть IV. Анализ данных ЕИ*?~* -Xl ^f-эавкв г?ходные дажые -* Интервал переменной i; j ; *<Ытервая персн««ои 2 \ Г" йеткн &?»&&• \ 05 ,. У i Параметры выводе - * Г" 8&£кш«и интервал: | i) j (• Ноеляй рабочий лист: [ С Новая рабочая ^ига Рис. 24.5. Диалоговое окно F-шеста
Скользящее среднее Средство Скользящее среднее полезно для сглаживания очень изменчивого набора данных. Лучше всего использовать это средство вместе с диаграммой. Excel выполняет сглаживание путем вычисления скользящего среднего по заданному количеству значений. Во многих случаях скользящее среднее позволяет обнаружить тенденции, которые иначе сложно заметить из-за большого разброса данных. На рис. 24.7 показано диалоговое окно Скользящее среднее. В нем можно определить количество значений, используемых для вычисления каждого среднего. Есть также опция для вычисления стандартных погрешностей, которая помещает формулы для определения погрешностей рядом с формулами вычисления скользящего среднего. Значения стандартных погрешностей показывают степень различия между настоящими значениями и вычисленными средними. При выходе из этого диалогового окна Excel создаст формулы, ссылающиеся на указанный входной диапазон. Обратите внимание, что несколько первых выходных ячеек всегда содержат ошибку #Н/Д. Причина состоит в том, что для вычисления среднего в этих начальных значениях недостаточно исходных данных. Генерация случайных чисел Хотя в Excel и предусмотрена встроенная функция для вычисления случайных чисел, тем не менее средство Генерация случайных чисел является более удобным и гораздо более гибким, поскольку позволяет определять тип распределения для случайных чисел. На рис. 24.8 показано диалоговое окно Генерация случайных чисел. Его параметры изменяются в зависимости от выбранного типа распределения. 8 _■• -интервал || Г" Цетзси в первой строке фтераал " 3 1 « 1 Отмена | 1 -Si ги404МТрЫ еывОД4 аи*сл*ои интервал: ' Г* Вывод {рафике "31 Г" CTaMAapTMbWtiwpeutiOCTw Рис. 24.7. Диалоговое окно Скользящее среднее 1 еморлцая случайных 5 Ч*за огремеиных: 1&КЯ0 случайных чисел: Еасгвждеп»*»: Входной иитервапзкгменин t \ Случайное рассенвапив: Е&ходнондетврвая: > <•" Ноеый рабочие qkt: ' С Ное*я рабочая цнмг а •п Г- | Дискретное верятносгей. ^ •1 и с* | Отмена ] Ставке J Рис. 24.8. Это диачоговое окно позволяет генерировать наборы случайных чисел, подчиняющихся различным вероятностным законам В поле Число переменных указывается необходимое количество столбцов, а в поле Число случайных чисел — необходимое количество строк. Например, если нужно получить 200 случайных чисел, расположенных в 10 столбцах и 20 строках, введите в эти поля соответственно числа 10 и 20. Поле Случайное рассеивание позволяет задать начальное значение, которое будет использовано программой в алгоритме генерации случайных чисел. Обычно это поле оставляют Глава 24. Использование пакета анализа 485
пустым. Однако, если необходимо генерировать одинаковые последовательности случайных чисел, задайте рассеивание в диапазоне от 1 до 32 767 (допускаются только целые числа). Из раскрывающегося списка Распределение можно выбрать одну из перечисленных ниже опций. ■ Равномерное. Генерируется последовательность равномерно распределенных случайных чисел в заданном интервале. Необходимо указать верхнюю и нижнюю границы интервала. ■ Нормальное. Генерируется последовательность случайных чисел, соответствующих нормальному распределению. Задается среднее значение и стандартное отклонение. ■ Бернулли. Генерируется последовательность случайных чисел, принимающих только значение 0 или 1, в зависимости от заданной вероятности успеха. ■ Биномиальное. Генерируется последовательность случайных чисел, соответствующих распределению Бернулли для некоторого числа попыток, с заданной вероятностью успеха. ■ Пуассона. Генерируется последовательность случайных чисел, соответствующих распределению Пуассона. Это распределение характеризует дискретные события, происшедшие в интервале времени, где вероятность одного события пропорциональна размеру интервала. Параметр Лямбда — это ожидаемое количество событий в интервале времени. В распределении Пуассона Лямбда равняется среднему, которое совпадает с дисперсией. ■ Модельное. Эта опция на самом деле не генерирует случайных чисел. Вместо этого она повторяет последовательность чисел в заданном порядке. ■ Дискретное. Эта опция позволяет определить вероятность, характеризующую выбираемые значения. Для нее требуется входной диапазон, состоящий из двух столбцов: в первом столбце содержатся значения, а во втором — вероятности каждого значения. Сумма вероятностей во втором столбце должна равняться 1. Ранг и персентиль С помощью этого средства создается таблица, показывающая порядковый и процентный ранги для каждого значения из заданного диапазона ячеек. Регрессия С помощью средства Регрессия выполняется регрессионный анализ данных рабочего листа. Регрессия используется для анализа тенденций и построения прогнозирующих моделей. Очень часто к этому средству прибегают для того, чтобы как-то связать набор на первый взгляд не связанных между собой чисел. Регрессионный анализ позволяет выявить степень зависимости одного диапазона данных (зависимая переменная) от одного или нескольких других диапазонов данных (независимые переменные). Зависимость выражается математически с использованием значений, вычисленных в Excel. Эти вычисления можно использовать для создания математической модели данных и предсказания значения зависимой переменной, которое определяется различными значениями одной или нескольких независимых переменных. С помощью этого средства можно выполнять простую или множественную линейную регрессию и автоматически вычислять и стандартизировать остатки. На рис. 24.9 показано диалоговое окно Регрессия. 486 Часть IV. Анализ данных
дныеа 1 I Кдмстанта - моль "3 &<олиой интервал ¥: I Входной интервал Х^ ! Г ветки Г" йэоеамь надежности: [-Параметры вывод* —— I f выходной интервал: г# Новый рабочий «*гт* | __^^^^^™ | f Новая рабочая днига Остатки : ■ — — '■ ' Г" Остатки Г* Срафик остатков |, Г~ С1андартизованмые остатки Г* График грлбора ; Нориа/ьная вероятность - Г~ Грофиг нррюпьнои ьеровгности ,-£тиека 3] Л/с. 24.9. Диалоговое окно Регрессия Как видите, в нем находится довольно много опций, которые кратко описаны ниже. ■ Входной интервал Y. Диапазон, содержащий зависимые переменные. ■ Входной интервал X. Один или несколько диапазонов, содержащих независимые переменные. ■ Уровень надежности. Уровень надежности для регрессии. ■ Константа-ноль. Если флажок данной опции установлен, то регрессия будет содержать константу, соответствующую нулю (это значит, что линия регрессии будет проходить через начало координат, другими словами, когда значение X — нуль, предсказанное значение Y будет тоже нуль). ■ Остатки. Эта опция определяет, включать или нет остатки в выходной диапазон. Остатки — это разности между наблюдаемыми и предсказанными значениями. ■ Нормальная вероятность. Эта опция предназначена для построения диаграммы нормальной вероятности. Выборка С помощью средства Выборка можно выполнить случайную выборку данных из диапазона входных значений. Это полезно при работе с подмножеством большой базы данных. Диалоговое окно Выборка показано на рис. 24.10. В этой процедуре присутствуют две опции — Периодический и Случайный. Периодическая выборка выбирает каждое n-е значение входного диапазона, где п — заданный период. При случайной выборке задается размер выборки и каждое значение выбирается из диапазона входных значений с равной вероятностью. t-тест Процедура t-mecm используется для определения факта статистически значимого различия между двумя небольшими выборками. Пакет анализа может выполнять тест трех типов. ■ Парный двухвыборочный t-тест для средних. Используется для парных выборок, в которых содержатся данные о двух наблюдениях за одним и тем же объектом (например, результаты вступительных и выпускных экзаменов). Выборки должны быть одинакового размера. Глава 24. Использование пакета анализа 487
■ Двухвыборочный t-тест с одинаковыми дисперсиями. Используется для независимых, а не парных выборок. Предполагает равенство дисперсий этих выборок. ■ Двухвыборочный t-тест с разными дисперсиями. Используется для независимых выборок. Предполагает неравные дисперсии выборок. На рис. 24.11 показано диалоговое окно парного двухвыборочного t-теста. В нем нужно задать уровень надежности — параметр Альфа и гипотетическую среднюю разность между двумя средними (нулевая гипотеза). ййодной интеовля; Г~Й*1ГКИ **«Л :л~™ <~~ ££риодиче«ий Период- | Чисповыборао | С выходной интервал; 1 1* Ноеьй рабочий |»кт' | С Новая раеючая &нг& Ы - si' ■- *j 1 « 1 Отмене 1 ,,■ ^правке | ' Рис. 24.10. Средство Выборка служит для получения случайной выборки ■■!■!!"!> *! rf&oaw»» данные - интеревл переменной Jj йнтерааяпереиенной 2: Г**ютетиче«ея средняя раэмостъ: А^ьф*|0,05 ■Г" еиходмои ттередь | Р* Новый рабочий ®ст: | si Г~ si Отмена | £праека | ; У Новая рабочая s#ra Ямс. 24. П. Диалоговое окно парного t-mecma Двухвыборочный z-тест для средних Тогда как t-тесты используются для небольших выборок, z-тест предназначен для больших выборок или совокупностей. Должны быть известны дисперсии для обоих входных интервалов. 488 Часть IV. Анализ данных
Дополнительные возможности Excel ЧАСТЬ ногие средства и возможности Excel можно назвать дополнительными, поскольку они используются нечасто, но позволяют значительно расширить круг задач, решаемых с помощью Excel. В этой части описываются возможности Excel, которые, скорее всего, вы не использовали ранее, но наверняка найдете полезными и заслуживающими внимания. В этой части... Глава 25 Пользовательские числовые форматы Глава 26 Настройка панелей инструментов и меню Глава 27 Условное форматирование и проверка данных Глава 28 Структурирование рабочих листов Глава 29 Связывание и консолидация данных Глава 30 Excel и Internet Глава 31 Обмен данными с другими приложениями Глава 32 Совместная работа в Excel Глава 33 Поиск ошибок в рабочих листах
В этой главе. Обзор пользовательских числовых форматов Создание пользовательских числовых форматов Коды, используемые в пользовательских числовых форматах Примеры пользовательских числовых форматов Пользовательские числовые форматы |^^\ озможность создавать пользовательские числовые фор- \шш^ маты в Excel является одним из самых мощных средств. Несмотря на то что Excel содержит большое количество встроенных числовых форматов, среди них далеко не всегда можно найти формат, который подходит для ваших нужд. Прочитав эту главу, вы узнаете, как создавать собственные числовые форматы, а также найдете множество полезных примеров. Числовые форматы По умолчанию все ячейки рабочего листа имеют числовой формат Общий. В этом формате все данные отображаются в том виде, в котором они были введены. Но если ширины ячейки недостаточно, то, чтобы вместить все содержимое ячейки, действительные числа округляются, а большие числа отображаются в экспоненциальной форме. Следовательно, для более полного восприятия информации могут потребоваться другие числовые форматы. Вы должны помнить главное: числовые форматы влияют только на то, как отображаются значения в ячейках. Само значение всегда остается неизменным, и в формулах используется действительное, а не отформатированное значение. __^^^ Обратите внимание: если в диалоговом окне Параметры во вкладке Вычисления установить опцию точность как на экране, то в формулах будут использоваться отображаемые значения ячеек. На заметку / Автоматическое форматирование чисел Некоторые операции форматирования Excel способна выполнять автоматически. Например, если ввести в ячейку 12,3%, то программа автоматически применяет процентный формат.
Аналогично, если используется пробел для отделения в числах тысяч от сотен (например, 123 456), Excel автоматически применяет форматирование с этим разделителем групп разрядов. Если же поставить после числового значения знак денежной единицы, установленный по умолчанию, например р., то к данной ячейке будет применен денежный формат. Excel позволяет легко вводить в ячейки числовые значения в процентном форма- Совет те. Выберите команду Сервис*Параметры и перейдите во вкладку Правка. Если установлен флажок Автоматический ввод процентов, то можно вводить в ячейку, к которой применен процентный формат, числа в обычном виде. Они будут восприниматься программой как значения процентов (например, введите 12,5 для 12,5%). Если этот флажок не установлен, то необходимо вводить значения процентов как десятичные дроби (например, 0,125 для 12,5%). Программа Excel автоматически применяет встроенные числовые форматы к выделенной ячейке на основе ряда критериев. ■ Если число содержит знак косой черты (/), к нему может быть применен формат дат. ■ Если число содержит одну или более точек (.), к нему может быть применен формат дат. ■ Если число содержит один или более знаков дефис (-), к нему может быть применен формат дат. ■ Если число содержит одно или более двоеточий (:), к нему может быть применен формат времени. ■ Если число содержит латинскую букву Е (строчную или заглавную), к нему может быть применен экспоненциальный формат. Чтобы избежать автоматического форматирования чисел, либо заранее приме- Совет ните к ячейке нужный числовой формат, либо перед числом введите апостроф. В последнем случае Excel отнесется к содержимому ячейки как к тексту, но сам \ апостроф на экране отображаться не будет. Форматирование чисел с помощью панели инструментов На панели инструментов форматирования, которая отображается на экране по умолчанию, находится несколько кнопок, позволяющих быстро применить самые распространенные форматы чисел. Если щелкнуть на одной из этих кнопок, к активной ячейке будет применен выбранный числовой формат. Можно также выделить диапазон ячеек (или даже всю строку либо столбец рабочего листа), а затем щелкнуть на одной из кнопок форматирования. Если выделено несколько ячеек, то числовой формат будет применен ко всем выделенным ячейкам. В табл. 25.1 приведены числовые форматы, которые можно применить, щелкнув на соответствующей кнопке панели инструментов форматирования. С помощью этих пяти кнопок панели инструментов форматирования можно применить к выделенным ячейкам готовые стили числовых форматов. Чтобы получить доступ к определенным стилям, выберите команду ФорматОСтиль. На замет / заметку Глава 25. Пользовательские числовые форматы 491
Название кнопки Применяемое форматирование Денежный формат Добавляет знак денежной единицы, разделитель групп разрядов и отображает числовые значения с двумя знаками после запятой Процентный формат Отображает числовое значение в виде процента без десятичных разрядов после запятой Формат с разделителями Вставляет разделитель групп разрядов и отображает числовое значение с двумя знаками после запятой Увеличить разрядность Увеличивает на единицу число десятичных разрядов после запятой Уменьшить разрядность Уменьшает на единицу число десятичных разрядов после запятой Форматирование чисел с использованием комбинаций клавиш Задать форматы чисел можно с помощью комбинаций клавиш. В табл. 25.2 приведены комбинации клавиш , которые используются при форматировании чисел для выделенной ячейки или диапазона ячеек. Таблица 25.2. Комбинации клавиш для форматирования чисел Комбинация клавиш Применяемое форматирование <Ctrl+Shift+"> Общий числовой формат (т.е. неотформатированные значения) Ctrl+Shift+$> Денежный формат с двумя знаками после запятой (отрицательные числа записываются в скобках) <Ctrl+Shift+%> Процентный формат без десятичных разрядов после запятой <Ctrl+Shift+"> Экспоненциальный формат чисел с двумя знаками после запятой <Ctrl+Shift+#> Формат дат с указанием дня, месяца и года <Ctrl+Shift+@> Формат дат с отображением часов и минут <Ctrl+Shift+!> Числовой формат с двумя знаками после запятой, разделителем разрядов и дефисом для отрицательных значений Форматирование чисел с помощью диалогового окна Формат ячеек Дополнительные опции настройки числовых форматов находятся во вкладке Число диалогового окна Формат ячеек. Здесь представлен список, состоящий из 12 категорий числовых форматов. При выборе соответствующей категории из списка Числовые форматы правая сторона панели изменяется так, чтобы отобразить соответствующие опции. Ниже приведен список категорий числовых форматов с краткими комментариями. 1 В зависимости от языковых настроек операционной системы действие некоторых комбинаций клавиш может отличаться. — Прим. ред. 492 Часть V. Дополнительные возможности Excel
■ Общий. Формат, принятый по умолчанию. При его выборе числа отображаются в виде целых чисел, десятичных дробей или, если число слишком большое и не помещается в ячейке, в экспоненциальном формате. ■ Числовой. Позволяет указать число десятичных знаков, определить разделитель групп разрядов и способ отображения отрицательных чисел (они могут быть представлены со знаком "минус", выделены красным цветом или красным цветом со знаком "минус"). ■ Денежный. Позволяет указать число десятичных знаков, использование знака денежной единицы и способ отображения отрицательных чисел (они могут быть представлены со знаком "минус", выделены красным цветом или красным цветом со знаком "минус"). В этом формате всегда используется разделитель групп разрядов. ■ Финансовый. Отличается от денежного тем, что знаки денежной единицы всегда выровнены по вертикали (эта опция имеет значение, если используется денежная единица, которая отображается слева от числа). ■ Дата. Позволяет выбрать один из форматов отображения дат. ■ Время. Предоставляет на выбор несколько форматов отображения времени. ■ Процентный. Позволяет выбрать число десятичных знаков. Символ процента отображается всегда. ■ Дробный. Позволяет выбрать один из девяти дробных форматов отображения чисел. ■ Экспоненциальный. В этом формате число всегда отображается с буквой Е. Также можно выбрать число десятичных знаков для отображения. ■ Текстовый. Его применение к числовому значению заставляет Excel рассматривать это число как текст (даже если текст выглядит как число). Это полезно, например, д < отображения номеров кредитных карт. ■ Дополнительный. Включает четыре дополнительных числовых формата: Почтовый индекс, Индекс+4, Номер телефона и Табельный номер. ■ Все форматы. Позволяет создавать собственные числовые форматы, не входящие ни в одну из перечисленных категорий. Если в ячейке находится ряд символов "решетка" (#########), это значит, что Совет столбец недостаточно широк для отображения числа в выбранном формате. . Чтобы увидеть содержимое ячейки, увеличьте ширину столбца (перетащите пра- ij-J вую границу заголовка столбца) или измените числовой формат. Кроме того, последовательность этих символов может означать, что в ячейку было введено недопустимое значение даты или времени. Создание новых числовых форматов В категории Все форматы вкладки Число диалогового окна Формат ячеек (рис. 25.1) можно создавать собственные числовые форматы, которые не входят ни в одну категорию. Excel предоставляет множество возможностей по созданию пользовательских числовых форматов. ^^^ Определяемые пользователем числовые форматы сохраняются вместе с рабо- Назаметку чей книгой. Чтобы такой формат можно было применить в Другой рабочей книге, нужно скопировать ячейки, в которых он используется, в эту книгу. Глава 25. Пользовательские числовые форматы 493
I Выравнивание ] Шрифт { Граница { Вид Обрама- Финансовый Lara Процентий Дробный Экспоненциальный fa Осно Н5 о 0,00 »#« ■ » ««0,00 *#*o_p_;-##«Oj>_. ##«_,. 'Kpaout }#*#0_р . ■g d Маска формата позволяет управлять отображением значений в имеющиеся форматы не подходят, добавьте мовьЙ формат Рис. 25.1. Вкладка Число диалогового окна Формат ячеек Числовые форматы, определяемые пользователем Как правило, новый числовой формат создается путем построения шаблона числа с помощью ряда кодов, которые записываются в виде шаблона числового формата. Последовательность кодов нужно ввести в поле Тип вкладки Число диалогового окна Формат ячеек, когда активизирована категория все форматы. Вот пример шаблона простого числового формата: 0,000 Этот шаблон состоит из указателей десятичных разрядов и десятичной запятой. Данный шаблон означает, что нужно отображать числовое значение с тремя цифрами справа от десятичной запятой. Ниже приведен другой пример: 000000 В этом формате шесть разрядов. Таким образом, он позволяет отобразить число с шестью цифрами (без десятичной запятой). Этот формат удобно использовать в том случае, если в ячейке содержится почтовый индекс (приведенный шаблон на самом деле используется в формате Почтовый индекс в категории Дополнительный). Когда вы отформатируете ячейку с помощью этого числового формата, а затем введете почтовый индекс, например 006604, то в ячейке будет отображено числовое значение, включая первые нули. Если же ввести это число в ячейку, к которой применен формат Общий, то оно будет отображено в виде 6604 (без первых нулей). Чтобы увидеть другие примеры, просмотрите в диалоговом окне Формат ячеек список числовых форматов, которые относятся к категории все форматы. Как правило, один из приведенных там шаблонов можно использовать в качестве отправной точки для создания собственного шаблона. Вам останется лишь слегка его отредактировать. Наш диске змпаст- е Рабочую книгу, в которой содержится множество примеров числовых форматов, определенных пользователем, можно найти на прилагаемом компакт-диске. 494 Часть V. Дополнительные возможности Excel
Шаблон числового формата Программа Excel позволяет указать различные шаблоны форматирования для положительных и отрицательных чисел, нулевых значений и текста. Для этого коды в шаблоне нужно разделить точкой с запятой. Коды в шаблоне располагаются следующим образом: Формат для положительных чисел; Формат для отрицательных чисел; Формат для нулевых значений; Формат для текста Если в шаблоне числового формата указан только один раздел, то он применяется ко всем значениям, которые могут содержаться в ячейке. При указании двух разделов первый применяется для форматирования положительных и нулевых значений, а второй — для форматирования отрицательных значений. В случае указания трех разделов первый используется для форматирования положительных значений, второй — для отрицательных, третий — для нулевых значений. Если же указаны все четыре раздела, то четвертый используется для форматирования текста, содержащегося в ячейке. Вот пример определяемого пользователем шаблона с указанием различных форматов для каждого из числовых значений и текста: [Зеленый]Основной; [Красный]Основной; [Черный]Основной; [Синий]Основной В этом примере для выделения различных форматов используются специальные ключевые слова для обозначения цветов. Содержимое ячейки, отформатированной с помощью этого определяемого пользователем шаблона, будет отображаться разными цветами в зависимости от находящегося в ней числового значения. В данном случае положительные числа будут зелеными, отрицательные — красными, нуль — черным, а текст — синим. Если вы хотите автоматически отформатировать ячейку таким образом, чтобы ^опопшггельЛя выделять текст или фон ячейки определенным цветом в зависимости от ее со- 1 держимого, лучше всего воспользоваться средством Условное форматировать*"^"'"" ние. О нем речь идет в главе 27. Предварительное форматирование ячеек Чаще всего числовые форматы будут применяться к ячейкам, в которых уже содержатся числа. Но можно заранее отформатировать ячейки с помощью некоторого числового формата. Если после этого вы введете числовое значение, то оно будет отображено в выбранном формате. Можно заранее отформатировать отдельные ячейки, целые строки или столбцы и даже весь рабочий лист. Однако, вместо того чтобы вручную форматировать весь рабочий лист, лучше изменить числовой формат для стиля Обычный. При форматировании всем ячейкам назначается стиль Обычный, если не указан другой стиль. Для изменения параметров стиля Обычный выберите команду Формат^Стиль. В диалоговом окне Стиль щелкните на кнопке Изменить, а затем для стиля Обычный выберите новый числовой формат. Коды пользовательских числовых форматов В табл. 25.3 приведены коды форматирования, которые можно использовать при построении собственных шаблонов, а также их краткое описание. Примеры использования большинства этих кодов будут представлены далее в главе. Глава 25. Пользовательские числовые форматы 495
о (нуль) Таблица 25.3. Коды пользовательских числовых форматов Код Комментарий общий Отображает число в формате Общий # Цифровой разряд. Отображаются только значащие цифры, а незначащие нули не отображаются Значащий цифровой разряд. Если количество разрядов числа меньше, чем указано нулей в числовом формате, то слева от числа дописываются нули Цифровой разряд. Если количество разрядов числа слева или справа от десятичной запятой меньше, чем указано знаков вопроса, то недостающие разряды замещаются пробелами. Таким образом, если в ячейке используется моноширинный шрифт, можно выровнять положение десятичной запятой. Также можно выравнивать знак деления в дробях с разным количеством разрядов Десятичная запятая Разделитель тысяч Знак процента Экспоненциальный формат Отображает этот символ \ Отображает следующий символ в формате * Повторяет следующий символ до заполнения ширины столбца _ (подчеркивание) Пропуск на ширину следующего символа "текст" Отображает текст, заданный в двойных кавычках @ Место для текста [цвет] % Е- $- Е+ +/() е- е+ : пробел [ЦВЕТ П] [условный шаблон] Отображает символы указанным цветом. Можно установить следующие цвета (регистр символов не важен): черный, синий, голубой, зеленый, розовый, красный, белый или желтый Отображает соответствующий цвет из цветовой палитры, где п — число от 0 до 56 Позволяет задать собственный критерий для каждой секции числового формата В табл. 25.4 приведены коды, используемые при создании определяемых пользователем форматов для дат и времени. Таблица 25.4. Коды определяемых пользователем форматов для дат и времени Что отображает Код м Месяц в виде числа, исключая первый нуль (1-12) мм Месяц в виде числа, включая первый нуль (01-12) ммм Месяц в виде аббревиатуры (Янв-Дек) мммм Полное название месяца (Январь-Декабрь) ммммм Первая буква названия месяца (Я-Д) Д День в виде числа, исключая первый нуль (1-31) ДД День в виде числа, включая первуй нуль (01-31) ДДД Сокращенное название дня (Пн-Вс) 496 Часть V. Дополнительные возможности Excel
Окончание табл. 25.4 Код Что отображает дддд Полное название дня (Понедельник-Воскресенье) гг или гггг Год в виде двузначного числа (00-99) или в виде четырехзначного (1900-2078) ч или чч Часы в виде числа, отбрасывая первый нуль (0-23) или сохраняя его (00-23) м или мм Минуты в виде числа, исключая первый нуль (0-59) или сохраняя его (00-59) с или ее Секунды в виде числа, исключая первый нуль (0-59) или сохраняя его (00-59) [ ] Часы, если их больше 24, а также минуты или секунды — если их больше 60 ам/рм Время в 12-часовом формате. Если не указан ни один из этих модификаторов, то время отображается в 24-часовом формате Числовые форматы, автоматически создаваемые Excel В некоторых случаях Excel создает числовые форматы автоматически, без вашего участия. При использовании кнопок Увеличить разрядность и Уменьшить разрядность, расположенных на панели инструментов форматирования, Excel создает новые числовые форматы, которые можно увидеть во вкладке Число диалогового окна Формат ячеек. Например, если щелкнуть на кнопке Увеличить разрядность пять раз, то будут созданы следующие числовые форматы: о, о О, 000 0,0000 О,00000 Числовой шаблон для отображения числа с двумя разрядами после запятой не будет создан, поскольку он является встроенным. Примеры числовых форматов, определенных пользователем В оставшейся части этой главы приведены полезные примеры пользовательских числовых форматов. Большинство шаблонов форматов можно использовать в том виде, в котором они здесь приведены. Но некоторые, возможно, придется несколько модифицировать, чтобы они соответствовали вашим потребностям. Масштабирование значений С помощью числовых форматов, определяемых пользователем, можно изменять масштаб значений. Например, если вам часто приходится работать с большими числами, их можно отобразить в тысячах (т.е. число 1 000 000 будет отображаться как 1 000). Конечно же, в расчетах будет использоваться действительное число, поскольку форматирование влияет только на то, как будет отображаться число. Глава 25. Пользовательские числовые форматы 497
Отображение чисел в тысячах При использовании приведенного ниже шаблона формата числа будут отображаться без последних трех разрядов, стоящих слева от десятичной запятой. Другим словами, число будет выглядеть так, как будто его разделили на 1 000 и округлили до ближайшего целого. В конце шаблона обязательно нужно добавить один пробел. # ### Ниже приведен модифицированный вариант этого шаблона. В последнем случае число будет выглядеть так, как если бы его разделили на 1 000 и округлили до сотых. (Не забудьте поставить пробел в конце шаблона.) # ###,00 В табл. 25.5 показаны примеры использования этих числовых форматов. Таблица 25.5. Примеры отображения чисел в тысячах Значение Числовой формат Отображение 123456 1234565 -323434 123123,123 499 500 123456 1234565 -323434 123123,123 499 500 # ### # ### # ### # ### # ### # ### # ###,00 # ###,00 # ###,оо # ###,оо # ###,оо # ###,оо 123 1235 -323 123 (Пустая ячейка) 1 123,46 1 234,57 -323,43 123,12 0,50 0,50 Отображение чисел в сотнях Приведенный ниже шаблон числового формата позволяет отобразить числа в сотнях с двумя разрядами после запятой. Число будет выглядеть так, как будто его разделили на 100 и округлили до сотых. 0","00 В табл. 25.6 представлены примеры использования этого пользовательского числового формата. Таблица 25.6. Примеры отображения чисел в сотнях Значение Числовой формат Отображение 546 100 9890 О","00 О","00 О","00 5,46 1,00 98,90 498 Часть V. Дополнительные возможности Excel
Окончание табл. 25.6 Значение 500 -500 0 Числовой формат 0","00 0","00 0","00 Отображение 5,00 -5,00 0,00 Отображение чисел в миллионах При использовании приведенного ниже числового формата числа отображаются в миллионах. Число будет выглядеть так, как будто его разделили на 1 000 000 и округлили до ближайшего целого. В конце шаблона следует ввести два знака пробела. # ### В следующем примере приведенный шаблон изменен так, чтобы отображать два разряда после запятой. (В конце шаблона необходимо добавить два пробела.) # ###,00 В следующем примере в конце числа будет добавляться обозначение "млн.": # ###,00 " млн." Приведенный ниже шаблон числового формата несколько сложнее. Кроме того, что в конце числа дописывается "млн.", отрицательные числа берутся в скобки и на экран будут корректно выводиться нулевые значения. # ###,0 " млн."_);(# ###,0 " млн."),-0,0" млн."_) В табл. 25.7 приведены примеры использования описанных выше числовых форматов. Таблица 25.7. Примеры отображения чисел в миллионах Значение 123456789 1.23457Е+11 1000000 5000000 -5000000 0 123456789 1.23457Е+11 1000000 5000000 -5000000 0 123456789 1.23457Е+11 1000000 Числовой формат # ### # ### # ### # ### # ### # ### # ###,00 # ###,00 # ###,00 # ###,00 # ###,00 # ###,00 ###,00 " ###,00 " ###,00 " млн. " млн. " млн. " Отображение 123 123 457 1 5 -5 (Пустая ячейка) 123,46 123 457,00 1,00 5,00 -5,00 0,00 123 млн. 123 457 млн. 1 млн. Глава 25. Пользовательские числовые форматы 499
Окончание табл. 25.7 Значение 5000000 -5000000 0 123456789 1.23457Е+11 1000000 5000000 -5000000 0 Числовой формат ###,00 " млн." ###,00 " млн." ###,00 " млн." # ###,0 " млн."_ # ###,0 " млн."_ # ###,0 " млн."_ # ###,0 " млн."_ # ###,0 " млн."_ # ###,0 " млн."_ ); (# ###,0 ); (# ###,0 );(# ###,0 );(# ###,0 ); (# ###,0 );(# ###,0 1 млн. 1 млн. ' млн. 1 млн. 1 млн. 1 млн. ") ") ") ") ") ") о о 0 о 0 0 0" 0" 0" 0" 0" 0" млн. "_ млн. "_ млн. " млн. "_ млн. "_ млн. "_ Отображение 5 млн. -5 млн. млн. .) 123,5 млн. .) 123 457,0 млн. .) 1,0 млн. .) 5,0 млн. _) (5,0) млн. _) 0,0 млн. Добавление нулей При использовании приведенного ниже числового формата значения будут отображаться с тремя дополнительными нулями и без дробной части. Число будет выглядеть так, как будто его округлили до ближайшего целого и умножили на 1 000. #" 000" Примеры использования этого числового формата, а также его модификации с шестью нулями представлены в табл. 25.8. Таблица 25.8. Примеры отображения чисел с дополнительными нулями Значение Числовой формат Отображение 1 1,5 43 -54 5,5 0,5 О 1 1,5 43 -54 5,5 0,5 0 #" 000" #" 000" #'• 000" #" 000" #" 000" #" 000" #" 000" #" 000 000" #" 000 000" #" 000 000" #" 000 000" #" 000 000" #" 000 000" #" 000 000" 1000 2 000 43 000 -54 000 6 000 1000 000 1 000 000 2 000 000 43 000 000 -54 000 000 6 000 000 1 000 000 000 000 500 Часть V. Дополнительные возможности Excel
Отображение незначащих нулей Чтобы отобразить незначащие нули, в шаблоне пользовательского числового формата необходимо использовать символы "О". Например, чтобы все числа содержали ровно 10 разрядов, примените к ним числовой формат, показанный ниже. Если число содержит менее 10 разрядов, к нему слева будут добавлены нули. 0000000000 Кроме того, можно отобразить все числа с фиксированным количеством дополнительных нулей. При использовании следующего формата, например, к числу будет добавлено три нуля: "000"# В следующем примере шаблон формата содержит символ "*"; в результате все пустое пространство в ячейке будет заполнено нулями: *00 Отображение дробей В Excel поддерживается довольно немного встроенных числовых форматов дробей, которые находятся в категории Дробный во вкладке Число диалогового окна Формат ячеек. Например, чтобы отобразить число 0,125 в виде дроби со знаменателем 8, в списке Тип выберите Восьмыми долями (4/8), как показано на рис. 25.2. т Чкяо | Выраюсание J Цфифт [ Громче } вид | Защита j ^*<жя>л фориаты. -Образец Общий ?|х( Рис. 25.2. Выбор числового формата для отображения дробей С помощью пользовательских форматов можно создавать дополнительные форматы для отображения дробей. Например, с помощью следующего числового формата можно отобразить значение пятидесятыми долями: #" "??/50 Приведенный ниже шаблон числового формата позволяет отобразить значение в долларах. Например, значение 154,87 будет отображаться как 154 и 87/100 долларов. 0" и "??/100" долларов" При использовании числового формата, приведенного ниже, значения будут отображаться в шестнадцатых долях с символом двойной кавычки справа от числа. Этот числовой формат удобно применять для обозначения дюймов (например, 2/16"). #" "??/16\" Глава 25. Пользовательские числовые форматы 501
Отображение знака "минус" справа от числа С помощью приведенного ниже пользовательского числового формата отрицательные числа будут отображаться со знаком "минус" справа от числа. Положительные числа будут содержать дополнительный отступ справа для того, чтобы как положительные, так отрицательные числа были одинаково выровнены. 0,00 -;0, 0 0 - Проверка пользовательских числовых форматов При создании собственных числовых форматов проверяйте правильность вывода значений не только на основе содержимого поля Образец во вкладке Число диалогового окна Формат ячеек. В этом поле отображается текущее значение выделенной ячейки, отформатированное с помощью выбранного числового формата. Лучше всего проверять правильность отображения значений на основе положительного, отрицательного, нулевого и текстового значений. Корректно задать пользовательский числовой формат зачастую удается только после нескольких попыток. Каждый раз, когда вы вносите какие-либо изменения в шаблон формата, он добавляется в список пользовательских числовых форматов. Поэтому, если вы уверены, что все типы данных форматируются правильно, откройте еще раз диалоговое окно Формат ячеек и удалите созданные ранее некорректные шаблоны форматов. Форматирование дат и времени Когда в ячейку вводится дата, Excel по умолчанию выводит ее в кратком формате даты. Изменить этот формат можно, вызвав окно Язык и стандарты с панели управления Windows. Программа Excel содержит множество полезных встроенных форматов дат и времени. В табл. 25.9 представлены некоторые пользовательские шаблоны форматов дат и времени. В первом столбце таблицы содержится порядковый номер даты или времени. Таблица 25.9. Примеры форматирования дат и времени Значение Числовой формат Отображение 38137 38137 38137 38137 38137 0,345 0,345 Д ММММ ГГГГ (ДДДД) "Сегодня" ДДДД! ДДДД, ДД.ММ.ГГГГ "Месяц: "ММММ Основной (Д.М.ГГГГ) ч "часов" "Время: "ч:мм 30 Май 2004 (воскресенье) Сегодня воскресенье! воскресенье, 30.05.2004 Месяц: Май 38137 (30.5.2004) 8 часов Время: 8:16 Детальная информация о внутренней системе представления дат и времени в ополнитепьАя Excel приведена в главе 10. нформация 502 Часть V. Дополнительные возможности Excel
Отображение текста и чисел Одним из основных преимуществ в использовании пользовательских числовых форматов является возможность отображать текст вместе с числами. Чтобы добавить текст, создайте нужный числовой формат, а затем вставьте в него текст в двойных кавычках. Следующий шаблон формата, например, позволяет после числа вывести текст (рублей): # ##0,00 "(рублей)" В следующем примере текст отображается перед числом: "Среднее значение: "0,00 Последний шаблон формата имеет один недостаток: знак "минус" для отрицательных чисел отображается перед текстом. Чтобы устранить этот недостаток, воспользуйтесь следующим форматом: "Среднее значение: "0,00; "Среднее значение: "-0,00 При использовании приведенного ниже шаблона формата значение будет выводиться с текстом долларов и центов. Например, число 123,45 будет выведено как 123 долларов и ,45 центов. 0" долларов и ",00" центов" Подавление ввода данных определенного типа Числовое форматирование можно использовать для сокрытия данных определенного типа. Например, если применить следующий шаблон формата, в ячейке будет отображаться текст, но числовые значения выводиться не будут В ячейках со следующим числовым форматом будут отображаться только ненулевые значения (текст и нули будут скрытыми): 0,0;-0,0; ; Следующий формат будет отображать все, кроме нулей: 0,0;-0,0; ;@ Чтобы полностью скрыть все содержимое ячейки примените формат tit Заметьте: если выделить ячейку, то в строке формул будет видно ее содержимое, независимо от того, скрыто оно или нет в самой ячейке. Если в ячейке содержится более 1 024 символов, то шаблон формата ,-,-,- не сработает, т.е. содержимое ячейки будет видимым. Внимание! Заполнение ячеек повторяющимися символами Для задания повторяющегося символа в строке числового формата используется символ "*". Все пустое пространство ячейки будет заполнено заданным повторяющимся символом. Если размеры ячейки изменятся, то соответствующим образом изменится и количество повторяемых Глава 25. Пользовательские числовые форматы 503
символов. Например, при использовании следующего числового формата все пространство ячейки справа от значения будет заполнено символами "-" (дефис): Основной*-;-Основной*-;Основной*-;Основной*- На рис. 25.3 представлено несколько примеров пользовательских числовых форматов, в которых используются повторяющиеся символы. Рис. 25.3. Примеры числовых форматов, в которых используются повторяющиеся символы 504 Часть V. Дополнительные возможности Excel
Настройка панелей инструментов и меню |^в\ ероятно, вы уже познакомились со многими встроен- ыг^ ными панелями инструментов Excel и, скорее всего, досконально изучили систему меню. Excel позволяет модифицировать и панели инструментов, и меню. В этой главе речь пойдет о том, как модифицировать встроенные панели инструментов, создать новые и как изменить меню Excel. Настройка панелей инструментов Всего Excel содержит около 100 встроенных панелей команд, но к основным относятся следующие: ■ две строки меню (одна для рабочего листа и одна для листа диаграмм); ■ стандартные панели инструментов; ■ контекстные меню (они появляются после щелчка правой кнопкой мыши на каком-нибудь выделенном объекте). Каждая панель команд состоит из одной или нескольких "команд". Команда может принимать форму пиктограммы (кнопки), текста или комбинации этих форм. Причем существуют команды, которых нет ни на одной из стандартных панелей инструментов. ^^^^ Между строкой меню и панелью инструментов фактически не существует различия. Та строка меню, которую вы видите в верхней части окна Excel, на самом деле является панелью инструментов, именуемой Строка меню листа. Эту панель инструментов, как и любую другую, можно перетащить на новое место с помощью мыши (рис. 26.1). На заметку / В этой главе Настройка панелей инструментов Перемещение панелей инструментов Использование диалогового окна Настройка Добавление и удаление кнопок панелей инструментов Изменение изображений на кнопках
-JKM-r«S _C D_ 4>айл Правка Ёна Вставка Формат Сервис Данные фшо Справка ЕЗведь те вопрос -iDlxl 5 |м 4 » м- Лист! ,: Пф2 /ГЬКГЭ / ... J—.3 I Pi/c. 26./. Строка меню Excel фактически является панелью инструментов и ее можно перетащить на новое место Как Excel следит за панелями инструментов При запуске Excel на экране отображается та же конфигурация панелей инструментов, которая использовалась в последний раз при работе с программой. Задумывались ли вы когда- нибудь о том, как Excel отслеживает эту информацию? При выходе из Excel программа обновляет специальный файл, который находится в папке Windows. В нем и сохраняются созданные панели инструментов, а также информация о том, какие панели являются видимыми на экране и в каком месте экрана они находятся. Этот файл имеет расширение .xlb, название его может быть различным. Для того чтобы восстановить предыдущую конфигурацию панелей инструментов, откройте XLB-файл с помощью команды Файл^Открыть. В результате конфигурация панелей инструментов станет такой, какой она была при запуске Excel. Можно также создать копию XLB-файла и присвоить ему другое имя. Таким образом можно сохранить несколько различных конфигураций панелей инструментов, чтобы в случае необходимости загрузить любую из них. Типы настройки панелей инструментов Ниже перечислены типы настройки, которые можно выполнить, работая с панелями инструментов (включая строки меню). ■ Перемещение панелей инструментов. Каждую панель инструментов можно переместить в любое место экрана. ■ Удаление кнопок со встроенных панелей инструментов. Данная операция может понадобиться для того, чтобы удалить кнопки, которыми вы никогда не пользуетесь. ■ Добавление кнопок на встроенные панели инструментов. Можно добавить к любой панели столько кнопок, сколько нужно для комфортной работы. ■ Создание новых панелей инструментов. Можно создать любое количество новых панелей инструментов, используя в них столько кнопок, сколько потребуется. ■ Изменение функций кнопок. Чтобы выполнить эту операцию, назначьте собственный макрос соответствующей кнопке панели инструментов. ■ Изменение изображения на кнопке панели инструментов. В Excel включен хотя и достаточно примитивный, но вполне пригодный для этой цели редактор изображения кнопок панелей инструментов. 506 Часть V. Дополнительные возможности Excel
Контекстное меню Неподготовленный пользователь не может модифицировать контекстные меню Excel (меню, которые появляются в результате щелчка правой кнопкой мыши на объекте). Для этого нужно использовать макрос. Перемещение панелей инструментов Панель инструментов может быть или плавающей, или закрепленной. Закрепленная панель располагается в фиксированном месте — вверху, внизу, по левому или по правому краю окна программы Excel. Плавающие панели инструментов располагаются в рабочей области окна рабочей книги; если открыто несколько окон рабочих книг, то в том, которое находится сверху. Для того чтобы переместить панель инструментов, достаточно щелкнуть на ее рамке и перетащить в новую позицию. Если перетащить ее к какому-нибудь краю окна Excel, она сама прикрепится к этому краю и станет закрепленной панелью. Можно создавать несколько слоев закрепленных панелей. Например, панели инструментов Стандартная и Форматирование обычно закреплены вдоль верхнего края. Размеры плавающей панели инструментов можно изменять путем перетаскивания рамки. Например, можно превратить горизонтальную панель в вертикальную, перетащив один из ее углов. Использование диалогового окна Настройка Для того чтобы внести какие бы то ни было изменения в панели инструментов, необходимо перейти в режим настройки. В этом режиме отображается диалоговое окно Настройка, которое предоставляет различные способы манипулирования панелями. Для перехода в режим настройки выберите один из приведенных ниже способов. ■ Выберите команду Видо Панели инструментов^ Настройка. ■ Щелкните правой кнопкой мыши на любой панели инструментов и из появившегося контекстного меню выберите команду Настройка. Рис. 26.2. Диалоговое окно Настройка Глава 26. Настройка панелей инструментов и меню 507
В любом случае на экране появится диалоговое окно Настройка (рис. 26.2). В этом окне содержится полный список всех имеющихся панелей инструментов, включая созданные пользователем. Диалоговое окно Настройка состоит из трех вкладок, которые рассматриваются ниже. Вкладка Панели инструментов На рис. 26.2 показана вкладка Панели инструментов диалогового окна Настройка. Далее рассматриваются различные манипуляции с панелями инструментов. Операции, выполненные с использованием диалогового окна Настройка, нельзя i отменить с помощью команды Правка^Отменить. Тем не менее можно вновь нимание вернуться в это диалоговое окно и отменить внесенные изменения вручную. Сокрытие и отображение панели инструментов Во вкладке Панели инструментов отображены все панели — как встроенные, так и созданные пользователем. Чтобы отобразить панель инструментов, нужно установить флажок слева от ее названия, а чтобы убрать панель с экрана, этот флажок нужно снять. Внесенные изменения вступят в силу немедленно. Если щелкнуть правой кнопкой мыши на панели инструментов, откроется список Совет самых важных панелей инструментов. Для того чтобы скрыть или отобразить нужную панель, достаточно просто щелкнуть на ее имени кнопкой мыши. Но в этом \ списке находятся не все панели инструментов. Получить доступ ко всем имеющимся панелям можно во вкладке Панели инструментов. Создание новой панели инструментов Щелкните на кнопке Создать, а затем введите имя новой панели в диалоговое окно Создание панели инструментов. В результате Excel создаст пустую панель инструментов и отобразит ее на экране. После этого можно добавлять на нее кнопки, как описано далее в главе. ЙЬ, На прилагаемом компакт-диске можно найти рабочую книгу, к которой прикреплена компакт- на панель инструментов. Эта панель содержит множество команд и инструмен- | тов, которые могут пригодиться при форматировании ячеек. При открытии рабочей книги панель инструментов отобразится на экране автоматически. Переименование новой панели инструментов Выберите из списка созданную панель инструментов и щелкните на кнопке Переименовать. Введите новое имя в диалоговое окно Переименование панели. При выборе встроенной панели инструментов кнопка Переименовать недоступна (Excel не позволяет переименовывать встроенные панели инструментов). Удаление новой панели инструментов Выберите из списка созданную панель инструментов и щелкните на кнопке Удалить. Однако при выборе встроенной панели инструментов кнопка Удалить недоступна (нельзя удалять встроенные панели инструментов). 508 Часть V. Дополнительные возможности Excel
Восстановление встроенной панели инструментов Выберите из представленного списка встроенную панель инструментов и щелкните на кнопке Сброс. В результате будет восстановлено первоначальное состояние панели инструментов. Если к панели были добавлены какие-нибудь новые инструменты, они будут удалены. Если же инструменты, соответствующие первоначальному состоянию панели, были удалены, они будут восстановлены. Кнопка Сброс не доступна, если выбрана созданная пользователем панель инструментов. Будьте осторожны при восстановлении строки меню. Многие надстройки добавляют одну или несколько новых команд к стандартным меню. Если же восстановить первоначальное состояние панели инструментов, то не будет доступа к надстройкам. Но, как правило, эту проблему можно решить путем перезапуска Excel (при запуске Excel команды надстроек будут вновь добавлены к меню). Присоединение панели инструментов к рабочей книге Если вы создаете новую панель инструментов, которую хотели бы передать кому-нибудь еще, можете "прикрепить" ее к рабочей книге. Для этого щелкните на кнопке Вложить, в результате чего откроется новое диалоговое окно Управление панелями инструментов, которое позволит выбрать панели инструментов для присоединения к рабочей книге (рис. 26.3). Можно присоединять любое количество панелей инструментов. Рис. 26.3. С помощью этого диалогового окна можно присоединять панели инструментов к рабочим книгам Панель инструментов, присоединенная к рабочей книге, отображается автоматически при открытии рабочей книги. Этого не произойдет только в том случае, если в рабочей книге уже есть панель с таким же именем. Панель инструментов, которая сохраняется в рабочей книге, — это точная копия вашей панели на момент ее копирования. Если же панель инструментов была изменена после копирования в рабочую книгу, то измененная версия не будет сохранена в рабочей книге автоматически. Поэтому придется вручную удалить старую панель инструментов, а затем добавить измененную. Вкладка Команды Вкладка Команды диалогового окна Настройка содержит список всех инструментов Excel. Используйте эту вкладку для настройки панели инструментов (см. ниже раздел "Добавление и удаление кнопок панелей инструментов"). Глава 26. Настройка панелей инструментов и меню 509 Внимание! На заметку /
Вкладка Параметры На рис. 26.4 показана вкладка Параметры диалогового окна Настройка. Как видите, в этом окне представлено несколько опций для настройки меню, панелей инструментов и кнопок. Ниже приведено их описание. На~траиваеиие изикэ и панвпи инстру>*антоа Р" Стандартная панель и панель борнатиооеамия Q две ctwm | Р 8сегда показывать полные меню 17 Cfooc j Другие Г" Крупные значки Г* Отображать названия шрифтов теи *е цуифток; Р &гсфа**тьг10деказки для кнопок эффект при аьеода меню: |(По умолчанию) Яис. 26.4. Вкладка Параметры диалогового окна Настройка Стандартная панель и панель форматирования в две строки. Если эта опция включена, то стандартная панель и панель форматирования отображаются в разных строках. В противном случае обе панели инструментов отображаются в одной строке. Это увеличивает рабочее пространство окна рабочей книги, но в таком случае, возможно, некоторые кнопки окажутся скрытыми. Всегда показывать полные меню. При выборе этой опции в меню отображаются все команды, иначе меню "подстраивается" под пользователя, показывая только наиболее часто используемые команды. Как правило, удобнее, чтобы эта опция была установлена. Крупные значки. Для того чтобы изменить размер пиктограмм (кнопок), используемых в панелях инструментов, установите или снимите флажок данной опции. Это повлияет на изображения, нанесенные на кнопки. Кнопки, содержащие только текст (например, кнопки в меню), не изменятся. Отображение названия шрифтов тем же шрифтом. Это средство позволяет в списках шрифтов отображать их названия тем же шрифтом, который они представляют. Это удобно тем, что можно просмотреть шрифт, прежде чем его использовать. Но помните: установка этой опции может несколько замедлить работу Excel. Отображать подсказки для кнопок. Всплывающие подсказки — это названия кнопок, которые появляются в том случае, если поместить указатель мыши на одну из кнопок панели инструментов и задержать его в таком положении на некоторое время. Если эти подсказки вам мешают, снимите флажок данной опции. При этом при перемещении указателя мыши по какой-нибудь кнопке ее описание по-прежнему будет появляться в строке состояния. Эффект при выводе меню. При выборе меню Excel выполняет анимацию отображения раскрывающегося меню. В раскрывающемся списке Эффект при выводе меню можно выбрать желательный тип анимации. 510 Часть V. Дополнительные возможности Excel
Автоматическое отображение панелей инструментов Как правило, Excel отображает те или иные панели инструментов в зависимости от выполняемых действий (контекста). Например, при активизации диаграммы на экране появляется панель инструментов Диаграммы. А при активизации рабочего листа, содержащего сводную таблицу, автоматически отобразится панель инструментов Сводные таблицы. Чтобы отключить это средство, просто закройте соответствующую панель инструментов. В следующий раз Excel не отобразит ее. Чтобы вновь активизировать это средство, в нужном контексте самостоятельно отобразите необходимую панель инструментов. После этого Excel будет автоматически отображать эту панель инструментов при выполнении соответствующих действий. Добавление и удаление кнопок панелей инструментов Как уже упоминалось в этой главе, вы можете перевести Excel в режим настройки, открыв диалоговое окно Настройка. Кроме уже описанных операций, в режиме настройки можно выполнять и другие действия. ■ Перемещать кнопки на панелях инструментов. ■ Перемещать кнопки с одной панели инструментов на другую. ■ Копировать кнопки с одной панели на другую. ■ Добавлять новые кнопки на панель инструментов с помощью вкладки Команды диалогового окна Настройка. Программа Excel предлагает упрощенный способ добавления и удаления кнопок Совет панелей инструментов. Щелкните на маленькой стрелочке, направленной вниз, которая располагается в конце панели инструментов, и в открывшемся меню выбери- ''• те команду Добавить или удалить кнопки. Появится список всех кнопок, предназначенных для данной панели. В этом списке все отображаемые кнопки помечены флажком, не отображаемые кнопки флажком не помечены. Снимите или установите флажок для того, чтобы удалить или отобразить какую-либо кнопку. Перемещение и копирование кнопок Когда диалоговое окно Настройка отображено на экране, можно свободно копировать или перемещать кнопки между любыми видимыми панелями инструментов. Чтобы переместить кнопку, перетащите ее на новое место (новая позиция может находиться в пределах той же или на другой панели инструментов). Чтобы скопировать кнопку, нажмите клавишу <Ctrl> и, удерживая ее, перетащите кнопку на другую панель. Можно также скопировать кнопку в пределах одной и той же панели, но нет смысла создавать несколько копий кнопки на одной панели. Вставка новой кнопки Чтобы добавить новую кнопку на панель инструментов, воспользуйтесь вкладкой Команды диалогового окна Настройка (рис. 26.5). Кнопки распределены по категориям. При выборе какой-либо категории относящиеся к ней кнопки появляются в правой части вкладки Команды. Глава 26. Настройка панелей инструментов и меню 511
Для того чтобы добавить кнопку на панель инструментов, найдите ее во вкладке Команды, а затем перетащите на панель инструментов. Другие операции с кнопками панелей инструментов Когда Excel находится в режиме л астройки (другими словами, когда отображено диалоговое окно Настройка), можно щелкнуть правой кнопкой мыши на кнопке панели, чтобы открыть контекстное меню этой кнопки (рис. 26.6). Л*1 Г1анели инструментов Команды | Параметры | Чтобы добавить команду на панель «струментое, выберите категорию и перетащите команду из этого окна не лаиепь. Кдтесорин: Команды: ;,- а ^ •с 2 вычислить все Элементы управления Создать задачу Mcrosoft Ofha Пересчет | Камер» Другая J | ,Лх>р«дачнть команды. | Cfipoc Уделить Имя: i Подачеркмутый копировать значок на кнопке ;« восстановить значок на кнопке I Изменить значс к на кнопке Выбрать значок для кнопки Основной стиль I Только текст (всегда) Только текст (в меню) Значок и хекст Начать группу Назначить гигдоссылку Назначить макрос Рис. 26.5. Вкладка Команды содержит список всех доступных кнопок Рис. 26.6. Контекстное меню кнопки панели инструментов, которое открывается в режиме настройки Ниже следует описание команд контекстного меню. (Обратите внимание на то, что некоторые из этих команд не доступны для определенных кнопок панели инструментов.) ■ Сброс. Восстанавливает первоначальное состояние инструмента. ■ Удалить. Удаляет кнопку. ■ Имя. Позволяет изменить имя кнопки. ■ Копировать значок на кнопке. Создает копию изображения кнопки и помещает ее в буфер обмена. ■ Вставить значок для кнопки. Переносит изображение из буфера обмена на кнопку. ■ Восстановить значок на кнопке. Восстанавливает первоначальное изображение кнопки. ■ Изменить значок на кнопке. Позволяет отредактировать изображение кнопки с помощью редактора кнопок Excel. ■ Выбрать значок для КНОПКИ. Позволяет заменить изображение кнопки, выбрав подходящее из списка, который включает 42 изображения кнопок. ■ Основной стиль. Отображает инструмент, используя действующий по умолчанию стиль (либо только текст, либо изображение и текст). ■ Только текст (всегда). Данный инструмент всегда отображает только текст (без изображения). 512 Часть V. Дополнительные возможности Excel
■ Только текст (в меню). Отображает текст (без изображения), если инструмент находится в строке меню. ■ Значок и текст. Показывает изображение и текст на кнопке инструмента. ■ Начать группу. Вставляет разделитель в панель инструментов. В раскрывающемся меню разделитель выглядит как горизонтальная линия между командами, а на панели инструментов — как вертикальная линия. ■ Назначить гиперссылку. Позволяет создать гиперссылку на Web-страницу, файл, рисунок или определенное место в рабочей книге, куда произойдет перемещение после щелчка на данной кнопке. ■ Назначить макрос. Позволяет присвоить макрос, который выполняется после щелчка на данной кнопке. Изменение изображений на кнопках Существует несколько способов изменения изображений на кнопках панелей инструментов. ■ Можно выбрать одно из 42 изображений, предоставленных Excel. ■ Можно изменить или создать изображение с помощью диалогового окна Редактор кнопок. ■ Можно скопировать изображение с другой кнопки какой-либо панели инструментов. Каждый из этих методов описан в следующих разделах. Чтобы внести какие-либо изменения в изображение на кнопке, необходимо перейти в режим настройки панелей инструментов, т.е. на экране должно быть отображено диалоговое окно Настройка. Использование изображения, предлагаемого Excel Чтобы заменить изображение на кнопке панели инструментов, щелкните правой кнопкой мыши на этой кнопке (помните, что все описываемые действия выполняются в режиме настройки панелей инструментов) и из появившегося контекстного меню выберите команду Выбрать значок для кнопки. При выборе этой команды раскрывается меню, содержащее 42 изображения. Теперь осталось только щелкнуть на каком-нибудь значке — и изображение на кнопке изменится в соответствии с вашим выбором. Редактирование изображения на кнопке Если ни один из 42 встроенных значков вас не устраивает, можно отредактировать уже существующее изображение или, используя Редактор кнопок, создать совершенно новое. Чтобы начать редактирование, щелкните правой кнопкой мыши на той кнопке, изображение которой хотите отредактировать, а затем выберите в контекстном меню команду Изменить значок на кнопке. Изображение кнопки появится в диалоговом окне Редактор кнопок (рис. 26.7). Можно изменить в этом изображении отдельные пиксели, а также сдвинуть все изображение вверх, вниз, влево или вправо. Если вы никогда раньше не работали с пиктограммами, вам будет трудно с первого раза создать выразительное изображение в такой маленькой области. Глава 26. Настройка панелей инструментов и меню 513
P> «Mtf ICHOnSt ftcpw*; *l в I Цвете— ГГВГ гии ■■■■ -Переместить- iBj' CrepWto. J™ - Палитра цветов - ■ гПрОСМОГр А/с. 26.7. Диалоговое окно Редактор кнопок В диалоговом окне Редактор кнопок нет ничего сложного. Щелкните на каком-либо цвете, а затем на пикселе (или перетащите выбранный цвет по нужным пикселям). Если результат вас устраивает, щелкните на кнопке ОК. В противном случае щелкните на кнопке Отмена, и изображение на кнопке вернется к своему первоначальному виду. Копирование изображения с другой кнопки Еще одним способом получения изображения на кнопке панели инструментов является копирование его с другой кнопки. Щелкните правой кнопкой мыши на кнопке панели инструментов, в результате чего появится контекстное меню, с помощью команд которого можно скопировать изображение на кнопке в буфер обмена или перенести (вставить) содержимое буфера на выбранную кнопку. 514 Часть V. Дополнительные возможности Excel
Условное форматирование и проверка данных ■ [■■«ч этой главе рассматриваются два полезных средствах \s^ Excel — условное форматирование и проверка данных. С их помощью можно добавлять к рабочему листу различные динамические элементы, причем без использования макросов. Условное форматирование Условное форматирование позволяет автоматически изменять форматирование ячеек в зависимости от их содержимого. Например, нужно отформатировать диапазон ячеек таким образом, чтобы отрицательные значения отображались на светло-желтом фоне. При вводе или изменении содержимого ячейки Excel проверит введенное значение и сравнит с правилами условного форматирования. Если введенное значение отрицательное, фон поменяется на светло-желтый, в противном случае ничего не произойдет. Условное форматирование можно использовать для определения ячеек, которые содержат недопустимые значения, или ячеек определенного типа. Затем согласно примененному форматированию можно определить, какие ячейки содержат значения определенного типа. Например, к искомым ячейкам можно применить ярко-красный фон. Несомненно, это очень удобное средство. Но оно имеет ряд недостатков, которые могут привести к неожиданным результатам. В этом разделе подробно описываются приемы работы со средствами условного форматирования, также рассматриваются некоторые ограничения и недостатки. В этой главе.. Средство условного форматирования Примеры использования формул условного форматирования Средство проверки данных Примеры использования формул проверки данных
Задание условного форматирования Для задания условного форматирования в ячейке или диапазоне выполните ряд действий. 1. Выделите диапазон или ячейку. 2. Выберите команду Формат^Условное форматирование. На экране появится одноименное диалоговое окно, показанное на рис. 27.1. ! |^чачен« V] ]между Отображение ячвЛи яри вытолнении условий- '£'.'■■ ' ■ ' -"" • d \ ГУ* Формат не задан & также >-> [ ¥датп>.,. | •1 <Ж 29 э llife*»!--"1! | Отмена J Рис. 27.1. Диалоговое окно Условное форматирование 3. Из раскрывающегося списка выберите либо значение (для простого условного форматирования), либо формула (для задания формата с использованием формул). 4. Определите условие (или введите формулу). 5. Щелкните на кнопке Формат и задайте параметры форматирования, которые следует применить, если условие выполняется (т.е. результат вычисления условия — ИСТИНА). 6. Чтобы задать дополнительные условия, щелкните на кнопке А также и повторите пп. 3- 5. Всего можно задавать до трех условий. 7. Когда все будет сделано, щелкните на кнопке ОК. Теперь ячейка или диапазон будут отформатированы по заданным условиям. Такое форматирование является динамическим. Это значит, что, если содержимое ячейки изменится, Excel оценит новое значение и в соответствии с ним изменит форматирование ячейки. Параметры форматирования После нажатия на кнопке Формат диалогового окна Условное форматирование откроется окно Формат ячеек (рис. 27.2). Оно несколько отличается от обычного окна Формат ячеек— в нем отсутствуют вкладки Число, Выравнивание и Защита, но появилась новая кнопка Очистить. На заметку С помощью диалогового окна Найти и заменить можно выделить на рабочем листе ячейки, к которым было применено определенное форматирование. Но с помощью этого окна нельзя определить ячейки, к которым было применено условное форматирование. Определение условия В левой части диалогового окна Условное форматирование есть раскрывающийся список (см. рис. 27.1), позволяющий выбрать одну из двух опций. ■ значение. Используется для определения простых условий. 516 Часть V. Дополнительные возможности Excel
■ формула. Используется для определения более сложных условий, в которых применяются формулы. Эти типы условий более подробно обсуждаются в следующих разделах. Рис. 27.2. Диалоговое окно Формат ячеек, используемое для условного форматирования Простые условия После выбора элемента значение в следующем раскрывающемся списке можно определить перечисленные ниже типы условий. ■ между. Указывается два значения. ■ вне. Указывается два значения. ■ равно. Указывается одно значение. ■ не равно. Указывается одно значение. ■ больше. Указывается одно значение. ■ меньше. Указывается одно значение. ■ больше или равно. Указывается одно значение. ■ меньше или равно. Указывается одно значение. Ввести значения можно как вручную, так и с помощью ссылки на ячейку. Условия с использованием формул При выборе элемента Формула в поле, расположенном справа, нужно задать формулу. Это можно сделать, просто определив ячейку с формулой на рабочем листе, а затем указав ссылку на нес, или же введя ее непосредственно в диалоговом окне Условное форматирование. Как всегда, перед началом формулы должен стоять знак равенства (=). Как показано в приведенных ниже примерах, ощутить всю мощь условного форматирования можно лишь в том случае, если вводить формулу непосредственно в диалоговом окне Условное форматирование. Глава 27. Условное форматирование и проверка данных 517
Формула должна возвращать только логические значения ИСТИНА или ЛОЖЬ. Если результат соответствует значению ИСТИНА, условие выполняется и к ячейке или диапазону применяется условное форматирование. Иначе (если результат принимает значение ЛОЖЬ) условное форматирование не применяется. Если в формуле, введенной в диалоговом окне Условное форматирование, используется ссылка на ячейку, то эта ссылка будет относительной по отношению к верхней левой ячейке выделенного диапазона. Например, если нужно задать условное форматирование, которое будет менять цвет заливки пустых ячеек в диапазоне В2:В 10, выполните ряд действий. 1. Выделите диапазон В2:В10 так, чтобы ячейка В2 была активной. 2. Выберите команду Формате Условное форматирование. Откроется диалоговое окно Условное форматирование. 3. Из левого раскрывающегося списка выберите формула. 4. В поле справа от выпадающего списка введите формулу =В2="" 5. Щелкните на кнопке Формат, чтобы открыть диалоговое окно Формат ячеек. 6. В этом диалоговом окне определите цвет заливки и щелкните на кнопке ОК. 7. В диалоговом окне Условное форматирование щелкните на кнопке ОК, чтобы закрыть его. Обратите внимание на то, что введенная формула содержит ссылку на верхнюю левую ячейку выделенного диапазона. Чтобы убедиться в том, что ссылка является относительной, нужно выделить одну из ячеек диапазона (например, В5) и посмотреть на формулу условного форматирования для этой ячейки. Формула будет иметь следующий вид: =В5=" " Обычно при вводе формулы условного форматирования для диапазона ячеек используется ссылка на активную ячейку, которой, как правило, является верхняя левая ячейка выделенного диапазона. Исключение составляют случаи, когда нужно использовать ссылку на определенную ячейку. Например, в диапазоне А1:В20 необходимо применить условное форматирование только к тем ячейкам, значения которых больше значения ячейки С1. Для этого следует ввести формулу =А1>$С$1 В этом случае ссылка на ячейку С1 будет абсолютной и одинаковой во всех ячейках выделенного диапазона. Другими словами, формула условного форматирования, например, для ячейки А2 будет выглядеть следующим образом: =А2>$С$1 Следовательно, для всех ячеек выделенного диапазона относительные ссылки будут изменяться в соответствии с позицией ячейки в диапазоне, а абсолютные всегда будут ссылаться на одну и ту же ячейку. Работа с условными форматами В этом разделе представлена дополнительная информация, касающаяся средств условного форматирования, которая может пригодиться вам в дальнейшем. На заметку / 518 Часть V. Дополнительные возможности Excel
Множественные условия Щелкнув на кнопке А также диалогового окна Условное форматирование, можно определить дополнительное условие. Таким образом определяется до трех условий. Например, для ячейки или диапазона можно определить следующие условия (а также параметры форматирования, которые будут применяться при выполнении тех или иных условий): Значение ячейки меньше О Значение ячейки равно О Значение ячейки больше О В этом случае форматирование будет зависеть от знака содержащегося в ячейке значения (отрицательное, положительное или ноль). Если ни одно из условий не примет значение ИСТИНА, форматирование ячейки не изменится. Если же будет выполняться более одного условия, Excel применит форматирование в соответствии с первым выполненным условием. Например, такая ситуация может произойти, если задать следующие условия: Значение ячейки лежит между 1 и 12 Значение ячейки меньше 6 В этом случае, если ячейка будет содержать, например, число 4, выполнятся оба условия, но ячейка будет отформатирована в соответствии с параметрами, установленными для первого условия. Проблемы со вставкой Необходимо помнить, что, копируя данные в ячейку, можно легко (слишком легко) удалить условное форматирование. Копирование или вставка ячейки либо диапазона, которые содержат условное форматирование, приводят к его удалению. Никакого предупреждения не будет. Разумеется, это серьезное упущение Microsoft, поскольку, работая с условным форматированием, приходится постоянно помнить об этом. Но, если нужно вставить скопированные данные в ячейку, в которой используется условное форматирование, можно воспользоваться диалоговым окном Специальная вставка и выбрать опцию значения. Для отображения этого диалогового окна после копирования ячеек выберите команду ПравкаоСпециальная вставка. Копирование ячеек, содержащих условное форматирование Информация об условном форматировании сохраняется в ячейке почти так же, как и стандартное форматирование. Это значит, что при копировании ячейки копируется и примененное к ней условное форматирование (если оно есть). Чтобы копировать только условное форматирование, в диалоговом окне Специ- Совет альная вставка нужно выбрать опцию форматы. <й Добавление строк и столбцов в диапазон, в котором не используется условное форматирование, создаст новые ячейки с теми же параметрами условного форматирования. Удаление условного форматирования При удалении содержимого ячейки с помощью нажатия клавиши <Delete> условное форматирование, которое ранее было применено к этой ячейке, не удаляется. Чтобы удалить условное форматирование (а вместе с ним и все другие параметры форматирования), выберите Глава 27. Условное форматирование и проверка данных 519
команду ПравкаООчиститьОформаты. Для удаления содержимого ячейки (включая форматирование) выберите команду Правка^ОчиститьОВсе. Чтобы удалить только условное форматирование (и оставить содержимое и другие параметры форматирования ячейки), выполните ряд действий. 1. Выделите ячейки. Затем выберите команду Формат"=>Условное форматирование; откроется одноименное диалоговое окно. 2. В диалоговом окне Условное форматирование нажмите кнопку Удалить. Откроется диалоговое окно Удаление условия форматирования. 3. В этом диалоговом окне установите флажки напротив условий, которые нужно удалить. Обратите внимание: в этом окне всегда отображается три условия, даже если в действительности определено меньше условий. 4. Щелкните на кнопке ОК, чтобы удалить выбранные условия и закрыть диалоговое окно Удаление условия форматирования. Затем в диалоговом окне Условное форматирование вновь щелкните на кнопке ОК, чтобы закрыть его. Выделение ячеек с условным форматированием Просто посмотрев на ячейки, невозможно сказать, какие из них содержат условное форматирование, а какие — нет. Но выделить ячейки с условным форматирование можно с помощью диалогового окна Переход. Для этого выполните ряд действий. 1. Выберите команду ПравкаОПереЙТИ (или нажмите <F5>). Откроется диалоговое окно Переход. 2. В диалоговом окне Переход щелкните на кнопке Выделить, чтобы открыть диалоговое окно Выделение группы ячеек, которое показано на рис. 27.3. J l^*f.*!.?ljJ_, выделить—— г примечаина С крнстанты *"* (&рмулы- R Р -. w Р <** пустые ячейи* г текуи#юй5ласть *" текущий оасов г объекты с ОТЛИЧИЯ ПО CTQOtQM *"" отличия по столбцам г егмяющие ячейки. ■~ эденсимыв ячейки i? t f" ^ЯОСЛедНЮЮ ЯЧвИКу г только видимые ячейки £ Деготь** форматы* '" проверка данных ^есек Г этикам <Ж . Отмена | Рис. 27.3. Ячейки, содержащие условное форматирование, можно выделить с помощью диалогового окна Выделение группы ячеек 3. Чтобы выделить все ячейки, содержащие условное форматирование, установите переключатель всех. Если установить переключатель в положение этих же, можно выделить ячейки, к которым применено такое же условное форматирование, как и к активной ячейке. 4. Щелкните на кнопке ОК. Excel выделит необходимые ячейки. 520 Часть V. Дополнительные возможности Excel
Использование ссылок на другие рабочие листы При попытке использовать условное форматирование, которое содержит ссылки на другие листы, Excel выдает сообщение об ошибке. Чтобы сослаться на ячейку другого рабочего листа, необходимо создать ссылку на нее в том рабочем листе, в котором будет использоваться условное форматирование. Например, если необходимо, чтобы формула условного форматирования ссылалась на ячейку А1 рабочего листа ЛистЗ, нужно вставить в ячейку активного листа следующую формулу: =ЛистЗ!А1 После этого можно использовать ссылку на данную ячейку в формуле условного форматирования. Можно пойти другим путем и присвоить имя ячейке, на которую нужно создать Совет ссылку (для этого выберите команду Вставка^ИмяоПрисвоить). Теперь это имя можно использовать вместо ссылки в диалоговом окне Условное форматирова- \ ние. Поименованная ячейка может находиться на любом рабочем листе активной рабочей книги. Примеры использования условного форматирования В этом разделе представлены примеры использования средства условного форматирования. В каждом из представленных примеров формулы заносились непосредственно в диалоговом окне Условное форматирование. Параметры форматирования можете задать самостоятельно. ^^ Файлы рабочих книг всех примеров, представленных в этом разделе можно найти На компакт- на прилагаемом компакт-диске. Также на компакт-диске вы найдете дополни- ' тельные примеры, описания которых не вошли в книгу. Определение нечисловых данных Представленная ниже формула условного форматирования будет применять форматирование к ячейке А1 только в том случае, если в ней содержится текст. =ЕТЕКСТ(А1) Чтобы применить такую формулу к диапазону, нужно сначала выделить необходимый диапазон. Аргументом функции ЕТЕКСТ должна быть активная ячейка (обычно это верхняя левая ячейка диапазона). Определение ячеек, значения которых выше среднего В этом примере условное форматирование применяется к диапазону A1:D12, причем только к тем ячейкам, значения которых выше среднего (рис. 27.4). =А1>СРЗНАЧ($А$1:$D$12) Стоит обратить внимание на то, что ссылка на ячейку (А1) является относительной, в то время как аргументом функции СРЗНАЧ должна быть абсолютная ссылка. Глава 27. Условное форматирование и проверка данных 521
J УСЯО*»Шв <г-сц»нат*р<мтмм1* Аъ 1 1 2 3 4 5 36 3 12 13 14 23 24 25 4 15 26 5 е 41 7 7 8 9 8 9 10 10 II 11 16 17 18 19 20 43 22 27 28 12 30 31 32 33 D E F G Н 1 34 35 2 37 38 6 40 41 42 21 44 12 291 23 34| 45 13! 14 15 16 1 J к г Условное форматирование: Выделены ячейки, значения которых выше среднего : щ . »1 » м|\ мкагаоь* , СыиеСреднего . Л»» /Сагс*я / 8ыки>м / Сп*ли«Ои»1&ж Ц Поиски»* ••.' - «1 ^^^^ - Рис. 27.4. Ячейки, значения которых выше среднего, выделены Определение дат, принадлежащих определенному месяцу Условное форматирование также может работать и с датами. Ниже приведена формула условного форматирования, позволяющая определить ячейки, в которых содержатся даты, принадлежащие месяцу июнь. =МЕСЯЦ(А1)=6 Здесь предполагается, что А1 —это активная ячейка выделенного диапазона. Она является аргументом функции МЕСЯЦ, которая возвращает номер месяца. „ i "* Функция МЕСЯЦ не различает, где находятся значения даты, а где — значения На заметку ДРУГИХ типов. Другими словами, эта функция будет применяться ко всем ячейкам, даже если в них не содержатся даты. Определение сегодняшней даты Функция рабочего листа Excel СЕГОДНЯ возвращает текущую дату. С помощью условного форматирования можно легко найти в большой последовательности значений сегодняшнюю дату. Приведенная ниже формула применяет форматирование только к тем ячейкам, в которых содержится сегодняшняя дата. Предполагается, что перед вводом формулы условного форматирования был выделен диапазон, верхняя левая граница которого находится в ячейке А1. =А1=СЕГОДНЯ() Определение максимального значения Функция МАКС возвращает максимальное значение диапазона. Чтобы определить это значение, нужно ввести следующую формулу условного форматирования: =А1=МАКС($А$1:$А$ 3 0) В данном случае условное форматирование применяется к диапазону А1:А30, а форматирование изменяется только в той ячейке, значение которой является максимальным. Аналогично используется функция МИН, которая возвращает самое меньшее значение в диапазоне. 522 Часть V. Дополнительные возможности Excel
Чередование закрашенных строк Ниже приведена формула условного форматирования, которая была применена к диапазону A1:D18, показанному на рис. 27.5. Она изменяет фон четных строк. Благодаря этому читать рабочий лист стало проще. =ОСТАТ(СТРОКА() ;2)=0 A BCDEFGHIJT 1 , 221 694, 944. 359. Условное форматирование: 2 I 617 3 828 4 581 5 596 6 415 7 545 8 130 9 61 10 810 11 865 12 82 13 680 14 264 15 253 16 69 17 517 18 201 626 775 895 331 290 387 209 564 647 462 740 184 488 297 903 541 911 876 516 734 846 691 128 990 628 611 43 730 318 50 588 153 858 900 351 904 444 479 480 469 634 779 644 447 691 294 726 607 647 792 149 Форматирование четных строк 19 оп — ^—— Л А ► W. ВЬКОДЧМ / .хрьлтсидехи С / Поюочавс 1 ; энаиоолышх ,3еврал Гр>ттьЛс^ / шахмвтчаад-1« [ »J 1 Рис. 27.5. Использование условного форматирования для поочередного форматирования строк В этой формуле используются функции СТРОКА (возвращает номер строки) и ОСТАТ (возвращает остаток от деления первого аргумента на второй). Для ячеек в закрашенных строках, функция ОСТАТ вернула значение 0, поэтому они были отформатированы. Аналогичную операцию можно выполнить и для столбцов, используя вместо функции СТРОКА функцию СТОЛБЕЦ. 1 28б| 647| 2 ! 522 462 3 708 4 470 5 698 6 948 419 ,8 9 82 682 10 239 11 243 12 583 13 14 15 16 17 847 522 155 575 881 937 713 31 644 974 513 215 283 310 838 927 807 55 351 464 630 891 к i ► нЦЯтеожмис />&>■ / Груц D Е F G Н 1 J 407 Условно* форматирование: 919 139 67 641 480 657 556 312 565 310 830 ! Отформатированы повторяющиеся значения пьЖИ i ШымттДккд . ' ""^Повтореии я. * -ч Wfc**»3H»«e»w* / t\*[ 1 ■ 10! xl ^П . -j ±и - Рис. 27.6. Использование условного форматирование для определения повторяющихся значений Глава 27. Условное форматирование и проверка данных 523
Определение повторяющихся значений в диапазоне Эта операция может оказаться весьма полезной (рис. 27.6). Для определения повторяющихся значений в диапазоне можно использовать приведенную ниже формулу. Форматирование применяется только к тем ячейкам, значение которых не является уникальным для заданного диапазона. =C4ETEGJIM($A$1:$D$12;A1) >1 Чтобы применить форматирование только к уникальным ячейкам, необходимо использовать следующую формулу: =СЧЁТЕСЛИ($А$1:$D$12;А1)=1 Проверка данных Средство проверки данных в некотором отношении очень похоже на условное форматирование. С помощью этого средства Excel можно установить определенные правила, по которым будет определяться, какие данные могут содержаться в ячейке. Например, необходимо, чтобы содержимое ячейки находилось в диапазоне от 1 до 12. Если пользователь введет неправильное значение, программа выведет соответствующее сообщение, как показано на рис. 27.7. Рис. 27.7. Вывод сообщения о неправильном вводе данных Как и при работе с условным форматированием, для определения критерия проверки вводимых данных можно использовать формулы. Средство проверки вводимых данных имеет такой же недостаток, как и условное форматирование: если пользователь скопирует ячейку, а затем вставит ее в ячейку, в которой выполняется проверка вводимых данных, то все определенные для проверки формулы исчезнут. Определение критерия проверки Для определения типа данных, которые могут содержаться в ячейке или диапазоне, выполните перечисленные ниже действия. 1. Выделите ячейку или диапазон. 2. Выберите команду Данные^Проверка. В результате Excel отобразит на экране диалоговое окно Проверка вводимых значений. 3. Щелкните на вкладке Параметры, которая показана на рис. 27.8. Внимание! 524 Часть V. Дополнительные возможности Excel
Параметры | соо&цение для ввода | Сообщение об оаиб«в Условие протерт Дипдмм: ji:nme число Значение* ]"-'-У Минимум- h Максимум: .||2 Г~ EacTxictpawtb Оз<штъесе J Н d ганенсиилна f Игн^юеать пустые а«йки !iJ 2J другие ячейад с tew же условием |t'"~<*C_.. i Отмена | Рис. 27.8. Вкладка Параметры диалогового окна Проверка вводимых значений 4. Выберите одну из опций из раскрывающегося списка Тип данных. (Для определения формулы нужно выбрать элемент Другой.) 5. Щелкните на вкладке Сообщение для ввода и введите сообщение, которое должно появляться на экране при выделении указанной ячейки. Оно выводится для того, чтобы сообщить пользователю, какие данные можно вводить. Если этот шаг пропустить, то при выделении ячейки не появится никакого сообщения. 6. Щелкните на вкладке Сообщение об ошибке и введите сообщение, которое должно появляться в случае, когда пользователь введет недопустимое значение. Определение вида ошибки говорит о том, какой выбор будет у пользователя при внесении неверных данных. Чтобы предотвратить ввод неправильных значений, нужно выбрать Останов. Если пропустить этот шаг, то при возникновении ошибки будет появляться стандартное сообщение об ошибке. 7. Щелкните на кнопке ОК. После выполнения этих действий в выделенной ячейке или диапазоне будет осуществляться проверка вводимых данных. Типы данных Вкладка Параметры диалогового окна Проверка вводимых значений предоставляет большой выбор типов данных для условий проверки. Выбрать тип допустимых данных можно в раскрывающемся списке Тип данных (важно отметить, что остальные элементы управления этой вкладки меняются в зависимости от выбранного типа данных). Ниже перечислены типы данных, которые можно выбрать. ■ Любое значение. Выбор этой опции удаляет условие проверки данных. Сообщение для ввода все равно будет выводиться, если не снять флажок во вкладке Сообщение для ввода. ■ Целое число. Пользователь должен ввести целое число. С помощью раскрывающегося списка Значение можно определить допустимый диапазон значений. Например, можно определить, что вводимое значение должно быть целым числом, которое больше или равно 100. Глава 27. Условное форматирование и проверка данных 525
■ Действительное. Пользователь должен ввести число. Диапазон допустимых значений можно определить с помощью раскрывающегося списка Значение. Например, можно определить, что вводимое число должно быть больше или равно 0 и меньше или равно 1. ■ Список. Пользователь должен выбрать значение из предложенного списка. Подробнее это описано в разделе "Создание раскрывающегося списка" далее в главе. ■ Дата. Пользователь должен ввести дату. С помощью раскрывающегося списка Значение можно определить допустимый диапазон дат. Например, можно определить, что вводимая дата должна быть больше или равна 1 января 2004 года и меньше или равна 1 декабря 2004 года. ■ Время. Пользователь должен ввести значение времени. С помощью раскрывающегося списка Значение можно определить допустимый диапазон значений. Например, вводимое значение времени должно быть больше чем 12:00. ■ Длина текста. Ограничивается длина вводимой строки (количество символов). С помощью раскрывающегося списка Значение можно определить допустимую длину строки. Например, можно определить, что длина вводимой строки должна равняться 1 (один символ). ■ Другой. Логическая формула, которая определяет правильность вводимых пользователем данных. Формулу можно занести непосредственно в поле Формула (которое появляется при выборе этого типа) или определить ссылку на ячейку с формулой. Далее в главе приводятся примеры нескольких полезных формул. Во вкладке Параметры диалогового окна Проверка вводимых значений содержатся две опции. ■ Игнорировать пустые ячейки. Если установлен флажок, то допускаются пустые записи. ■ Распространить изменения на другие ячейки с тем же условием. Если опция активизирована, то все внесенные изменения будут применяться также и к другим ячейкам, которые содержат исходные условия проверки данных. Важно помнить, что даже после того, как была определена проверка вводимых данных, пользователь все равно может внести неправильные значения. Даже если в раскрывающемся списке Вид вкладки Сообщение об ошибке выбран вид ошибки Останов, вероятность внесения неверных данных все еще существует. Также стоит обратить внимание на то, что при проверке вводимых данных не учитываются результаты вычисления формул. Другими словами, применение проверки данных к ячейке, содержащей формулу, не даст никакого результата. Панель инструментов Зависимости содержит кнопку Обвести неверные данные. Совет После щелчка на этой кнопке все неверные значение будут обведены красным кружком. На рис. 27.9 все значения больше 90 являются неверными. Чтобы ото- Ъ бразить эту панель инструментов, выберите команду Сервис^Зависимости фор- мул^Панель зависимости. Создание раскрывающегося списка Возможно, проверка вводимых данных чаще всего используется для создания раскрывающегося списка значений. На рис. 27.10 приведен пример, в котором имена месяцев, содержащиеся в диапазоне А1:А12, используются для создания раскрывающегося списка. Сначала введите значения в один столбец или строку (эти значения будут использоваться в раскрывающемся списке). Затем, выбрав ячейку, которая должна содержать раскрывающийся список, откройте диалоговое окно Проверка вводимых данных. Во вкладке Пара- 526 Часть V. Дополнительные возможности Excel
метры выберите тип данных Список и в поле Источник определите диапазон, который будет использоваться списком. Кроме того, установите флажок Список допустимых значений. Рис. 27.9. Ячейки с неверными значениями (значения которых больше 90) обведены Рис. 27.10. Этот раскрывающийся список был создан с помощью средства проверки данных Если список должен содержать небольшое количество значений, то их можно Совет ввести непосредственно в поле Источник во вкладке Параметры диалогового окна Проверка вводимых значений (это поле появится, если из раскрывающегося списка Тип данных выбрать Список). Между вводимыми значениями нужно вставить разделитель, определенный в соответствии с региональными настройками (точка с запятой для России). После выполнения этих действий при активизации ячейки справа от нее будет появляться стрелка раскрывающегося списка. Щелкните на этой стрелке, чтобы развернуть список, и выберите подходящее значение. > Глава 27. Условное форматирование и проверка данных 527
Если для задания раскрывающегося списка используется диапазон, то он обяза- Совет I. тельно должен находиться на том же листе, что и активная ячейка. В случае если список должен использовать значения из диапазона, который находится на дру- Ъ гом листе, ему можно присвоить имя и затем использовать это имя в поле Источник (после символа "равно"). Например, если список содержит значения из списка МойСписок, нужно ввести следующую формулу: =МойСписок Проверка данных с использованием формул Выполнять простую проверку данных с помощью средства проверки вводимых данных довольно просто. Но настоящую мощь этого свойства можно ощутить только в том случае, если работать с формулами проверки данных. Формула, определенная для проверки данных, должна возвращать логические значения ИСТИНА или ЛОЖЬ. Если она вернет значение ИСТИНА, то введенное значение будет записано в ячейку. Если же результат вычисления формулы примет значение ЛОЖЬ, то появится сообщение об ошибке, в котором будет содержаться предупреждение, определенное во вкладке Сообщение об ошибке диалогового окна Проверка вводимых значений. Как уже отмечалось, определить формулу можно в диалоговом окне Проверка вводимых значений. Для этого из раскрывающегося списка Тип данных вкладки Параметры выберите тип Другой. Формулу можно ввести непосредственно в поле Формула или же вставить ссылку на ячейку, содержащую эту формулу. Поле Формула появляется во вкладке Параметры, только если выбран тип Другой. Если же внесенная формула содержит ссылку на ячейку, то она будет рассматриваться как относительная ссылка по отношению к активной ячейке выделенного диапазона. Принцип работы тот же, что и при использовании средства условного форматирования (см. раздел "Условия с использованием формул" ранее в главе). Использование формул для проверки данных В этом разделе приведено несколько примеров, в которых для проверки вводимых данных используются формулы. Все формулы были введены непосредственно в поле Формула во вкладке Параметры диалогового окна Проверка вводимых значений. Все примеры, приведенные в этом разделе, можно найти на прилагаемом к книге компакт-диске. Ввод только текста Для того чтобы разрешить ввод только текста (и запретить ввод числовых значений) в ячейку или диапазон, используется следующая формула: =ЕТЕКСТ(А1) Здесь предполагается, что А1 является активной ячейкой выделенного диапазона. Ввод значений, больших чем в предыдущей ячейке Следующая формула проверки данных позволяет ввести число в ячейку только в том случае, если оно больше значения в предыдущей ячейке: =А2>А1 528 Часть V. Дополнительные возможности Excel
В формуле предполагается, что активной ячейкой выделенного диапазона является А2. Заметьте, что нельзя использовать эту формулу в строке 1 рабочего листа. Ввод только уникальных значений Следующая формула проверки вводимых данных не позволит пользователю ввести в диапазоне А1:С20 повторяющиеся значения: =СЧЁТЕСЛИ($А$1:$С$20;А1)=1 Здесь предполагается, что А1 является активной ячейкой выделенного диапазона. Обратите внимание, что в качестве первого аргумента функции СЧЁТЕСЛИ используется абсолютная ссылка. Вторым аргументом является относительная ссылка, которая меняется для каждой ячейки выделенного диапазона. На рис. 27.11 показано, как работает эта формула. 1U Прокорми да 1 1 1 J 2 2 4 5 1 5 4 Iе.. 1 I 9 1 10 11 В ■ .... : CD F С- Н Проверка данных Допускается ввод только уникальных -оПЕЗШ -а " Q V ■ ИЗ Р4 М5 Г16 ' 17 ! 18 1 19 ,н < . и\Г»»со ! пэетсритъ I otwphs I "** "—• ' *•»..-' / 9слшГ\*л*Л1Щаг > i.Vnmtmb^bKj Нняпт / 1 < 1 i Г ТгЛ значений ! ti(7\ Рис. 27.11. Использование средства проверки данных для предотвращения ввода дублирующихся значений Ввод текста, начинающегося с буквы А В приведенной ниже формуле используется прием, который позволяет проводить проверку по заданному символу. В данном случае формула вернет значение ИСТИНА, если ввести в ячейку строку, которая будет начинаться с буквы А (независимо от регистра). =ЛЕВСИМВ(А1)="а" В этой формуле предполагается, что активной ячейкой выделенного диапазона является А1. Ниже приведена несколько модифицированная формула проверки данных. С помощью этой формулы можно организовать ввод строки, которая состоит из пяти букв и начинается с буквы А. =СЧЁТЕСЛИ(А1;"А????")=1 Глава 27. Условное форматирование и проверка данных 529
Структурирование рабочих листов ели вы работали когда-нибудь с текстовым процессором, то наверняка знаете, что такое структура. Большинство текстовых процессоров (например, Microsoft Word) поддерживают режим структуры, который позволяет просмотреть только заголовки и подзаголовки документа. Однако вы можете легко расширить структуру таким образом, чтобы кроме заголовков увидеть расположенные под ними элементы (т.е. текст). В этом режиме хорошо видна структура документов. В Excel также можно использовать структуру, что значительно облегчает работу с большими массивами данных рабочих листов. Что такое структура рабочего листа Структура наиболее полезна для создания итоговых отчетов, в которых не нужно приводить все детали исходных данных. Само собой разумеется, что нельзя создать структуру на основе любого рабочего листа. Рабочий лист с иерархической организацией данных и с промежуточными итогами — вполне достойный кандидат для создания структуры. Понять, что собой представляет структура рабочего листа, лучше всего на примере. На рис. 28.1 показан пример простой модели бюджета без структуры. В этот лист также введены формулы для подведения промежуточных итогов по регионам и по кварталам. На рис. 28.2 показан тот же рабочий лист, но после структурирования. Обратите внимание, что слева программа добавила новую панель. Она содержит элементы управления, с помощью которых можно определить уровень просмотра. Данная структура имеет три уровня: города, регионы и общий итог. На этом рисунке структура полностью развернута, поэтому видны все данные.
. J A 1 2 3 4 5 6 7 Й a w ii Регион С -Петербург Псков Новгород Смоленск Итого Запад Пермь Казань Самара Уфа Итого Восток J2 Москва 13 чроспавпь 14 тоань 15['уЛ8 16 Кострома J7 Итого Центр Та и « • * . Пиет!/' С Яна Фее 1118 1960 1247 1238 1460 1954 1345 1375 5170 6527 1429 1735 1099 1705 5968 1109 1309 1511 1539 1973 1316 1406 1233 1792 5747 1078 1045 1744 1483 1560 7441 6920 D Кар Вс- 1252 1028 1726 Ю75 5081 1993 1224 1110 1225 5552 1155 1641 1414 1211 1243 6664 6 > го 7 «е. Алр 4330 1271 35ТЗ 1345 S740 1461 379S 1736 16778 5813 4731 1832 436J 1706 3442 1637 4722 1946 17267 7121 3342 1993 3995 1924 4669 1243 4243 1165 4776 1495 17687 7820 Ы О. Ьи 1557 1784 1764 1555 6660 1740 1320 1512 1327 5899 10S2 1499 1493 1013 1125 6212 н Июн 1679 1574 1144 1372 5769 1191 1290 1006 1357 4844 1551 1941 1820 1445 1387 8144 .1 "•• •■ -3 Всего 2 не V 4507 1 4703 1 щ 4763 1 4316 1 41S5 1 4630 1 17864 В 4626 1 5364 I 45J6 | 3623 1 4007 17550 а .4 '\Г Рис. 28.1. Типичная модель бюджета с промежуточными итогами 1 г з л 1 Регион _~ * . * ; 2_jC -Петербург * Г 3 , Псков ■ ' 4 Новгород 5 ^мопенск 6 Итог» Запад * LZ Пермь ■ & Казань • Г>._| Самара 10 >фа И Итого Восток * i. 12-Москва • Г*»"С1яэамь 15 тупа 16 Кострома ^_ ' 17 Итого Центр 13 Оицмм итог .А: * «\П«ст1/ В Янв 1118 1247 1460 1345 5170 1429 1735 1099 1705 5968 1109 1511 1539 1973 7441 18579 С Фев 1960 1238 t954 1375 6527 1316 1406 1233 1792 5747 1078 1744 1493 1560 6920 19194 D 1 Map Bca 1252 1028 1726 1075 5081 1993 1224 1110 1225 5552 1155 1414 1211 1243 6664 17297 ' Е го 1 кв. 4330 3513 5140 3795 16778 4738 4365 3442 4722 17267 3342 3995 4669 4243 4776 17683 51728 111 F &пр 1271 1345 1461 1736 5813 1832 1706 1637 1946 7121 1993 1924 1243 1165 1495 7820 20754 О М.1Й 1557 1784 1764 1555 6660 1740 1320 1512 1327 5899 1082 1499 1493 1013 1125 6212 18771 1 Н -iQIxl 1 Т 1юн Всего 2 кв. Щ 1679 4507 1574 4703 Щ 1144 1372 5769: 1191 1290: 1006 1357 4844 1551 1820 1445. 1387 8144 18757 4369 ; 4663 18242 '] 4763 ; 4316 4155 1 4630 1 17864 ,| 4626 4556 3623 ,| 4007 { 17550 -1 53656 .1 •1Г Рис. 28.2. Модель бюджета после создания структуры На рис. 28.3 показан второй уровень структуры. Теперь видно только итоги по регионам (строки с остальными данными скрыты). В случае необходимости можно частично расширить структуру, чтобы увидеть данные по конкретному региону. А на первом уровне структуры видны только заголовки и строка общего итога. 1 2 [; V* * * А I Р*ГНОИ 4ti J Итого Запад II Итого Восток 17 Итого Центр 18 Оонмм итог 19 е с t oj Е f Янв Фев Map Всего 1 кв. Апр 5170 6527 5081 16778 5813 5968 5747 5552 17267 7121 7441 6920 6664 17G83 7820 18579 19194 17297 51720 20754 О Млн 6660 5899 6212 18771 К Июн 5769 4844 8144 18757 „ * |"Г Зсего 2 кв. *~* 18242 Я 17864 \\ 17550 \l 53656 «а ЯП Рис. 28.3. Второй уровень структуры модели бюджета Программа Excel способна создавать структуры как по строкам, так и по столбцам. В предыдущих примерах структура была вертикальной (по строкам). На рис. 28.4 показана та же самая модель, но после добавления горизонтальной структуры (по столбцам). Как видите, в верхней части листа Excel добавила еще одну панель. Если рабочая таблица имеет и горизонтальную и вертикальную структуру, то каждую из них можно использовать независимо от другой. Например, можно показать второй уровень Глава 28. Структурирование рабочих листов 531
вертикальной структуры и первый уровень горизонтальной. На рис. 28.5 показан второй уровень обеих структур для той же модели. В результате получилась простая и понятная таблица, содержащая квартальные итоги по регионам. {ШЕЯШШШ -101 х| 1 ПШ. 1 .Регион 3 * 5 6 1 8 Псков Новгород [Смоленск Итого Злпвд [Пермь 'Казань 2^ С -Петербург 5Я Псков 4 новгоро 5 Смолен 6 Итого 3 7 Пермь 6_'азань 1мСамара 10 <ра 11 Итого Восток Н Москва 13 рослаель 14_:язань 15' упа J6J Кострома 17 Итого Центр t8 Обций итог в! ^^^^ В СО Янв Фев Map 1118 I960 1252 1247 1238 1028 1460 1954 1726' 1345 1375 1075 5170 6527 5081 1429 1316 1993 1735 1405 1224 1099 1233 11Ю 1705 1792 1225 5968 5747 5552 1109 1078 1155 1309 1045 1641 1511* 1744 1414 1539 1493 1211 1973 1560 1243 7441 6920 6664 18579 19194 17297 е : р Всего 1 кв. Апр 4330 1271 3513 1345 5140 1461 3795 1736 16778 5813 473» 1832 4365 1706 3442 1637 4722 1946 17267 7121 3342 1993 3995 1924 4669 1243 4243 1165 4776 1495 17683 7820 51728 20754 I- I О Н Мой Июн 1557 1679 1784 1764 1555 1574 1144 1372 6212 8144 18771 18757 I всего 2 ire. 4507 4703 4369 4663 18242 4763 43Гб 4155 4630 17864 4626 5364 4556 3623 4007 17550 53656 Июл 1218 1551 1293 1778 6660 1740 1320 1512 1327 5899 1С82 1499 1493 Ю13 1125 5769 1191 1290 1006 1357 4844 1551 1941 1820 1445 13В7 18242 4763 43Гб 4155 4630 17864 4626 5364 4556 3623 4007 5840 1106 1 1585 1459 ! 1872 6022 1099 1529 1228 1833 1357 _ 7046 18908 ,,п) Рис. 28.4. Модель бюджета после добавления горизонтальной структуры (по столбцам) 1" г з [1 33 -■■■ г 3 t 17 1 £ А Регион Итого Запад Итого Восток Итого Центр Ооцнн итог I ■МММ + Е I Всего 1 «е. В< 16778 17267 17683 "77 51728 ■___■- ~"Т"' "^'"" * 1 его 2 кв. 18242 17864 17550 5Э656 + М ] -tolxl + Ct R Зсмо 3 не. Всего 4 кв. Ооцнн итог 18314 19138 72472 т 18925 71966 17357 70342 55420 214780 - Е "* ,.Й На до 'пакт Рис. 28.5. Второй уровень обеих (горизонтальной и вертикальной) структур для модели бюджета Рабочую книгу с показанными выше примерами можно найти на прилагаемом l компакт-диске. диске Работая со структурами, нужно учитывать ряд особенностей. ■ Один рабочий лист может иметь только одну структуру, созданную на основе одной иерархии данных. Если нужно создать несколько структур (на основе разных иерархий данных), то следует перенести данные в новый рабочий лист и там создать другую структуру. ■ Можно создать структуру вручную или позволить Excel сделать это автоматически. Выбрав второй вариант, следует подготовить правильно отформатированную таблицу данных. ■ Можно создать структуру для всех данных рабочего листа или только для выбранного диапазона данных. 532 Часть V. Дополнительные возможности Excel
■ Удалить структуру можно с помощью всего лишь одной команды. ■ Чтобы скрыть символы структуры (для освобождения пространства экрана), но сохранить при этом саму структуру, нажмите комбинацию клавиш <Ctrl+8>. ■ Структура может иметь до восьми вложенных уровней. Создание структуры рабочего листа может принести большую пользу. Но если ваша главная цель — проанализировать большое количество данных, лучше обратиться к сводной таблице. Сводная таблица намного универсальнее и не требует создания промежуточных формул — она автоматически создает таблицы итоговых данных. "Ъ О сводных таблицах речь шла в главе 21. Дополнительна информация . Создание структуры Как уже упоминалось, структуру можно создать двумя способами— автоматически и вручную. Описанию этих способов и посвящен данный раздел. Но прежде нужно убедиться, что выбранные данные подходят для создания структуры, а формулы введены правильно. Подготовка данных Данные какого типа пригодны для создания структуры? Как правило, данные должны иметь иерархическую организацию, примером которой может служить бюджет, построенный по приведенной ниже схеме. Фирма Подразделение Отдел Категория бюджета Статья бюджета В данном случае каждая статья бюджета (например, расходы на авиабилеты и проживание в гостинице) является частью некоторой категории бюджета (например, командировочных расходов). Каждый отдел имеет собственный бюджет, из отделов состоят подразделения. Подразделения, в свою очередь, составляют фирму. Такой тип организации данных подходит для создания вертикальной структуры (по строкам). Создав структуру, можно просмотреть информацию на любом из ее уровней. Структура часто используется при создании отчетов для представления руководителям разных уровней. Высшему руководству фирмы представляются только итоги по подразделениям, руководителям подразделений — итоги по отделам, а каждому руководителю отдела — все данные по его отделу. Данные, зависящие от времени, которые могут быть "свернуты" в более длительные временные интервалы (например, месяцы и кварталы), подходят для создания горизонтальной структуры (по столбцам). Принципы работы с вертикальной и горизонтальной структурами одни и те же, причем уровни последней не обязательно должны быть связаны со временем. Прежде чем создавать структуру, следует убедиться в том, что все итоговые формулы введены правильно и согласованно. Согласованность означает, что все формулы имеют одинаковое относительное положение на рабочем листе. Как правило, формулы для вычисления Глава 28. Структурирование рабочих листов 533
итогов (например, промежуточные итоги) находятся под данными, к которым они относятся. Однако в некоторых случаях формулы для подсчета итогов располагаются над соответствующими диапазонами. Excel признает любой из этих методов, но вы должны быть последовательны в их использовании. Иначе, если формулы не будут согласованны, при автоматическом создании структуры не удастся получить желаемый результат. ^^^^ Если формулы не согласованны (т.е. одни находятся над данными, а другие — На заметку П°Д ними), все равно можно создать структуру, но делать это придется вручную. Автоматическое создание структуры В большинстве случаев предпочтительнее, чтобы Excel создавала структуру автоматически. Программа сделает это за несколько секунд, тогда как у вас ушло бы на это значительно больше времени. Чтобы автоматически создать структуру для некоторого диапазона данных, поместите табличный курсор в любую ячейку этого диапазона. После этого выберите команду Данные1^ Группа и структураОСоздание структуры. Excel проанализирует формулы из выделенного диапазона и создаст структуру. В зависимости от формул, будет создана либо горизонтальная, либо вертикальная, либо обе структуры. Если рабочий лист уже имеет структуру, будет задан вопрос, не хотите ли вы изменить ее. Щелкните на кнопке Да, чтобы удалить старую структуру и создать новую. Если вы воспользуетесь командой Данные^* Итоги, то Excel создаст структуру автоматически. Эта команда автоматически вставляет формулы для расчета промежуточных итогов, если данные введены в виде списка. Команда Данные^Итоги описана в главе 19. Создание структуры вручную Обычно лучше, чтобы Excel создавала структуру автоматически. Это более быстрый и надежный способ. Но если автоматически созданная структура выглядит не совсем так, как вы ее представляли, можно попытаться создать ее вручную. Чтобы Excel смогла создать структуру автоматически, все строки с итогами должны находиться либо над данными, либо под ними. Аналогично и все столбцы с итогами должны находиться либо справа от данных, либо слева от них. Если же ваша рабочая таблица не удовлетворяет этим требованиям, то есть две возможности. ■ Переупорядочить данные в рабочей таблице так, чтобы она соответствовала перечисленным выше требованиям. ■ Создать структуру вручную. На заметку гополнитель нформация 534 Часть V. Дополнительные возможности Excel
Если диапазон не содержит ни одной формулы, это может стать еще одной причиной создания структуры вручную. Ведь может случиться так, что вы импортировали файл и хотите использовать структуру для удобства его просмотра. Поскольку Excel определяет способ создания структуры на основании анализа формул, то без формул сделать это автоматически невозможно. Процесс создания структуры вручную подразумевает создание групп строк (для вертикальной структуры) или групп столбцов (для горизонтальной структуры). Чтобы создать группу строк, выделите полностью все строки, которые нужно включить в эту группу, кроме строки, содержащей формулы для подсчета итогов. Затем выберите команду ДанныеО Группа и структура^Группировать. Повторите эти действия для каждой создаваемой группы. По мере создания групп Excel будет отображать символы структуры. При сжатии структуры строки, составляющие группу, становятся скрытыми. Однако итоговая, не включенная в группу строка скрыта не будет и останется видимой. Если перед созданием группы был выделен диапазон ячеек (а не строки и столбцы целиком), то Excel отобразит диалоговое окно с вопросом о том, что вы хотите сгруппировать. Затем программа сгруппирует целиком те строки или столбцы, ячейки которых содержатся в выбранном диапазоне. Чтобы создать многоуровневую структуру, можно объединить несколько групп в одну. При создании многоуровневой структуры, всегда следует начинать с самого нижнего уровня иерархии. Если случайно были сгруппированы неправильные столбцы или строки, их можно разгруппировать. Для этого выберите команду ДанныеоГруппа и структура^Разгруппировать. Чтобы ускорить процесс группировки и разгруппировки, можно воспользоваться комбинациями клавиш. ■ <AIt+Shift+—». Группировка выбранных строк или столбцов. ■ <Alt+Shift-w—>. Разгруппировка выбранных строк или столбцов. Сначала процесс создания структуры вручную может показаться запутанным, но если вы его освоите, то в будущем сможете сэкономить много времени при просмотре и анализе больших таблиц. Использование структур В этом разделе описаны основные операции, которые можно выполнить с помощью структуры рабочего листа. Отображение уровней Чтобы отобразить какой-либо уровень структуры, нужно щелкнуть на соответствующем символе структуры. Эти символы представляют собой кнопки с номерами (1, 2 и т.д.) и кнопки со знаками "плюс" и "минус". На рис. 28.5 показаны эти символы для горизонтальной и вертикальной структур. Если щелкнуть на кнопке 1, то структура окажется максимально сжатой и будет виден только первый ее уровень. Если щелкнуть на кнопке 2, то структура расширится и к ней добавится еще один (второй) уровень, и т.д. Число пронумерованных кнопок соответствует количеству уровней структуры. Если щелкнуть на кнопке с определенным номером, то будут отображены детали для этого конкретного уровня, а также детали всех более высоких уровней (более высокие уровни имеют меньшие номера). Чтобы отобразить все уровни (т.е. всю таблицу), нужно щелкнуть на кнопке с максимальным номером. На заметку / Глава 28. Структурирование рабочих листов 535
Можно также расширить или сжать только часть рабочей таблицы, щелкнув на соответствующей кнопке: + или —. Таким образом, можно полностью контролировать процесс показа и сокрытия деталей структуры. Если вы предпочитаете работать с меню, можете воспользоваться командами Данные1* Группа и структура^Скрыть детали и Данные^Группа и структураоОтобразить детали, чтобы скрыть или показать детали. Если для составления различных отчетов вам постоянно нужно переходить с одного уровня структуры на другой, можно воспользоваться средством Представления. Это средство позволяет сохранить некоторое представление и присвоить ему имя. ■Ч После этого можно быстро переключаться между поименованными представлениями. Для этого следует воспользоваться командой Видо Представления. Добавление данных к структуре Иногда требуется добавить к структуре дополнительные строки или столбцы. В некоторых случаях можно, не затрагивая структуру, вставить новые строки или столбцы так, чтобы они стали ее составной частью. Однако в определенных ситуациях может обнаружиться, что новая строка или столбец не стали частью структуры. Если структура была создана автоматически, просто еще раз выберите команду Данные^Группа и структураОСоздание структуры. Excel попросит подтвердить, что вы хотите изменить существующую структуру. Если же структура была создана вручную, то и изменения в нее нужно вносить вручную. Удаление структуры Если структура больше не нужна, ее можно удалить. Выберите команду Данные^Группа и структура^Удалить структуру. Структура полностью развернется (появятся все скрытые строки и столбцы), а символы структуры исчезнут. Однако стили, примененные к структуре, сохранятся. Но будьте осторожны: команду удаления структуры отменить с помощью кнопки Отмена нельзя. Вместо этого придется заново создавать структуру. Сокрытие символов структуры Символы структуры занимают довольно много места на экране (насколько много, зависит от количества уровней). Если же вам нужно максимально использовать пространство экрана, можете временно скрыть эти символы, не удаляя структуру. Существует два способа сделать это. ■ Вызовите диалоговое окно Параметры, выберите вкладку Вид и снимите флажок Символы структуры. ■ Используйте комбинацию клавиш <Ctrl+8>. Хотя символы структуры будут скрыты, сама структура при этом сохраняется и в рабочем листе отображаются данные ее текущего уровня. Поэтому некоторые строки или столбцы могут быть скрыты. Чтобы снова отобразить скрытые символы структуры, нажмите комбинацию клавиш <Ctrl+8>. Если сохранить виды структуры с помощью средства Представления, то состояние символов структуры (т.е. видны они или скрыты) также будет сохранено в качестве составной части представления. Это позволяет сохранять одни представления с символами структуры, а другие без них. 536 Часть V. Дополнительные возможности Excel
Связывание и консолидация данных При работе в Excel иногда возникает необходимость совместно использовать данные из разных источников. В данной главе описываются применяемые для этого процедуры связывания и консолидации. Связывание— это использование ссылок на ячейки внешних рабочих книг в целях получения из них данных для рабочего листа. Консолидация — это объединение или накопление информации из двух или более рабочих листов, которые могут находиться в разных рабочих книгах. Связывание рабочих книг Связывание — это процесс извлечения данных из нескольких рабочих листов с помощью формул. При этом рабочие листы связываются вместе таким образом, что один становится зависимым от другого. Рабочая книга, содержащая связанные формулы (т.е. формулы с внешними ссылками), называется зависимой. А рабочая книга, в которой находится информация, используемая в формуле с внешними ссылками, называется исходной. Важно отметить, что исходная рабочая книга не обязательно должна быть открыта в то время, когда открыта зависимая рабочая книга. Зачем нужно связывать рабочие книги В начале изучения процесса связывания у вас может возникнуть следующий вопрос: если в рабочей книге А нужно использовать данные из рабочей книги В, то почему бы просто не скопировать необходимые данные в рабочую книгу А? Иногда можно поступить именно так. Однако истинная цен-
ность процедуры связывания становится очевидной в том случае, если данные в исходной рабочей книге постоянно обновляются. Поэтому создание связи с этой рабочей книгой означает, что у вас всегда будет доступ к самой свежей информации. Связанные рабочие книги могут быть полезны и в том случае, если требуется обобщить данные из разных файлов. Приведем такой пример: каждый региональный менеджер по продаже хранит данные в отдельной рабочей книге. В этом случае можно создать итоговую рабочую книгу, в которой будут использоваться связанные формулы для получения необходимых данных из каждой рабочей книги и вычисления итогов по всем регионам. Связывание можно использовать также при разбивке больших объемов данных на небольшие файлы. Можно создать небольшие рабочие книги, связанные с помощью нескольких ключевых внешних ссылок. Как правило, с такой организацией данных легче работать и для нее требуется меньше памяти компьютера. Однако связывание имеет и свою обратную сторону. Вы вскоре узнаете, что формулы с внешними ссылками весьма уязвимы и вполне можно случайно разорвать установленные связи. Однако если вы поймете принцип работы этой процедуры, то сможете предотвратить такую ситуацию. Далее в главе рассматриваются проблемы, с которыми можно столкнуться при связывании рабочих книг, и то, как их избежать. Создание формул с внешними ссылками При связывании данных создаются формулы с внешними ссылками, поскольку они ссылаются на данные, расположенные вне текущего рабочего листа. Существует несколько способов создания формулы с внешними ссылками. ■ Ввод ссылки на ячейку вручную. Эти ссылки могут быть довольно длинными, так как содержат, кроме адреса ячейки, имена рабочей книги и рабочего листа (и, возможно, полный путь к рабочей книге на диске). Преимущество этого метода состоит в том, что исходная рабочая книга не обязательно должна быть открыта. ■ Указание ячейки. Если исходная рабочая книга открыта, то, чтобы создать формулы с внешними ссылками, можно воспользоваться стандартным методом указания на ячейку. ■ Копирование и вставка данных. Если исходная рабочая книга открыта, скопируйте необходимые данные обычным образом. Затем в зависимой книге выполните команду ПравкаОСпециальная вставка и щелкните на кнопке Вставить связь. ■ Использование команды ДанныеОКонсолидация. Этот метод рассматривается далее в главе. Синтаксис формул с внешними ссылками Общий синтаксис для формулы с внешней ссылкой выглядит следующим образом: =[Имя_Рабочей_книги]Имя_Листа!Адрес_Ячейки Адресу ячейки предшествует имя рабочего листа, восклицательный знак и имя рабочей книги (в квадратных скобках). Приведем пример формулы, в которой используется ссылка на ячейку из рабочего листа Лист1, находящегося в рабочей книге Бюджет. =[Бюджет.xls]Лист1!А1 Если имя рабочей книги или имя листа в ссылке содержит пробелы, то такое имя нужно заключить в одинарные кавычки. Ниже приведен пример формулы, в которой содержится ссылка на ячейку из рабочего листа Лист1, находящегося в рабочей книге Годовой бюджет. ='[Годовой бюджет]Лист!'!А1 538 Часть V. Дополнительные возможности Excel
Если формула содержит ссылки на ячейки из другой рабочей книги, то эта книга не обязательно должна быть открыта. Если же эта рабочая книга закрыта и не находится в текущей папке, следует добавить к ссылке полный путь к ней: ='C:\Budget Files\[Годовой бюджет]Лист1'!А1 Создание формулы со ссылками путем указания Как уже упоминалось, можно ввести формулы с внешними ссылками вручную, но это чревато возникновением ошибок при наборе. Намного проще сделать так, чтобы Excel ввела ссылку за вас. Для этого выполните ряд действий. 1. Откройте исходную рабочую книгу. 2. Активизируйте ту ячейку в зависимой рабочей книге, в которой будет находиться формула. 3. Вводите формулу. Когда вы дойдете до того места, где должна находиться внешняя ссылка, активизируйте исходную рабочую книгу и выделите в ней соответствующую ячейку или диапазон. 4. После ввода формулы нажмите клавишу <Enter>. После того как будет указана нужная ячейка или диапазон, Excel все остальное сделает автоматически и создаст абсолютно правильную (в смысле синтаксиса) внешнюю ссылку. Заметьте, что ссылка на ячейку всегда является абсолютной (например, $А$1). Если же в дальнейшем потребуется копировать данную формулу для создания других связанных формул, то удалите знаки доллара, чтобы преобразовать абсолютную ссылку в относительную. Когда исходная рабочая книга открыта, внешняя ссылка не содержит путь к этой книге. Если же вы ее закроете, то к внешней ссылке автоматически добавится полный путь к этой книге. При выборе команды Файл ^Сохранить как для сохранения исходной рабочей книги под другим именем Excel заменит во внешней ссылке старое имя файла новым. Вставка связей Существует еще один способ создания формул с внешними ссылками — использование диалогового окна Специальная вставка. Этот метод применяется тогда, когда нужно просто создать ссылку на другие ячейки. Для этого выполните ряд действий. 1. Откройте исходную рабочую книгу. 2. Выделите ячейку (или диапазон), с которой нужно установить связь, и скопируйте ее (или его) в буфер обмена. 3. Активизируйте зависимую рабочую книгу и выберите ячейку, в которой должна находиться связанная формула. Если же нужно вставить диапазон, выделите для него только левую верхнюю ячейку. 4. Выберите команду Правка^Специальная вставка и в открывшемся диалоговом окне Специальная вставка щелкните на кнопке Вставить связь. Работа с формулами, содержащими внешние ссылки Важно понимать, что в одной рабочей книге могут находиться формулы, связанные с произвольным числом различных исходных рабочих книг. В этом разделе приведена информация о работе с такими формулами. Глава 29. Связывание и консолидация данных 539
Создание связей с несохраненными рабочими книгами Программа Excel позволяет создавать формулы, связанные с несохраненными и даже с несуществующими рабочими книгами. Предположим, открыты две рабочие книги, причем ни одна из них не сохранена (их имена— Книга 1 и Книга2). Если в рабочей книге Книга2 создать формулу, связанную с книгой Книга1, а затем сохранить рабочую книгу Книга2, то Excel отобразит диалоговое окно, показанное на рис. 29.1. Вообще, такой ситуации следует избегать. Для этого нужно просто с самого сначала сохранить исходную рабочую книгу. С помощью Excel можно также создавать связи с несуществующими документами. Это потребуется в том случае, если в качестве исходной книги вы собираетесь использовать рабочую книгу своего коллеги, но этот файл еще не получен. При вводе формулы с внешней ссылкой на несуществующую рабочую книгу Excel отобразит диалоговое окно Обновить значения. Если щелкнуть на кнопке Отмена, то в формуле останется введенное имя рабочей книги, но эта формула вернет ошибку #ССЫЛКА!. А когда станет доступной исходная рабочая книга, можно воспользоваться командой ПравкаОСвязи для обновления связей (подробнее это рассматирвается в разделе "Обновление связей" далее в главе). После этого ошибка исчезнет и формула будет возвращать правильное значение. Открытие рабочей книги, содержащей формулы с внешними ссылками При открытии рабочей книги, которая содержит одну или несколько формул с внешними ссылками, Excel по умолчанию извлекает текущие значения из исходной рабочей книги и выполняет вычисления по этим формулам. Тем не менее с помощью диалогового окна Запрос на обновление связей (рис. 29.2) можно указать Excel, когда и как следует обновлять связи. Чтобы открыть это окно, выберите команду ПравкаОСвязи. На экране появится диалоговое окно Изменение связей, в котором следует щелкнуть на кнопке Запрос на обновление связей. Затем выберите нужную опцию и щелкните на кнопке ОК. (Обратите внимание, что эта опция влияет только на активную рабочую книгу.) 1 <Ж I Огнен» I Рис. 29.1. Сообщение о том, что в рабочей книге есть ссылки на несохраненный документ Т\зя открытии атсй iowx Excel иожет спрашивать, нужно т обновлять связи с до™** »м*аяи P^bSOea^wiajpCaSbeae'T^ »ЭГЖНОШЭ«МвАТЪ1«Х£р^ <~ " задавать вотросниесбловтть связи Г Яе. задавать вопрос и обноеудагп» связи Рис. 29.2. В этом диалоговом окне можно указать Excel, как следует обрабатывать связи при открытии рабочей книги Если Excel не сможет найти исходную рабочую книгу, ссылки на которую содержатся в связанной формуле, она отобразит диалоговое окно с запросом о том, что делать дальше (обновлять ссылки или нет). Можно продолжить открытие книги без обновления связей, либо щелкнуть на кнопке Обновить для обновления связей. В последнем случае на экране появится диалоговое окно Изменение связей (рис. 29.3). Далее можно щелкнуть либо на кнопке Изменить, чтобы указать исходную рабочую книгу, либо на кнопке Разорвать связь, чтобы сохранить последнее известное значение и удалить связь с исходной книгой. Открыть диалоговое окно Изменение связей можно, выбрав команду ПравкаОСвязи. В этом окне представлен список всех исходных рабочих книг, а также другие типы связей с разными документами. 540 Часть V. Дополнительные возможности Excel
Рис. 29.3. Диалоговое окно Изменение связей Обновление связей Если вы хотите быть уверенным в том, что в связанных формулах использованы самые последние значения из исходных рабочих книг, нужно обновить эти формулы. Это может понадобиться в случае, если вам стало известно, что кто-то внес изменения в исходную рабочую книгу и сохранил ее последнюю версию на сетевом сервере. Чтобы обновить связанные формулы, активизируйте диалоговое окно Изменение связей с помощью команды ПравкаОСвязи, выберите из списка соответствующую исходную рабочую книгу и щелкните на кнопке Обновить. Excel обновит связанные формулы согласно последней версии исходной рабочей книги. ^^^* Для связей с рабочими листами в диалоговом окне Изменение связей всегда установлена опция обновления Автоматическое, и ее нельзя заменить опцией По запросу. Это означает, что данные связи будут обновляться во время открытия рабочей книги. Excel не обновит связи автоматически, если в исходный файл будут внесены изменения. Изменение ссылки Не исключено, что рано или поздно вам понадобится заменить исходную рабочую книгу. Например, в формулах рабочей таблицы содержались ссылки на рабочую книгу Проект бюджета. Впоследствии был создан окончательный вариант этого документа, сохраненный под именем Утвержденный бюджет. В этом случае есть две возможности: заменить все связи вручную или просто заменить исходную рабочую книгу. Второй вариант можно реализовать с помощью диалогового окна Изменение связей. Выберите исходную рабочую книгу, которую следует заменить, и щелкните на кнопке Изменить. Excel отобразит диалоговое окно, в котором нужно выбрать новый исходный файл. После этого все формулы, содержащие внешние ссылки, будут обновлены. Разрыв связей Если в рабочей книге содержались внешние ссылки, которые больше не нужны, можно преобразовать формулы с внешними ссылками в значения, тем самым разорвав все связи. Для этого в диалоговом окне Изменение связей выберите рабочую книгу, с которой хотите разорвать связь, и щелкните на кнопке Разорвать связь. Будьте внимательны при выполнении этой операции, поскольку отменить ее нельзя. Глава 29. Связывание и консолидация данных 541
Проблемы при работе с формулами, содержащими внешние ссылки Хотя значение формул с внешними ссылками трудно перецеонить, в их использовании все же есть некоторая доля риска. Например, вы можете совершенно случайно, сами того не желая, разорвать некоторые связи. Однако почти во всех случаях потерянные связи можно восстановить. Если была открыта рабочая книга, a Excel не смогла найти исходный файл, на экране появится диалоговое окно, в котором можно указать рабочую книгу и воссоздать связи. Кроме того, можно заменить исходный файл с помощью кнопки Изменить в диалоговом окне Изменение связей. В следующих разделах приведены рекомендации, которым нужно следовать при работе с формулами, содержащими внешние ссылки. Переименование или перемещение исходной рабочей книги Если переименовать исходный документ или переместить его в другую папку, то Excel не сможет обновить имеющиеся связи. В таком случае следует воспользоваться диалоговым окном Изменение связей и указать новый исходный документ. ^^^* Если исходная и зависимая рабочие книги находятся в одной папке, то можно пе- Н1а заметку ремещать или копировать их в другие папки. В этом случае все ссылки останутся правильными. Использование команды Сохранить как В том случае, если исходная и зависимая рабочие книги открыты, Excel не отображает полный путь в формулах, в которых используются внешние ссылки. Если переименовать исходную рабочую книгу с помощью команды Сохранить как, то Excel автоматически преобразует все внешние ссылки таким образом, что в них будет использоваться новое имя исходной книги. Иногда это именно то, что нужно, но иногда может привести к ошибкам. Поэтому, чтобы избежать ошибок, следует очень осторожно пользоваться командой Сохранить как для рабочих книг, на которые имеются ссылки в других книгах. Изменения в исходной рабочей книге Если вы открыли исходную рабочую книгу, когда зависимая рабочая книга закрыта, соблюдайте крайнюю осторожность. Например, если добавить к исходному документу новую строку, то часть ячеек сместится на одну строку вниз. А когда вы откроете зависимую книгу, в ней останутся старые адреса ячеек, которые теперь будут неправильными. Избежать этого можно двумя способами. ■ Зависимая рабочая книга всегда должна быть открыта во время внесения изменений в исходный документ. Тогда в соответствии с изменениями, которые будут внесены в исходную рабочую книгу, Excel скорректирует внешние ссылки в зависимой рабочей книге. ■ Использовать в связанных формулах имена, а не ссылки на ячейки. Это наиболее безопасный способ. Следующая формула ссылается на ячейку С21, которая находится на рабочем листе Лист1 книги Бюджет-XlS: = [Бюджет.xls] Лист1!$С$21 542 Часть V. Дополнительные возможности Excel
Если ячейке С21 присвоить имя Итог, то формула перепишется следующим образом: =Бюджет.xls!Итог Чтобы быть уверенным, что внешняя ссылка возвращает правильное значение, даже если строки или столбцы были удалены или добавлены, следует использовать в формулах поименованные ячейки. Промежуточные связи Программа Excel не накладывает никаких ограничений на уровень сложности внешних ссылок. Например, в рабочей книге А могут быть внешние ссылки на рабочую книгу В, а в ней, в свою очередь, — на рабочую книгу С. В данном случае рабочая книга А является в конечном итоге зависимой от рабочей книги С. При этом рабочая книга В становится промежуточной связью. Однако имейте в виду, что формулы с внешними ссылками не обновляются, если исходная рабочая книга закрыта. Предположим, что в предыдущем примере рабочие книги А и С открыты. Если изменить значение в рабочей книге С, это никак не отразится на рабочей книге А, так как рабочая книга В (промежуточная связь) закрыта. Консолидация рабочих листов Под термином консолидация подразумевается ряд операций с несколькими рабочими листами или рабочими книгами. В некоторых случаях консолидация может включать в себя создание связанных формул. Ниже приведены два типичных примера консолидации. ■ Бюджеты отделов фирмы хранятся в отдельных рабочих листах одной и той же рабочей книги. Вам нужно консолидировать эти данные и создать итоговый документ бюджета всей фирмы. ■ Все руководители отделов представляют свои бюджеты в отдельных рабочих книгах. Ваша задача заключается в том, чтобы консолидировать эти файлы в общий бюджет компании. В зависимости от ряда факторов, эти задачи могут быть как очень сложными, так и совершенно простыми. Основной фактор— это способ размещения информации в исходных рабочих листах. Если эти способы во всех рабочих листах одни и те же, в этом случае задача становится достаточно простой. Однако возможен и такой вариант: способы размещения информации хотя и не совпадают полностью, все же очень похожи. Так, во втором примере в одних файлах нет некоторых категорий данных, которые есть в других. В таком случае можно воспользоваться одной удобной функцией Excel, с помощью которой можно подбирать данные по заголовкам строк и столбцов. Это средство обсуждается в разделе "Использование команды Консолидация" далее в главе. Если же рабочие листы имеют мало общего, то самое лучшее — отредактировать листы, чтобы они стали единообразными. Но иногда гораздо эффективнее просто ввести информацию заново в стандартном формате. Для консолидации информации из нескольких рабочих книг можно применить один из перечисленных ниже методов. ■ Использовать формулы, содержащие внешние ссылки. ■ Скопировать данные и воспользоваться диалоговым окном Специальная вставка. ■ Воспользоваться командой ДанныеОКонсолидация. ■ Воспользоваться сводной таблицей, выбрав опцию в нескольких диапазонах консолидации. (Эта возможность рассматривается в главе 21.) Глава 29. Связывание и консолидация данных 543
Консолидация с помощью формул Этот способ консолидации предполагает просто создание формул, содержащих ссылки на другие рабочие листы или рабочие книги. Приведем основные преимущества этого метода. ■ Динамическое обновление: в случае изменения значений в исходной рабочей книге формулы пересчитываются автоматически. ■ Во время создания консолидирующих формул исходные рабочие книги не обязательно должны быть открыты. Если рабочие листы, подлежащие консолидации, находятся в одной рабочей книге и если способы размещения информации в них идентичны, процедура консолидации упрощается. В этом случае для выполнения консолидации можно воспользоваться стандартными формулами. Например, чтобы вычислить сумму значений из ячеек А1, находящихся в рабочих листах, начиная с листа Лист2 и заканчивая листом Лист10, введите следующую формулу: =СУММ (Лист2 : ЛистЮ ! А1) Эту формулу можно ввести вручную или с помощью метода выделения нескольких рабочих листов (см. главу 4). Затем формулу нужно скопировать в другие ячейки, чтобы вычислить итоговые значения и для них. Если консолидация затрагивает другие рабочие книги, то для ее выполнения можно воспользоваться формулами, содержащими внешние ссылки. Например, если нужно сложить значения из ячеек А1, которые находятся в рабочих листах Лист1 двух разных рабочих книг с именами Регион 1 и Регион2, воспользуйтесь формулой =[Регион1.xls]Лист1!А1+[Регион2.xls]Лист1!А1 Разумеется, эта формула может включать произвольное число внешних ссылок, однако число содержащихся в ней символов не должно превышать 1 024. Кроме того, если в формуле много внешних ссылок, она будет очень длинной и ее будет трудно редактировать. Важно помнить, что для включения полного пути Excel расширяет ссылки, что приводит к увеличению длины формулы. Поэтому может случиться так, что в ре- | зультате такого расширения предел длины формулы будет превышен, что приведет к ошибке. При консолидации рабочих листов с разными способами размещения информации тоже можно использовать формулы, но следует убедиться в том, что ячейки в ссылках указаны правильно. Консолидация с помощью диалогового окна Специальная вставка Еще один способ консолидации информации — использование команды Правка1* Специальная вставка. Он применим только в том случае, если все рабочие листы, которые вы консолидируете, открыты. Недостатком (причем большим) этого метода является то, что консолидация получается нединамичной. Другими словами, при этом не создается формула. Поэтому, если любые консолидированные данные изменятся, результат будет неправильным. Преимуществом этого метода является то, что при вставке данных из буфера обмена с помощью команды Специальная вставка можно выполнять математические операции. Например, можно выбрать опцию Добавить, чтобы добавить скопированные значения к выбранному диапазону. На рис. 29.4 показано диалоговое окно Специальная вставка. 544 Часть V. Дополнительные возможности Excel
PTTT^T^T^I* Вставить --■ ^ к* <"" форму*! С" уичемад С фор**г>1 С" цн»'«а ■ ид Операция С у»т ^^no^fTbT <~ видеть Г" (допускать пуегые ячейки if j | JU*J С ^уквия на значения <"" беэрзмки С' aw»*** столбце» С форну|1ыифор«тычиия {"* >н»-р-^-51ифср»»аты чисел О умножть Сааздетгь Г" трф*л»вфо»ать <Ж Отиена | Рис. 29.4. Диалоговое окно Специальная вставка Чтобы воспользоваться этим методом, выполните перечисленные ниже операции. 1. Скопируйте данные из первого диапазона исходного рабочего листа. 2. Активизируйте зависимую рабочую книгу и выберите диапазон, в который нужно поместить консолидированные данные. 3. Выберите команду Правка^Специальная вставка, установите переключатель Сложить, а затем щелкните на кнопке ОК. Повторите эти действия для всех диапазонов исходных рабочих листов, которые должны быть консолидированы. Но данный метод может привести к ошибкам, кроме того, это не лучший способ консолидации данных. Использование команды Консолидация Завершая тему консолидации данных, рассмотрим метод, в котором исцользуется команда Данные^Консолидация. Этот метод универсален и иногда применим даже в том случае, если способы размещения информации в исходных рабочих листах различны. С помощью данного метода можно выполнять статическую (без формул связи) или динамическую (с формулами связи) консолидацию. Команда ДанныеО Консолидация поддерживает два метода консолидации. ■ По позиции. Данный метод применим только в том случае, если способы размещения информации в исходных рабочих листах идентичны. ■ По категории. В Excel существует возможность подбора данных из исходных рабочих листов по заголовкам строк и столбцов. Этим можно воспользоваться в случае, если данные в исходных рабочих листах размещены по-разному либо если в некоторых исходных рабочих листах разное количество строк или столбцов. На рис. 29.5 показано диалоговое окно Консолидация, которое появляется при выборе команды ДанныеоКонсолидация. Ниже приведено описание элементов управления этого диалогового окна. ■ Функция. В этом поле определяется тип консолидации. Чаще всего вы будете использовать функцию Сумма, но можно также применять другие функции: Количество, Среднее, Максимум, Минимум, Произведение, Количество чисел, Смещенное отклонение, Несмещенное отклонение, Смещенная дисперсия и Несмещенная дисперсия. ■ Ссылка. В это поле нужно ввести адрес диапазона для консолидации из исходного файла. Ссылку на диапазон можно ввести вручную или воспользоваться любым стандартным методом указания (если соответствующая рабочая книга открыта). После то- Глава 29. Связывание и консолидация данных 545
го как будет введен адрес диапазона, щелкните на кнопке Добавить, чтобы добавить его в список диапазонов. Если консолидация выполняется по позиции, не включайте в диапазон консолидации заголовки диапазона. А в случае консолидации по категории обязательно следует включить заголовки. К»»солялэшм •лети..: |Сумнв -0%рК*! - - , фтисрх диапазонов; - __. Ислопыовать в качестве инен j Г" подписийедамейарою* Г~ ********* a**orocroi»Sua Г"0»лаватъ«яжсис*<>днмиид«нныт j J м « 1 Об»... | Добавить 1 Удалить | Закрыть j Рис. 29.5. Диалоговое окно Консолидация позволяет определить диапазоны исходных данных Список диапазонов. В этом окне содержится список всех ссылок, которые были введены с помощью кнопки Добавить. Использовать в качестве имен. Опции этого раздела позволяют при выполнении консолидации исследовать заголовки в верхней строке, левом столбце или в обеих позициях. Используйте эти опции при выполнении консолидации по категории. Создавать связи с исходными данными. При выборе этой опции в зависимом рабочем листе создается структура, которая содержит внешние ссылки на ячейки в источнике. Кроме того, структура содержит также формулы вычисления итогов. Если не активизировать эту опцию, то при выполнении консолидации формулы со связями создаваться не будут. Кнопка Обзор. Эта кнопка служит для вызова диалогового окна, в котором можно выбрать рабочую книгу. В результате имя рабочей книги будет вставлено в поле Ссылка, и вам останется только ввести адрес диапазона. Но значительно удобнее, если все рабочие книги, содержащие данные для консолидации, будут предварительно открыты. Кнопка Добавить. Эта кнопка служит для переноса ссылки из поля Ссылка в поле Список диапазонов. Кнопка Удалить. Эта кнопка служит для удаления выбранной ссылки из списка диапазонов. Пример консолидации данных Чтобы продемонстрировать возможности команды Консолидация, ниже приведен небольшой пример. На рис. 29.6 показаны три рабочих листа, данные которых необходимо консолидировать. Эти рабочие листы представляют собой отчеты по продаже товаров за три месяца. Заметьте, однако, что списки включенных в них товаров отличаются. Кроме того, порядок перечисления этих товаров тоже различен. Другими словами, способы размещения информации в этих рабочих листах не идентичны, поэтому выполнить консолидацию будет довольно сложно. Эти рабочие книги можно найти на прилагаемом компакт-диске. Наш диое щ 546 Часть V. Дополнительные возможности Excel
А I я 1 с 1 РА 1 ^Продукт Янв Фее Мер IA-145 |а-188 [л-ке рвоо >213 р415 lc-seo » --801 18 Е-800 804 Е4>12 Е<77 S3 57 50. 75 20 8 23 8 66 80 81 55' 26 88 40 11*1 * 40 в 47 •3 2 76 3 66 81 б 24 36 50 61 16 62 80 14 47 63 48 60 •Г 1 -в < 1 Продукт Янв Фев Map ' -355 73 2 61 JL>800 213 6 -415 7_ Г 201 (!_ *-165 8_-801 10 14)00 Е-877 42 15 20 40 51 53 31 72 85; 35 80: 23 74 80 58 41 11 :■ 5 25 18 89 80 5» 85 13 55 4 _8 "То- 11 и 13 А В С I Продукт Янв Фев А-145 . 1В 86 D800 38 С-213 . 56 С-415 73 Е-800 88 €-804 84 Е-812 77 Е-877 15 74 RR 3 32 37 57 36 oi e Map 0 72 35 64 4 7 30 86 1 Рис. 29.6. Три рабочих листа, данные из которых нужно консолидировать Чтобы консолидировать эту информацию, сначала нужно создать новую рабочую книгу (при этом не имеет значения, открыты исходные рабочие книги или нет). Далее выполните ряд действий. 1. Выберите команду Данные^Консолидация. Появится диалоговое окно Консолидация. 2. Выберите нужный тип консолидации. В данном случае воспользуйтесь функцией Сумма. 3. Введите ссылку на диапазон первой рабочей книги из тех, которые должны быть консолидированы. Если соответствующая рабочая книга открыта, можете просто указать этот диапазон с помощью мыши. Если же она закрыта, щелкните на кнопке Обзор, чтобы найти нужный файл на диске. Ссылка должна включать адрес диапазона. В данном случае выберите A1:D100. Указанный диапазон больше того, который нужно консолидировать, но это дает гарантию, что все будет работать правильно даже в случае добавления новых строк. Когда в поле Ссылка будет введена нужная ссылка, щелкните на кнопке Добавить, чтобы добавить ее к списку диапазонов консолидации. 4. Введите ссылку на диапазон второй рабочей книги. Можете отредактировать существующую ссылку: заменить Регион 1 на Регион2. Щелкните на кнопке Добавить. Ссылка будет добавлена к списку диапазонов консолидации. 5. Введите ссылку на диапазон третьей рабочей книги. Можете отредактировать существующую ссылку: заменить Регион2 на РегионЗ. Щелкните на кнопке Добавить. Последняя ссылка будет добавлена к списку диапазонов. 6. Поскольку способы размещения информации в рабочих листах различны, в разделе Использовать в качестве имен диалогового окна Консолидация установите флажки значения левого столбца и подписи верхней строки. В результате Excel будет подбирать данные по заголовкам. 7. Установите флажок Создавать связи с исходными данными. В результате Excel создаст структуру, содержащую внешние ссылки. 8. Чтобы начать консолидацию, щелкните на кнопке ОК. Программа Excel консолидирует данные, начиная с активной ячейки. Результат консолидации представлен на рис. 29.7. Обратите внимание: Excel создала структуру, которая сжата до уровня промежуточных итогов по каждому товару. Если расширить структуру, можно будет увидеть детали (т.е. другие данные). Здесь каждая детализированная ячейка содержит формулу с внешней ссылкой на соответствующую ячейку исходного файла. Поэтому в случае изменения каких бы то ни было данных диапазон назначения будет обновлен автоматически. Глава 29. Связывание и консолидация данных 547
ы*-лм 1 г j 1 + 4 + 6 + 8 :- з + 18 + 22 +! _гё ♦ 1Г +J 1Г +_, 32 + « 2 48 А В А-145 А-189 А-195 В-365 D-800 С-213 C-41S С-680 В-201 А-165 Е-901 Е-900 £-904 Е-912 Е-977 1- . ■; i\<w« / С U E f ~ Яне Фее 112 165 76i 2£ 23 9 73: 2 171 180 122 227 Map 50 . 1 66 61 157 133 144! 84 196 37 166 31 74 80 41 68 71; 106 211j 143 14б! 63 58 11 24 113 69 167 71 77 163 97 221 ■ 1 3 . . . , Л JjU 1 АП Рис. 29.7. Результат консолидации Дополнительные сведения о консолидации Программа Excel очень универсальна в том, что касается исходных файлов для консолидации. Можно консолидировать данные, используя несколько источников. ■ Открытые рабочие книги. ■ Закрытые рабочие книги (для этого следует ввести ссылку вручную, но, чтобы ввести в нее имя файла, можно воспользоваться кнопкой Обзор). ■ Та же рабочая книга, в которой создается консолидация. И конечно, можно комбинировать любые эти элементы в одной операции консолидации. Программа запоминает ссылки, которые введены в диалоговое окно Консолидация, и сохраняет их вместе с рабочей книгой. Поэтому, если впоследствии нужно будет обновить консолидированные данные, вам не придется вводить ссылки заново. Если консолидация выполняется в соответствии с заголовками, то следует иметь в виду, что они должны полностью совпадать. Например, заголовки Янв и Январь не совпадают. Однако сравнение заголовков осуществляется без учета регистра, поэтому заголовки Апрель и АПРЕЛЬ считаются идентичными. Кроме того, заголовки могут располагаться в произвольном порядке, который не обязательно должен быть одинаков во всех исходных диапазонах. Программа Excel не будет создавать формулы, если в диалоговом окне Консолидация не установить флажок Создавать связи с исходными данными. В результате будет получена статическая консолидация. Это значит, что, если данные в любом из исходных рабочих листов изменятся, консолидированные итоговые данные не будут обновлены автоматически. Чтобы обновить итоговую информацию, нужно выделить диапазон назначения и повторить команду Данные^Консолидация. Если диапазону назначения присвоить имя Область_Консолидации, его не нужно Совет будет выбирать перед обновлением консолидации. Это имя играет для Excel особую роль. Если в диалоговом окне Консолидация установить флажок Создавать связи с исходными данными, то Excel создаст структуру. Это будет стандартная структура рабочего листа, с которой можно работать с помощью методов, описанных в главе 28. 548 Часть V. Дополнительные возможности Excel
Excel и Internet II _ егодня практически каждый человек, имеющий ком- ^в^ пьютер, имеет также доступ к Internet. Для миллионов пользователей Web стала незаменимым средством обмена и получения информации. Excel обладает возможностью представлять данные из рабочих книг в том виде, который обеспечивает использование их в Internet, а также имеет средства для поддержки процесса извлечения нужной информации из Internet. В этой главе описывается, как Excel может работать с Internet. Информация, касающаяся новых средств Excel Йополнителывя 2003, которые позволяют работать с XML, пред- информация \ ставлена в главе 31. Как Excel работает с HTML HTML является языком представления информации в World Wide Web. При работе в Web документы, как правило, отображаются в вашем обозревателе в формате HTML. Файл HTML состоит собственно из информации, представленной в виде текста, а также специальных тегов, которые указывают, каким образом этот текст должен быть отформатирован. Обозреватель интерпретирует теги, применяет форматирование и затем отображает информацию. Версия Excel 2000 и последующие могут использовать HTML в качестве формата файлов, применяемого по умолчанию. Другими словами, можно сохранять рабочие книги в формате HTML, а затем вновь открывать эти HTML-файлы в Excel. Все данные будут сохранены в своем первоначальном виде. Вся специфическая для Excel информация (такая, как макросы, диаграммы, сводные таблицы и настройки рабочих листов) останется в целости и сохранности. Что внутри Наилучший способ понять, как рабочие книги Excel могут быть сохранены в формате HTML, — это провести простой эксперимент. Создайте новую рабочую книгу и убедитесь, что
она содержит только один рабочий лист. Введите несколько значений и формулу, выполните простое форматирование, а затем сохраните рабочую книгу в формате HTML. Для этого воспользуйтесь командой ФайлОСохранить как веб-страницу. Убедитесь, что выбрана опция всю книгу, а в поле Тип файла выбран тип Веб-страница (*.htm; *.html). На рис. 30.1 показана очень простая рабочая книга, которая содержит два значения и формулу, вычисляющую сумму этих значений. Ячейка с формулой отформатирована полужирным шрифтом. 1 | Внимание! Возможность использования HTML для хранения рабочих книг может вас немного удивить. Компания Microsoft, должно быть, имеет веские причины для поддержки этого средства. В действительности очень сложно найти ситуации, когда оправдано использование формата HTML для хранения рабочих книг. Основной проблемой является то, что результирующий HTML-файл имеет огромный размер, намного больше того, что можно было ожидать. J ilDwta» кимг - чи : в 7 9 * '. 3 :'. . *КЛ~Х | е ; / 0 Н i - _i_J Рис. 30.1. Попробуйте сохранить аналогичную рабочую книгу в формате HTML Теперь откройте HTML-файл в обозревателе. Он выглядит более привлекательно, чем исходная рабочая книга. Тем не менее это не интерактивный документ. Иными словами, в обозревателе можно только просмотреть документ, но изменять значения нельзя. Выполните в обозревателе команду ВидОВ виде HTML, чтобы просмотреть исходный код HTML. Вы будете удивлены увиденным. Даже профессионалы в области HTML будут ошеломлены сложностью этого "простого" Web-документа. Ниже приведено несколько замечаний по поводу полученного файла HTML. ■ Вся рабочая книга Excel может быть представлена в виде одного файла HTML. Другими словами, вся информация, необходимая для создания точной копии оригинальной рабочей книги, как правило, содержится в HTML-файле. Далее в главе описаны ситуации, когда только одного HTML-файла недостаточно. ■ Большая часть документа содержится между тегами <head> и </head>. ■ Много места занимает описание стиля. Эта информация находится между тегами <style> и </style>, которые, в свою очередь, находятся между тегами <head> и </head>. ■ Текст, который отображается в обозревателе, представлен в таблице (между тегами <table> и </table>). ■ Формула скрыта с помощью собственного аргумента для тега <td>. Собственный аргумент игнорируется обозревателем, но Excel использует эту информацию при открытии файла. Файл HTML, который генерируется для простой рабочей книги, имеет размер более 4 000 байт; с точки зрения количества отображаемой информации это значительно больше, чем должно быть. Дополнительная информация используется Excel для создания рабочей книги во время открытия файла HTML. 550 Часть V. Дополнительные возможности Excel
Еще об HTML Рабочая книга, используемая в примере предыдущего раздела, очень проста. Теперь немного усложним наш пример и посмотрим, что произойдет с HTML-файлом. Откройте рабочую книгу, которая использовалась в приведенном выше примере, выделите диапазон А1:АЗ и нажмите клавишу <F11>, чтобы создать диаграмму, расположенную на листе диаграмм. Затем снова сохраните файл в формате HTML и откройте его в обозревателе. Как видите, все по-прежнему выглядит почти так же, как и в оригинальной рабочей книге. Внизу были добавлены ярлычки листов, а также кнопки их прокрутки. Размер HTML-файла увеличился более чем в два раз (теперь он занимает более 10 000 байт). Но кроме того, в папке, в которой был сохранен этот файл, появилась еще одна папка, содержащая дополнительные файлы (в данном примере было создано еще шесть файлов). Эти файлы необходимы для точного отображения рабочей книги в обозревателе и для создания рабочей книги во время открытия HTML-файла в Excel. Если просмотреть код HTML, то обнаружится, что он намного сложнее того, который был получен в предыдущем примере. Теперь в коде содержится еще и сложный код JavaScript. (JavaScript— это язык программирования сценариев, который поддерживается большинством обозревателей.) Учитывая это, разобраться в полученном коде вряд ли сможет средний специалист в области Web-программирования. И это не учитывая дополнительных файлов, которые находятся в отдельной папке. При сохранении документа в виде Web-страницы в поле Тип файла можно вы- На заметку брать формат Веб-страница в одном файле (*.mht; *.mhtml). Если выбрать этот формат, то вся рабочая книга будет сохранена в одном файле. Но будьте осторожны: скорее всего, единственным обозревателем, который поддерживает этот тип файлов, является Microsoft Internet Explorer. Создание компактных HTML-файлов Как уже отмечалось, при экспорте файлов Excel в формат HTML получаются очень большие файлы. Есть две возможности, которые позволяют сократить размер этих файлов. ♦ Воспользоваться надстройкой сторонних производителей, которая позволяет создавать HTML-файлы. Например, надстройка Power Utility Pak позволяет создавать HTML-файл на основе всей рабочей книги или выделенного диапазона. Этот файл будет иметь меньший размер, чем файл, полученный в результате выполнения команды Файл<=> Сохранить как веб-страницу. Пробная версия этой надстройки доступна на прилагаемом к книге компакт-диске. ♦ Загрузить через Internet фильтр Microsoft Office 2000 HTML Filter. Эта программа удаляет из HTML-файлов код, который не используется обозревателем. В Internet выполните поиск по строке "Office 2000 HTML Filter", в результате вы найдете его на официальном Web-узле компании Microsoft. Точная ссылка здесь не приводится, поскольку расположение файла на Web-узле может измениться. Сохранение интерактивности в Web-документах В этом разделе обсуждается еще одна возможность экспортирования рабочих книг Excel в формат HTML. Excel позволяет сохранять интерактивные HTML-файлы. Другими словами, открыв HTML-файл в обозревателе, пользователь может работать с этим документом, как с обычной рабочей книгой. Например, можно вводить новые данные, изменять формулы, применять форматирование к ячейкам, просматривать динамические диаграммы и даже изменять Глава 30. Excel и Internet 551
структуру сводных таблиц. Но это средство имеет одно ограничение - только один рабочий лист, а не всю рабочую книгу. можно сохранять Внимание! Для работы с интерактивными данными требуется обозреватель Microsoft Internet Explorer версии 5.0 или более поздней. Для сохранения интерактивного рабочего листа Excel выполните команду ФаЙлОСохра- нить как веб-страницу и в диалоговом окне Сохранение документа установите переключатель Сохранить в положение Выделенное: Лист. Затем установите флажок Добавить интерактивность. Щелкните на кнопке Опубликовать, чтобы открыть диалоговое окно Публикация веб-страницы. Поскольку все установленные по умолчанию опции в данном случае подходят, просто щелкните на кнопке Опубликовать. Открыв файл HTML в обозревателе Microsoft Internet Explorer, вы увидите интерактивный объект, который выглядит как рабочий лист. На рис. 30.2 показан пример такого интерактивного рабочего листа, открытого в обозревателе. Ф»йп Прлвг* Вид Избранно* Сервис Справка «-■I « • "» • J _j dJ jn<wc« jJlbSpaiwoe .фмедаа J -tV J » _J Адрес fgj СCocument» and &еитд|Цеоа\Рабочий CTortCo/oahew JJ <ЭПереход j Ссылки H*^ * r ■ J i :■ ? I -: * ч» *■ s il-s<-^ if «иэ Ш ■bTJbTbi ft С i D E . , r t Объем выплат по ссуде Объем ссуды Годов» процентная ставка Периодичность выплат (мес | Количество периодов Объем выплат и период ГСООООООр 9,5* 1 36 3 203 29р 1 Период Основная сумма Выплаты по процентам 3 2 44S 9бр 753 ЗЗр \n*ci - ^в^^^^^ш^ш^ш^шашшшшш^^шшм ш <|Гстаю Рис. 30.2. Интерактивный рабочий лист Excel, открытый в Internet Explorer Этот файл можно найти на прилагаемом компакт-диске. На компакт- Если при создании HTML-файла установить опцию Добавить интерактивность, то полученный файл будет содержать Web-компонент Microsoft Office (который в действительности является элементом управления ActiveX). Это означает, что пользователь может выполнять стандартные операции Excel непосредственно в окне обозревателя. Например, пользователь может вводить в ячейки новые данные или изменять структуру сводной таблицы. Но следует помнить, что интерактивные документы имеют некоторые ограничения. Например, в окне обозревателя нельзя выполнять макросы. Кроме того, сохранить какие-либо изменения также не удастся. 552 Часть V. Дополнительные возможности Excel
Вы, наверное, думаете, что созданный HTML-файл намного сложнее описанного в предыдущем разделе. В действительности это не так. Рабочий лист хранится в одном файле, а все действия выполняются с помощью элемента управления ActiveX. Восстановление рабочих книг с помощью HTML Если вы много работаете в Excel, то наверняка заметили, что со временем некоторые рабочие книги значительно увеличиваются в размере. В конце концов это может привести к тому, что в рабочей книге произойдет ошибка и с ней больше нельзя будет работать. Чтобы избежать этого, можно заново создать рабочую книгу. Проще всего выполнить эту операцию, экспортировав книгу в формат HTML, а затем открыть полученный файл в Excel и вновь сохранить в стандартном формате XLS. Приведем пример. У меня была рабочая книга размером 8,8 Мбайт. После сохранения в формате HTML она (вместе с дополнительными файлами) заняла 26,3 Мбайт в памяти компьютера. Затем HTML-версия книги была вновь открыта в Excel и сохранена в формате XLS. Новая рабочая книга заняла 5,2 Мбайт памяти, что на 40% меньше, чем исходная рабочая книга. Экспортирование в формат XML Программа Excel позволяет экспортировать рабочие книги в формат XML, используя схемы таблиц XML, которые также известны под аббревиатурой XMLSS (XML Spreadsheet Schema). Чтобы воспользоваться этим средством, на вашем компьютере должен быть установлен параметр Веб-компоненты Office 2003. Эти компоненты позволяют сохранять рабочие книги в формате XMLSS. При сохранении рабочей книги в формате XML могут быть утеряны такие эле- i менты исходной книги, как диаграммы, изображения, макросы и структуры. По- ' этому исходный файл и полученный XML-файл, скорее всего, будут отличаться. Из сказанного выше можно сделать вывод, что этот формат следует использовать только в тех случаях, когда в каком-либо другом приложении нужно создать файл (без использования Excel), с которым можно затем работать в Excel. Диалоговое окно Параметры веб-документа Если вам часто приходится сохранять рабочие книги в формате HTML, то следует знать о некоторых дополнительных параметрах, которые могут повлиять на полученные файлы. Выберите команду Сервис^Параметры, в появившемся диалоговом окне перейдите во вкладку Общие и щелкните на кнопке Параметры веб-документа. Появится одноименное диалоговое окно. В большинстве ситуаций установленные по умолчанию параметры изменять не нужно. Тем не менее знание этих опций может оказаться полезным в будущем (их описание можно найти в справочной системе Excel). Открыть это диалоговое окно также можно из меню Сервис в диалоговом окне Сохранение документа (команда Файл^Сохранить как). Гиперссылки Гиперссылку можно представить себе как кнопку, щелчок на которой позволяет быстро переходить к другой рабочей книге или к другому документу. При этом файлы могут находиться на вашем компьютере, на компьютере в локальной сети или в Internet. Например, для Глава 30. Excel и Internet 553
рабочей книги с несколькими рабочими листами можно создать лист "Содержание", с которого с помощью гиперссылок вы могли бы переходить на другие листы рабочей книги. Вставка гиперссылок Гиперссылки можно создавать из текста ячейки или графических объектов, таких, как автофигуры или рисунки. Чтобы создать гиперссылку на основе текста, содержащегося в ячейке, выберите команду Вставка^Гиперссылка (или нажмите комбинацию клавиш <Ctrl+K>). Появится диалоговое окно Добавление гиперссылки, показанное на рис. 30.3. "мч-)-йил;и<|Цца:мыи ОВОвТЬС . Тв«СТ1 |ЛИСТ2>А1 ДШ 'ф»йлж. веб- |Г i Ссыпка на ячейку fVCTl (ЪстЭ Определенные имена Рис. 30.3. Диалоговое окно Добавление гиперссыпки В этом диалоговом окне в левой панели Связать с щелкните на той кнопке, которая соответствует создаваемому типу ссылки. В зависимости от выбранного типа создаваемой гиперссылки, окно Добавление гиперссылки может измениться так, чтобы было удобно выбрать тот объект, на который будет сделана ссылка. Выберите объект для гиперссылки и щелкните на кнопке ОК. Excel создаст гиперссылку в активной ячейке. Можно создавать гиперссылки на существующий файл на жестком диске, Web-страницу в Internet, ячейки в открытой рабочей книге или новый документ. Кроме того, можно создавать гиперссылки, которые будут содержать адрес электронной почты. Добавление гиперссылки к графическому объекту (например, созданному с помощью инструментов рисования Excel) осуществляется точно так же. Выделите графический объект и выполните команду ВставкаОГиперссылка. Откроется диалоговое окно Добавление гиперссылки, описанное выше. Выполните те же действия, что и при назначении гиперссылки ячейке рабочего листа. Использование гиперссылок При работе с гиперссылками необходимо помнить, что Excel ведет себя точно так же, как обозреватель Internet. Если щелкнуть на гиперссылке, то связанный документ заменит текущий, займет то же самое окно и будет иметь те же размеры. Документ, который содержит гиперссылку, будет скрыт. Для перехода между документами можно использовать кнопки Далее и Назад, которые расположены на панели инструментов Веб-узел. Если гиперссылка содержит адрес электронной почты, то после щелчка на ней откроется установленный по умолчанию почтовый клиент, используя который можно отправить письмо по электронной почте. 554 Часть V. Дополнительные возможности Excel
Использование Web-запросов С помощью Web-запросов Excel позволяет извлекать данные из документов в формате HTML. Эти данные будут перенесены в рабочую книгу, после чего с ними можно манипулировать так же, как с обычными данными. Эта процедура очень похожа на создание запроса к внешней базе данных (см. зполнителы*я главу 20). Единственным различием является то, что данные извлекаются из 1 \\ Web-страницы, а не из базы данных. На замет а заметку Преимущество Web-запросов в том, что для извлечения данных нет необходимости открывать файлы HTML в Excel. / Еще одно преимущество Web-запросов (как и запросов к базам данных) заключается в том, что данные, извлеченные с помощью этих запросов, можно обновлять для того, чтобы иметь самые "свежие" данные, представленные на Web-странице. Для создания Web-запроса выберите команду Данные^Импорт внешних данных1^ Создать веб-запрос. Excel откроет диалоговое окно Создание веб-запроса (рис. 30.4). Сначала укажите адрес нужной Web-страницы или HTML-файла, который может находиться в Internet, корпоративной сети intranet либо на локальном или сетевом жестком диске. Выберите таблицы, которые требуется импортировать, и щелкните на кнопке Импорт. Откроется диалоговое окно Импорт данных с вопросом о том, куда поместить импортируемые данные. Укажите их будущее местоположение на листе и щелкните на кнопке ОК. Excel выполнит Web-запрос, поместив извлеченные данные в рабочий лист. Смяакм к«<иа«шоса Щсуиктбзначки (♦] табт{,котарыенужиа»ыЕ|рлтъ, и накуйте кнопку"VfrnopT". J ■ " (Ъв|1 Я* ♦14''*' ft -■<■. ■■■■ 4 «J « ' ш В Объем выплат по к>Нт1 Ооьем ссуды Годовая процентная ставка Периодичность выплат <ыес.) Количество периодов Объем выплат ia период ь агэ с ссуде 100 000.00р. 9,5% 1 36 3 203.29р. I —Ш Рис. 30.4. Диалоговое окно Создание веб-запроса Глава 30. Excel и Internet 555
После выполнения Web-запроса можно изменить некоторые его параметры. Для этого выделите любую ячейку с данными, полученными с помощью Web-запроса, и выберите команду Данные^Импорт внешних данныхОСвойства диапазона данных. Последнюю команду можно также найти в контекстном меню диапазона данных. После выполнения этой команды откроется диалоговое окно Свойства внешнего диапазона (рис. 30.5), в котором можно сделать необходимые установки. "3 Р Яетофсрмат дам«*х Определение sanpoce — - jp1 «»дзанитъ ет^едеяение запроса г СЧиювяение экране — р" фоновое эбнойченне Г обновить каждые ] Г" йбноеяе»*»фнй'Яфытмифаи1И1 Г" "»?г Фосфат 1-р«1*!вткл данных ■ г П ^ задать- аИР*ну столбце . Г" .Cri*-*-r , I -w»4 Ecmi готчесгво строк в ди«п*>он« «зненктся. ? д(^»т*.«св>«сгрс«ииуд^ятъсуи(естеукн1»« , Г* добавить новыеCtpOtttt иоЧ<ТНГЬ пустые дче*« t~ эвдвннть сущвСтвукэвд« ячейш к удалить пустые '- Г" гагюянить фориумни соседние етзпбш* ! ОГ.Д Отмена Я/гс. 30.5. Диалоговое окно Свойства внешнего диапазона 556 Часть V. Дополнительные возможности Excel
Обмен данными с другими приложениями |^€\ ольшинство Windows-приложений в настоящее время L>^ разрабатываются с возможностью совместной работы с ними нескольких пользователей. Хорошим примером служат приложения пакета Microsoft Office. Эти программы имеют общий вид и стиль и, кроме того, позволяют довольно просто обмениваться данными. В этой главе рассматривается, как можно использовать другие приложения во время работы в Excel и как использовать Excel во время работы с другими приложениями. Кроме того, в этой главе можно найти краткое описание новых средств Excel 2003 для работы с XML. С помощью файлов XML также можно организовать процесс обмена данными между несколькими приложениями. Обмен данными между приложениями Кроме способов импортирования и экспортирования файлов, существует еще несколько основных способов обмена данными между приложениями Windows. ■ Копирование и вставка данных с помощью буферов обмена Windows и Office. При этом создается статическая копия данных. ■ Создание динамических связей (тогда изменение исходных данных будет отражаться на их копии в другом документе). ■ Вставка в документ целого объекта из другого приложения. ■ Использование файла XML для хранения данных. В этой главе подробно описаны все эти методы и показано, как использовать их на практике. В этой главе.. Обмен данными между приложениями Вставка и связывание данных Внедрение объектов в документы Работа с данными XML
Вставка и связывание данных В этом разделе описываются различные возможности вставки данных и установления связи между рабочими листами Excel и документами других типов. Использование буферов обмена Вы знаете, что, работая с Windows, можно в любой момент получить доступ к буферу обмена Windows — общей области памяти компьютера, которая используется для временного хранения информации, скопированной или вырезанной из приложений. Буфер обмена Windows находится всегда "за кадром", поэтому вы часто просто не замечаете его. Всякий раз, когда выполняется команда Правка^Копировать или ПравкаОВырезать, отмеченные данные помещаются в буфер обмена. Как и большинство приложений Windows, Excel получает доступ к данным буфера обмена с помощью команды ПравкаОВставить (или команды ПравкаоСпециальная вставка). При работе в приложениях Office скопированная или вырезанная информация помещается как в буфер обмена Windows, так и в буфер обмена Office. Данные, вставленные из буфера обмена Windows, остаются в нем и после вставки, поэтому их можно использовать несколько раз. Буфер обмена Windows в определенный момент времени может содержать только один элемент, следовательно, если скопировать или вырезать что-то еще, старое содержимое буфера обмена будет заменено. В отличие от буфера обмена Windows, в буфере обмена Office может храниться до 24 фрагментов информации. Буфер обмена Office доступен из всех приложений Microsoft Office. Например, можно скопировать два фрагмента из Word и три таблицы из Excel, а затем вставить все это в файл PowerPoint. Скопировать информацию из одного приложения Windows в другое довольно просто. Приложение, из которого копируются данные, называется источником данных (или приложением-источником), а приложение, в которое копируются данные, — приемником данных (или приложением-приемником). Для того чтобы скопировать данные из одного приложения в другое, выполните ряд действий. 1. Активизируйте окно документа-источника, в котором содержится необходимая для копирования информация. 2. Выделите необходимую информацию, используя мышь или клавиатуру. 3. Выберите команду меню ПравкаОКопировать. 4. Активизируйте приложение-приемник. Если оно не было открыто, нужно запустить его, это не повлияет на содержимое буфера обмена. 5. Перейдите к нужной позиции в приложении-приемнике (к месту, куда нужно вставить данные). 6. Выберите команду Правка^Вставить в приложении-приемнике. Если содержимое буфера обмена не может быть вставлено, то команда Вставить будет выделена серым цветом (т.е. недоступна). В некоторых ситуациях можно воспользоваться командой Правка^Специалыная вставка, в результате чего появится диалоговое окно с множеством параметров вставки. При выполнении п. 3 вместо копирования можно выбрать команду ПравкаоВырезать из меню приложения-источника. В результате отмеченные данные после помещения их в буфер обмена будут удалены из приложения-источника. На замет заметку 558 Часть V. Дополнительные возможности Excel
На заметку Если повторить п. 3 в любом приложении Microsoft Office, то автоматически откроется область задач с панелью Буфер обмена. Если область задач автоматически не открылась, выберите команду Вид^Область задач. Для примера скопируем диаграмму Excel в Microsoft Word. Сначала выделите диаграмму в Excel, щелкнув на ней. Затем скопируйте ее в буфер обмена с помощью команды Правкам Копировать. Далее активизируйте документ Word, в который необходимо вставить копию диаграммы, и переместите курсор в то место, куда нужно поместить диаграмму. После выбора команды Правка^Вставить из меню Word диафамма будет вставлена из буфера обмена и появится в документе (рис. 31.1). Цмуисит) - М*с»в»0Я W»r<l SJaftn Ораек* Вмд Вставка Фоонат Сересс Хаблице Окно Справка \ , Е« едите ot-npac - X A Jj J J. ? ii •. -j & J Ч^'^уЗЭоЗ^1 125* ' В .-^«-» ] - Time. New Roman -12 - Ж К Н [д]Д Д ■ ji - j= is if OF {3 - Щ~ Д- «* *■ [ Ниже представлена диаграмма, на которой изображено количество звонков в день за первые 10 дней работы компании ||;аВЗО,,<1 , v Вкоааи»»- ^ Аетофиоты- Ч * Q О '-i -«1 О jSl -el "!»-^-A-===g«»jJ ■и Hi оуяквЖРо JJ |.| - На заметку / Яис. J/.7. Диаграмма Excel скопирована в документ Word Важно понимать, что приложения Windows по-разному реагируют на данные, вставляемые из буфера обмена. Если команда Правка^Вставить не доступна в приложении-приемнике, то данное приложение не может принять информацию из буфера обмена. Например, если скопировать диапазон данных из Excel в буфер обмена и вставить его в Word, то в Word будет создана таблица. Другие приложения могут отреагировать на эти данные иначе. Обратите внимание на то, что описанный метод копирования и вставки действует статически. Другими словами, не существует никакой связи между данными, копируемыми из приложения-источника, и приложением-приемником. Это означает, что, если будут скопированы данные из Excel в документ текстового процессора, последующие изменения в рабочем листе Excel или диафаммы никак не отразятся на документе текстового процессора. Поэтому для обновления данных необходимо повторить процедуру копирования/вставки. В следующем разделе представлен способ, который позволяет обойти это офаничение. Глава 31. Обмен данными с другими приложениями 559
Связывание данных Если необходимо обменяться данными, которые могут измениться, между приложениями, то процедура статического копирования и вставки, описанная в предыдущем разделе, не лучший выбор. Более эффективное решение — создать динамическую связь между данными, скопированными из одного приложения в другое. Тогда, если данные изменятся в документе- источнике, эти же изменения будут автоматически внесены в документ-приемник. ^^^* Разные приложения по-разному работают со связанными данными. В некоторых На заметку ситуациях обновлять связанные данные придется вручную (с помощью соответ- /ствующей команды). \ Когда может понадобиться использовать этот метод? Например, когда вы с помощью текстового процессора составляете торговое предложение, вам может потребоваться информация о ценах, которая хранится в рабочем листе Excel. Тогда, установив связь между документом текстового процессора и рабочим листом Excel, можно быть уверенным, что все торговые предложения всегда будут содержать информацию о последних ценах. Не все приложения Windows поддерживают динамическое связывание, поэтому убедитесь, что приложение, в которое вы собираетесь копировать данные, поддерживает такую связь. Установить связь одного приложения Windows с другим несложно, хотя этот процесс может быть разным, в зависимости от используемых приложений. Ниже приведена общая последовательность действий. 1. Выберите команду Правка^Жопировать из меню приложения-источника. Копия информации будет помещена в буфер обмена. 2. Активизируйте приложение-приемник. 3. Воспользуйтесь соответствующей командой для установления связи. В приложениях Microsoft Office она называется ПравкаоСпециальная вставка. 4. Вполне вероятно, что после выбора указанной команды может появиться диалоговое окно, в котором нужно будет указать, какой тип связи создавать. В следующем разделе это будет описано подробнее. При использовании динамических связей между двумя приложениями необходимо учесть ряд замечаний. ■ Не все приложения Windows поддерживают связывание. Более того, некоторые программы можно связывать с чем-то, но с ними ничего связать нельзя. Если у вас нет уверенности, обратитесь к документации того приложения, с которым вы работаете. ■ При сохранении файла Excel, который имеет связи с другими документами, в нем сохранятся самые последние данные. Когда вы вновь откроете этот документ, будет предложено обновить связи. ■ Работать со связанными документами довольно просто. Однако при перемещении документа-источника в другой каталог или сохранении его под другим именем документ- приемник не сможет возобновить связь. ■ Команду Правка^Связи можно использовать также для разрыва связи. После разрыва связей данные из приложения-источника остаются в приложении-приемнике, но они уже не будут связаны с исходными данными. ■ В Excel внешние связи хранятся в формулах массивов. Если вы хорошо знаете, что делаете, то можете изменить связь, непосредственно отредактировав формулу массива. 560 Часть V. Дополнительные возможности Excel
Копирование данных из Excel в Word Чаще всего для работы используется комбинация двух программ: электронной таблицы и текстового процессора. В этом разделе описываются типы связей, которые можно создать в Microsoft Word при копировании туда данных Excel. На рис. 31.2 показано диалоговое окно Специальная вставка, открытое в Microsoft Word. При этом в буфер обмена был скопирован диапазон ячеек из Excel. Полученный результат зависит от того, активизированы ли опции Вставить и Связать, а также от выбора типа вставляемого элемента. Если установить переключатель Связать, то можно указать, чтобы информация вставлялась в виде значка. При этом двойной щелчок на значке активизирует исходный рабочий лист. L,;1" I ■ wm Историк: Лет Mfcrosoft Offfc* Exc«f fterWlCtrMlO! н Лист МкгояЛ Office Excd (объект) *екст в формате RTF Неформатированный текст рисунок (метафайл windows) Точечно У1 - Ul .Г" gwyte значка Вставке содержимого g_Q формате HTML ■ вставка связи устанавливает <вязь сфв*»н данных Изменения б исходном файле будут ' автояатичеаод отреветься в докунемте Рис. 31.2. Диалоговое окно Специальная вставка позволяет задать тип устанавливаемой связи Вставка без связи Далеко не всегда требуется устанавливать связь при копировании данных. Например, если при подготовке отчета в текстовом процессоре нужно просто вставить таблицу данных из рабочего листа Excel, то нет никакой необходимости устанавливать связь. Для того чтобы вставить данные без создания связи, в диалоговом окне Специальная вставка выберите переключатель Вставить. Обратите внимание, что вставляемые данные выглядят одинаково, независимо Совет от того, в какое положение установлен переключатель — Связать или Вставить. "} Некоторые атрибуты форматирования Excel при вставке текста в Word будут потеряны. Например, Word не поддерживает вертикальное выравнивание для ячеек таблицы (для этого в Word можно использовать команды форматирования абзацев). Вставка со связью Если копируемые данные подлежат изменению, то лучше установить связь с документом-источником. Тогда, если данные вставлены в приложение с использованием опции Связать диалогового окна Специальная вставка, то при внесении изменений в документ-источник они появятся в документе-приемнике (возможно, с задержкой в несколько секунд). Для того чтобы проверить, так ли это на самом деле, выведите оба приложения на экран, внесите изменения в документ-источник и наблюдайте за тем, как они появляются в документе-приемнике. Глава 31. Обмен данными с другими приложениями 561
Внедрение объектов в документы Существует еще один способ обмена информацией между приложениями Windows — внедрение объекта в документ. Он известен как связывание и внедрение объектов, или Object Linking and Embedding (OLE). Данный метод позволяет вставлять объекты из других программ и, если необходимо, редактировать их с помощью средств этих программ. В качестве объекта OLE можно выбрать один из перечисленных ниже элементов. ■ Текстовые документы, созданные в других программах, например в текстовом процессоре. ■ Рисунки и векторные изображения, созданные в других программах. ■ Информация, взятая из специального служебного OLE-приложения, такого, как Microsoft Equation. ■ Звуковые файлы. ■ Файлы, содержащие видеоизображение и анимацию. Большинство (но не все) наиболее важных приложений Windows поддерживают технологию OLE. Техника внедрения документов часто Используется, когда документы должны быть переданы другим пользователям. Если создан один документ, то отпадает необходимость в пересылке нескольких файлов. Более того, этот способ позволяет избежать проблем, которые могут возникнуть из-за разрыва связей. Объект можно внедрить в документ двумя способами. ■ Используйте команду Правка^Специальная вставка и выберите в диалоговом окне Специальная вставка нужный тип объекта (если он, конечно, присутствует в списке). При этом следует установить переключатель Вставить, а не Связать. ■ Используйте команду ВставкаоОбъект. В результате внедрения объектов размер файла-приемника может увеличиться i во много раз. Внимание! Некоторые приложения, например входящие в пакет Microsoft Office, позволяют внедрять объекты с помощью операции перетаскивания из окна одного приложения в другое. Далее рассматриваются эти два метода внедрения объектов и приводится несколько примеров с использованием Excel и Word. Внедрение диапазона ячеек Excel в документ Word В этом примере диапазон, показанный на рис. 31.3, будет внедрен в документ Word. Сначала выделите диапазон данных и скопируйте его в буфер обмена. Затем активизируйте (или запустите) Word. Переместите курсор в то место документа Word, куда должна быть вставлена таблица. Находясь в окне Word, выберите команду ПравкаОСпециапьная вставка. В диалоговом окне Специальная вставка установите переключатель Вставить (не Связать!) и выберите объект Лист Microsoft Excel (объект). Щелкните на кнопке ОК, и диапазон будет вставлен в документ Word. Совет У 562 Часть V. Дополнительные возможности Excel
Дата К-ч> «вонков День недели 1 апр 2 апр 6 апр 6 апр 7 апр 8 апр 9 апр 12 апр 13 апр 14 апр 15 апр 16 апр 19 апр 20 апр 262 264 210 192 229 177 261 238 234 246 154 264 234 189 Четверг Пятница Понедельник Вторник Среда Четверг Пятница Понедельник Вторник Среда Четверг Пятница Понедельник Вторник . . -\| Jim Рис. 31.3. Этот диапазон ячеек будет внедрен в документ Word Вторник Щ 109 D ■ V)»n*rilV %ij г и иажиитв Скег и/и »у*с-т- Чктавигь* ■A-s=.S _34 I Рис. 31.4. Двойной щелчок на внедренном объекте Excel позволяет отредактировать его на месте, при этом меню и панели инструментов Word заменяются меню и панелями инструментов Excel Глава 31. Обмен данными с другими приложениями 563
Внедренный объект — это не обычная таблица Word. Например, вы обнаружите, что отдельные ячейки нельзя отметить и отформатировать. Более того, таблица не связана с исходным диапазоном в Excel. Поэтому, если изменить данные, находящиеся в рабочем листе Excel, они никак не отразятся в документе Word на внедренном объекте. Однако, если дважды щелкнуть на объекте, меню и панели инструментов Word заменятся стандартными панелями и меню Excel. Кроме того, на внедренном объекте появятся привычные границы строк и столбцов Excel. В результате объект можно будет отредактировать прямо на месте, используя команды Excel. На рис. 31.4 показано, как это выглядит. Чтобы вернуться в нормальное состояние, просто щелкните в каком-нибудь месте документа Word. Помните: при редактировании внедренного объекта не создается никаких дина- i мических связей с источником данных. Поэтому, если внести изменения в объект, Внимание! внедренный в Word, это никак не отразится на исходных данных, находящихся в рабочем листе Excel. Внедренный объект полностью независим от источника, из которого он взят. Преимущество этого метода заключается в том, что во время работы в текстовом процессоре Word можно пользоваться всеми средствами Excel для редактирования внедренного объекта. Выше уже шла речь о том, что внедрение объектов можно выполнить следующим Совет образом: отметить диапазон в Excel и перетащить его в документ Word. При этом к\ в качестве промежуточного места хранения можно использовать рабочий стол ,\ Windows. Например, можно перетащить диапазон из Excel на рабочий стол Windows. В результате там будет создан фрагмент. Затем можно перетащить этот фрагмент в документ Word, и вы получите внедренный объект Excel. Создание в Word нового объекта Excel В предыдущем примере диапазон из существующего листа Excel был внедрен в документ Word. В этом разделе описано, как создать новый (пустой) объект Excel в документе Word. Это может пригодиться, например, при написании отчета, когда требуется вставить таблицу со значениями, которых нет ни в одном рабочем листе. Можно вставить обычную таблицу Word, но тогда нельзя будет пользоваться пре- Совет имуществами формул и функций Excel, что могло существенно облегчить задачу. Л у Для создания нового объекта Excel в документе Word выберите команду ВставкаООбъект. Появится диалоговое окно Вставка объекта. Во вкладке Создание будет приведен список типов объектов, которые можно создать (это зависит от того, какие приложения установлены на вашем компьютере). Выберите опцию Лист Microsoft Excel и щелкните на кнопке ОК. Word вставит чистый рабочий лист Excel в документ и активизирует его, как показано на рис. 31.5. При этом у вас будет полный доступ к командам Excel, так что можно свободно вводить в этот рабочий лист все, что угодно. Когда все операции с рабочим листом будут закончены, щелкните где-нибудь в документе Word. В дальнейшем, если понадобится внести какие-либо изменения, дважды щелкните на этом объекте. Когда объект выбран, но не активизирован (для этого щелкните на объекте кнопкой мыши один раз, и вокруг него появится рамка с маркерами изменения размера), можно изменить его размер, перетащив один из маркеров. Выбранный (не активизированный) объект можно обрезать так, чтобы он показывал только ячейки, содержащие нужную информацию. Для этого отобразите в Word панель инструментов Настройка изображения (щелкните правой кнопкой мыши на любой панели Word и выберите Настройка изображения). На этой панели выберите инструмент Обрезка и с его помощью перетащите один из маркеров рамки объекта. 564 Часть У. Дополнительные возможности Excel
Рис. 31.5. Пустой рабочий лист Excel можно создать непосредственно в текстовом процессоре Word Если дважды щелкнуть на объекте Excel, тем самым активизировав его, и после этого изменить размеры объекта, перетаскивая его рамку, то в этом случае объект не обрезается, а только изменяется размер его видимой части. Если щелкнуть где-нибудь в документе Word, то полосы прокрутки, ярлычки листов, линии сетки и другие элементы исчезают, но все введенные данные остаются видимыми. Внедрение объектов в рабочий лист Excel В предыдущих примерах объекты Excel внедрялись в документ Word. Для внедрения объектов в рабочий лист Excel используются те же самые процедуры. Например, если нужно ввести в рабочую книгу большое количество поясняющего текста, то это можно сделать несколькими способами. ■ Ввести текст непосредственно в ячейки. Это довольно скучное занятие, кроме того, средства форматирования текста в Excel весьма ограниченны. ■ Ввести текст как надписи. Это хорошая альтернатива, но средств для форматирования по-прежнему не слишком много. ■ Можно внедрить документ Word в рабочий лист. Это предоставит полный доступ ко всем средствам форматирования текста Word. На заметку Совет Глава 31. Обмен данными с другими приложениями 565
Чтобы внедрить пустой документ Word, находясь в окне Excel, выберите команду Вставка1^ Объект. В диалоговом окне Вставка объекта щелкните на вкладке Создание и из списка Тип объекта выберите Документ Microsoft Word. В результате в рабочем листе Excel будет создан чистый документ Word, в который можно непосредственно вводить текст. Обратите внимание: меню и панели инструментов Excel заменены меню и панелями инструментов Word. Можно изменить размер документа, при этом слова будут автоматически перенесены на новые строки. Можно внедрять множество различных типов объектов, включая аудио- и видеоклипы, MIDI-фрагменты и даже целые презентации из Microsoft PowerPoint. В пакет Microsoft Office включено несколько приложений, которые могут быть полезны. Например, в Excel можно внедрить объект Microsoft Equation и в нем в привычном виде привести формулы, используемые в рабочем листе. Некоторые типы объектов, приведенные в диалоговом окне Вставка объекта, при Совет- вставке в рабочий лист Excel могут оказаться весьма удобными и полезными. Если вы не уверены в том, каковы возможности того или иного типа объектов, Ш попробуйте вставить его в пустую рабочую книгу и посмотреть, что произойдет. Работа с данными XML В этом разделе описываются новые средства Excel 2003 по работе с данными XML. Эти средства предоставляют еще один способ обмена информацией между приложениями. Информация, приведенная в этом разделе, касается только Excel версии 2003. Если вы пользуетесь Excel 2000 или 2002, то можете открыть (с помощью команды « Файл^Открыть) файлы XML. Но описанные здесь средства работать не будут. Новинка! Что такое XML XML— это общепринятый стандарт, который позволяет обмениваться данными между разными приложениями. XML, как и HTML, является языком разметки. В XML для определения элементов в документе используются теги. Они определяют элементы структуры документа, а также значения этих элементов. В отличие от тегов HTML, которые определяют вид и форматирование документа, XML может использоваться для определения структуры и контекста документа. Следовательно, XML позволяет отделить содержимое документа от его представления. Ниже приведен листинг простого XML-файла, который содержит информацию из электронного письма. <?xml version="l.0" encoding="Windows-1251"?> <сообщение> <кому>Лола Графченко</кому> <от>Екатерина Рыбак</от> <тема>Дата встречи</тема> <текст>Встреча состоится в 16:00 во вторник</текст> </сообщение> Если открыть этот файл в Internet Explorer, то обозреватель отобразит его в виде структурированного документа, как показано на рис. 31.6. 566 Часть V. Дополнительные возможности Excel
ьгхз==яез2=-233ЭИВЗЕНСЗ -IQixl Ф**1, Пр»вх* бич nsftw»**** сврвие Спреем *} С Documents and Stfw»flrtLer>elMow дыументьАТошиа^Ехсд! 2^1 <^вЕв*ая Свмпм* >* г1 ▼ <?xml version="1.0" encoding=awindows-12Sl" ?> ■ <message> <№>Лола Графченко<Ло> <*гот>Екатерииа Pt>i6aK</from> <subject>Aara BCTpe4M</subject> <Ьо(1у>Встреча состоится в 16:0Q во вторник</Ьоау> </message> c';tira» ^Маакемниотей Рис. 31.6. Internet Explorer отображает файлы XML в виде структуры В отличие от HTML, в спецификациях языка XML вы не найдете описаний собственно тегов. Вместо этого есть стандартный способ определения тегов и их взаимоотношений. Поскольку заранее определенный тегов нет, то XML может использоваться в качестве модели практически для любого типа документа. На замет а заметку Выше было приведено очень краткое описание XML. На самом деле это довольно сложный язык, которому посвящено множество книг. / В следующих двух разделах приведены простые примеры, которые помогут понять основные принципы работы Excel с XML. Импорт данных XML с использованием карты В этом примере используется рабочий лист, показанный на рис. 31.7. Данные в столбце В используются для создания графика погашения ссуды. Предположим, что некоторая программа создает файлы XML, каждый из которых содержит данные о клиенте. Пример такого файла показан ниже. <?xml version="l.О" encoding="windows-1251" ?> <Клиент> <Имя>Жорж Арнольдов</Имя> <НомСчета>32374-94</НомСчета> <0бъемСсуды>325 000р.</ОбъемСсуды> <Ставка>6,25%</Ставка> <Срок>30</Срок> </Клиент> Файл XML содержит пять элементов данных: Имя, НомСчета, ОбъемСсуды, Ставка и Срок. Оставшиеся два поля в таблице (Дата создания графика и Количество периодов) вычисляются по формулам и не рассматриваются как элементы данных. Теперь нужно каким-то образом импортировать файл, аналогичный показанному выше, и занести данные из этого файла в соответствующие ячейки рабочего листа. Сначала для рабочей книги нужно создать карту. Убедитесь, что в области задач отображается панель Источник XML (если нет, то выберите команду Данные^ХМЬ^Источник XML). Глава 31. Обмен данными с другими приложениями 567
1 STTiBHBT^^cj A BCD График выплат по ссуде г в. 7 6 г ю 11 12 13 Имя клиента Дат» создания графика Номер счета объем ссуды Годовал процентная ставка Срок (лету: Количество периодов Же еж Арнольдов 07.0S.2004 32374.94 325 000р. С251. 30 360 15 И 17 1в »! го 21, 23 25 выплаты 2 3 4 5 6 7 В в ТО 11 12 13 «4 15 К 17 18 1С 20 21 22 23 24 Е 2 >: 2001 2001 2001 2001 2001 2001 2О01 20?1 2001 2 001 2 001 2 001 20С1 2 001 2001 2001 2001 2 001 2 001 2 001 2 0X1 <оч 2X1 f 200 4 002 6003 В0О4 Ю0О5 12 006 14 008 10 000 18 010 20 011 22 012 24 013 20 014 29 015 30 016 32 017 34 018 ЗьОЮ 38 021 40 022 42 023 44 024 46 026 в Выплата по процентам 16S3 1691 1680 1688 1686 1685 1683 1681 1 680 1о7в 1676 1675 1673 1671 1669 1668 1666 1664 1662 1661 1659 1657 16S5 ' 6N: н Куыапятивная сумма выплат по процентам 3384 5073 6 761 8447 Ю132 11815 13496 15 176 16 854 18 530 20 205 21878 23 549 25218 26886 28552 30 216 31879 33 539 35 198 36855 38511 JO *Ы -101 х|| 1 Основная HV-t-yp сумма основ! ._ __ я* зю 312 313 315 316 318 320 321 323 325 327 328 330 332 333 335 337 339 340 342 344 346 348 .1 •I з Г: Рис. 31.7. Этот рабочий лист использует импортированные данные XML Для создания карты выполните ряд действий. 1. Щелкните на кнопке Карты XML, которая расположена внизу области задач. На экране появится одноименное диалоговое окно. 2. Щелкните на кнопке Добавить, чтобы отобразить диалоговое окно Выберите источник XML. 3. Выберите один из файлов, содержащих данные о клиенте. Какой именно файл будет выбран, значения не имеет. Он .будет использоваться только для создания схемы. 4. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно Карты XML. После этого панель задач будет отображать элементы данных, которые содержатся в XML-файле (рис. 31.8). Ист очник XML Карты WL в мой книг» Клиент jcapTa х В 3 Клиент j-fil №. i-St НомСчета -~М ОбъемСсуды j J Ставка L£3 Срок Чтобы сопоставить >ленеты, перетащите нж с дерева на лист. Ггарамвтры » карты»*-.. Грое-зритъ парту для экспорта... и Советы по сегюставленгтм XML Рис. 31.8. Область задач содержит элементы данных XML 568 Часть V. Дополнительные возможности Excel
Далее следует сопоставить элементы данных с соответствующими ячейками. Для этого выполните ряд действий. 1. Щелкните на элементе Имя в области задач и перетащите его в ячейку ВЗ. 2. Перетащите элемент НомСчета в ячейку В5. 3. Перетащите элемент ОбъемСсуды в ячейку В6. 4. Перетащите элемент Ставка в ячейку В7. 5. Перетащите элемент Срок в ячейку В8. Теперь можно импортировать файлы XML. Выберите команду ДанныеОХМЬ^Импорт, а затем нужный файл XML. В результате данные из файла будут вставлены в соответствующие им ячейки. Чтобы вычислить другой график выплат, просто импортируйте другой XML-файл. |^ь Эту рабочую книгу и два XML-файла можно найти на прилагаемом компактна компакт- диске, диске Импортирование данных XML в список В предыдущем примере использовались файлы XML, которые содержали только одну "запись". Но очень часто в одном XML-файле содержится несколько записей, которые называются повторяющимися элементами. Например, такой файл может содержать список клиентов или всех сотрудников, работающих в компании. Чтобы открыть файл XML, содержащий повторяющиеся элементы, можно воспользоваться командой Файл О Открыть. После того как будет указано имя файла, Excel отобразит диалоговое окно Открытие XML (рис. 31.9). В этом окне представлены три опции. выберите шхоб открытия этого файла: РЙ'Ссдкак] Г р*гв, дост^етмавточько для чтввш Г дсползовать область мдач jen-ncrer**** ок Отмена Справка- Рис. 31.9. Диалоговое окно Открытие XML ■ XML-список. При открытии файла Excel преобразует данные в обозначенный список (см. главу 19). ■ книга, доступная только для чтения. Данные импортируются в рабочий лист, но рабочая книга будет доступной только для чтения. Эта опция позволяет предотвратить случайную перезапись исходного файла. ■ использовать область задач XML-источника. Excel проанализирует схему данных XML и отобразит ее в области задач XML-источник. Сами данные при этом импортироваться не будут. Затем можно сопоставить элементы данных с ячейками рабочего листа и импортировать данные. На рис. 31.10 представлен XML-файл, импортированный в рабочий лист. В области задач повторяющиеся элементы отображаются с другой пиктограммой (папка с синим квадратиком). Неповторяющиеся элементы отображаются с пиктограммой, на которой изображена обычная папка. На замет а заметку / Глава 31. Обмен данными с другими приложениями 569
>л«- ' А 1 (Фамилия 2 3 нопьдое рыкалов 4 [ уденков б I асин б 7 10 11 12 Голуб ков рафченет Пейджеров етин "ыбак Сидоров Юзенко * в с. ■ о 1 Е {Имя ПОтдел ^1ТаСельиыйНомвр » ДатаПоступлвння - Жорж Администрация 1270 20.11 1993 0 0 Иван Администрация Тарас Продаж Петр Продаж Леня Производственный Лола Производственный Лев Производственный Василий Маркетинга Катерина Администрация Сэм Маркетинга Карл Маркетинга 1 1? 1300 1220 1280 1230 1290 1310 1240 1250 1260 1320 16.07 1995 0 0S 26 06 1994 0 ОС 19 09.2001 0 ОС 23 11 1996 0: ОС 2в 12 1909 0 К 28 06 2002 0.01 17.04.1997 0: ОС 03.10.2000 0. ОС 16 С4 1999 0 ОС .? I a Ti 04 02 1997 0:00 1 Рис. 31.10. Данные из XML-файла импортированы в рабочий лист Экспорт данных XML из Excel Чтобы экспортировать данные в файл XML, необходимо создать карту рабочей книги, которая бы соответствовала имеющимся данным. После этого для экспорта данных в формат XML следует выбрать команду Данные1* ХМЬ^Экспорт. Вопреки ожиданиям, нельзя импортировать в формат XML данные, расположенные в произвольном диапазоне данных. Например, если на рабочем листе имеется поименованный список, то его нельзя экспортировать в XML-файл до тех пор, пока не будет создана карта, описывающая структуру этого списка. Кроме того, в Excel нет средств для создания новой или изменения существующей карты. Если выбрать команду Файл^Сохранить как, то в раскрывающемся списке Тип файла можно обнаружить тип Таблица XML (*.xml). После сохранения в этом формате будет создана схема XMLSS, при этом данные не будут экспортированы в обычный формат XML. На заметку 570 Часть V. Дополнительные возможности Excel
Совместная работа в Excel К: омпьютерные сети — одна из существенных составляющих эффективной работы с компьютером. С помощью компьютерных сетей возможен не только обмен данными между пользователями, но и организация совместной работы большого количества специалистов над общим проектом. Excel предоставляет ряд средств для обеспечения такого типа кооперации пользователей. Данная глава посвящена описанию этих средств. На заметку Если вы работаете в корпоративной сети, желательно проконсультироваться с сетевым администратором, прежде чем использовать средства, описанные в этой главе. В этой главе... Использование Excel в сети Доступ к рабочим книгам Общие рабочие книги Пересылка рабочих книг Использование Excel в сети Локальная компьютерная сеть состоит из группы персональных компьютеров, соединенных между собой через канал связи. Пользователи сети могут выполнять ряд задач. ■ Осуществлять доступ к файлам, находящимся на других компьютерах. ■ Совместно использовать файлы с другими пользователями. ■ Предоставлять ресурсы своего компьютера другим пользователям (например, принтеры или факс-модемы). ■ Обмениваться информацией друг с другом электронным способом. Программа Excel позволяет организовать совместную работу группы пользователей над общим проектом. Например, из Excel можно переслать рабочую книгу другим пользователям для просмотра или добавления в нее данных. Затем эта книга может быть отправлена другим пользователям. После "посещения" всех пользователей, работающих над проектом,
она вберет в себя все замечания и данные, внесенные этими пользователями, и вернется к тому, кто ее отправил. Таким образом команда разработчиков может организовать эффективную работу над проектом. Доступ к рабочим книгам Одной из самых полезных возможностей для пользователей сети является доступ к файлам, находящимся на других компьютерах. Размещение этих файлов в сети имеет два основных преимущества. ■ Отпадает необходимость в нескольких отдельных копиях этих файлов. ■ Гарантируется, что всем пользователям будет доступна самая свежая версия файла. В некоторых компьютерных сетях (обычно это сети типа клиент/сервер) выделяется специальный компьютер в качестве файлового сервера. Тогда файлы с общими данными хранятся на сервере. Для Excel не имеет особого значения, подключен компьютер к сети клиент/сервер либо к одноранговой сети (где все компьютеры "равны" и выполняют одинаковые функции). Некоторые программные продукты специально написаны для работы в сети, т.е. являются многопользовательскими приложениями. Например, большинство систем управления базами данных (СУБД) позволяют работать нескольким пользователям одновременно с одним и тем же файлом базы данных, т.е. один пользователь может заносить информацию в файл, в то время как другой — получать ее из файла. Но что произойдет, если один пользователь будет изменять какую-то запись, а другому в этот же момент понадобится изменить эту же запись? В таком случае многопользовательские СУБД устанавливают так называемую блокировку записей, предоставляя таким образом возможность редактировать отдельную запись в определенный момент времени только одному пользователю. Программа Excel не является многопользовательской. Когда вы открываете Excel, она полностью загружается в оперативную память вашего компьютера. Таким образом, если файл Excel доступен многим пользователям (например, находится на сервере), то открыть его сможет только один пользователь, для других он в это время будет недоступен. Если бы Excel позволяла свободно открывать и изменять уже открытые в данный момент кем-то файлы, могла бы возникнуть описанная ниже ситуация. Предположим, компания хранит информацию о продажах своих товаров в файле рабочей книги Excel на сервере. Александру необходимо добавить к файлу данные последней недели. Он загружает файл с сервера и начинает вводить данные. Несколько минут спустя Анастасия загружает этот же файл, чтобы исправить замеченные ею ошибки в данных за прошлую неделю. Александр заканчивает работу и сохраняет файл. Через некоторое время Анастасия заканчивает работу и тоже сохраняет файл. Ее файл записывается поверх файла Александра, и его данные пропадают. Однако в Excel подобное не может случиться, поскольку программа использует концепцию ограничения доступа к файлам. Когда Александр открывает файл о продажах, программа автоматически ограничивает к нему доступ со стороны других пользователей. Когда Анастасия захочет открыть тот же файл, Excel выдаст ей сообщение о том, что с данным файлом уже работает Александр. Однако, если она будет настаивать на открытии файла, он будет открыт для нее только в режиме для чтения. Другими словами, Анастасия сможет открыть файл, но не сможет сохранить изменения в нем под тем же именем. На рис. 32.1 показано окно сообщения, которое увидит Анастасия в этом случае. При этом у Анастасии есть три варианта выбора. ■ Щелкнуть на кнопке Отмена, подождать немного и попробовать еще раз. Она может позвонить Александру и спросить, когда он рассчитывает закончить работу с файлом. На замет а заметку 572 Часть V. Дополнительные возможности Excel
■ Щелкнуть на кнопке Только чтение. Это позволит ей открыть файл, но не сохранить изменения в нем под тем же именем. ■ Щелкнуть на кнопке Уведомить. Файл будет открыт только для чтения, а когда Александр закончит работу, Excel выдаст ей сообщение об этом. На рис. 32.2 показано сообщение, которое получит Анастасия, когда файл станет доступен для редактирования. Рв**п -^» а*т* ТЛвретод ids илрвшено овльэсвя телам 1япа'. Откройте тогы9эв*ачт»#« ww н**ж*г« "Уеедоикгь* чтобы опфыть кото локутнта тольго для чт&*т и получить Флш стая лимгиданми Чтобы открыть его дяялраели. wsawtreiworKyNTewMeMsarwcb" Рис. 32.1. Это диалоговое окно появляется в слу- Рис. 32.2. Данное окно появится тогда, когба чае, если вы попытаетесь открыть файл, над файл станет доступен для редактирования которым уже кто-то работает На заметку / Если вы выбрали возможность Только чтение, сохранить открытый файл можно только с помощью команды ФайлоСохранить как, причем нужно будет указать другое имя или другое местоположение файла. Общие рабочие книги В Excel также поддерживается возможность использования так называемых общих рабочих книг. Это позволяет нескольким пользователям одновременно работать с одной и той же рабочей книгой. При этом в Excel отслеживаются все изменения и выдаются необходимые предложения по устранению конфликтов. Вывод предложений по устранению конфликтов теоретически может показаться отличным решением проблемы совместного доступа. Но на практике, если с общей рабочей книгой работает довольно много пользователей, трудно избежать раздражения. Более того, это средство не очень надежно и может привести к некоторым ошибкам. Поэтому следует быть внимательным и как можно чаще создавать резервные копии рабочей книги. Внимание! Рабочие книги для совместного использования Хотя можно назначить любую рабочую книгу в качестве общей, это подходит далеко не для каждой из них. Приведем примеры рабочих книг, которые можно использовать совместно. ■ Создание проектов. У вас может быть рабочая книга, которая содержит информацию о состоянии проекта. Если в проекте задействовано много людей, то они смогут вносить изменения в соответствующие части рабочей книги. ■ Списки клиентов. Эти списки обычно обновляются нечасто, но время от времени в них заносятся и из них удаляются записи. ■ Консолидация данных. Можно создать рабочую книгу бюджета, по которой каждый менеджер будет следить за бюджетом своего отдела. Обычно бюджет каждого отдела помещается на отдельном листе, а один лист отводится для консолидации. Глава 32. Совместная работа в Excel 573
Работа с общей рабочей книгой имеет ряд ограничений, в частности не разрешается выполнять перечисленные ниже действия. ■ Удалять рабочие листы или листы диаграмм. ■ Вставлять или удалять группы ячеек, однако можно вставлять или удалять целые строки и столбцы. ■ Объединять ячейки. ■ Определять и применять условные форматы. ■ Устанавливать или изменять ограничения на данные и связанные с этим сообщения. ■ Вставлять или изменять диаграммы, рисунки, объекты или гиперсвязи. ■ Устанавливать или изменять пароль для отдельных листов или всей рабочей книги. ■ Создавать или изменять сводные таблицы, сценарии, структуры или таблицы данных. ■ Вставлять формулы для автоматического подведения промежуточных итогов. ■ Изменять диалоговые окна или команды меню. ■ Писать (вручную), изменять, просматривать или записывать макросы. Однако можно записывать операции, выполняемые в общей рабочей книге, в макрос другой рабочей книги, которая не является общей. С помощью команды Сервис^Защита можно снять или установить защиту общей Совет рабочей книги. Разрешение на общий доступ к рабочей книге Чтобы разрешить общий доступ к рабочей книге, необходимо выбрать команду Сервис^ Доступ к книге. Появится диалоговое окно, показанное на рис. 32.3. В этом окне есть две вкладки: Правка и Подробнее. Во вкладке Правка имеется опция Разрешить совместный доступ, при установке которой могут вносить изменения несколько пользователей одновременно. Установите этот флажок и щелкните на кнопке ОК. После этого вам будет предложено сохранить рабочую книгу. (v РяушютьиэнвютьфвйлнедсйАкиипольэоеатегт «HOBPWWHO (МО t*QK6 ПОЖО/**Т 06>MW«m» ЮМГИ) ПЯВ Рис. 32.3. Диалоговое окно Управление доступом К файлу определяет рабочую книгу как доступную для общего использования 574 Часть V. Дополнительные возможности Excel
Когда общая рабочая книга будет открыта, в строку заголовка окна добавится слово [Общий]. Если же нужно запретить другим пользователям работать с этой книгой, то снимите флажок Разрешить совместный доступ и снова сохраните рабочую книгу. Во время работы с общей рабочей книгой всегда можно выяснить, обращался ли к ней кто-нибудь еще. Выберите команду Сервис=>Доступ к книге, и в появившемся диалоговом окне Управление доступом к файлу будут представлены имена других пользователей, которые открывали данный файл, а также будет указано время, когда это происходило. Дополнительные параметры В Excel есть еще несколько опций, связанных с общими рабочими книгами. К ним можно получить доступ, выбрав вкладку Подробнее в диалоговом окне Управление доступом к файлу (рис. 32.4). Правка [Гъдробнев] Регистрация изквнанж <•" ep»*m>журнализменении» С не хранить зкурная иэи»*е1«й Обнтапять и*менений (? при сохранении фа&и 4 чя про тиворечнаых изменении <? запрашивать, чьи измена С рун* то*раиеицв имеют гуеикущдстео йслочип s личюе лредггввяение Р параметры печати Рф^ьтры ■ Г Рис. 32.4. Вкладка Подробнее диалогового окна Управление доступом к файлу Регистрация изменений В Excel существует возможность отслеживания изменений и ведения так называемого журнала изменений. Если создается общая рабочая книга, то ведение журнала изменений происходит автоматически. Там можно найти информацию о предыдущих (и, возможно, конфликтных) изменениях общей рабочей книги. Возможность ведения журнала изменений можно отключить, выбрав переключатель Не хранить журнал изменений. Также можно указать количество дней, в течение которых отслеживались изменения в журнале. Обновление изменений Для обновления общей рабочей книги можно использовать стандартную команду Файл1^ Сохранить. Опции раздела Обновлять изменения вкладки Подробнее определяют, что случится при сохранении общей рабочей книги. Приведем эти опции. ■ При сохранении файла. Изменения других пользователей будут приняты при сохранении вашей копии общей рабочей книги. ■ Каждые. Позволяет указывать период времени внесения изменений другими пользователями общей рабочей книги. Можно уточнить эту установку, дополнительно указав, сохранять при этом ваши изменения или только изменения, вносимые другими пользователями. Глава 32. Совместная работа в Excel 575
Разрешение конфликтов Нетрудно догадаться, что работа нескольких пользователей с одним и тем же файлом может привести к конфликтам. Предположим, два пользователя одновременно работают с общей рабочей книгой, содержащей базу данных. В таком случае, если вы и другой пользователь-одновременно вносите изменения в одну и ту же ячейку, возникает конфликт. Используя вкладку Подробнее диалогового окна Управление доступом к файлу, можно указать способ разрешения конфликтов, выбрав одну из двух опций. ■ Запрашивать, чьи изменения имеют преимущество. При выборе этой опции в случае возникновения конфликта выводится диалоговое окно, позволяющее определить, как разрешить конфликт. ■ Ранее сохраненные имеют преимущество. При выборе этой опции сохраняются более ранние изменения. Установки личного представления Последний раздел вкладки Подробнее диалогового окна Управление доступом к файлу позволяет установить представление общей рабочей книги. Можно указать, что будут использованы собственные установки печати и (или) собственные установки фильтрации данных. Если соответствующие флажки не будут установлены, то сохранить собственные параметры печати и фильтрации будет невозможно. Рабочие области и службы SharePoint Excel 2003 поддерживает еще один способ общей работы с рабочими книгами, который реализуется с помощью рабочей области. Рабочая область— это Web-узел, который позволяет группе пользователей обмениваться файлами, участвовать в общих обсуждениях и работать вместе над документами. Для использования этого средства необходимо, чтобы в вашей организации поддерживались службы Microsoft SharePoint. Для доступа или создания рабочей области выберите команду Сервис=>Общая рабочая область. Кроме того, можно опубликовать список Excel на узле SharePoint для того, чтобы другие пользователи получили к нему доступ. Для этого выберите команду Данные^Список^Опубликовать список. Детальное обсуждение средств SharePoint выходит за рамки данной книги. Если в вашей компании используются эти средства, проконсультируйтесь у сетевого администратора. Пересылка рабочих книг Программа Excel предоставляет несколько дополнительных возможностей для пользователей рабочих групп. Чтобы использовать эти возможности, на компьютере должен быть установлен один из перечисленных ниже программных продуктов. ■ Microsoft Outlook. ■ Microsoft Exchange. ■ Система управления электронной почтой, поддерживающая протокол MAPI (Messaging Application Programming Interface — программный интерфейс обмена сообщениями между приложениями). ■ Lotus cc:Mail. ■ Система управления электронной почтой, поддерживающая протокол VIM (Vendor Independent Messaging — система обмена сообщениями независимых производителей). 576 Часть V. Дополнительные возможности Excel
Приведенные ниже рекомендации зависят от установленной в вашей сети системы управления электронной почтой. В следующем разделе содержатся лишь общие положения, по специальным вопросам обратитесь к администратору вашей сети. Пересылка рабочих книг по электронной почте Если вы хотите отправить копию своей рабочей книги какому-либо абоненту сети, воспользуйтесь командой Файл^Отправить^Сообщение. Эта команда, используя установленную у вас программу электронной почты, создаст почтовое сообщение с прикрепленной к нему копией вашей рабочей книги. На рис. 32.5 показано окно сообщения программы Outlook Express. С Microsoft Excel - Граф** «мияжт па *л#м» ■ 11 , _: *йп Дрмкл Вид Встаем Фордот Сервис Денные £кно Справка А& A J t Д ft f.-jjS,- / ■ •■ - £ • 41 Ц JiSL" ArialQ» .10» Ж I I Ijj V. 000 $ $ b„-_*/ ДОтпоа«ягья«с1 | Ъ, Ш |' - I '] ЁЫСкрыт»я«имя (СК) Рис. J2.5. Пересылка рабочей книги, вложенной в сообщение электронной почты Рассылка рабочих книг нескольким пользователям В Excel можно прикрепить к рабочей книге специальный листок рассылки. Для этого выберите команду ФайлООтправитьОПо маршруту. Это средство позволит послать копию рабочей книги нескольким членам рабочей группы. Например, если вы отвечаете за бюджет вашего отдела, вам может понадобиться, чтобы другие сотрудники отдела вводили свою информацию. Можно создать рабочую книгу и разослать ее тем, кому нужно, чтобы они смогли внести соответствующие добавления. После того как рабочую книгу получат все абоненты, она возвратится к вам со всеми добавлениями и исправлениями. При рассылке рабочей книги можно выбрать одну из описанных ниже опций. ■ Порядок рассылки по очереди. Позволяет отправлять рабочую книгу последовательно каждому члену рабочей группы. Когда первый получатель закончит работу, книга пересылается второму, когда второй закончит, она будет отправлена третьему, и т.д. Когда рабочую книгу получат все абоненты, она вернется к вам. Глава 32. Совместная работа в Excel 577
■ Порядок рассылки всем сразу. Позволяет посылать рабочую книгу ко всем получателям одновременно. В этом случае вы получите исправленные копии рабочей книги от каждого получателя (т.е. не одну, а несколько копий). Этот тип рассылки удобен, если необходимо быстро получить комментарии от группы коллег и нет времени ждать, пока одна рабочая книга обойдет весь круг пользователей. Если рабочую книгу нужно отправить сразу, в окне Маршрут щелкните на кнопке Отправить. Если хотите отправить ее позже, щелкните на кнопке Добавить маршрут, окно Маршрут закроется. Позднее, когда вы будете готовы отправить рабочую книгу, выберите команду ФайлоОтправить^Следующий адресат. Отслеживание исправлений в рабочей книге Программа Excel содержит средство, которое позволяет отслеживать вносимые в рабочую книгу исправления. Это удобно, например, когда вы отправляете свою рабочую книгу для просмотра другим пользователям. После того как файл вновь вернется к вам, можно просмотреть, какие были внесены исправления, а затем принять или отклонить их. Контроль исправлений Чтобы включить средство отслеживания исправлений, выберите команду СервисОИсправ- ленияоВыделить исправления. На экране появится диалоговое окно Исправления, показанное на рис. 32.6. В этом окне установите флажок опции Отслеживать исправления. R Стсврзввать исправлений {кят & становитед общей; W Повремени: ]б:е V* Э&аДов&'ШМИ: Ь; - W ьдиагшдае! [$д$3: $в$б R Выделять жлравявиия «в вср*»« г 1 « л Л *J J Owetrt j Рис. 32.6. С помощью диалогового окна Исправления можно отслеживать внесенные исправления В этом окне можно определить период, на протяжении которого необходимо отслеживать исправления (опция по времени), действия каких пользователей отслеживать (опция пользователем) и диапазон отслеживаемых ячеек (опция в диапазоне). Если установить опцию Выделять исправления на экране, то в верхнем левом углу каждой исправленной ячейки будет находиться небольшой треугольник. После этого, если выделить измененную ячейку, появится примечание, с пояснениями о том, какие были внесены исправления (рис. 32.7). После определения всех опций щелкните на кнопке ОК. Чтобы прекратить отслеживание исправлений, еще раз выберите команду СервисОИсправленияОВыделить исправления и в появившемся диалоговом окне снимите флажок Отслеживать исправления. 578 Часть V. Дополнительные возможности Excel
На замет la заметку Рис. 32.7. При выделении исправленной ячейки Excel отображает примечание Если активизировано средство отслеживания исправлений, рабочая книга всегда будет иметь общий доступ. После закрытия диалогового окна Исправления в первый раз Excel предложит сохранить копию вашей рабочей книги, к которой будет открыт общий доступ. Используя это средство, следует иметь в виду ряд замечаний. ■ Отслеживаются только исправления содержимого ячеек. Другие исправления (такие, как форматирование) не отслеживаются. ■ Исправления отслеживаются только в течение определенного времени. По умолчанию они отслеживаются на протяжении 30 дней после включения этого средства. Увеличить или уменьшить количество дней, на протяжении которых будут отслеживаться исправления, можно в диалоговом окне Исправления (опция по времени). ■ Если вы хотите создать список внесенных исправлений, выберите команду Сервисе ИсправленияОВыделить исправления и в диалоговом окне установите флажок Вносить изменения на отдельный лист. После щелчка на кнопке OK Excel добавит новый рабочий лист под названием Журнал. В этом листе приведена детальная информация о внесенных исправлениях. ■ Поддерживается только один уровень исправлений. Поэтому, если значение в ячейке изменялось несколько раз, то сохранится только запись последнего исправления. Просмотр исправлений Чтобы с помощью средства отслеживания исправлений просмотреть внесенные исправления, выберите команду Сервис^Исправления^Принять/отклонить исправления. Появится диалоговое окно Просмотр исправлений, в котором следует указать типы исправлений, которые вы хотите просмотреть. Это окно похоже на диалоговое окно Исправления. В нем можно установить опции по времени, пользователем и в диапазоне. Глава 32. Совместная работа в Excel 579
Щелкните на кнопке ОК, после чего Excel будет последовательно показывать внесенные исправления в отдельном диалоговом окне (рис. 32.8). Щелкните на кнопке Принять, чтобы принять внесенные исправления, или на кнопке Отказаться, чтобы отклонить их. Также можно щелкнуть на кнопке Принять все (чтобы принять все исправления) или на кнопке Отказ от всех (чтобы отклонить все исправления). Рис. 32.8. Диалоговое окно Просмотр исправлений содержит информацию по каждой исправленной ячейке ififWffWW'IWW^^pilC. «иммк «нейкд 811 с *16* на "55*. i'Tt ._»--nPI Слсамтмя j Г^аиняшрл | Оцздз *j этвсех [ Закрыть f 580 Часть V. Дополнительные возможности Excel
Поиск ошибок в рабочих листах К: онечной целью обработки данных является получение запланированных и точных результатов на основе этих данных. При работе с простыми рабочими таблицами это несложно— обычно можно самому определить правильность результата. Когда рабочие листы большие или очень сложные, проверка точности полученных результатов существенно затрудняется. В этой главе рассматриваются инструменты и приемы, облегчающие поиск и исправление ошибок в рабочих книгах Excel. Поиск и исправление ошибок в формулах Внесение даже сравнительно небольшого изменения в рабочий лист может вызвать "цепную реакцию", приводящую к ошибкам в других ячейках. Кроме того, можно случайно ввести число в ячейку, в которой раньше находилась формула, и не исключено, что это повлияет на другие формулы. Такую ошибку в сложной рабочей таблице очень трудно, а иногда и невозможно обнаружить. Ошибки в формулах можно условно разделить на несколько основных категорий. ■ Синтаксические ошибки. Источник ошибки следует искать в синтаксисе формулы. Например, в формуле может быть несоответствие скобок или функция содержит недостаточное количество аргументов. ■ Логические ошибки. Формула не возвращает значение ошибки, но она логически неправильна и поэтому возвращает неверный результат. ■ Ошибки в ссылках. Логически и синтаксически формула может быть правильна, но она содержит неверную ссылку. Например, ссылка на диапазон в функции СУММ может включать только часть ячеек, подлежащих суммированию. Автоматическая корректировка формул Отслеживание связей между ячейками Проверка орфографии и другие средства работы с текстом ■В
■ Семантические ошибки. Например, имя функции было написано неправильно. Excel попытается интерпретировать это название как имя ячейки или диапазона и вернет значение ошибки #ИМЯ?. ■ Циклические ссылки. Циклические ссылки возникают тогда, когда в ячейке содержится прямая или косвенная ссылка на эту же ячейку. Иногда циклические ссылки могут оказаться полезными, но как правило они возникают по ошибке. ■ Ошибки ввода формул массивов. При вводе или редактировании формулы массива следует обязательно нажимать комбинацию клавиш <Ctrl+Shift+Enter>. Если не сделать этого. Excel не сможет автоматически распознать формулу массива, что приведет к неправильному результату. ■ Ошибки незавершенных вычислений. Может случиться так, что Excel просто не вычислит значения для всех формулах. В некоторых версиях Excel есть проблемы с автоматическим вычислением формул. Чтобы быть уверенным, что все формулы вычислены, нажмите <Ctrl+Alt+F9>. Синтаксические ошибки, как правило, можно легко определить и исправить. В большинстве случаев известно, когда формула содержит ошибку. Например, Excel не позволит ввести формулу с различным количеством открывающих и закрывающих скобок. Далее в этом разделе описаны часто встречающиеся ошибки в формулах и приведены советы по их поиску и исправлению. Несоответствие скобок В формуле каждой открывающей скобке должна соответствовать закрывающая. Если в формуле имеется несоответствие скобок, то Excel обычно не позволяет вводить такую формулу. Исключением является простая формула, в которой используется функция. Например, если ввести следующую формулу (в которой пропущена закрывающая скобка), Excel добавит недостающую скобку автоматически: =СУММ(А1:А500 Формула может содержать равное количество открывающих и закрывающих скобок, но они могут быть расставлены в неправильном порядке. Например, рассмотрим формулу, которая преобразует текстовую строку таким образом, чтобы первая буква была прописной, а остальные — строчными. Эта формула содержит пять пар скобок и работает правильно. =ПРОПИСН(ЛЕВСИМВ(А1))&ПРАВСИМВ(СТРОЧН(А1);ДЛСТР(А1)-1) Следующая формула также содержит пять пар скобок, но она вернет неправильный результат (все буквы будут прописными). Несмотря на то что эта формула выглядит синтаксически правильно, она вернет ошибочный результат. =ПРОПИСН(ЛЕВСИМВ(А1)&ПРАВСИМВ(СТРОЧН(А1);ДЛСТР(А1)-1)) Если скобки расставлены неправильно, формула может возвратить значение ошибки. Появляется сообщение о том, что введено слишком много или слишком мало аргументов функции. Excel может помочь при расстановке скобок. Во время редактирования формулы Совет установите курсор возле скобки и задержите его на некоторое время. Excel вы- делит полужирным шрифтом скобку рядом с курсором и соответствующую ей •;*Ч вторую скобку. 582 Насть V. Дополнительные возможности Excel
Автоматическая корректировка формул При вводе формулы, содержащей синтаксическую ошибку, Excel пытается определить, в чем заключается проблема, и предлагает свой вариант исправления ошибки. M»focnlt£xe*l 21 -V Обнаружены «Иж* воеаевечой фдоу» Понять предлагая** жпр&аявнм, -УЗН»чКУММ(М:Мг*ЭТ»ад»12)» • чтобы принять нсправтнич иаммте жк/nrt "Да". • чтооы»а*г*пьсхЯц(е**1е*с4поа<ет£*ьньгепр«вк1Ъ1ыэааяа*«. машите гмотку "Кет* Будьте внимательны при выборе автоматической корректировки формул. "Догадка" Excel не всегда оказывается правильной. Например, попробуйте ввести формулу, в которой нечетное число скобок: =СРЗНАЧ(СУММ(А1:А12;СУММ(В1:В12)) Excel предложит следующее исправление: =СРЗНАЧ(СУММ(А1:А12;СУММ(В1:В12))) Можно поторопиться и принять предложение, не проверив его. В этом случае, хотя формула синтаксически корректна, это совсем не то, что было задумано. Логически правильная формула выглядит следующим образом: =СРЗНАЧ(СУММ(А1:А12);СУММ(Bl:B12)) Ячейки заполнены символами решетки Ячейка может быть заполнена символами решетки (#) по одной из двух причин. ■ Ширины столбца недостаточно, чтобы вместить отформатированное числовое значение, которое находится в этой ячейке. Для устранения этой ошибки можно либо увеличить ширину столбца, либо применить другое, более компактное форматирование. ■ Ячейка содержит формулу, которая возвращает неверное значение даты или времени. Например, Excel не позволяет вводить даты до 1900 года или отрицательные значения времени. Попытка ввести подобное значение в ячейку приведет к тому, что она будет заполнена символами решетки. Увеличение ширины столбца в этом случае не решит проблему. Пустые ячейки Некоторые пользователи удаляют содержимое ячейки нажатием клавиши <Пробел>. После этого ячейка кажется пустой. В действительности ячейка содержит невидимый символ, но это не то же самое, что пустая ячейка. Например, следующая ячейка возвращает количество непустых ячеек в диапазоне А1:А10. Если "очистить" содержимое ячейки с помощью клавиши <Пробел>, эти ячейки также будут участвовать в подсчете непустых ячеек и формула вернет неправильный результат. =СЧЁТЗ(А1:А10) Если формула не игнорирует пустые ячейки, проверьте, действительно ли они пустые. Определить пустые ячейки можно, например, с помощью команды Правка^ПереЙти. На экране появится диалоговое окно Переход. Щелкните на кнопке Выделить и выберите опцию пустые ячейки. Excel выделит все пустые ячейки, по которым можно определить те, которые только кажутся пустыми. Глава 33. Поиск ошибок в рабочих листах 583
Формулы, возвращающие значения ошибок Формула может вернуть одно из перечисленных ниже значений ошибок. ■ #ДЕЛ/0! ■ #ЗНАЧ! ■ #ИМЯ? ■ #Н/Д ■ #ПУСТО! ■ #ССЫЛКА! ■ #ЧИСЛО! Далее рассматриваются возможные проблемы, которые могли вызвать появление той или иной ошибки. Excel позволяет определить то, как ошибки будут выводиться на печать. Выберите Совет команду Файл1*Параметры страницы, затем перейдите во вкладку Лист. В рас- крывающемся списке ошибки ячеек как можно указать, чтобы ошибки вы вод и- лись или как на экране (принято по умолчанию), или как пустые ячейки, можно также заменить ошибки символом дефиса или значением ошибки #Н/Д. Отслеживание ошибочных значений Кнопка Источник ошибки панели инструментов Зависимости поможет найти ячейку, которая привела к появлению ошибочного значения. Часто ошибка в одной ячейке является результатом ошибки во влияющей ячейке. Активизируйте ячейку, в которой содержится ошибка, и щелкните на кнопке Источник ошибки. Excel проведет стрелки к возможным источникам ошибки. Ошибка #ДЕЛ/0! Деление на ноль недопустимо. Если же вы попытаетесь все-таки выполнить эту операцию, то Excel вернет значение ошибки #ДЕЛ/0!. Поскольку Excel рассматривает пустые ячейки как ячейки, содержащие ноль, то подобная ошибка может также возникнуть, если в формуле будет выполняться деление на отсутствующее значение. Эта проблема часто возникает при создании формул для данных, которые еще не введены (рис. 33.1). В ячейке D2 содержится следующая формула, которая была скопирована в нижние ячейки: =(С2-В2)/С2 Эта формула вычисляет процентное отношение между значениями в столбцах В и С. Поскольку часть данных в столбце С отсутствует, формула возвращает значение ошибки #ДЕЛ/0!. Чтобы избежать появления этой ошибки, можно воспользоваться функцией ЕСЛИ, которая будет проверять столбец С на наличие пустых ячеек. =ЕСЛИ(С2=0;"";(С2-В2)/С2) Если ячейка С2 пуста или содержит нулевое значение, то формула вернет пустую строку. В противном случае она вернет вычисленное значение. Кроме того, функцию ЕСЛИ можно использовать для проверки на возникновение любой ошибки. Например, следующая формула вернет пустую строку, если результатом вычисления формулы будет какое-либо значение ошибки: =ЕСЛИ(ЕОШ((С2-В2)/С2);"";(С2-В2)/С2) 584 Часть V. Дополнительные возможности Excel
Рис. 33.1. Если данные в столбце С отсутствуют, возникает ошибка #ДЕЛ/0! Ошибка #ЗНАЧ! Эта ошибка встречается довольно часто и может возникнуть в одной из описанных ниже ситуаций. ■ В качестве аргумента функции указаны данные недопустимого типа, или формула пытается выполнить операцию, используя недопустимые данные. Например, формула, которая добавляет к текстовой строке число, вернет значение ошибки #ЗНАЧ!. ■ Аргументом функции является диапазон, тогда как должно быть одно значение. ■ Пользовательская функция рабочего листа не вычисляется. В некоторых версиях Excel вставка или перемещение рабочего листа может привести к этой ошибке. Для принудительного пересчета формул нажмите комбинацию клавиш <Ctrl+Alt+F9>. ■ Пользовательская функция рабочего листа пытается выполнить недопустимую операцию. Например, такие функции не могут изменять настройки Excel или изменять значения в других ячейках. Ошибка #ИМЯ? Этот тип ошибки может появиться в одной из перечисленных ниже ситуаций. ■ Формула содержит неопределенное имя диапазона или ячейки. ■ Формула содержит текст, который Excel воспринимает как неопределенное имя. Например, ошибка в названии функции приведет к появлению этой ошибки. ■ Формула использует функцию, которая определена в надстройке, но сама надстройка не установлена. ^^^^ Excel имеет некоторые проблемы с именами диапазонов. Если удалить имя На заметку ячейки или диапазона, которое содержится в формуле, то формула будет и i дальше использовать это имя, даже если оно теперь не определено. В результате формула вернет значение ошибки #ИМЯ?. Можно было бы предположить, что Excel автоматически заменит имя диапазона или ячейки на соответствующую ссылку, но программа этого не делает. Поэтому исправлять имена на соответствующие ссылки придется самостоятельно. Глава 33. Поиск ошибок в рабочих листах 585
Ошибка #Н/Д Значение ошибки #Н/Д, как правило, возвращают формулы или функции, если им недоступны данные для расчетов. Также эта ошибка появляется в ячейках, в которых есть ссылка на ячейку с формулой, возвращающей значение #Н/Д. Если функция поиска (ВПР, ГПР, ПОИСКПОЗ или ПРОСМОТР) не находит ни одного искомого значения, она также вернет эту ошибку. Некоторые пользователи вводят в ячейки #н/д или =нл() (эта формула возвращает значение ошибки #н/д, поэтому первая и вторая записи эквивалентны) для обозначения пропущенных данных. Благодаря этому можно определить, например, что данные не случайно удалены, а просто временно недоступны. Ошибка #ПУСТО! Значение ошибки #ПУСТО! возвращает формула, если в ней указано пересечение двух диапазонов, которые в действительности не пересекаются. В Excel оператором пересечения является пробел. Следующая формула, например, вернет ошибку #ПУСТО!, поскольку указанные в ней диапазоны не пересекаются: =СУММ(В5:В14 A16:F16) Приведенная ниже формула с точки зрения синтаксиса правильная. Она всегда будет возвращать значение ячейки В9, которая находится на пересечении указанных диапазонов. =СУММ(В5:В14 A9:F9) Ошибка #ССЫЛКА! Значение ошибки #ССЫЛКА! возвращают формулы, в которых имеются неправильные ссылки. Причины возникновения этой ошибки приведены ниже. ■ Удалена ячейка, на которую ссылается формула. Например, следующая формула вернет #ССЫЛКА!, если удалить строку 1, столбец А или столбец В. =А1/В1 ■ После копирования ячейки, содержащей относительную ссылку, последняя может указывать на несуществующую ячейку или диапазон. Например, если скопировать следующую формулу из ячейки А2 в А1, то она вернет значение ошибки #ССЫЛКА!. Это произойдет потому, что ссылка будет указывать на несуществующую ячейку АО. =А1-1 ■ Ячейка была вырезана (команда Правка^Вырезать), а затем вставлена в ячейку, на которую ссылается какая-либо формула. В этом случае формула также вернет ошибку #ССЫЛКА!. Ошибка #ЧИСЛО! Формула может вернуть значение ошибки #ЧИСЛО! в описанных ниже ситуациях. ■ Если аргументом функции должно быть числовое значение, но было указано значение другого типа. ■ В функции указан недопустимый аргумент. Например, следующая формула вернет ошибку #ЧИСЛО!: =КОРЕНЬ(-1) На заметку 586 Часть V. Дополнительные возможности Excel
Функции, в которых для вычислений используется метод итераций, возвращают эту ошибку, если не могут найти результат. Этот метод, например, используется функциями ВСД и СТАВКА. Формула возвращает слишком большое или слишком маленькое значение. Excel поддерживает значения, абсолютная величина которых лежит в диапазоне от 1Е-307 до 1Е+307. Обращайте внимание на цвет При редактировании формул Excel выделает цветом ссылки на ячейки и диапазоны в формуле, а сами ячейки и диапазоны выделяет рамкой соответствующего цвета. По этим выделения можно проверить правильность ссылок в формуле. Также с помощью цветной рамки можно изменить ссылки в формуле. Для этого перетащите рамку или ее маркер заполнения, который находится в нижнем правом углу. Ошибки в ссылках Как отмечалось в главе 2, ссылки могут быть относительные (например, А1), абсолютные (например, $А$1) или смешанные (например, $А1 или А$1). Тип ссылки, используемой в формуле, имеет значение только при копировании этой формулы в другие ячейки. Основной ошибкой является использование относительных ссылок вместо абсолютных. На рис. 33.2 в ячейке СТ находится значение ставки налога, которое используется в формулах в столбце С. В ячейке С4 содержится следующая формула: =В4+(В4*$С$1) и •г 160.92р. 79,68р. 86.3d Э2.00р Э4,32р Э2.00р 34,92р. ■ ТТ>Л-п~лх!*.и»«>/ Рис. 33.2. В формулах в диапазоне С4:С6 используются абсолютные ссылки на ячейку С1 Обратите внимание, что ссылка на ячейку СТ абсолютная. Если скопировать эту формулу в другие ячейки диапазона, она по-прежнему будет ссылаться на ячейку СТ. Но если вместо абсолютной использовать относительную ссылку, то в скопированных ячейках результат будет неправильным. Приоритет операторов В Excel имеется набор правил, в соответствии с которыми определяется порядок выполнения математических операций (подробнее эта тема обсуждается в главе 8). Если вы сомневаетесь в том, как именно будут проводиться вычисления, используйте скобки. В этом случае вы будете уверены, что операции в формуле выполняются в нужном порядке. Использовать Глава 33. Поиск ошибок в рабочих листах 587
скобки (даже если они необязательны) рекомендуется также для того, чтобы улучшить восприятие сложных формул и избежать возможных ошибок. Например, в следующей формуле значения в ячейках А1 и А2 умножаются, а затем к результату добавляется единица. При вычислении формулы сначала выполняется операция умножения, поскольку ее приоритет выше. =1+А1*А2 Ниже представлена другая версия этой формулы. Скобки здесь необязательны, но они облегчают восприятие формулы, поскольку приоритет выполнения операторов становится очевидным. =1+(А1*А2) Обратите внимание: операторы отрицания и вычитания обозначаются одним и тем же символом — знаком "минус". Это может привести к некоторым ошибкам. Рассмотрим следующие формулы: = -3Л2 =0-3Л2 Первая формула возвращает значение 9, в то время как вторая возвращает -9. Все дело в том, что в первой формуле символ "минус" обозначает оператор отрицания, который имеет самый высокий приоритет. Во второй формуле этот символ обозначает оператор вычитания, который имеет меньший приоритет, чем оператор возведения в степень. Поэтому в первом случае в степень возводится число -3. Во втором случае число 3 возводится в квадрат, а затем результат отнимается от нуля. В следующем варианте первой формулы с помощью скобок указывается, что символ "минус" является оператором вычитания, а не отрицания. Эта формула вернет значение -9. =-(3Л2) Что делать, если формулы не вычисляются Будьте очень внимательны при использовании пользовательских функций рабочего листа, написанных на языке VBA. Из-за ошибок Excel некоторые из этих функций могут не пере- считываться автоматически. Иными словами, если изменить аргумент такой функции, Excel не будет пересчитывать заново формулу и будет отображаться старый результат. Для принудительного вычисления всех формул нажмите комбинацию клавиш <Ctrl+Alt+F9>. Действительные и отображаемые значения Довольно часто возникают ситуации, когда кажется, что значения в диапазоне суммируются неправильно. Например, на рис. 33.3 показан рабочий лист. В ячейках диапазона ВЗ:В5 содержится следующая формула: = 1/3 Следующая формула содержится в ячейке В6: =СУММ(ВЗ:В5) Ко всем ячейкам было применено форматирование с тремя знаками после запятой. Как видите, формула в ячейке В6 возвращает неправильный результат. (Результат должен быть равен 0,999.) Но формула должна возвращать правильный результат! Все дело в том, что в формуле используются действительные, а не отображаемые (т.е. округленные до трех знаков после запятой) значения. 588 Часть V. Дополнительные возможности Excel
Рис. 33.3. Результат суммирования отличается от того, который здесь показан Однако в Excel есть средство, которое позволяет использовать в вычислениях отображаемые значения. Для этого установите флажок Точность как на экране во вкладке Вычисления диалогового окна Параметры (чтобы отобразить это окно, выберите команду Сервисе Параметры). Опция Точность как на экране влияет не только на вычисленные в формулах значения, но и на обычные значения, которые были введены в ячейки пользователем. Например, если в ячейке содержится число 4,68, которое отображается в формате без десятичной запятой (т.е. как число 5), то после установки опции Точность как на экране, действительное значение в ячейке будет округлено до 5. Числа округляются навсегда, и отменить эту операцию, сняв данный флажок, не удастся. Если вам нужно уменьшить точность, то лучше воспользоваться функцией ОКРУГЛ, которая позволяет округлить значения до заданного количества цифр после запятой. Числа с плавающей запятой Компьютеры не могут обладать бесконечной точностью. Excel хранит числа в двоичном формате, используя 8 байт для каждого числа. Поэтому число может состоять не более чем из 15 цифр. Если число содержит больше цифр, то оно округляется до 15 значащих цифр, т.е. сохраняется приблизительное значение. Для примера введем следующую формулу. =(5,1-5,2)+1 Результат должен равняться 0,9. Тем не менее, если отформатировать ячейку с этой формулой так, чтобы она отображала 15 цифр после запятой, то станет видно, что результат равен 0,899 999 999 999 999. Это получилось потому, что сначала выполняется операция в скобках, а полученный промежуточный результат сохраняется в двоичном формате. Другими словами, промежуточный результат был округлен (число -0,1 в двоичном формате представляется бесконечной дробью). К полученному числу была добавлена единица. Таким образом, полученное значение оказалось неточным из-за погрешности, которая возникла в результате округления. Во многих случаях такая ошибка не представляет никакой опасности. Но если результат вычислений в дальнейшем используется в формуле с логическими операторами, то могут возникнуть проблемы. Пусть предыдущая формула находится в ячейке А1. Тогда следующая формула вернет значение ЛОЖЬ: =А1=0,9 п !< и р г 5 в 7 8 _9_ 10 11 12 А В С D E F 0.333 о.эзз 0.333 1.000 1 i н * ■ m\JWT .Xiw^xrvKrt *jj 1 L Внимание! Глава 33. Поиск ошибок в рабочих листах 589
Один из способов избавиться от погрешности вычислений — воспользоваться функцией ОКРУГЛ. Следующая формула, например, вернет значение ИСТИНА, поскольку сравнение происходит со значением из ячейки А1, округленным до одной цифры после запятой: =ОКРУГЛ(А1;1)=0,9 Ниже приведен еще один пример. Попробуйте ввести следующую формулу: = (1,333-1, 233)-(1,334-1,234) Результат вычисления этой формулы должен быть равным нулю, но в действительности он равен -2.220446Е-16. Это очень близкое к нулю число, но оно все таки отлично от нуля. Если предыдущая формула находится в ячейке А1, то следующая формула вернет строку "Ненулевое значение". =ЕСЛИ(А1=0;"Ноль";"Ненулевое значение") Чтобы избежать ошибок, возникающих из-за погрешности вычислений, можно, например, воспользоваться формулой =ЕСЛИ(АВБ(A1)<1Е-6;"Ноль";"Ненулевое значение") В этой формуле используется оператор сравнения меньше (<) для сравнения абсолютной величины заданного числа с числом, очень близким к нулю. Последняя формула вернет логическое значение ИСТИНА. Ошибки, связанные с внешними ссылками При открытии рабочей книги на экране может появиться окно сообщения, показанное на рис. 33.4. Это окно иногда появляется, даже если в открываемой книге нет внешних ссылок. Часто ошибочные ссылки появляются при копировании рабочих листов, в формулах которых используются имена. ишшшшшшшшшщшшшншщшштщшГ ^ • Гажобквитъаним &«е& попытается паяу#«ьаиые новые данные |\ • Еспи не ойис*»ля1ътлям1,&вутиспогыс*и1ъс*лен*ые, гслучеиные ранее. Учтите, что сели с источниками данные иогут быть исполэсжанйдлядоаутиктомфндяншвгьиыи сввд<нижбв>мю)егов*до«г«д«мвы10ливннв№Утнхврвдо«)снь«дв*твии Не обновляйте связи, еспч вы не доверяете источм^у *той книги Обновить I Необневвять I Справке I ' ' ' —' ■ Рис. 33.4. Запрос Excel о том, следует ли обновить внешние ссылки Чтобы устранить эту проблему, выберите команду Правка^Связи, чтобы открыть диалоговое окно Изменение связей. Если имеются какие-либо связи, выделите их (по одной за раз) и щелкните на кнопке Разорвать связь, чтобы удалить соответствующую ссылку. Если проблема не будет решена, значит, в рабочей книге есть ошибки в именах ячеек или диапазонов. Выберите команду ВставкаОИмя^Определить и просмотрите список имен. Если для какого-то имени в поле Формула появляется значение ошибки #ССЫЛКА!, удалите это имя. Средства проверки Excel В Excel предусмотрен набор инструментов проверки, которые могут вам пригодиться. Рассмотрим методы работы с этими инструментами. 590 Часть V. Дополнительные возможности Excel
Выделение ячеек определенного типа В диалоговом окне Выделение группы ячеек можно указать тип ячеек, которые нужно выделить. Чтобы открыть это окно, выберите команду ПравкаОПереЙти (или нажмите клавишу <F5> или комбинацию клавиш <Ctrl+G>). Появится диалоговое окно Переход. Щелкните на кнопке Выделить, на экране отобразится диалоговое окно Выделение группы ячеек (рис. 33.5). Выделение rmnnht nteefc ^ npme*4i»ifl ■ еонплнты "• i'^.mi Р у*с» W 1акст v* flooweawa W «W4VM (" пустые «чв&си <" текущую флкггъ <"* твгущииЕркснв С о£>вкты С OTftt*«OnOCT5!PKW <~ огяичнй по етояблан f донявши» ячейки Г* аввмо»*»* ячейкн Р Г <" «хладною ячейку Г только емдмаде **йки * ytnoettH* форнаты Г" грсварк* данных <? Гу« - j «Ж | Omens \ Рис. 33.5. Диалоговое окно Выделение группы ячеек Если вы выделите диапазон до выполнения команды Правка^Перейти, то будут просматриваться только выделенные ячейки. Если выделена только одна ячейка, команда будет применена ко всему рабочему листу. Это окно можно использовать для выделения ячеек определенного типа, что может оказаться весьма полезным при выявлении ошибок. Например, если установить переключатель Формулы, то Excel отметит все ячейки, содержащие формулы. Чтобы было легче понять структуру рабочего листа, уменьшите масштаб (рис. 33.6). [■'!] "~2~ 4 а 7 8 9 10 11 12 14 19 16 17 1В 19 20 21 22 23 24 29 26 27 28 2) 90 31 1 294 396 946 214 423' 204 987 654 294 1 «41 298 396 946 214 690 369 ^ 432* к» 390 4006 573 426 912 369 492 196 390 В 947 632" 869 102 204 680 941 652 369 4961 996 «32 969 102 369 947 846* 694 697 9978 298 369 147 947 946 694 697 С 973 426 912 369 196 390 245 602 694 4339 246 426 912 369 462 196 390 249 602 В999 204 690 941 692 848 204 880 243 654 492 1*К » ц^Лист1/Пистг>. Пис ^^! 298 389 147 947 654 697 654 258 641 0031 690 369 147 947 846 694 697 694 296 9018 198 350" 249 602 369 198 390 369 Е 246 698 932 497 600 246 351 555 684 8134 390 698 932 497 402 869 102 369 204 4499 694 657 Б94 298 492 654 657 547 * 1878 2441 3006 1689 2718 2037 2137 2778 2721 2802 24004 1966 2089 2441 Э008 1699 2716 2989 2407 2074 2071 23092 1849 2482 2098 2428 2961 1824 2694 2267 0 632 668 102 366 147 547 648 694 390 245 4757 846 492 156 457 402 600 246 366 204 4276 254 356 946 214 650 423 204 987 N 452 156 457 402 246 365 "г04 680 296 3818 365 846 654 102 365 204 680 452 156 4070 547 632 863 '102*" 365 204 680 541 1 J 846 654 102 369 680 492 156 350 222 4031 690 452 369 452 156 350 245 602 694 662 4812 573 42Е 612 368 452 156 350 245 J 402 600 369 452 360 369 452 196 390 3666 3S0 369 947 846 694 697 694 258 641 602 6678 259 389 147 947 848 664 697 694 К 846 694 947 846 657 947 846 694 697 6308 Б97 947 497 402 600 246 391 999 684 268 4797 246 658 932 467 402 600 246 351 "I 1 3479 2933 1877 2430 1781 2480 2979 2312 2190 1730 23170 2480 2979 2671 2510 1969 2020 2094 2341 2798 1872 23292 1879 2441 3006 1689 2715 2037 2137 2778 , 7771 М ] 869 102 366 204 541 652 846 654 350 6263 973 426 912 389 452 156 350 245 602 654 4339 632 869 102 366 147 947 946 694 И 512 369 452 166 245 602 365 204 680 3935 268 369 147 647 846 694 697 664 298 641 6031 492 168 497 402 600 246 369 204 ВЯЛ 0 | 147 547 846 654 654 258 452 166 350 4721 204 680 541 652 В46. 204 ' 680' 452" 156 350: 4795 846 654 102 369 204 880 492! 196; адгг _- 457 402 600 246 " 204 680: Э69 452 166 3931 350 245 602' 365 168 360. 369 462 168 " " Э201" 402| воо* 369; 452' 166 360 369. 462'; 14*. Q 102 365 204: 680 452 156 350 547 846 654 4368. 857' 654 258 452 654 657 647 846 654 8033 846 ' 654 647 846 654 857 547. "846: R54 ЛШх| R 2087 1785 2467 1940 2604 1600 2942 2973 2312 2190 22206 1649 2482 2099 2429 2961 1824 2694 2267 2314 2466 23369 3178 2933 1677 2430 1761 2480 2979 2312 «у - Г Рис. 33.6. Уменьшив рабочий лист и выделив ячейки с формулами, можно увидеть структуру листа Глава 33. Поиск ошибок в рабочих листах 591
Совет Иногда это действие помогает найти часто повторяющуюся ошибку, когда вместо формулы введено значение. Если среди группы выделенных ячеек с формулами вам вдруг встретится неотмеченная ячейка, то велика вероятность того, что в ней раньше находилась формула, но ее случайно заменили числом. Просмотр формул Другой способ ознакомиться с рабочей книгой — выводить формулы, а не их результаты. Для этого выберите команду Сервисе Параметры и установите флажок Формулы во вкладке Вид. Если перед выполнением этой команды открыть новое окно для рабочей книги, то формулы будут расположены в одном окне, а результаты — в другом. Совет Переключать эти режимы также можно с помощью команды Сервис=>Зависимос- ти формул^Режим проверки формул. При переходе в режим проверки формул на экране появляется панель инструментов Зависимости. Кроме того, переключать режимы можно с помощью комбинации клавиш <Ctrl+'>. На рис. 33.7 в верхнем окне показаны результаты расчета по формулам, а в нижнем — сами формулы. Рис. 33.7. Формулы показаны в нижнем окне Сравнение рабочих листов Часто возникает необходимость в сравнении данных, которые содержатся в двух рабочих книгах или листах. Для выполнения этой операции в Excel 2003 есть новое средство. Ж. Новинка! Это средство доступно только в Excel 2003. 592 Часть V. Дополнительные возможности Excel
Сначала убедитесь, что оба окна, подлежащих сравнению, открыты. Если нужно сравнить два рабочих листа одной книги, выберите команду Окно^Новое, чтобы открыть еще одно окно для активной рабочей книги. Затем выберите команду Окно^Сравнить рядом С. Если открыто более двух рабочих книг, то откроется диалоговое окно, в котором можно выбрать, какую книгу следует использовать для сравнения с активной рабочей книгой. После выполнения команды окна рабочих книг будут расположены одно под другим. Также появится панель инструментов Сравнить рядом. Пример использования этого средства представлен на рис. 33.8. По умолчанию содержимое окон прокручивается синхронно, но с помощью кнопки Синхронная прокрутка,, расположенной на панели инструментов Сравнить рядом, можно отключить эту опцию. Рис. 33.8. Сравнение двух рабочих книг с помощью нового средства Excel На заметку Если потребуется, можно расположить окна слева направо. Для этого выберите Окно^ Расположить и в появившемся диалоговом окне установите переключатель в положение слева направо. Чтобы вернуться к первоначальному виду, щелкните на кнопке Восстановить расположение окна, которая находится на панели инструментов Сравнить рядом. К сожалению, это средство другими возможностями не обладает. Было бы удобно, если бы программа Excel сравнивала содержимое двух рабочих книг и выдавала отчет о различиях в этих книгах. Но таких средств нет, поэтому вам придется все сравнивать самостоятельно. Глава 33. Поиск ошибок в рабочих листах 593
Отслеживание связей между ячейками Прежде чем обсуждать детали, необходимо ознакомиться с двумя понятиями. ■ Влияющие ячейки. Это понятие применимо только к ячейкам, содержащим формулы. Для ячейки, содержащей формулу, влияющими являются все те ячейки, которые прямо или косвенно влияют на результат расчета по формуле. Прямо влияющей называется ячейка, ссылка на которую использована непосредственно в формуле. Косвенно влияющей называется ячейка, которая не используется в формуле непосредственно, но ссылка на нее применяется в другой ячейке, на которую ссылается данная формула. ■ Зависимые ячейки. Это ячейки с формулами, зависящие от определенной ячейки. Как и в случае влияющих ячеек, они могут быть зависимыми прямо или косвенно. Например, рассмотрим следующую простую формулу, введенную в ячейку А4: =СУММ(А1:АЗ) Ячейка А4 имеет три влияющие ячейки (Al, A2 и A3). Все они являются прямо влияющими. Для ячеек А1, А2 и A3 ячейка А4 является прямо зависимой. Часто выявление влияющих ячеек формулы проливает свет на вопрос о том, почему формула неверно работает. Кроме того, полезно знать, как ячейки с формулами зависят от определенной ячейки. Например, если вы собираетесь удалить формулу, было бы неплохо проверить, имеет ли эта формула какие-нибудь зависимости. Определение влияющих ячеек Определить ячейки, ссылки на которые используются в выделенной формуле, можно несколькими способами. ■ Нажмите клавишу <F2>. После этого ячейки, ссылки на которые указаны в этой формуле, будут выделены цветной рамкой, а сами ссылки будут выделены соответствующим цветом. Этот способ имеет одно ограничение: выделяются только те ячейки, которые находятся на том же рабочем листе, что и формула. ■ Выберите команду Правка^Перейти (или нажмите клавишу <F5>), чтобы отобразить диалоговое окно Переход. Затем щелкните на кнопке Выделить, чтобы открыть диалоговое окно Выделение группы ячеек. Установите переключатель влияющие ячейки и затем выберите переключатель только непосредственно (для выделения только прямо влияющих ячеек) или на всех уровнях (для выделения как прямо, так и косвенно влияющих ячеек). Щелкните на кнопке ОК, чтобы выделить влияющие ячейки. Таким способом можно выделить только те ячейки, которые находятся на том же рабочем листе, что и формула. ■ Нажмите комбинацию клавиш <Ctrl+[>, чтобы выделить все прямо влияющие ячейки на активном рабочем листе. ■ Нажмите комбинацию клавиш <Ctrl+Shift+{>, чтобы выделить все (как прямо, так и косвенно) влияющие ячейки на активном рабочем листе. ■ Отобразите панель инструментов Зависимости. Для этого выберите команду Сервисе Зависимости формулоПанель зависимостей. Щелкните на кнопке Влияющие ячейки, чтобы отметить стрелками влияющие ячейки. После каждого щелчка на этой кнопке отображается один уровень зависимостей. Поэтому, чтобы просмотреть влияющие ячейки, например, до третьего уровня, щелкните на этой кнопке три раза. На рис. 33.9 показан рабочий лист, в котором стрелками выделены ячейки, влияющие на значение в ячейке Е13. 594 Часть У. Дополнительные возможности Excel
Рис. 33.9. Стрелками отмечены ячейки, влияющие на формулу в ячейке С13 Определение зависимых ячеек Определить ячейки с формулами, в которых используются ссылки на активную ячейку, можно описанными ниже способами. ■ Выберите команду ПравкаОПерейти (или нажмите клавишу <F5>). Затем щелкните на кнопке Выделить, чтобы открыть диалоговое окно Выделение группы ячеек. Установите переключатель зависимые ячейки и затем выберите переключатель только непосредственно (для выделения только прямо зависимых ячеек) или на всех уровнях (для выделения всех зависимых ячеек). После щелчка на кнопке ОК будут выделены зависимые ячейки. Таким способом можно выделить только те ячейки, которые находятся на том же рабочем листе, что и выделенная формула. ■ Нажмите комбинацию клавиш <Ctrl+]>, чтобы выделить все прямо зависимые ячейки на активном рабочем листе. ■ Нажмите комбинацию клавиш <Ctrl+Shift+}>, чтобы выделить все (как прямо, так и косвенно) зависимые ячейки на активном рабочем листе. ■ Отобразите панель инструментов Зависимости. Для этого выберите команду СервисО Зависимости формул^Панель зависимостей. Щелкните на кнопке Зависимые ячейки, чтобы отобразить зависимости для активной ячейки. После каждого щелчка на этой кнопке отображается один уровень зависимостей. Отслеживание ошибочных значений Кнопка Источник ошибки панели инструментов Зависимости поможет найти ячейку, которая привела к появлению ошибочного значения. Часто ошибка в одной ячейке является результатом ошибки во влияющей ячейке. Активизируйте ячейку, в которой содержится ошибка, и щелкните на кнопке Источник ошибки. Excel проведет стрелки к возможным источникам ошибки. Глава 33. Поиск ошибок в рабочих листах 595
Циклические ссылки Если вы случайно создали формулу с циклической ссылкой, Excel отобразит окно с предупреждением. Если щелкнуть на кнопке ОК, на экране отобразится панель инструментов Циклические ссылки. Если вы не можете определить источник ошибки, попробуйте воспользоваться инструментом Найти циклическую ссылку (раскрывающийся список, расположенный на панели инструментов). В этом списке представлены ячейки, содержащие циклическую ссылку. Поочередно выбирайте ячейки из этого списка и проверяйте формулы, которые содержатся в этих ячейках, пока не найдете источник ошибки. Фоновая проверка ошибок Иногда бывает очень удобно использовать средство фоновой проверки ошибок Excel. Параметры этого средства можно задать во вкладке Проверка ошибок диалогового окна Параметры (рис. 33.10). Чтобы включить (отключить) это средство, установите (снимите) флажок Включить фоновую проверку ошибок. Кроме того, ниже в этом окне можно определить типы ошибок, которые будут проверяться в фоновом режиме. Сгиеки j Диаграмма j Цает | Орфография | безопасность j £брОС ПРОПуЩвННЫХ ОДИбоК OtC Отмена Рис. 33.10. Excel может проверять формулы на наличие ошибок Если фоновая проверка ошибок включена, Excel постоянно проверяет формулы на наличие ошибок. Если найдена формула, в которой может быть (или есть) ошибка, в левом верхнем углу этой ячейки появляется небольшой треугольник. При выделении такой ячейки появляется смарт-тег. При щелчке на этом смарт-теге откроется меню с набором команд. На рис. 33.11 показан рабочий лист, который содержит несколько ошибок #ДЕЛ/0!. Щелчок на смарт-теге приводит к появлению меню, с помощью которого можно попытаться устранить эту ошибку. Количество и набор команд в меню зависит от типа ошибки. Во многих случаях приходится выбирать команду Пропустить ошибку. При этом выбранная ячейка больше не будет проверяться на наличие ошибок, а смарт-тег исчезнет. Отменить эту команду можно только для всех ячеек активного рабочего листа сразу. Для этого во вкладке Проверка ошибок диалогового окна Параметры щелкните на кнопке Сброс пропущенных ошибок. После этого все ячейки снова будут проверяться на наличие ошибок. Для проверки ошибок можно воспользоваться командой СервисОПроверка наличия ошибок. На экране появится диалоговое окно, в котором можно просмотреть все ошибки на Вид | Вычисления J Правка | Общие 1 Переход Международные Сохранение Проверка, «Ыхж Параметры *—*~—"—^— W &кяюч*ть фоновую проверку одобок цвет отображения ouatfox: ( Авто у] Проверять Haj*n»ie следующих ошибок - Р вычисление формулы вызывает самбку Г7 текстовая дата 2 ана'тьигодсч Vs чисио сохранено ках текст I* месссявсу^айсяфссч*уте области |~ фаркупанвохватыьает слабые «чей и Г" иа мйпокировама ячейку, содержащая формулу Г~ фсс*4улассь*паетсяиапусгыв&*£йки йяи&аТлригюаеер/е данныхв-гтис- ах 596 Часть V. Дополнительные возможности Excel
рабочем листе. Это диалоговое окно работает подобно окну проверки орфографических ошибок. Диалоговое окно Контроль ошибок представлено на рис. 33.12. Обратите внимание, что это не модальное диалоговое окно. Поэтому, даже если оно открыто, у вас есть доступ непосредственно к ячейкам рабочего листа. 20U3 2004 [Изменение JQjxJ И ~ 6.9% 6.0% -13.1% 23.0%' 11.<% «иел/oi 8ДЕЛ/01 «ДЕГС! Ошибке ■ *лпенме-a i л I Справка по этой ошибка Покааехьэтапы вычисления.. Пропустить ошибку Иаменить в строке формул Параметры проверки ошибок... Показать лаивла аудита формул »-!vrwTi /rwn/rwi)/ l-l j Рис. 33.11. Меню смарт-тега для ошибки #ДЕЛ/0! Кьпграп* ошибок е ячейке D7- «(СТ-ТОС? х) Трассировка пусты* ячеек - фориупа ссыпается на пустые ячейки — Форму пе в этой- ячейке ссылается и« ячейки, оторые в настоящее время пусты. Параметры... Справке по згой ошибке Пропустить ошибку №иенить в строке формуя |Г-Ца>ад А Далее Рис. 33.12. Диалоговое окно Контроль ошибок позволяет проверить рабочий лист на наличие ошибок Важно понимать, что средство проверки ошибок Excel несовершенно и имеет ряд весьма серьезных недостатков. Другими словами, если вы проверили рабочий лист на наличие ошибок с помощью этого средства и устранили их, то это еще не означает, что в рабочем листе больше нет ошибок. Дело в том, что с помощью этого средства вам не удастся проверить ячейки, которые могут содержать ошибки. Кроме того, средство проверки ошибок не отслеживает некоторые типы часто встречаемых ошибок. Например, с помощью этого средства невозможно определить ячейки, в которых о>ормулы были случайно заменены обычными числовыми значениями. Вычисление формул Средство Вычисление формулы позволяет поэтапно вычислить сложную формулу так, как это делает Excel. Для этого выделите ячейку с формулой и выберите команду Сервисе Зависимости формул^Вычислить формулу. Также можно щелкнуть на кнопке Вычислить Глава 33. Поиск ошибок в рабочих листах 597
формулу, которая расположена на панели инструментов Зависимости. В любом случае на экране появится диалоговое окно Вычисление формулы, показанное на рис. 33.13. Щелкните на кнопке Вычислить, чтобы вычислить подчеркнутое выражение. После каждого щелчка выполняется один шаг вычислений. Это средство в некоторых ситуация может быть полезным, но, как правило, в нем нет необходимости. £с«г»са: Лиет2*£*г дяяпросмот] ■^Вычислить" Вычисление: Данные), фАВЗДель-Даммыв;, 0)) » результата вычисления подчеркнутого вырйжежянаамгге кнопка гъсл*дн^пояу^«1ньйрвэултетотойжжмтсякуро«<ж 1Й5* «сдать.^ Щагсав-едЮи } Закрыть id J 1 Яис. JJ. /J. В окне Вычисление формулы можно поэтапно вычислить формулу В Excel есть еще один способ вычисления части формулы. Для этого выполните ряд действий. 1. Выделите ячейку с формулой. 2. Нажмите клавишу <F2>, чтобы перейти в режим редактирования. 3. С помощью мыши выделите часть формулы, которую необходимо вычислить. Также эту операцию можно выполнить с помощью клавиатуры. Для этого нажмите и удерживайте клавишу <Shift> и клавишами <—» и <«—> выделите нужный фрагмент. 4. Нажмите клавишу <F9>. Вместо выделенного фрагмента формулы появится вычисленное значение. Затем можно вычислить другие фрагменты формул или нажать клавишу <Esc>, чтобы вернуть формулу к прежнему виду. Средства поиска и замены Программа Excel обладает мощными средствами поиска и замены, с помощью которых довольно просто найти необходимую информацию на рабочем листе или в рабочей книге. Более того, можно осуществлять поиск и замену текста в ячейках. дШ Нв*ри 1 Заменить, } Найтш j хкеа Н&аты ;|на листе Просеатривать. | го строкам 0§явсгьпоиска; Jcx*-.-* ZJ | «оежггжмдш | 1С !&*£ ] •! Т] Г 5А«тьвать регистр _-] Оараийтры « \ аайтивс* 1 найти дадо* [ Закрыть Рис. 33.14. Диалоговое окно Найти U заменить используется для поиска информации в рабочем листе или книге Чтобы открыть диалоговое окно Найти и заменить, выберите команду ПравкаОНайти или ПравкаОЗаменить. В любом случае на экране появится диалоговое окно, показанное на 598 Часть V. Дополнительные возможности Excel
рис. 33.14. Если необходимо просто найти нужную информацию, перейдите во вкладку Найти. Если же требуется заменить существующий текст новым, перейдите во вкладку Заменить. С помощью кнопки Параметры можно отобразить (скрыть) дополнительные параметры поиска. Поиск информации Введите искомую информацию в поле Найти. В раскрывающемся списке Искать укажите область поиска (на активном рабочем листе или во всей книге). В раскрывающемся списке Просматривать укажите направление поиска (просматривать по строкам или по столбцам). В раскрывающемся списке Область поиска укажите, какие данные следует просматривать (формулы, значения или примечания). С помощью опций Учитывать регистр и Ячейка целиком можно указать, требуется ли выполнять поиск с учетом регистра символов и следует ли искать все содержимое ячейки или только фрагмент. После каждого щелчка на кнопке Найти далее будет выделяться одна ячейка, содержащая искомую информацию. Чтобы найти все совпадающие ячейки, щелкните на кнопке Найти все. В последнем случае диалоговое окно Найти и заменить расширится и внизу добавится список адресов ячеек, в которых была найдена искомая информация (рис. 33.15). Если щелкнуть на какой-либо записи в этом списке, то Excel прокрутит рабочий лист так, чтобы на экране была видна выделенная ячейка. Ш НЛц, Идштм "3 Форнет пе мдан 3 Область гюиве»; |фориульjj^. рараиетры « | tjeflmace j j Найти wr* | li£i—i^- I**--' \\*~~* i«gp-f" книга-ЛЛиетЗ Адресная книга-А ЛистЭ Адресная книге, rif Листа Адресная книга ids ЛистЭ Адресная книга 4» ЛистЭ Адреоая ieera.»te ПистЭ w. tC*9 MootM »С|10 Моосы (C$11 Мосям »С»20 Моосы (Ct2B Мосюм «С»Э7 •гнвйдеис* Рис. 33.15. Результат поиска На заметку / Для внесения изменений в рабочий лист закрывать диалоговое окно Найти и заменить не обязательно. Можно просто щелкнуть непосредственно на рабочем листе и выполнить необходимые операции. При этом диалоговое окно останется на экране и к нему можно будет в любой момент вернуться. Замена информации Чтобы в рабочем листе или книге заменить заданную текстовую строку другой, перейдите во вкладку Заменить диалогового окна Найти и заменить. В поле Найти введите искомый текст, а в поле Заменить на введите текст, которым должен быть заменен искомый текст. Установите другие параметры, как описано в предыдущем разделе. Щелкните на кнопке Найти далее, чтобы найти первую ячейку с искомым текстом. Затем щелкните на кнопке Заменить, чтобы заменить этот текст новым. Excel заменит содержимое активной ячейки, Глава 33. Поиск ошибок в рабочих листах 599
после чего перейдет к следующей ячейке с искомым текстом. Чтобы заменить содержимое следующей ячейки, вновь щелкните на кнопке Заменить. Чтобы заменить содержимое всех ячеек с искомым текстом, щелкните на кнопке Заменить все. Поиск формата С помощью диалогового окна Найти И заменить можно определить ячейки, которые имеют определенное форматирование. Также можно заменить параметры редактирования. Например, предположим, что нужно выделить все ячейки, отформатированные полужирным шрифтом, и заменить это форматирование на полужирный курсив. Для этого выполните ряд действий. 1. Выберите команду Правка^Заменить, чтобы открыть диалоговое окно Найти и заменить. 2. Убедитесь, что вы находитесь во вкладке Заменить. 3. Если поля Найти и Заменить на содержат текст, удалите его. 4. Щелкните на верхней кнопке Формат, чтобы отобразить диалоговое окно Найти формат. Это окно очень похоже на диалоговое окно Формат.ячеек. 5. В диалоговом окне Найти формат перейдите во вкладку Шрифт. 6. В списке Начертание выберите полужирный и щелкните на кнопке ОК. 7. Щелкните на нижней кнопке Формат, чтобы открыть диалоговое окно Заменить формат. 8. В этом диалоговом окне перейдите во вкладку Шрифт. 9. В списке Начертание выберите полужирный курсив и щелкните на кнопке ОК. Теперь диалоговое окно Найти и заменить должно принять вид, как на рис. 33.16. Обратите внимание, что в нем отображаются образцы заданных параметров форматирования. Найти Заменить | ! Найти; За^смггьнг. [ И<рсатъ s f^J"* лист* . Просаапмввть; [построкам Область поиска; Цэрнуль' Заменить {^е 1 3**е**«ь 3 3 1 3 ._ Обра1бц _ образец ) CspSmj:" -1 Р 1!чмтъеатъ регистр Параметры « | Цвйтнвс* j HviTKAagpe | Закрыть | Рис. 33.16. Использование диалогового окна Найти и заменить для изменения форматирования ячеек 10. Теперь в диалоговом окне Найти и заменить щелкните на кнопке Заменить все. Excel определит ячейки, в которых используется полужирный шрифт, и заменит его полужирным курсивом. Проверка орфографии При работе в текстовом процессоре, до того как напечатать важный документ, вы, вероятно, запускаете средство проверки орфографии. То же самое можно выполнить и в Excel. Выполнить проверку правописания можно одним из трех способов. 600 Часть V. Дополнительные возможности Excel
■ Выбрать команду Сервис^Орфография. ■ Щелкнуть на кнопке Орфография, которая находится на стандартной панели инструментов. ■ Нажать клавишу <F7>. ^^^* При активизации средства проверки орфографии Excel может спросить, хотите На заметку ли вь| начать проверку с начала рабочего листа. Чтобы избежать этого вопроса, можно предварительно выделить диапазон ячеек, тогда проверка орфографии будет проведена только для ячеек выделенного диапазона. В результате выполнения одного из указанных действий на экране появится диалоговое окно Орфография (рис. 33.17). Непвахяырва jbhuaiieii» gMCC/ЮВфВ; .. | С («КИЙ (РОССИЯ) Оарамвтры. . J -*£■- -хук£/ \ л. J ™.| _a*i f^onjCTmb | Пропустив ре I Добавить е словарь} Заменить J Звмвжтьвсе. | &гакия*нв | 1 Отмена [ Рис. 33.17. Диалоговое окно Орфография ^^^ Средство проверки орфографии проверит содержимое ячеек, примечания, текст На заметку в графических объектах и диаграммах и колонтитулы страниц. Будет проверено даже содержимое скрытых строк и столбцов. Диалоговое окно Орфография работает точно так же, как и другие средства проверки правописания, с которыми вам, вероятно, уже приходилось сталкиваться в текстовых процессорах. Если Excel обнаружит слово, которого нет в словаре, можно выполнить одно из перечисленных ниже действий. ■ Пропустить. Пропускает текущее слово и продолжает проверку правописания. ■ Пропустить все. Пропускает текущее слово и все его дальнейшие появления. ■ Добавить в словарь. Добавляет слово в словарь. ■ Заменить. Заменяет текущее слово указанным в поле Варианты. ■ Заменить все. Без подтверждения заменяет текущее слово и все его дальнейшие появления словом, указанным в поле Варианты. ■ Автозамена. Добавляет неверно написанное слово в правильном виде в список слов, исправляемых автоматически (подробности в следующем разделе). Глава 33. Поиск ошибок в рабочих листах 601
Использование автозамены Автозамена — это удобное средство, которое помогает автоматически исправлять типичные опечатки. Также можно дополнять список автоматически исправляемых слов. Диалоговое окно Автозамена изображено на рис. 33.18. Вывести его можно с помощью команды СервисОПараметры автозамены. Двтомиеяа J Автофоряат при вводе ] оирт-тег« | Р Поодатъхиогки возможностей даомиены Р" Ислр«пет»Д£ЬЛРоришые бутсы а чечаяе «та Рг Делать первые буквы предоожегкЗ прописными Р Нюмния дней с прописной буквы Р- Vctp*inTbnociWACTB»i«cw4amoro«ac«TMedVSLOCK М to (It) 1 О IS 4 1 Рис. 33.18. Диалоговое окно Автозамена Это диалоговое окно имеет несколько опций. ■ Исправлять ДВе ПРописные буквы в начале слова. Excel будет автоматически исправлять слова с двумя прописными буквами. Например, слово БЮджет будет исправлено на Бюджет. Это типичная ошибка, которая часто встречается при быстром наборе текста. Можно щелкнуть на кнопке Исключения, чтобы указать список исключений из правила. ■ Делать первые буквы предложений прописными. Автоматически преобразует первую букву предложения в прописную. ■ Названия дней с прописной буквы. Программа будет автоматически изменять первую букву в названии дня недели на прописную. Например, если ввести слово понедельник, Excel исправит его на Понедельник. ■ Удалять последствия случайного нажатия CAPS LOCK. Программа автоматически устранит последствия случайного нажатия клавиши <Caps Lock> при наборе текста. ■ Заменять при вводе. Excel будет автоматически исправлять слова при наборе. В Excel входит длинный список типичных опечаток для автозамены. Кроме того, в нем имеются записи для некоторых символов. Например, (с) заменяется на ©, а ® — на ®. Вы можете добавить ваши собственные записи. Например, если вы часто ошибаетесь при наборе слова Январь и пишете Янвварь, создайте соответствующую запись для автозамены. Ошибочное слово введите в поле заменять, а правильное — в поле на. Как было отмечено выше, это можно сделать прямо в диалоговом окне Проверка орфографии. Средство автозамены можно использовать для создания сокращений часто исполь- Совет зуемых слов и фраз. Например, если вы работаете в компании под названием Объе- диненная Корпорация Обработки Данных, то создайте запись для замены сокраще- м ния окод этим длинным названием. Теперь, как только вы наберете окод, Excel автоматически заменит его на Объединенная Корпорация Обработки Данных. 602 Часть V. Дополнительные возможности Excel
Иногда нужно отменить действие средства Автозамена. Например, вам может понадобиться ввести (с), а не символ ©. В этом случае, сразу после того как Excel произведет автозамену, выберите команду ПравкаоОтмена или просто нажмите комбинацию клавиш <Ctrl+Z>. Во вкладке Автоформат при вводе диалогового окна Автоформат можно задать формат для отображения сетевых и Internet-адресов. Во вкладке Смарт-теги этого же окна можно указать, для каких данных рабочего листа показывать смарт-теги и в каком виде. Количество и типы смарт-тегов, которые отображаются в этой вкладке, может отличаться в зависимости от программного обеспечения, установленного на вашем компьютере. Использование автозавершения Автозавершение позволяет автоматически заканчивать слово при его вводе, как только оно будет распознано. Для того чтобы слово было распознано, оно должно быть введено в текущий столбец. Это особенно удобно, если требуется ввести список, содержащий повторяющийся в одном столбце текст, например вы создаете список клиентов и в одном из столбцов вводите названия городов, которые часто повторяются. Как только вы начинаете набирать, программа изучает записи в текущем столбце и, если найдется подходящая, заполняет поле вместо вас. Нажмите клавишу <Enter> для подтверждения. Если программа не "угадала", продолжайте набирать дальше, не обращая внимание на подсказку. Если средство Автозавершение не работает, выберите команду Сервис^Пара- Совет метры, щелкните на вкладке Правка и установите флажок Автозавершение . значений ячеек. Кроме того, есть возможность просмотреть список всех записей в столбце. Для этого щелкните правой кнопкой мыши на ячейке, в которую нужно ввести текст из списка. В появившемся контекстном меню выберите команду Выбрать из раскрывающегося списка. Excel отобразит список, содержащий все уникальные записи в столбце. Выберите нужную запись и щелкните на ней. После этого Excel введет ее в ячейку за вас. На заметку Глава 33. Поиск ошибок в рабочих листах 603
Программирование — в Excel I ели вы хотите автоматизировать рутинные операции, выполняемые вручную, не можете найти среди встроенных функций Excel такую, которая выполняла бы нужные вам вычисления, или желаете сделать что-то казалось бы невыполнимое, эта часть книги для вас. Она также предназначена тем пользователям, которые на основе Excel разрабатывают приложения для других пользователей. Изучаемый здесь язык VBA (Visual Basic for Applications) является мощным языком программирования, который можно использовать для решения широкого круга задач, возникающих при работе в Excel. Глава 34 Введение в язык Visual Basic for Applications Глава 35 Функции VBA Глава 36 Основы экранных форм Глава 37 Элементы управления на рабочем листе Глава 38 Обработка событий в Excel Глава 39 Примеры программирования на VBA Глава 40 Создание надстроек Excel
В этой главе... Введение в макросы VBA Создание макросов VBA Запись макросов VBA В Дополнительные сведения о записи макросов Написание кода VBA Введение в Visual Basic for Application та глава представляет собой введение в язык макрокоманд Visual Basic for Applications (VBA) — основной инструмент для пользователей, которым требуется выполнить настройку и автоматизацию Excel. Здесь приведены основные сведения о языке VBA. Вы узнаете, как записывать макросы и создавать простые процедуры. Подробное изложение тем, затронутых в данной главе, вы найдете в последующих главах. Введение в макросы VBA Образно говоря, макрос — это последовательность команд, которая используется для автоматизации некоторых действий Excel, благодаря чему повышается эффективность работы и уменьшается число ошибок. Можно, например, создать макрос для форматирования и печати ежемесячного отчета. После создания макроса просто запустите его, и целая последовательность однотипных операций будет выполнена автоматически. Чтобы создавать и использовать простые VBA-макросы, вовсе не обязательно быть опытным пользователем. Начинающие пользователи могут просто активизировать средство записи макросов Excel. Программа запишет выполняемую вами последовательность действий, а затем автоматически преобразует ее в макрос VBA. В сущности, макрос является простой программой, при запуске которой Excel вновь выполнит записанную последовательность действий. Однако более опытные пользователи могут написать программы выполнения таких задач, которые нельзя записать с помощью средств Excel. Например, можно написать процедуры, которые будут выводить на экран созданное пользователем диалоговое окно, добавлять новые команды в меню Excel или обрабатывать данные, находящиеся в нескольких рабочих книгах.
Что можно сделать с помощью VBA Язык программирования VBA обладает необычайно широкими возможностями и имеет множество применений. Далее перечислено всего несколько операций, которые можно выполнить с помощью макросов VBA. ♦ Вставить строку текста или формулу. Например, если вам нужно часто вводить в рабочие таблицы название своей фирмы, можно создать макрос, который это сделает вместо вас. Аналогичную операцию можно выполнить с помощью средства Автозамена. ♦ Автоматизировать часто выполняемую процедуру. Например, если требуется подготовить месячный отчет и его структура не слишком сложна, можно написать макрос, который выполнит всю работу за вас. ♦ Автоматизировать повторяющиеся операции. Если необходимо выполнить некоторое действие в 12 различных рабочих книгах, можете записать макрос при первом выполнении этой операции, а затем позволить ему повторить указанное действие в остальных рабочих книгах. ♦ Создать новую команду. Например, можно объединить несколько команд из меню Excel для их последующего выполнения с помощью только одной комбинации клавиш или одного щелчка мыши. ♦ Создать на панели инструментов кнопку с новой функцией. На панели инструментов можно помещать новые кнопки для запуска написанных вами макросов. ♦ Создать упрощенный "внешний интерфейс" для пользователей, мало знакомых с Excel. Например, вы можете создать специальный шаблон для ввода данных. ♦ Разработать новую функцию рабочего листа. Хотя Excel включает широкий ассортимент встроенных функций, вы можете создать новые функции, которые существенно упростят ваши формулы. ♦ Создать законченные приложения, управляемые с помощью макросов. Макросы Excel могут отображать созданные пользователем диалоговые окна и добавлять новые команды в строку меню. ♦ Создать новые надстройки для Excel. Все надстройки, входящие в поставку Excel, созданы с помощью макросов. Моя надстройка Power Utility Pak написана исключительно на языке VBA. Вы также можете создавать собственные надстройки. Два типа VBA-макросов Прежде чем вникать в детали создания макросов, необходимо осмыслить следующий ключевой момент. VBA-макрос (или процедура) может быть двух типов: подпрограммой или функцией. Различия между ними рассматриваются в следующих двух разделах. Подпрограммы VBA Макрос-подпрограмма — это нечто наподобие новой команды, которая может быть выполнена либо пользователем, либо другим макросом. В рабочей книге Excel может содержаться произвольное число подпрограмм. Глава 34. Введение в Visual Basic for Application 607
На рис. 34.1 показана простая подпрограмма VBA. При выполнении этой подпрограммы текущая дата помещается в активную ячейку и форматируется', а затем соответствующим образом изменяется ширина столбца. Zub СегадняшняяДата() 1 ввод сегодняшней даты в JLcctveCell.Value - Dace AcclveCell.NunfcerFormat - **d : lictiveCell.Font.Bold * True JLctlveCeli.columns. JLucorit End Sub fcPULJ ГЯШШЯЯЯШШЯВШ Рис. 34.1. Простая подпрограмма VBA Подпрограммы всегда начинаются с ключевого слова Sub, после которого следует имя макроса (у каждого макроса должно быть уникальное имя), а затем пара круглых скобок. (В скобках задаются аргументы, но если у подпрограммы нет аргументов, они остаются пустыми.) Оператор End Sub говорит об окончании подпрограммы. Строки, заключенные между этими двумя операторами, составляют тело процедуры или текст макроса. Подпрограмма, показанная на рис. 34.1, содержит комментарии. Комментарии— это заметки для вас, VBA их игнорирует. Строка комментариев начинается с апострофа. Комментарий можно поместить после оператора. Другими словами, если VBA встречает апостроф, он игнорирует остальной текст этой строки. Запустить подпрограмму можно несколькими способами. ■ Выберите команду Сервис^Макрос, а затем в открывшемся диалоговом окне выберите из списка имя нужной подпрограммы. ■ Используйте комбинацию клавиш, назначенную подпрограмме (если она, конечно, назначена). ■ Обратитесь к подпрограмме из другой процедуры VBA. Более подробно подпрограммы описаны далее в главе. Функции VBA Вторым типом процедуры VBA является функция. Функция всегда возвращает единственное значение (подобно обычной функции рабочей таблицы). Функцию VBA можно запустить из другой процедуры VBA или использовать в формулах рабочего листа точно так же, как и встроенные функции рабочих листов Excel. На рис. 35.2 показан листинг созданной пользователем функции рабочего листа. Имя этой функции — КубКорень, она имеет один аргумент. Эта функция вычисляет кубический корень из своего аргумента. Функции подобны подпрограммам. Обратите внимание на то, что функция начинается ключевым словом Function и заканчивается оператором End Function. Создавая функции VBA для использования их в формулах рабочих листов, вы можете значительно упростить сами формулы. Более подробно функции VBA описаны в главе 35. 1 Язык Visual Basic for Applications не русифицирован. Поэтому в коде макросов VBA используются английские названия свойств, методов, событий, служебных слов и т.п. (как и в большинстве других языков программирования). Но при этом допускается использование кириллицы в именах процедур и переменных. Мы будем этим активно пользоваться, чтобы сделать код процедур более понятным. — Прим. ред. 608 Часть VI. Программирование в Excel
О^шч w доступна. Чсм[" **«к> >*»«**; Пмомтнък» 5J-* • ТЬйсшл «льмо»" | ОТ | От»« | Рис. 35.2. Функция VBA, вычисляющая кубический корень Некоторые определения Пользователей, которые только начинают работать с VBA, часто ставит в тупик терминология, используемая в этом языке. Приведенные ниже термины имеют отношение к VBA и пользовательским формам (созданным пользователем диалоговым окнам) — двум важным элементам настройки и автоматизации Excel. ♦ Макрос. Набор команд Excel, выполняемых автоматически. VBA-макросы также называются процедурами. ♦ Метод. Действие, применяемое к объекту. Например, применение метода clear к объекту-диапазону приводит к очистке содержимого ячеек этого диапазона. ♦ Модуль. Контейнер для текста программы на языке VBA. ♦ Объект. Элемент, которым вы манипулируете с помощью VBA, — диапазоны, диаграммы, рисунки и т.д. ♦ Подпрограмма. Один из двух типов макросов, создаваемых на языке VBA. Другой тип макроса — это функция. ♦ Пользовательская форма (UserForm). Контейнер, содержащий элементы управления для пользовательского диалогового окна, а также текст программы на языке VBA для манипуляции этими элементами управления (данная тема освещается в главе 36). ♦ Процедура. Еще одно название макроса. VBA-процедура может быть подпрограммой или функцией. ♦ Свойство (Property). Параметры объекта. Например, объект-диапазон имеет такие свойства, как Height (Высота), Style (Стиль) И Name (Имя). ♦ Текст программы. Команды языка VBA, которые помещаются на лист модуля при записи макроса. Текст программы на языке VBA можно также ввести вручную. ♦ Функция (Function). Один из двух типов VBA-макросов, который вы можете создать (второй тип— это подпрограмма). Функция возвращает единственное значение. Функции VBA можно использовать в других VBA-макросах или в рабочих листах. ♦ Элементы управления (Controls). Элементы пользовательской формы (или рабочего листа), с помощью которых можно осуществлять управление чем-либо. К ним относятся кнопки, флажки и списки. ♦ VBA (Visual Basic for Applications). Язык макрокоманд, который поддерживается Excel и другими приложениями Microsoft Office. ♦ VBE (Visual Basic Editor). Редактор Visual Basic, представляющий собой окно (отдельно от Excel), которое используется для создания VBA-макросов и пользовательских форм. Глава 34. Введение в Visual Basic for Application 609
Создание VBA-макросов Excel предоставляет два способа создания макросов. ■ Активизируйте средство записи макросов и запишите ваши действия. ■ Введите текст программы непосредственно в модуль VBA. В следующих разделах эти метод описаны подробнее. Запись макросов В этом разделе описаны основные действия, которые необходимо выполнить, чтобы записать VBA-макрос. В большинстве случаев вы можете записать свои действия в виде макроса, а затем просто "воспроизвести" этот макрос, при этом вам не нужно даже смотреть на сгенерированный текст программы. И если это все, что вам нужно от VBA, то заниматься самим языком нет никакой необходимости (хотя, конечно, понимание основных принципов его работы не повредит). Запись действий для создания макроса: основы Средство записи макросов Excel помогает преобразовать ваши действия в текст программы на языке VBA. Чтобы активизировать средство записи макросов, выберите команду Сервисе Макрос*Начать запись. На экране появится диалоговое окно Запись макроса (рис. 34.3). *! СОЧ©*«*« £МеИШ; Рис. 34.3. Диалоговое окно Запись макроса В этом диалоговом окне представлено несколько опций. ■ Имя макроса. По умолчанию Excel предлагает такие имена, как Макрос1, Макрос2 и т.д. ■ Сочетание клавиш. Вы можете указать комбинацию клавиш для выполнения макроса. При вводе любой буквы можно также нажать клавишу <Shift>. Например, ввод буквы <Н>, сопровождаемый нажатием клавиши <Shift>, даст комбинацию <Ctrl+Shift+H>. ■ Сохранить В. Место для хранения макроса. Вы можете выбирать между текущей рабочей книгой, личной книгой макросов, которая будет описана ниже в этой главе, и новой рабочей книгой. ■ Описание. В это поле вводится описание макроса. По умолчанию Excel помещает здесь дату и ваше имя. При желании вы можете ввести дополнительную информацию. Чтобы приступить к записи своих действий, щелкните на кнопке ОК. Появится панель инструментов Остановить запись, которая содержит две кнопки — Остановить запись и Относительная ссылка. После окончания записи макроса выберите команду Сервисе Макросе Остановить запись или щелкните на кнопке Остановить запись, расположенной на одноименной панели инструментов. P^^lf*1 |макиос1 610 Часть VI. Программирование в Excel
^^^^ В результате записи ваших действий получится новая процедура-подпрограм- На заметку ма- Что же касается процедуры-функции, то ее нельзя создать с помощью средства записи макросов. Запись макроса: пример В этом примере показано, как записать макрос, который изменяет форматирование выбранного диапазона ячеек. В результате выполнения этого макроса диапазон должен иметь следующие атрибуты форматирования: шрифт Arial размером 16 пунктов, полужирный, выделенный красным цветом. Чтобы создать такой макрос, выполните ряд действий. 1. Введите в ячейку число или текст (на ваше усмотрение). Теперь у вас есть отправная точка. 2. Выберите ячейку, содержащую введенное на предыдущем этапе число или текст. 3. Выберите команду СервисОМакрос^Начать запись. Появится диалоговое окно Запись макроса. 4. Введите новое имя макроса, чтобы заменить стандартное имя Макрос 1. Можно выбрать, например, имя МакросФорматирования. 5. Назначьте этому макросу комбинацию клавиш <Ctrl+Shift+<J>>, введя в поле редактирования Сочетание клавиш букву <Ф>. 6. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно Запись макроса. Появится панель инструментов Остановить запись. 7. Выберите команду ФорматоЯчейки и щелкните на вкладке Шрифт. Выберите полужирный шрифт Arial размером 16 пунктов и назначьте символам красный цвет. Чтобы закрыть диалоговое окно Формат ячеек, щелкните на кнопке ОК. 8. Поскольку запись макроса на этом должна быть закончена, щелкните на кнопке Остановить запись, которая находится на одноименной панели инструментов, или выберите команду СервисоМакрос^Остановить запись. Исследование макроса Макрос был записан в новом модуле под названием Modulel. Чтобы просмотреть текст макроса в этом модуле, необходимо активизировать редактор Visual Basic. Это можно сделать одним из двух способов. ■ Нажмите комбинацию клавиш <Alt+Fl 1>. ■ Выберите команду Сервис^Макрос^Редактор Visual Basic. В окне Project (Проект) отображен список всех открытых рабочих книг и надстроек. Этот список имеет вид древовидной диаграммы. Текст макроса, который вы предварительно записали, хранится в модуле Modulel в текущей рабочей книге. Если дважды щелкнуть на имени Modulel, текст макроса отобразится в окне Code (Код). На рис. 34.4 показан записанный макрос в том виде, в котором он отображается в окне Code. Глава 34. Введение в Visual Basic for Application 611
' «M<CT«<reVitiMl 8а« Злино- xaracajd» - |Mod.M (СоДе)| ® J- d * *Л»^ "» «« 31 pi ♦' (< DetaForm (dataform2jda) • |$ funcrt» (FurCMSJCLA) й 9$. V8APrafcct (3- ямсь M«Kpoc«jdf) 1 £ -iHcrosaft Excel Obtects j £) ПиСТ1 (ftlCTl) вГнсЧОКтЭ «ПГ«тЗ(А«тЭ) б ЭтаКя». e^ModJei '-ЛШЯЛ И • • • -< < &;*ЧГ . ь ытооиэ введите вопрос »■ i<Om«aU jj ^«цюсФормдгароимит Sub НалросФоркаткроваихя<) ' НакрссФоркжтнроваякя Яакрос ' Какрос валлсан 04.05.2004 {JLlex) 1 Сочетание клавиш: Ctrl-*-* Vlth Selection.Font .Hane - •Muriel" .FontStyle ■ "пояужкрюс*" .Sice - 16 .Strlketbxough ■ False .Superscript - False .Subscript - False .OutlineFont - False •Shadow ■ False .Underline - xlUndeclineStyleNone .ColorIndex - 3 End Uith End Sue -im I - - В х d j 1 J JT Рис. 34.4. Подпрограмма МакросФорматирования, которая была сгенерирована средством записи макросов Активизируйте этот модуль и исследуйте созданный текст макроса. Он должен содержать следующее: Sub МакросФорматирования() МакросФорматирования Макрос Макрос записан 04.05.2004 (Alex) Сочетание клавиш: Ctrl+Shift+Ф With Selection.Font .Name = "Arial" .FontStyle = "полужирный" .Size = 16 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .Colorlndex = 3 End With End Sub Записанный макрос — это подпрограмма (так как она начинается с оператора Sub), которая называется МакросФорматирования. Во время выполнения макроса операторы сообщают Excel, что именно нужно делать. Обратите внимание на то, что Excel вставила комментарии в верхних строках макроса. Это та самая информация, которая находилась в диалоговом окне Запись макроса. Строки комментариев (которые начинаются с апострофа) на самом деле не являются необходимыми, и их удаление никак не повлияет на работу самого макроса. 612 Часть VI. Программирование в Excel
Вы, наверное, заметили, что в макрос записаны некоторые действия, которых вы не выполняли. Например, параметрам Strikethrough, Superscript и Subscript присвоено значение False (Ложь). Это, так сказать, побочный эффект метода, который используется в Excel при преобразовании последовательности действий в текст макроса. Excel устанавливает значения для всех параметров вкладки Шрифт диалогового окна Формат ячеек, даже если вы не изменяли их все. Тестирование макроса Перед записью макроса была установлена опция, которая назначила этому макросу комбинацию клавиш <Ctrl+Shift+<J>>. Чтобы протестировать макрос, вернитесь к Excel одним из двух способов. ■ Нажмите комбинацию клавиш <Alt+Fl 1>. ■ Щелкните на кнопке View Microsoft Excel (Вид Microsoft Excel) стандартной панели инструментов в окне редактора VBA. Когда Excel станет активной, откройте рабочий лист (он может быть в рабочей книге, которая содержит модуль VBA, или в другой рабочей книге). Выберите ячейку или диапазон и нажмите комбинацию клавиш <Ctrl+Shift+<t>>. Макрос мгновенно отформатирует выбранные ячейки (или ячейку). Проверьте работу макроса на других ячейках, и вы увидите, что во всех случаях макрос будет форматировать их одинаково. Отметим, что в предыдущем примере ячейка, формат которой изменялся, выбрана до начала записи макроса. Это очень важно. Если бы ячейка выбиралась в процессе записи макроса, то ее адрес был бы записан в код макроса. Поэтому такой макрос всегда форматировал бы только ячейку с записанным адресом и, разумеется, не был бы макросом "общего применения". Редактирование макроса Записав макрос, можно изменить его (но вы должны при этом хорошо понимать, что делаете). Предположим, вы пришли к выводу, что в рабочем листе необходимо использовать шрифт размером не 16, а 14 пунктов. В этом случае можно, конечно, перезаписать макрос. Однако, поскольку это очень незначительное изменение, лучше просто отредактировать текст макроса. Для этого найдите оператор, в котором устанавливается размер шрифта, и измените число 16 на 14. Кроме того, можете удалить приведенные ниже строки. .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlNone В результате такого удаления макрос не будет изменять соответствующие параметры Например, если в ячейке выполнено подчеркивание символов, то макрос никак не повлияет на этот атрибут форматирования. Отредактированный макрос будет выглядеть следующим образом: Sub МакросФорматирования() With Selection.Font .Name = "Arial" На заметку I На заметку / Глава 34. введение в Visual Basic for Application 613
.FontStyle = "полужирный" .Size = 14 .Colorlndex = 3 End With End Sub Протестируйте этот макрос, и вы увидите, что он работает так, как надо. Заметьте также, что он не удаляет подчеркивание в ячейках, как это делал предыдущий макрос (макрос первоначальной версии). Другой пример На этом примере будет показано, как записать более сложный VBA-макрос, который преобразует формулы в значения. Обычно этот процесс состоит из двух этапов. 1. Копирование диапазона в буфер обмена. 2. Выбор команды Правка о Специальная вставка. После этого в диалоговом окне Специальная вставка нужно установить переключатель Значения, чтобы вставить вместо формул возвращаемые ими значения. Макрос позволяет объединить эти операции и выполнять их с помощью одной команды. Предположим также, что у нас возникло желание иметь возможность обратиться к этой команде с помощью комбинации клавиш <Ctrl+Shift+V>. Чтобы создать этот макрос, выполните ряд действий. 1. Введите некоторые формулы в диапазон ячеек. Подойдут любые формулы. 2. Выделите диапазон, содержащий формулы. 3. Выберите команду Сервис^Макрос^Начать запись. Появится диалоговое окно Запись макроса. 4. В этом диалоговом окне в поле Имя макроса введите Преобразование_формул. Также назначьте комбинацию клавиш <Ctrl+Shift+V>. 5. Щелкните на кнопке ОК, чтобы начать запись макроса. 6. Пока диапазон выбран, примените команду Правка^Копировать, чтобы скопировать его в буфер обмена. 7. Выберите команду Правка^Специальная вставка, в диалоговом окне Специальная вставка установите переключатель Значения, а затем щелкните на кнопке ОК, чтобы закрыть это диалоговое окно. 8. Чтобы отменить режим вставки, нажмите клавишу <Esc>. (Excel удалит движущуюся рамку вокруг выбранного диапазона.) 9. Щелкните на кнопке Остановить запись или выберите команду Сервис^Макросо Остановить запись. Чтобы протестировать макрос, активизируйте рабочий лист, введите какие-нибудь формулы и выделите несколько ячеек с формулами. Запустить макрос можно двумя способами. ■ Нажмите комбинацию клавиш <Ctrl+Shift+V>. ■ Выберите команду Сервис^Макрос^Макросы и в диалоговом окне Макрос дважды щелкните на имени макроса Преобразование_формул. Программа Excel преобразует формулы в выбранных диапазонах в соответствующие значения, причем сделает это за один прием вместо двух. 614 Часть VI. Программирование в Excel
Будьте внимательны при выполнении этого макроса, поскольку нельзя отменить операцию преобразования формул в значения. На самом деле, конечно, можно отредактировать макрос таким образом, чтобы результаты его работы можно было бы отменять, но это выходит за рамки нашей темы. Назначенная комбинация клавиш <Ctrl+Shift+V> действует только в случае, когда открыта соответствующая рабочая книга. Если ее закрыть, нажатие клавиш <Ctrl+Shift+V> ни к чему не приведет. Записанный макрос будет выглядеть следующим образом: Sub Преобразование_формул() Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues# _ Operation:=xlNone, SkipBlanks:=False, _ Transpose:=False Application.CutCopyMode = False End Sub Подпрограмма состоит из трех операторов. Первый копирует выбранный диапазон в буфер обмена. Второй оператор, состоящий из трех строк (символ подчеркивания в конце строки означает, что оператор продолжается на следующей строке), вставляет содержимое буфера обмена в диапазон, выбранный в данный момент. Этот оператор имеет несколько аргументов, которые представляют собой опции диалогового окна Специальная вставка. Третий оператор отменяет движущуюся рамку вокруг выбранного диапазона (Excel сгенерировала этот оператор, поскольку после операции вставки была нажата клавиша <Esc>). Если хотите, можете удалить символ подчеркивания во втором операторе и объединить все строки в одну (оператор VBA может иметь любую длину). Возможно, это облегчит восприятие макроса. Подробности о записи VBA-макросов Если вы внимательно прочитали предыдущие примеры, то, наверное, уже немного разобрались в том, как записывать макросы. Если же текст VBA-макроса все еще кажется вам китайской грамотой, не тревожьтесь— вам незачем беспокоиться об этом, пока записанный макрос работает правильно. Если же макрос работает неправильно, то во многих случаях его проще перезаписать, чем отредактировать. Есть хороший способ проверки записи макроса. Нужно сделать так, чтобы вы могли видеть на экране текст макроса, создаваемый с помощью редактора Visual Basic. Для этого убедитесь, что окно Excel не развернуто на весь экран. Расположите окна Excel и редактора Visual Basic так, чтобы они были видны на экране. В процессе записи своих действий убедитесь, что в окне редактора отображается модуль, в котором выполняется запись текста макроса. Для этого дважды щелкните на имени модуля в окне Project (Проект). Адресация в макросах: абсолютная и относительная Если вы собираетесь работать с макросами, то должны разобраться с понятиями абсолютной и относительной адресации в макросах. Обычно при записи макроса Excel сохраняет точные адреса ячеек, которые вы выбираете (т.е. выполняет абсолютную адресацию ячеек). Например, если при записи макроса был выбран диапазон В1:В10, то Excel запишет это следующим образом: Range("B1:B10").Select Внимание! На замет заметку Глава 34. Введение в Visual Basic for Application 615
Это означает, что должны быть выделены ячейки диапазона В1:В10. При вызове данного макроса всегда будут выбираться именно указанные ячейки, независимо от расположения текущей ячейки. Как вы, наверное, заметили, на панели инструментов Остановить запись есть кнопка Относительная ссылка. Если щелкнуть на этой кнопке во время записи макроса, Excel перейдет из режима абсолютной адресации (по умолчанию) в режим относительный адресации. Это означает, что выбор диапазона ячеек будет зависеть от расположения активной ячейки. Например, если при записи макроса в режиме относительной адресации активна ячейка А1, то операция выбора диапазона ячеек В1:В10 приведет к записи следующего оператора: ActiveCell.Offset(0,1).Range("Al:A10").Select Этот оператор можно расшифровать так: от активной ячейки нужно переместиться на 0 строк вниз и на 1 столбец вправо и считать, что это ячейка А1. Относительно нового положения выбрать диапазон А1:А10. Другими словами, макрос, записанный в режиме относительной адресации, в качестве отправной точки использует активную ячейку, а затем выбирает диапазон относительно этой ячейки. Таким образом, в зависимости от расположения активной ячейки, результат будет различным. Однако в любом случае будет выбираться 10 ячеек одного столбца, начиная с ячейки, смещенной относительно активной ячейки на 0 строк вниз и 1 столбец вправо. Когда Excel работает в режиме относительной адресации, кнопка Относительная ссылка изображена нажатой. Для возврата в режим абсолютной адресации достаточно вновь щелкнуть на этой кнопке, и она примет свой прежний вид. ^^^ Режим адресации — абсолютный либо относительный — имеет большое зна- На заметку чение, так как от него зависит работа макроса. Поэтому важно ясно представлять различие между этими двумя режимами. Сохранение макросов в личной книге Большинство макросов создаются и разрабатываются пользователями для конкретной рабочей книги, но некоторые из них могут быть необходимы постоянно. Такие макросы (макросы общего назначения) можно хранить в личной книге макросов, чтобы они всегда были доступны. Личная книга макросов загружается при каждом запуске Excel. Этот файл под именем Personal .xls находится в папке XlStart. Этого файла не существует, пока не будет записан хотя бы один макрос в личную книгу макросов. Личная книга макросов обычно находится в скрытом окне (чтобы не мешала работать). Чтобы сохранить макрос в личной книге макросов, нужно, прежде чем начать запись, в диалоговом окне Запись макроса из списка Сохранить в выбрать опцию Личная книга макросов. Если макросы находятся в личной книге, то ее не нужно загружать каждый раз при открытии той рабочей книги, в которой будет использован нужный макрос. При выходе из Excel на экране появится вопрос, не хотите ли вы сохранить изменения в личной книге макросов. 616 Часть VI. Программирование в Excel
Назначение макроса кнопке панели инструментов В процессе записи макроса можно назначить ему комбинацию клавиш для его быстрого выполнения. После того как макрос был записан и протестирован, можно назначить макрос кнопке панели инструментов. Для этого выполните ряд действий. 1. Если вы создали макрос общего назначения, который планируете использовать во многих рабочих книгах, убедитесь, что он сохранен в личной книге макросов. 2. Выберите команду ВидоПанели инструментовОНастройка. Появится диалоговое окно Настройка. 3. Щелкните на вкладке Панели инструментов диалогового окна Настройка и убедитесь в том, что панель инструментов, которая должна содержать новую кнопку, отображается на экране. 4. Щелкните на вкладке Команды диалогового окна Настройка. 5. Выберите категорию Макросы. 6. В списке Команды выделите пиктограмму Настраиваемая кнопка и перетащите ее на панель инструментов. 7. Щелкните правой кнопкой мыши на новой кнопке панели инструментов и выберите из контекстного меню команду Назначить макрос. Появится диалоговое окно Назначить макрос. 8. Выберите из списка имя макроса и щелкните на кнопке ОК. 9. На данном этапе можно еще раз щелкнуть правой кнопкой мыши на кнопке, чтобы изменить ее имя или значок. 10. Щелкните на кнопке Закрыть для выхода из диалогового окна Настройка. Настройка панелей инструментов подробно рассматривается в главе 26. Написание кода VBA Как было описано в предыдущих разделах, самый легкий способ создать простой макрос — это записать свои действия. Однако для разработки более сложных макросов вы должны ввести команды VBA вручную, т.е. написать программу. Для экономии времени можно также комбинировать запись действий с вводом кода программы вручную. Но прежде чем приступить к написанию VBA-макроса, следует хорошо разобраться в том, что такое объекты, свойства и методы. Не помешает познакомиться и с такими общими понятиями программирования, как циклы и условные операторы. Данный раздел представляет собой введение в программирование на языке VBA. Его необходимо прочитать тем, кто хочет писать (а не записывать) макросы на этом языке. Но данный раздел не претендует на роль полного справочника по программированию в VBA. Этой теме посвящены отдельные книги. Основы: ввод и редактирование кода Перед тем как вводить код (текст) программы, необходимо вставить модуль в рабочую книгу. Если рабочая книга уже имеет лист модуля, его можно использовать для нового макроса. Глава 34. Введение в Visual Basic for Application 617
Чтобы вставить новый модуль, выполните перечисленные ниже действия. 1. Нажмите комбинацию клавиш <Alt+FU>, чтобы активизировать окно редактора Visual Basic. Этот редактор представляет собой отдельное приложение, несмотря на то что тесно связан с Excel. 2. В окне Project (Проект) отображен список всех открытых рабочих книг и надстроек. Найдите и выберите рабочую книгу, в которой вы работаете в данный момент. 3. Выберите команду InsertoModule (Вставка^Модуль). В рабочей книге появится новый (пустой) модуль. Модуль VBA, отображаемый в окне Code (Код), во многом напоминает текстовый редактор. Можно перемещаться по листу, выделять текст, вставлять, копировать, вырезать и т.д. Советы по оформлению текста программы Набирая код (текст) макроса в листе модуля, не забывайте делать отступы, вводить пустые строки и помещать комментарии, для того чтобы сделать программу более читабельной (хорошо, если это войдет у вас в привычку). После ввода строки кода Excel проверяет, нет ли в ней синтаксических ошибок. И если нет, то строка кода переформатируется, а ключевые слова и идентификаторы выделяются соответствующими цветами. В результате этого автоматического переформатирования пробелы в нужных местах добавляются (например, до и после знака равенства), а в ненужных — удаляются. Если найдена синтаксическая ошибка, вы получите сообщение об этом и соответствующая строка будет выделена другим цветом (по умолчанию красным). Прежде чем запускать макрос, необходимо исправить ошибку. Оператор VBA может иметь любую длину. Но порой (в ваших же интересах) его стоит разместить в нескольких строках. В этом случае в месте предполагаемого разбиения нужно вставить пробел и символ подчеркивания (_). Несмотря на то что следующий фрагмент программы занимает две строки, на самом деле он представляет собой один оператор VBA: Sheets("Лист1").Range("Bl")-Value = _ Sheets("Лист1").Range("Al").Value В текст программы на языке VBA можно свободно вставлять комментарии. Индикатором комментария является символ апострофа. Любой текст, следующий за апострофом, игнорируется. Комментарий может занимать целую строку либо вставляться за оператором. В следующих примерах демонстрируется использование двух комментариев: 1 Присвоить значения переменным Rate = .085 ' Курс на 16 ноября Как работает VBA Язык VBA достаточно сложен для восприятия и при первом знакомстве просто подавляет. Поэтому, чтобы подготовить почву для детального рассмотрения VBA, ниже приведено краткое описание основных принципов его работы. ■ Необходимые действия записываются в виде команд на листе модуля VBA, после чего макрос запускается на выполнение. Модули VBA сохраняются в рабочей книге Excel (их может быть любое количество). Чтобы просмотреть или отредактировать модуль VBA, необходимо открыть редактор Visual Basic. Для переключения между Excel и окном редактора Visual Basic достаточно нажать комбинацию клавиш <Alt+Fl 1>. ■ Модуль VB А состоит из процедур-подпрограмм. Подпрограмма — это компьютерная программа, которая выполняет некоторые действия над объектами. Вот пример про- 618 Часть VI. Программирование в Excel
стой подпрограммы Показать_сумму (она выполняет сложение 1+1 и отображает результат на экране): Sub Показать_сумму() Sum =1+1 MsgBox "Результат равен " & Sum End Sub ■ Модуль VBA может содержать также процедуры-функции. Особенность функции состоит в том, что она возвращает единственное значение. Функцию можно вызвать из другой процедуры VBA, а также использовать в формуле рабочего листа. Вот пример функции Сложение (она складывает два значения-аргумента): Function Сложение(argl, arg2) Сложение = argl+arg2 End Function ■ Основным элементом VBA является объект. Excel содержит более 100 объектов, которыми можно оперировать. К объектам относятся рабочая книга, рабочий лист, диапазон ячеек в рабочем листе, диаграмма, нарисованный прямоугольник и т.д. ■ Объекты имеют свою иерархию. В основе иерархического принципа лежит способность одних объектов служить контейнерами для других объектов (т.е. содержать другие объекты). Например, сама Excel — это объект, который называется приложением (Application). Она содержит другие объекты, такие, как рабочие книги (Workbook). Объект Workbook также может содержать другие объекты, например рабочие листы (Worksheet), диаграммы (Chart) и др. В свою очередь, объект Worksheet содержит такие объекты, как диапазоны ячеек (Range), сводные таблицы (PivotTable) и др. Иерархия всех этих объектов называется объектной моделью. Объектная модель Excel изображена в виде схемы в файле электронной справочной системы (рис. 34.5). ■ Подобные друг другу объекты составляют коллекцию. Например, коллекция Worksheets содержит все рабочие листы некоторой рабочей книги. Коллекция Command- bars содержит все объекты Commandbar (т.е. строки меню и панели инструментов). При этом сами коллекции также являются объектами. ■ Для обращения к объекту нужно указать его положение в иерархии объектов, используя точку в качестве разделителя. ■ Например, чтобы обратиться к рабочей книге под именем Книга l.xls, нужно записать: Application.Workbooks("Книга1") ■ Приведенная выше запись вызывает обращение к рабочей книге Книга1.х1з, которая входит в коллекцию Workbooks. В свою очередь, коллекция Workbooks содержится в объекте Application (т.е. в Excel). Расширив это обращение до следующего уровня, можно обратиться к листу Лист1 в рабочей книге Книга1 следующим образом: Application.Workbooks("Книга1").Worksheets("Лист1") ■ Можно перейти еще на один уровень вниз и обратиться к некоторой ячейке: Application.Workbooks("Книга!").Worksheets("Лист!").Range("Al") Глава 34. Введение в Visual Basic for Application 619
po *S . Microsoft Excel Object Model |j«*H"«n . _. _-_ ...: 4»ddln | ~iAutoRecover I -|C-»on™» | iBorders t ЧвоШес 1 -front | Ц Interior -Is ««•AWebOpUons 1 НоЫоо* iouloa I rrorChectangOpbons ' ames 1 OKErrors ) (.EDBErrors 1R«W lAreas ( {Borders | Цвогоег | iCharacters ■ iComment ■ | | Чя»р* 1 •Emirs 1 L= ti . ange (continued) -jUstObiecl iUstCotumM ) iUstRotrs iXmHap j -JpnoneUc "iPhonebcs 1 liPtvotCel \ iPrvoUtcmUrt 1 - mvotHdd • iCubeReU -)PrvcrtItem -f 1 -fi tvotTabie 1 -jCakulatedMen oers 1 -ICubeheUs | HPrratFormutas шегуТаЫе j ^Parameter» .oundNote | «ftdatlon | torVshect I iftutoHter ■ -jComrnenls L-»„ 1 iRecentFtks Циесег*«е iRTO js wets iHPegeBreaVs Чдаавевгеак -iVPegeereek» | MWtgeDreak HSmartTagRecognizers 1 iSffMrtTagRecognteer -|Sp<*ch -IbpHMnguptloos *«tobl«to 'atcbes -fWatch -{windows 4l*ane« -JWorkbook . iCu*tomVtews -|MoHer iPublMbabtecti ЦриЫНМЫеЯ Jflxl - 1 1 3 —1 J 1 1) Zl 1 1 _J Zl 1 -i J Рис. J4.5. Часть объектной модели Excel Если в подобных обращениях пропустить некоторые элементы, то вместо них Excel будет использовать активные объекты. Предположим, Книга 1 — это активная рабочая книга. Тогда предыдущее обращение можно упростить следующим образом: Worksheets("Лист1").Range("А1") Если же Лист1 — это активный рабочий лист, то можно еще более упростить обращение: Range("A1") Объекты имеют свойства. Можно сказать, что свойства — это параметры объекта. Например, объект Range (диапазон) имеет такие свойства, как Value (значение) и Name (имя), а объект Chart (диаграмма) — такие, как HasTitle (заголовок) и Туре (тип). С помощью VBA можно не только определить свойства объекта, но и изменить их. Чтобы обратиться к свойству, нужно обратиться сначала к объекту, а затем к свойству этого объекта, используя точку в качестве разделителя. Например, можно обратиться к значению (свойство Value), находящемуся в ячейке А1 листа Лист1, следующим образом: Worksheets("Лист1").Range("Al").Value Можно присваивать значения переменным. Чтобы присвоить переменной Interest значение из ячейки А1 листа Лист1, нужно воспользоваться следующим оператором VBA: Interest = Worksheets("Лист1")-Range("Al")-Value 620 Часть 17. Программирование в Excel
■ У объектов есть методы. Метод — это действие, выполняемое над объектом. Например, одним из методов для объекта Range (диапазон) является ClearContents (очистить содержимое). Этот метод позволяет очистить содержимое диапазона. ■ Чтобы указать метод, нужно сначала обратиться к объекту, а затем к методу, используя точку в качестве разделителя. Например, чтобы очистить содержимое ячейки А1, нужно записать: Worksheets("Лист1").Range("Al").ClearContents ■ VBA содержит также все конструкции современных языков программирования, включая массивы, циклы и т.д. Возможно, вас это удивит но в данном разделе в двух словах был описан весь язык VBA. Теперь вам осталось только изучить детали, о некоторых из них речь идет в оставшейся части главы. Объекты и коллекции Основными элементами VBA как объектно-ориентированного языка программирования являются объекты — диапазоны, диаграммы, нарисованные объекты и др. Эти объекты расположены в иерархическом порядке. Объект Application (которым является Excel) содержит другие объекты. Например, объект Application содержит следующие объекты: ■ Addlns (Коллекция надстроек); ■ Windows (Коллекция объектов Window (Окно)); ■ WorksheetFunction (Функции рабочего листа); ■ Workbooks (Коллекция объектов Workbook (Рабочая книга)). В состав большинства из этих объектов могут входить другие объекты. Например, объег Workbook (Рабочая книга) может содержать следующие объекты: ■ Charts (Коллекция объектов Chart (Диаграмма)); ■ Names (Коллекция объектов Name (Имя)); ■ Styles (Коллекция объектов Style (Стиль)); ■ Windows (Коллекция объектов Window (Окно) в рабочей книге); ■ Worksheets (Коллекция объектов Worksheet (Рабочий лист)). Каждый из этих объектов, в свою очередь, может содержать другие объекты. Объект Worksheet (Рабочий лист), например, может содержать следующие объекты: ■ ChartObjects (Коллекция всех объектов ChartObject (Область диаграммы с диаграм мой-объектом)); ■ PageSetup (Параметры страницы); ■ PivotTables (Коллекция всех объектов PivotTable (Сводные таблицы)); ■ Range (Диапазон). Коллекция состоит из однотипных объектов. Например, коллекция всех объектов рабочих книг (Workbook) называется Workbooks. Обратиться к отдельному объекту коллекции можно, используя порядковый номер или ссылки. Например, если в рабочей книге есть три рабочих листа— Лист1, Лист2 и ЛистЗ, то можно обратиться к первому объекту коллекции рабочих листов двумя способами. Worksheets(1) Worksheets("Лист1") Глава 34. Введение в Visual Basic for Application 621
Свойства Свойства объектов — это, в сущности, их атрибуты. Например, объект-диапазон Range обладает такими свойствами, как Column (Столбец), Row (Строка), Width (Ширина) и Value (Значение). Объект-диаграмма Chart имеет такие свойства, как Legend (Легенда), ChartTitle (Заголовок диаграммы) и др. В то же время заголовок диаграммы — это тоже объект, называемый ChartTitle и имеющий свойства Font (Шрифт), Orientation (Ориентация) и Text (Текст). В Excel есть множество объектов, и каждый из них имеет собственный набор свойств. В модуле VB А можно выполнить следующее: ■ определить текущее значение свойства объекта и применить к этому свойству некоторые действия; ■ изменить значение свойства объекта. Чтобы обратиться к свойству, нужно поместить его имя после имени объекта и воспользоваться точкой в качестве разделителя. Например, приведенный ниже оператор языка VBA устанавливает для свойства Value (Значение) диапазона Частота значение 15 (т.е. в ячейках этого диапазона будет находиться число 15). Range("Частота").Value = 15 Некоторые свойства являются неизменяемыми, т.е. доступными только для чтения. Имеется в виду, что значение свойства можно узнать, но нельзя изменить. Для диапазона, состоящего из одной ячейки, свойства Row (Строка) и Column (Столбец) являются неизменяемыми. Другими словами, можно узнать, в какой строке и в каком столбце находится ячейка, но изменить ее положение путем изменения этих свойств нельзя. Объект-диапазон имеет также свойство Formula (Формула), которое можно изменить, т.е. можно вставить формулу в ячейку, изменив свойство Formula этой ячейки. Приведенный ниже оператор вставляет формулу в ячейку Итог путем изменения свойства Formula этой ячейки: Range("Итог").Formula = "=SUM(A1:A10)" Возможно, вы решили, что ячейка рабочего листа тоже является объектом, но это не так. Поэтому, когда нужно работать с одной ячейкой, пользуются объектом Range (Диапазон), который состоит только из одной ячейки. Рассмотрим объект Application, который является самой программой Excel. Объект Application имеет несколько полезных свойств. ■ Application.ActiveWorkbook. Возвращается имя активной рабочей книги (объект Workbook). ■ Application.ActiveSheet. Возвращается имя активного листа (объект Sheet) текущей рабочей книги. ■ Application.ActiveCell. Возвращается адрес активной ячейки (объект Range) текущего рабочего листа. ■ Application. Selection. Возвращается объект, выбранный в текущий момент в активном окне объекта-приложения Application. Это может быть диапазон, диаграмма, изображение или какой-нибудь другой объект, который можно выделить. На замет а заметку 622 Часть VI. Программирование в Excel
Важно понимать, что свойства могут возвращать объекты. Именно это и выполнялось в предыдущих примерах. В частности, свойство Application.ActiveCell возвращает объект-диапазон Range. Поэтому можно обратиться к свойствам с помощью операторов следующего типа: Application.ActiveCell.Font.Size = 15 В данном случае Application. ActiveCell. Font— это объект (шрифт, применяемый к активной ячейке), a Size (Размер) — это свойство шрифта. Приведенный выше оператор устанавливает для свойства Size значение 15. Таким образом, шрифт в выбранной в настоящий момент ячейке будет иметь размер 15 пунктов. Поскольку свойства объекта Application используются очень часто, можно Совет опускать спецификатор Application. Например, чтобы обратиться к строке, . содержащей активную ячейку, нужно воспользоваться таким оператором: ">^ ActiveCell. Row Существует множество различных способов обращения к одному и тому же объекту. Допустим, у вас есть рабочая книга Продажи, xls, открыта только эта книга и в ней есть всего один рабочий лист Итоги. Тогда обратиться к этому листу можно несколькими способами. Workbooks("Продажи.xls").Worksheets("Итоги") Workbooks(1).Worksheets(1) Workbooks(1).Sheets(1) Application.ActiveWorkbook.ActiyeSheet ActiveWorkbook.ActiveSheet ActiveSheet Метод, который вы изберете, зависит от того, насколько вы знаете свое рабочее пространство. Так, если открыто несколько рабочих книг, то второй и третий методы будут ненадежными. В то же время, если нужно работать с активным листом (каким бы он ни был), то подойдет любой из последних трех методов. Ну а чтобы быть абсолютно уверенным в том, что вы обращаетесь к определенному листу определенной рабочей книги, лучше всего остановиться на первом методе. Методы Кроме свойств, у объектов есть ряд методов. Метод — это действие, примененное к объекту. Например, у объектов-диапазонов есть метод Clear, позволяющий очистить содержимое диапазона. Приведенный ниже оператор VBA очищает диапазон под именем Итог. (Это действие эквивалентно выбору диапазона и последующему выполнению команды Правка^Очистить^Все.) Range("Итог").Clear В программах VBA методы очень похожи на свойства: их отделяет от объекта та же самая точка. Однако на самом деле это совершенно разные понятия. Переменные В VBA, как и во всех языках программирования, можно использовать переменные. Но, в отличие от некоторых других языков, в VBA не обязательно объявлять переменные в явном виде перед их использованием в программе (хотя явное описание служит признаком хорошего стиля программирования). В следующем примере переменной Ставка присваивается значение из ячейки А1 листа Лист1: Ставка = Worksheets("Лист!").Range("Al").Value Глава 34. Введение в Visual Basic for Application 623
После этого переменную Ставка можно использовать в других частях программы. Однако обратите внимание: переменная Ставка — это не то же самое, что имя диапазона, а значит, ее нельзя непосредственно использовать в формулах рабочего листа. Управляющие операторы Многие конструкции VBA можно найти в большинстве других языков программирования. Эти конструкции используются для управления ходом выполнения программы. В данном разделе будет описано несколько наиболее распространенных конструкций языка программирования VBA. Условный оператор If-Then Одним из наиболее важных элементов управления в языке VBA является конструкция If-Then. Эта распространенная команда позволяет программе принимать определенные решения. Основной синтаксис структуры If-Then выглядит следующим образом: If Условие Then Операторы [Else Операторы] Ниже приведен пример использования этой конструкции (без ветви Else). Данная подпрограмма проверяет содержимое активной ячейки. Если ячейка содержит отрицательное число, она окрашивается красным цветом; в противном случае ничего не происходит. Sub Проверка_ячейки() If ActiveCell.Value < 0 Then ActiveCell.Font.Colorlndex = 3 End Sub Циклы For-Next Цикл For-Next можно использовать, например, для обработки нескольких элементов. Синтаксис этой конструкции приведен ниже. For Счетчик = Начальное_значение То Конечное_значение [Step Шаг] [Операторы] [Exit For] [Операторы] Next [Счетчик] Вот пример использования цикла For-Next: Sub Сумма_квадратов() Total = О For Num = 1 To 10 Total = Total + (Num Л 2) Next Num MsgBox Total End Sub В этом примере между операторами For и Next находится только один оператор. Этот единственный оператор выполняется 10 раз. Переменная Num последовательно принимает значения от 1 до 10. Переменной Total присваивается сумма квадратов целых чисел от 1 до 10 (при этом последующее значение прибавляется к предыдущему). Результат отображается в окне сообщения. Конструкция With-End With Еще одна конструкция, с которой вы встретитесь при записи макросов, — это With-End With. Ее использование более предпочтительно при работе с несколькими свойствами или методами одного и того же объекта. Приведем пример. 624 Часть VI. Программирование в Excel
Sub Выравнивание_ячеек() With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .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. Здесь проверяется значение в активной ячейке. И если оно меньше 0, то ячейка становится красной, если равно 0 — голубой, а если больше 0 — черной. Sub Проверка_ячейки() Select Case ActiveCell.Value Case Is < 0 ActiveCell.Font.Colorlndex = 3 'Красный Case 0 ActiveCell.Font.Colorlndex = 5 'Голубой Case Is > 0 ActiveCell.Font.Colorlndex = 1 'Черный End Select End Sub После каждого оператора Case может находиться произвольное число других операторов, и все они будут выполнены, если условие оператора Case истинно. В случае использования только одного оператора, как в предыдущем примере, можно поместить его в той же строке, в которой находится оператор Case. Пример программы, которую нельзя записать как макрос Ниже приведен пример программы VBA, которую нельзя записать с помощью средств записи макросов Excel, так как в ней используется структура If-Then. Этот макрос позволяет быстро определять ячейки, значения в которых превосходят некоторую заданную величину. Эту величину макрос запрашивает у пользователя при запуске. Затем макрос оценивает значения в каждой ячейке выбранного диапазона. И если значение в ячейке больше величины, введенной пользователем, то макрос выделяет эту ячейку полужирным шрифтом и окрашивает ее красным цветом. Sub Условное_форматирование() 'Эта процедура выделяет те ячейки, 1 значения в которых больше заданной величины Глава 34. Введение в Visual Basic for Application 625
'Запрос у пользователя максимального значения Message = "Выделить числа, значения которых >=..." Target = InputBox(Message) Target = Val(Target) 'Оценка значения в каждой ячейке выделенного диапазона For Each Item In Selection If IsNumeric(Item) Then If Item.Value >= Target Then With Item .Font.Bold = True .Font.Colorlndex = 3 'Красный End With End If End If Next Item End Sub Хотя на первый взгляд этот макрос может показаться сложным, на самом деле это не так. И вы убедитесь в этом, если проанализируете его по частям. В начале работы макрос присваивает текст переменной Message. Затем используется функция InputBox для ввода значения пользователем. Функция InputBox имеет единственный аргумент, которым является переменная Message, и возвращает строку, которая присваивается переменной Target. Затем используется функция Val для преобразования этой строки в число. С помощью цикла For-Next проверяется содержимое каждой ячейки выбранного диапазона. В первом операторе внутри цикла используется функция IsNumeric для определения того, является ли содержимое ячейки числом. Это важный момент, так как если в ячейке нет значения, то при обращении к свойству Value в следующем операторе это приведет к ошибке. Если ячейка содержит число, то будет выполнено сравнение его с заданной величиной. Если это число больше или равно заданной величине, то будут изменены свойства Bold и Colorlndex. В противном случае ничего не произойдет и цикл перейдет к обработке следующего элемента. После того как вы введете код этого макроса под именем Условное_форматирование на лист модуля, можно назначить ему комбинацию клавиш. Для этого выберите команду Сервисе Макрос*Макросы, чтобы отобразить на экране диалоговое окно Макросы. Выберите из списка этот макрос и щелкните на кнопке Параметры. Появится диалоговое окно Параметры макроса, с помощью которого можно указать комбинацию клавиш для выполнения макроса. На рис. 34.6 этот макрос показан в действии. Заметьте, что перед запуском макроса необходимо выделить диапазон ячеек. Рис. 34.6. В макросе используется функция InputBox, запрашивающая у пользователя необходимое значение По мере выполнения макроса становится ясно, что он не слишком удачен. Он не достаточно универсален и не содержит никакой процедуры обработки ошибок. Например, если выбран объект, который не является диапазоном (скажем, графический объект), то макрос останавливается и выдает сообщение об ошибке. Чтобы в подобном случае избежать появления сообщения об ошибке и прервать выполнение макроса, можно вставить в процедуру в качестве первого оператора (сразу после оператора Sub) следующий оператор: If TypeName(Selection) <> "Range" Then Exit Sub 626 Часть VI. Программирование в Excel
Этот оператор завершает работу макроса в том случае, если выбран объект, отличный от диапазона ячеек. Кроме того, заметьте, что макрос выполняется даже в том случае, если в окне ввода щелкнуть на кнопке Отмена. Чтобы решить эту проблему, перед оператором Target = Val (Target) поместите следующий оператор: If Target = "" Then Exit Sub Тогда, если пользователь ничего не введет, работа макроса будет завершена. Дополнительные сведения В этой главе было дано только очень поверхностное описание возможностей VBA. Но если вы столкнулись с VBA впервые, то, вероятно, все эти объекты, свойства и методы несколько ошеломили вас. Тем не менее вы должны иметь обо всем этом представление, поскольку, если вы попытаетесь обратиться к несуществующему свойству, это приведет к возникновению ошибки и немедленному прекращению выполнения VBA-макроса. После этого он "не тронется с места" до тех пор, пока вы не исправите положение. К счастью, есть несколько способов, которые помогут вам как следует разобраться в том, что такое объекты, свойства и методы. Прочитайте книгу до конца В этой книге главы с 35 по 40, также посвящены программированию в VBA. В них вы найдете дополнительные сведения и примеры. Запишите свои действия с помощью средства записи макросов Вне всякого сомнения, самый лучший способ познакомиться с VBА — это активизировать средство записи макросов и записать все свои действия, выполняемые в Excel. При этом постарайтесь сделать так, чтобы модуль VBA, в котором будет сгенерирован макрос, был виден во время записи. После записи внимательно изучите полученный текст макросов. Пользуйтесь системой электронной справки Основной источник подробной информации об объектах, методах и процедурах Excel — это система электронной справки. Эта система является достаточно полной и доступной. Когда вы находитесь в модуле VBA, просто переместите курсор на некоторое свойство или метод и нажмите клавишу <F1>. Вы тут же получите справочную информацию, относящуюся к слову, на которое указывает курсор . Купите еще одну книгу Существует множество книг, посвященных Excel и, в частности, программированию на VBA. В них можно найти дополнительную информацию по этой теме. Могу порекомендовать свою книгу Excel 2003 Power Programming with VBA. ' Вся справочная информация о VBA приведена на английском языке. — Прим. ред. Глава 34. Введение в Visual Basic for Application 627
глава Ш Функции VBA В этой главе... Понятие функций VBA. Процедуры-функции Аргументы функций Отладка функций Вставка новых функций оздаваемые пользователем функции рабочего листа — это процедуры-функции VBA, с помощью которых можно значительно расширить вычислительные возможности Excel. В этой главе речь идет о функциях VBA, создаваемых пользователем. Понятие функций VBA Процедуры-функции, создаваемые на языке VBA, универсальны и могут быть использованы в двух ситуациях. ■ В выражениях другой процедуры VBA. ■ В формулах, создаваемых в рабочих листах. В этой главе описывается создание функций, предназначенных для использования в формулах. Фактически процедуру-функцию можно применять везде, где используются функции рабочих листов Excel или встроенные функции VBA. Созданные пользователем функции отображаются также в диалоговом окне Мастер функций, поэтому можно сказать,' что они становятся составной частью Excel. Программа Excel содержит сотни готовых функций рабочего листа. Поэтому у вас может возникнуть вопрос: "Зачем создавать собственные функции, имея такие богатые возможности выбора?" Основная причина состоит в том, что новые функции могут существенно упростить именно ваши формулы, т.е. сделать их менее громоздкими. Более компактные формулы легче воспринимаются и, кроме того, с ними удобнее работать. Можно, например, заменить сложную формулу одной-единственной функцией. Но есть и другая причина создания новых функций: они необходимы для выполнения операций, которые иначе было бы невозможно осуществить. На заметку В этой главе предполагается, что вы знакомы с вводом и редактированием кода программ на языке VBA в окне редактора Visual Basic. Необходимые сведения о редакторе Visual Basic можно найти в главе 34.
Вводный пример Для тех, кто хорошо знаком с языком программирования VBA, создать новую функцию не составит труда. В этом разделе предлагается пример процедуры-функции на языке VBA. Эта функция будет храниться в модуле VBA, доступном в редакторе Visual Basic. Создание новой функции Функция Знак_числа, приведенная в данном примере, имеет один аргумент. Она возвращает текстовую строку Положительное, если ее аргумент больше 0, Отрицательное, если он меньше 0, и Нуль, если он равен 0. Эта процедура-функция показана на рис. 35.1. Рис. 35.1. Новая функция, которой нет в Excel Разумеется, можно достичь того же эффекта с помощью следующей формулы рабочего листа, в которой использована вложенная функция ЕСЛИ: =ЕСЛИ(А1=0;"Нуль";ЕСЛИ(А1>0;"Положительное";"Отрицательное")) Многие согласятся, что созданная новая функция проще для восприятия, к тому же ее легче редактировать. Использование функции в рабочем листе Если ввести формулу, в которой используется функция Знак_числа, то Excel вычислит эту функцию и отобразит результат. Таким образом, эта функция работает аналогично любым другим встроенным функциям рабочих листов. Чтобы вставить ее в формулу, нужно воспользоваться командой Вставка^Функция, после выполнения которой открывается диалоговое окно Мастер функций. Новые функции находятся в категории Определенные пользователем. Выберите функцию Знак_числа и щелкните на кнопке ОК. Появится диалоговое окно Аргументы функции для выбранной функции (рис. 35.2). Можно также выполнять вложение новых функций и комбинировать их с другими элементами в формулах. Анализ новой функции В этом разделе будет проанализирована вновь созданная функция. Еще раз приведем ее код. Function Знак_числа(число) Select Case число Case Is < 0 Глава 35. Функции VBA 629
Знак_числа = "Отрицательное" Case О Знак_числа = "Нуль" Case Is > 0 Знак_числа = "Положительное" End Select End Function Аргументы b*"'w* Справка тдосгут»** zv******^ >M»|>I >»«o ЗмгмвтегПояоюгтепынж iJ-5* ■ ttoKawre/teHoe' j <* | Отмена 1 Рис. 35.2. Использование созданной функции в формуле рабочего листа Обратите внимание на то, что процедура начинается с ключевого слова Function (а не Sub), за которым следует имя самой функции Знак_числа. Эта функция имеет только один аргумент число, имя аргумента заключено в круглые скобки. Вместо аргумента число при вызове функции подставляется либо ссылка на ячейку, либо переменная. Если функция используется в рабочем листе, аргументом может быть адрес ячейки (например, А1) или числовая константа (например, -123). Если функция используется в другой процедуре, то аргументом может быть числовая переменная, числовая константа или значение, полученное из ячейки. В данной функции используется конструкция Select Case, с помощью которой осуществляется анализ входного параметра число и выбор возвращаемого значения. Если число меньше 0, то функции Знак_числа присваивается текстовая строка Отрицательное, если число равно 0, то функции присваивается текстовая строка Нуль, а если число больше 0, то функции Знак_числа присваивается текстовая строка Положительное. Значение, возвращаемое функцией, всегда присваивается имени функции. Процедуры-функции Созданные пользователем процедуры-функции имеют много общего с процедурами- подпрограммами. Тем не менее у них есть существенные различия, и основное состоит в том, что процедура-функция возвращает значение. Возвращаемое значение присваивается имени функции, после чего выполнение функции прекращается. Чтобы создать новую функцию, выполните ряд действий. 1. Откройте редактор Visual Basic. Это можно сделать, нажав комбинацию клавиш <Alt+Fl 1>. 2. Выберите рабочую книгу в окне Project. 3. Выберите команду Insert^Modllle (Вставка^Модуль), чтобы вставить модуль VBA (или используйте существующий модуль). 4. Наберите ключевое слово Function, а за ним имя функции и список аргументов (если они есть), заключив их в круглые скобки. 630 Часть VI. Программирование в Excel
5. Введите программу на языке VBA, выполняющую необходимые действия, и проследите за тем, чтобы имени функции присваивалось нужное значение (именно это значение возвращает функция). 6. Закончите функцию оператором End Function. Имена функций должны удовлетворять тем же условиям, которые установлены для имен переменных. Нельзя использовать имя функции, напоминающее адрес ячейки (например, J21). Чего не может сделать функция Почти все, кто начинает создавать собственные функции с помощью VBA, совершают фатальную ошибку: они пытаются заставить функцию делать то, что она не сможет сделать в принципе. Создавая функцию, вы должны четко представлять себе ее возможности, поскольку некоторые действия функция выполнить не может. Например, нельзя создать функцию, изменяющую атрибуты форматирования ячейки. Другими словами, функции, по сути, — это лишь пассивные процедуры, которые возвращают значение. Если вы попытаетесь выполнить недопустимое действие, то функция вернет ошибку. Вместе с тем функции VBA, которые не будут использованы в формулах рабочего листа, могут делать все то, что и обычные подпрограммы, включая изменение параметров форматирования ячеек. Вызов функций Существует множество способов запуска процедуры-подпрограммы на выполнение. Но что касается процедуры-функции, то для нее есть только два таких способа. ■ Вызов функции из другой процедуры. ■ Использование ее в формуле рабочего листа. Вызов функции из другой процедуры Созданную функцию можно вызывать из процедуры точно так же, как и встроенные функции VBA. Например, после того как вы определили функцию Вычисление_налога, можно ввести следующий оператор: Налог = Вычисление_налога(Сумма;Ставка) Этот оператор вызывает функцию Вычисление_налога, передавая ей в качестве аргументов значения переменных Сумма и Ставка. Результат вычисления функции присваивается переменной Налог. Использование функций в формулах рабочего листа Использование созданной вами функции в рабочем листе аналогично использованию встроенных функций. Но вы должны быть уверены в том, что Excel сможет найти процедуру- функцию. Если она находится в той же рабочей книге, то вам не нужно предпринимать никаких специальных действий. Если же функция определена в другой рабочей книге, то необходимо сообщить Excel, где ее искать. Сделать это можно тремя способами. Глава 35. Функции VBA 631
■ Перед именем функции введите ссылку на файл рабочей книги. Например, если нужно воспользоваться функцией Счет, которая определена в рабочей книге Мои_функции, то можно сослаться на этот файл следующим образом: =Мои_функции.х1з'Счет(А1:А1000) Если в имени рабочей книги содержится пробел, то необходимо заключить имя в одинарные кавычки, например: ='Мои функции.xls'!Счет(А1:А1000) Если функция была помещена в рабочий лист с помощью диалогового окна Мастер функций, то ссылка на рабочую книгу будет вставлена автоматически. ■ Установите ссылку на рабочую книгу. Если функция определена в рабочей книге, на которую установлена ссылка, то не нужно вводить имя этой рабочей книги перед именем функции. Ссылка на другую рабочую книгу устанавливается с помощью команды Tools1* References (Сервис^Ссылки), которая доступна в окне редактора Visual Basic. При этом вы получите список ссылок, которые включают все открытые рабочие книги. Пометьте флажком рабочую книгу, которая содержит данную функцию. (Если рабочая книга не открыта, воспользуйтесь кнопкой Browse (Обзор).) ■ Создайте надстройку. Если создать надстройку из рабочей книги, в которой есть процедуры-функции, то при использовании одной из этих функций в формуле не нужно будет вставлять ссылку на файл. Но имейте в виду, что надстройка должна быть загружена. (Надстройкам посвящена глава 40.) Процедуры-функции не отображаются в диалоговом окне Макрос при выборе ко- Совет манды Сервис*Макрос=>Макросы, поскольку функцию нельзя запустить на вы- полнение непосредственно. Поэтому, чтобы иметь возможность тестировать £д функции в ходе их разработки, нужно проделать предварительную работу. Можно написать простую подпрограмму, которая вызывает данную функцию. Если же функция предназначена для использования в формулах рабочих листов, можно ввести простую формулу, чтобы протестировать создаваемую функцию. Аргументы функций Об аргументах процедуры-функции нужно помнить следующее. ■ Аргументы могут быть переменными (включая массивы), константами, текстовыми строками или выражениями. ■ Некоторые функции могут не иметь аргументов. ■ Функция может иметь фиксированное число обязательных аргументов (от 1 до 60). ■ В некоторых функциях могут быть как обязательные, так и необязательные аргументы. В следующем разделе приведен ряд примеров, которые демонстрируют, как можно эффективно использовать аргументы функций. Описание необязательных аргументов выходит за рамки данной книги. Все примеры этого раздела можно найти на прилагаемом к книге компакт-диске. На компакт- диске 632 Часть VI. Программирование в Excel
Пример функции без аргументов Как и подпрограммы, функции необязательно должны использовать аргументы. В Excel, например, есть встроенные функции рабочих листов, не имеющие аргументов. К этим функциям относятся СЛЧИС, СЕГОДНЯ и ТДАТА. Приведем простой пример функции, не имеющей аргументов. Она возвращает свойство UserName (Имя пользователя) объекта Application. Это имя, которое появляется во вкладке Общие диалогового окна Параметры. Данный пример простой, но полезный в том отношении, что не существует другого способа вставить имя пользователя в формулу рабочего листа. Function Пользователь() ' Возвращает имя пользователя Пользователь = Application.UserName End Function Если ввести в ячейку рабочего листа следующую формулу, в этой ячейке отобразится имя пользователя: =Пользователь() Как и для встроенных функций Excel, при использовании функций без аргументов нужно добавлять круглые скобки. Пример функции с одним аргументом В этом разделе представлен пример более сложной функции, необходимой менеджеру по продажам, которому нужно рассчитывать свои комиссионные. Процент комиссионных зависит от объема проданного товара: тот, кто продает больше товара, получает более высокий процент комиссионных. Приведенная ниже функция возвращает величину размера комиссионных, который зависит от объема продажи (объем продажи — это единственный, но обязательный аргумент данной функции). Вычисления, выполняемые в данном примере, основаны на приведенных ниже соотношениях. Объем продаж за месяц (у.е.) Комиссионные (%) 0-9 999 8 10 000-19 999 10,5 20 000-39 999 12,0 40 000 и более 14 Существует несколько способов расчета комиссионных для различных величин объема продаж, введенных в рабочий лист. Можно написать, например, следующую формулу: =ЕСЛИ(И(А1>=0;А1<=9999,99);А1*0,08;ЕСЛИ(И(А1>=10000; А1<=19999,99);А1*0,105;ЕСЛИ(И(А1>=20000;А1<=39999,99); А1*0,12;ЕСЛИ(А1>=40000;А1*0,14;0)))) Однако этот метод неудачен по двум причинам. Во-первых, приведенная формула чересчур сложна и трудна для понимания, а во-вторых, недостаточно универсальна. Поэтому ее будет трудно модифицировать, если система назначения комиссионных изменится. Более удачным является подход, при котором для расчета комиссионных используется функция работы с таблицей, например: =ВПР(А1;Таблица;2)*А1 Глава 35. Функции VBA 633
Однако еще лучше создать новую функцию, как показано ниже. Function Комиссионные(Продажи) 1 Вычисление комиссионных в зависимости от объема продаж Ставка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. Если ввести в ячейку приведенную ниже формулу, то в результате получим 3 000 (поскольку объему продаж 25 000 соответствует 12% комиссионных). =Комиссионные(25000) Пример функции с двумя аргументами Данный пример построен на основе предыдущего. Предположим, менеджер по продажам ввел новые правила: общий размер комиссионных увеличивается на 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 634 Часть VI. Программирование в Excel
Модификация очень проста: добавлен второй аргумент Года к функции Комиссионные (в операторе Function) и перед выходом из функции включен дополнительный оператор для расчета окончательного значения размера комиссионных. Ниже приведен пример того, как написать формулу с использованием данной функции (при этом предполагается, что величина объема продаж находится в ячейке А1, а количество проработанных продавцом лет — в ячейке В1). =Комиссионные2(А1,В1) Пример функции с аргументами-диапазонами Этот пример демонстрирует, как можно использовать диапазон ячеек рабочего листа в качестве аргумента функции. В этом нет ничего сложного, поскольку Excel сама позаботится о деталях. Предположим, вам нужно вычислить среднее из пяти наибольших величин из диапазона Данные. В Excel нет стандартной функции для такого расчета, поэтому нужно написать следующую формулу: =(НАИБОЛЬШИЙ(Данные;1)+НАИБОЛЬШИЙ(Данные;2)+НАИБОЛЬШИЙ(Данные;3)+ НАИБОЛЬШИЙ(Данные;4)+НАИБОЛЫИИЙ(Данные;5))/5 В этой формуле используется встроенная функция Excel НАИБОЛЬШИЙ, которая возвращает я-е наибольшее число диапазона. Затем пять наибольших чисел диапазона Данные складываются, и результат делится на 5. Но, хотя эта формула прекрасно работает, она все- таки довольно громоздка и не универсальна. Что, если вам понадобится вычислить среднее шести наибольших величин? Неужели вы будете каждый раз переписывать формулу? Мало того, вам нужно будет проследить еще и за тем, чтобы обновить все копии данной формулы! А теперь представьте, насколько все упростилось бы, если бы в Excel была функция Среднее_наибольших. Тогда для вычисления среднего вы могли бы ввести формулу =Среднее_наибольших(Данные;5) Это еще один пример того, насколько функции могут упростить жизнь. А теперь приведем текст новой функции Среднее_наибольших. Она возвращает среднее для п наибольших величин диапазона. Function Среднее_наибольших(Диапазон, К_во) 1 Вычисление среднего наибольших чисел диапазона Сумма = О For i = 1 То К_во Сумма = Сумма + WorksheetFunction.Large(Диапазон, i) Next i Среднее_наибольших = Сумма / К_во End Function Эта функция имеет два аргумента: Диапазон (диапазон рабочего листа) и К_во (количество величин, для которых вычисляется среднее). Работа функции начинается с обнуления переменной Сумма. Затем используется цикл For-Next для расчета суммы наибольших величин в диапазоне, причем их количество равно К_во. И наконец, переменной Среднее_наиболыиих присваивается значение Сумма, разделенное на значение аргумента К_во. Обратите внимание на то, что в теле цикла использована функция LARGE (НАИБОЛЬШИЙ) программы Excel. Ее можно применять, если вставить перед ее именем WorksheetFunction и точку. Глава 35. Функции VBA 635
В процедурах VBA можно использовать любые функции рабочих листов Excel, кроме тех, которые имеют эквиваленты на языке VBA. Например, существует функция Rnd языка VBA, которая возвращает случайное число. Поэтому вы не можете использовать в процедуре VBA функцию RAND (СЛЧИС) программы Excel. Отладка функций Отладить процедуру-функцию немного сложнее, чем процедуру-подпрограмму. Если вы создали функцию для использования в формулах рабочих листов, то скоро обнаружите, что ошибка в этой функции приведет к появлению сообщения об ошибке в ячейках, содержащих формулы. Обычно это сообщение выглядит как #ЗНАЧ!. Другими словами, вы не получите сообщение об ошибке, возникшей во время выполнения функции, с помощью которого можно обнаружить оператор с ошибкой. Ниже приведены три метода, которыми можно воспользоваться для поиска ошибок в функциях. ■ Поместите в наиболее важных местах программы функцию MsgBox, чтобы получить возможность проверить значения некоторых переменных, поскольку окна сообщений в процедурах-функциях появляются во время выполнения процедуры. Но постарайтесь сделать так, чтобы в рабочем листе была только одна формула, в которой использовалась ваша функция, иначе окна сообщений будут появляться для каждой вычисляемой формулы. ■ Протестируйте созданную функцию, вызвав ее из процедуры-подпрограммы. Тогда при возникновении ошибки появится соответствующее сообщение. Вы сможете или исправить ошибку (если сразу ее обнаружите), или перейти в отладчик редактора Visual Basic. ■ Создайте в функции точки останова, а затем выполните ее под управлением Excel. После этого вы сможете обратиться к обычным средствам отладки. Вставка новых функций Диалоговое окно Excel Мастер функций — это удобное средство для выбора функций рабочего листа. С его помощью можно выбрать также те функции рабочих листов, которые были созданы пользователем. В диалоговом окне Мастер функций не отображаются имена тех функций, которые объявлены с помощью ключевого слова Private. Кроме этого, в диалоговом окне Мастер функций можно отобразить описание созданной вами функции. Для этого выполните ряд действий. 1. Создайте функцию в каком-нибудь модуле. 2. Активизируйте Excel. 3. Выберите команду Сервис^Макрос^Макросы. Появится диалоговое окно Макрос. 4. В поле Имя макроса диалогового окна Макрос введите имя функции. Обратите внимание на то, что обычно в этом окне функции не отображаются, поэтому вам придется самостоятельно ввести имя функции. На замет а заметку 636 Часть VI. Программирование в Excel
5. Щелкните на кнопке Параметры. Появится диалоговое окно Параметры макроса (рис. 35.3). 6. Введите описание функции и щелкните на кнопке ОК. Поле Сочетание клавиш к функциям отношения не имеет. Введенное описание функции будет отображаться в диалоговом окне Мастер функций. Рис. 35.3. В этом диалоговом окне можно ввести описание новой функции, которое затем появится в диалоговом окне Мастер функций Созданные вами функции попадают в категорию Определенные пользователем. Заметим, что создать новую отдельную категорию для вновь создаваемых функций не так-то просто. На рис. 35.4 показано диалоговое окно Аргументы функции, в котором пользователю предлагается ввести аргументы новой функции— точно так же, как и при использовании встроенной функции рабочего листа. [Ашуиаигы фуикдо- Диапазон |мз:м23 К_ро|5 •ужака возвращает «раакае для п иаибольцмх еелчии диапазоне. 'i»7*jri ЛОГ* «учит Зп«че«и>.9СК.в id 5J " <?77.9М:ИЭ.«г«« -эд5,е '. [ <Ж | Отнокз ( Рис. 35.4. Использование диалогового окна Аргументы функции для вставки функции, созданной пользователем Когда вы обращаетесь из диалогового окна Мастер функций ко встроенной функции, во втором диалоговом окне мастера функций появляется описание каждого аргумента. К сожалению, для созданных пользователем функций такие описания ввести нельзя. Дополнительные сведения Для того чтобы серьезно заниматься созданием собственных функций, информации, представленной в данной главе, явно не достаточно, так как в ней были освещены только некоторые основные моменты этой темы. Но вы можете использовать приведенные здесь примеры как основу для дальнейшей разработки необходимых вам функций, черпая нужные сведения из справочной системы Visual Basic. Кроме того, в главе 39 также можно найти множество полезных примеров функций VBA. Глава 35. Функции VBA 637
ГЛАВА В этой главе... Зачем создавать новые диалоговые окна Альтернативы пользовательским диалоговым окнам Создание пользовательских диалоговых окон Примеры пользовательских диалоговых окон Дополнительная информация Основы экранных форм ак только вы начинаете работать в Excel, то сразу же сталкиваетесь с такими элементами интерфейса, как диалоговые окна. В Excel, как и в большинстве других программ, написанных для Windows, диалоговые окна используются повсеместно: для получения информации, определения параметров команд и вывода на экран сообщений. Excel позволяет относительно легко создавать собственные диалоговые окна, работающие по тому же принципу, что и встроенные в программу. Эта глава посвящена созданию диалоговых окон, которые в VBA называются экранными формами (UserForm). Зачем создавать новые диалоговые окна Некоторые создаваемые макросы выполняют одни и те же операции каждый раз, когда вы их вызываете. Предположим, был написан макрос, с помощью которого вводится список служащих вашей фирмы. Этот макрос всегда должен выполнять одни и те же действия, причем он не требует от пользователя ввода дополнительных данных. Однако часто требуются макросы, выполняющие различные операции (в зависимости от обстоятельств) или предлагающие сделать выбор из нескольких вариантов. Приведем пример простого макроса, который переводит строчные буквы текста, находящегося в ячейках выделенного диапазона, в прописные, пропуская при этом ячейки с формулами. В этой подпрограмме используется встроенная 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
Данный макрос весьма полезен, но его было бы неплохо усовершенствовать. Например, было бы неплохо, чтобы этот макрос переводил прописные буквы в строчные или делал прописной первую букву всех слов, содержащихся в выделенном диапазоне. Такую модификацию макроса выполнить совсем несложно. Однако, если внести в макрос соответствующие изменения, придется выдать запрос пользователю о том, какие именно преобразования необходимо выполнить в ячейках. Решить эту проблему поможет диалоговое окно, подобное изображенному на рис. 36.1. Это окно представляет собой пользовательскую форму, созданную с помощью редактора Visual Basic и вызываемую посредством VBA-макроса. Рис. 36.1. Диалоговое окно, предоставляющее пользователю на выбор несколько опций во время выполнения макроса Есть и другой вариант решения проблемы: написать три макроса для каждого типа преобразований символов. Но способ, при котором в одном макросе комбинируются три эти операции и создается специальное диалоговое окно, более эффективен. Этот пример, а также описание процесса создания диалогового окна вы найдете далее в главе. Альтернативы диалоговым окнам Хотя создавать новые диалоговые окна совсем несложно, иногда проще воспользоваться готовыми средствами VBA. Например, в VBA есть две функции — MsgBox и InputBox, которые позволяют отображать на экране простые диалоговые окна, не создавая пользовательскую форму. Эти диалоговые окна можно видоизменить несколькими способами, но, конечно, они не могут содержать всех тех опций, которые доступны в созданных пользователем диалоговых окнах. Окна ввода Существуют две формы функции InputBox (Окно ввода), одна из них принадлежит Excel, другая — VB А. В краткой форме функция VBA InputBox имеет следующий синтаксис: InputBox(сообщение[,заголовок] [,по_умолчанию]) Назначение аргументов описано ниже. ■ Сообщение. Текст, отображаемый в окне (обязательный аргумент). ■ Заголовок. Текст, который появляется в строке заголовка окна (необязательный аргумент). ■ По_умолчанию. Значение, отображаемое в окне ввода по умолчанию (необязательный аргумент). Аргумент Сообщение используется только для вывода информации о том, что должен делать пользователь в этом окне. Оно не может содержать более 1 024 символов (точнее, максимальное количество символов зависит от используемого шрифта). В следующем примере функция InputBox предлагает пользователю ввести свое полное имя: Имя = InputBox("Введите ваше имя:", "Имя пользователя") С Как В Заголовках " \ Глава 36. Основы экранных форм 639
При выполнении этого оператора VBA программа выводит на экран диалоговое окно, изображенное на рис. 36.2. Заметьте, что в данном примере использованы только первых два аргумента, параметр по_умолчанию не указан. Когда пользователь введет некоторое значение и щелкнет на кнопке ОК, это значение будет присвоено переменной Имя. Рис. 36.2. Диалоговое окно, которое выводится на экран с помощью функции InputBox Функция InputBox всегда возвращает строку, поэтому может возникнуть необходимость в преобразовании результата в число. Для этого воспользуйтесь функцией Val (она преобразует отображающую число строку текста в число ). Функция VBA MsgBox Это весьма удобное средство для того, чтобы отобразить на экране информацию и попросить пользователя сделать выбор, щелкнув на одной из предложенных кнопок. Функция VBA MsgBox использована во многих примерах данной книги, чтобы вывести значение переменной. Краткий синтаксис функции MsgBox выглядит следующим образом: MsgBox(сообщение[, кнопки] [,заголовок]) Ниже приведено описание аргументов. ■ Сообщение. Текст, отображаемый в окне сообщения (обязательный аргумент). ■ Кнопки. Коды кнопок, которые будут отображены в окне сообщения (необязательный аргумент). ■ Заголовок. Текст, который появляется в строке заголовка окна сообщения (необязательный аргумент). Функцию MsgBox можно вызывать как в виде отдельного оператора, так и в виде функции, присваивая ее результат какой-нибудь переменной. Если функция вызывается самостоятельно, не нужно заключать аргументы в круглые скобки. В приведенном ниже примере функция MsgBox выводит на экран сообщение и не возвращает результат. Sub MsgBoxDemo() MsgBox "Для продолжения щелкните на кнопке ОК" End Sub На рис. 36.3 показано, как выглядит это окно сообщения. Рис. 36.3. Простое окно сообщения, отображаемое при выполнении функции MsgBox Чтобы запросить информацию, используя окно сообщения, результат функции MsgBox необходимо присвоить какой-либо переменной. В приведенной ниже процедуре использованы 1 Функция Val — это аналог функции ЗНАЧЕН в русскоязычной версии Excel. — Прим. ред. 640 Часть VI. Программирование в Excel
некоторые встроенные константы (они описаны в табл. 36.1), чтобы упростить работу со значениями, возвращаемыми функцией MsgBox. Sub Получение_ответа() Ответ = MsgBox("Продолжить?", vbYesNo) Select Case Ответ Case vbYes 1 [операторы, выполняющиеся, когда пользователь ' щелкнул на кнопке Да]... Case vbNo 1 [операторы, выполняющиеся, когда пользователь 1 щелкнул на кнопке Яет] ... End Select End Sub При выполнении этой процедуры переменной Ответ будет присвоено одно из значений— vbYes или vbNo, соответствующих кнопкам диалогового окна. Оператор Select Case определяет действие, которое зависит от значения переменной Ответ. Можно без труда настраивать окна сообщений с помощью соответствующих кодов кнопок. В табл. 36.1 перечислены встроенные константы VBA, которые используются в качестве аргументов функции MsgBox для указания кодов отображаемых кнопок. Можно указать, какие кнопки отобразить, должна ли появляться пиктограмма и какая кнопка принимается по умолчанию. Таблица 36.1. Константы, используемые в функции MsgBox Константа Значение Описание Отображается кнопка ОК Отображаются кнопки ОК и Отмена Отображаются кнопки Стоп, Повтор и Пропустить Отображаются кнопки Да, Нет и Отмена Отображаются кнопки Да и Нет Отображаются кнопки Повтор и Отмена Отображается пиктограмма в виде белого крестика в красном кружке (пиктограмма важного сообщения) Отображается пиктограмма в виде синего вопросительного знака в белом кружке (пиктограмма запрашивающего сообщения) Отображается пиктограмма в виде черного восклицательного знака в желтом треугольнике (пиктограмма предупреждающего сообщения) Отображается пиктограмма в виде синей буквы i в белом кружке (пиктограмма информационного сообщения) Принимается по умолчанию первая кнопка Принимается по умолчанию вторая кнопка Принимается по умолчанию третья кнопка vbOKOnly vbOKCancel vbAbortRetrylgnore vbYesNoCancel vbYesNo vbRetryCancel vbCritical vbQuestion vbExclamation vblnformation vbDefaultButtonl vbDelaultButton2 vbDefaultButton3 vbSystemModal 0 1 2 3 4 5 16 32 48 64 0 256 512 4096 Режим модальности: все программы приостанавливаются до тех пор, пока пользователь не ответит на сообщение Глава 36. Основы экранных форм 641
В приведенном ниже примере функции используется комбинация констант, чтобы отобразить в окне сообщения кнопки Да и Нет (vbYesNo) и пиктограмму со знаком вопроса (vbQuestion). Вторая кнопка должна приниматься по умолчанию (vbDefaultButton2) — это та кнопка, которая будет выбрана, если пользователь нажмет клавишу <Enter>. Для простоты эти константы присвоены переменной Константы, которая затем используется в качестве второго аргумента функции MsgBox. Sub Получение_ответа() Config = vbYesNo + vbQuestion + vbDefaultButton2 Ответ = MsgBox("Создать месячный отчет?", Config) If Ans = vbYes Then RunReport If Ans = vbNo Then End End Sub На рис. 36.4 показано, как выглядит это окно сообщения при выполнении подпрограммы Получение_ответа. Если щелкнуть на кнопке Да, то будет выполняться процедура Run- Report (здесь не приведена). Если же щелкнуть на кнопке Нет (или нажать клавишу <Enter>), то подпрограмма просто завершит работу. Поскольку в функции MsgBox аргумент title опущен, программа выведет стандартный заголовок Microsoft Excel. Рис. 36.4. С помощью второго аргумента функции MsgBox задаются кнопки, которые должны появиться в окне сообщения Приведем еще один пример использования функции MsgBox. Sub Получение_ответа2() Msg = "Начать создание месячного отчета?" Msg = Msg & vbLf & vbLf Msg = Msg & "Создание отчета займет приблизительно " Msg = Msg & "15 минут. В результате будет создан отчет по всем " Msg = Msg & "продажам за текущий месяц на 30 страницах." Title = "Торговый дом ЧЕБУРАШКА" Config = vbYesNo + vbQuestion Ans = MsgBox(Msg, Config, Title) If Ans = vbYes Then RunReport If Ans = vbNo Then End End Sub . . : Puc. 36.5. Окно с длинным сообщением и заголовком В этом примере показан эффективный способ вывода длинного сообщения в диалоговом окне. С помощью переменной Msg и оператора конкатенации (&) длинное сообщение было разбито на несколько операторов. Во втором операторе используется константа vbLf, которая представляет собой символ начала новой строки (с помощью двух таких символов вы- 642 Часть VI. Программирование в Excel
полняется вставка пустой строки). Чтобы отобразить в окне сообщения соответствующий заголовок, используется аргумент заголовок. На рис. 36.5 показано, как выглядит это окно сообщения при выполнении данной процедуры. Создание пользовательских диалоговых окон Во многих случаях очень удобно использовать функции InputBox и MsgBox, но их возможности довольно ограниченны. Большими возможностями обладают пользовательские диалоговые окна, которые создаются в редакторе Visual Basic как экранные формы (UserForm). Ниже последовательно описано, как создать пользовательское диалоговое окно. 1. Определите, для чего будет использоваться диалоговое окно и в какой части макроса оно будет вызываться. 2. Перейдите в редактор Visual Basic и вставьте новую экранную форму. 3. Добавьте элементы управления в экранную форму. 4. Установите свойства элементов управления, присутствующих в экранной форме. 5. Напишите процедуры обработки событий (таких, как щелчок на кнопке) для элементов управления экранной формы. Работа с пользовательскими формами Созданные пользователем диалоговые окна Excel сохраняет в виде пользовательских форм, причем на каждой форме может находиться только по одному окну". Чтобы создать диалоговое окно, необходимо сначала вставить новую пользовательскую форму в окно редактора Visual Basic. Чтобы открыть окно редактора Visual Basic, выберите команду Сервисе Макрос^Редактор Visual Basic или нажмите <Alt+Fll>. Убедитесь, что в окне Project (Проект) выбрана текущая рабочая книга, а затем выберите команду Insert1*UserForm (Вставка^Пользовательская форма). В окне редактора отобразится пустая форма, как показано на рис. 36.6. После активизации формы появится панель Toolbox с вкладкой Controls (Элементы управления), которая используется для вставки элементов управления в диалоговое окно. Вставка элементов управления в экранную форму Элементы управления, которые можно вставить в экранную форму, находятся на панели инструментов Toolbox (Инструментальная панель) (редактор Visual Basic не имеет специальных команд меню для вставки элементов управления). Чтобы вставить какой-либо элемент управления в экранную форму, щелкните на соответствующем инструменте панели Toolbox, затем щелкните внутри экранной формы. Можно также сначала щелкнуть на нужном инструменте панели Toolbox, а затем протащить указатель мыши по экранной форме, указывая размер элемента управления. Названия элементов управления панели Toolbox с краткими описаниями приведены в табл. 36.2. Вместе с тем пользовательское диалоговое окно может иметь несколько вкладок. — Прим. ред. Глава 36. Основы экранных форм 643
',i,f . ■Wi4Mi|»l'jiWJl'»J -.к ''.'&■■ ';'.'. '. '. . ' ,'.^'. ! : conjrd* J • -> j s *ш ra Рис. 36.6. Пустая форма Элемент управления Назначение Select Objects (Выбор объектов) Label (Надпись) TextBox (Поле) ComboBox (Поле СО Списком) ListBox (Список) checkBox (Флажок) optionButton (Переключатель) ToggleButton (Выключатель) Frame (Рамка) CommandButton (Кнопка) TabStrip (Набор вкладок) MultiPage (Набор страниц) ScrollBar (Полоса прокрутки) SpinButton (Счетчик) Image (Рисунок) Ret Edit (Кнопка сворачивания) Позволяет перетаскивать на форму другие элементы управления Добавляет надпись (контейнер для текста) Добавляет поле ввода (позволяет пользователю вводить текст) Добавляет поле ввода с раскрывающимся списком (раскрывающийся список) Добавляет список (позволяет пользователю выбрать элемент из списка) Добавляет флажок опции (управление логическими опциями) Добавляет переключатель (множественный выбор) Добавляет выключатель (управление логическими опциями) Добавляет рамку (контейнер для других объектов) Добавляет командную кнопку Добавляет набор вкладок в экранную форму (контейнер для других объектов) Добавляет многостраничный элемент (контейнер для других объектов) Добавляет полосу прокрутки Добавляет счетчик Добавляет элемент управления, который может содержать изображение Добавляет поле ввода с кнопкой свертывания диалогового окна (позволяет пользователю выделить ячейку или диапазон) Некоторые из этих элементов управления можно разместить непосредственно на рабочем листе. О том, как это делается, речь идет в главе 37. 644 Часть VI. Программирование в Excel
Изменение свойств элементов управления Каждый элемент управления, вставляемый в пользовательскую форму, имеет определенное количество свойств, которые определяют внешний вид элемента и его поведение. Некоторые свойства, такие, как Height (Высота) и Width (Ширина), можно изменить, щелкнув и перетащив границу рамки. Для модификации других свойств используется окно Properties (Свойства). Чтобы отобразить окно Properties, выберите команду View=>Properties Window (Вид|=> Окно свойств) или нажмите клавишу <F4>. В окне Properties отображается список свойств для выбранного элемента управления (каждый элемент управления имеет свой набор свойств). Если щелкнуть на самой форме, в окне появятся свойства для формы. На рис. 36.7 показано окно Properties для кнопки. Рис. 36.7. Окно свойств для кнопки Чтобы изменить какое-нибудь свойство, выберите его в окне Properties, а затем введите новое значение. Значения некоторых свойств, таких, как BackColor (Цвет фона), можно выбирать из списка. В верхней части окна Properties содержится раскрывающийся список, позволяющий выбирать элемент управления для работы с его свойствами. Кроме того, можно выбрать элемент, щелкнув на нем; при этом также отобразятся его свойства. Некоторые свойства, например Font (Шрифт) и Picture (Рисунок), в поле ввода значения имеют маленькую кнопку с тремя точками. После щелчка на этой кнопке открывается диалоговое окно, в котором можно задать значение этого свойства. Если свойства элементов управления задаются с помощью окна Properties, то говорят, что они устанавливаются в процессе разработки. Можно также, используя VBA, изменять свойства элементов управления и тогда, когда диалоговое окно уже отображено на экране, т.е. в процессе выполнения. Полное описание всех свойств выходит за рамки этой книги. Чтобы получить сведения 'о конкретном свойстве, выберите его в окне Properties и нажмите <F1>. Тщательно подготовленная интерактивная справочная система по элементам управления пользовательскими формами предоставит вам исчерпывающую информацию. (Но эта информация приведена на английском языке. — Прим. ред.) Глава 36. Основы экранных Лгп«* 645
Обработка событий Событие — это то, что происходит, когда пользователь воздействует на элемент управления. Например, щелчок на командной кнопке инициирует событие Click3 (Щелчок), ассоциированное с данной кнопкой. Программное приложение должно иметь процедуры, которые бы выполнялись при наступлении того или иного события. Такие процедуры часто называют процедурами обработки событий. Процедуры обработки событий носят имена, в которых название элемента управления объединено с названием события с помощью символа подчеркивания. Например, процедура, которая выполняется после щелчка на кнопке МояКнопка, называется МояКнопка_СИск. Отображение экранных форм Чтобы вывести на экран диалоговое окно, представляемое экранной формой, необходимо создать процедуру, где бы использовался метод Show (Показать) объекта UserForm (Экранная форма). Нельзя отобразить экранную форму иначе, чем посредством хотя бы одного оператора VBA. Если экранная форма имеет имя UserForml, то следующая процедура отобразит диалоговое окно, представляемое этой экранной формой. Sub Показать_Диал_Окно() UserForml.Show End Sub Эта процедура должна находиться в стандартном модуле VBA, а не в модуле экранной формы. После выполнения процедуры Показать_Диал_Окно на экране появится пользовательская форма UserForml. Что произойдет дальше, зависит от процедур обработки событий. Пример создания экранной формы Предыдущий раздел можно рассматривать как введение. В этом же разделе будет продемонстрирован процесс разработки нового диалогового окна. Этот пример довольно прост: пользовательская форма отображает сообщение для пользователя. Несмотря на то что с этой задачей легко справится функция MsgBox, диалоговое окно предоставляет большую гибкость в отношении форматирования и расположения сообщения. Ц^ Эту рабочую книгу можно найти на прилагаемом компакт-диске. На компакт- диске ЩЩ Создание диалогового окна Прежде чем создавать пользовательскую форму, создайте новую рабочую книгу. Затем выполните ряд действий. 3 В VBA все возможные события классифицированы и имеют собственные имена (на английском языке). Эти имена событий нельзя изменять и заменять другими, поскольку они являются служебными словами. — Прим. ред. 646 Часть W. Программирование в Excel
1. Выберите команду СервисоМакросоРедактор Visual Basic или нажмите комбинацию клавиш <Alt+Fl 1>, чтобы открыть окно редактора Visual Basic. 2. В окне проектов редактора Visual Basic двойным щелчком мыши выберите рабочую книгу. 3. Выберите команду InsertsUserForm. На экране появится пустая форма с названием UserForml и панель Toolbox. 4. Нажмите <F4> для отображения окна Properties (Свойства) и измените его свойства. Свойство Изменить на Name (Имя) Инфо_окно Caption (Заголовок) О данной рабочей книге 5. С помощью панели Toolbox добавьте в экранную форму элемент Label (Надпись) . 6. В окне Properties щелкните на свойстве Font (Шрифт) и подберите соответствующий шрифт. Можно изменить гарнитуру, размер и т.д. Результаты вашей деятельности сразу же отображаются на форме. На рис. 36.8 показан пример форматированной надписи. й- вывод '.дтЬщлитт xlt • И*ф» Q*wa { .101 х| Эта рабочая книга была - разработана в отделе новых технологий НИИ ЧаВо. Если . • при работе с этой книгой у ] ;увас возникнут проблемы, ;: позвоните в наш отдел Рис. 36.8. Надпись после изменения шрифта Теперь добавьте к диалоговому окну командную кнопку и измените ее свойства. Свойство Изменить на Name (Имя) КнопкаОК Caption (Заголовок) ОК Default (По умолчанию) True (Истина) Если нужно, можно внести другие изменения. Можно изменить размер формы, передвинуть, увеличить или уменьшить элементы управления. Тестирование На данном этапе созданное диалоговое окно обладает всеми необходимыми элементами управления. Не хватает лишь способа отображения диалогового окна. Далее описано, как написать процедуру, решающую эту задачу. 1. Вставьте модуль, выбрав команду Insert^Module (ВставкаОМодуль). 4 Эта надпись будет играть роль заголовка для поля ввода, поскольку само поле ввода не имеет заголовка. — Прим. ред. Глава 36. Основы экранных форм 647
2. В пустом модуле введите следующий код: Sub Показ_Инфо_окна() Инфо_окно.Show End Sub 3. Перейдите в окно программы Excel. 4. Выберите команду Сервис^ Макрос* Макросы или нажмите <Alt+F8>. 5. В диалоговом окне Макрос выберите из списка макросов Показ_Инфо_окна и щелкните на кнопке Выполнить. На экране появится созданное диалоговое окно. Щелчок на кнопке ОК не приведет к закрытию диалогового окна, как можно было бы ожидать. Для этой кнопки еще нужно иметь процедуру обработчика событий. Но есть выход: можно щелкнуть на кнопке закрытия, находящейся в строке заголовка, чтобы закрыть диалоговое окно. Вызвать это окно можно с помощью кнопки, расположенной прямо на рабочем ополнительЖя листе. Подробности приведены в главе 37. 'ормация Написание процедур обработки событий В этом разделе показано, как написать процедуры обработки событий, которые могут возникнуть при работе с диалоговым окном. Продолжая наш пример, выполните ряд действий. 1. Нажмите <Alt+Fl 1> для перехода в редактор Visual Basic. 2. Перейдите в окно формы Инфо_Окно, дважды щелкнув на ее названии в окне Project. 3. Дважды щелкните на элементе КнопкаОК. 4. Редактор активизирует модуль для пользовательской формы и вставит в него начальный текст программы, как показано на рис. 36.9. г* вывод сое (ц< »*л.х1*- И**4- „Окив t< _jja Private Sub КиопкаОК Cllcfc() I End Sub 3 Рис. 36.9. Модуль пользовательской формы 5. Вставьте следующий оператор перед оператором End Sub: Unload Инфо__окно Этот оператор просто закрывает пользовательскую форму. Вся подпрограмма обработчика событий должна выглядеть так, как показано ниже. 648 Часть VI. Программирование в Excel
Private Sub КнопкаОК_СПск() Unload Инфо_окно End Sub Еще один пример создания диалогового окна Пример, который положен в основу данного раздела, представляет собой улучшенную версию примера Изменить_регистр, который был приведен в начале главы. Напомним, что оригинальная версия этого макроса переводит строчные буквы в выбранных ячейках в прописные. Модифицированная версия запрашивает у пользователя тип преобразования: перевести все буквы в прописные, строчные или сделать прописной первую букву. компаит- Эту рабочую книгу можно найти на прилагаемом компакт-диске. На ко" диск? Создание диалогового окна В этом диалоговом окне осуществляется запрос информации от пользователя, а именно тип изменений, которым подвергается текст. Поскольку можно выбрать только одну опцию, следует взять такие элементы управления, как переключатели. Для создания нового диалогового окна выполните ряд действий (начните с пустой рабочей книги). 1. Выберите команду Сервис^МакросоРедактор Visual Basic или нажмите комбинацию клавиш <Alt+Fll>, чтобы открыть окно редактора Visual Basic. 2. Выберите команду Inserts UserForm. Редактор введет имя пустой формы UserForml и отобразит панель Toolbox. 3. Нажмите клавишу <F4> для отображения окна свойств формы и измените ее свойства. Свойство Изменить на Name (Имя) Диалог_Изменить_регист Caption (Заголовок) Преобразование регистра 4. Теперь добавьте к диалоговому окну кнопку и измените ее свойства. Свойство Изменить на Name (Имя) КнопкаОК Caption (Заголовок) ОК Default (По умолчанию) True (Истина) 5. Добавьте к диалоговому окну еще одну кнопку и измените ее свойства. Свойство Изменить на Name (Имя) КнопкаОтмена Caption (Заголовок) Отмена Cancel (Отмена) True (Истина) Глава 36. Основы экранных форм 649
6. Добавьте переключатель и измените его свойства (этот переключатель будет установлен по умолчанию, поэтому свойство Value (Значение) должно быть установлено равным True). Свойство Изменить на Name (Имя) Верхний_регистр Caption (Заголовок) ВСЕ ПРОПИСНЫЕ Value (Значение) True (Истина) 7. Добавьте второй переключатель и измените его свойства. Свойство Изменить на Name (Имя) Нижний_регистр Caption (Заголовок) все строчные 8. Добавьте третий переключатель и измените его свойства. Свойство Изменить на Name (Имя) Смешанный_регистр Caption (Заголовок) Как В Заголовках 9. Подберите размер кнопок и расположите их на форме таким образом, чтобы она стала похожа на форму, показанную на рис. 36.10. Убедитесь, что кнопки и переключатели не перекрывают друг друга. Совет > j В Изм***е»м«» щ»г*ор« -:*-Як*яв*_Им««мт*._|«>гвс¥1* (U»n :CKEtiKirMOfce ' П все строч**» ': ■ f* Как в звгояедках Рис. 36.10. Диалоговое окно после вставки элементов управления и настройки их свойств Редактор Visual Basic предоставляет несколько полезных команд, которые помогут подобрать для элементов управления подходящий размер и выровнять их относительно друг друга. Выделите нужные элементы, а затем выполните соответствующую команду из меню UserForm (Пользовательская форма). Тестирование диалогового окна На данном этапе диалоговое окно обладает всеми необходимыми элементами управления. Не хватает лишь способа отображения диалогового окна. Для этого выполните перечисленные ниже действия. 1. Убедитесь, что редактор Visual Basic активен. 2. Вставьте модуль, выполнив команду Insert^Module. 3. В пустом модуле введите следующий код: 650 Часть VI. Программирование в Excel
Sub Изменить_регистр() Диалог_Изменить_регистр.Show End Sub 4. Выберите команду RunORun Sub/UserForm (ЗапускеЗапуск Подпрофаммы/Форма) или нажмите клавишу <F5>. После этого управление перейдет к окну Excel, где будет отображаться новое диалоговое окно, как показано на рис. 36.11. Кнопки переключателя как будто бы работают, но щелчок на кнопках ОК и Отмена не производит никакого эффекта. Для этих двух кнопок еще нужно написать процедуры обработки событий. Чтобы закрыть это "недоделанное" окно, щелкните на кнопке закрытия, которая находится в строке заголовка. Рис. 36.11. Новое диалоговое окно Процедуры обработки событий В этом разделе описано создание двух процедур обработки событий: одной, чтобы обработать событие Click (Щелчок) для командной кнопки КнопкаОтмена, а другой, чтобы обработать событие Click для командной кнопки КнопкаОК. Для переключателей нет необходимости создавать специальные процедуры обработки событий, поскольку выбранный переключатель можно определить средствами VBA. Подпрограммы обработки событий хранятся в модуле формы. Чтобы создать подпрограмму обработки события Click для командной кнопки КнопкаОтмена, выполните описанные ниже действия. 1. Активизируйте форму Диалог_Изменить_регистр, дважды щелкнув на ее имени в окне Project. 2. Дважды щелкните на кнопке КнопкаОтмена. 3. Редактор Visual Basic откроет модуль для формы и вставит в него начальный текст программы. 4. Вставьте следующий оператор перед оператором End Sub: Unload Диалог_Изменить_регистр Глава 36. Основы экранных форм 651
Вот и все. Полная подпрограмма обработки событий выглядит так, как показано ниже. Private Sub КнопкаОтмена_СИск () Unload Диалог_Изменить_регистр End Sub Эта подпрограмма выполняется после щелчка на кнопке Отмена. Она состоит из одного оператора, который закрывает форму Диалог_Изменить_регистр. Дальше следует написать процедуру обработки события Click для кнопки ОК. Для этого выполните следующее. 1. Выберите из раскрывающегося списка, расположенного в верхней части модуля, объект КнопкаОК. Редактор подготовит новую процедуру, которая будет называться КнопкаОК_С1ick. 2. Введите следующий текст программы (первый и последний операторы уже введены): Private Sub КнопкаОК_СИск () Application.ScreenUpdating = False ' Если диапазон не выбран If TypeName(Selection) <> "Range" Then Exit Sub ' ВСЕ ПРОПИСНЫЕ If Верхний_регистр Then For Each cell In Selection If Not cell.HasFormula Then cell.Value = StrConv(cell.Value, vbUpperCase) End If Next cell End If 1 все строчные If Нижний_регистр Then For Each cell In Selection If Not cell.HasFormula Then cell.Value = StrConv(cell.Value, vbLowerCase) End If Next cell End If 1 Как В Заголовках If Смешанный_регистр Then For Each cell In Selection If Not cell.HasFormula Then cell.Value = StrConv(cell.Value, vbProperCase) End If Next cell End If Unload Диалог_Изменить_регистр End Sub Макрос начинается с отключения режима обновления экрана (это приведет к ускорению работы макроса). Затем проверяется выбранный диапазон. Если диапазон не выбран, процедура сразу же завершается. Остальная часть подпрограммы состоит из трех отдельных блоков, из которых выполняется только один, соответствующий выбранному переключателю. Выбранный переключатель имеет значение свойства Value, равное True. После выполнения надлежащего блока пользовательская форма выгружается (закрывается). 652 Насть VI. Программирование в Excel
Тестирование диалогового окна Чтобы "испытать" диалоговое окно, выполните ряд действий. 1. Перейдите в окно Excel. 2. Введите в ячейки листа какой-нибудь текст. 3. Выделите диапазон с текстом. 4. Выберите команду СервисОМакрос^Макросы или нажмите комбинацию клавиш <Alt+F8>. 5. В диалоговом окне Макрос выберите из списка макросов Изменить_регистр и щелкните на кнопке Выполнить. На экране появится созданное диалоговое окно. 6. Выберите нужный переключатель и щелкните на кнопке ОК. Проверьте работу окна на других ячейках. Обратите внимание: если щелкнуть на кнопке Отмена, диалоговое окно закроется без каких-либо последствий для содержимого выбранных ячеек. Но если вы щелкнули на кнопке ОК и макрос изменил регистр выделенных ячеек, то отменить это действие командой Правка^Отмена нельзя (хотя можно снова запустить этот макрос и выбрать тот регистр, который был в самом начале). Привязка макроса к кнопке панели инструментов На этом этапе все, казалось бы, работает как надо. Кроме одного — вызов макроса на исполнение не назовешь слишком быстрым и простым. А как было бы удобно, если бы макрос "просыпался" от щелчка на какой-нибудь кнопке панели инструментов. В Excel это делаетск очень просто, достаточно выполнить перечисленные ниже действия. 1. Щелкните правой кнопкой мыши на любой панели инструментов и из контекстного меню выберите команду Настройка. Excel отобразит диалоговое окно Настройка. 2. Щелкните на вкладке Команды и из списка Категории выберите элемент Макросы. 3. Щелкните на элементе Настраиваемая кнопка в списке Команды и перетащите его на панель инструментов. 4. Щелкните правой кнопкой мыши на новой кнопке и из ее контекстного меню выберите команду Назначить макрос. 5. Из списка макросов выберите Изменить_регистр и щелкните на кнопке ОК. При этом можно также изменить изображение на кнопке и, используя другие команды контекстного меню, добавить подсказку. 6. Закройте диалоговое окно Настройка, щелкнув на кнопке Закрыть. После выполнения описанных выше действий щелчок на этой кнопке панели инструментов приведет к выполнению макроса и открытию созданного диалогового окна. ^^^" Если во время щелчка на кнопке, связанной с этим макросом, рабочая книга с На заметку макросом окажется закрытой, она будет автоматически открыта. Чтобы не путать ее с обычными рабочими книгами, ее можно скрыть, выполнив команду Окно* . Скрыть. Кроме того, на основе этой книги можно создать надстройку. Подробности о надстройках приведены в главе 40. Глава 36. Основы экранных форм 653
Дополнительные сведения о создании диалоговых окон Создавая новые диалоговые окна, вы можете сделать свои макросы универсальными. Можно разработать новые команды, открывающие диалоговые окна, которые выглядят точно так же, как и включенные в Excel. В данном разделе содержится дополнительная информация; она поможет при создании новых диалоговых окон, которые будут работать так же, как и встроенные в Excel. Добавление горячих клавиш Диалоговые окна не должны ставить в худшие условия тех, кто предпочитает пользоваться не мышью, а клавиатурой. Все диалоговые окна Excel работают одинаково хорошо как с мышью, так и с клавиатурой, поскольку у каждого элемента управления есть соответствующая горячая клавиша. Чтобы обратиться к конкретному элементу управления, пользователь может применить комбинацию <А1н-горячая клавишах Таким образом, имеет смысл добавлять горячие клавиши к вновь создаваемым диалоговым окнам. Это можно сделать в окне Properties (Свойства) элемента управления, входящего в состав диалогового окна. Для этого достаточно ввести нужный символ для свойства Accelerator Key (Назначенная клавиша). Разумеется, буква, которой вы отводите роль горячей клавиши, должна содержаться в названии соответствующего элемента управления, причем это может быть любая буква (не обязательно первая). Однако горячие клавиши в диалоговом окне не должны повторяться. В противном случае при нажатии горячей клавиши будет активизироваться тот элемент управления, который расположен раньше в последовательности перехода (т.е. в порядке следования элементов управления). Некоторые элементы управления (такие, как поля ввода) не имеют свойства Caption (Заголовок), поэтому назначить горячие клавиши можно только их подписям. После этого нажатие горячей клавиши активизирует следующий по порядку элемент управления в последовательности перехода (этим элементом является поле ввода, так как сама подпись не может быть активизирована). Изменение последовательности перехода В предыдущем разделе упоминалось о последовательности перехода по элементам управления диалогового окна. При работе с диалоговым окном нажатие клавиш <ТаЬ> и <Shift+Tab> осуществляет циклическое перемещение по элементам управления этого окна. Создавая диалоговое окно, следует убедиться в том, что последовательность перехода установлена правильно. Это означает, что элементы управления должны быть расположены в логическом порядке. Чтобы просмотреть или изменить последовательность перехода нового диалогового окна, воспользуйтесь окном свойств элементов управления. Если свойство Tab Stop (Останов табулятора) какого-то элемента установлено равным True (Истина), то его можно выбрать, нажав клавишу <ТаЬ>. Измените свойство Tablndex (Индекс табулятора), значения которого лежат в диапазоне от 0 (для первого в последовательности перехода) до уменьшенного на единицу числа элементов управления, которые имеют это свойство. При изменении значения свойства Tablndex редактор Visual Basic автоматически перенастраивает значения этого свойства всех последующих элементов управления в последовательности перехода. 654 Часть VI. Программирование в Excel
Дополнительные сведения Чтобы овладеть искусством создания новых диалоговых окон, нужно приложить некоторые усилия. Можно, например, тщательно изучить диалоговые окна Excel, так как это примеры хорошо продуманных и разработанных диалоговых окон. Можно также попытаться продублировать большинство из них. Самый лучший способ побольше узнать о создании диалоговых окон — воспользоваться системой диалоговой справки редактора Visual Basic (на английском языке. — Прим. ред.). Глава 36. Основы экранных форм 655
ГЛАВА Элементы управления на рабочем листе В этой главе... Применение элементов управления на рабочем листе Использование элементов управления Панель Элементы управления 1р^е\ предыдущей главе описано, как создавать новые диа- ыг& логовые окна. Если вам по душе идея использования элементов управления диалогового окна, но в то же время вы не в восторге от создания самого диалогового окна — эта глава именно для вас. Прочитав ее, вы узнаете, как автоматизировать рабочую таблицу с помощью таких интерактивных элементов управления, как командные кнопки, списки и переключатели. Применение элементов управления на рабочем листе Основная цель использования элементов управления на рабочем листе состоит в максимальном упрощении для пользователя процесса ввода данных и управляющей информации. Если, например, создается модель, в которой используется одна или несколько ячеек ввода, то можно организовать ввод таким образом, чтобы пользователь просто выбирал подходящие значения из заранее определенного списка допустимых значений. Вставка элементов управления в рабочий лист требует гораздо меньших усилий, чем создание диалогового окна. Кроме того, как правило, для этого не нужно создавать никаких макросов, потому что есть возможность связать элемент управления с ячейкой рабочего листа. Например, помещаемый в рабочий лист флажок можно связать с конкретной ячейкой. Когда этот флажок активизируется, соответствующая ячейка отображает значение ИСТИНА, в противном случае — ЛОЖЬ. На рис. 37.1 показан пример, в котором использованы переключатели, полоса прокрутки и командная кнопка.
IQcoaujtto _ я 1 2J 3 4 5 в 3 9 10 jl_ 12 13 M 15 16 17 *. 1S 20 21 .22 23 В (. lb t Параметры ссуды | Стоимость покупки: $375000 | Пврвыйвэмос гга <~ 13% lT 20% Срок Р 30 пет <~ «лет | Объем ссуды: $300000 | Л| J Jtl Спи»: «5* Размер выплаты: S1847.15 График вьплат Г_Г Защитить пигт » «-■ Связанные ячейки '"' 625 Значение бегунка 6,25 Проценты 5300 000 Сс.да ИСТИНА 30 пет ЛОЖЬ «пет ^30С£^^ ЛОЖЬ Первый взнос 10% ЛОЖЬ Первый взнос 15% ИСТИНА Первый взнос 20% 20% Первый взнос H * » >ftn.fiuini ; jUrioriScfud / lii -1 1 '(Г Рис. 37.1. В этом рабочем листе используются элементы управления Эту рабочую книгу можно найти на прилагаемом компакт-диске1. На компакт- диске Процесс вставки в рабочий лист элементов управления может показаться запутанным, поскольку существует два источника управляющих элементов, а точнее, две панели инструментов. ■ Панель инструментов Формы. Элементы управления, расположенные на этой панели, можно вставлять в рабочий лист. ■ Панель инструментов Элементы управления. Содержит элементы управления ActiveX, которые можно поместить на пользовательскую форму (см. предыдущую главу) и на рабочий лист (но не все элементы из этой панели годятся для использования в рабочем листе). Большинство элементов управления присутствуют на обеих панелях инструментов. Например, как на одной, так и на другой панели есть элемент, с названием Список. Но это два совершенно разных элемента управления. В общем случае элементы управления ActiveX, находящиеся на панели Элементы управления, предоставляют большую гибкость, поэтому по возможности следует использовать эти элементы. Эта глава посвящена исключительно элементам управления, расположенным на панели Элементы управления (рис. 37.2). На замет а заметку / ' Детальное обсуждение этого примера выходит за рамки настоящей главы; кроме того, автор закрыл доступ к исходному коду подпрограмм. Поэтому рабочая книга была русифицирована только внешне, а просмотр или изменение кода подпрограмм невозможны. — Прим. ред. Глава 37. Элементы управления на рабочем листе 657
Рис. 37.2. Панель инструментов Элементы управления Полный список элементов управления, расположенных на этой панели, с краткими описаниями приведен в табл. 37.1. Таблица 37.1. Панель инструментов Элементы управления Элемент управления Назначение Режим конструктора Свойства Исходный текст Флажок Поле Кнопка Переключатель Список Поле со списком Выключатель Счетчик Полоса прокрутки Надпись Рисунок Другие элементы Включает/выключает режим конструктора Отображает окно Properties (Свойства) Открывает редактор Visual Basic для написания или редактирования программы VBA для выбранного элемента управления Вставляет флажок опции (управление логическими опциями) Вставляет поле ввода (позволяет пользователю вводить данные) Вставляет командную кнопку Вставляет переключатель (позволяет пользователю выбрать одну из нескольких возможных опций) Вставляет список (позволяет пользователю осуществить выбор из списка) Вставляет поле ввода с раскрывающимся списком Вставляет переключатель (используется для задания логических опций) Вставляет счетчик (определение значения посредством кнопок прокрутки) Вставляет полосу прокрутки Вставляет надпись (контейнер для текста) Вставляет элемент управления, который может содержать изображение (контейнер для изображения) Отображает список других элементов управления ActiveX, которые инсталлированы в вашей системе Использование элементов управления Добавление элементов управления к рабочему листу не вызывает трудностей. Но самое интересное заключается в том, что, добавив элемент, можно настроить свойства этого элемента, которые влияют на его внешний вид и на его функции. Вставка элемента управления Прежде чем вставить элемент управления в рабочий лист, убедитесь в том, что видима панель Элементы управления. Затем щелкните на нужном элементе и перетащите его в рабочий лист. При этом нет нужды слишком усердствовать в отношении его точного размера или местоположения, поскольку изменить эти свойства можно в любое время. 658 Часть VI. Программирование в Excel
Режим конструктора Во время вставки элемента управления Excel переходит в режим конструктора. В этом режиме можно настраивать свойства любых элементов, добавлять или редактировать макросы для них или изменять их размеры и расположение на рабочем листе. Когда Excel находится в этом режиме, нельзя проверить действия настраиваемых элементов управления. Для их тестирования необходимо выйти из этого режима. Это делается с помощью щелчка на кнопке Выход из режима конструктора (которая заменила кнопку Режим конструктора) на панели Элементы управления. Настройка свойств Каждый добавленный элемент управления обладает свойствами, которые определяют его внешний вид и поведение. Эти свойства можно настраивать только в режиме конструктора. При добавлении элемента управления на рабочий лист Excel переходит в этот режим автоматически. Если же нужно изменить элемент после выхода из режима конструктора, щелкните на кнопке Режим конструктора панели Элементы управления. Чтобы изменить свойства элемента управления, выберите его и щелкните на кнопке Свойства панели Элементы управления. Появится окно Properties (Свойства), показанное на рис. 37.3. Это окно имеет две вкладки. Во вкладке Alphabetic (По алфавиту) свойства отображаются в алфавитном порядке, а во вкладке Categorized (По категориям) — в соответствии с категориями. Обе вкладки отображают одни и те же свойства, но в различном порядке. Рис. 37.3. С помощью окна свойств можно настраивать элементы управления Чтобы изменить свойство, выберите его в окне Properties и измените. Способ изменения зависит от конкретного свойства. Одни свойства отображают раскрывающийся список, который позволяет делать выбор из предложенных вариантов. Другие, например Font (Шрифт), снабжены кнопкой, после щелчка на которой отображается соответствующее диалоговое окно. Но есть и такие свойства, которые требуют обычного ввода значения. В любом случае изменение свойства немедленно сказывается на соответствующем элементе управления. Глава 37. Элементы управления на рабочем листе 659
Некоторые свойства элементов управления Каждый элемент управления обладает собственным (уникальным) набором свойств. Но многие объекты имеют общие свойства. Эти свойства описаны в табл. 37.2. Таблица 37.2. Общие свойства элементов управления Свойство Описание Autos ize (Авторазмер) Если его значение равно True (Истина), размер элемента изменяется автоматически, в зависимости от текста заголовка BackColor (Цвет фона) Цвет фона элемента управления BackStyle (Стиль фона) Стиль фона (прозрачный или нет) caption (Заголовок) Текст, отображаемый на элементе управления LinkedCell (Связанная ячейка) Ячейка рабочего листа, в которой содержится текущее значение элемента управления ListFiliRange (Диапазон запол- Диапазон рабочего листа, содержащий список значений, которые нения списка) будут отображаться в элементах управления ListBox (Список) или ComboBox (Поле со списком) value (Значение) Значение элемента управления Left (Левый) и Тор (Верхний) Значения, определяющие позицию элемента width (Ширина) и Height (Высота) Значения, определяющие ширину и высоту элемента управления visible (Видимый) Если значение этого свойства равно False (Ложь) элемент будет скрыт Name (Имя) Имя элемента управления. По умолчанию имя состоит из названия элемента и номера. Это имя можно заменить любым допустимым именем, но с одним условием: каждое имя элемента на рабочем листе должно быть уникальным Picture (Рисунок) Позволяет задавать графический рисунок для отображения на элементе управления. Рисунок должен храниться в файле (его нельзя скопировать из буфера обмена) Связь элементов управления с ячейками рабочего листа Элементы управления ActiveX, добавленные на рабочий лист, часто можно использовать без каких-либо макросов. Многие элементы управления имеют свойство LinkedCell (Связанная ячейка), в котором указывается адрес ячейки, "связанной" с данным элементом управления. Например, можно вставить в рабочий лист элемент управления Счетчик и в его свойстве LinkedCell указать ячейку В1. В этрм случае данная ячейка будет содержать значение, заданное счетчиком, и любой щелчок на кнопках счетчика будет изменять значение в ячейке В1. Далее значение этой ячейки можно использовать в формулах рабочего листа. 660 Часть VI. Программирование в Excel
Создание макросов для элементов управления При создании макроса для элемента управления нельзя обойтись без редактора Visual Basic. Макрос хранится в модуле, связанном с листом, на котором находится элемент управления, причем у каждого элемента может быть свой макрос для обработки любого из его событий. Например, командная кнопка может иметь один макрос для события Click (щелчок), второй — для события DblClick (двойной щелчок) и др. Совет Простейший способ получить доступ к модулю VBA для конкретного элемента управления — выполнить двойной щелчок на этом элементе (этот способ срабо- тает, если Excel находится в режиме конструктора). В этом случае Excel отобра- . \ зит окно редактора Visual Basic и создаст пустой макрос для события click данного элемента (рис. 37.4). ГС ШЕЕЯЗЕЯЗЕ! 2- А : ЛЯ FflmMt Eebufl &m look fiddling 0 usL&stV- решимте scipoc sun . e x (RKHEiXLA) ft VMProfect (KmtsZ) . **, MoovftEuelOblecb SftrrlCnctl) 3T4Kwr« T ComnundBuHonl "31 Pclvocc Sd3 CoanandBucconl_Cliclc(> bffj i Рис. 37.4. Двойной щелчок на элементе управления в режиме конструктора открывает редактор Visual Basic Обратите внимание на то, что имя элемента управления отображается в верхней левой части окна кода, а название события — вверху справа. Если требуется создать макрос для другого события, выберите это событие из раскрывающегося списка. Ниже описаны действия, которые необходимо выполнить, чтобы добавить командную кнопку и создать простой макрос, отображающий сообщение после щелчка на этой кнопке. 1. Убедитесь, что панель Элементы управления видима на экране. 2. Щелкните на элементе Кнопка панели Элементы управления. 3. Перетащите кнопку на рабочий лист. 4. Дважды щелкните на созданной кнопке. В результате активизируется окно редактора Visual Basic, также будет создана пустая подпрограмма. 5. Введите следующий оператор VBA перед оператором End Sub: MsgBox "Вы только что щелкнули на кнопке" 6. Нажмите комбинацию клавиш <Alt+Fl 1>, чтобы вернуться в Excel. 7. Настройте свойства командной кнопки. 8. Щелкните на кнопке Выход из режима конструктора панели Элементы управления. После выполнения этих действий щелчок на командной кнопке отобразит окно сообщения. Глава 37. Элементы управления на рабочем листе 661
Панель Элементы управления В следующих разделах описаны элементы управления ActiveX, расположенные на панели Элементы управления. М^ На прилагаемом компакт-диске можно найти файл рабочей книги, содержащей На компакт-, все описанные ниже элементы управления ActiveX. диске Флажок Флажок опции используется в тех случаях, когда нужно сделать выбор из двух возможных вариантов: да или нет, истина или ложь, включить или выключить и т.д. Приведем несколько полезных свойств этого флажка. ■ Accelerator (Назначенная клавиша). Буква, которая позволяет пользователю изменить значение флажка с помощью клавиатуры. Например, если это будет буква А, то нажатие комбинации клавиш <Alt+A> изменит значение флажка на противоположное. ■ LinkedCell (Связанная ячейка). Ячейка рабочего листа, которая связывается с флажком. В ячейке отображается значение ИСТИНА, если флажок установлен, и ЛОЖЬ в противном случае. Поле со списком Этот комбинированный элемент управления в развернутом состоянии похож на список, но, в отличие от обычного, здесь используется раскрывающийся список. В свернутом же состоянии в нем отображается только один элемент. Другое отличие состоит в том, что пользователю разрешается вводить в поле ввода значение, которое не является элементом списка. На рис. 37.5 показано поле со списком, в котором диапазон D1:D12 используется свойством ListFillRange (Диапазон заполнения списка), а ячейка А1 используется свойством LinkedCell (Связанная ячейка). Рис. 37.5. Поле со списком 662 Часть VI. Программирование в Excel
Ниже приведены описания часто используемых свойств данного элемента управления. ■ BoundColumn (Столбец результата). Если список состоит из нескольких столбцов, это свойство определяет, какой столбец содержит возвращаемое значение. ■ ColumnCount (Число столбцов). Определяет количество столбцов в списке. ■ LinkedCell (Связанная ячейка). Представляет собой ячейку рабочего листа, в которой отображается выбранный в списке элемент. ■ ListFillRange (Диапазон заполнения списка). Определяет диапазон рабочего листа, содержащий элементы списка. ■ ListRows (Число строк в списке). Задает количество отображаемых элементов в раскрытом списке. ■ ListStyle (Стиль списка). Определяет внешний вид элементов списка. ■ Style (Стиль работы). Определяет характер функционирования элемента управления: в качестве раскрывающегося списка или поля (ввода) со списком. Раскрывающийся список не позволяет пользователю вводить новое значение. Кнопка Командная кнопка абсолютно бесполезна, если не сопровождается макросом, который выполняется при щелчке на ней. После щелчка на кнопке выполняется макрос, имя которого состоит из имени кнопки, символа подчеркивания и слова Click. Например, если кнопка называется Моя_кнопка, щелчок на ней выполнит макрос под именем Моя_кнопка_СИск. Макрос содержится в модуле кода рабочего листа, в котором находится кнопка. Рисунок Этот элемент управления используется для отображения графического образа, содержащегося в файле. Использование этого элемента предлагает значительные преимущества по сравнению с использованием стандартных импортированных изображений (они описаны в главе 18). Надпись Элемент вывода надписи просто отображает заданный текст. Этот элемент вряд ли окажется полезным для рабочих листов, поскольку стандартный инструмент рисования Надпись более универсален. Списки В списке содержится перечень элементов, из которых пользователь может выбрать искомый элемент (или несколько элементов). Ниже приведены описания самых полезных свойств списков. ■ BoundColumn (Столбец результата). Если список состоит из нескольких столбцов, это свойство определяет, какой столбец содержит возвращаемое значение. ■ ColumnCount (Число столбцов). Задает количество столбцов в списке. Глава 37. Элементы управления на рабочем листе 663
■ IntegralHeight (Признак целостности списка). Если значение этого свойства равно True (Истина), то ширина окна списка настраивается автоматически, чтобы полностью отображать строки текста при вертикальной прокрутке. В противном случае возможно частичное отображение строк текста списка. ■ LinkedCell (Связанная ячейка). Представляет собой ячейку рабочего листа, в которой отображается выбранный элемент. ■ ListFillRange (Диапазон заполнения списка). Задает диапазон рабочего листа, содержащий элементы списка. ■ ListStyle (Стиль списка). Определяет внешний вид элементов списка. ■ MultiSelect (Множественный выбор). Определяет возможность выбора нескольких элементов из списка. Если используется список с множественным выбором, то нельзя задать значение свойства LinkedCell. Вместо этого придется написать макрос для определения того, какие элементы выбраны. Переключатели Этот элемент управления особенно полезен в случае, если пользователю нужно выбрать один элемент из небольшого количества предложенных вариантов. Переключатели всегда используются в группах, состоящих по крайней мере из двух кнопок. Ниже приведены описания самых полезных свойств переключателя. ■ Accelerator (Назначенная клавиша). Буква, которая позволяет пользователю выбрать нужный вариант с помощью клавиатуры. Например, если для какого-нибудь переключателя такой буквой является С, нажатие комбинации клавиш <Alt+C> выберет данный переключатель. ■ GroupName (Имя группы). Имя, которое отождествляет связь данной кнопки переключателя с другими его кнопками, имеющими то же самое значение этого свойства. ■ LinkedCell (Связанная ячейка). Ячейка рабочего листа, которая связывается с переключателем. В ячейке отображается значение ИСТИНА, если данный элемент управления выбран, и ЛОЖЬ в противном случае. Если на рабочем листе содержится несколько наборов переключателей, нужно сделать так, чтобы все переключатели каждого набора имели одно и то же имя группы (свойство GroupName), но в то же время оно должно отличаться от имени группы любого другого набора. Если же не изменить это свойство для нового набора переключателей, все его элементы станут частью набора с тем же именем группы. Полоса прокрутки Этот элемент управления действует подобно счетчику. Но различие состоит в том, что пользователь может перетаскивать бегунок полосы прокрутки, чтобы изменить значение элемента управления. На рис. 37.6 показан рабочий лист с тремя полосами прокрутки, которые используются для изменения цвета в прямоугольнике. Они определяют интенсивность красного, зеленого и голубого компонентов в цвете прямоугольника. Для изменения цвета используется несколько простых макросов. На замет / заметку На замет / заметку 664 Часть VI. Программирование в Excel
Рис. 37.6. Этот рабочий лист содержит несколько полос прокрутки Ниже приведены описания самых полезных свойств полосы прокрутки. ■ Value (Значение). Текущее значение полосы прокрутки. ■ Min (Минимум). Минимальное значение для лолосы прокрутки. ■ Мах (Максимум). Максимальное значение для полосы прокрутки. ■ LinkedCell (Связанная ячейка). Ячейка рабочего листа, в которой отображается значение полосы прокрутки. ■ SmallChange (Малое изменение). Значение полосы прокрутки после единичного щелчка на бегунке. ■ LargeChange (Большое изменение). Степень изменения значения полосы прокрутки после щелчка на кнопках этого элемента управления. Полоса прокрутки оказывается особенно полезной при выборе значения из широкого диапазона. Счетчик Этот элемент управления позволяет выбирать значение с помощью щелчка на любой из двух кнопок со стрелками (одна служит для увеличения значения, а другая — для уменьшения). Ниже приведены описания самых полезных свойств счетчика. ■ Value (Значение). Текущее значение счетчика. ■ Min (Минимум). Минимальное значение для счетчика. ■ Мах (Максимум). Максимальное значение для счетчика. ■ LinkedCell (Связанная ячейка). Ячейка рабочего листа, в которой отображается значение счетчика. ■ SmallChange (Малое изменение). Степень изменения значения счетчика после щелчка на нем. Обычно это свойство установлено равным 1, но можно присвоить ему любое другое значение. Глава 37. Элементы управления на рабочем листе 665
Поле На первый взгляд может показаться, что от поля ввода мало толку, так как оно просто содержит текст, а для ввода текста обычно используются ячейки рабочего листа. Но дело в том, что текстовое поле ввода полезно не столько как средство управления вводом, сколько как средство управления выводом. Поскольку поле может иметь полосы прокрутки, у вас есть возможность использовать его для отображения большого объема информации на малой экранной площади. Ниже приведены описания самых полезных свойств текстового поля ввода. ■ AutoSize (Авторазмер). Определяет необходимость автоматической настройки размера элемента управления в зависимости от объема текста. ■ IntegralHeight (Признак целостности списка). Если значение этого свойства равно True (Истина), то ширина окна списка настраивается автоматически, чтобы полностью отображать строки текста при вертикальной прокрутке. В противном случае возможно частичное отображение строк текста при вертикальной прокрутке списка. ■ MaxLength (Максимальная длина поля). Задает максимальное количество символов, которые могут находиться в текстовом поле. Если оно равно 0, ограничение на число символов отсутствует. ■ MultiLine (Множественность строк). Если значение этого свойства равно True, то в поле может отображаться несколько строк текста. ■ TextAlign (Выравнивание). Определяет способ выравнивания текста в текстовом поле. ■ WordWrap (Перенос слов). Определяет, разрешен ли перенос слов на новую строку. ■ ScrollBars (Полосы прокрутки). Определяет тип полос прокрутки для текстового поля ввода: горизонтальная, вертикальная, обе или ни одной. Выключатель Имеет два состояния: включено или выключено. Щелчок на кнопке этого элемента переключает его текущее состояние на противоположное, при этом изменяется внешний вид кнопки. Значение выключателя равно либо True (Нажато), либо False (He нажато). Выключатель во многих случаях можно использовать вместо флажка опции. 666 Часть VI. Программирование в Excel
Обработка событий в Excel предыдущих главах вы познакомились с большим количеством примеров процедур VBA обработки событий. Именно такие процедуры делают Excel интерактивной программой. В данной главе вы получите более полное представление о событиях Excel, а многочисленные примеры покажут способы использования этих событий. События Excel В Excel существует возможность отслеживать широкий спектр событий, инициированных пользователем или самой программой, а наступление этих событий приводит к выполнению соответствующих процедур VBA. Эти события можно классифицировать. ■ События уровня рабочих книг. Это события, которые происходят с конкретной рабочей книгой. К ним относятся события Open (открытие или создание рабочей книги), Bef oreSave (перед сохранением рабочей книги), NewSheet (вставка в рабочую книгу нового листа). ■ События уровня листов. Это события, которые происходят с конкретным листом рабочей книги. К ним относятся события Change (изменения в ячейках рабочего листа), SelectionChange (перемещение табличного курсора), Calculation (пересчет формул на рабочем листе). ■ События, не связанные с конкретными объектами. Сюда можно отнести только два события уровня приложения: OnTime (Время включения) и ОпКеу (Нажатие клавиши). Работа с этими событиями отличается от работы с событиями других категорий. События, не связанные •с объектами
Начало создания процедуры обработки событий Каждая процедура обработки событий имеет не произвольное, а предопределенное имя. Можно самому объявить тип этой процедуры, но предпочтительнее, чтобы это действие выполнил редактор Visual Basic. На рис. 38.1 показан модуль кода для объекта ThisWorkbook (Эта рабочая книга). Чтобы объявить процедуру, сначала выберите объект Workbook в левом раскрывающемся списке вверху окна кода. Затем в правом раскрывающемся списке событий вверху окна кода выберите событие, для обработки которого предназначается создаваемая процедура. После этого появится "оболочка" процедуры, состоящая из объявления процедуры и завершающего оператора End Sub. ~~з: Рис. 38.1. Лучший способ создания процедуры обработки событий — позволить сделать это редактору Visual Basic Например, если в списке объектов выбрать Workbook, а в списке событий — Open (Открытие), то редактор Visual Basic создаст следующую (пустую) процедуру: Private Sub Workbook_Open() End Sub Код процедуры должен располагаться между этими двумя строчками. Некоторые процедуры обработки событий могут иметь аргументы. Допустим, необходимо создать процедуру, выполняемую при активизации листа рабочей книги (это событие Sheet Activate). Если для создания этой процедуры воспользоваться способом, описанным в предыдущем разделе, то редактор Visual Basic создаст такую процедуру: Private Sub Workbook_SheetActivate(ByVal Sh As Object) End Sub В этой процедуре используется один аргумент Sh, который соответствует активному листу. Отметим, что здесь Sh объявлена как объектная переменная типа Object, а не типа Worksheet (Рабочий лист), поскольку лист в рабочей книге может быть как рабочим, так и листом диаграмм (тип листа Chart). Код процедуры, конечно, будет использовать данные, передаваемые с помощью аргумента. Например, следующая процедура отображает сообщение с именем активного листа, используя для этого свойство Name (Имя) объекта, передаваемого через аргумент процедуры. Private Sub Workbook_SheetActivate(ByVal Sh As Object) MsgBox "Активный лист " & Sh.Name End Sub Некоторые процедуры обработки событий содержат аргумент Cancel (Отмена), который имеет тип данных Boolean. Например, для процедуры, обрабатывающей событие Bef orePrint (Перед печатью) рабочей книги, редактор Visual Basic сделает такое объявление: Private Sub Workbook_BeforePrint(Cancel As Boolean) 668 Часть VI. Программирование в Excel
Значение переменной Cancel, передаваемое в качестве аргумента, обычно равно False. Однако ее значение может быть и True, в этом случае печать отменяется. Работу с этой переменной демонстрирует приведенная ниже процедура. Private Sub Workbook_BeforePrint(Cancel As Boolean) Msg = "Хотите ли проверить данные и заголовки столбцов?" Ответ = MsgBox(Msg, vbYesNo) If Ответ = vbYes Then Cancel = True End Sub Эта процедура выполняется перед печатью рабочей книги. Она выводит сообщение с вопросом, не хочет ли пользователь еще раз проверить печатаемые данные и заголовки столбцов. Если пользователь щелкнет на кнопке Да, то переменной Cancel присваивается значение True и данные выводиться на печать не будут. События уровня рабочей книги События уровня рабочей книги происходят с отдельной рабочей книгой. Список всех событий этого уровня и их краткое описание приведены в табл. 38.1. Процедуры, обрабатывающие эти события, должны храниться в модуле объекта ThisWorkbook. Событие Действия, приводящие к инициации события Activate (Активизация) Addinlnstall (Инсталляция надстройки) AddinUninstall (Деинсталляция надстройки) AfterXmlExport (После экспорта XML) AfterXmllmport (После импорта XML) BeforeClose (Перед закрытием) BeforePrint (Перед печатью) BeforeSave (Перед сохранением) BeforeXmlExport (Перед экспортом XML) BeforeXmllmport (Перед импортом XML) Deactivate (Деактивизация) NewSheet (Новый лист) Open (Открытие) PivotTableCloseConnection (Закрытие связи сводной таблицы) PivotTableOpenConnection (Открытие связи сводной таблицы) Активизация рабочей книги Инсталляция рабочей книги в виде надстройки Деинсталляция рабочей книги-надстройки Событие происходит после экспортирования из файла XML (доступно только в Excel 2003) Событие происходит после импортирования в файл XML (доступно только в Excel 2003) Начало процесса закрытия рабочей книги Начало процесса печати рабочей книги (или чего-либо, содержащегося в ней) Начало процесса сохранения рабочей книги Начало процесса экспортирования в файл XML (доступно только в Excel 2003) Начало процесса импортирования из файла XML (доступно только в Excel 2003) Деактивизация рабочей книги Создание (вставка) нового листа в рабочей книге Начало процесса открытия рабочей книги Закрытие связи с источником данных сводной таблицы Открытие связи с источником данных сводной таблицы Глава 38. Обработка событий в Excel 669
Окончание табл. 38.1 Событие Действия, приводящие к инициации события SheetActivate (Активизация листа) Активизация какого-либо листа рабочей книги SheetBeforeDoubleClick (Двойной Двойной щелчок на каком-нибудь листе рабочей книги. Это собы- щелчок на листе) тие предшествует выполняемым по умолчанию действиям, инициируемым двойным щелчком на листе SheetBeforeRightClick (Щелчок правой Щелчок правой кнопкой мыши на каком-нибудь листе рабочей кни- кнопкой мыши на листе) ги. Это событие предшествует выполняемым по умолчанию действиям, инициируемым щелчком правой кнопкой мыши на листе SheetCalculate (Вычисление листа) Вычисление (и пересчет) формул рабочего листа SheetChange (Изменение листа) Изменения, внесенные в рабочий лист пользователем или посредством внешних связей SheetDeactivate (Деактивизация листа) Деактивизация какого-либо листа рабочей книги SheetFollowHyperlink (Реализация ги- Щелчок на объекте рабочего листа, приводящий к реализации гиперссылки) пересылки, назначенной этому объекту SheetPivotTableUpdate (Изменение Изменение листа, содержащего сводную таблицу листа со сводной таблицей) SheetSelectionChange (Изменение Изменение объекта, выделенного на листе выбранного объекта листа) Sync (Синхронизация) Рабочий лист, являющийся частью рабочей области для документов, синхронизируется с копией, находящейся на сервере (доступно только в Excel 2003) WindowActivate (Активизация окна) Активизация окна рабочей книги WindowDeactivate (Деактивизация Деактивизация окна рабочей книги окна) WindowResize (Изменение размеров Изменение размеров окна рабочей книги окна) Далее в этом разделе описаны примеры, демонстрирующие способы использования событий уровня рабочей книги. Все представленные в этом разделе коды процедур обработки событий должны находиться в модуле объекта Thi sWorkbook, иначе они не будут выполняться. Использование события Open Одним из наиболее часто отслеживаемых событий уровня рабочей книги является событие Open (Открытие), которое инициируется при открытии рабочей книги или надстройки и обрабатывается процедурой Workbook_Open. Обычно эта процедура применяется для решения следующих задач: ■ вывод на экран окна приветствия; ■ открытие других рабочих книг; ■ настройка меню и панелей инструментов; ■ активизация определенного листа рабочей книги; ■ создание определенного окружения рабочей книги, например при необходимости инсталляции определенной надстройки. 670 Часть VI. Программирование в Excel
Нет гарантии того, что процедура Workbook_Gpen всегда будет выполняться. Например, пользователь может отключить макросы. Кроме того, если при откры- I тии рабочей книги пользователь будет удерживать нажатой клавишу <Shift>, то процедура Workbook_Open также не будет выполняться. Приведем простой пример процедуры Workbook_Open. В ней используется функция VBA Weekday (День недели), которая определяет текущий день недели. Если "сегодня" — пятница, появляется соответствующее сообщение, предлагающее сделать резервное копирование файлов. Если "сегодня" — другой день недели, то эта процедура ничего не выполняет. Private Sub Workbook_Open() If Weekday(Now) = 5 Then Сообщение = "Сегодня пятница." Сообщение = Сообщение & vbCrLf & _ "Не забудь сделать резервное копирование файлов!" MsgBox Сообщение, vblnformation End If End Sub Следующая процедура выполняется при активизации рабочей книги и максимизирует окно активной рабочей книги. Private Sub Workbook_Activate() Application.WindowState = xlMaximized ActiveWindow.WindowState = xlMaximized Worksheets(DataEntry).Activate Range(Al).Select End Sub Использование события SheetActivate Приведенная ниже процедура выполняется при активизации пользователем какого-нибудь рабочего листа. Она просто переводит табличный курсор в ячейку А1. Включение в процедуру оператора On Error Resume Next приводит к игнорированию ошибки, если активный лист является не рабочим листом, а листом диаграмм. Private Sub Workbook_SheetActivate(ByVal Sh As Object) On Error Resume Next Range("Al").Select End Sub Проверить, является ли активный лист листом диаграмм или рабочим, можно также с помощью свойства TypeName (Имя типа) этого листа. Private Sub Workbook_SheetActivate(ByVal Sh As Object) If TypeName(Sh) = "Worksheet" Then Range("Al").Select End Sub Использование события NewSheet Приведенная ниже процедура выполняется при вставке нового листа в рабочую книгу. Новый лист передается в процедуру в виде ее аргумента. Если это рабочий лист, то в ячейку А1 вводятся текущие дата и время. Private Sub Workbook_NewSheet(ByVal Sh As Object) If TypeName(Sh) = "Worksheet" Then Range("Al") = Now() End Sub Глава 38. Обработка событий в Excel 671
Использование события BeforeSave Процедура Workbook_Bef oreSave выполняется перед фактическим сохранением рабочей книги. Как известно, выбор команды ФаЙлОСохранить приводит к открытию диалогового окна Сохранение документа, если текущая рабочая книга ранее не сохранялась или если она открыта только для чтения. Процедура Workbook_Bef oreSave с помощью своего аргумента определяет, надо ли открывать диалоговое окно Сохранение документа. Private Sub Workbook_BeforeSave _ (ByVal SaveAsUI As Boolean, Cancel As Boolean) If SaveAsUI Then MsgBox "Нажмите OK для вывода окна Сохранение документа" End If End Sub Процедура Workbook_Bef oreSave будет выполнена при попытке пользователя сохранить рабочую книгу. Если при этом должно открыться диалоговое окно Сохранение документа, то значение переменной SaveAsUI равно True. Процедура проверяет значение этой переменной и выводит соответствующее сообщение, если окно Сохранение документа должно быть выведено на экран. Если значением аргумента Cancel будет True, то рабочая книга не будет сохранена. Использование события BeforeClose Это событие происходит в начале процесса закрытия рабочей книги, а процедура Workbook_Bef oreClose выполняется перед фактическим закрытием рабочей книги. Эта процедура часто "работает" в паре с процедурой Workbook_Open, которая инициирует различные элементы и объекты открываемой рабочей книги. В этом случае процедура Workbook_Bef oreClose перед закрытием рабочей книги удаляет эти элементы и объекты и восстанавливает "нормальные" установки книги. Обычно, если закрывается рабочая книга, в которой внесенные изменения не были сохранены, Excel отображает окно сообщения с предложением сохранить рабочую книгу перед закрытием. Это окно Excel может породить проблему, поскольку пока оно отображается на { экране, может наступить событие BeforeClose, а следовательно, процедура I Workbook_Bef oreClose будет выполнена. События рабочего листа События рабочего листа наиболее часто используются для автоматизации работы в Excel. Использование этих событий может сделать ваши приложения более эффективными и значительно облегчить работу с ними. В табл. 38.2 приведен перечень событий рабочего листа и дано их краткое описание. Таблица 38.2. События рабочего листа Событие Действия, приводящие к инициации события Activate (Активизация) Активизация рабочего листа BeforeDoubleClick (Двойной щелчок) Двойной щелчок на листе рабочей книги 672 Часть VI. Программирование в Excel
Окончание табл. 38.2 Событие Действия, приводящие к инициации события BeforeRightClick (Щелчок правой Щелчок правой кнопкой мыши на листе рабочей книги кнопкой мыши) Calculate (Вычисление) Вычисление (и пересчет) формул рабочего листа Change (Изменение) Изменения, внесенные в ячейки рабочего листа пользователем или внешними связями Deactivate (Деактивизация) Деактивизация рабочего листа FollowHyperlink (Реализация гипер- Щелчок на объекте рабочего листа, приводящий к реализации ги- ссылки) пересылки, назначенной этому объекту PivotTableUpdate (Изменение сводной Изменение сводной таблицы, содержащейся на рабочем листе таблицы) SelectionChange (Изменение выбран- Изменение объекта, выделенного на листе ного объекта) Использование события Change Событие Change генерируется тогда, когда значение какой-нибудь ячейки рабочего листа изменяется или пользователем, или вследствие применения внешних связей. Это событие не возникает, если пересчитываются формулы или новый объект вставляется в рабочий лист. Для выполнения процедуры обработки этого события (она называется Worksheet_ Change) необходимо задать аргумент (при автоматической вставке данной процедуры в модуль редактора Visual Basic этот аргумент имеет по умолчанию имя Target (Объект, цель)), представляющий собой объект типа Range (Диапазон), т.е. это диапазон ячеек, в которых произошли изменения, вызвавшие событие Change. Приведенная ниже процедура отображает окно сообщения с адресом диапазона, содержащим измененные ячейки. Private Sub Worksheet_Change(ByVal Target As Excel.Range) MsgBox " Диапазон " & Target.Address & " был изменен" End Sub Чтобы понять, какие действия пользователя приводят в событию Change, введите код приведенной выше процедуры в модуль объекта Worksheet (Рабочий лист), перейдите в Excel и выполните различные манипуляции с ячейками (ввод, редактирование, удаление, копирование, форматирование и т.п.). Если ваши действия будут инициировать событие Change, то появится соответствующее сообщение с указанием, какие ячейки были изменены. Обратите внимание: событие Change не всегда генерируется в тех ситуациях, когда его ожидаешь, либо генерируется при выполнении действий, которые вроде бы не должны приводить к этому событию. Например, возможны описанные ниже ситуации. ■ Изменение формата ячеек не инициирует событие Change (как можно было бы ожидать), но выполнение команды Правка^Очистить^Форматы генерирует это событие. ■ Очистка пустой ячейки (например, с помощью клавиши <Del>) генерирует это событие. ■ Многие команды Excel, изменяющие содержимое ячеек, не инициируют событие Change, например Данные^Форма, ДанныеоСортировка и СервисоОрсрография. ■ Если какая-либо процедура VBA изменяет содержимое ячеек, это обязательно приводит к генерированию события Change. Глава 38. Обработка событий в Excel 673
Отслеживание изменений в отдельном диапазоне ячеек Событие Change инициируется, если изменения произошли в любой ячейке рабочего листа. Однако во многих случаях необходимо отследить изменения только в определенном диапазоне ячеек. Предположим, на рабочем листе есть именованный диапазон Входные_данные и необходимо отследить возможные изменения только в этом диапазоне. Для объекта Range (Диапазон) не предусмотрено событие Change, но в этой ситуации можно воспользоваться процедурой Worksheet_Change, сравнив диапазон Target, который является аргументом этой процедуры и представляет измененные ячейки, с диапазоном Входные_данные. Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim Диап As Range Set Диап = Range("Входные_данные") If Union(Target, Диап).Address = Диап.Address Then MsgBox "Входные данные изменены" End If End Sub В этой процедуре создается диапазон Диап, представляющий ячейки, в которых отслеживаются изменения. Для определения того, были ли изменены ячейки диапазона Диап, с помощью функции VBA Union (Объединение) объединяются диапазоны Диап и Target (аргумент процедуры); если адрес объединенного диапазона совпадает с адресом диапазона Диап, то отсюда следует, что изменения произошли в ячейках диапазона Входные_данные. В этом случае выводится соответствующее сообщение, в противном случае ничего не происходит. Приведенная процедура имеет один недостаток. Событие Change генерируется, когда изменения произошли как в одной ячейке, так и при одновременном изменении нескольких ячеек (например, при автозаполнении диапазона или его очистке). Поэтому диапазон Target может быть диапазоном, состоящим из нескольких ячеек, причем одни из них могут принадлежать диапазону Входные_данные, а другие— нет. В модифицированной процедуре Worksheet_Change, приведенной ниже, проверяется каждая ячейка диапазона Target на принадлежность диапазону Диап (т.е. диапазону Входные_данные), и если она принадлежит этому диапазону, то выводится сообщение. Private Sub Worksheet_Change(ByVal Target As Excel.Range) Set Диап Диап ячейка Диап = Range("Входные_данные") For Each ячейка In Target If Union(ячейка, Диап).Address = Диап.Address Then MsgBox " Входные данные изменены" End If Next ячейка End Sub Использование события SelectionChange В этом небольшом разделе описано применение события SelectionChange, которое инициируется пользователем при выборе диапазона ячеек на рабочем листе. Рассмотрим приведенную ниже процедуру. Private Sub Worksheet_SelectionChange(ByVal Target _ As Excel.Range) Cells.Interior.Colorlndex = xlNone 674 Часть VI. Программирование в Excel
With ActiveCell .EntireRow.Interior.ColorIndex =36 .EntireColumn.Interior.Colorlndex = End With End Sub 36 Эта процедура изменяет цвет фона строки и столбца, на пересечении которых находится активная ячейка, тем самым облегчая определение этой ячейки. В процедуре сначала удаляется цветной фон со всего рабочего листа, а затем строка и столбец активной ячейки закрашиваются оранжевым цветом, как показано на рис. 38.2. Hanoi диске (омпап- Внимание! Эту рабочую книгу можно найти на прилагаемом компакт-диске. Не испытывайте приведенную процедуру на рабочем листе, который имеет фоновую заливку, поскольку после выполнения процедуры она будет удалена. I 7 1 13 ь И5 Гго" |и 4 13 458 258 419 100 483 377 261 416 278 207 83 308 104 6 227 469 346 463 » N&SbMU В 41 177 300 244 445 257 124 69 402 223' 494 437 34 343 406 267 171 гг' .'- С 382 33 16 282 334 9б| 369 142 212 176 183 238 456 384 51 73 245 . 182 193 D ©8 164 168 19 49 438 68 249 499 106 242 265 50 28S 210 282 332 150 421 377 Е 93 341 271 403 342 363 307 84 171 223 19 479 192 243 180 274 452 292 452 180 456 341 126 283 207 314 432 435 59 126 414 128 149 292 414 261 lit 470 98 103 361 364 15 437 224 36 36 237 321 320 11 83 418 264 440 147 115" 61' 469 410 396 13 200 148 166 186 399 463 228 38 10 151 _ 233 498 406 ~~ мШ. 1 J 35* 126 258 IB 452' 40 457 51 315 325' 425: 432 134 395 460 259: 261 342 " 298 I Л L-ш . *^ SI J г Рис. 38.2. Перемещение табличного курсора становится теперь более заметным Использование события BeforeRightClick Когда пользователь щелкнет правой кнопкой мыши на рабочем листе, должно открыться контекстное меню листа. Если по каким-либо причинам нужно запретить появление контекстного меню листа, необходимо отследить событие RightClick (Щелчок правой кнопкой мыши). В следующей процедуре ее аргументу Cancel (Отмена) присваивается значение True, тем самым блокируется событие RightClick, что предотвращает появление контекстного меню. Вместо этого меню появляется соответствующее сообщение. Private Sub Worksheet_BeforeRightClick _ (ByVal Target As Excel.Range, Cancel As Boolean) Cancel = True MsgBox "He ждите контекстного меню — оно не появится!" End Sub Глава 38. Обработка событий в Excel 675
События, не связанные с объектами События, уже рассмотренные в этой главе, были связаны с определенными объектами, такими, как приложение, рабочая книга, лист рабочей книги и т.д. В этом разделе описаны два дополнительных "бездомных" события: OnTime (Время включения) и ОпКеу (Нажатие клавиши), которые не "приписаны" ни к одному объекту. Для доступа к этим событиям необходимо использовать соответствующие методы объекта Application. Использование события OnTime Событие OnTime генерируется в заранее указанное время. Например, следующие процедуры с помощью этого события отобразят соответствующее сообщение и произведут звуковой сигнал ровно в 3 часа пополудни. Sub Установка_времени() Application.OnTime 0.625, "Сигнал" End Sub Sub Сигнал() Beep MsgBox "Проснись! Пришло время обеда!" End Sub В этом примере процедура Установка_времени использует метод OnTime объекта Application для задания события OnTime. Этот метод требует двух аргументов: значения времени (в данном примере — 0.625, что значит 15-00 часов) и имени процедуры, которая будет выполняться при наступлении события OnTime (в данном примере — Сигнал). После выполнения процедуры Установка_времени в 15 часов будет вызвана процедура Сигнал, которая выведет окно сообщения и подаст звуковой сигнал. Многим непривычно задавать время как часть суток, чего требует числовая система времени Excel. Значительно удобнее для задания времени использовать функцию VBA TimeVal (Значение времени), которая преобразует текстовую строку, задающую время в привычном виде, в числовой формат, который понимает Excel. С помощью этой функции оператор из процедуры Установка_времени можно записать следующим образом: Application.OnTime TimeValue("15:00:00"), "Сигнал" Если необходимо задать событие, отстоящее от настоящего момента на заданный временной промежуток (например, на 20 минут), то можно воспользоваться следующим оператором: Application.OnTime Now + TimeValue("00:20:00"), " Сигнал" С помощью метода OnTime можно также задать событие, которое произойдет в заданный день. Использование события ОпКеу Во время работы Excel постоянно отслеживает, какие клавиши на клавиатуре нажимает пользователь. Благодаря этому при нажатии заранее определенной комбинации клавиш можно выполнять процедуры и макросы. В следующем примере метод ОпКеу используется для задания события ОпКеу. Это событие переназначает значения клавиш <PgDn> и <PgUp>. После выполнения процедуры Задание_клавиш нажатие клавиши <PgDn> будет вызывать на исполнение процедуру 676 Часть VI. Программирование в Excel
PgDn_Sub, нажатие клавиши <PgUp> — процедуру PgUp_Sub. Выполнение этих процедур приводит к перемещению табличного курсора соответственно на одну строку вверх или вниз. Sub Задание_клавиш() Application.OnKey "{PgDn}", "PgDn_Sub" Appli cat ion.OnKey "{PgUp}", "PgUp_Sub" End 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 (сделайте поиск по ключевому слову On Key). В процедурах PgDn_Sub и PgUp_Sub используется оператор On Error Resume Совет Next, чтобы игнорировать появление возможных ошибок. Например, если таб- личный курсор будет находиться в первой строке, то попытка перехода на строку ^ вверх приведет к ошибке, поскольку табличный курсор в этой ситуации не может переместиться вверх. Ошибка также возникнет в случае, если при нажатии клавиш <PgDn> и <PgUp> активным будет лист диаграмм, а не рабочий лист. Приведенная ниже процедура отменяет события ОпКеу и возвращает клавишам <PgDn> и <PgUp> их обычные функции. Sub Cancel_OnKey() Application.OnKey "{PgDn}" Application.OnKey "{PgUp}" End Sub Вопреки возможным ожиданиям, использование пустой строки в качестве второго аргумента метода ОпКеу не отменяет события ОпКеу. Пустая строка в этом методе "приказывает" Excel только игнорировать нажатие указанной клавиши (или комбинации клавиш), но не отменяет само событие ОпКеу. Следующий оператор задает "отключение" комбинации клавиш <Alt+F4> (знак процента обозначает клавишу <Alt>): Application.OnKey "%{F4}"# "" На замел заметку Внимание! Глава 38. Обработка событий в Excel 677
ГЛАВА Примеры программирования наУВА В этой главе... Работа с диапазонами Изменение параметров Excel Работа с диаграммами Советы по ускорению работы программ П ри изучении программирования на языке VBA важнейшую роль играют примеры. Часто удачный пример может передать основную идею намного лучше, чем длинные теоретические рассуждения. Поэтому в данной книге нет подробных описаний всех нюансов VBA. Этот подход был выбран по двум причинам. Во-первых, объем книги ограничен, а во-вторых, язык VBA очень подробно описан в справочной системе Excel. В этой главе приведено несколько примеров, в которых демонстрируются самые распространенные методы VBA. Некоторые из этих примеров можно использовать без всяких изменений. Но в большинстве случаев вам придется несколько откорректировать их в соответствии со своими потребностями. Приведенные примеры разбиты на четыре категории. ■ Работа с диапазонами. ■ Изменение параметров Excel. ■ Работа с диаграммами. ■ Способы ускорения работы программ VBA. Все подпрограммы и функции, приведенные в этой главе, можно найти на прилагаемом к книге компакт-диске. Работа с диапазонами В большинстве операций, выполняемых с помощью VBA, используются диапазоны ячеек рабочих листов. При работе с диапазонами нужно учесть приведенные ниже замечания. ■ Для работы с диапазоном программе VBA не обязательно его выбирать.
■ Чтобы в программе можно было выбрать диапазон ячеек, рабочий лист, в котором он находится, должен быть активен. ■ Средство записи макросов не всегда создает макрос, идеальный во всех отношениях. Лучше всего, создав макрос с помощью этого средства, отредактировать и оптимизировать его по скорости вручную. ■ В программе VBA имеет смысл использовать поименованные диапазоны. Например, запись Range("Итого")' предпочтительнее, чем Range("D45"). Дело в том, что, если позже придется в рабочую таблицу добавить строку, предшествующую строке 45, при использовании второй записи это повлечет за собой корректировку макроса. ■ При записи макросов, работающих с выделенными диапазонами, обращайте внимание на применяемый режим адресации ячеек — относительный или абсолютный (режимы адресации ячеек описаны в главе 34). Выбранный режим адресации может значительно повлиять на работу макроса. ■ При создании макроса, работающего с каждой ячейкой диапазона, выбранного в данный момент, учитывайте то, что пользователь может выделить столбцы или строки целиком. Но эти столбцы и строки могут содержать как заполненные, так и пустые ячейки. Поэтому обычно возникает необходимость создать подмножество ячеек выбранного диапазона, которое содержит только непустые ячейки. ■ Не забывайте, что Excel позволяет выбирать несмежные диапазоны. Например, можно выделить диапазон, нажать клавишу <Ctrl>, а затем выбрать еще один диапазон. Поэтому обязательно проверьте, как поведет себя ваш макрос в случае выбора нескольких несмежных диапазонов, и при необходимости внесите в него соответствующие коррективы. В следующих разделах все это продемонстрировано на примерах. Копирование диапазона Эта операция часто выполняется в макросах. Если активизировать средство записи макросов и скопировать диапазон А1:А5 в диапазон В1:В5, то в результате будет сгенерирован приведенный ниже код макроса. Sub Копирование_диапазона() Range("A1:A5").Select Selection.Copy Range("Bl").Select ActiveSheet.Paste Application.CutCopyMode = False End Sub Этот макрос будет работать нормально, но такой способ копирования диапазона не самый эффективный. Точно такой же результат можно получить с помощью следующего макроса: Sub Копирование_диапазона2() Range("А1:А5").Copy Range("Bl") End Sub В последнем макросе использован тот факт, что в методе Сору можно задать аргумент, указывающий, куда копировать выделенный диапазон. Информацию подобного рода можно найти в электронной справочной системе Excel. 1 Объект "Диапазон" в VBA обозначается словом Range. — Прим. ред. Глава 39. Примеры программирования на VBA 679
Итак, этот пример демонстрирует, что программа записи макросов не всегда создает оптимальный макрос. Как видите, для того чтобы работать с объектом, его не обязательно выбирать. Заметьте: во втором макросе диапазон не выбирается. Таким образом, при выполнении данного макроса активная ячейка останется прежней. Копирование диапазона переменного размера Часто возникает необходимость скопировать диапазон, для которого не известно заранее точное число строк и столбцов. На рис. 39.1 показан диапазон рабочего листа, который содержит ряд строк и столбцов, причем их количество день ото дня может меняться. И поскольку точные адреса ячеек диапазона в каждый конкретный момент неизвестны, написать макрос, выполняющий копирование такого диапазона, довольно сложно. 1 г 4 5 6 •7 8 ■V 10 12 13 м « « _-. :*.. Неделя К-ео звонков 03.01.2003 452 10 01.2003 546 1701.2003 587 24.01.2003 443 3101.2003 609 07022003 592 14 02 2003 487 2102 2003 601 28 02.2003 07 03.2003 > «»«•«». пч 515 540 iNiiwirt wanai С К-во злказов 8S 102 132 65 156 92 95. 105 . 133: 122; - ,|. 1 ,„,,, ,-.,\ jaijd о t ■■ - л . • -I Рис. 39.1. Этот диапазон может содержать произвольное число строк В приведенном ниже макросе показано, как скопировать такой диапазон с одного рабочего листа на другой и поместить его, начиная с ячейки А1. В этом макросе использовано свойство CurrentRegion (Текущая область), которое возвращает объект-диапазон, соответствующий активному блоку ячеек. Это эквивалентно тому, чтобы выбрать команду Правкам Перейти, щелкнуть на кнопке Выделить и выбрать опцию Текущую область. Sub Копирование_текущей_области() Range("А1").CurrentRegion.Copy Sheets("Лист2").Select Range("Al").Select ActiveSheet.Paste Application.CutCopyMode = False End Sub Выбор до конца строки или столбца Вероятно, у вас уже вошло в привычку использовать комбинации клавиш <Ctrl+ShiftH—» и <Ctrl+Shift+i> для выбора диапазона от текущей ячейки до конца заполненной строки или столбца. Если при записи макроса использовать эти комбинации клавиш в режиме относительной адресации ячеек, то в результате вы получите код, который будет работать правильно, т.е. выделять именно диапазон (по строке или столбцу) заполненных ячеек из текущей области. Приведенная ниже подпрограмма выбирает диапазон, который начинается с текущей ячейки и продолжается вниз до последней ячейки столбца. Когда диапазон выбран, с ним можно делать все, что угодно: копировать, перемещать, форматировать и т.д. 680 Часть VI. Программирование в Excel
Sub Выбор_вниз() Range(ActiveCell, ActiveCell.End(xlDown)).Select End Sub В этом примере используется метод End (Окончание) объекта Range (Диапазон), который возвращает сам объект Range. Метод End имеет всего один аргумент, которым может быть одна из следующих констант: xlUp (Вверх), xlDown (Вниз), xlToLeft (Влево), xlToRight (Вправо). Выбор строки или столбца В приведенном ниже макросе показано, как выбрать весь столбец, в котором находится активная ячейка. Здесь использовано свойство EntireColumn (Весь столбец), которое возвращает ссылку на диапазон, состоящий из всего столбца. Sub Выбор_столбца() ActiveCell.EntireColumn.Select End Sub Неудивительно, что есть также свойство EntireRow (Вся строка), которое возвращает диапазон, состоящий из всей строки. Если требуется выполнить операцию на всех ячейках в выбранной строке, не нужно выбирать эту строку. Например, приведенная ниже подпрограмма отобразит полужирным шрифтом содержимое всех ячеек строки, в которой содержится активная ячейка. Sub Сделать_полужирным() ActiveCell.EntireRow.Font.Bold = True End Sub Перемещение диапазона Операция перемещения диапазона распадается на два этапа: вырезание его в буфер обмена, а затем вставка в другую область. Если записать действия во время выполнения операции перемещения, то средство записи макросов сгенерирует приблизительно следующий код макроса. Sub Перемещение_диапазона() Range("А1:Сб").Select Selection.Cut Range("A10").Select ActiveSheet.Paste End Sub Но, как уже было показано выше, на примере операции копирования, это не самый оптимальный (и эффективный) способ перемещения диапазона ячеек. Это можно сделать гораздо проще с помощью всего одного оператора VBA. Sub Перемещение_диапазона2() Range("А1:Сб").Cut Range("A10") End Sub Здесь преимущество достигается за счет того, что в методе Cut (Вырезать) предусмотрен аргумент, указывающий на диапазон, в который помещается вырезанная в буфер обмена информация. Глава 39. Примеры программирования на VBA 681
Циклические операции над диапазоном Макросы могут выполнять операции как над каждой ячейкой диапазона, так и выборочно, в зависимости от содержимого ячеек. Эти операции обычно осуществляются с помощью цикла For-Next, который служит для обработки каждой ячейки диапазона. В приведенном ниже примере показано, как используется цикл для обработки диапазона. В данном случае диапазон — это множество ячеек, выбранных в настоящий момент. В этом примере переменной Cell (Ячейка) присваивается ссылка на ячейку, которая подвергается обработке. Тело цикла For-Next состоит из единственного оператора, который оценивает содержимое ячейки и меняет цвет шрифта, если значение в ячейке отрицательное (vbRed — это встроенная константа, представляющая красный цвет). Sub Обработка_ячеек() Dim Cell As Range For Each Cell In Selection If Cell.Value < 0 Then Cell.Font.Color = vbRed Next Cell .End Sub Эта программа работает нормально. Но теперь представим себе, что множество выбранных ячеек состоит из целого столбца или целой строки. Это довольно распространенная ситуация, так как Excel позволяет выполнять операции над целыми столбцами или строками. Тогда окажется, что макрос будет работать целую вечность, поскольку в теле цикла обрабатывается каждая ячейка, даже если она пуста. Поэтому нужен способ обработки только непустых ячеек. Такую операцию можно осуществить с помощью метода SelectSpecial (Специальный выбор). В следующем примере метод SelectSpecial используется для создания двух новых объектов-подмножеств выбранных ячеек, одно из которых содержит ячейки с константами, а другое — ячейки с формулами. После этого обрабатываются оба подмножества, в результате чего пустые ячейки пропускаются. Sub Пропуск_пустых_ячеек() ' Игнорировать ошибки On Error Resume Next ' Обработать константы Set ConstantCells = Selection.SpecialCells(xlConstants, 23) For Each Cell In ConstantCells If Cell.Value < 0 Then Cell.Font.Color = vbRed Next cell ' Обработать формулы Set FormulaCells = Selection.SpecialCells(xlFormulas, 23) For Each cell In FormulaCells If Cell.Value < 0 Then Cell.Font.Color = vbRed Next cell End Sub Подпрограмма Пропуск_пустых_ячеек работает одинаково быстро, независимо от того, какое множество ячеек выбрано. Например, можно выбрать диапазон, все столбцы в диапазоне, все строки или даже весь рабочий лист. И во всех этих случаях будут обрабатываться только те ячейки, которые содержат константы или значения. Это весьма существенное улучшение по сравнению с предыдущей подпрограммой Обработка_ячеек. Обратите внимание на использование в подпрограмме следующего оператора: On Error Resume Next 682 Часть VI. Программирование в Excel
Данный оператор дает Excel команду игнорировать любые встречающиеся ошибки и просто переходить к следующей ячейке. Это необходимо потому, что метод SpecialCells (Особые ячейки) выдает ошибку, если ни одна из ячеек не отвечает установленным требованиям, и тогда нормальный режим проверки ошибок восстановится только по завершении подпрограммы. Чтобы в явном виде дать Excel команду вернуться в обычный режим проверки ошибок, воспользуйтесь следующим оператором: On Error GoTo 0 Выборка содержимого ячейки Как отмечалось в главе 36, для того чтобы запросить значение у пользователя, можно с успехом применить функцию InputBox языка VBA (рис. 39.2). Рис. 39.2. Использование функции InputBox для получения данных от пользователя Указанное пользователем значение можно присвоить некоторой переменной и использовать в подпрофамме. Однако довольно часто возникает необходимость поместить это значение в ячейку. В следующей подпрофамме показано, как запросить значение у пользователя и поместить его в ячейку А1 активного рабочего листа с помощью всего лишь одного оператора. Sub Получение_значения() Range("Al").Value = InputBox("Введите значение для ячейки А1") End Sub Определение типа выбранных ячеек Если макрос предназначен для работы с выбранным диапазоном, очень важно иметь возможность определить, действительно ли выбран диапазон (а не что-либо другое). В противном случае макрос может завершить свою работу аварийно. Следующая подпрофамма определяет тип выбранного в настоящий момент объекта: Sub Тип_объекта() MsgBox TypeName(Selection) End Sub Если выбранный объект— диапазон, то функция MsgBox выведет на экран сообщение Range (Диапазон). Если макрос предназначен для работы только с диапазонами, то можно воспользоваться оператором If, чтобы убедиться в том, что выбран именно диапазон. Приведем пример, в котором вьщается звуковой сигнал, отображается сообщение и осуществляется выход из подпрофаммы, если выбранный объект не является диапазоном (объектом Range). Sub Проверка_выбора() If TypeName(Selection) <> "Range" Then Beep MsgBox "Выберите диапазон" Exit Sub End If ' ... [другие операторы] End Sub Введите значение лля ячейки А1 Глава 39. Примеры программирования на VBA 683
Есть и другой способ достичь того же результата: можно определить новую функцию, которая возвращает значение True (Истина), если выбран диапазон, и False (Ложь) в противном случае. Ниже приведен пример такой функции. Function Это_диапазон(Выделение) As Boolean Это_диапазон = False If TypeName(Выделение) = "Range" Then Это_диапазон = True End Function Если теперь ввести функцию Это_диапазон в модуль, то подпрограмму Проверка_ выбора можно переписать следующим образом: Sub Проверка_выбора() If Это_диапазон(Selection) Then 1 ... [другие операторы] Else Веер MsgBox "Выберите диапазон" Exit Sub End If End Sub Определение несмежных диапазонов Как известно, Excel позволяет осуществлять выбор несмежных диапазонов с помощью нажатия клавиши <Ctrl> во время выделения объектов или диапазонов. Из-за этого при работе некоторых макросов могут возникнуть проблемы, например нельзя будет скопировать несмежные диапазоны. В следующем макросе показано, как определить, выбрал ли пользователь несмежный диапазон ячеек. Sub Несмежное_выделение() If Selection.Areas.Count > 1 Then MsgBox "Несмежные диапазоны не поддерживаются" Exit Sub End If 1 ... [другие операторы] End Sub В этом примере использован метод Areas (Области), который возвращает коллекцию всех объектов выбранного множества. Свойство Count (Счет) возвращает количество объектов в коллекции. Ниже приведена функция, которая возвращает значение True (Истина), если выбран несмежный диапазон. Function Несмежный_диапазон(диап) As Boolean Несмежный_диапазон = Selection.Areas.Count > 1 End Function Изменение параметров Excel Одними из самых полезных являются простые макросы, изменяющие некоторые параметры Excel. В качестве примера можно привести макрос, который содержит всего несколько строчек, но выполняет при этом очень нужное действие: изменяет режим вычислений Excel с автоматического на ручной и наоборот. 684 Часть VI. Программирование в Excel
В данном разделе приведены два примера, в которых показано, как изменить ^параметры Excel. Эти примеры можно обобщить и распространить на другие операции. Логические параметры Логический параметр — это переменная, которая может принимать только два значения — Истина (True) или Ложь (False). Другими словами, логический параметр может быть либо "включен", либо "выключен". Например, может возникнуть необходимость создания макроса, который включает и выключает отображение заголовков строк и столбцов. Попробуем записать свои действия во время изменения настроек в диалоговом окне Параметры. Если заголовки выключены, Excel создаст следующую строку макроса: ActiveWindow.DisplayHeadings = False Если же заголовки включены, то Excel создаст строку ActiveWindow.DisplayHeadings = True В результате может сложиться впечатление, что для отображения заголовков нужно два макроса: один для включения, другой для выключения. Но на самом деле это не так. В приведенной ниже подпрограмме использован оператор Not (который изменяет текущее логическое значение на противоположное), для того чтобы более эффективно переключать режимы отображения заголовков из True в False и обратно. Sub Вкл_Выкл_заголовков() If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub ActiveWindow.DisplayHeadings = Not ActiveWindow.DisplayHeadings End Sub Первый оператор проверяет, действительно ли активный лист является рабочим листом. В противном случае работа макроса могла бы завершиться аварийно, поскольку листы диаграмм не имеют заголовков строк и столбцов. Данный макрос можно использовать для изменения любых других параметров, которые принимают логические значения (True или False). Например, можно создать макрос для включения и выключения отображения ярлычков рабочих листов, линий сетки и т.д. Нелогические параметры Для параметров, которые не являются логическими, можно использовать структуру Select Case. Приведенный ниже макрос осуществляет переключение режимов вычисления Excel с автоматического на ручной и наоборот, а также отображает на экране сообщение, указывающее на текущий режим. Sub Режим_вычисления() Select Case Application.Calculation Case xlManual Application.Calculation = xlAutomatic MsgBox "Установлен автоматический режим вычислений" Case xlAutomatic Application.Calculation = xlManual MsgBox "Установлен ручной режим вычислений" End Select End Sub Глава 39. Примеры программирования на VBA 685
Работа с диаграммами Выполнять операции над диаграммами средствами VBA довольно сложно, так как приходится иметь дело с очень большим количеством объектов. Если активизировать средство записи макросов, создать диаграмму и выполнить какую-нибудь обычную операцию редактирования, Excel сгенерирует достаточно большую программу. Однако, разобравшись" с объектами, составляющими диаграмму, можно создать несколько полезных макросов. В этом разделе представлено несколько макросов для работы с диаграммами. При написании макросов, выполняющих операции над диаграммами, необходимо знать некоторые термины. Внедренная в рабочий лист диаграмма— это объект ChartObject. Однако, прежде чем выполнять какие-либо действия с объектом ChartObject, его нужно активизировать. Следующий оператор активизирует объект ChartObject под именем Диаграмма1: ActiveSheet. ChartObject s ( "Диаграмма]." ) .Activate Активизировав диаграмму, можно ссылаться на нее в программе с помощью объекта Ас- tiveChart (Активная диаграмма). Если диаграмма находится на отдельном листе диаграммы, то она автоматически становится выбранной, как только будет активизирован этот лист. Изменение типа диаграммы В первом примере этого раздела показано, как изменяется тип каждой диаграммы, внедренной в активный лист. Данный макрос превращает каждую диаграмму в диаграмму с областями. Это делается путем изменения свойства Туре (Тип) объекта ActiveChart. Встроенная константа xl Area представляет тип диаграмм с областями. Sub Тип_диаграммы() Dim cht As Chart For Each cht In ActiveSheet.ChartObjects cht.ChartType = xlAreaStacked Next cht End Sub В этом примере для обработки всех объектов ChartObj ect активного листа использован оператор цикла For-Next. В теле цикла происходит активизация диафаммы, а затем изменяется ее тип. Следующий макрос выполняет ту же самую функцию, но обрабатывает все листы диа- фамм в активной рабочей книге: Sub Тип_диаграммы2() For Each cht In ThisWorkbook.Charts cht.Activate ActiveChart.Type = xlArea Next cht End Sub Изменение свойств диаграммы В приведенном ниже примере для всех диафамм активного листа изменяется шрифт легенды. Здесь использован цикл For-Next для обработки всех объектов ChartObject. В случае если у диафаммы нет легенды, оператор On Error игнорирует возникающую при этом ошибку. 686 Часть VI. Программирование в Excel
Sub Изменение_легенды() On Error Resume Next For Each cht In ActiveSheet.ChartObjects cht.Activate With ActiveChart.Legend.Font .Name = "Arial Cyr" .FontStyle = "Bold" .Size = 8 End With Next cht End Sub Форматирование диаграммы В этом примере к активной диаграмме применяется несколько различных типов форматирования. Следует помнить, что перед запуском макроса диаграмма должна быть активизирована. Для активизации внедренной диаграммы щелкните на ней. А чтобы активизировать диаграмму, расположенную на листе диаграммы, нужно активизировать сам лист. Sub Изменения_диаграмм() On Error Resume Next With ActiveChart .Type = xlArea .ChartArea.Font.Name = "Arial" .ChartArea.Font.FontStyle = "Regular" .ChartArea.Font.Size = 9 .PlotArea.Interior.Colorlndex = xlNone .Axes(xlValue).TickLabels.Font.Bold = True .Axes(xlCategory).TickLabels.Font.Bold = True .Legend.Position = xlBottom End With End Sub Советы по ускорению работы программ Макросы VBA работают быстро, но иногда скорость их выполнения все-таки недостаточна. В данном разделе представлен ряд примеров, которые помогут вам ускорить работу макросов. Отключение функции обновления экрана Вы, наверное, заметили, что во время выполнения макроса можно увидеть все его действия на экране. Эта возможность полезна, пока макрос еще не отлажен, но она становится ненужной и слишком замедляет работу, когда макрос выполняется правильно. К счастью, существует способ отключения режима обновления экрана во время выполнения макроса. Для этого нужно вставить в макрос следующий оператор: Application.ScreenUpdating = False Если же необходимо, чтобы в какой-либо момент выполнения макроса пользователь увидел результаты его работы, введите следующий оператор: Application.ScreenUpdating = True Глава 39. Примеры программирования на VBA 687
Отключение предупреждающих сообщений Одно из преимуществ использования макросов заключается в том, что они позволяют выполнить ряд действий автоматически. Можно запустить макрос, а затем выпить чашечку кофе, пока Excel сделает все, что нужно. Однако некоторые операции заставляют Excel выводить на экран сообщения, которые нельзя оставить без внимания. Например, если макрос должен удалить лист, то на экране появится диалоговое окно, показанное на рис. 39.3. А это значит, что вы не сможете завершить выполнение макроса, не приняв участие в его работе. Рис. 39.3. Можно дать Excel команду не отображать подобные сообщения во время выполнения макроса Чтобы избежать появления предупреждающих сообщений, вставьте в программу VBA следующий оператор: Application.DisplayAlerts = False Следующий оператор позволяет вновь включить эту опцию: Application.DisplayAlerts = True Упрощение ссылок на объекты Как вы, вероятно, уже заметили, ссылки на объекты могут быть чересчур длинными, особенно если объект не находится на активном листе или в активной рабочей книге. Например, полностью определенная ссылка на объект Range (Диапазон) может выглядеть следующим образом: Workbooks("Моя_книга").Worksheets("Лист1").Range("Ставки") Если этот диапазон часто используется в макросе, то будет разумно создать объектную переменную с помощью команды Set (Назначить). Например, чтобы присвоить объектной переменной Ставки объект Range, воспользуйтесь оператором Set Ставки = Workbooks("Моя_книга").Worksheets("Лист1").Range("Ставки") Определив переменную Ставки, можно использовать ее вместо слишком длинной ссылки. Благодаря использованию объектных переменных не только упрощается код макроса, но и существенно ускоряется его выполнение. Некоторые макросы после введения объектных переменных могут выполняться в два раза быстрее. Объявление типов переменных Как правило, не нужно беспокоиться о типе данных, которые присваиваются переменным. Всеми этими нюансами занимается Excel самостоятельно. Например, если в программе имеется переменная, ей можно присвоить число. А позже (во время выполнения процедуры) ничто не помешает присвоить ей даже текстовую строку. Однако, если необходимо, чтобы процедуры выполнялись максимально быстро, можно заранее сообщить Excel, какие типы данных будут присвоены каждой переменной. Это называется объявлением типа переменных. 688 Часть VI. Программирование в Excel
В табл. 39.1 перечислены все типы данных VBA, а также для переменной каждого типа приведено число байт, занимаемых ею в памяти, и приблизительный диапазон возможных значений. Таблица 39.1. Типы данных VBA Тип данных Число байт Приблизительный диапазон значений От 0 до 255 True (Истина) или False (Ложь) От-32 768 до 32 767 От -2 147 483 648 до 2 147 483 647 От -3.4Е38 до -1.4Е-45 для отрицательных значений От 1.4Е-45 до 4Е38 для положительных значений От -1JE+308 до -4.9Е-324 для отрицательных значений От 4.9Е-324 до 0JE+308 для положительных значений От -9.2Е14 до 9.2Е14 +/-7.9Е28 без десятичной точки От 1 января 100 до 31 декабря 9999 Любая ссылка на объект От 0 до приблизительно 2 млрд. От 1 до приблизительно 65 400 Любое числовое значение в диапазоне типа Double От 0 до приблизительно 2 млрд. Диапазон каждого элемента совпадает с диапазоном его типа данных Byte (Байт) Boolean (Булев) Integer (Целое) Long (Длинное целое) Single (Значение с плавающей точкой одинарной точности) Double (Значение с плавающей точкой двойной точности) Currency (Денежный: масштабированное целое значение) Decimal (Десятичное) Date (Дата) Object (Объектный) String (Строка переменной длины) String (Строка фиксированной длины) Variant (Вариантный с числами) Variant (Вариантный с символами] User-defined (Определенный пользователем с помощью Туре) 1 2 2 4 4 3 8 7 8 14 8 4 10 + длина строки Длина строки 16 22 + длина строки I Число, требующееся для хранения всех элементов Если переменная не объявлена, то по умолчанию Excel будет использовать тип Variant. В общем случае лучше всего использовать переменные такого типа, которые занимают минимальное число байтов и при этом могут работать со всеми типами присваиваемых данных. Если в макросе задействованы данные, то скорость исполнения зависит от числа байтов, которое используется конкретным типом данных и которое VBA обязан обработать. Другими Глава 39. Примеры программирования на VBA 689
словами, чем меньший объем памяти занимают данные, тем быстрее модуль VBA может получать доступ к данным и оперировать ими. Чтобы объявить переменную, перед ее первым использованием введите оператор Dim. Например, чтобы объявить переменную Элемент целого типа, воспользуйтесь следующим оператором: Dim Элемент as Integer Чтобы объявить переменную Имя_пользователя как строку, введите оператор Dim Имя_пользователя as String Если объявить переменную внутри процедуры, то это объявление будет иметь силу только в пределах данной процедуры. Если же объявить переменную за пределами всех процедур (но перед первой процедурой), то это объявление будет действительно во всех процедурах модуля. При использовании описанной выше объектной переменной для нее можно выбрать объектный тип данных, например: Dim Ставки as Object Set Ставки = Workbooks("Моя_книга").Worksheets("Лист1").Range("Ставки") Чтобы принудительно объявить все используемые переменные, вставьте вверху модуля следующий оператор: Option Explicit В случае использования этого оператора Excel будет выдавать сообщение об ошибке, если ей встретится необъявленная переменная. Если объявлены все переменные, то, как правило, вероятность возникновения ошибки в программе меньше. Но если ошибка все-таки возникла, ее будет легче определить. 690 Часть VI. Программирование в Excel
Создание надстроек Excel дной из самых полезных особенностей Excel является возможность создания надстроек. В данной главе раскрывается это понятие и приводится практический пример создания надстройки. Что такое надстройка Надстройка — это элемент, который добавляется к электронной таблице, чтобы сделать ее более функциональной. Excel включает несколько надстроек: Пакет анализа, Автосохранение и Поиск решения. Некоторые надстройки (например, Пакет анализа, который рассматривается в главе 24) предоставляют новые функции рабочих листов, которые можно использовать в формулах. Обычно новые функции вписываются в интерфейс программы таким образом, словно они — ее составные части. В Excel любой опытный пользователь может создавать надстройки из рабочих книг. Но надстройка Excel отличается от файла рабочей книги. Любую рабочую книгу можно преобразовать в надстройку, но не каждая рабочая книга может быть подходящим "кандидатом" для надстройки. Надстройки всегда скрыты, поэтому нельзя отобразить рабочие листы или листы диаграмм, которые содержатся в надстройке. Зато можно обратиться к ее подпрограммам и функциям и отобразить диалоговые окна, которые представляются экранными формами. Ниже перечислены основные области применения надстроек Excel. ■ Хранение созданных пользователем функций рабочих листов. После загрузки надстройки эти функции можно использовать точно так же, как и любые другие встроенные функции рабочего листа. ■ Хранение утилит Excel. VBA— это идеальное средство для создания утилит общего назначения, которые расширяют возможности Excel. О
■ Хранение "секретных" макросов. Если вы не хотите, чтобы другие пользователи ваших рабочих книг просматривали (или изменяли) ваши макросы, храните их в надстройке. Такими макросами можно пользоваться, но их нельзя просматривать или изменять. В Excel включено несколько полезных надстроек (они описаны во врезке "Надстройки, входящие в поставку Excel"). Однако вы всегда можете приобрести и другие необходимые надстройки либо у независимых производителей, либо через Internet. Кроме того, в Excel включены средства, которые позволяют создавать собственные надстройки. О том, как это делается, речь пойдет ниже, но прежде вы должны познакомиться с основными понятиями. Надстройки, входящие в поставку Excel В зависимости от установки Excel, вы можете иметь доступ либо ко всем надстройкам, либо только к некоторым из них. Если попытаться использовать одну из неустановленных надстроек, то появится приглашение установить ее. Ниже перечислены надстройки, включенные в Excel. ♦ Пакет анализа. Средства для статистических и инженерных расчетов, а также новые функции рабочих листов. ♦ VBA-пакет анализа (Analysis ToolPak-VBA). VBA-функции для надстройки Пакет анализа. ♦ Мастер подстановок. Помогает при создании формул для поиска данных в списках. ♦ Мастер суммирования. Помогает создавать формулы, в которых сложение значений происходит при выполнении определенного условия. ♦ Пересчет в евро. Предоставляет средства пересчета и форматирования валюты евро. ♦ Поиск решения. Средство, которое помогает использовать разнообразные числовые методы, а также методы оптимизации. Дополнительные надстройки можно загрузить с Web-узла http: //of f ice .microsoft. com/. Работа с надстройками Лучшим способом работы с надстройками является использование диспетчера надстроек Excel, к которому можно получить доступ с помощью команды Сервисе Надстройки. В результате на экране появится диалоговое окно, показанное на рис. 40.1. В списке содержатся все инсталлированные надстройки Excel. Отмеченные надстройки — это те, которые открыты (или загружены) в текущий момент. С помощью данного диалогового окна можно открывать и закрывать надстройки путем установки или снятия флажка возле их названий. ^^^ Большинство файлов надстроек можно открыть с помощью команды ФайлоОт- На заметку крыть, однако закрыть надстройку с помощью команды Файл=>3акрыть нельзя. Единственный способ удалить надстройку — это выйти из Excel и перезапустить ее или написать специальный макрос, который будет закрывать надстройку. / Когда надстройка открыта, в интерфейсе можно заметить нечто необычное. Почти всегда в меню происходят некоторые изменения — появляется либо новое меню, либо один или несколько новых элементов в существующем меню. Например, если открыть надстройку Пакет анализа, то она добавит к меню Сервис новую команду Анализ данных. 692 Часть VI. Программирование в Excel
Рис. 40.1. Диалоговое окно Надстройки Зачем создавать надстройки У большинства пользователей Excel не возникает необходимости в создании надстроек. Однако если вы разрабатываете рабочие книги для других пользователей или просто хотите извлечь из Excel максимальную пользу, то эта тема может вас заинтересовать. Существует несколько причин, по которым может возникнуть потребность в преобразовании рабочей книги в надстройку. Вот некоторые из них. ■ Чтобы избежать путаницы. Если конечный пользователь загрузит вашу рабочую книгу в качестве надстройки, то она не появится в окне Excel и, следовательно, не будет мешать новичкам и сбивать их с толку. В отличие от просто скрытой рабочей книги, надстройку отобразить нельзя. ■ Чтобы упростить доступ к функциям рабочих листов. Для созданных пользователем функций рабочего листа, которые сохранены в надстройке, не нужно указывать имя рабочей книги. Например, если у вас есть новая функция под именем MOVAVG, которая хранится в рабочей книге Newf uncs. xls, то при обращении к данной функции из другой рабочей книги вам придется использовать следующий синтаксис: =NEWFUNCS.XLS!MOVAVG(Al:А5 0) Если сохранить данную функцию в файле надстройки, а затем открыть его, то синтаксис значительно упростится, поскольку нет необходимости включать ссылку на файл: =MOVAVG(A1:A50) ■ Чтобы облегчить доступ. После того как вы укажете положение файла надстройки на диске, она появится в диалоговом окне Надстройки под соответствующим именем и с кратким описанием ее функций. ■ Чтобы облегчить загрузку. Надстройки могут открываться автоматически при запуске Excel, независимо от каталога, в котором они хранятся. ■ Чтобы опустить запросы при закрытии. При закрытии надстройки пользова ль никогда не увидит такой запрос программы, как Сохранить изменения в...?. Глава 40. Создание надстроек Excel 693
Создание надстройки Несмотря на то что любую рабочую книгу можно преобразовать в надстройку, далеко не все рабочие книги от этого выигрывают. Дело в том, что рабочие книги, которые содержат только рабочие листы (т.е. без процедур или пользовательских диалоговых окон), становятся непригодными для дальнейшего использования, так как надстройки являются скрытыми. На самом деле от преобразования рабочих книг в надстройки выигрывают только те из них, которые содержат процедуры. Например, если у вас есть рабочая книга, содержащая процедуры общего назначения (подпрограммы и функции), то из нее получится идеальная надстройка. Создать надстройку очень просто. В этом разделе описывается, как создать надстройку из обычного файла рабочей книги. 1. Напишите процедуру VBA и убедитесь в правильности ее работы. Не забудьте о методе ее запуска. Возможно, для этого придется добавить новый элемент в меню (о том, как это сделать, речь идет чуть позже). 2. Запустите процедуру, когда будет активна другая рабочая книга, и протестируйте ее. Таким образом можно смоделировать ситуацию, когда рабочая книга играет роль надстройки, поскольку надстройка никогда не является активной рабочей книгой. Возможно, вы обнаружите, что в некоторых формулах со ссылками возникают ошибки. Например, следующий оператор хорошо работает в том случае, если макрос находится в активной рабочей книге, но выдает ошибку, если активна другая рабочая книга: х = Worksheets("Данные").Range("A1") Можно, конечно, указать в ссылке имя рабочей книги: х = Workbooks ("Моя_книга.Х1лБ") .Worksheets ("Данные" ) .Range ("A1") Однако данный метод не рекомендуется использовать, поскольку имя рабочей книги изменится, если преобразовать ее в надстройку. Выход заключается в использовании спецификатора ThisWorkbook (Эта рабочая книга): х = ThisWorkbook.Worksheets("Данные").Range("Al") 3. Выберите команду Файл^СвоЙства, перейдите во вкладку Документ и введите краткое содержательное название в поле Название и более длинное описание — в поле Заметки. Это действие не является обязательным, но благодаря ему пользоваться надстройкой будет проще. 4. Сделайте просмотр рабочей книги невозможным. Для этого воспользуйтесь командой ToolS1^Properties (СервиС=>Свойства) редактора Visual Basic. Щелкните на вкладке Protection (Защита) и сделайте необходимые установки. 5. Сохраните рабочую книгу как XLA-файл, выбрав команду Файл^Сохранить как. В диалоговом окне Сохранение документа в списке Тип файла выберите опцию Надстройка Microsoft Office Excel (*.xla). После создания надстройки необходимо ее протестировать. Для этого выберите команду Сервис^ Надстройки и с помощью кнопки Обзор в диалоговом окне Надстройки найдите XLA- файл, который был создан при выполнении п. 5. Таким образом, надстройка будет установлена. В диалоговом окне Надстройки используются название и описание, которые были введены в п. 3. _^^^ Можно изменять процедуры и экранные формы в XLA-версии своего файла и со- На заметку хранять изменения в окне редактора Visual Basic. / 694 Часть VI. Программирование в Excel
Пример надстройки В этом разделе описывается процесс создания одной полезной надстройки. Эта надстройка отображает диалоговое окно (рис. 40.2), которое позволяет пользователю быстро изменять некоторые параметры Excel. Несмотря на то что эти установки можно изменить в диалоговом окне Параметры, надстройка вносит изменения интерактивно. Например, если сбросить флажок Линии сетки, сетка немедленно исчезнет. Р* у*—* сетки & Яолычкв листов I ^Заголовки строки столбцов FCToaca состояли ' X? CTOOKeAODMvri Р 6я>ти™»ь«,пмс« npcp/тя, г Етаюяиташ ^ Р С.ори»ит«льная полоса прокрутки Настройка рабочей книги Рабочая книга будущей надстройки должна состоять всего из одного рабочего листа, который будет пуст. И хотя этот рабочий лист не используется, тем не менее он должен быть представлен, поскольку каждая рабочая книга должна иметь по крайней мере один рабочий лист. В окне редактора Visual Basic вставьте в рабочую книгу модуль VBA (под именем Modulel) и экранную форму (под именем UserForml). К^ Файл надстройки можно найти на прилагаемом к книге компакт-диске. На компагг- ди»е ;*Ч Код в Modulel Приведенный ниже код содержится в модуле Modulel. Эта процедура проверяет, является ли рабочий лист активным. Если рабочий лист активен, эта подпрограмма отображает диалоговое окно, основанное на экранной форме UserForml. Если активен не рабочий лист, то выводится соответствующее сообщение. Sub Показ_диал_окно() If TypeName(ActiveSheet) <> "Worksheet" Then MsgBox "Должен быть открыт рабочий лист", vblnformation Else UserForml.Show End If End Sub Процедуры объекта ThisWorkbook Объект ThisWorkbook (ЭтаКнига) содержит одну процедуру, которая добавляет элемент к меню Сервис, когда рабочая книга (надстройка) открыта. А другая процедура удаляет этот элемент меню, когда рабочая книга (надстройка) закрыта. Ниже приведены коды этих процедур. Private Sub Workbook_Open() Set NewMenuItem = Application.CommandBars _ ("Worksheet Menu Bar").Controls("Сервис").Controls.Add With NewMenuItem Рис. 40.2. В этом диалоговом окне можно интерактивно изменять некоторые параметры отображения рабочего листа Excel Глава 40. Создание надстроек Excel 695
.Caption = "Параметры листа..." .BeginGroup = True .OnAction = "Показ_диал_окно" End With End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) On Error Resume Next Application.CommandBars("Worksheet Menu Bar"). _ Controls("Сервис"). _ Controls("Параметры листа...").Delete End Sub Подпрограмма Workbook_Open добавляет команду Параметры листа в нижнюю часть меню Сервис и выполняется при открытии рабочей книги (надстройки). При закрытии надстройки выполняется подпрограмма Workbook_Bef oreClose, которая удаляет команду Параметры листа из меню Сервис. Создание экранной формы UserForml На рис. 40.3 показана экранная форма UserForml с десятью элементами управления (девять флажков опций и одна командная кнопка). Все элементы управления получили названия, которые не нуждаются в дополнительных разъяснениях. Кроме того, учтены нужды любителей пользоваться клавиатурой: установлено свойство Accelerator (Акселератор) для выделения соответствующих букв, управляющих работой элементов диалогового окна. -laixl *J Г &м« сетки Г драим, жсгсв Г~ Заголовки строк и стопбцЕе • ■ Г~ Строка ссстс»«я Г"ев0ТМкадьнаяпо*»х*Г1рокеуш1 Г" СзрокаФориуп Г" Есфизо«гйлы«яг»йоса прокрутки . г— £щаея*твяи страниц Г* Формулы Рис. 40.3. Новое диалоговое окно, создаваемое в редакторе Visual Basic Объект UserForml содержит процедуры обработки событий для объектов, помещенных в форму. Следующая подпрограмма выполняется перед отображением диалогового окна. Private Sub UserForm_Initialize() cbGridlines = ActiveWindow.DisplayGridlines cbHeaders = ActiveWindow.DisplayHeadings cbVerticalScrollbar = _ ActiveWindow.DisplayVerticalScrollBar cbHorizonalScrollbar = _ ActiveWindow.DisplayHorizontalScrollBar cbFormulaView = ActiveWindow.DisplayFormulas cbSheetTabs = ActiveWindow.DisplayWorkbookTabs cbStatusBar = Application.DisplayStatusBar cbFormulaBar = Application.DisplayFormulaBar cbPageBreaks = ActiveSheet.DisplayPageBreaks End Sub Процедура UserForm_Initialize выполняет настройку параметров флажков в диалоговом окне таким образом, чтобы они соответствовали текущим установкам. Например, если на 696 Часть VI. Программирование в Excel
рабочем листе отображаются линии сетки, свойство ActiveWindow.DisplayGridlines вернет значение True (Истина), которое присваивается флажку cbGridlines (в диалоговом окне обозначен как Линии сетки)1. Это значит, что данный флажок установлен. У каждого флажка также есть соответствующая процедура обработки событий, которая выполняется после щелчка на данном флажке. Код этих процедур приведен ниже. Каждая процедура выполняет соответствующие изменения. Например, если устанавливается флажок Линии сетки, свойство DisplayGridlines устанавливается равным True (Истина), в результате чего линии сетки станут видимыми. Private Sub cbGridlines_Click() ActiveWindow.DisplayGridlines = cbGridlines End Sub Private Sub cbHeaders_Click() ActiveWindow.DisplayHeadings = cbHeaders End Sub Private Sub cbVerticalScrollbar_Click() ActiveWindow.DisplayVerticalScrollBar = cbVerticalScrollbar End Sub Private Sub cbHorizontalScrollbar_Click() ActiveWindow.DisplayHorizontalScrollBar = cbHorizontalScrollbar End Sub Private Sub cbFormulaView_Click() ActiveWindow.DisplayFormulas = cbFormulaView End Sub Private Sub cbSheetTabs_Click() ActiveWindow.DisplayWorkbookTabs = cbSheetTabs End Sub Private Sub cbStatusBar_Click() Application.DisplayStatusBar = cbStatusBar End Sub Private Sub cbFormulaBar_Click() Application.DisplayFormulaBar = cbFormulaBar End Sub Private Sub cbPageBreaks_Click() ActiveSheet.DisplayPageBreaks = cbPageBreaks End Sub Объект UserForml имеет еще одну процедуру обработки событий для кнопки Выход. Эта процедура (код которой приведен ниже) просто закрывает диалоговое окно. Private Sub ExitButton_Click() Unload UserForml End Sub Тестирование рабочей книги Прежде чем преобразовывать данную рабочую книгу в надстройку, ее необходимо протестировать. Тестирование нужно проводить, когда активна другая рабочая книга. Таким образом, моделируется ситуация, когда наша рабочая книга является надстройкой (как вы помните, надстройка никогда не является активной рабочей книгой). ' Напомним, что каждый элемент управления имеет имя (свойство Name), под которым он "известен" программам, и заголовок (свойство Caption), который отображается в диалоговом окне. В описываемом примере имена элементов управления приведены на английском языке (с соответствующими префиксами), а заголовки — на русском. — Прим. ред. Глава 40. Создание надстроек Excel 697
Для тестирования сохраните свою рабочую книгу, закройте ее и снова откройте. При открытии рабочей книги будет выполнена процедура Workbook_Open, которая добавит новую команду Параметры листа в меню Сервис. Теперь при выборе команды Сервисе Параметры листа будет отображаться диалоговое окно, показанное на рис. 40.4. Добавление описания Рекомендуется выполнить это действие, хотя оно и не является необходимым. Выберите команду Файл^Свойства, чтобы вызвать диалоговое окно Свойства, а затем щелкните на вкладке Документ, которая показана на рис. 40.5. Сдрвис ( Данные Qkho £правка -' Орфография F7 Справочные материалы.-. АК+щалчок Об*цчй раб91Л*1 обл ■ сть Доступ к книге. Исправления Сравнить н i>"Svm iwTb &\цгч Зашита Совместная работа 1 ДллЧс-р ^!«р*м»т|)а. CuitnapHM Зависимости формул Поиск решения... : Надстройки Параметры аатоэаме.ны... | Нестройна i Параметры.. Параметры листа. [> Обиие Документ ) Статистика j Cocraa | Прочие | Йа>в»еек Теи*- АйТОр; РуеЛВОяХГелы ГфЮШиня: Группа iQwmBcnow Заметки! i '.«рвиетры пктв Д ■*ГГараКТ1»Ш1иаСТРОЙКаП1ра11еТрОа | рабочего листа ЕхсИ Г" Создать рисунок для предварительного просмотра | <Ж Отмена | Рис. 40.4. В меню Сервис появилась новая команда Параметры листа Рис. 40.5. Описание надстройки в диалоговом окне Свойства Введите название надстройки в поле Название. Именно оно будет появляться в диалоговом окне Надстройки. Затем введите описание надстройки в поле Заметки. Эта информация будет появляться внизу диалогового окна Надстройки при выборе данной надстройки. Защита надстройки Одно из преимуществ надстройки — возможность защиты исходного кода программ от посторонних глаз. Чтобы защитить проект надстройки, выполните ряд действий. 1. Откройте окно редактора Visual Basic. 2. В окне Project (Проект) щелкните на рабочей книге надстройки. 3. Выберите команду Tools'^ VBAProject Properties (Сервис^Свойства проекта VBA). Появится диалоговое окно VBAProject - Project Properties (Свойства проекта VBA). 4. Щелкните на вкладке Protection (Зашита), которая показана на рис. 40.6. 5. Установите флажок Lock project for viewing (Блокировать просмотр проекта). 6. Дважды введите пароль для проекта. 7. Щелкните на кнопке ОК. 699 Часть VI. Программирование в Excel
VSAFVof«c4 Prefect Ргомнвеа Generat РгсЧжЛсп | -Lock project R Lock protect f«vJewJr$ -Password to view protect properties l_. Corf™ oastftcrti Рис. 40.6. Диалоговое окно VBAProject - Project Properties Сохранение надстройки Чтобы сохранить рабочую книгу в качестве надстройки, активизируйте Excel и выберите команду Файл^Сохранить как. Из раскрывающегося списка Тип файла выберите Надстройка Microsoft Office Excel (*.xla). В поле Имя файла введите имя надстройки и щелкните на кнопке ОК. Открытие надстройки Чтобы избежать путаницы, закройте рабочую книгу с расширением XLS перед тем, как открыть созданную из нее надстройку, а затем выберите команду Сервис^Надстройки. В появившемся диалоговом окне Надстройки щелкните на кнопке Обзор и найдите на жестком диске надстройку, которая только что была создана. После этого в диалоговом окне Надстройки появится список надстроек. Здесь можно найти также информацию, которая была введена в диалоговом окне Свойства. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно и загрузить надстройку. Когда надстройка будет загружена, в меню Сервис появится новая команда Параметры листа, которая выполняет в надстройке подпрограмму Показ_диал_окно. Если открыть окно редактора Visual Basic, можно убедиться, что эта надстройка находится в окне Project. Но вам не удастся сделать в ней никаких изменений, если вы не введете соответствующий пароль. Глава 40. Создание надстроек Excel 699
Приложения П оследняя часть книги содержит несколько очень полезных приложений. В приложении А вы найдете полный справочник по всем функциям Excel. В приложении Б приведено содержание прилагаемого к книге компакт- диска. Приложение В содержит описания интересных игр, развлечений и диаграмм, созданных в Excel. Если вы ищете дополнительные источники информации по Excel, загляните в приложение Г. Комбинации клавиш, используемые в Excel, представлены в приложении Д. Приложение А Справочник по функциям Excel Приложение Б Что можно найти на компакт-диске Приложение В В часы досуга Приложение Г Дополнительные источни информации Приложение Д Клавиатурные эквиваленты
ПРИЛОЖЕНИЕ СпраВОЧНИК по функциям Excel А |р*\ данном приложении содержится полный перечень '—^ функций Excel. Они расположены в алфавитном порядке и разбиты по категориям, которые представлены в диалоговом окне Мастер функций. Некоторые из этих функций (они указаны в приведенных ниже таблицах) доступны только после за- грузки надстройки Пакет анализа. Чтобы получить подробную информацию о конкретной функции и ее аргументах, выберите ее в диалоговом окне Мастер функций и щелкните на кнопке Справка по этой функции.
Таблица А.1 Функция Ф\ аботы с бг ункции для работы с базами данных Назначение БДЦИСП Оценивает дисперсию по выборке из базы данных БДДИСПП Вычисляет дисперсию, считая, что множество выбранных элементов базы данных составляет генеральную совокупность БДПРОИЗВЕД Перемножает величины в конкретном поле записей, которые удовлетворяют некоторому критерию БДСУММ Суммирует в поле базы данных числа, удовлетворяющие некоторому критерию БИЗВЛЕЧЬ Извлекает из базы данных запись, удовлетворяющую заданному критерию БСЧЁТ В базе данных подсчитывает записи, которые удовлетворяют некоторому критерию и содержат числа в определенном поле БСЧЁТА В базе данных подсчитывает записи, которые удовлетворяют некоторому критерию и содержат какие-либо значения в определенном поле ДМАКС Возвращает максимальное значение в определенном поле среди выбранных записей базы данных ДМИН Возвращает минимальное значение в определенном поле среди выбранных записей базы данных ДСРЗМАЧ Возвращает среднее значение для выбранных записей базы данных ДСТАНДОТКЛ Оценивает стандартное отклонение для выборки из базы данных ДСТАНДОТКЛП Оценивает стандартное отклонение для выборки из базы данных, считая, что множество выбранных элементов базы данных составляет генеральную совокупность Таблица А.2. Функции категории Дата и время Функция Назначение ВРЕМЗНАЧ ВРЕМЯ ГОД ДАТА ДАТАЗНАЧ ДАТАМЕС* ДЕНЬ ДЕНЬНЕД ДНЕЙ360 ДОЛЯГОДА* КОНМЕСЯЦА* МЕСЯЦ МИНУТА Возвращает время в числовом формате для времени, заданного текстовой строкой Возвращает время в числовом формате для конкретного времени Возвращает год, соответствующий аргументу даты в числовом формате Возвращает порядковый номер конкретной даты Преобразует дату из текстового формата в числовой Возвращает дату (в числовом формате), отстоящую на заданное количество месяцев вперед или назад от начальной даты Преобразует дату в числовом формате в день месяца Преобразует дату в числовом формате в день недели Вычисляет количество дней между двумя датами, считая, что в году 360 дней Возвращает долю года, представляющую общее количество дней между начальной и конечной датами Возвращает порядковый номер последнего дня месяца, отстоящего на указанное количество месяцев от начальной даты Преобразует дату в числовом формате в месяц Преобразует дату в числовом формате в минуты Приложение А. Справочник по функциям Excel 703
Окончание табл. А.2 Функция Назначение НОМНЕДЕЛИ* Возвращает номер недели в году РАБДЕНЬ* Возвращает дату в числовом формате, отстоящую на заданное количество рабочих дней вперед или назад от начальной даты СЕГОДНЯ Возвращает сегодняшнюю дату в числовом формате СЕКУНДЫ Преобразует дату в числовом формате в секунды ТДАТА Возвращает текущую дату и время ЧАС Преобразует дату в числовом формате в часы ЧИСТРАБДНИ* Возвращает общее количество рабочих дней между двумя датами * Доступна только в случае подключения надстройки Пакет анализа. Таблица А.З. Функции инженерной категории Функция Назначение БЕССЕЛЬ.1 Вычисляет значение функции Бесселя первого рода мнимого аргумента in (x) БЕССЕЛЬ.J Вычисляет значение функции Бесселя первого рода Jn (x) БЕССЕЛЬ.К Вычисляет значение функции Бесселя второго рода мнимого аргумента кп (х) БЕССЕЛЬ.У Возвращает значение функции Бесселя второго рода Yn (x) ВОСЬМ.В.ДВ Преобразует восьмеричное число в двоичное ВОСЬМ.В.ДЕС Преобразует восьмеричное число в десятичное ВОСЬМ.В.ШЕСТН Преобразует восьмеричное число в шестнадцатеричное ДВ.В.ВОСЬМ Преобразует двоичное число в восьмеричное ДВ.В.ДЕС Преобразует двоичное число в десятичное ДВ.В.ШЕСТН Преобразует двоичное число в шестнадцатеричное ДЕЛЬТА Проверяет, равны ли два числа ДЕС.В.ВОСЬМ Преобразует десятичное число в восьмеричное ДЕС.В.ДВ Преобразует десятичное число в двоичное ДЕС.В.ШЕСТН Преобразует десятичное число в шестнадцатеричное ДФОШ Вычисляет значение дополнительной функции ошибок КОМПЛЕКСН Преобразует действительный и мнимый коэффициенты в комплексное число MHHM.ABS Вычисляет абсолютное значение (модуль) комплексного числа MHHM.COS Вычисляет косинус комплексного числа МНИМ.ЕХР Вычисляет экспоненту комплексного числа MHHM.LN Вычисляет натуральный логарифм комплексного числа MHHM.LOGIO Вычисляет десятичный логарифм комплексного числа MHHM.LOG2 Вычисляет двоичный логарифм комплексного числа MHHM.SIN Вычисляет синус комплексного числа 704 Часть VII. Приложения
Окончание табл. А.З Функция Назначение МНИМ.АРГУМЕНТ МНИМ.ВЕЩ МНИМ.ДЕЛ МНИМ.КОРЕНЬ МНИМ.ПРОИЗВЕД МНИМ.РАЗН МНИМ.СОПРЯЖ МНИМ.СТЕПЕНЬ МНИМ.СУММ МНИМ.ЧАСТЬ ПОРОГ ПРЕОБР ФОШ ШЕСТН.В.ВОСЬМ ШЕСТН.В.ДВ ШЕСТН.В.ДЕС Вычисляет аргумент q — угол, выраженный в радианах Возвращает вещественную часть комплексного числа Вычисляет частное двух комплексных чисел Извлекает квадратный корень из комплексного числа Вычисляет произведение двух комплексных чисел Вычисляет разность между двумя комплексными числами Вычисляет комплексное сопряженное комплексного числа Возводит комплексное число в целую степень Вычисляет сумму двух комплексных чисел Вычисляет мнимую часть комплексного числа Проверяет, превышает ли число пороговое значение Преобразует число из одной системы измерения в другую Вычисляет значение функции ошибок Преобразует шестнадцатеричное число в восьмеричное Преобразует шестнадцатеричное число в двоичное Преобразует шестнадцатеричное число в десятичное Примечание. Функции этой категории доступны только в случае подключения надстройки Пакет анализа. Таблица А.4. Функции финансовой категории Функция Назначение АМОРУВ* АМОРУМ* АПЛ АСЧ БЗРАСПИС* БС вед ДАТАКУПОНДО* ДАТАКУПОНПОСЛЕ* ДДОБ Возвращает величину амортизации для каждого периода Возвращает величину амортизации для каждого периода (различия между АМОРУВ и АМОРУМ указаны в справочной системе Excel) Возвращает величину амортизации актива за один период, рассчитанную линейным методом Возвращает величину амортизации актива за данный период, рассчитанную методом суммы годовых чисел Возвращает будущее значение основного капитала после начисления сложных процентов Возвращает будущую стоимость инвестиции на основе периодических равных по величине сумм платежей и постоянной процентной ставки Возвращает внутреннюю ставку доходности для ряда потоков денежных средств, представленных их числовыми значениями Возвращает предыдущую дату купона перед датой соглашения Возвращает следующую дату купона после даты соглашения Возвращает величину амортизации имущества для указанного периода, используя метод двукратного учета амортизации или иной явно указанный метод Приложение А. Справочник по функциям Excel 705
Продолжение табл. АЛ Функция Назначение ДЛИТ* Возвращает ежегодную продолжительность действия ценных бумаг с периодическими выплатами по процентам ДНЕЙКУПОН* Возвращает количество дней в периоде действия купона, содержащем дату соглашения ДНЕЙКУПОНДО* Возвращает количество дней от начала действия купона до даты соглашения ДНЕЙКУПОНПОСЛЕ* Возвращает число дней от даты соглашения до срока следующего купона ДОХОД* Возвращает доход от ценных бумаг, который составляет периодические процентные выплаты ДОХОДКЧЕК* Возвращает доход по казначейскому чеку ДОХОДПЕРВНЕРЕГ* Возвращает доход по ценным бумагам с нерегулярным (коротким или длинным) первым периодом ДОХОДПОГАШ* Возвращает годовой доход от ценных бумаг, который составляет доход в срок вступления их в силу ДОХОДПОСЛНЕРЕГ* Возвращает доход по ценным бумагам с нерегулярным (коротким или длинным) последним периодом ДОХОДСКИДКА* Возвращает годовой доход по ценным бумагам, на которые сделана скидка ИНОРМА* Возвращает процентную ставку для полностью инвестированных ценных бумаг КПЕР Возвращает общее количество периодов выплаты для данного вклада на основе периодических постоянных выплат и постоянной процентной ставки МВСД Возвращает модифицированную внутреннюю скорость оборота средств для ряда последовательных периодических операций с наличными МДЛИТ* Возвращает модифицированную длительность Макалея для ценных бумаг с предполагаемой нарицательной стоимостью 100 руб. НАКОПДОХОД* Возвращает накопленный доход по ценным бумагам с периодической выплатой процентов НАКОПДОХОДПОГАШ* Возвращает накопленный доход по ценным бумагам, процент по которым выплачивается в срок погашения НОМИНАЛ* Возвращает номинальную годовую процентную ставку, если известны фактическая ставка и число периодов, составляющих год ОБЩДОХОД* Возвращает основные выплаты по займу между двумя периодами ОБЩПЛАТ* Возвращает накопленный доход по займу между двумя периодами выплат ОСПЛТ Возвращает величину платежа в погашение основной суммы по инвестиции за данный период на основе постоянства периодических платежей и процентной ставки ПЛТ Возвращает сумму периодического платежа для аннуитета на основе постоянства сумм платежей и процентной ставки ПДОБ Возвращает значение амортизации имущества за данный период, включая конкретные периоды, с помощью метода двойного процента со снижающегося остатка или иного явно указанного метода ПОЛУЧЕНО* Возвращает сумму, полученную в срок вступления в силу полностью обеспеченных ценных бумаг 706 Часть VII. Приложения
Окончание табл. А.4 Функция Назначение ПРПЛТ Возвращает сумму платежей процентов по инвестиции за данный период на основе постоянства сумм периодических платежей и процентной ставки ПС Возвращает приведенную к текущему моменту стоимость инвестиции ПУО Возвращает величину амортизации актива для любого выбранного периода, в том числе для частичных периодов, с помощью метода двойного уменьшения остатка или иного указанного метода РАВНОКЧЕК* Возвращает доход по казначейскому чеку, эквивалентный облигации РУБЛБ.ДЕС* Преобразует цену в рублях, выраженную в виде дроби, в цену в рублях, выраженную десятичным числом РУБЛЬ.ДРОБЬ* Преобразует цену в рублях, выраженную десятичным числом, в цену в рублях, выраженную в виде дроби СКИДКА* Возвращает норму скидки для ценных бумаг СТАВКА Возвращает процентную ставку по аннуитету за один период ФУО Возвращает величину амортизации актива для заданного периода, рассчитанную методом фиксированного уменьшения остатка ЦЕНА* Возвращает цену за 100 руб. нарицательной стоимости ценных бумаг, по которым выплачивается периодический процент ЦЕНАКЧЕК* Возвращает цену за 100 руб. нарицательной стоимости для казначейского чека ЦЕНАПЕРВНЕРЕГ* Возвращает цену за 100 руб. нарицательной стоимости ценных бумаг для нерегулярного (короткого или длинного) первого периода ЦЕНАПОГАШ* Возвращает цену за 100 руб. нарицательной стоимости ценных бумаг, по которым доход выплачивается в срок вступления в силу ЦЕНАПОСЛНЕРЕГ* Возвращает цену за 100 руб. нарицательной стоимости ценных бумаг для нерегулярного (короткого или длинного) последнего периода купона ЦЕНАСКИДКА* Возвращает цену за 100 руб. нарицательной стоимости ценных бумаг, на которые сделана скидка ЧИСЛКУПОН* Возвращает округленное до ближайшего целого количество купонов, которые могут быть оплачены между датой соглашения и сроком вступления в силу ЧИСТВНДОХ* Возвращает внутреннюю скорость оборота для расписания денежных поступлений, не обязательно периодических ЧИСТНЗ* Возвращает чистую текущую стоимость инвестиции, вычисляемую на основе нормы скидки и ряда периодических поступлений наличных, не обязательно периодических ЧПС Возвращает величину чистой приведенной стоимости инвестиции, используя ставку дисконтирования, а также стоимости будущих выплат (отрицательные значения) и поступлений (положительные значения) ЭФФЕКТ* Возвращает действующие ежегодные процентные ставки, если заданы номинальная годовая процентная ставка и количество периодов, составляющих год • Доступна только после подключения надстройки Пакет анализа. Приложение А. Справочник по функциям Excel 707
Таблица А.5. Функции информационной категории Функция Назначение ЕЛОГИЧ ЕНД ЕНЕТЕКСТ ЕНЕЧПТ* ЕОШ ЕОШИБКА ЕПУСТО ЕССЫЛКА ЕТЕКСТ E4DTH* ЕЧИСЛО ИНФОРМ НД СЧИТАТЬПУСТОТЫ тип ТИП.ОШИБКИ ч ЯЧЕЙКА Возвращает логическое значение ИСТИНА, если проверяемая величина является логическим значением Возвращает логическое значение ИСТИНА, если проверяемая величина является значением ошибки #н/д Возвращает логическое значение ИСТИНА, если проверяемая величина не является текстом Возвращает логическое значение ИСТИНА, если проверяемая величина является нечетным числом Возвращает логическое значение ИСТИНА, если проверяемая величина является одним из возможных значений ошибок Excel, за исключением ошибки #н/д Возвращает логическое значение ИСТИНА, если проверяемая величина является одним из возможных значений ошибок Excel Возвращает логическое значение ИСТИНА, если проверяемое значение является ссылкой на пустую ячейку Возвращает логическое значение ИСТИНА, если проверяемая величина является ссылкой Возвращает логическое значение ИСТИНА, если проверяемая величина является текстом Возвращает логическое значение ИСТИНА, если проверяемая величина является четным числом Возвращает логическое значение ИСТИНА, если проверяемая величина является числом Возвращает информацию о текущей операционной среде Возвращает значение ошибки #н/д Подсчитывает количество пустых ячеек в заданном диапазоне Возвращает тип значения Возвращает номер, соответствующий типу ошибки Возвращает значение, преобразованное в число Возвращает информацию о формате, местоположении или содержимом левой верхней ячейки диапазона * Доступна только после подключения надстройки Пакет анализа. Таблица А.б. Функции логической категории Функция Назначение ЕСЛИ И Задает логическое условие для проверки Возвращает логическое значение ИСТИНА, если все ее аргументы принимают значение ИСТИНА ИЛИ Возвращает логическое значение ИСТИНА, если хотя бы один из ее аргументов принимает значение ИСТИНА 708 Часть VII. Приложения
Окончание табл. А.6 Функция Назначение ИСТИНА Возвращает логическое значение ИСТИНА ЛОЖЬ Возвращает логическое значение ЛОЖЬ НЕТ Меняет логическое значение аргумента на противоположное Таблица А.7. Функции категории Ссылки и массивы Функция Назначение АДРЕС Возвращает в виде текста ссылку на ячейку рабочей таблицы ВПР Просматривает левый столбец массива в поисках определенного значения и возвращает значение из ячейки, находящейся на пересечении строки с найденным значением и указанного столбца ВЫБОР Выбирает значение из списка значений ГИПЕРССЫЛКА Создает ярлык или переход, который открывает документ, расположенный на сетевом сервере, во внутренней сети или в Internet ГПР Просматривает верхнюю строку массива в поисках определенного значения и возвращает значение из ячейки, находящейся на пересечении столбца с найденным значением и заданной строки ДВССЫЛ Возвращает ссылку, заданную текстовым значением ИНДЕКС Использует номер элемента массива (индекс) для выбора значения из ссылки или массива ОБЛАСТИ Возвращает количество областей в ссылке П0ИСКП03 Ищет значения в ссылке или массиве ПРОСМОТР Ищет значения в векторе или массиве СМЕЩ Возвращает ссылку, смещенную относительно заданной ссылки СТОЛБЕЦ Возвращает номер столбца в ссылке СТРОКА Возвращает номер строки в ссылке ТРАНСП Возвращает транспонированный массив ЧИСЛСТОЛБ Возвращает число столбцов в ссылке ЧСТРОК Возвращает число строк в ссылке Таблица А.8. Функции математической и тригонометрической категории Функция Назначение ABS ACOS ACOSH ASIN ASINH Возвращает абсолютное значение числа Возвращает арккосинус числа Возвращает гиперболический арккосинус числа Возвращает арксинус числа Возвращает гиперболический арксинус числа Приложение А. Справочник по Функциям Excel 709
Продолжение табл. А.8 Функция ATAN ATAN2 ATANH COS COSH EXP LN LOG LOG10 SIN SINH TAN TANH ГРАДУСЫ ДВФАКТР ЗНАК КОРЕНЬ КОРЕНЬПИ* МОБР МОПРЕД МУЛЬТИНОМ" МУМНОЖ НЕЧОГ нод* нок* 0KPBBEPX окрвниз ОКРУГЛ ОКРУГЛВВЕРХ ОКРУГЛВНИЗ ОКРУГЛТ* ОСТАТ ОТБР пи Назначение Возвращает арктангенс числа Возвращает арктангенс для заданных координат X и У Возвращает гиперболический арктангенс числа Возвращает косинус числа Возвращает гиперболический косинус числа Возвращает число е, возведенное в степень, показателем которой является заданное число Возвращает натуральный логарифм числа Возвращает логарифм числа по заданному основанию Возвращает десятичный логарифм числа Возвращает синус заданного угла Возвращает гиперболический синус числа Возвращает тангенс числа Возвращает гиперболический тангенс числа Преобразует радианы в градусы Возвращает двойной факториал числа Возвращает знак числа Возвращает квадратный корень из числа Возвращает квадратный корень из числа, умноженного на л Возвращает матрицу, обратную той, которая хранится в массиве Возвращает определитель матрицы, хранящейся в массиве Возвращает отношение факториала суммы заданных значений к произведению факториалов этих значений Возвращает произведение двух матриц, хранящихся в массивах Округляет число с избытком до ближайшего нечетного целого Возвращает наибольший общий делитель Возвращает наименьшее общее кратное Округляет число до ближайшего целого или до ближайшего кратного указанного значения Округляет число до ближайшего меньшего по модулю целого Округляет число до заданного количества цифр Округляет число с избытком Округляет число с недостатком Возвращает число, округленное до числа, кратного заданному Возвращает остаток от деления Округляет число до целого Возвращает значение числа я 710 Часть VII. Приложения
Окончание табл. А.8 Функция Назначение ПРОИЗВЕЛ ПРОМЕЖУТОЧНЫЕ. ИТОГИ РАДИАНЫ РИМСКОЕ РЯД.СУММ* СЛУЧМЕЖДУ* слчис СТЕПЕНЬ СУММ СУММЕСЛИ СУММКВ СУММКВРАЗН СУММПРОИЗВ СУММРАЗНКВ СУММСУММКВ СЧЕТЕСЛИ ФАКТР ЦЕЛОЕ ЧАСТНОЕ* ЧЕТН ЧИСЛКОМБ Возвращает результат перемножения аргументов Возвращает промежуточные итоги по списку или по базе данных Преобразует градусы в радианы Преобразует арабские цифры в римские в виде текста Возвращает сумму степенного ряда, вычисленную по определенной формуле Возвращает случайное число из промежутка между заданными числами Возвращает случайное число из промежутка между 0 и 1 Возвращает результат возведения числа в степень Суммирует аргументы Суммирует значения в ячейках, выбираемых по заданному критерию Возвращает сумму квадратов аргументов Возвращает сумму квадратов разностей соответствующих значений из двух массивов Возвращает сумму произведений соответствующих элементов массива Возвращает сумму разностей квадратов соответствующих значений из двух массивов Возвращает сумму сумм квадратов соответствующих значений из двух массивов Подсчитывает внутри диапазона количество непустых ячеек, удовлетворяющих заданному критерию Возвращает факториал числа Округляет число с недостатком до ближайшего целого Возвращает целую часть от деления Округляет число с избытком до ближайшего четного целого Возвращает количество комбинаций для заданного числа объектов * Доступна только после подключения надстройки Пакет анализа. Таблица А.9. Функции категории Статистические Функция Назначение FPACn Возвращает вероятности F-распределения FPACnOBP Возвращает обратное значение для F-распределения ZTECT Возвращает двухстороннюю Р-величину z-теста БЕТАОБР Возвращает функцию, обратную к интегральной функции бета-распределения БЕТАРАСП Возвращает интегральную функцию бета-распределения БИНОМРАСП Возвращает отдельное значение биномиального распределения ВЕЙБУЛЛ Возвращает распределение Вейбулла ВЕРОЯТНОСТЬ Возвращает вероятность того, что значения из интервала находятся внутри заданных пределов Приложение А. Справочник по функциям Excel 711
Продолжение табл. А.9 Функция Назначение ГАММАНЛОГ ГАММАОБР ГАММАРАСП ГИПЕРГЕОМЕТ ДИСП ДИСПР ДИСПРА ДОВЕРИТ КВАДРОТКЛ КВАРТИЛЬ КВПИРСОН КОВАР КОРРЕЛ КРИТБИНОМ ЛГРФПРИБЛ ЛИНЕЙН ЛОГНОРМОБР ЛОГНОРМРАСП МАКС МАКСА МЕДИАНА МИН МИНА МОДА НАИБОЛЬШИЙ НАИМЕНЬШИЙ НАКЛОН НОРМАЛИЗАЦИЯ НОРМОБР НОРМРАСП НОРМСТОБР НОРМСТРАСП Возвращает натуральный логарифм гамма-функции G(x) Возвращает обратное гамма-распределение Возвращает гамма-распределение Возвращает гипергеометрическое распределение Оценивает дисперсию выборки Вычисляет дисперсию генеральной совокупности Вычисляет дисперсию для генеральной совокупности; в расчете помимо числовых значений учитываются также текстовые и логические значения Возвращает доверительный интервал для среднего генеральной совокупности Возвращает сумму квадратов отклонений Возвращает квартиль набора данных Возвращает квадрат коэффициента корреляции Пирсона Возвращает ковариацию, т.е. среднее произведений отклонений для каждой пары точек данных Возвращает коэффициент корреляции между двумя наборами данных Возвращает наименьшую величину, для которой значение интегральной функции биномиального распределения больше или равно заданному критерию Возвращает параметры кривой, полученной в результате экспоненциальной аппроксимации Возвращает массив, который описывает функцию регрессии, полученную в результате аппроксимации исходных данных методом наименьших квадратов Возвращает обратную функцию логарифмического нормального распределения Возвращает значение функции логарифмического нормального распределения Возвращает максимальное значение в списке аргументов Возвращает наибольшее значение в списке аргументов. Наряду с числовыми значениями выполняется также сравнение текстовых и логических значений Возвращает медиану для заданных чисел Возвращает минимальное значение в списке аргументов Возвращает наименьшее значение в списке аргументов. Наряду с числовыми значениями выполняется также сравнение текстовых и логических значений Возвращает моду (наиболее часто встречающийся элемент) набора данных Возвращает /с-ю наибольшую величину в наборе данных Возвращает fc-ю наименьшую величину в наборе данных Возвращает наклон прямой линейной регрессии Возвращает нормализованную величину Возвращает обратную функцию нормального распределения Возвращает функцию нормального распределения Возвращает обратную функцию стандартного нормального распределения Возвращает функцию стандартного нормального распределения 772 Часть VII. Приложения
Продолжение табл. А.9 Функция Назначение ОТРБИНОМРАСП Возвращает функцию отрицательного биномиального распределения ОТРЕЗОК Возвращает отрезок, отсекаемый на оси линейной регрессией ПЕРЕСТ Возвращает число перестановок для заданного числа объектов ПЕРСЕНТИЛЬ Возвращает к-ю персентиль для значений из заданного диапазона ПИРСОН Возвращает коэффициент корреляции Пирсона ПРЕДСКАЗ Возвращает предсказанное значение функции в точке X на основе линейной регрессии для массивов известных значений X и Y ПРОЦЕНТРАНГ Возвращает процентный ранг значения в наборе данных ПУАССОН Возвращает функцию распределение Пуассона РАНГ Возвращает ранг числа в списке чисел РОСТ Рассчитывает прогнозируемый экспоненциальный рост на основании имеющихся данных СКОС Возвращает асимметрию распределения СРГАРМ Возвращает среднее гармоническое множества данных СРГЕОМ Возвращает среднее геометрическое СРЗНАЧ Возвращает среднее значение для аргументов СРЗНАЧА Вычисляет среднее арифметическое значений, заданных в списке аргументов; помимо чисел в расчете могут быть текст и логические значения СРОТКЛ Возвращает среднее значение абсолютных величин отклонений точек данных от среднего СТАНДОТКЛОН Оценивает стандартное отклонение по выборке СТАНДОТКЛОНА Оценивает стандартное отклонение по выборке, при этом в расчете также учитываются текстовые и логические значения СТАНДОТКЛОН П Вычисляет стандартное отклонение по генеральной совокупности СТАНДОТКЛОНПА Вычисляет стандартное отклонение по генеральной совокупности, при этом в расчете также учитываются текстовые и логические значения СТОШУХ Возвращает стандартную ошибку предсказанных значений У для каждого значения X в регрессионном анализе СТЬЮДРАСП Возвращает функцию (-распределения Стьюдента СТЬЮДРАСПОБР Возвращает функцию, обратную f-распределению Стьюдента СЧЁТ Подсчитывает количество чисел в списке аргументов СЧЁТЗ Подсчитывает количество непустых значений в списке аргументов ТЕНДЕНЦИЯ Возвращает значение в соответствии с линейным трендом ТТЕСТ Возвращает вероятность, соответствующую критерию Стьюдента УРЕЗСРЕДНЕЕ Возвращает среднее для внутренней области набора данных ФИШЕР Возвращает преобразование Фишера ФИШЕРОБР Возвращает функцию, обратную к преобразованию Фишера ФТЕСТ Возвращает результат F-теста ХИ20БР Возвращает функцию, обратную к односторонней вероятности для хи-квадрат распределения ХИ2РАСП Возвращает одностороннюю вероятность для хи-квадрат распределения Приложение А. Справочник по функциям Excel 713
Окончание табл. А.9 Функция Назначение ХИ2ТЕСТ Возвращает тест на независимость ЧАСТОТА Возвращает эмпирическое распределение в виде вертикального массива ЭКСПРАСП Возвращает функцию экспоненциального распределения ЭКСЦЕСС Возвращает эксцесс множества данных Функция Назначение ДЛСТР ЗАМЕНИТЬ ЗНАЧЕН КОДСИМВ ЛЕВСИМВ НАЙТИ ПЕЧСИМВ ПОВТОР ПОДСТАВИТЬ ПОИСК ПРАВСИМВ ПРОПИСН ПРОПНАЧ ПСТР РУБЛЬ СЖПРОБЕЛЫ СИМВОЛ СОВПАД СТРОЧН СЦЕПИТЬ ТЕКСТ ФИКСИРОВАННЫЙ Возвращает число символов в строке текста Заменяет символы внутри текста Преобразует текстовый аргумент в число Возвращает цифровой код для первого символа в строке текста Возвращает символы, которые являются крайними слева в текстовой строке Находит одно текстовое значение внутри другого (различая строчные и прописные буквы) Удаляет из текста все непечатаемые символы Повторяет текст заданное число раз Подставляет новый текст вместо старого в текстовой строке Находит одно текстовое значение внутри другого (не различая строчные и прописные буквы) Возвращает крайние правые символы из текстовой строки Преобразует текст в символы верхнего регистра Делает прописной первую букву в каждом слове текстовой строки Возвращает определенное число символов из текстовой строки в указанную позицию Преобразует число в текст с помощью денежного формата Удаляет пробелы из текста Возвращает символ, определяемый заданным номером кода Проверяет идентичность двух текстовых значений Преобразует текст в символы нижнего регистра Объединяет несколько элементов текста в один текстовый элемент Форматирует число и преобразует его в текст Форматирует число в виде текста с фиксированным числом десятичных разрядов 714 Часть VII. Приложения
Что можно найти на компакт-диске |^в\ этом приложении приводится описание содержимого L==^ прилагаемого к книге компакт-диска. ^^^ Программа, которая позволяет установить файлы На заметку или другие программы с компакт-диска, имеет английский интерфейс. Приложение разбито на несколько разделов. ■ Системные требования. ■ Использование компакт-диска. ■ Файлы и программное обеспечение. ■ Возможные проблемы. Системные требования Прежде всего убедитесь в том, что ваш компьютер соответствует минимальным требованиям, описанным в этом разделе. Если окажется, что он не соответствует некоторым требованиям, то при использовании компакт-диска могут возникнуть проблемы. Ниже приведены системные требования для операционных систем Windows 9Х, Me, ХР, Windows 2000, Windows NT4 (с пакетом обновлений SP4 или более поздним). ■ Процессор Pentium с тактовой частотой 120 МГц или выше. ■ Минимум 32 Мбайт оперативной памяти, для более быстрой работы рекомендуется использовать 64 Мбайт или более. ■ Сетевая плата Ethernet или модем со скорость не меньше 28 800 bps. ■ Дисковод для чтения компакт-дисков.
Системные требования для Microsoft Office 2003. ■ Персональный компьютер с процессором Pentium с тактовой частотой 133 МГц или более быстрый; рекомендовано, чтобы был установлен процессор Pentium III. ■ Microsoft Windows 2000 с пакетом обновлений SP3 либо Windows XP или более поздняя операционная система. Использование компакт-диска Для установки содержимого диска на компьютер выполните следующее. 1. Вставьте компакт-диск в дисковод вашего компьютера. Появится окно с условиями лицензионного соглашения. 2. Для продолжения нажмите кнопку Accept. Откроется еще одно окно, в котором находится несколько кнопок (детальнее они рассматриваются в следующем разделе). Excel 2003 Bible. Щелкните на этой кнопке, чтобы просмотреть английскую версию данной книги в электронном виде и установить файлы примеров. Super Bible. Щелкните на этой кнопке, чтобы открыть электронную версию книги Office 2003 Super Bible, а также файлы примеров. Bonus Software. Щелкните на этой кнопке, для просмотра и установки программного обеспечения, которое находится на компакт-диске. Resource Links. В этом разделе представлен список ссылок на Web-узлы, посвященные Microsoft Office. Other Materials. В этом разделе можно найти оглавления книг, посвященных программам пакета Microsoft Office. Файлы и программное обеспечение Рассмотрим программное обеспечение и другие материалы, находящиеся на компакт- диске, более подробно. Электронная книга Excel 2003 Bible Полный текст англоязычной версии настоящей книги приведен на компакт-диске в формате Adobe Portable Document Format (PDF). Вы можете читать и проводить быстрый поиск по этому файлу, используя Adobe Acrobat Reader, который также можно найти на компакт-диске. Электронная книга Office 2003 Super Bible Super Bible — это англоязычная электронная книга в формате PDF, которая состоит из отдельных глав книг серии Office 2003 Bible. Также эта электронная книга содержит некоторые оригинальные и эксклюзивные материалы, которых вы больше нигде не найдете. Все продукты пакета Microsoft Office 2003 включают в себя средства для совместной работы. Эта книга была создана для того, чтобы помочь вам быстро освоить основные средства работы в каж- 716 Часть VII. Приложения
дом приложении данного пакета, а также изучить средства взаимодействия этих приложений друг с другом. Книга содержит более 500 страниц текста с описанием того, как приложения Microsoft Office 2003 могут работать вместе. Файлы примеров _^0-~ На компакт-диске, помимо файлов примеров для русской версии этой книги, вы На заметку можете найти все файлы примеров для английской версии / Глава 1 Моя первая рабочая книга.xls Пример простой рабочей книги. Глава 2 Объем выплат по ссуде.xls Рабочая книга с примерами текста, значений и форматирования. Числовые форматы.xls Рабочая книга, в которой представлены примеры форматирования чисел. Глава 4 Бюджет.xls Простой пример модели бюджета, состоящей из нескольких рабочих листов. Глава 8 Ссылки.xls Примеры использования в формулах абсолютных, относительных и смешанных ссылок. Пример непреднамеренной циклической ссылки. Глава 9 Примеры формул для текста.xls Примеры формул для работы с текстом. Таблица символов.xls Рабочая книга, в которой отображаются символы заданного шрифта. Текстовая гистограмма.xls Пример гистограммы, созданной без использования диаграмм. Глава 10 График работы.xls Рабочая книга содержит расписание работы сотрудников. Рабочие дни.xls Рабочая книга, в которой представлен пример использования функции ЧИСТРАБДНИ. xdate.exe Запустите файл на выполнение, чтобы установить надстройку для работы с датами в диапазоне от 100 до 9999 года. Приложение Б. Что можно найти на компакт-диске 717
Глава 11 Основные формулы подсчета.xls Рабочая книга, в которой представлены примеры простых формул для подстчета. Подсчет по нескольким критериям.xls Рабочая книга, в которой приведены примеры формул для подсчета по нескольким критериям. Подсчет текста.xls Рабочая книга с примерами различных способов подсчета количества символов в диапазоне. Подсчет уникальных значений.xls Рабочая книга с примером формулы массива для подсчета количества уникальных значений в диапазоне. Распределение частот.xls Рабочая книга, в которой представлены три способа создания распределения частот. Сумма с накоплением.xls Рабочая книга, содержащая пример вычисления кумулятивной суммы. Условное суммирование.xls Рабочая книга, содержащая примеры формул, которые выполняют суммирование по условию. Глава 12 Оценки.xls Рабочая книга, с помощью которой на основе баллов студента можно выставить оценки. Поиск адреса.xls Пример поиска по заданному критерию адреса ячейки в диапазоне. Поиск ближайшего значения.xls Пример поиска значения, ближайшего к заданному. Поиск в двух столбцах.xls Пример выполнения поиска в двух столбцах. Поиск в нескольких таблицах.xls Пример поиска значения в нескольких таблицах. Поиск по двум критериям.xls Два способа выполнения поиска по двум критериям. Поиск с учетом регистра.xls Пример выполнения поиска с учетом регистра символов. Формулы просмотра и поиска.xls Рабочая книга содержит примеры формул просмотра и поиска. Футбольная статистика.xls Два способа выбора значения, которое находится слева от искомого. Глава 13 Амортизация.xls Рабочая книга, в которой содержатся примеры различных типов расчетов амортизации. Вычисление параметров аннуитета.xls В рабочей книге приведены формулы для расчета параметров аннуитета. График выплат.xls Рабочая книга содержит таблицу графика выплат по ссуде. Объем выплат по ссуде.xls Пример вычисления объема выплат по ссуде. Расчет параметров инвестиции.xls В рабочей книге приведены формулы для расчета параметров инвестиции. Ссуда с нерегулярными выплатами.xls Пример расчета параметров ссуды с нерегулярными выплатами. Таблица подстановки.xls 718 Часть VII. Приложения
Рабочая книга, в которой представлен пример использования таблицы подстановки для расчета параметров ссуды. Глава 15 Календарь.xls В рабочей книге показано, как с помощью формулы массива в диапазоне отобразить календарь. Суммирование диапазона с ошибками.xls Пример использования формул массивов для суммирования диапазона, содержащего ошибки. Формулы массивов_Диапазон.xls Примеры формул массивов, расположенных в диапазоне. Формулы массивов_Одна ячейка.xls Примеры формул массивов, расположенных в одной ячейке. Глава 16 Биржевая диаграмма.xls Рабочая книга с примерами биржевых диаграмм. Гистограмма.xls Рабочая книга с примерами гистограмм. График.xls Рабочая книга с примерами графиков. Диаграмма с областями.xls Рабочая книга с примерами диаграмм с областями. Кольцевая диаграмма.xls Рабочая книга с примерами кольцевых диаграмм. Круговая диаграмма.xls Рабочая книга с примерами круговых диаграмм. Лепестковая диаграмма.xls Рабочая книга с примерами лепестковых диаграмм. Линейчатая лиаграмма.х1з Рабочая книга с примерами линейчатых диаграмм. Мастер диаграмм.xls Рабочая книга, содержащая пример создания диаграммы с использованием средства Мастер диаграмм. Объемные диаграммы.xls Рабочая книга с примерами цилиндрических, конических и пирамидальных диаграмм. Параметры.xls Рабочая книга с примером задания параметров диаграммы. Поверхностная диаграмма.xls Рабочая книга с примерами поверхностных диаграмм. Пузырьковая диаграмма.xls Рабочая книга с примерами пузырьковых диаграмм. Точечная диаграмма.xls Рабочая книга с примерами точечных диаграмм. Шесть типов диаграмм.xls Рабочая книга, в которой один набор данных изображен с использованием шести различных типов диаграмм. Приложение Б. Что можно найти на компакт-диске 719
Глава 17 Сравнительная гистограмма.xls Рабочая книга с примером сравнительной гистограммы. Обновляемая диаграмма.xls Пример диаграммы, которая автоматически обновляется при добавлении новых данных. Графики функций.xls Рабочая книга с примерами графиков функций. Диаграмма Ганта-xls Рабочая книга с примером диаграммы Ганта. Диаграммы с графикой.xls Примеры использования изображений в диаграммах. Диаграммы с одной точкой данных.xls Примеры диаграмм с одной точкой данных. Глава 19 dataform2.exe Усовершенствованная форма ввода данных. Для установки запустите файл и следуйте инструкциям. База данных недвижимости.xls Рабочая книга, содержащая пример использования средства Расширенный фильтр. Продажи.xls Пример использования обозначенных списков. Промежуточные итоги.xls Рабочая книга содержит таблицу, в которой подводятся промежуточные итоги. Список сотрудников.xls Пример использования средства Автофильтр. Глава 21 Вычисляемые поля и элементы.xls Рабочая книга, в которой демонстрируются возможности создания вычисляемых полей и вычисляемых элементов. Продажи.xls Пример группировки элементов сводной таблицы. Сотрудники.xls Пример создания сводной таблицы на основе нечисловых данных. Счета.xls База данных банковских счетов, которая используется для создания сводных таблиц. Глава 22 Производственная модель.xls Пример использования средства Менеджер сценариев. Рассылка.xls Рабочая книга, в которой представлен пример таблицы подстановки с двумя входами. Ссуда.xls Рабочая книга, содержащая пример таблицы подстановки с одним входом. Глава 23 Здесь представлены рабочие книги, которые содержат примеры использования средства Поиск решения. Изделия.xls 720 Часть VII. Приложения
Инвестиции.xls Распределение ресурсов-xls Ссуда.xls Стоимость nepeB030K.xls Глава 24 Пакет анализа.xls Эта рабочая книга содержит примеры использования средств надстройки Пакет анализа. Глава 25 Числовые форматы.xls Рабочая книга содержит примеры числовых форматов, определяемых пользователем. Глава 26 Панель инструментов.xls К рабочей книге прикреплена панель инструментов, которая содержит множество полезных инструментов форматирования. Глава 27 Проверка данных.xls Рабочая книга, в которой содержатся примеры использования средства Проверка данных. Условное форматирование.xls Рабочая книга, в которой содержатся примеры условного форматирования. Глава 28 Структура.xls В рабочей книге содержатся данные, подходящие для создания структуры. Глава 29 Рабочая книга, которая содержит результат консолидации данных из трех рабочих книг. Регион1.xls Далее перечислены три рабочие книги, каждая из которых содержит данные, используемые для демонстрации консолидации данных. Консолидация.xls Регион2.xls РегионЗ.xls Глава 30 Ссуда.htm Рабочая книга Excel, которая была сохранена как интерактивный файл HTML. Ссуда.xls Исходная рабочая книга, на основе которой был создан файл Ссуда. htm. Глава 31 Ссуда Папка с файлами, которые использовались в примере создания графика выплат по ссуде. Сообщение.xml Пример простого файла XML. Список сотрудников.xml Файл XML с повторяющимися элементами, который может быть импортирован в список Excel. Приложение Б. Что можно найти на компакт-диске 721
Глава 34 Запись MaKpoca.xls Рабочая книга содержит два примера записи макросов. Кубический KopeHb.xls Рабочая книга содержит функцию VBA для вычисления кубического корня. Сегодняшняя дата.xls Рабочая книга содержит макрос, который вводит в выделенную ячейку текущую дату и изменяет форматирование. Условное форматирование.xls Рабочая книга содержит макрос, который форматирует ячейки с отрицательными значениями. Глава 35 Функции.xls Рабочая книга содержит примеры функций VBA. Глава 36 Вывод сообщения.xls Пример подпрограммы, которая выводит окно сообщения. Изменение регистра.xls Пример утилиты для изменения регистра символов, в которой используется диалоговое окно. Глава 37 Ссуда.xls Пример использования элемента управления на рабочем листе. Элементы управления.xls Рабочая книга содержит множество примеров использования элементов управления ActiveX на рабочем листе. Глава 38 Подсветка.xls Рабочая книга, которая содержит пример использования события SelectionChange. Глава 39 Диаграммы.xls Рабочая книга содержит макрос VB А для работы с диаграммами. Цикл.xls Пример использование цикла в VBA. 3anpoc.xls Пример вывода запроса для ввода значения в ячейку. Копирование диапазона.xls Пример копирования диапазона средствами VBA. Выбор диапазона.xls В рабочей книге представлено несколько способов выбора диапазона ячеек с использованием VBA. Тип объекта.xls В рабочей книге содержится процедура, которая позволяет определить тип выбранного объекта. 722 Насть VII. Приложения
Глава 40 Параметры листа.xla Пример надстройки, с помощью которой можно установить параметры рабочего листа. Параметры листа.xls Пример рабочей книги, которая содержит утилиту, позволяющую установить параметры рабочего листа. Приложение В Анимационные автофигуры.xls Рабочая книга содержит несколько примеров анимационных автофигур. Анимационные диаграммы.xls Рабочая книга содержит несколько примеров анимационных диаграмм. Гитара.xls Эта рабочая книга поможет как профессионалам игры на гитаре, так и тем, кто только начинает учиться. Диаграмма гипоциклоиды.xls Рабочая книга, в которой, изменяя несколько параметров, можно получить интересные графики гипоциклоид. Диаграмма мыши.xls Рабочая книга содержит диаграмму, которая похожа на мышонка. Диаграмма 4acoB.xls На рабочем листе реализована диаграмма, изображающая часы. Игра в кости.xls В этой игре имитируется бросание двух костей. Картинки.xls В рабочей книге содержится несколько изображений, созданных с помощью символов ASCII. Кено-xls Excel-версия игры "кено". Кено шансы.xls Рабочая книга, в которой подсчитываются шансы выигрыша в игре "кено". Крестики_нолики.х1з Excel-версия детской игры. Лепестковая диаграмма.xls В этой рабочей книге с помощью нескольких бегунков можно получить интересные изображения. Палитра.xls Рабочая книга содержит диаграмму, изменяя параметры которой можно получить удивительные картинки. Пейзаж.xls Рабочая книга содержит изображение горного пейзажа, который был нарисован с помощью диаграммы с областями. Пятнашки.xls Рабочая книга содержит Excel-версию игры "пятнашки". Симметрия.xls С помощью этой рабочей книги можно создавать симметричные узоры в Excel. Слова.xls В этой рабочей книге можно создавать головоломки для отыскания слов. Тригонометрия.xls Рабочая книга содержит интересные диаграммы тригонометрических функций. Эскиз.xls Приложение Б. Что можно найти на компакт-диске 723
Эта рабочая книга позволяет рисовать простые эскизы, которые на самом деле являются диаграммами. Программное обеспечение Программное обеспечение, которое содержится на компакт-диске, можно разделить на несколько категорий: условно бесплатное, свободно распространяемое, распространяемое по лицензии GNU, демонстрационное и пробное. Рассмотрим каждую категорию подробнее. ■ Условно бесплатное программное обеспечение. Полнофункциональные версии коммерческих программ с ограниченным сроком работы. Если вам понравится программа, у вас есть возможность зарегистрироваться за формальную плату и получить лицензию, расширенную версию и техническую поддержку. ■ Свободно распространяемое программное обеспечение. Игры, приложения и утилиты, которые распространяются бесплатно для личного использования. В отличие от программ первой категории, не предусматривают платы и технической поддержки. ■ Программное обеспечение, распространяемое по лицензии GNU. Такие программы распространяются без ограничений, но в папке, наряду с программой, также находится лицензия с условиями ее использования. ■ Демонстрационное и пробное программное обеспечение. Программное обеспечение обычно ограничено по времени работы или по функциональности. Например, в ряде программ нельзя сохранять результаты работы. Некоторые программы весьма чувствительны к изменениям системной даты. Если поменять дату на компьютере, время работы программы может закончиться и ее нельзя будет запустить. Обзор программного обеспечения Представим несколько программ, которые можно найти на компакт-диске. ■ Power Utility Pak v5. Разработанная автором коллекция надстроек значительно расширяет функциональность Excel. Для установки требуется Excel 2000 или более поздняя версия. На диске находится 30-дневная пробная версия. Дополнительную информацию можно найти на Web-узле http: //www. j -walk, com/ss. ■ Convert Cell Reference Utility. Эта удобная утилита поможет изменить тип ссылок в формулах. ■ Excel Tetris vl.l. Эта электронная таблица является полнофункциональной игрой. Она не совсем похожа на традиционный тетрис, но это хороший способ развлечься на рабочем месте, не выдавая себя. ■ Gantt Chart Builder (Excel). С помощью этой утилиты можно создавать профессиональные диаграммы Ганта в Excel, а затем экспортировать их в графический формат или в формат электронных таблиц. Программное обеспечение, представленное на компакт-диске Ниже приведен полный список всех программ, которые находятся на прилагаемом к книге компакт-диске. Более детальное описание каждой из них можно найти в файле ReadMe или в разделе Bonus Software. 3D Charts for Excel Ace Compact Access Form Resizer Access Image Album Con- Access Property Editor Access to VB Object verter 724 Насть VII. Приложения
AccessBooks ActiveDocs 2002 Analyze-It BadBlue Prsnl Ed Camtasia Studio Classify for Outlook Collage Complete CompareWiz 2002 Database DataWiz 2002 Excel Import Assistant Filter Builder Gantt Chart Builder (Excel) CuruNet InteligentApps 4excel Prem Ed Lark Maillist Deluxe Mathematical Summary Utility MultiNetwork Manager OfficeRecovery Enterprise OutlookSpy PlanMagic Finance Pro PocketKnife Recover My Files Responsive Time Logger Scan to Outlook ShrinkerStrercher Smart Online templates Spreadsheet Assistant The Spreadsheet Detective WebCompiler Access Viewer Advanced Disk Catalog Attach for Outlook Barcode ActiveX Control & DLL Capture Express Code 128 Fonts demo with VBA COM Explorer Convert Cell Reference Utility Database Password Sniffer Document Management Excel Link Fort Knox Gif Movie Gear HiddenFileDetector_addin JustAddCommerce LiveMath Marker and Live- Math Plug-in MailWasher Pro MathEQ Expression Editor Office Report Builder OfficeSpy Passkeeper PlanMagic Marketing Polar Spellchecker Component Regiatry Crawler RFFlow Screen Capture Simple Registry Control Snaglt StoreBot 2002 Stnd Ed UltraPdf WinACE Acrobat Reader Advanced Office Password Recovery Attachment Options c:JAM Charset Decoding Code Critter CompareDataWiz 2002 CSE HTML Validator Datahouse Eliminate Spam! Excel Tetris Fundraising Mentor GraphicsButton Htmllndex Keyboard Express Macro Express Math Easy for Excel Mouse Over Effects OfficeBalloonX Outcome XP PlanMagic Business PlanMagic WebQuest Power Utility Рак ReplaceWiz 2002 RnR PPTools Started Set Secrets Keeper Smart Login Soft Graphics Buttons Summary Wizard VBAcodePrint WinRAR Приложение Б. Что можно найти на компакт-диске 725
WinZIP Word Link Xbooks XLSTAT-Pro XlToHtml Zip Express Zip Repair Возможные проблемы Если у вас возникают сложности при установке или использовании материалов, которые находятся на компакт-диске, попробуйте выполнить описанные ниже операции. ■ Отключите антивирусную программу. Некоторые антивирусы могут сработать во время копирования файлов с компакт-диска. Если это произойдет, на экране появится сообщение о том, что устанавливаемое программное обеспечение или копируемые файлы могут содержать вирусы. Все содержимое компакт-диска проверено на вирусы, и можете быть уверены, что их там нет. Поэтому можете спокойно отключить антивирусную программу на время работы с компакт-диском (но не забудьте затем ее снова включить). ■ Закройте все запущенные программы. Чем больше запущено программ, тем меньше остается оперативной памяти компьютера для других программ. Кроме того, программы установки часто обновляют уже установленные файлы и программы. Если же программа, файлы которой необходимо обновить (такими программами, например, могут оказаться приложения Microsoft Office), запущена, то установка скорее всего завершится с ошибками. 726 Часть VII. Приложения
В часы досуга Н есмотря на то что Excel предназначена для серьезных целей, многие пользователи открыли для себя и ее забавную сторону. В этой главе рассмотрены менее серьезные приложения Excel — игры и интересные развлечения. ■^ Все примеры, представленные в этом приложе- ЕА нии, можно найти на прилагаемом к книге ком- ' пакт-диске. Во многих примерах используются макросы. Методы программирования здесь не рассматриваются, но все макросы открыты. Поэтому вы можете самостоятельно разобраться в используемых здесь макросах. В зависимости от установленных установок безопасности, вы можете получить предупреждение, что в файлах рабочих книг могут присутствовать макровирусы. Не беспокойтесь, все рабочие книги были проверены и вирусов в них нет. Если установлен высокий уровень безопасности, то макросы могут быть отключены. Игры Программа Excel, конечно, не была разработана как платформа для игр. Несмотря на это, с помощью Excel можно создавать интересные игры. Кроме того, благодаря диалоговым сервисным службам можно получить доступ ко многим другим любопытным вещам, созданным для Excel. Интересно то, что основой создания этих игр была изобретательность. Почти во всех случаях разработчикам приходилось изобретать специальные инструменты, которые могли бы компенсировать отсутствие средств создания игр. В этом разделе описано несколько игр. Крестики-нолики Хотя это и не самая интеллектуальная игра, зато почти все знают, как в нее играть. На рис. В.1 показана игра "крестики- нолики", которая была разработана с использованием Excel. В данном случае пользователь играет против компьютера. В файле содержится несколько формул и VBA-макрос для
определения очередного хода компьютера. Все это позволило научить компьютер довольно сносно играть (на уровне трехлетнего ребенка). .101*1 О Старт Новый счет | Правила I Щелкни» дважды на клетке, чтобы поставить X или О Г" Начинать сразу нсеуга игру Рис. В. 1. Игра в крестики-нолики Вы можете выбирать, кто должен сделать первый ход (вы или компьютер) и чем вы хотите играть (крестиками или ноликами). Выигрыши и ничьи подсчитываются в ячейках, расположенных в нижней части окна. На заметку Игра была создана много лет назад. Это подтверждается тем, что она выполнена с помощью листа диалога, без использования экранных форм. Дело в том, что Excel все еще поддерживает возможность диалоговых листов, поэтому переделывать игру нет необходимости. Пятнашки В детстве вы, наверное, уже играли в эту игру. Существует несколько ее вариантов, но цель их одна и та же: переставить фишки в определенном порядке. На рис. В.2 показана версия этой игры, написанная на VBA. Если щелкнуть на фишке, она переместится в свободное поле. На самом деле никакого движения не происходит. Программа просто изменяет текст на кнопках и делает пустую позицию видимой, а ту фишку, которую нужно передвинуть, — невидимой. Рис. В. 2. Пятнашки 728 Часть VII. Приложения
Кено Если вы хотя бы иногда заглядываете в казино, то вам, по-видимому, знакома игра под названием кено. Если вы человек азартный, то наверняка "заразились" этой игрой — выиграть в нее, несмотря на простоту, очень трудно, так как исход игры зависит от случая (как в рулетке). Играя с Excel в кено (рис. В.З), вы не рискуете потерять много денег, потому что все действия (в том числе и денежные расчеты) выполняются только на рабочем листе. Рис. В.З. Игра кено Головоломки со словами В большинстве ежедневных газет печатаются различные головоломки, предназначенные для отыскания слов. Они содержат слова, зашифрованные в клетках таблицы. Буквы в этих словах могут быть расположены по вертикали, по диагонали, по горизонтали, в прямом или в обратном порядке. Если вам когда-либо понадобится создать головоломку, то приложение сделает это за вас. Вы называете английские слова, а программа помещает их в таблицу и заполняет пустые ячейки случайными буквами. На рис. В.4 показан лист для создания головоломки, а на рис. В.5 — готовый пример. Приложение написано с использованием VBA. Случайность здесь играет основную роль, поэтому можно создать несколько головоломок, применяя одни и те же слова. Бросание костей Рабочая книга, представленная на рис. В.6, имитирует игру в кости. Результат каждой игры записывается в диапазоне ячеек, которые отображаются в диаграмме. Диаграмма, в свою очередь, отображает текущее и теоретическое распределение подбрасывания двух кубиков. Этот пример может оказаться полезным при изучении основ теории вероятностей. Приложение В. В часы досуга 729
QCuuoa«*s A 2 Piano 3 Harp 4 Flute 5 Bsnjo ъ 1 8 9 10 11 Fiddle Violin Recorder Mandolin Бела Synth 12 Drums 13 Accordian 14 Tuba 15 « umpet 16 Cello (7 Horn 18 Trombone 19J Sell» 20 Triangle 21jClarinet 22 'Trombone 23 Dobro 24 Harmonica 25 (Oboe 26 н ч * MfvBuHteJXwordL» ВС D E S Maximum length 25 Word count Build the Puzzle P \Natch words beng placed Tate workbook wiB create a word s> oich puzzle using ti» words in range A1 .A25 Thte range can hold any number of words ■ between 1 and 25 Do not leave any blank cells да the word Met (except at the end of the list) NOTE Occastonalry the program cannot create a puzzle If the status bar text does not change for e long period of time- press . £sc and try again. t/ IaJ -IDIxl F G T 1 I *& Рис. B.4. Приложение, создающее головоломки со словами СЮРсЫ» 1 С А 1 * >А 3 А 4 F 5 Н 6 * 7 * 8 Н »LL 10 А 11 S 12, S 13 ° «^ т с с 1 1 0 в А 0 R В 0 D F R L 1 D 1 L и R R Е R Y С L N и А N D 0 L Т Р N А V и 16 |и 4 ► W Ри *. W*& С и z 1 м R 0 L 1 Е К 0 Т т */ Ч > т 1 R о R Е N R Е 0 Е N R М W М и О Т D J N 1 1 С D Т Е А С 0 G М т- ' J А И 0 V G N N R А А О Т S О « И D R и М S А G D М N А К N L J S N G и М Z 1 1 Е С J С Е Ы G В Е L L S К и Р Е R F 0 К N S Y N Т н S 0 в 0 Е С и М Z О Р О \а CultAC iFl&no Harp Flute Baa jo Fiddle violin Recoidoc Honaolln Вез s Synth Dcums Accotdlen Tube Тсиярес Cello Horn ТковЬоое Bella Triangle ' letxnet Tzokbone Dob to Heznonlca .idi*i Рис. В.5. Созданная головоломка Работая с этим примером, нужно помнить некоторые вещи. ■ Макрос, прикрепленный к кнопке Бросить, используется для сохранения отчета подбрасывания костей в колонке A:D. Другой макрос, который удаляет отчет, прикреплен к кнопке Очистить отчет. ■ Для отображения костей не используется ни одно графическое изображение. Они рисуются с помощью функции ЕСЛИ, которая, в зависимости от случайного значения, определяет, нужно ли отображать каждую конкретную точку. Обычно для отображения точек используется символ Wingdings. 730 Часть VII. Приложения
■ Диаграмма, отображающая теоретическое распределение, использует не диапазон, а массив. Поскольку последовательность чисел меняться не будет, нет необходимости сохранять значения в диапазоне. ■ Текстовое поле, расположенное на диаграмме, отображает то, сколько раз были брошены кости. Это поле связано с ячейкой, определяющей количество элементов в области Отчет. Рис. В.6. Этот рабочий лист имитирует игру в кости Анимационные фигуры Любую автофигуру Excel можно преобразовать так, чтобы она двигалась. Для этого достаточно создать любую автофигуру, применить к ней трехмерное форматирование и записать все это в макрос VBA. Excel предоставляет своим пользователям все средства для создания анимации. Эти возможности ограничены только вашим воображением. На прилагаемом к книге компакт-диске находятся примеры анимационных изображений. С ними можно выполнять следующие действия: ■ перемещать автофигуру с одного места на другое; ■ поворачивать автофигуру; ■ изменять цвет автофигуры; ■ изменять форму автофигуры. Практическое применение ограничено всего несколькими правилами. Но очень многих интересует, что можно сделать с такими элементами Excel, а кроме того, это отличная возможность отдохнуть от работы с числами. На рис. В.7 показан один из примеров, находящихся на прилагаемом к книге компакт- диске. Как известно, отображать на бумаге анимационные изображения невозможно, поэтому, чтобы посмотреть, как работает данный пример, нужно открыть его в Excel. Приложение В. В часы досуга 731
Рис. В.7. Пример анимации Создание симметричных узоров Следует заметить, что эта программа рассчитана на любителей, особенно на тех, кто обожает беспорядочно или машинально рисовать. Она позволяет создавать разноцветные симметричные узоры с помощью клавиш управления курсором. На рис. В.8 показан пример. Все пространство, на котором можно рисовать, условно поделено на четыре области. При рисовании в одной из них, изображение зеркально отображается в трех остальных областях. Когда вы подводите курсор к краю области рисования, он "перескакивает" и появляется с другой стороны. Эта рабочая книга — чудесный способ убить время, особенно если вы звоните по телефону какому-нибудь крупному боссу, а секретарь попросила вас немного подождать, не вешая трубку. Сам процесс рисования реализован с помощью макроса VBA. Для отслеживания нажатия клавиш управления курсором используется метод ОпКеу. Каждое нажатие одной из этих клавиш приводит к запуску макроса, который изменяет цвет соответствующей ячейки. Поскольку ячейки в области рисования очень маленькие, несколько подряд идущих ячеек выглядят как сплошная линия. Фокусы с диаграммами Средства Excel по созданию диаграмм также можно использовать для развлечений. В этом разделе описано несколько трюков, которые можно применить к диаграммам. Построение тригонометрических функций Даже если вы не специалист в области тригонометрии, это совершенно не помешает вам строить графики различных тригонометрических функций. При этом иногда можно столкнуться с очень интересными графиками. 732 Часть VII. Приложения
Рис. В.8. Рабочий лист, в котором создаются симметричные узоры На рис. В.9 показан пример графика тригонометрической функции. Щелчок на кнопке Изменить приводит к изменению случайного числа, в результате чего будет построена новая диаграмма. Рис. В.9. График одной из тригонометрических функций Ячейка А1 содержит значение инкремента. Если изменить это значение, то изменится вся диафамма. Рассмофим формулу в ячейке ВЗ. (Эта формула скопирована для всех значений X.) =SIN(A3)*COS(A3)*COS(TAN(A3)) Для значений Y применяется другая формула, которая, подобно предыдущей, копируется во все ячейки диапазона. =SIN(B3)*COS(B3)*SIN(A3+B3)*COS(A3-B3)+SQRT(ABS(ВЗ)) Изменяя эти формулы, можно получить удивительные фафики. Приложение В. В часы досуга 733
Диаграмма гипоциклоиды На рис. В. 10 представлен пример точечной диафаммы, которая отображает гипоциклои- дические кривые , т.е. кривые, созданные с помощью фиксированной точки Р на окружности маленького круга с радиусом Ь, вращающейся внутри большего круга с радиусом а > Ь. ' J Дй " fttMMtt ШЛО* "•« ЛЛМЛЮйб 2 г a inc I 0.00 Ь 1нс t Inc 200 49 00 4 5 | а | Ь 1 • Н vol ldI о.о 7 8 о Ю 11 12 ■а 14 ■в 1Г « 1.0 1.0 1.0 1* 1.0 1.0 1.0 1* 1.0 1.0 1.0 1.0 1» 1.0 20 21 22 10 1.0 1.0 23; ij) 24 1* 25 26 27 26 1J0 1.0 1.0 1.0 э* «/> >/> »/> 11,0 13,0 15* 17* 19* 21l° 33,0 25* 27* »i» 31* 33,0 35* »* »,» 41* 430 450 49,0 95* 147* 198,0 245* 2940 343J) Э920 441J0 4900 539* S88* 537* «ОБО 735* 784* 833* B82J0 931J0 950* 1029* 1078* X 1: ОД •1.7 11.4 •4* .20.4 1.5 25.1 в* -25* ■■as к* 34Д V -36* -21.2 27S ЭВ.5 ■es -45* -19.1 35.4 41.7 И 4 > n\IWt1/" JEj*ll » 0* 4* 3* -о -15.4 4* 23.7 2* -г»* -15* 22* 29.2 ■« -ЭБ.9 -10 7 33* 30* -18.4 ■OS ■Si 42.7 31.4 -26* \ 1/0 ФШ ) *J I<! ;. ! >1Г Рис. В. 10. Эта диаграмма гипоциклоиды создается с помощью трех параметров в столбце В Рис. В.11. Еще несколько примеров диаграмм гипоциклоиды 734 Часть VII. Приложения
Другими словами, этот тип кривой — та же спирографическая детская игрушка, которой практически все играли в детстве. Формулы создания данных кривых достаточно сложны, но все они используют три параметра из ячеек В1:ВЗ. Если изменить хотя бы один из этих параметров, диаграмма тут же изменится до неузнаваемости. Можно только удивляться разнообразию диаграмм, которые можно создать на основе этого примера, а некоторые из них просто восхитительны. На рис. В. 11 представлено еще несколько примеров этого типа диаграмм. Анимационные диаграммы Программа Excel не поддерживает возможность создания анимационных диаграмм, но это можно сделать с помощью относительно простой процедуры VBA. В рабочей книге этого примера макрос увеличивает значения в ячейке, которая используется в формуле, отображающей диаграмму. На рис. В. 12 приведен пример трехмерного графика. Но после запуска анимации он больше напоминает летящую птицу, чем график. Рис. В. 12. С помощью макроса VBA можно заставить два трехмерных графика двигаться На прилагаемом к книге компакт-диске представлено еше несколько примеров анимационных диаграмм, включая потрясающую поверхностную диаграмму. Генератор модели контурной диаграммы Контурная диаграмма — это одна из разновидностей поверхностной диаграммы. Она представляет собой вид сверху поверхностной диаграммы. Контурная диаграмма, представленная на рис. В.13, использует диапазон всего 7x7 ячеек, но она может отображать необычайные (и красочные) симметричные модели. Приложение В. В часы досуга 735
Рис: В. 13. Изменить вид контурной диаграммы можно с помощью двух счетчиков Количество цветов, используемых в области диаграммы, зависит от значения в поле цена основных делений для оси значений. В этом примере используется счетчик (связанный с ячейкой D), с помощью которого можно легко изменить данное значение (это действие выполняется с помощью простого макроса). Чем меньше значение, тем больше цветов будет использовано для построения диаграммы. Другой счетчик, связанный с ячейкой 16, используется для изменения формул в диапазоне A1:G7. По цвету ячейки можно легко определить, в каких ячейках используются одинаковые формулы (все ячейки с одинаковыми формулами выделены одним цветом). Некоторые из этих формул ссылаются на сгенерированные случайным образом числа, которые используются для создания огромного количества различных диаграмм. При щелчке на кнопке Изменить палитру, которая расположена на рабочем листе, цвета рабочей книги изменятся. Не все цвета, подобранные случайным образом, сморятся хорошо, но иногда можно получить поистине потрясающий результат. Лепестковая диаграмма На рис. В. 14 представлена лепестковая диаграмма, для построения которой используется три ряда данных. Она имеет 360 осей, которые представляют собой углы круга. Все оси скрыты. Это связано с тем, что они расположены очень близко друг к другу и закрывают всю область построения диаграммы. Поэтому, если отобразить оси, то саму диаграмму не будет видно. Данные для построения диаграммы генерируются с помощью формул в столбцах B:D. Эти формулы используют тригонометрические функции и зависят от значений в столбце А и трех значений в ячейках В1:ВЗ. Эти три ячейки связаны с полосами прокрутки. Изменяя эти значения, можно получить множество разнообразных диаграмм. 736 Часть VII. Приложения
/» 1 Значение 1 2 f. Знвченис2 знечениеЗ 53 33 35 - 7 в 0.00 53 00 ТЗб.УО в ! 159.00 101 212.00 11 12 2в5.00 318.00 •О 37100 14 424.00 15 477.00 1в 530.00 17 583.00 18 19 вЗв.ОО 689.00 20 742.00 21 7J5 00 22 848.00 23 001.00 24 654.00 26 и 1 1007.00 1.00 р^ео -0.28 -0.93 -0.85 -0.09 0.74 О.вв 0.44 -0.45 -0.98 -0.73 0.10 о.вв 0.93 0.2в -0.82 -1.00 -0.50 0.29 » м- Sheeti/ .IP!»! СОЕ G H i J ¥T <! J jj < Jj J. 11 330 410 4.2» з.ев 2.77 2.30 2.63 3.49 4.20 4.19 3.47 2.02 2.31 2.78 3.87 4 27 4.C- 3.28 2.49 _2£4 322 333 2.491 з.ев 3.02 1.35 1.63 127 1.45 2,11 039 3.37 1.67 2.69 3.72 034 3.40 3.53 О.ЕЭ 0.85 " r<i i >ir Рис. В. 14. Создание рисунка с помощью лепестковой диаграммы Аналоговые часы На рис. В. 15 приведен пример точечной диафаммы, выполненной в виде часов. Но она не только имеет вид часов, она также выполняет все функции обычных часов. Разумеется, нет никакого смысла размещать подобную диафамму на рабочем листе. Ее создание требует немало усилий и может оказаться весьма увлекательным. пвКНв ЧЪЯЯЖМЬ -Ш1х1 Часовая стрелка 0,000 0,159 0.000 -0.474 Минутная стрелка к 0.000 0,484 У 0.000 -0.637 I Секундная стрелка' 1 х • 0.000 -0,808 V '] о.ооо 0.263 L ~ Числа х у 0.000 0.500 0.866 1.000 0.866 0.500 0.000 -0.500 -0.866 -1.000 -0,866 -0,500 1.000 0.866 0.500 0.000 " -0.500 -0.866 -1,000 -0.863 -0.500 0.000 0.500 0,866 и.Sheet I " Ш J Рис. В. 15. Эти часы на самом деле являются точечной диаграммой Приложение В. В часы досуга 737
Для отображения стрелок часов используются три ряда данных: один для отображения часовой стрелки, второй — для минутной, третий — для секундной. В формулах рядов данных используется функция ТДАТА, которая возвращает текущее время. Угол стрелок определяется с помощью тригонометрических формул. Каждую секунду выполняется довольно простой макрос, в котором вычисляются новые координаты стрелок и обновляется диаграмма. Для отображение на часах чисел используется два других ряда данных. Первый содержит координаты по оси X, второй — по оси Y. На основе этих данных на диаграмме рисуется круг, разбитый на 12 частей (ряды данных состоят из 12 точек данных). Далее для каждой точки данных вручную добавляются подписи, которые содержат числа от 1 до 12. Снимите флажок Аналоговые часы, чтобы отобразить скрытые цифровые часы (рис. В. 16). Для создания этих часов были объединены 28 ячеек. Затем в полученную ячейку была введена следующая формула: =ТДАТА() 3 Дипграпиа Miw«& д1* -.«inks! 1 2 3_ 4__ 5 6 7 8 9 10 13 11 J7 18 19 20 и 4 » N Sheetl, ^ G ! Н Включить | Выо1юсить| К L Г 5:24:15 AM X 0,000 0,155 У 0,000 -0,476 Минутная стрелка j х У 0,000 0,453 0.000 -0.659 Секундная стрелка г х 0,000 0,850 У 0,000 0.000 ~~X | У о.ооо 0,500 0.866 1.000 0.866 0.500 0,000 -0.500 -0,866 -1,000 -0,866 -О.5О0 1.000 0.866 0.500 0.000 ■0.500 -0.866 -1.000 -0.866 -0.500 0.000 0.500 0.866 Рис. В. 16. Создать цифровые часы намного проще Горный пейзаж Используя диаграммы с областями, можно заметить, что они немного похожи на горы. Поэтому появилась идея создать диаграмму, на которой будет изображен горный пейзаж. Результат показан на рис. В. 17 (в цвете он выглядит намного лучше). Месяц и звезды — это обычные автофигуры. Пузырьковая диаграмма в виде мыши Если вы очень долго работаете с пузырьковыми диаграммами, то рано или поздно начнете замечать на них различные лица. На рис. В.18 изображена мультяшная мышь, созданная с помощью трех рядов данных, каждый из которых содержит девять значений. Данные в столбце С влияют на размеры пузырьков. После построения диаграммы каждый пузырек был отдельно отформатирован (были изменены цвет и заливка). 738 Часть VII. Приложения
Рис. В. 17. Диаграмма или горный пейзаж? "Г- А Часть Ц Паевое ухо 3 I Левое ухо 4 iолова 5 Левый глаз 6 Правый глаз 7 Певый зрачок 8 Правый зрачок 9 Нос 10 ("от 11 > В X 5.6 2.4 4,0 3,4 4.6 3.2 4,4 4,0 4.0 Y 7.0 7.61 4.4 5.4 5.4 5.6 5.6 4.3 3.0 IJ И.'.М I 35.0 35.0 60.0 18.0 18.0 5.0 5.0 11.0 10.0 .IOIXI 9 В 7 6- 5 4 • 3- 2- 1- 1 _^^_ 10У г-м ! 1^1 4 ш W It ) 1 2 3 4 5 6 7 В Рис. В. 18. Эта пузырьковая диаграмма напоминает голову мышонка Создание эскиза с помощью точечной диаграммы Пример, приведенный в этом разделе, не имеет абсолютно никакого практического применения, кроме возможности как-то убить время. Рабочий лист содержит точечную диаграмму и несколько элементов управления. Нажатие одной из кнопок приведет к рисованию линии на диаграмме. Длина линии определяется значением шага, которое устанавливается с помощью счетчика. Имея немного практических навыков (и терпения), можно без особых сложностей повторить пример, показанный на рис. В. 19. Приложение В. В часы досуга 739
Рис. В. 19. Этот рисунок является точечной диаграммой Любой человек оценит по достоинству многоуровневую кнопку Отмена на рабочем листе. После каждого щелчка на этой кнопке будет удален один набор значений в исходном диапазоне диаграммы. С помощью других элементов управления можно изменять цвет линий и отображать их сглаженными. Любителям игры на гитаре Если вы играете на гитаре, то обязательно должны обратить внимание на эту рабочую книгу- Она содержит изображение грифа гитары (рис. В.20). На нем отображены ноты (и положение гитарных ладов) для выбранного лада и для любой тональности. Также можно изменять режимы гитары, после чего по соответствующим формулам будут автоматически пересчитаны ноты. Рис. В.20. Гитарный гриф на рабочем листе Excel С помощью других опций вы можете повысить или понизить лад на полтона, получить оперативную информацию о выбранном ладе и тональности, а также изменить цвет грифа гитары. В этой рабочей книге для проведения вычислений используются формулы, а модуль 740 Часть VII. Приложения
VBA играет второстепенную роль. Этот файл был назван лучшим в America Online, кроме того, были получены восторженные отзывы гитаристов со всего мира. ASCII-художество Термин "ASCII—художество" подразумевает рисунки, "нарисованные" символами ASCII. В Internet можно найти множество таких "художеств". Такие рисунки можно сохранять на рабочих листах Excel. Для того чтобы изображение отображалось правильно (без искажений), следует использовать какой-либо моноширинный шрифт, например Courier New. На прилагаемом к книге компакт-диске содержится несколько таких рисунков, которые были загружены с открытых для использования Web-страниц. Пример показан на рис. В.21. Рис. В.21. Пример ASCII—художества Другие игры В этом разделе представлено четыре игры, а также генератор случайных чисел, которые входят в состав разработанной автором надстройки Power Utility Pak. Это коммерческая надстройка, ее 30-дневную пробную версию можно найти на прилагаемом к книге компакт- диске. Все средства реализованы с помощью VBA. Чтобы получить доступ к исходному коду, необходимо приобрести лицензию на полную версию (лицензия, конечно же, не бесплатная). Видеопокер Разработка шры видеопокер (рис. В.22) было довольно сложной задачей. Прежде чем игра приняла окончательный вид, мне пришлось посетить практически все казино в городе. Внешний вид этой игры практически полностью совпадает с видом настоящего автомата для игры в покер. Единственное отличие заключается в том, что здесь вы не сможете получить свой выигрыш. Приложение В. В часы досуга 741
Рис. В.22. Видеопокер для Excel В этой версии реализовано два варианта игры в покер. В версии Joker's Wild в игре участвуют джокеры, которые могут заменить любую карту, но для минимального выигрыша необходимо собрать пару тузов. В версии Jacks or Better джокеров нет, но для выигрыша необходимо собрать пару валетов или более старших карт. Для начала игры щелкните на кнопке Deal (Сдать). Чтобы сбросить какую-либо карту, щелкните на ее изображении. После этого кнопка Deal заменится кнопкой Get New Cards (Получить новые карты). Щелкните на этой кнопке, чтобы поменять сброшенные карты. Изменить тип игры или ставку можно в любое время. Щелкните на кнопке Payoffs (Выигрыши), чтобы просмотреть сумму выигрышей для различных комбинаций. Чтобы изменить сумму выигрышей, откройте файл Video Poker Payoffs.xls (он находится в папке, в которой была установлена надстройка). Внесите необходимые изменения, после чего сохраните и закройте рабочую книгу. Все внесенные изменения вступят в силу после следующего запуска игры. Щелкните на кнопке Chart (Диаграмма), чтобы отобразить на экране график кумулятивной суммы выигрышей (или, что более вероятно, кумулятивную сумму проигрышей). Проверка выигрышных комбинаций осуществляется с помощью процедур VBA. Чтобы быстро скрыть окно игры, можно нажать клавишу <Esc> и щелкнуть на кнопке Hide (Скрыть). Окно исчезнет с экрана, но текущий результат будет сохранен. Поэтому можно будет вернуться к начатой игре после того, как ваш шеф уйдет. Игра в кости На рис. В.23 показано окно игры Dice Game. Цель игры в кости, как и большинства других игр, — набрать наибольшее количество очков. Кости бросаются три раза. После каждого раза можно либо зафиксировать, либо сбросить некоторые кости перед очередным броском. Чтобы сбросить кость, щелкните на ее изображении. Для более простой игры выберите опцию Four Rolls (Четыре броска). После третьего броска (или четвертого, если выбрана опция Four Rolls) щелкните на одной из неиспользованных кнопок в области результатов. Эта область состоит из 39 кнопок в трех столбцах (х1, х2 и хЗ). Чтобы получить результат, необходимо щелкнуть на кнопке, которая соответствует выпавшей комбинации (названия выпавших комбинаций выделяются цветом). Например, если выпало четыре одинаковых кости, щелкните на кнопке из категории Four of a Kind (Четыре одинаковых). Но можно щелкнуть и на кнопках в других категориях. Со временем у вас должна выработаться оптимальная стратегия игры. В конце игры вам, возможно, придется выбирать категории, в которых будет получен нулевой результат. После щелчка на одной из кнопок в области результатов на ней появляется выигранное количество очков. На каждой кнопке можно щелкнуть только один раз. 742 Часть VII. Приложения
XI Ones 1 TWos ■ Threes 1 Fours ■ Fr/es I Sxes Щ Bonus x2 x3 к « » re 9 12 15 36 xi x2 x: 30' и se <S 32 90 33 » « Smal Straight j Large Straight FiiHouse ; ThreeofaKi-td j Rxxofaxnd RveofaKnd Сгипсе Q HawGame | Huh Scores Hdepsc) Г~В>иг«* «Jut Ш '■t»*fc 3>tKns< Рис. В.25. Игра в кости в Excel Если щелкнуть на кнопке в столбце х1, то вы получите основной результат. Если же щелкнуть на кнопках в столбцах х2 или хЗ, то получите соответственно удвоенный или утроенный результат. Сапер На рис. В.24 показано окно реализованной в Excel игры Bomb Hunt (Сапер). Эта игра также входит в состав операционный системы Windows. Цель игры — найти все мины. Чтобы пометить мину, щелкните правой кнопкой на соответствующем поле. Если щелкнуть левой кнопкой мыши, то либо вы подорветесь на мине (проиграете), либо, когда мины нет, появится число, равное количеству мин в прилегающих полях. На основе этой информации требуется определить, где находятся мины. Кроме того, если щелкнуть на поле, возле которого нет мин, то автоматически откроются все прилегающие поля. Если вы правой кнопкой мыши пометили поле с миной, но потом пришли к выводу, что в нем ее нет, еще раз щелкните на нем правой кнопкой мыши. После этого на поле появится изображение вопросительного знака. Он используется для обозначения полей, в которых может быть мина. Еще раз щелкните правой кнопкой мыши на этом поле, чтобы убрать вопросительный знак. Игра будет выиграна в случае, если помечены все поля с минами, а все остальные поля открыты. Можно поменять размер поля и количество мин на нем. Для этого щелкните на кнопке Configure (Установки) и выберите подходящие параметры. Виселица Наверное, все в детстве играли в эту игру. На рис. В.25 показана версия этой игры, реализованная в Excel. Целью игры является определение загаданного слова. Щелкните на какой- либо букве. Если эта буква есть в слове, то она появится на соответствующей позиции. Если же такой буквы нет, то на картинке появится одна часть тела скелета. После 10 неправильных попыток появится весь скелет и игра будет проиграна. Приложение В. В часы досуга 743
Bomb Hutu NewGame | Сопбд ш QUt. £)'«дМн** to ita* a square s, a. 3 3 2 1 1 1 Щ г г * 2' 3 я гь ,н* В х HI ж ■1 ■I НЙШ ' 1 ■■■■ HI Ямс. В. 24. Сапер для Excel *1 DERIS о* N 1&9 В «SSi teta <г г: - • " о V 3 W к X •■ Z . №w'<3«ne I Цх4 lenglh; | Random "•] rsxtxt ГЬсогеессэго**countdoUfe C)| M*£»3 | О*. Рис. В.25. Игра в виселицу В связанной с игрой рабочей книге содержится 1 400 английских слов, длиной от 6 до 12 букв. При желании можно выбрать, сколько букв будет в загаданном слове. По умолчанию слова могут быть любой длины. Чтобы усложнить игру, установите опцию Incorrect Vowels Count Double (Неправильные гласные считать дважды). В результате, если будет указана гласная (т.е. А, Е, I, О или U), которой нет в загаданном слове, появятся две части тела. Генератор случайных чисел На рис. В.26 показано диалоговое окно, которое используется для генерации случайных чисел. йИг АмЯ1 — £we me a random rji number between J^£ i * an |«» Start ; *i Рис. В.26. Генератор случайных чисел 744 Часть VII. Приложения
Можно определить нижний и верхний пределы для генерируемого числа. После щелчка на кнопке Start (Начать) на экране начнут мигать числа. Щелкните на этой кнопке еще раз, и вы увидите выбранное случайным образом число. Эта утилита идеально подходит, например, для проводимых в офисе лотерей (это проще, чем вынимать из шляпы бумажки с числами). Кроме того, она может занять пятилетнего неугомонного ребенка, как минимум, на 10 минут. Приложение В. В часы досуга 745
приложение Дополнительные источники информации В этом приложении. Справочная система Excel Техническая поддержка Microsoft Группы новостей в Internet Web-узлы Н есмотря на то что в этой книге приведено огромное количество полезной информации, все темы раскрыть в полной мере невозможно. Поэтому в данном приложении приведены другие источники информации, которые могут оказаться полезными. Все источники можно разделить на четыре категории: справочная система Excel, техническая поддержка Microsoft, группы новостей в Internet и Web-узлы. Справочная система Excel Большинство пользователей часто забывают о великолепном источнике информации — справочной системе Excel. Чтобы получить к ней доступ, выполните одно из перечисленных ниже действий. ■ Выберите команду СправкаоСправка: Microsoft Excel. ■ Нажмите клавишу <F1>. ■ Введите интересующий вас вопрос в поле Введите вопрос. Это поле расположено справа от строки меню. После выполнения одного из этих действий откроется область задач Справка Excel. В Excel 2003 можно получить доступ к обновленной справочной информации, которая расположена на Web-узле компании Microsoft. Чтобы указать Excel, где именно следует искать справочную информацию, щелкните на кнопке Параметры содержимого в сети. Таким образом, при необходимости можно полностью отключить поиск информации в Internet. Л"- Новинка) Но следует помнить, что справочная система не идеальна. Некоторые темы раскрыты весьма поверхностно, а некоторые и вовсе отсутствуют. Но все же, прежде чем искать в других источниках, попробуйте найти интересующую вас информацию в справочной системе.
Техническая поддержка Microsoft Под термином "техническая поддержка" подразумевается помощь пользователям, предоставляемая компанией — производителем программного обеспечения. В данном случае подразумевается помощь компании Microsoft. Техническая поддержка Microsoft доступна в нескольких формах. Возможности технической поддержки Чтобы просмотреть список услуг, которые вы можете получить, выберите команду Справка^О программе. На экране появится диалоговое окно О программе Microsoft Excel. В этом окне щелкните на кнопке Поддержка. Откроется окно справки с перечнем услуг технической поддержки, предлагаемых Microsoft. На собственном опыте я убедился, что звонить в отдел технической поддержки следует только в крайнем случае. Очень велика вероятность того, что вы потратите много времени, ожидая связи с консультантом, получите огромные счета за телефонные услуги и не получите ответа на интересующие вас вопросы. Дело в том, что консультант способен разъяснить лишь общие вопросы, ответы на которые быстрее и проще найти в других источниках. База знаний Microsoft Один из лучших способов найти ответ на интересующий вас вопрос —воспользоваться базой знаний Microsoft. Этот общедоступный источник информации по продуктам Microsoft представляет собой огромную базу данных, которая состоит из десятков тысяч детальных статей. Здесь можно найти исчерпывающую техническую информацию, списки существующих и исправленных ошибок в программах и многое другое. Полный и неограниченный доступ к базе знаний можно получить через Internet по адресу: http://support.microsoft.com Официальная страница Excel Чтобы попасть на официальную страницу Microsoft Excel в Internet, введите в обозревателе следующий адрес: http://www.microsoft.com/office/excel Средства Microsoft Office в Internet Чтобы получить информацию по программам пакета Microsoft Office, посетите следующий Web-узел: http://office.microsoft.com Здесь можно найти пакеты обновлений, надстройки, примеры и много другой полезной информации. ^^^* Web-узлы в Internet часто обновляются, поэтому некоторые ссылки, приведен- ТГа заметку ные в этом приложении, могут оказаться недоступными. / Приложение Г. Дополнительные источники информации 747
Группы новостей в Internet Usenet — это служба Internet, с помощью которой можно получить доступ к нескольким тысячам тематических групп. Эта служба предоставит вам возможность связаться с людьми, которые имеют те же интересы. Группы новостей работают так же, как и электронные доски объявлений. Можете послать сообщение или вопрос и, как правило, другие пользователи вам ответят. Тысячи групп новостей покрывают практически все темы, которые только можно себе представить (и еще множество других тем, о которых вы никогда и не подумали бы). Как правило, ответ на вопрос можно получить не более чем через 24 часа (при условии, что вопрос был точно сформулирован). ^^^* Чтобы получить доступ к группам новостей, необходимо специальное про- На заметку граммное обеспечение. Например, для этого подойдет программа Microsoft /Outlook Express, которая входит в поставку обозревателя Internet Explorer. Группы новостей по электронным таблицам Общей группой новостей по электронным таблицам является comp.apps.spreadsheets В этой группе новостей общаются пользователи электронных таблиц разных производителей, но 90% из них работают в Excel. Группы новостей Microsoft Компания Microsoft поддерживает огромное количество групп новостей. Многие из них относятся к Excel. Если ваш поставщик услуг Internet не поддерживает группы новостей Microsoft, доступ к ним можно получить непосредственно через сервер новостей Microsoft. (В действительности, как правило, следует использовать второй способ.) Чтобы воспользоваться услугами этого сервера, следует настроить ваше программное обеспечение так, чтобы загрузка сообщений происходила со следующего Web-узла: msnews.microsoft.com Кроме того, новости можно читать и отправлять через обозреватель. Но этот способ более медленный. Чтобы воспользоваться этой возможностью, введите приведенную ниже ссылку, http://communities.microsoft.com/newsgroups В табл. Г.1 приведены англоязычные группы новостей Microsoft. ■ Таблица Г.1. Группы новостей Microsoft Группа новостей Тема microsoft .public. excel. i23quattro Преобразование таблиц Lotus 1-2-3 или Quattro Pro в таблицы Excel microsoft .public. excel. charting Построение диаграмм в Excel microsoft. public. excel. crashesGPFs Помощь при возникновении ошибок в программе microsoft. public. excel. interopoledde Технологии OLE, DDE и другие средства обмена данными между приложениями 748 Часть VII. Приложения
Окончание табл. Г.1 Группа новостей Тема microsoft.public.excel.links microsoft.public.excel.macintosh microsoft.public.excel.misc microsoft.public.excel.newusers microsoft.public.excel.printing microsoft.public.excel.programming microsoft.public.excel.queryDAO microsoft.public.excel.sdk microsoft.public.excel.setup microsoft.public.excel.templates microsoft.public.excel.worksheet.functions Использование ссылок в Excel Работа в Excel для Macintosh Темы, которые не попали в другие категории Помощь новичкам в Excel Печать из Excel Программирование в Excel с помощью VBA или XLM-макросов Использование Microsoft Query и технологий DA0 в Excel Вопросы, касающиеся инструментальных средств разработки (SDK) Установка Excel Вопросы, касающиеся шаблонов и других XLT-файлов Функции рабочего листа Поиск в группах новостей Большинство пользователей не знают, что можно выполнять поиск по архивам групп новостей. Часто этот способ является отличной альтернативой отправлению вопроса в группу новостей, поскольку можно сразу же получить ответ. Поисковая система Google. com, наверное, лучше всего подходит для этих целей. Найти эту систему поиска можно по следующему адресу: http://groups.google.com Как работает система поиска? Предположим, у вас возникают проблемы при определении уникальных значений в диапазоне ячеек. Выполнить поиск можно по ключевым словам Excel, диапазон и уникальный. В результате вы получите список сообщений из групп новостей, в которых использовались эти слова1. Если найдено слишком много сообщений, повторите поиск, добавив еще несколько ключевых слов. Затем просмотрите найденные сообщения. Наверняка среди них найдется ответ на интересующий вас вопрос. Таким образом можно найти ответы на 90% вопросов. Советы по работе с группами новостей Убедитесь, что ответа на ваш вопрос нет в группе новостей. Проверьте список часто задаваемых вопросов (если таковой имеется), а также выполните поиск в Google.com (см. раздел "Поиск в группах новостей"). Всегда указывайте точную тему вопроса в предметной строке. Если в предметной строке указать "Помогите!" или "Еще один вопрос", то на него могут и не ответить. Но если в предметной строке указана точная тема вопроса (например, "Масштабирование области построения диаграммы"), то вы, вероятнее всего, получите на него ответ. Несмотря на то что поисковая система google. com может обрабатывать запросы как на английском, так и на русском языке, больше шансов найти ответы, если запрос оформлен на английском языке. — Прим. ред. Приложение Г. Дополнительные источники информации 749
3. Указывайте название и версию электронной таблицы, которой вы пользуетесь. Часто ответ на поставленный вопрос зависит от версии Excel. 4. Задавайте в каждом сообщении только один вопрос. 5. Опишите вопрос настолько точно, насколько это возможно. 6. Сообщение должно быть кратким, но информации должно быть достаточно, чтобы можно было однозначно на него ответить. 7. Укажите, как вы сами пытались решить поставленную проблему. 8. Отправляйте вопрос только в группы новостей, соответствующие теме вопроса. Не следует отправлять один и тот же вопрос во все группы, которые хоть как-то связаны с Excel. 9. Не пишите всеми прописными или всеми строчными буквами. Перед отправкой сообщения проверьте орфографию и грамматику. 10. Только в случае крайней необходимости прикрепляйте к сообщению файлы. Если все же это потребуется, то по возможности сократите размер файла, удалив всю ненужную информацию. 11. Не отправляйте сообщения в формате HTML. Лучше использовать формат, в котором не используется форматирование. Web-узлы В Internet можно найти множество Web-узлов, посвященных Excel. Ниже приведен краткий список наиболее полезных ресурсов. ■ На моем Web-узле можно найти множество файлов, доступных для загрузки, советов, инструкций, шуток и внушительный список ссылок на другие ресурсы, посвященные Excel. Вот его адрес: ■ www.j-walk.com/ss ■ На Web-узле, который поддерживает Чип Пирсон (Chip Pearson), можно найти множество примеров процедур VBA и несколько хитрых советов по созданию формул. ■ www.cpearson.com/excel.htm ■ Большое количество примеров подпрограмм VBA можно найти на Web-узле ■ www.bmsltd.co.uk/excel ■ Web-узел, адрес которого приведен ниже, буквально забит полезной информацией по Excel. Кроме того, он постоянно обновляется. ■ www.mvps.org/dmcritchie/excel/excel.htm ■ Те, кто часто посещает группу новостей microsoft .public, excel .charting, наверное знакомы с Джоном Пелтиером (Jon Peltier). Этот человек обладает неограниченными возможностями по решению практических задач, связанных с диаграммами Excel. Его Web-узел содержит большое количество советов и огромную коллекцию примеров построения диаграмм. ■ www.geocities.com/jonpeltier/excel/ ■ В большинстве групп новостей имеются списки часто задаваемых вопросов. Эти списки создаются для того, чтобы пользователи постоянно не задавали одни и те же вопросы. Список вопросов группы новостей comp. apps. spreadsheets можно найти на Web-узле ■ www.faqs.org/spreadsheets/faq 750 Часть VII. Приложения
Клавиатурные эквиваленты Excel |^^\ данном приложении перечислены самые полезные для ш^ пользователя клавиатурные эквиваленты Excel, разбитые по группам операций. (Отметим, что приведенные комбинации клавиш не зависят от раскладки клавиатуры. Например, использование комбинаций <Ctrl+G> при английской раскладке клавиатуры и <Ctrl+n> при русской раскладке приведет к одному и тому же результату, так как буквы G и П закреплены за одной и той же клавишей. Применение латинских букв в описании комбинаций клавиш является общепринятой практикой. — Прим. ред.) Предполагается, что вы не работаете с клавишами перемещения, используемыми в Lotus 1-2-3. Опцию Клавиши перемещения, использовавшиеся в Lotus 1 -2-3 можно выбрать во вкладке Переход диалогового окна Параметры. Таблица Д.1. Перемещение по рабочему листу Комбинация клавиш Выполняемая функция <Клавиши-стрелки> <Ноте> <Ноте>* <End>* <Клавиши-стрелки>* <PgUp> <PgDn> <Ctrl+PgUp> <Ctrl+PgDn> <Alt+PgUp> <Alt+PgDn> Перемещение влево, вправо, вверх или вниз на одну ячейку Перемещение в начало строки Перемещение в верхнюю левую ячейку, отображенную в окне Перемещение в нижнюю левую ячейку, отображенную в окне Прокрутка влево, вправо, вверх или вниз на одну ячейку Перемещение на один экран вверх Перемещение на один экран вниз Перемещение на предыдущий лист книги Перемещение на следующий лист книги Перемещение на один экран влево Перемещение на один экран вправо ПРИЛОЖЕНИЕ В этом приложении... Игры в Excel Примеры диаграмм Развлечения в Excel
Окончание табл. Д. 1 Комбинация клавиш Выполняемая функция <Ctrl+Home> Перемещение в начало листа (в ячейку А1 рабочего листа) <Ctrl+End> Перемещение на последнюю активную ячейку листа (в нижний правый угол) <С1г!+клавиша- Перемещение к краю текущей области данных. Если активная ячейка пуста, то стрелка> курсор перемещается в ближайшую непустую ячейку <Ctrl+Backspace> Прокрутка с целью отображения активной ячейки <End>, <Home> Перемещение в последнюю непустую ячейку рабочего листа <F5> Запрос на адрес ячейки, в которую нужно перейти <F6> Перемещение в следующую область окна <Shift+F6> Перемещение в предыдущую область окна <Ctrl+Tab> Перемещение в следующее окно <Ctrl+Shift+Tab> Перемещение в предыдущее окно * Действует при нажатой клавише <Scroll Lock>. Таблица Д.2. Выделение ячеек рабочего листа Комбинация клавиш Выполняемая функция <ЗШ+клавиша-стрелка> <БЫЙ+пробел> <Ш+пробел> <Ctrl+Shift+npo6en> <Shift+Home> <Ctrl+*> <F8> <Shift+F8> <F5> <Ctrl+G> <Ctrl+A> <Shift+Backspace> Расширение выделенной области на одну ячейку в заданном направлении Выделение всей строки Выделение всего столбца Выбор всей таблицы Расширение выделенной области до начала текущей строки Выделение блока данных вокруг активной ячейки Включение режима расширения выбранной области; нажмите эту клавишу еще раз, чтобы вернуться в обычный режим Добавление к выбранной области несмежных ячеек или диапазонов; повторное нажатие клавиш <Shift+F8> прекращает действие режима добавления Запрос диапазона или имени диапазона, который нужно выбрать Запрос диапазона или имени диапазона, который нужно выбрать Выбор всего рабочего листа Выбор активной ячейки в выделенном диапазоне Таблица Д.З. Перемещение внутри выделенного диапазона Комбинация клавиш Выполняемая функция <Enter> Перемещение табличного курсора на одну ячейку (направление перехода зависит от опций во вкладке Правка диалогового окна Параметры); если выделена одна строка, то курсор переместится вправо <Shift+Enter> Перемещение табличного курсора в предыдущую ячейку или, если выделена одна строка, влево 752 Часть VII. Приложения
Окончание табл. Д.З Комбинация клавиш Выполняемая функция <ТаЬ> <Shift+Tab> <СМ+точка> <Ctrl+Tab> <Ctrl+Shift+Tab> <Shift+Backspace> Перемещение табличного курсора на одну ячейку вправо Перемещение табличного курсора на одну ячейку влево Перемещение к следующему по часовой стрелке углу выделенной области Перемещение к следующему диапазону ячеек в несмежном блоке Перемещение к предыдущему диапазону ячеек в несмежном блоке Сжатие выбранной области только до одной активной ячейки Таблица Д.4. Клавиши для правки содержимого строки формул Комбинация клавиш Выполняемая функция <F2> <F3> <Клавиши-стрелки> <Ногле> <Esc> <End> <Ctrl+-»> <Ctrl+«-> <Del> <Ctrl+Del> <Backspace> Переход в режим правки содержимого активной ячейки Вставка имени в формулу Перемещение курсора на один символ в направлении, указанном стрелкой Перемещение курсора в.начало строки Отмена режима правки Перемещение курсора в конец строки Перемещение курсора на одно слово вправо Перемещение курсора на одно слово влево Удаление символа, расположенного справа от курсора Удаление всех символов, начиная от курсора и до конца строки Удаление символа, расположенного слева от курсора Таблица Д.5. Клавиши для форматирования Комбинация клавиш Выполняемая функция <Ctrl+1 > Эквивалент команды Формате [Выделенный объект] <Ctrl+B> Выполнить или отменить форматирование полужирным шрифтом <Ctrl+l> Выполнить или отменить форматирование курсивом <Ctrl+U> Подчеркнуть текст или удалить линию подчеркивания <Ctrl+5> Перечеркнуть текст или удалить линию перечеркивания <Ctrl+Shift+"> Выполнить форматирование общим числовым форматом <Ctrl+Shift+!> Выполнить форматирование форматом с двумя десятичными разрядами <Ctrl+Shift+#> Выполнить форматирование форматом для дат с полями дня, месяца и года <Ctrl+Shift+@> Выполнить форматирование форматом для времени с полями часов и минут и индексами А.М. или P.M. <Ctrl+Shift+$> Выполнить форматирование денежным форматом с двумя десятичными знаками после точки Приложение Д. Клавиатурные эквиваленты Excel 753
Окончание табл. Д.5 Комбинация клавиш Выполняемая функция <Ctrl+Shift+%> Выполнить форматирование процентным форматом с отсутствующей дробной частью <Ctrl+Shift+&> Вставить рамку структуры <Ctrl+Shift+_> Удалить все рамки <АИ+апостроф> Выполнить команду ФорматоСтиль Таблица Д.6. Другие клавиатурные эквиваленты Комбинация кла- Выполняемая функция виш <Alt+=> Вставка формулы автосуммирования <Alt+Backspace> Команда Правка^Отменить <Alt+Enter> Переход на новую строку в текущей ячейке <Ctrl+;> Ввод текущей даты <Ctrl+:> Ввод текущего времени <Ctrl+0> Сокрытие столбцов <Ctrl+1 > Отображение диалогового окна Формат ячеек для выбранного объекта <Ctrl+6> Циклическое переключение различных способов отображения объектов <Ctrl+7> Включение и отключение отображения стандартной панели инструментов <Ctrl+8> Включение и отключение отображения символов структуры <Ctrl+9> Сокрытие строк <Ctrl+A> После набора имени функции в формуле отображает вспомогательное окно Аргументы функции <Ctrl+C> Команда Правка=с>Копировать <Ctrl+D> Команда Правка^Заполнить^Влево <Ctrl+Delete> Команда Правка^Вырезать <Ctrl+F> Команда ПравкаоНайти <Ctrl+H> Команда Правка^Заменить <Ctrl+lnsert> Команда Правка^Копировать <Ctrl+K> Команда Вставка^Гиперссылка <Ctrl+N> Команда Файл-=>Создать <Ctrl+0> Команда Файл^Открыть <Ctrl+P> Команда Файл^Печать <Ctrl+R> Команда Правка^ЗаполнитьоВправо <Ctrl+S> Команда Файл=с>Сохранить <Ctrl+Shift+(> Отображение строк <Ctrl+Shift+)> Отображение столбцов 754 Часть VII. Приложения
Окончание табл. Д.6 Комбинация клавиш Выполняемая функция <Ctrl+Shift+:> Ввод текущего времени <Ctrl+Shift+A> После набора допустимого имени функции в формуле вставляет имена аргументов и круглые скобки для функции <Ctrl+V> Команда Правка^ Вставить <Ctrl+X> Команда Правкам Вырезать <Ctri+Z> Команда Правка"=>Отменить <Delete> Команда Правка=с>Очистить <Shift+lnsert> Команда Правка^ Вставить Таблица Д.7. Функциональные клавиши Клавиши и их комбинации Выполняемая функция <F1> <Shift+F1> <Alt+F1> <Alt+Shift+F1> <F2> <Shift+F2> <Alt+F2> <Alt+Shift+F2> <F3> <Shift+F3> <Ctrl+F3> <Ctrl+Shift+F3> <F4> <Shift+F4> <Ctrl+F4> <Alt+F4> <F5> <Shift+F5> <Ctrl+F5> <F6> <Shift+F6> <Ctrl+F6> <Ctrl+Shift+F6> Выводит окно справочной системы или средство Помощник Отображает курсор "Что это такое?" Вставляет лист диаграммы Вставляет новый рабочий лист Перейти к правке содержимого активной ячейки Перейти к правке комментария ячейки Выполняет команду Сохранить как Выполняет команду Сохранить Вставляет имя в формулу Вставляет функцию в формулу Присваивает имя Отображает диалоговое окно Создать имена для создания имен по заголовкам ячеек Повторяет последнее действие Повторяет последнюю команду Найти, т.е. выполняет команду Найти далее Закрывает текущую рабочую книгу Осуществляет выход из программы Выполняет команду Перейти Отображает диалоговое окно Найти и заменить Восстанавливает исходный размер окна Перемещает в следующую область окна Перемещает в предыдущую область окна Перемещает в следующее окно рабочей книги Перемещает в предыдущее окно рабочей книги Приложение Д. Клавиатурные эквиваленты Excel 755
Окончание табл. Д. 7 Клавиши и их комбинации Выполняемая функция <F7> <Ctrl+F7> <F8> <Shift+F8> <Ctrl+F8> <Alt+F8> <F9> <Shift+F9> <Shift+Alt+F9> <Ctrl+F9> <F10> <Shift+F10> <Ctrl+F10> <F11> <Shift+F11> <Ctrl+F11> <Alt+F11> <F12> <Shift+F12> <Ctrl+F12> <Ctrl+Shift+F12> Выполняет команду Сервис=с>Орфография Перемещает окно Расширяет выделенную область Добавляет диапазоны к выбранной области Изменяет размер окна Отображает диалоговое окно Макрос Пересчитывает формулы во всех открытых рабочих книгах Пересчитывает активный рабочий лист Пересчитывает всю рабочую книгу Минимизирует рабочую книгу Активизирует строку меню Отображает контекстное меню Минимизирует или восстанавливает окно рабочей книги Создает диаграмму Вставляет новый рабочий лист Вставляет лист макроса Excel 4.0 Открывает окно редактора Visual Basic Выполняет команду Сохранить как Выполняет команду Сохранить Выполняет команду Открыть Выполняет команду Печать 756 Часть VII. Приложения
Предметный указатель А ActiveX, 657 ASCII-художество, 741 D dBASE,418;435 Е Excel запуск, 47 F FoxPro, 418 F-тест, 484 н HTML, 549; 555 I Internet, 549 Internet Explorer, 552 J JavaScript, 551 L Lotus cc:Mail, 576 Lotus 1-2-3,310 M MAPI, 576 Microsoft Access, 417; 418 Microsoft Equation, 562 Microsoft Exchange, 576 Microsoft Outlook, 576 Microsoft Query, 417; 418; 425 Microsoft SharePoint, 576 О Object Linking and Embedding (OLE), 562 ODBC, 418 Outlook Express, 577 P Paradox, 418 s SQL, 418 SQL Server, 418 T t-тест, 480 двухвыборочный с одинаковыми дисперсиями, 488 двухвыборочный с разными дисперсиями, 488 парный двухвыборочный для средних, 487 VBA, 678. См. Visual Basic for Applications процедура-функция, 630 экранные формы, 638 VIM, 576 Visual Basic for Applications метод, 609 модуль, 609 пользовательская форма, 609 Visual Basic for Applications, 606 коллекция, 619 метод, 621; 623 модуль, 619 объект, 619 переменные, 623 подпрограмма, 608 процедура, 608 свойства объектов, 609; 622 управляющие операторы, 624 функция, 608 W Web-запрос, 555 создание, 555 WordArt, 390 World Wide Web, 549 X XML, 553; 566 XMLSS, 553 z z-тест, 480; 488 V Предметный указатель 757
А Автоматическое открытие рабочих книг, 128 Автоподбор ширины, 112 Автосохранение, 691 Автофигуры, 377 вращение, 381 модификация, 381 форматирование, 380 Автофильтр, 397 пользовательский, 399 Автоформатирование, 117 Активная область, 139 Активная рабочая книга, 69 Анализ "что-если", 452 типы, 454 Анализ Фурье, 479; 484 Анимация, 731 Аплет, 388 WordArt, 390 Аргумент функции, 159 Б База данных, 392; 435; 572 внешняя, 416; 417 запись, 417 запрос, 417 поле, 418 рабочего листа, 392 результирующий набор, 418 реляционная, 418; 427 таблица, 418 Блокировка записей, 572 Буфер обмена, 557 Буфер обмена Office, 95; 99; 558 Буфер обмена Windows, 95; 99; 387; 558 В Ввод большого количества данных, 60 данных, 48; 59 данных в список, 393 даты и времени, 56 дробей, 62 значений времени, 199 значений дат и времени, 196 текста, 55; 178 текущей даты и времени, 63 форма, 62 формул, 159; 160 формул вручную, 160 формул массивов, 281 функций, 162 чисел, 55 Вертикальное выравнивание, 112 Внедрение объектов, 565 Внедрение объектов в документы, 562 Внедренный объект, 564 Внешняя база данных, 417 Внешняя ссылка, 539 Вставка гиперссылок, 554 имен, 160 столбцов, 82 строк, 83 функции, 161 ячейки, 83 Выделение дипазона, 88 рабочих листов, 73 столбцов, 89 строк, 89 Выравнивание вертикальное, 112 горизонтальное, 112 Г Ганта диаграмма, 364 Генерация случайных чисел, 480; 485 Гиперссылка, 553 вставка, 554 использование, 554 Гистограмма, 329; 480; 484 Горизонтальное выравнивание, 112 Горячая клавиша, 40; 45 Границы,116 Графический уровень, 379 рабочего листа, 53 Группировка объектов, 382 элементов сводной таблицы, 443 д Данные текстовые, 54 числовые, 53 Дата и время, 56 Двухвыборочный F-тест для дисперсии, 479 Диаграмма, 310 биржевая, 337 внедренная, 312 вспомогательная ось, 358 Ганта, 364 гистограмма, 329 график, 332 заголовки, 322; 344 заголовок, 314 изменение осей, 346 изменение типа, 325 исходные данные, 345 кольцевая, 335 комбинированная, 358 коническая, 338 копирование, 325 круговая, 332 легенда, 314; 322; 344 лепестковая, 336 линейчатая, 331 линии сетки, 322; 346 линия тренда, 356 названия осей, 314 настройка, 339; 368 нестандартная, 324 область построения, 343 обновление, 366 объемная, 356 оси, 322 ось значений, 314 ось категорий, 313 параметры, 313; 324 печать, 326 пирамидальная, 338 планки погрешностей, 355 поверхностная, 336; 357 подписи данных, 314; 322; 353 построение, 314 758 Предметный указатель
процентная, 363 пузырьковая, 337 размещение, 323 ряды данных, 311; 350; 372 с областями, 334 создание, 50 стандартная, 324; 329 таблица данных, 322; 359 тестирование, 361 типы, 327; 374 точечная, 334 удаление, 325 форматирование, 326; 369 цилиндрическая, 338 шкалы осей, 347 элементы, 325 Диалоговое окно, 43 Автозамена, 183; 602 Автоформат, 49; 117; 603 Анализ данных, 230; 480 Аргументы функции, 162 Библиотека диаграмм, 388 Вставка, 73; 135 Вставка вычисляемого поля, 447 Вставка вычисляемого элемента, 449 Вставка имени, 104; 160 Вставка объекта, 566 Выбор источника данных, 419 Выборка, 487 Выделение группы ячеек, 92; 591 Вычисление поля сводной таблицы, 442; 443 Вычисление формулы, 598 Генерация случайных чисел, 485 Гистограмма, 484 Группирование, 444 Диспетчер сценариев, 461 Добавление гиперссылки, 554 Добавление нового типа диаграмм, 360 Добавление ограничения, 470 Добавление рисунка, 387 Загрузить модель, 473 Заменить формат, 600 Запись макроса, 610 Значения ячеек сценария, 462 Изменение связей, 540; 590 Изменение сценария, 461 Импорт данных, 555 Исправления, 578 Исходные данные, 345; 352 Карты XML, 568 Коллекция WordArt, 390 Консолидация, 545; 547 Контроль ошибок, 597 Корреляция, 482 Макрос, 636 Мастер диаграмм, 319 Мастер сводных таблиц и диаграмм, 436 Мастер функций, 161; 636; 702 Масштаб, 81 Надстройки, 469; 692; 698 Назначить макрос, 617 Найти и заменить, 598 Найти формат, 600 Наложение условия по списку, 400 Настройка, 110; 120; 507; 508; 617; 653 Обновить значение, 540 Описательная статистика, 483 Орфография, 601 Открытие XML, 569 Открытие документа, 126 Отчет по сценарию, 463 Параметры, 45; 47; 59; 64; 71; 74; 171; 395; 468; 491 Параметры веб-документа, 553 Параметры диаграммы, 344; 345; 359 Параметры макроса, 626; 637 Параметры поиска решения, 472 Параметры сводной таблицы, 443 Параметры сортировки, 409 Параметры сохранения, 130 Параметры страницы, 139; 141; 144 Переименование панели, 508 Переместить или скопировать, 75 Переход, 88; 92; 172; 591 Печать, 139 Подбор параметра, 466 Поиск решения, 470 Пользовательский автофильтр, 399 Представления, 81 Применение имен, 175 Присвоение имени, 103; 105; 166; 172; 280 Проверка вводимых значений, 524 Промежуточные итоги, 411 Просмотр исправлений, 579 Публикация веб-страницы, 552 Размещение диаграммы, 313 Расположение окон, 77 Расширенный фильтр, 402; 405 Регрессия, 486 Редактор кнопок, 513 Результат подбора параметра, 467 Результаты поиска решения, 471 Свойства, 131; 698 Свойства внешнего диапазона, 423; 556 Символ, 182 Скользящее среднее, 485 Создание веб-запроса, 555 Создание запроса, 421 Создание нового источника данных, 419 Создание панели инструментов, 508 Создать имена, 103 Сортировка диапазона, 408; 411 Сохранение документа, 52; 129; 552; 672 Сохранить модель, 473 Специальная вставка, 100; 118; 177; 539; 544; 561 Способы заливки, 361 Стиль, 120; 121; 495 Таблица подстановки, 264; 456 Тип диаграммы, 358 Предметный указатель 759
Управление доступом к файлу, 574; 576 Управление панелями инструментов, 509 Условное форматирование, 516; 519 Формат, 341 Формат автофигуры, 380 Формат области диаграммы, 342 Формат области построения, 343 Формат оси, 347 Формат ряда данных, 350; 364 Формат сетки, 346 Формат таблицы данных, 359 Формат трехмерной проекции, 356 Формат элемента легенды, 345 Формат ячеек, 66; 108; 113; 199; 492; 493; 516 Шаблоны, 125 Диалоговые окна последовательность перехода, 654 создание, 649 тестирование, 647 Диапазон, 87 внешних данных, 423 выделение, 88 имя, 102 консолидации, 435 копирование, 94; 98 критериев, 401 несмежный, 89 пемещение, 94 перемещение, 681 печать, 146 смежный, 89 создание имен, 102 транспонирование, 101 Диапазоны операторы отношения, 173 пересечение, 173 Динамические связи, 557 Динамическое обновление данных, 544 Дисперсионный анализ, 479; 482 двухфакторный без повторений, 482 двухфакторный с повторениями, 482 однофакторный, 482 Диспетчер сценариев, 460 Добавление нового рабочего листа, 73 Ж Журнал изменений, 575 3 Заголовки столбцов, 35 строк, 36 Закрепление областей, 79 Закрытие рабочих книг, 129 окна, 72 Замена содержимого ячейки, 58 ссылок именами, 175 Запрос, 417 изменение, 425 обновление, 424 создание, 421; 425 удаление, 425 Запуск Excel, 47 Защита надстройки, 698 Значения ошибок, 584 И Игра гитара, 740 головоломки со словами, 729 кено, 729 пятнашки, 728 создание симметричных узоров, 732 Игры, 727 Изменение высоты строк, 86 запроса, 425 изображений на кнопках, 513 имен, 105 колонтитулов, 144 объемных диаграмм, 356 ориентации текста, 113 ряда данных, 351 ссылки, 541 стилей, 122 сценария, 463 типа диаграммы, 325 ширины столбцов, 85 шрифтов, 109 Изменяемая ячейка, 468 Изменяемые ячейки, 460 Изображения векторные, 385 растровые, 385 Имена диапазона, 102 констант, 172 ячеек, 102 Именованные представления, 81 Импорт данных XML, 567 Импортирование графических файлов, 387 данных XML, 569 изображений, 387 Инструмент Масштаб, 80 Размер, 109 Стиль, 120 Сценарий, 462 Формат по образцу, 118 Цвет заливки, 114; 326 Цвет шрифта, 114 Шрифт, 109 Использование представлений, 152 стилей, 118 Источник данных, 558 К Клавиша горячая, 40; 654 Клавиши горячие, 45 Ковариационный анализ, 479; 483 Ковариация, 483 Коды символов, 180 760 Предметный указатель
Коллекция, 619 Колонтитул верхний, 143 нижний, 143 создание, 144; 145 Компьютерная сеть, 571 Консолидация, 537; 543; 544; 546 методы по позиции, 545 по категории, 545 рабочих листов, 543 с помощью формул, 544 тип, 545 Константы, 172; 278 Конструкция Select Case, 630; 641 With-End With, 624 Контекстное меню, 41 Контроль исправлений, 578 Копирование графических объектов, 387 диаграмм, 325 диапазона, 94; 98; 679 из Excel в Word, 561 объектов, 381 форматов, 118 формул, 176 Корреляционный анализ, 479; 482 Корреляция, 482 Коэффициент масштабирования, 81 Критерии вычисляемые, 404 Кубы OLAP, 417; 419 Л Легенда диаграммы, 314; 344 Линия тренда, 356 Лист диаграммы, 35; 312 Личная книга макросов, 616 м Макрос, 606; 639; 679 запись, 610; 615 назначение кнопкам, 617 написание кода, 617 параметры, 626 редактирование, 613 создание, 610 сохранение, 616 тестирование, 613 типы адресации, 615 Маркер заполнения, 47 Массив, 275 именованный, 280 констант, 277; 284 размерность, 279 создание, 279 транспонирование, 286 Мастер диаграмм, 50; 314 запросов, 420 сводных таблиц и диаграмм, 434 функций, 161; 481 Меню, 39; 505 контекстное, 41; 507 настройка, 510 Сервис, 127 элемент, 40 Метод Areas, 684 End, 681 OnKey, 676 OnTime, 676 SelectSpecial, 682 Show, 646 SpecialCells, 683 Многопользовательские приложения, 572 Модуль, 695 Модуль VB A, 619 н Надстройка, 691 Power Utility Рак, 551 Автосохранение, 691 защита, 698 описание, 698 открытие, 699 Пакет анализа, 227; 479; 691; 702 Поиск решения, 691 создание, 693; 694 сохранение, 699 тестирование, 697 Надстройки включенные в Excel, 692 Настройка диаграмм, 339 Несмежные диапазоны, 684 О Область диаграммы, 314; 342 задач, 99 печати, 141 Обновление экрана, 687 Объединение содержимого ячеек, 182 стилей, 122 сценариев, 463 ячеек, 113 Объект ActiveChart, 686 Application, 621; 633; 676 ChartObject, 686 Range, 622; 681 ThisWorkbook, 668; 669; 695 UserForm, 646 Workbook, 621; 668 Worksheet, 621 внедренный, 564 свойства, 622 Объект VBA, 619 Объектная модель, 619 Объявление типа переменных, 688 Ограничение доступа к файлам,572 Окно Code, 611 Project, 611; 698 Properties, 658 ввода, 639 контрольного значения, 82 рабочей книги, 70 Оператор, 155 If-Then, 624 On Error, 686 Select Case, 625 условный, 624 цикла, 624 Операторы отношения диапазонов, 173 порядок выполнения, 157 управляющие, 624 Предметный указатель 761
Операции над списками, 393 Описательная статистика, 479; 483 Организационные диаграммы, 388 Ось вспомогательная, 358 Отображение рабочего листа, 76 Отчет по сценарию, 463 Ошибки в рабочих листах, 581 в ссылках, 587 во внешних ссылках, 590 отслеживание, 584; 595 синтаксические, 583 п Пакет анализа, 479; 480; 691 инструменты, 481 Панели инструментов, 36; 42 настройка, 506 перемещение, 43 список, 42 Панель Буфер обмена, 99; 559 Источник XML, 567 Коллекция клипов, 385; 386 Окно контрольного значения, 82 Панель задач Вставка рисунка, 386 Панель задач Windows, 70 Панель инструментов Toolbox, 643 WordArt, 390 Автофигуры, 377 Веб-узел, 554 Внешние данные, 423 Диаграмма, 51; 389 Диаграммы, 316; 317; 341 Зависимости, 526; 594 закрепленная, 507 настройка, 511 Настройка изображения, 388; 564 Организационная диаграмма, 389 Остановить запись, 610; 616 плавающая, 507 прикрепленная, 43 Рисование, 149; 382; 384 Сводные таблицы, 441 скрытие, 43 создание, 508 Список, 413 Список полей сводной таблицы, 438 Сравнить по столбцам, 78 Сравнить рядом, 593 Стандартная, 39; 43; 50; 80; 125 Строка меню листа, 505 Форматирование, 50; 108; 120; 326; 491 Формы, 657 Циклические ссылки, 169; 596 Элементы управления, 643; 657; 662 Панель команд, 505 Параметры страницы, 141 Пароль для открытия файла, 131 разрешения записи, 131 Переименование рабочего листа, 74 Перемещение диапазона, 94; 681 объектов, 381 окна, 70 панелей инструментов, 43 рабочего листа, 75 элементов диаграммы, 325 Перенос по словам, 112 Переопределение имен, 105 Пересечение диапазонов, 173 Печать быстрая, 138 выбор принтера, 139 диаграмм, 326 диапазона ячеек, 146 документов, 138 заголовки столбцов, 146 качество печати, 142 количество копий, 141 область печати, 141 объектов, 385 ориентация, 142 параметры, 139 предварительный просмотр, 149 примечаний, 147 рабочего листа, 51 разбивка на страницы, 148 разметка страницы, 151 размер бумаги, 142 черно-белая, 147 черновая, 147 Планки погрешностей, 355 Подбор параметра, 465 Подменю, 40 Подпрограмма, 608 обработки событий, 651 Поиск решения, 466; 468; 691 параметры, 471 примеры, 473 Поле Имя, 36; 103; 175 страницы, 143 Полоса прокрутки, 35 Пользовательская форма, 609 Предварительный просмотр, 52; 138; 140; 149; 326 Представление дат, 202 Представления, 152; 536 Преобразование текстовой строки в дату, 204 числа в текст, 179 Приемник данных, 558 Примечания к ячейке, 105 Приоритет операторов, 156 Присвоение имен константам, 172 имен формулам, 172 Проверка вводимых данных, 524 Проверка орфографии, 600 Программирование в VBA, 678 выбор строк и столбцов, 680 изменение параметров Excel, 684 копирование дипазона, 679 оператор On Error, 686 оператор Select Case, 685 определение типа ячеек, 683 перемещение диапазона, 681 762 Предметный указатель
работа с диаграммами, 686 работа с диапазонами, 678 циклические операции, 682 Промежуточные итоги, 411 Процедура, 609 UserFormJnitialize, 696 Workbook_BeforeClose, 672 Workbook_BeforeSave, 672 Workbook_Open, 670; 696 Worksheet_Change, 673; 674 Процедуры обработки событий, 646 Р Рабочая книга, 34; 35; 69 автоматическое открытие, 128 активная, 69 вид, 78 зависимая, 537 закрытие, 129 имя, 70 исходная, 537 новая, 124 общая, 573 окно, 70 открытие, 126 пересылка, 576 представления, 152 рассылка, 577 свойства, 131 создание, 47 сохранение, 52; 128 Рабочий лист, 35; 69 выделение, 73 графический уровень, 53 добавление нового, 73 закрепление областей, 79 масштабирование, 80 отображение, 76 переименование, 74 перемещение, 75 печать, 52 разделение, 78 сокрытие, 76 структура, 530 удаление, 73 ярлык, 35 Разбивка на страницы, 148 Разделение рабочего листа, 78 Разметка страницы, 140; 151 Разрыв страницы, 148 Ранг и персентиль, 486 Регрессионный анализ, 486 Регрессия, 480; 486 Редактирование изображения на кнопке, 513 макроса, 613 примечания, 106 связей, 541 содержимого ячейки, 58 формул, 163 формул массивов, 282 шаблонов, 135 Редактор Visual Basic, 611; 615; 639; 658; 661; 668; 694 кнопок, 513 Режим адресации, 616 конструктора, 658; 659 предварительного просмотра, 140; 149 Режим вычислений, 170 автоматический, 170 ручной, 171 Резервная копия, 130 Реляционная база данных, 418 Рисунок фоновый, 116 с Сводная таблица, 429; 463 автоформат, 443 вычисляемое поле, 446 вычисляемый элемент, 446 группировка элементов, 443 данные, 431 изменение структуры, 441 макет, 437 обновление, 442 параметры, 439 параметры полей, 442 создание, 434 терминология, 432 форматирование, 443 Свойство Accelerator, 696 TypeName, 671 UserName, 633 Связывание, 537 данных, 558; 560 рабочих книг, 537 Связывание и внедрение объектов, 562 Сеть клиент/сервер, 572 компьютерная, 571 одноранговая, 572 Система дат Excel, 195 Скользящее среднее, 480; 485 Смарт-тег, 97; 596 Параметры вставки, 58 Событие, 646 BeforeClose, 672 BeforePrint, 668 BeforeRightClick, 675 BeforeSave, 672 Change, 673 NewSheet, 671 OnKey, 676 OnTime, 676 Open, 668; 670 RightClick, 675 SelectionChange, 674 SheetActivate, 668; 671 обработка, 646 События, 667 рабочего листа, 672 уровня листов, 667 уровня рабочей книги, 669 уровня рабочих книг, 667 Создание в Word объекта Excel, 564 диаграмм, 50 имен автоматическое, 103 имен диапазонов, 102 массивов, 279 надстройки, 694 новой рабочей книги, 124 новых стилей, 121 панели инструментов, 508 рабочей области, 576 распределения частот, 227 связей, 560 структуры, 533 формул массивов, 275; 287 функций, 629 числовых форматов, 493 Предметный указатель 763
Сокрытие рабочего листа, 76 строк и столбцов, 84 Сортировка, 407; 410 внешних данных, 428 Сохранение рабочих книг, 128 Специальная вставка, 100 Список, 45; 392; 435; 663 ввод данных, 394 записи, 392 обозначенный, 413 полей сводной таблицы, 439 поля, 392 размер, 392 сортировка, 407 фильтрация, 397; 401 форма ввода, 395 Способы резервного копирования, 132 Сравнение текстовых строк, 181 Средство WordArt, 390 Автовосстановление, 129 Автовычисление, 217 Автозавершение, 61; 603 Автозамена, 62; 602 Автозаполнение, 48; 60; 98; 203; 394; 410 автокоррекции формул, 157 Автоформат, 117 Выборка, 487 Вычисление формулы, 597 Гистограмма, 230 Диспетчер сценариев, 455; 471 Мастер диаграмм, 314; 317 Представления, 536 Ранг и персентиль, 486 Регрессия, 486 Скользящее среднее, 485 Ссылки абсолютные, 164 внешние, 539 изменение типа, 166 на ячейки, 166 относительные, 164 смешанные, 164 циклические, 168 Стили, 118 изменение, 122 объединение, 122 применение, 120 создание, 121 удаление, 122 Стиль, 495 встроенный, 119 обычный, 119; 122; 133; 145 Строка заголовка, 36 меню, 35; 39 меню, перемещение, 40 формул, 35; 155; 176 Структура, 530 For-Next, 682 Select Case, 685 автоматическое создание, 534 группирование, 535 отображение уровней, 535 рабочего листа, 530 сводной таблицы, 441 создание, 533 удаление, 536 Сценарий, 454 изменение, 463 объединение, 463 т Таблица имен, 104 Таблица подстановки, 262; 454 макет, 455 с двумя входами, 263; 457 с одним входом, 262 Табличный курсор, 35; 59 Тестирование макроса, 613 Тип данных, 688 Тип чисел, 54 Типы данных, 53 Типы диаграмм, 327 Транспонирование диапазона, 101 Транспонирование массивов, 286 У Удаление диаграммы, 325 запроса, 425 имен, 105 примечания, 106 рабочего листа, 73 разрыва страницы, 148 ряда данных, 351 содержимого ячейки, 57 столбцов, 84 строк, 83 структуры, 536 элементов диаграммы, 325 Условное суммирование, 233; 294 Условное форматирование, 515; 516 Ф Файлы HTML, 549 XML, 557; 566 баз данных, 418 графические, 385 задание имени, 130 Фильтр автофильтр, 397 расширенный, 397; 401 Фильтрация автоматическая, 398 диапазон критериев, 401 расширенная, 401 списка, 397 Фоновый рисунок, 116 Форма ввода данных, 395 пользовательская, 639; 643 Формат HTML, 549 XML, 553 Время, 67; 493 Все форматы, 68; 493 Дата, 67; 493 Денежный, 67; 493 Дополнительный, 68; 493 Дробный, 68; 493; 501 Общий, 67; 490; 493 определяемый пользователем, 68; 494 764 Предметный указатель
по образцу, 118 Процентный, 67; 493 создание, 493 Текстовый, 68; 493 фиксированный десятичный, 60 Финансовый, 67; 493 Числовой, 67; 490; 493 Экспоненциальный, 68; 493 Форматирование, 49; 107 автоформат, 117 внешних данных, 428 дат и времени, 502 диаграммы, 326; 687 значений дат и времени, 199 по образцу, 118 сводной таблицы, 443 стили, 118 таблиц, 109 условное, 515 чисел автоматическое, 64; 490 числовых значений, 63 Форматы времени, 199 дат, 197 числовые, 66 Формула массива, 281 Формула редактирование, 282; 457 Формулы, 48; 54; 154; 159 ввод, 160 вставка имен, 160 копирование, 176 массивов, 275; 292 отображение, 592 ошибки, 168 подсчета, 216; 221 преобразование в значения, 177 просмотра и поиска, 238; 246 работы с текстом, 190 редактирование, 163 с внешними ссылками, 538 создание, 48 ссылки, 164 ссылки на ячейки, 166 суммирования, 216; 231 условного суммирования, 233 Функции, 155; 702 VBA, 608; 628 баз данных, 406; 703 встроенные, 155; 158 дат и времени, 201 даты и времени, 703 инженерные, 704 информационные, 708 логические, 708 математические, 709 определенные пользователем, 629; 637 пакета анализа, 481 подсчета, 216 полный перечень, 702 просмотра и поиска, 239 ссылок, 709 статистические, 711 суммирования, 216 текстовые, 179; 714 финансовые, 705 Функция, 608 ABS, 211; 300 InputBox, 626; 639; 683 MsgBox, 636; 639; 640; 683 TimeVal, 676 Union, 674 Weekday, 671 АДРЕС, 254; 297 АПЛ, 273 аргументы, 159 БС, 270 ВПР, 241 ВРЕМЗНАЧ, 211; 214 ВРЕМЯ, 210,215 ГОД, 206 ГПР, 242 ДАТА, 203; 209 ДАТАЗНАЧ, 203 ДВССЫЛ, 254; 287 ДЕНЬНЕД, 208 ДЛСТР, 187; 288; 298 ДОЛЯГОДА, 207 ЕНД, 220 ЕНЕТЕКСТ, 220 ЕОШ, 220 ЕОШИБКА, 220; 293 ЕСЛИ, 191; 240; 293 ЕТЕКСТ, 180,521 ЗАМЕНИТЬ, 188; 190 ЗНАЧЕН, 299 ИНДЕКС, 244; 251; 281; 298 КОДСИМВ, 181 КОРРЕЛ, 483 КПЕР, 259 ЛЕВСИМВ, 188 МАКС, 522 МЕСЯЦ, 522 МИН, 297; 522 МОДА, 224 НАИБОЛЬШИЙ, 233; 295; 635 НАИМЕНЬШИЙ, 233; 288 НАЙТИ, 189 ОБЩДОХОД, 258 ОБЩПЛАТ, 258 ОКРУГЛ, 301; 589 ОСПЛТ, 257 OCT AT, 301; 523 ПЕЧСИМВ, 186 ПЛТ, 257 ПОВТОР, 184; 185 ПОДСТАВИТЬ, 188; 190 ПОИСК, 189 ПОИСКПОЗ, 244; 298 ПРАВСИМВ, 188 ПРОМЕЖУТОЧНЫЕ. ИТОГИ, 412 ПРОПИСН, 187 ПРОПНАЧ, 187 ПРОСМОТР, 242 ПРПЛТ, 258 ПС, 259 ПСТР, 188,299 ПУО, 274 РАБДЕНЬ, 206 РАЗНДАТ, 206 РАНГ, 304 РУБЛЬ, 184 РЯД, 352 СЕГОДНЯ, 184; 202; 522 СЖПРОБЕЛЫ, 186; 193 СИМВОЛ, 181; 182 СМЕЩ, 303; 367 СОВПАД, 181 СРЗНАЧ, 296; 521 СТАВКА, 258 СТРОКА, 286; 302; 523 СТРОЧН, 187 СУММ, 231; 293 СУММЕСЛИ, 233; 294 СУММПРОИЗВ, 223 СЦЕПИТЬ, 182 СЧЁТЕСЛИ, 221; 225 СЧЁТЗ, 219; 303; 367 Предметный указатель 765
СЧИТАТЬПУСТОТЫ, 219 ТДАТА, 184 ТЕКСТ, 183 ТРАНСП,281;286 ЧАСТОТА, 227; 228 ЧИСЛСТОЛБ, 218 ЧИСТРАБДНИ, 205 ЧСТРОК, 218 Функция VBA аргументы, 632 запуск, 631 отладка, 636 создание, 629 ц Целевая ячейка, 468; 596 Циклическая ссылка, 168 косвенная, 170 преднамеренная, 170 ч Числовые значения, 53 ш Шаблон, 123; 124; 133 изменение параметров, 133 KHnra.xlt, 135 рабочей книги, 135 редактирование, 135 сохранение, 136 стандартного рабочего листа, 133; 134 стандартной рабочей книги, 133 числового формата, 494; 495 Шкалы осей, 347 Шрифт стандартный, 109 э Экранная форма, 638; 696 отображение, 646 процедуры обработки событий, 648 Экспоненциальное сглаживание, 479; 483 Экспорт данных XML, 570 Экспортирование в формат XML, 553 Элементы управления, 44 управления диалоговых окон, 44 Элементы управления, 609; 656 ActiveX, 657 вставка, 658 выключатель, 666 кнопка, 663 надпись, 663 переключатель, 664 поле, 666 поле со списком, 662 полоса прокрутки, 664 рисунок, 663 свойства, 645; 659 список, 663 счетчик, 665 флажок, 662 Я Ярлычки листов, 36 Ячейка, 35; 36; 87 адрес, 36; 87 активная, 36 влияющая, 594 диапазон, 87 зависимая, 594 изменяемая, 460; 468 имя, 102 примечание, 105 целевая, 468 766 Предметный указатель
Научно-популярное издание Джон Уокенбах Excel 2003. Библия пользователя Литературный редактор Т. П. Кайгородова Верстка М.А. Удалое Художественный редактор Е. П. Дынник Корректоры З.В. Александрова, Л. А. Гордиенко, О. В. Мишутина,Л.В. Пустовойтова Издательский дом "Вильяме". 101509, Москва, ул. Лесная, д. 43, стр. 1. Подписано в печать 09.09.2004. Формат 70Х100/1& Гарнитура Times. Печать офсетная. Усл. печ. л. 61,44. Уч.-изд. л. 45,0. Тираж 3000 экз. Заказ № 496. Отпечатано с диапозитивов в ФГУП "Печатный двор^ Министерства РФ по делам печати, телерадиовещания и средств массовых коммуникаций. 197110, Санкт-Петербург, Чкаловский пр., 15.
Если Excel 2003 может это делать, значит, и вам это под силу... Независимо от того, новичок вы или опытный пользователь, лучшего учителя, чем Дж. Уокенбах (известный также как "М-р Электронная таблица"), вам не найти. В книге обсуждается множество тем, которые могут вас заинтересовать: от создания и использования простых формул, функций и диаграмм до анализа данных, пользовательских числовых форматов, проверки данных и программирования в Excel. Здесь представлены сотни полезных примеров, упражнений, советов и приемов работы, которые в дальнейшем вы сможете применить на практике, независимо от уровня вашей подготовки. В книге вы найдете исчерпывающее описание Excel 2003 • Приемы работы с ячейками, строками, столбцами, диапазонами, рабочими листами и книгами • Визуализация числовых данных с помощью диаграмм, рисунков и других графических объектов • Создание формул для работы с текстом, поиска значений и выполнения финансовых расчетов • Анализ данных с использованием сводных таблиц и внешних баз данных • Анализ данных с помощью сценариев "что-если", средств Подбор параметров, Поиск решения и Пакет анализа ■ Использование средств XML для создания отчетов, анализа, импортирования и экспортирования данных ■ Условное форматирование, связывание и консолидация данных из разных рабочих книг • Использование Excel в рабочих группах • Использование формата HTML в приложениях для Internet • Автоматизация работы в Excel с помощью языка программирования VBA, создание диалоговых окон и надстроек Что можно найти на компакт-диске: * Элеюронная книга Office 2003 Super Bible, которая состоит более чем из 500 страниц и посвящена средствам обмена информацией между приложениями Microsoft Office ■ Множество программ, с помощью которых работа в Microsoft Office будет еще более эффективной ■ Электронная книга Excel 2003 Bible • Простой в использовании интерфейс компакт-диска, с помощью которого можно быстро найти и установить все, что вам необходимо http://www.wiley.com/compbooks/officebibles2003 http://www.dlalektlka.com Системные требования: См.приложение Б Уровень: От начинающих до опытных пользователей Категория: Электронные таблицы