Вы находитесь на странице: 1из 684

Формулы ®

в Microsoft
Excel 2010
Excel* 2010
Formulas

by John Walkenbach

WILEY

Wiley Publishing, Inc.


Формулы
в Microsoft
Excel* 2010

Джон Уокенбах

ДИА Л ЕКТИ КА
М осква • Санкт-Петербург • Киев
2011
ББК 32.973.26-018.2.75
У62
УДК 681.3.07
Компьютерное издательство “Диалектика”

Главный редактор С.Н. Тригуб

Зав. редакцией В. Р. Гинзбург

Перевод с английского и редакция канд. техн. наук А.Г. Сысонюка

По общим вопросам обращайтесь в издательство “Диалектика” по адресу:


info @dialektika.com, http://www.dialektika.com

Уокенбах, Джон.
У62 Формулы в Microsoft Excel 2010. : Пер. с англ. — М. : ООО “И.Д. Вильямс”, 2011. —
704 с .: ил. — Парал. тит. англ.
ISBN 978-5-8459-1704-1 (рус.)
ББК 32.973.26-018.2.75
Все названия программных продуктов являются зарегистрированными торговыми марками соответст­
вующих фирм.
Никакая часть настоящего издания ни в каких целях не может быть воспроизведена в какой бы то ни было
форме и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирование
и запись на магнитный носитель, если на это нет письменного разрешения издательства Wiley Publishing, Inc.
Copyright © 2011 by Dialektika Computer Publishing.
Original English language edition Copyright © 2010 by Wiley Publishing, Inc.
All rights reserved including the right of reproduction in whole or in part in any form. This translation is
published by arrangement with Wiley Publishing, Inc.

Научно-популярное издание
Джон Уокенбах
Формулы в Microsoft Excel 2010
Литературный редактор Е.П. Перестюк
Верстка О.В. Романенко
Художественный редактор Е.П. Дынник
Корректор Л.А. Гордиенко

Подписано в печать 25.11.2010. Формат 70x100/16


Гарнитура Times. Печать офсетная
Уел. печ. л. 56,76. Уч.-изд. л. 38,06
Тираж 1500 экз. Заказ № 24792.

Отпечатано по технологии CtP


в ОАО “Печатный двор” им. А. М. Горького
197110, Санкт-Петербург, Чкаловский пр., 15

ООО “И. Д. Вильямс”, 127055, г. Москва, ул. Лесная, д. 43, стр. 1

ISBN 978-5-8459-1704-1 (рус.) © Компьютерное изд-во “Диалектика”, 2011,


перевод, оформление, макетирование
ISBN 978-0-470-47536-2 (англ.) © Wiley Publishing, Inc., 2010
Оглавление

Об авторе 25
Введение 26

Часть I. Основные сведения___________________________________________ 33


Глава 1. Знакомство с Excel 35
Глава 2. Знакомство с формулами 65
Глава 3. Имена 89

Часть II. Использование функций в формулах________________________ 121


Глава 4. Знакомство с функциями рабочего листа 123
Глава 5. Работа с текстом 137
Глава 6. Дата и время 157
Глава 7. Способы суммирования и подсчета данных 189
Глава 8. Поиск данных 217
Глава 9. Базы данных и таблицы листа 237
Глава 10. Дополнительные виды вычислений 275

Часть III. Финансовые формулы__________________________ 287


Глава 11. Знакомство с финансовыми формулами 289
Глава 12. Формулы дисконтирования и амортизации 311
Глава 13. Финансовые планы 333

Часть IV. Формулы массивов_________________________________________ 355


Глава 14. Знакомство с массивами 357
Глава 15. Магия формул массива 377

Часть У. Полезные методики применения формул____________________ 395


Глава 16. Умышленные циклические ссылки 397
Глава 17. Диаграммы 409
Глава 18. Сводные таблицы 445
Глава 19. Условное форматирование и проверка данных 481
Глава 20. Создание мегаформул 509
Глава 21. Инструменты и методы отладки формул 525
6 Оглавление

Часть VI. Разработка пользовательских функций 54§


Глава 22. Введение в VBA 547
Глава 23. Разработка функций 561
Глава 24. Концепции программирования на VBA 579
Глава 25. Примеры пользовательских функций VBA 607

Часть V I. Приложения_______________________________________________ 645


Приложение А. Описание функций Excel 647
Приложение Б. Пользовательские числовые форматы 663
Приложение В. Дополнительные ресурсы, посвященные Excel 681
Приложение Г. Содержимое прилагаемого компакт-диска 687

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


Содержание

Об авторе 25
Введение ~ 26

Часть I. Основные сведения___________________________________________ 33


Глава 1. Знакомство с Excel 35
Краткая история Excel 36
Все началось с VisiCalc 36
Затем появилась Lotus 36
И вот на рынок вышла Microsoft 36
Версии Excel 37
Концепция объектной модели 41
Рабочие книги 41
Рабочий лист 42
Листы диаграмм 43
Листы макросов и диалоговых окон 43
Интерфейс пользователя Excel 2010 43
Новый интерфейс пользователя 43
Лента 44
Вкладка Файл 46
Контекстные меню и мини-панель инструментов 47
Настройка пользовательского интерфейса 48
Смарт-теги 49
Панель задач 49
Перетаскивание данных 50
Комбинации клавиш 50
Настройка отображения элементов интерфейса 51
Ввод данных в ячейки 51
Выделение ячеек и других объектов 53
Справочная система 53
Форматирование ячеек 53
Числовое форматирование 54
Стилевое форматирование 54
Таблицы 55
Формулы и функции электронных таблиц 55
Объекты графического слоя 56
Фигуры # 56
Иллюстрации 56
Объекты связанных рисунков 56
Элементы управления 57
Диаграммы 58
Спарклайны 58
8 Содержание

Пользовательская настройка Excel 58


Макросы 58
Надстройки 59
Средства Интернета 59
Средства анализа 60
Доступ к базам данных 60
Структура таблицы 60
Управление сценариями 61
Сводные таблицы 62
Средства проверки данных 62
Надстройка “Поиск решения” 62
Средства защиты 62
Защита формулы от перезаписи 62
Защита структуры рабочей книги 63
Защита рабочей книги паролем 63

Глава 2. Знакомство с формулами 65


Ввод и редактирование формул 65
Элементы формул 66
Ввод формул 66
Вставка имен 67
Пробелы и разрывы строк 67
Допустимый размер формулы 68
Примеры формул 68
Редактирование формул 69
Использование операторов в формулах 70
Операторы ссылки 71
Примеры формул с операторами 71
Приоритет операторов 72
Вложенные скобки 73
Порядок вычисления формул 75
Ссылки на ячейки и диапазоны ячеек 76
Создание абсолютных и смешанных ссылок 76
Создание ссылок на ячейки других листов и книг 78
Создание точной копии формулы 79
Преобразование формул в значения 80
Сокрытие формул 81
Ошибки в формулах 82
Работа с циклическими ссылками 83
Функция подбора параметра 85
Пример подбора параметра 85
Еще несколько слов о подборе параметра 86

Глава 3. Имена 89
Что такое имя 89
Область действия имен 90
Ссылки на имена 90
Содержание 9

Ссылка на имена другой рабочей книги 91


Конфликты имен 91
Диспетчер имен 92
Создание имен 93
Редактирование имен 93
Удаление имен 93
Способы присвоения имен ячейкам и диапазонам 94
Присвоение имен в окне Присвоение имени 94
Присвоение имени с помощью поля Имя 95
Автоматическое присвоение имен 95
Имена столбцов и строк 97
Имена, созданные программой Excel 98
Создание многолистовых имен 99
Работа с именами диапазонов и ячеек 100
Создание списка имен 100
Использование имен в формулах 101
Использование операторов пересечения 102
Использование оператора диапазона 103
Ссылка на отдельную ячейку именованного диапазона 103
Применение имен в уже существующих формулах 104
Автоматическое применение имен при создании формул 104
Отмена применения имени 105
Имена с ошибками 105
Просмотр именованных диапазонов 105
Использование имен в диаграммах 106
Поддержка имен ячеек и диапазонов 106
Вставка строки^ или столбца 106
Удаление строки или столбца 106
Вырезание и вставка именованного диапазона 107
Потенциальные проблемы с именами 107
Проблемы, возникающие при копировании рабочих листов 107
Проблемы, возникающие при удалении рабочих листов 108
Ключ к пониманию термина “имя” 109
Присвоение имени константе 110
Присвоение имени текстовым константам 111
Использование функций рабочего листа в именованных формулах 111
Использование ссылок на ячейки и диапазоны в именованных формулах 112
Использование именованных формул с относительными ссылками 113
Решение сложных задач с помощью формул 115
Функция ДВССЫЛ и именованный диапазон 115
Использование функции ДВССЫЛ для создания именованного диапазона
с фиксированным адресом 116
Использование массивов в именованных формулах 117
Создание формулы с динамическим размером 118
10 Содержание

Часть II. Использование Функций в Формулах 121

Глава 4. Знакомство с функциями рабочего листа 123


Что такое функция 123
У прощение формулы 124
Вычисления, невозможные без функций 124
Ускорение при выполнении задач редактирования 124
Принятие решений 124
Еще несколько слов о функциях 125
Типы аргументов функций 125
Использование имен в качестве аргументов 126
Использование столбцов и строк в качестве аргументов 127
Использование литералов в качестве аргументов 127
Использование выражений в качестве аргументов 127
Использование других функций в качестве аргументов 128
Использование массивов в качестве аргументов 128
Способы ввода функций в формулу 128
Ввод функции вручную 129
Вставка функций из библиотеки 130
Команда Вставить функцию 130
Несколько полезных советов по вводу функций 132
Категории функций 133
Финансовые функции 133
Функции даты и времени 134
Математические и тригонометрические функции 134
Статистические функции 134
Функции ссылок и массивов 134
Функции работы с базами данных 134
Текстовые функции 134
Логические функции 135
Информационные функции 135
Пользовательские функции 135
Инженерные функции 135
Аналитические функции 135
Функции совместимости 135
Прочие категории функций 135

Глава 5. Работа с текстом 137


Несколько слов о самом тексте 137
Количество символов в ячейке 137
Числа, отформатированные как текст 138
Текстовые функции 138
Проверка наличия текста в ячейке 139
Работа с кодами символов 139
Проверка идентичности строк 141
Объединение нескольких ячеек 142
Отображение значений как текста 143
Содержание 11

Отображение денежных значений, отформатированных как текст 144


Удаление пробелов и непечатных символов 144
Подсчет символов в строке 144
Повторяющиеся символы и строки 145
Создание текстовой гистограммы 145
Добавление к числу заданных символов 146
Изменение регистра символов 147
Извлечение заданных символов из строки 148
Замена одного текста другим 148
Поиск в строке 149
Поиск и замена в строке 150
Расширенные текстовые формулы 150
Подсчет заданных символов в ячейке 151
Подсчет строк, содержащихся в ячейке 151
Удаление замыкающих символов минуса 151
Отображение заданного числа в виде порядкового числительного 152
Определение литеры столбца по заданному номеру 152
Извлечение имени файла из заданного маршрута 153
Извлечение первого слова строки 153
Извлечение последнего слова строки 153
Извлечение всех слов строки, кроме первого 154
Извлечение имени, отчества и фамилии 154
Удаление титулов и званий из имен 155
Подсчет количества слов в ячейке 156

Глава 6. Дата и время 157


Принципы управления датами и временем в Excel 157
Представление даты как порядкового числа 158
Ввод даты 159
Представление времени как порядкового числа 160
Ввод времени 161
Форматирование значений даты и времени 162
Проблемы, связанные с датами 163
Функции управления датами 165
Отображение текущей даты 166
Отображение произвольных дат 167
Создание последовательности дат 167
Преобразование строки в дату 169
Вычисление количества дней между двумя датами 169
Вычисление количества рабочих дней между двумя датами 170
Вычисление даты по графику рабочих дней 171
Вычисление количества лет между двумя датами 172
Вычисление возраста человека 172
Вычисление дня года 173
Вычисление дня недели 173
Вычисление даты прошлого воскресенья 174
Вычисление дня недели, следующего после заданной даты 174
12 Содержание

Вычисление даты n-го дня недели в заданном месяце 174


Вычисление количества заданных дней недели в месяце 175
Отображение даты в текстовом виде 176
Вычисление праздничных дат 176
Вычисление даты последнего дня месяца 178
Проверка високосного года 179
Вычисление квартального периода 179
Отображение года римскими цифрами 179
Функции управления временем 179
Отображение текущего времени 180
Отображение произвольного времени 180
Суммирование значений времени, превышающих 24 часа 181
Вычисление разницы между двумя временными значениями 183
Преобразование “военного времени” 184
Преобразование часов, минут и секунд в десятичном исчислении
в значение времени 185
Добавление часов, минут или секунд к заданному времени 185
Работа с часовыми поясами 186
Округление значений времени 187
Работа со значениями, не имеющими отношения ко времени суток 187

Глава 7. Способы суммирования и подсчета данных 189


Подсчет и суммирование ячеек электронной таблицы 189
Подсчет и суммирование записей в базах данных и сводных таблицах 192
Основные формулы подсчета 192
Подсчет общего количества ячеек 193
Подсчет пустых ячеек 193
Подсчет непустых ячеек 194
Подсчет ячеек, содержащих числовые значения 194
Подсчет ячеек, отображающих нетекстовые значения 194
Подсчет ячеек, содержащих текстовые значения 194
Подсчет логических значений 194
Подсчет ошибок в диапазоне 194
Расширенные формулы подсчета ячеек 195
Подсчет ячеек с помощью функции СЧЁТЕ СЛИ 195
Подсчет ячеек, удовлетворяющих множеству условий 195
Подсчет наиболее часто встречающихся записей 199
Подсчет количества вхождений заданного текста 200
Подсчет количества уникальных значений 202
Распределение частот 203
Формулы суммирования 209
Суммирование всех ячеек диапазона 209
Накопительная сумма 210
Суммирование заданного количества наибольших или наименьших значений 210
Условное суммирование по одному критерию 211
Суммирование только отрицательных значений 212
Суммирование значений на основе диапазона Разница 212
Содержание 13

Суммирование значений на основе сравнения текста 213


Суммирование значений на основе сравнения дат 213
Условные суммы на основе нескольких критериев 213
Применение оператора И 213
Применение оператора ИЛИ 215
Комбинирование условий И и ИЛИ 215

Глава 8. Поиск данных 217


Знакомство с формулами поиска данных 217
Функции^применяемые для поиска данных 218
Базовые формулы поиска 219
Функция ВПР 219
Функция ГПР 220
Функция ПРОСМОТР 221
Комбинирование функций П0ИСКП03 и ИНДЕКС 222
Специальные формулы поиска 224
Поиск точного значения 225
Поиск значения слева 226
Поиск с учетом регистра 226
Поиск значения во множестве таблиц 227
Вычисление оценки по количеству набранных баллов 228
Вычисление средней оценки 229
Поиск на пересечении строк и столбцов 230
Поиск информации в двух столбцах 231
Определение местонахождения значения в диапазоне 232
Поиск значения, максимально приближенного к заданному 232
Поиск значения методом линейной интерполяции 233

Глава 9. Базы данных и таблицы листа 237


Таблицы и терминология 237
Пример базы данных листа 238
Пример таблицы 239
Назначение баз данных и таблиц листа 240
Работа с таблицами 241
Создание таблиц 241
Изменение внешнего вида таблицы 242
Навигация и выделение в таблице 243
Добавление строк и столбцов в таблицу 244
Удаление строк и столбцов 244
Перемещение таблицы 245
Настройка параметров таблицы 245
Удаление дублирующихся строк из таблицы 246
Сортировка и фильтрация в таблице 247
Работа со строкой итогов 251
Использование формул в таблице 253
Ссылки на данные таблицы 255
Преобразование таблицы в диапазон 258
14 Содержание

Расширенная фильтрация 259


Создание диапазона условий 260
Применение расширенного фильтра 261
Снятие расширенного фильтра 262
Определение условий расширенного фильтра 262
Определение одного критерия 263
Определение множества условий 265
Задание вычисляемых условий 268
Функции баз данных 269
Вычисление промежуточных итогов 271

Глава 10. Дополнительные виды вычислений 275


Преобразование единиц измерения 275
Решение задач для прямоугольных треугольников 277
Вычисление длин, площадей и объемов 278
Площадь и периметр квадрата 278
Площадь и периметр прямоугольника 279
Площадь круга и длина окружности 279
Площадь трапеции 280
Площадь треугольника 280
Площадь поверхности и объем шара 280
Площадь поверхности и объем куба 280
Площадь поверхности и объем конуса 280
Объем цилиндра 280
Объем пирамиды 281
Решение систем линейных уравнений 281
Округление чисел 282
Основные формулы округления 283
Округление до ближайшего кратного числа 284
Округление денежных значений 284
Работа с дробными значениями денежных единиц 284
Использование функций ЦЕЛОЕ и О ТБР 285
Округление до четного и нечетного целого 286
Округление значения до п-го разряда значащих цифр 286

Часть 111. Финансовые Ф о р м у л ы ______________________________________ 287


Глава 11. Знакомство с финансовыми формулами 289
Финансовые концепции 289
Стоимость денег во времени 289
Входящий и исходящий потоки 290
Соответствие временных периодов 291
Выбор времени первого платежа 291
Основные финансовые функции Excel 291
Вычисление приведенной стоимости 291
Вычисление будущей стоимости 295
Вычисление сумм платежей 297
Содержание 15

Вычисление процентной ставки 298


Вычисление количества периодов 299
Вычисление компонентов процентной ставки и основных выплат 301
Использование функций ОСПЛТ и ПРПЛТ 302
Использование функций ОБЩДОХОД и ОБЩПЛАТ 303
Преобразование процентных ставок 304
Методы ограничения процентных ставок 304
Формулы преобразования 304
Ограничения финансовых функций Excel 305
Отсроченное начало ряда регулярных выплат 306
Оценка серии различных по сумме платежей 307
Вычисления, связанные с облигациями 307
Оценка облигаций 308
Вычисление доходности 308

Глава 12. Формулы дисконтирования и амортизации 311


Использование функции ЧПС 311
Определение функции ЧПС 312
Примеры использования функции ЧПС 313
Использование функции ЧПС для вычисления накопительных величин 318
Использование функции ВСД 320
Вычисление нормы доходности 320
Вычисление средней геометрической нормы прибыли 321
Проверка результатов 322
Несколько ставок в функциях ВСД и МВСД 323
Множество процентных ставок 323
Разделение потоков 324
Использование баланса вместо потоков 325
Нерегулярные денежные потоки 326
Чистая приведенная стоимость 326
Внутренняя ставка доходности 327
Использование функции БЗРА С П И С 327
Вычисление годового дохода 327
Вычисление амортизации 328

Глава 13. Финансовые планы 333


Создание финансовых планов 333
Создание планов погашения кредита 333
Простой план погашения кредита 334
Динамический план погашения кредита 336
Использование таблиц платежей и процентных ставок 339
Расчеты по кредитной карточке 341
Сведение параметров займа в таблицу данных 342
Создание односторонней таблицы данных 342
Создание двусторонней таблицы данных 344
Финансовые отчеты и коэффициенты 345
Основные финансовые отчеты 346
16 Содержание

Анализ коэффициентов 349


Создание индексов 351

Часть IV. Формулы массивов_________________________________________ 355


Глава 14. Знакомство с массивами 357
Концепция формул массива 357
Многоячеечная формула массива 358
Одноячеечная формула массива 359
Создание массива констант 360
Элементы массива констант 361
Концепция размерности массива 361
Одномерные горизонтальные массивы 361
Одномерные вертикальные массивы 362
Двухмерные массивы 362
Присвоение имен массивам констант 363
Работа с формулами массива 364
Ввод формулы массива 364
Выделение диапазона формулы массива 364
Редактирование формулы массива 365
Расширение или сокращение формулы массива 365
Использование многоячеечных формул массива 366
Создание массива на основе значений диапазона 366
Создание массива констант на основе значений диапазона 367
Выполнение операций над массивом 367
Использование функций в операциях с массивами 368
Транспонирование массива 369
Генерирование массива последовательных целых чисел 370
Использование одноячеечных формул массива 370
Подсчет количества символов в диапазоне 370
Сложение трех наименьших элементов диапазона 371
Подсчет количества текстовых ячеек в диапазоне 372
Устранение промежуточных формул 373
Использование массива вместо диапазона ссылок 374

Глава 15. Магия формул массива 377


Работа с одноячеечными формулами массива 377
Суммирование в диапазоне, содержащем ошибки 378
Подсчет количества Ошибок в диапазоне 379
Суммирование п наибольших значений в диапазоне 379
Вычисление среднего без учета нулевых значений 380
Поиск значения в диапазоне 380
Подсчет отличающихся значений в двух диапазонах 381
Местоположение максимального значения диапазона 382
Поиск номера строки, в которой находится л-е значение, совпадающее
с заданным 382
Получение самого длинного текста в диапазоне 382
Содержание 17

Определение допустимых значений диапазона 383


Вычисление суммы цифр числа 383
Суммирование округленных значений 384
Суммирование каждого л-го значения в массиве 385
Удаление нечисловых символов из текстовой строки 386
Поиск ближайшего значения в диапазоне 387
Получение последнего значения в столбце 387
Получение последнего значения в строке 388
Упорядочение данных с помощью формулы массива 388
Работа с многоячеечными формулами массива 389
Извлечение положительных значений из диапазона 389
Извлечение непустых ячеек из диапазона 390
Изменение порядка следования элементов в диапазоне на противоположный 391
Динамическая сортировка значений диапазона 391
Возвращение списка уникальных значений диапазона 392
Отображение календаря в диапазоне 392

Часть У. Полезные методики применения формул____________________ 395


Глава 16. Умышленные циклические ссылки 397
Что такое циклическая ссылка 397
Исправление случайных циклических ссылок 398
Косвенные циклические ссылки 399
Преднамеренное использование циклических ссылок 399
Определение параметров итераций 401
Примеры формул, в которых используются циклические ссылки 402
Генерация уникальных случайных чисел 403
Решение рекурсивного уравнения 404
Решение системы уравнений с помощью циклических ссылок 405
Анимация диаграмм с помощью итераций 406
Потенциальные проблемы, связанные с циклическими ссылками 407

Глава 17. Диаграммы 409


Понятие формулы ряда 409
Использование имен в функции РЯД 411
Отсоединение ряда диаграммы от данных 412
Создание ссылок на ячейки 414
Добавление ссылки заголовка 414
Добавление ссылок для подписей осей 414
Добавление ссылок к подписям данных 414
Добавление текстовых ссылок 415
Добавление связанного рисунка в диаграмму 415
Примеры диаграмм 416
График выполнения работ 416
Создание диаграмм измерений 417
Отображение условных цветов на гистограммах 418
Создание гистограммы сравнения 419
18 Содержание

Создание диаграммы Ганта 420


Создание диаграммы разброса данных 422
Построение каждой п-й точки данных 424
Отображение последних п точек данных 425
Выбор ряда в раскрывающемся списке 426
Построение диаграмм математических функций 427
Рисование окружности 431
Создание диаграммы часов 433
Создание причудливых форм 435
Тренды 436
Линейные тренды 437
Нелинейные тренды 440

Глава 18. Сводные таблицы 445


О сводных таблицах 445
Пример сводной таблицы 446
Данные, пригодные для создания сводных таблиц 448
Создание сводной таблицы 452
Указание расположения данных 452
Определение местонахождения сводной таблицы 452
Компоновка сводной таблицы 453
Форматирование сводной таблицы 454
Модификация сводной таблицы 455
Другие примеры сводных таблиц 457
Вопрос 1 457
Вопрос 2 457
Вопрос 3 457
Вопрос 4 459
Вопрос 5 460
Вопрос 6 460
Вопрос 7 460
Группировка элементов сводной таблицы 461
Пример ручной группировки 462
Просмотр сгруппированных данных 463
Примеры автоматической группировки 463
Распределение частот 466
Создание вычисляемых полей и элементов 467
Создание вычисляемого поля 469
Вставка в сводную таблицу вычисляемого элемента 470
Фильтрация сводных таблиц с помощью срезов 472
Ссылки на ячейки сводной таблицы 475
Еще один пример сводной таблицы 476
Создание отчета на основе сводной таблицы 478

Глава 19. Условное форматирование и проверка данных 481


Условное форматирование 481
Определение условного форматирования 483
Содержание 19

Условное форматирование, использующее графику 485


Применение условных форматов на листе 491
Создание правил, основанных на формулах 493
Проверка данных 501
Определение критерия достоверности данных 501
Типы возможных условий для проверки вводимых значений 502
Создание раскрывающихся списков 504
Использование формул в условиях проверки вводимых значений 505
Создание зависимого списка 507

Глава 20. Создание мегаформул 509


Что такое мегаформула 509
Создание мегаформул: простой пример 510
Примеры мегаформул 512
Использование мегаформулы для удаления отчеств и промежуточных
инициалов 512
Использование мегаформулы для поиска позиции последнего пробела в строке 516
Использование мегаформулы для проверки номера кредитной карточки 519
Генерация случайных имен 522
Преимущества и недостатки мегаформул 523

Глава 21. Инструменты и методы отладки формул 525


Что такое отладка формул 525
Проблемы в формулах и их устранение 526
Непарные скобки 527
Ячейки заполнены знаками # # # # # # # # # # 527
Пустые ячейки на самом деле не пусты 528
Лишние символы пробела 528
Формула возвращает ошибку 529
Проблемы с абсолютными и относительными ссылками 533
Проблемы приоритета операторов 533
Формулы не вычислены 534
Реальные и отображаемые значения 534
Ошибки плавающей запятой 535
Ошибки “висящих” ссылок 536
Ошибки логических значений 537
Ошибки циклических ссылок 537
Средства аудита Excel 538
Нахождение ячейки определенного типа 538
Просмотр формул 538
Отслеживание связей ячейки 539
Отслеживание ошибочных значений 541
Исправление ошибок циклической ссылки 542
Фоновая проверка ошибок 542
Проверка формул 544
20 Содержание

Часть VI. Разработка пользовательских функций _______545


Глава 22. Введение в VBA 547
Несколько слов о VBA 547
Отображение вкладки Разработчик 548
Безопасность макросов 548
Сохранение рабочих книг, содержащих макросы 550
Знакомство с редактором Visual Basic 550
Запуск редактора Visual Basic 550
Компоненты редактора Visual Basic 551
Использование окна проекта 552
Использование окна кода 554
Ввод кода 556
Сохранение проекта 559

Глава 23. Разработка функций 561


Зачем нужны пользовательские функции 561
Простой пример функции VBA 562
Создание функций 564
Объявление функции 564
Выбор имени функции 565
Использование функций в формулах 565
Аргументы функций 566
Диалоговое окно вставки функции - 567
Добавление описания функции 567
Определение категории функции 568
Добавление описания аргумента 570
Тестирование и отладка функций 571
Использование окна сообщений VBA 572
Использование инструкции D e b u g .P r in t в коде 573
Вызов функции из процедуры 573
Задание точек останова в функции 576
Создание надстроек 577

Глава 24. Концепции программирования на VBA 579


Пример функции 580
Использование комментариев в коде 581
Использование переменных, типов данных и констант 582
Определение типов данных 583
Объявление переменных 584
Использование констант 585
Использование строк 586
Работа с датами 586
Использование операторов присваивания 587
Массивы 588
Объявление массива 588
Объявление многомерных массивов 589
Содержание 21

Встроенные функции VBA 589


Управление выполнением кода 591
Конструкция I f - T h e n 591
Конструкция S e l e c t C a s e 593
Создание циклов 594
Инструкция On E r r o r 597
Работа с диапазонами 598
Конструкция F o r E a c h - N e x t 599
Ссылка на диапазон 599
Некоторые полезные свойства диапазонов 601
Ключевое слово S e t 604
Функция I n t e r s e c t 605
Функция U n i o n 605
Свойство U s e d R a n g e 606

Глава 25. Примеры пользовательских функций VBA 607


Простые функции 607
Проверка, содержит ли ячейка формулу 608
Возвращение формулы ячейки 608
Проверка, скрыта ли ячейка 608
Возвращение имени рабочего листа . 609
Возвращение имени рабочей книги 609
Возвращение имени приложения 609
Возвращение версии Excel _ 610
Возвращение информации о форматировании ячейки 610
Выяснение типа данных в ячейке 612
Многоцелевая функция 613
Генерация случайных чисел 615
Генерация неизменяемых случайных чисел 615
Выбор случайной ячейки 617
Вычисление комиссионных от продаж 618
Функция для начисления комиссионных 618
Функция для более сложного метода начисления комиссионных 619
Функции управления текстом 620
Обращение строки 620
Перетасовка текста 620
Возвращение аббревиатуры 621
Проверка соответствия текста шаблону 621
Проверка, содержит ли ячейка заданное слово 622
Проверка наличия текста в ячейке 623
Извлечение п-го элемента строки 623
Написание числа прописью 624
Функции подсчета 625
Подсчет ячеек, соответствующих заданному шаблону 625
Подсчет листов рабочей книги 625
Подсчет слов в диапазоне 626
Подсчет ячеек с определенным цветом шрифта 626
22 Содержание

Функции управления датами 627


Расчет следующего понедельника 627
Вычисление следующего дня недели 627
Определение недели в месяце 628
Работа с датами до 1900 года 628
Возвращение последней заполненной ячейки столбца или строки 629
Функция LASTINCOLUMN 630
Функция LASTINROW 630
Функции для работы с несколькими листами 630
Возвращение максимального значения ячейки из всех рабочих листов 631
Функция SHEETOFFSET 632
Дополнительные пользовательские функции 633
Возвращение значения ошибки 633
Возвращение массива из функции 634
Возвращение массива неповторяющихся случайных целых чисел 635
Перетасовка значений диапазона 637
Использование необязательных аргументов 638
Использование неопределенного количества аргументов 639

Часть V I. Приложения_______________________________________________ 645


Приложение А. Описание функций Excel 647
Приложение Б. Пользовательские числовые форматы 663
Числовое форматирование 663
Автоматическое числовое форматирование 664
Форматирование чисел с помощью ленты 664
Использование горячих клавиш для форматирования чисел 665
Использование диалогового окна Формат ячеек для форматирования чисел 665
Создание пользовательского числового формата 667
Компоненты строки формата 668
Коды пользовательских форматов 669
Примеры пользовательских форматов 670
Масштабирование 671
Сокрытие нуля 673
Отображение ведущих нулей 674
Отображение дробей 674
Отображение Н /Д для текста 674
Отображение текста в кавычках 674
Повтор текста в ячейке 675
Отображение знака “минус” справа 675
Условное форматирование чисел 675
Выделение цветом 676
Форматирование значений даты и времени 676
Отображение текста с числами 677
Отображение нулей с помощью прочерков 677
Использование специальных символов 678
Содержание 23

Устранение определенных типов элементов 678


Заполнение ячейки повторяющимися символами 678
Отображение ведущих точек 679

Приложение В. Дополнительные ресурсы, посвященные Excel 681


Справочная система программы 681
Техническая поддержка Microsoft 681
Варианты под держки 682
База знаний Microsoft 682
Домашняя страница Microsoft Excel 682
Домашняя страница Microsoft Office 682
Форумы в Интернете 682
Доступ к форумам с помощью программы чтения новостей 683
Доступ к форумам с помощью браузера 683
Поиск на форумах 684
Веб-сайты 685
Страница электронных таблиц 685
Дневная доза Excel 685
Страница Йона Пелтиера 685
Консультации Пирсона 685
Contextures 685
Страница Дейвида Макритчи 686
Мистер Excel 686

Приложение Г. Содержимое прилагаемого компакт-диска 687


Системные требования 687
Использование компакт-диска 687
Обзор компакт-диска 688
Электронная версия книги 688
Примеры из глав книги 688
Устранение проблем 696

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


Об авторе
Джон Уокенбах — один из ведущих специалистов в области программного обеспече­
ния для электронных таблиц, глава консалтинговой компании J-Walk and Associates Inc.
Начиная с 2000 года Джон регулярно получает награды МУР от компании Microsoft за по­
пуляризацию ее программных продуктов. Из-под его пера вышло более полусотни книг,
посвященных электронным таблицам, а также более трехсот статей и обзоров в различных
изданиях, включая PC World, InfoWorld, PC Magazine, Windows и PC/Computing. Он под­
держивает весьма популярный сайт The Spreadsheet Page (www. s p r e a d s h e e t p a g e . com)
и является разработчиком ряда утилит Excel, включая Power Utility Рак. Джон окончил уни­
верситет штата Миссури и получил степень доктора наук в университете штата Монтана.
Введение
К работе над проектом я приступил с единственной целью: написать максимально
подробное руководство по использованию формул в Excel, адресованное широкому кру­
гу пользователей. Поставленная задача была не из легких. Однако отзывы читателей о
первых трех изданиях книги позволяют мне с уверенностью сказать: я с ней справился.
Excel — лидер среди приложений электронных таблиц, и не только благодаря пра­
вильной маркетинговой политике компании Microsoft. Просто Excel— действительно
лучшая из существующих на сегодняшний день программ для электронных таблиц.
Формулы — это та область, в которой преимущества Excel перед другими подобными
программными продуктами наиболее очевидны. В арсенале Excel огромное количество
специальных средств работы с формулами. Очень скоро вы увидите, что формулы Excel
позволят делать то, что недоступно в других редакторах электронных таблиц.
Могу поспорить, что не более десяти процентов пользователей Excel знают, как эф­
фективно использовать формулы в таблицах. Надеюсь, что эта книга поможет вам по­
полнить ряды избранных. Итак, вы готовы?

Что необходимо знать


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

Рекомендации читателям
Эта книга написана исключительно для версии Excel 2010. Если у вас установлена ка­
кая-либо из более старых версий, рекомендую отложить книгу и взять в руки одно из
ранних изданий. Изменения, произошедшие в Excel с выходом версии 2010, весьма су­
щественны, поэтому в старой версии вам вряд ли удастся применить материал настояще­
го издания.
Для использования примеров, содержащихся на компакт-диске книги, вам потребует­
ся привод CD-ROM. Примеры, содержащиеся на прилагаемом компакт-диске, будут опи­
саны далее.
Введение 27

Примечание
Я работаю исключительно в Excel для Windows, а не Macintosh. По этой при­
чине я не могу гарантировать, что все примеры будут работать в Excel для
Macintosh. Для Excel характерна достаточно неплохая, но все же не идеаль­
ная кроссплатформенная совместимость.
Чем быстрее работает ваша система, тем лучше. И естественно, большой объем опе­
ративной памяти сделает вашу работу более удобной. Настоятельно рекомендую: на­
стройте монитор на работу в режиме высокого разрешения. А еще лучше — установите
два монитора.

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

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

Листинги формул
Формулы обычно располагаются в отдельной строке и выделяются моноширинным
шрифтом. Ниже приведен пример формулы.
= В П Р (Н ом ерК атегории;П райс-лист; 2 ; ЛОЖЬ)
При описании синтаксиса функций используются подстановки, т.е. названия аргумен­
тов, вместо которых должны быть подставлены конкретные значения. Подстановки вы­
делены курсивом. Например, приведенная ниже запись означает, что функция ИНДЕКС
принимает аргументы м а с с и в , н о м е р _ с т р о к и и н о м ер _ ст о лб ц а .
ИНДЕКС (массив; номер_строки; номер_столбца)
Курсивом выделяются также специальные термины Excel, определение которых при­
водится в тексте.
Excel поддерживает такой специфический тип формул, как формулы массивов. После
ввода такой формулы нажмите <Ctrl+Shift+Enter> (а не просто <Enter>). Excel заключает
такую формулу в фигурные скобки, таким образом напоминая вам о том, что это форму­

1В книге предполагается, что на вашем компьютере в окне региональных стандартов Windows


установлен русский формат отображения дат, времени, разделителей' денежных значений и т.п.
Если установить формат США, приведенные на компакт-диске примеры будут работоспособны
(Excel автоматически изменит все формулы), но вам будет тяжело читать книгу. Например, в каче­
стве разделителей элементов списка в книге, согласно русскому формату, используются точки
с запятыми, а на экране вы будете видеть запятые. В качестве десятичных разделителей в книге
используются запятые, а на экране вы будете видеть точки. Чтобы в диалоговых окнах и формулах
на экране все было как в книге, обязательно установите русский формат отображения данных. Од­
нако учитывайте, что в кодах VBA всегда используется только формат США. Например, в качест­
ве десятичных разделителей всегда используются точки. Параметры форматов, установленные
в окне региональных стандартов Windows, на коды VBA не влияют. — Примеч. ред.
28 Введение

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


скобки, например:
{ = С У М М (Д Л С Т Р ( А 1 :А 1 0 ) ) }

Примечание
Создавая формулу массива, не вводите фигурные скобки вручную — Excel
сделает это автоматически.

Листинги программного кода VBA


Эта книга содержит примеры программного кода VBA. Каждый листинг выделяется
моноширинным шрифтом, а каждая строка кода располагается в отдельной строке лис­
тинга. Для того чтобы код легче воспринимался, я обычно использую несколько уровней
отступов с помощью символов табуляции. Отступы не являются обязательными, но они
помогают визуально разделить код на связанные блоки.
Если инструкция VBA не помещается в одной строке листинга, используется стан­
дартное для VBA обозначение продолжения строки: пробел, за которым следует символ
подчеркивания. Это означает, что инструкция продолжается на следующей строке лис­
тинга. Например, две строки приведенного ниже листинга содержат одну инструкцию.
I f R i g h t ( c e l l . V a l u e , 1) = "!" Then c e l l . V a l u e _
= L e f t ( c e l l . V a l u e , L e n ( c e l l . V a l u e ) - 1)
Приведенный выше код можно ввести как в двух строках, так и в одной строке без
символа подчеркивания. Оба варианта приводят к одному и тому же результату.
Названия клавиш
Названия клавиш клавиатуры приводятся обычным шрифтом и заключаются в угло­
вые скобки, например <Alt>, <Home>, <PgDn> и <Ctrl>. Если необходимо нажать две
клавиши одновременно, они объединяются знаком “плюс”, например <Ctrl+G>.
Функции, процедуры, именованные диапазоны
Все функции рабочего листа Excel приведены в верхнем регистре, например: “Для то­
го чтобы просуммировать значения в столбце А, используйте функцию СУММ”.
Имена макросов и процедур приводятся моноширинным шрифтом, например:
“Выполните процедуру В с т а в к а С у м м ”. Я часто использую в именах символы верхнего
и нижнего регистра, что упрощает их чтение. Именованные диапазоны также выделены
моноширинным шрифтом: “Выделите диапазон В в о д и м ы е З н а ч е н и я ”.
Программа Excel не чувствительна к регистру вводимых символов, если дело не каса­
ется текста, заключенного в кавычки. Иными словами, две приведенные ниже формулы
вернут одинаковый результат.
= С У М М ( А 1 : А5 0 )
= с у м м ( а 1 : а5 0)
В то же время программа автоматически преобразует символы второй формулы
к верхнему регистру.

Работа с мышью
В книге используется стандартная терминология для обозначения действий, выпол­
няемых с помощью мыши: вы можете “указывать”, “щелкать кнопкой мыши”, “щелкать
правой кнопкой мыши”, “перетаскивать” и т.д.
Введение 29

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

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

Новинка
Данная пометка указывает на нововведения, появившиеся в Excel 2010.

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

Совет
Советы укажут вам новый эффективный путь решения задачи.

Компакт-диск
Эта пометка указывает на то, что прилагаемый к книге компакт-диск содер­
жит соответствующий данной теме файл.

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

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

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

Часть I. Основные сведения


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

Часть II. Использование функций в формулах


В данную часть включены главы с 4 по 10. Глава 4 содержит основные сведения о
функциях таблиц в формулах. Последующие главы посвящены конкретным темам. Про­
читав главу 5, вы научитесь работать с текстом. Глава 6 содержит информацию о работе
со значениями даты и времени, а глава 7 повествует о различных методах вычислений. В
главе 8 мы обсудим различные типы формул, предназначенных для поиска данных. Гла­
ва 9 посвящена базам данных и таблицам, а в главе 10 рассматриваются такие виды вы­
числений, как перевод одних единиц в другие и округление.

Часть III. Финансовые формулы


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

Часть IV. Формулы массивов


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

Часть V. Полезные методики применения формул


Часть V состоит из глав с 16 по 21. Эти главы посвящены целому ряду задач, причем
некоторые из них, на первый взгляд, не имеют никакого отношения к формулам. Гла­
ва 16 демонстрирует преимущества циклических ссылок. Прочитайте главу 17, и вы уз­
наете, как применить формулы при построении диаграмм. Глава 18 объяснит, какое от­
ношение формулы имеют к сводным таблицам. В главе 19 вы найдете несколько инте­
ресных (и полезных) формул, которые можно использовать в Excel при выполнении
условного форматирования и для проверки правильности данных. Глава 20 посвящена
так называемым “мегаформулам”. Мегаформула — это формула, включающая в себя не­
сколько промежуточных формул. А что делать, если формулы работают некорректно?
Ответ на этот вопрос вы найдете в главе 21, в которой описаны методы отладки формул.

Часть VI. Разработка пользовательских функций


Эта часть включает главы с 22 по 25 и посвящена Visual Basic for Application (VBA) —
инструментальному пакету, предназначенному для разработки пользовательских функций.
Введение 31

Глава 22 ознакомит вас с языком и редактором VBA, а глава 23 предоставит основную ин­
формацию о пользовательских функциях. Глава 24 освещает некоторые аспекты програм­
мирования, а в главе 25 вы найдете примеры пользовательских функций, которые сможете
применить в исходном виде или адаптировать к собственным задачам.

Часть VII. Приложения


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

Как пользоваться книгой


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

Компакт-диск книги
Эта книга содержит множество примеров, файлы которых собраны на прилагаемом
компакт-диске. Примеры организованы в папки, соответствующие конкретным главам. В
каждой из таких папок вы найдете авторские, а также адаптированные к русскоязычной
версии Excel примеры — последние имеют название главы с дополненным суффиксом
RUS, например C hapterl5__R U S . x l s x .
Файлы примеров хранятся на компакт-диске в несжатом виде, поэтому можете от­
крывать их непосредственно с компакт-диска без какой-либо предварительной установ­
ки. Все файлы сохранены в формате Excel 2010. Файлы, имеющие расширение * .x ls m ,
содержат макросы VBA. Чтобы использовать эти файлы, нужно предварительно вклю­
чить поддержку макросов.
Помимо этого, компакт-диск содержит электронную версию книги на английском
языке. Электронная версия в формате PDF, несомненно, пригодится вам в дальней ко­
мандировке.

Перекрестная ссылка
Подробно файлы примеров, содержащиеся на компакт-диске книги, описа­
ны в приложении Г.
32 Введение

Обратная связь
Я очень заинтересован в ваших отзывах о моих книгах. Обратную связь со мной луч­
ше всего поддерживать с помощью электронной почты. Ваши замечания и предложения
направляйте по такому адресу:
j ohn@j- w a l k . com
К сожалению, я не смогу ответить на конкретные вопросы. Советую выносить возни­
кающие вопросы в сетевые конференции, посвященные Excel, и вам обязательно помо­
гут. В приложении В вам будет предложено несколько ссылок на такие конференции.
Путешествуя по Интернету, не забудьте заглянуть и на мой сайт:
www. s p r e a d s h e e t s . com
А теперь, не тратя времени даром, переверните страницу и начните повышать свою
квалификацию.

Ждем ваших отзывов!


Вы, читатель этой книги, и есть главный ее критик. Мы ценим ваше мнение и хотим
знать, что было сделано нами правильно, что можно было сделать лучше и что еще вы
хотели бы увидеть изданным нами. Нам интересны любые ваши замечания в наш адрес.
Мы ждем ваших комментариев и надеемся на них. Вы можете прислать нам бумаж­
ное или электронное письмо либо просто посетить наш веб-сервер и оставить свои заме­
чания там. Одним словом, любым удобным для вас способом дайте нам знать, нравится
ли вам эта книга, а также выскажите свое мнение о том, как сделать наши книги более
интересными для вас.
Отправляя письмо или сообщение, не забудьте указать название книги и ее авторов,
атакже свой обратный адрес. Мы внимательно ознакомимся с вашим мнением и обяза­
тельно учтем его при отборе и подготовке к изданию новых книг.
Наши электронные адреса:
E-mail: in f o @ d ia le k tik a .c o m
WWW: h t t p : //w w w . d i a l e k t i k a . com
Наши почтовые адреса:
в России: 127055, г. Москва, ул. Лесная, д. 43, стр. 1
в Украине: 03150, Киев, а/я 152
Часть

Основные сведения

В этой части...
Глава 1
Знакомство с Excel
Глава 2
Знакомство с формулами
Глава 3
Имена
Глава

Знакомство с Excel
В этой главе...
♦ Краткая история Excel
♦ Концепция объектной модели
♦ Рабочие книги
♦ Интерфейс пользователя Excel 2010
♦ Справочная система
♦ Форматирование ячеек
♦ Таблицы
♦ Формулы и функции электронных таблиц
♦ Объекты графического слоя
♦ Пользовательская настройка Excel
♦ Средства Интернета
♦ Средства анализа
♦ Средства защиты

Microsoft Excel по праву считается самым лучшим из всех приложений электронных


таблиц. Можете соглашаться с этим или нет, однако никто не может отрицать тот факт,
что Excel — одно из самых старых приложений для Windows, которое за все годы своего
существования постепенно приобретало все более и более современный вид. Интерфейс
последней версии этой программы — Excel 2010 — полностью отличается от того, к че­
му вы могли привыкнуть в предыдущих версиях. Тем не менее, несмотря на это, многие
ключевые элементы Excel долгие годы оставались неизменными, разумеется, претерпе­
вая только существенное расширение возможностей.
Эта глава представляет собой краткий обзор основных средств, которыми обладают
современные версии Excel, при этом особое внимание уделено Excel 2010. Материал
этой главы служит основой для освоения последующих глав и предназначен преиму­
щественно для пользователей, которые длительное время не повышали свое мастерст­
во в Excel.
36 Часть I. Основные сведения

Краткая история Excel


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

Все началось с VisiCalc


В конце 70-х годов, когда люди еще не знали, что такое персональный компьютер
вофисе, Дэн Бриклин и Боб Фрэнкстон создали VisiCalc — первую в мире электронную
таблицу. Программа VisiCalc была написана для компьютеров типа Apple II, которые
всвете современных стандартов кажутся просто детской игрушкой. Очень скоро VisiCalc
стала довольно известной, и особо “дальновидные” компании приобретали компьютеры
Apple II с единственной целью — планировать бюджет с помощью программы VisiCalc.
Поэтому многие считают, что своим успехом в то время компьютеры Apple II в значи­
тельной мере обязаны VisiCalc.

Затем появилась Lotus


В 1982 году на сцену вышла компания IBM, выпустив на рынок персональные ком­
пьютеры семейства PC. Компания VisiCorp оперативно отреагировала на это, адаптиро­
вав VisiCalc к новой аппаратной среде. Стремясь превзойти успех VisiCalc, небольшая
группа программистов из Кембриджа (штат Массачусетс) усовершенствовала концепцию
электронных таблиц. Объединившись в небольшую компанию во главе с Митчем Капо­
ром и Джонатаном Заксом, эти энтузиасты создали новый программный продукт — Lo­
tus. Впервые в истории создания программных средств была проведена широкомасштаб­
ная рекламная кампания по продвижению нового продукта на рынок.
Программа Lotus 1-2-3, появившаяся в 1983 году, пользовалась неизменным успехом
в течение многих лет. Несмотря на высокую цену — $495 (да, в те времена люди дейст­
вительно платили за программу такие деньги), — новая программа быстро превзошла
VisiCalc по объему продаж. Долгое время Lotus имела одни из самых высоких показате­
лей торговой активности.

И вот на рынок вышла Microsoft


Не многие знают о том, что компания Microsoft выпустила свой первый процессор
электронных таблиц в начале 80-х. Первый программный продукт этого типа — Multi-
Plan — вышел в 1982 году. Программа MultiPlan, созданная для компьютеров с операци­
онной системой СР/М, была впоследствии адаптирована и для таких платформ, как
Apple И, Apple III, XENIX и MS-DOS. При создании программы MultiPlan не были со­
блюдены общепринятые стандарты пользовательского интерфейса. Кроме того, научить­
ся работать с MultiPlan было нелегко, да и пользоваться ею было неудобно. По этим при­
Глава 1. Знакомство с Excel 37

чинам данная программа не стала популярной в США. Не удивительно, что Lotus 1-2-3
оставила своего конкурента MultiPlan далеко позади.
В некоторой степени MultiPlan можно считать предшественницей Excel. Выпущенная
для платформы Macintosh в 1985 году, программа Excel, подобно другим приложениям
для Macintosh, имела графический интерфейс (в отличие от текстового интерфейса Mul­
tiPlan). Первая версия Excel для Windows (она называлась Excel 2, поскольку изначаль­
ная версия была разработана для Macintosh) вышла в свет в ноябре 1987 года. Программа
Excel стала популярной не сразу— она совершенствовалась параллельно с Windows.
Вскоре появилась версия Lotus 1-2-3 для Windows. Еще одним конкурентом для Excel
стала Quattro Pro — программа, созданная компанией Borland International для DOS, ко­
торая была впоследствии продана компании Novell, а затем перешла в собственность
компании Corel (теперешнего владельца Quattro Pro).

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

Excel 2
Исходная версия Excel для Windows — Excel 2 — вышла в конце 1987 года. Эта вер­
сия программы получила название “номер 2”, поскольку версия “номер 1” была разрабо­
тана для Macintosh. В то время операционная система Windows еще не имела такого ши­
рокого распространения. Поэтому к Excel прилагалась оперативная версия Windows —
операционная система, которая обладала функциями, достаточными для запуска Excel.
По нынешним стандартам эта версия Excel кажется недоработанной (рис. 1.1).
/
Excel 3
В 1990 году компания Microsoft выпустила Excel 3 для Windows. Эта версия обладала
более совершенными инструментами и привлекательным внешним видом. В Excel 3 поя­
вились панели инструментов, средства рисования, режим структуры рабочей книги, над­
стройки, трехмерные диаграммы, функция совместного редактирования документов и
многое другое.

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

Excel 5
В начале 1994 года на рынке появилась Excel 5. Эта версия предлагала пользователям
огромное количество новых средств, включая многолистовые книги и новый макроязык
Visual Basic for Application (VBA). Как и предшествующая версия, Excel 5 получала наи­
лучшие отзывы во всех отраслевых изданиях.
38 Часть I. Основные сведения

Рис. 1.1. Исходная версия Excel 2 для Windows. С тех пор программа претерпела
значительные изменения (фотография предоставлена Microsoft Corporation)

Excel 95
Версия Excel 95 (также известная как Excel 7) была выпущена летом 1995 года.
Внешне она напоминала предыдущую (в Excel 95 появилось лишь несколько новых
средств). Однако выход этой версии все же имел большое значение, поскольку в Excel 95
впервые был использован более современный 32-разрядный код. В Excel 95 и Excel 5 ис­
пользовался один и тот же формат файлов.

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

Excel 2000
Excel 2000 (также известная как Excel 9) появилась в июне 1999 года. Эта версия ха­
рактеризовалась незначительным расширением возможностей. Немаловажным преиму­
ществом новой версии стала возможность использования HTML в качестве альтернатив­
ного формата файлов. В Excel 2000, конечно же, поддерживался и стандартный двоич­
ный формат файлов, совместимый с Excel 97.
Глава 1. Знакомство с Excel 39

Excel 2002
Версию программы Excel 2002 (также известную как Excel 10 или Excel ХР) выпус­
тили в июне 2001 года. Она составляет часть пакета Microsoft Office ХР. В этой версии
присутствует несколько новых функций, предназначенных, прежде всего, для начинаю­
щих пользователей Excel. Основным нововведением Excel 2002 стала возможность со­
хранения результатов работы в случае аварийного завершения программы и восстанов­
ления файлов поврежденной рабочей книги, над которой вы когда-то работали. В новой
версии Excel появилась также фоновая проверка формул, а также новые инструменталь­
ные средства отладки.

Excel 2003
Excel 2003 (также известная как Excel 11) появилась на рынке в конце 2003 года. Внее
было добавлено немного новых средств. Одной из самых заметных новых функций была
возможность импортировать данные из файлов XML и экспортировать их в эти файлы,
а также отображать данные XML на определенные ячейки рабочего листа. Также в этой
версии была введена концепция списка— особым образом организованного диапазона
ячеек. Обе эти функции стали “кандидатами” на дальнейшее усовершенствование.

Excel 2007
Excel 2007 (также известная как Excel 12) была выпущена в начале 2007 года. Офици­
альное название этой программы — Microsoft Office Excel 2007. Эта версия программы
стала наибольшим прорывом со времен выхода версии Excel 97. Одним из самых замет­
ных нововведений стал новый формат файлов рабочих книг, основанный на технологиях
XML. В то же время остался доступным и старый двоичный формат файлов. Еще одним
заметным новшеством стала лента — новый тип интерфейса пользователя, пришедший
на замену старой системе каскадных меню и панелей инструментов. В дополнение к это­
му была усовершенствована концепция списка, введенная в версии Excel 2003 (теперь
этот способ организации данных стал называться таблицей), улучшен внешний вид диа­
грамм, существенно увеличено количество доступных строк и столбцов на рабочем листе
и добавлено несколько новых функций рабочего листа.

Примечание
В документе XML (extensible Markup Language) данные хранятся в структу­
рированном текстовом формате. Новые форматы файлов на самом деле
представляют собой сжатые папки, содержащие несколько различных фай­
лов XML. По умолчанию расширением файлов рабочих книг Excel является
. x s 1х. Одновременно доступен формат . x s lm , поддерживающий макросы,
двоичный формат с расширением . x l s b и старый формат . x l s .

Excel 2010
Текущая версия, Excel 2010 (другое название— Excel 14), выпущена в начале 2010
года. Куда же подевалась версия 13? Внятных разъяснений от Microsoft нет. Видимо, да­
же такая большая компания, как Microsoft, может быть подвержена предрассудкам.
Большинство пользователей считают, что компания просто решила пропустить несчаст­
ливое число 13.
Версия 2010 содержит все улучшения, введенные в Excel 2007. Кроме того, в нее добавлен
ряд новых средств, о которых будет подробно рассказано в соответствующих главах.
40 Часть I. Основные сведения

Новинка
Ниже перечислены новые средства, добавленные в Excel 2010.

• 64-разрядная версия. Если ваш компьютер 64-разрядный, можете установить


64-разрядную версию Excel 2010. Она позволит создавать рабочие книги больших
размеров. Кроме того, увеличится быстродействие операций, интенсивно загру­
жающих процессор.
• Спарклайны. Небольшие диаграммы, располагаемые в ячейках и графически
представляющие диапазоны данных.
• Срезы сводных таблиц. Новый способ отображения и фильтрации данных всвод-
ных таблицах.
• Средства форматирования сводных таблиц. Добавлены средства, позволяю­
щие изменять внешний вид данных в отчетах сводных таблиц.
• Вкладка Файл. Заменила кнопку Office, которая в Excel 2007 была расположена
влевом верхнем углу экрана. При щелчке на корешке вкладки Файл открывается ок­
но, позволяющее выполнить ряд операций над рабочей книгой, открыть окно
справки, настроить параметры программы, просмотреть свойства документа и т.д.
• Черновой режим диаграмм. Если вы работаете со многими отформатированны­
ми диаграммами, то для повышения производительности можете применить чер­
новой режим их отображения.
• Дополнительные средства условного форматирования. Форматировать ячей­
ки теперь можно с помощью гистограмм данных со сплошной заливкой.
• Улучшение функций. Многие статистические функции усовершенствованы для
повышения точности и достоверности результатов. Старые версии функций по-
прежнему доступны, но перемещены в категорию устаревших.
• Расширенные средства редактирования изображений. Пользователям пре­
доставлено больше контроля над внешним видом изображений, вставленных вра-
бочую книгу.
• Предварительный просмотр вставки. При копировании диапазона команда вставки
предоставляет ряд вариантов действий, включая предварительный просмотр.
• Настройка ленты. Пользователь может добавлять на ленту новые вкладки и группы.
• Редактор формул. Создание и отображение невычисляемых математических вы­
ражений в текстовых полях.
• Повышенное быстродействие. Компания Microsoft существенно изменила вычисли­
тельный драйвер Excel, в результате чего файлы загружаются заметно быстрее.
• Новые средства безопасности. Рабочие книги, загруженные из Интернета или
вложений электронных писем, открываются в режиме защищенного просмотра.
Рабочую книгу можно отметить как безопасную, не загружая ее в специальную
безопасную папку.
• Новая версия надстройки “Поиск решения”. Позволяет найти оптимальное зна­
чение в целевой ячейке с формулой с учетом ограничений на значения в других
ячейках.
• Расширение VBA. Многие операции, в которых использовались макросы XML, те­
перь можно выполнять непосредственно с помощью команд VBA.
Глава 1. Знакомство с Excel 41

Концепция объектной модели


Если вы не первый день знакомы с компьютерами, то вам, скорее всего, приходилось
встречать термин объектно-ориентированное программирование. Под словом объект
подразумевается элемент программы, которым программист может манипулировать. Ра­
ботая в Excel, иногда удобно мыслить именно категориями объектов. При этом совсем не
обязательно быть программистом. Объектно-ориентированный подход поможет вам
увидеть рассматриваемые элементы в перспективе.
Рабочая среда Excel содержит следующие объекты:
• программу Excel;
• рабочую книгу Excel;
• электронную таблицу в рабочей книге;
• диапазоны на рабочих листах;
• кнопку на рабочем листе;
• элемент списка на пользовательской форме;
• лист диаграммы;
• диаграмму на листе;
• ряды диаграммы.
Обратите внимание на иерархию объектов. Объект Excel содержит объекты рабочих
книг, в которых находятся объекты таблиц. Объекты таблиц, в свою очередь, содержат
объекты диапазонов. Эта иерархия называется объектной моделью Excel. Другие про­
граммные продукты Microsoft имеют собственные объектные модели. Концепция объект­
ной модели играет важную роль при разработке макросов VBA. Но даже если вы не соби­
раетесь работать с макросами, навыки мышления на уровне объектов вам пригодятся.

Рабочие книги
Основным документом Excel является рабочая книга. Все, что вы делаете в Excel,
происходит именно в рабочей книге.
Начиная с версии Excel 2007 файлы рабочих книг фактически являются сжатыми
папками. Если вы когда-либо открывали файл с расширением . z i p , то, наверное, уже
знакомы с концепцией сжатия. Внутри файла . z i p хранится несколько файлов, в кото­
рых находится вся информация рабочей книги, в том числе диаграммы, макросы, форма­
тирование и данные ячеек.
Рабочая книга Excel может содержать любое количество листов (их количество огра­
ничено только объемом памяти). Существует четыре типа листов:
• рабочие листы;
• листы диаграммы;
• листы макросов Excel 4.0 (устаревшие, но все еще поддерживаемые);
• листы диалоговых окон Excel 5.0 (также устаревшие, но все еще поддерживаемые).
Можно открыть любое количество книг (каждую в отдельном окне), но активной кни­
гой в текущий момент может быть только одна из них. Аналогично, только один лист книги
может быть активным листом. Для того чтобы активизировать другой лист, щелкните на
42 Часть I. Основные сведения

соответствующей вкладке, которая расположена в нижней части окна, нажмите <Ctrl+PgUp>


(чтобы активизировать следующий лист) или <Ctrl+PgDn> (чтобы активизировать преды­
дущий лист). Если нужно изменить имя листа, щелкните на соответствующей вкладке два­
жды и введите новое имя. Щелкнув на вкладке правой кнопкой мыши, вы откроете контек­
стное меню, с помощью которого осуществляются дополнительные операции с листами.
Вы можете скрыть окно книги. Для этого выберите команду Вид^Окно1^Скрыть
окно. Скрытое окно книги остается открытым, но невидимым. При необходимости
скрытое окно можно снова развернуть на экране. Одна и та же книга может отображать­
ся в нескольких окнах; при этом в разных окнах могут отображаться разные диапазоны
ячеек. Чтобы создать еще одно окно, выберите команду Вид^Окно^Новое окно.

Рабочий ли ст
Наиболее распространенный тип листа — это рабочий лист. Его мы чаще всего под­
разумеваем, говоря об электронной таблице. Каждый рабочий лист Excel 2010 имеет
16 384 столбцов и 1 048 576 строк. После многих лет запросов сообщества пользовате­
лей компания Microsoft наконец-то соблаговолила существенно увеличить число доступ­
ных строк и столбцов.

Примечание
Рабочие листы версий программы, предшествовавших Excel 2007, поддер­
живали только 256 столбцов и 65 536 строк. Если открыть такой файл, Ex­
cel 2010 перейдет в режим совместимости с предыдущими версиями, и вы
сможете работать с рабочим листом такого размера. Чтобы расширить та­
кой рабочий лист до новых размеров, вам придется сохранить файл в фор­
мате Excel 2010, затем закрыть рабочую книгу и снова открыть ее.

Насколько велик рабочий лист


Довольно интересно на минутку остановиться и поразмыслить над тем, насколько ве­
лик рабочий лист. Выполните простую арифметическую операцию 16 384x1 048 576 и вы
получите результат 17 179 869 184— именно такое количество ячеек содержит рабочий
лист. Заметим, что в одной рабочей книге может содержаться много таких листов.
Если вы используете разрешение экрана 1600x1200, одновременно на экране вы
сможете увидеть 24 столбца и 49 строк, т.е. 1 176 ячеек. Это всего 0,0000068% рабоче­
го листа. Другими словами, на одном рабочем листе содержится более 14,6 миллионов
экранов информации. Если вводить в каждую ячейку всего одну цифру и затрачивать на
это около одной секунды, то на заполнение всего рабочего листа вам потребуется бо­
лее 500 лет. После этого для вывода на печать результата этой многовековой работы
вам потребуется около 36 миллионов листов бумаги — стопка высотой около 4 кило­
метров (около 10 небоскребов Empire State Building, поставленных друг на друга).

Основное преимущество использования нескольких рабочих листов состоит не в том,


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

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

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

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

Листы макросов и диалоговых окон


Лист макросов Excel 4.0 (также известен как лист макросов XLM) на самом деле
представляет собой обычный рабочий лист, но имеющий некоторые параметры, уста­
новленные по умолчанию. XLM — это система макросов, использовавшаяся в Excel вер­
сии 4.0. Данная система в версии 5.0 была заменена языком VBA, поэтому в мы не будем
уделять ей внимание.
Лист диалогового окна Excel 5.0 представлял собой сетку рисования, способную со­
держать текст и элементы управления. В версиях Excel 5 и Excel 95 они использовались
для создания пользовательских диалоговых окон. Пользовательские формы, введенные
в версии Excel 97, заменили эти типы листов.

Интерфейс пользователя Excel 2010


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

Новый интерфейс пользователя


Практически во все программах под Windows, с которыми вам приходилось сталки­
ваться, использовался стандартный интерфейс с меню и панелями инструментов. Они
находились в верхней части окна программы, при этом меню содержало практически все
доступные в программе команды. Под меню находилась одна или несколько панелей ин­
44 Часть I. Основные сведения

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


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

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

Все в одном месте


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

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

Вкладки, группы и инструменты


Лента представляет собой место размещения инструментов, расположенное в верхней
части окна программы. Размер по вертикали ленты составляет примерно три высоты
старой стандартной панели инструментов. Лента содержит несколько вкладок, в том чис­
ле Главная, Вставка, Разметка страницы и некоторые другие. В каждой из вкладок
содержится несколько групп, в каждой из которых собраны родственные инструменты.
Глава 1. Знакомство с Excel 45

Кпримеру, во вкладке Главная вы найдете группы Буфер обмена, Шрифт и Выравни­


вание и др.
Значки команд (инструментов), которые вы встретите во вкладках и группах ленты,
аналогичны тем, которые существовали на панелях инструментов старых версий програм­
мы, с одним существенным отличием: они имеют разные размеры. Инструменты, исполь­
зуемые чаще, больше по размерам, чем те, которые используются реже. Например, поло­
вину группы Буфер обмена занимает большой значок Вставить, а инструменты Выре­
зать, Копировать и Формат по образцу по размеру значительно меньше. Компания
Microsoft определила, что именно команда вставки используется чаще остальных.
Лента и все ее элементы динамически изменяют свои размеры при изменении разме­
ров окна Excel по горизонтали. В небольших окнах инструменты сворачиваются в сжа­
тые группы и вкладки. Таким образом, даже в небольших окнах Excel все инструменты
ленты остаются доступными — просто для доступа к ним придется пару раз дополни­
тельно щелкнуть мышью.
На рис. 1.2 показана вкладка Главная: динамика трех постепенно уменьшающихся
по горизонтали размеров.

Рис. 1.2. Лента динамически уменьшается в размерах в зависимости от размеров по горизон­


тали окна Excel

Навигация
Навигацию по ленте легче всего осуществлять с помощью мыши. Щелкните на
вкладке, а затем — на нужном инструменте. Если вы предпочитаете использовать кла­
виатуру, эту возможность компания Microsoft для вас сохранила. Нажав клавишу <Alt>,
вы увидите под вкладками буквы “горячих” клавиш, с помощью которых можно будет их
“открыть”. В открывшейся вкладке будут отображены горячие клавиши, соответствую­
щие конкретным командам. При нажатии клавиши будет выполнена соответствующая
команда. Нажатие клавиши <Esc> отменяет предыдущее нажатие клавиши.
К примеру, нажатие клавиш <Ак+Я+И+1+Ж> (<Alt+H+B+B>) приведет к добавле­
нию границы в нижней части выделенного фрагмента. В данном случае клавиша <Alt>
46 Часть I. Основные сведения

включает отображение горячих клавиш, <Я> обеспечивает переход во вкладку Главная,


<И+1> открывает меню выбора типа рамки, а <Ж> позволяет выбрать одинарную рамку
вдоль нижней границы. Следует заметить, что при нажатии букв горячих клавиш не обя­
зательно удерживать клавишу <Alt>.

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

Экранные подсказки и значки диалоговых окон


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

Галереи и оперативный просмотр


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

Вкладка Файл
Большая круглая кнопка Office, которая была в Excel 2007, в Excel 2010 заменена
вкладкой Файл. При щелчке на корешке вкладки Файл открывается окно, показанное
Глава 1. Знакомство с Excel 47

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

Рис. 1.3. Содержимое вкладки Файл

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

Контекстные меню и мини-панель инструментов


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

Рис. 1.4. При щелчке правой кнопкой на диапазоне ячеек открывается контекстное меню и ми­
ни-панель инструментов

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


Панель быстрого доступа содержит набор инструментов, состав которых можно на­
строить. По умолчанию эта панель содержит три инструмента: Сохранить, Отменить
и Вернуть. Если некоторую команду ленты вы используете особенно часто, щелкните на
ней правой кнопкой мыши и выберите в контекстном меню пункт Добавить на панель
быстрого доступа. Можно внести и другие изменения в панель быстрого доступа. Для
этого используется вкладка Панель быстрого доступа диалогового окна Параметры
Excel. Чтобы открыть эту вкладку, щелкните правой кнопкой мыши на панели быстрого
доступа и выберите в контекстном меню пункт Настройка панели быстрого доступа.
В Excel 2010 добавлены средства изменения ленты. Они приведены во вкладке На­
стройка ленты диалогового окна Параметры Excel. Изменить ленту можно следую­
щими способами:
• добавление новой вкладки;
• добавление новой группы в существующую вкладку;
• добавление команды в группу;
• удаление группы из вкладки;
Глава 1. Знакомство с Excel 49

• удаление команды из пользовательской группы;


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

Смарт-теги
.Смарт-тег — это небольшой значок, который автоматически отображается на рабо­
чем листе после выполнения некоторых действий. Щелчок на этом значке приводит
к открытию меню, содержащего несколько команд.
К примеру, если вы скопировали и вставили диапазон ячеек, Excel отображает смарт-
тег под вставляемым диапазоном (рис. 1.5). В Excel встроено также много других смарт-
тегов; некоторые смарт-теги поставляются сторонними производителями.

Рис. 1.5. Этот смарт-тег отображается при вставке скопиро­


ванного диапазона ячеек

Панель задач
В версии Excel 2002 была впервые представлена панель задач. Это элемент интер­
фейса пользователя, который обычно прикрепляется к правой границе окна Excel (при
50 Часть I. Основные сведения

желании вы можете перетащить ее в другое место). Панель задач используется для мно­
жества целей, в том числе для отображения буфера обмена Office, обеспечения помощи
в исследованиях, отображения полей сводной таблицы и данных XML. На рис. 1.6 пока­
зана панель задач, открываемая при вставке клипов.

Рис. 1.6. Панель задач Картинка позволяет выполнять поиск


и вставку изображений

Перетаскивание данных
Функция перетаскивания данных графического интерфейса программы позволяет
свободно перемещать объекты, расположенные на рабочем листе. Нажатие клавиши
<Ctrl> при перемещении объекта приводит к его копированию. Перетаскивать можно та­
кие объекты, как фигуры, внедренные диаграммы, объекты SmartArt и т.д.
Excel позволяет также перетаскивать ячейки и диапазоны. И в этом случае нажатие
клавиши <Ctrl> при перетаскивании приводит к копированию.

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

Комбинации клавиш
Наряду с горячими клавишами, используемыми для навигации по ленте, Excel пред­
лагает множество других комбинаций клавиш для непосредственного выполнения ко­
манд. Например, скопировать выделенные элементы в буфер обмен можно, нажав
<Ctrl+C>. Если вы начинающий пользователь Excel или же просто хотите научиться ра­
ботать эффективнее, воспользуйтесь справочной системой Excel. Справочная система
содержит описание полезных комбинаций клавиш, используемых для быстрого выпол­
нения команд в электронной таблице.
Глава 1. Знакомство с Excel 51

Для упрощения перехода с предыдущих версий на Excel 2010 компания Microsoft вклю­
чила возможность использования горячих клавиш Excel 2003. Работа многих пользователей
Excel, привыкших к навигации по старой системе меню с помощью горячих клавиш, поте­
ряет свою эффективность, если им придется полагаться исключительно на новую ленту.
Если нажать клавишу <Alt> одновременно с какой-либо буквой, не являющейся частью
ленты, но приводившую к выполнению какой-либо команды в Excel 2003, в верхней части
окна Excel откроется экранная подсказка (рис. 1.7). Если после этого нажать клавишу <R>,
в данном случае будет открыто диалоговое окно консолидации данных.

Рис. 1.7. Нажатие комбинации клавиш <Alt+L> приводит к отображе­


нию экранной подсказки

Настройка отображения элементов интерфейса


Excel предоставляет вам возможность решать, какие элементы интерфейса (строка со­
стояния, строка формул, панели инструментов и т.д.) следует отображать на экране. На­
пример, если вы выберете команду Вид^Режимы просмотра книги^Полноэкранный
режим, то избавитесь от всех дополнительных элементов, что позволит обозревать макси­
мальное количество данных рабочего листа. Кроме данных таблицы будет отображаться
только строка заголовка программы. Когда потребуется выйти из полноэкранного режима
в обычный, просто нажмите клавишу <Esc> или щелкните правой кнопкой и выберите в кон­
текстном меню пункт Вернуть обычный режим. Можно также нажать клавиши <Ctrl+Fl>,
чтобы скрыть или отобразить ленту.
Настраивать можно также строку состояния, расположенную в нижней части экрана.
Щелкните на ней правой кнопкой, и вы увидите массу информации, которая может ото­
бражаться в строке состояния.
Прочие параметры интерфейса можно настроить во вкладке Дополнительно диало­
гового окна параметров программы.

Ввод данных в ячейки


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

Примечание
Формулы всегда начинаются со знака равенства (=).

Советы по вводу данных в ячейки


Ниже приведен список советов, которые помогут пользователям перейти на Excel
сдругих процессоров электронных таблиц.
• Если хотите вводить данные и при этом не пользоваться клавишами со стрелками,
установите флажок Переход к другой ячейке после нажатия на клавишу ВВОД, рас­
положенный во вкладке Дополнительно диалогового окна параметров программы.
Затем в раскрывающемся списке задайте направление перехода к другой ячейке.
• Иногда удобно выделить диапазон ячеек, перед тем как вводить данные. Если вы
поступите таким образом, то сможете перемещаться в пределах выделенного диа­
пазона с помощью клавиши <ТаЬ>,
• Для того чтобы ввести одни и те же данные во все ячейки диапазона, выделите
диапазон, введите данные в активную ячейку, а затем нажмите комбинацию клавиш
<Ctrl+Enter>.
• Чтобы скопировать содержимое активной ячейки во все ячейки выделенного диа­
пазона, нажмите сначала клавишу <F2>, а затем — клавиши <Ctrl+Enter>.
• Для того чтобы все последующие значения диапазона прирастить на единицу, на­
жмите <Ctrl> и перетаскивайте маркер выделения диапазона (он располагается
в нижнем правом углу текущей ячейки).
• Чтобы создать пользовательский список автозавершения, щелкните на кнопке Из­
менить списки (Edit Custom Lists) вкладки Дополнительно диалогового окна пара­
метров программы.
• Чтобы скопировать ячейки без приращения, переместите маркер выделения диа­
пазона в правом нижнем углу ячейки. Можно также нажать <Ctrl+D> для копирова­
ния в соседнюю ячейку снизу или <Ctrl+R> — справа.
• Если необходимо сделать вводимый текст более удобочитаемым, можете ввести раз­
рыв строки в ячейку. Для того чтобы ввести в ячейку символ возврата каретки, нажмите
<Alt+Enter>. В результате содержимое ячейки будет перенесено в новую строку.
• Чтобы ввести дробное число, введите 0, пробел, а затем дробь (символ косой чер­
ты). Excel преобразует значение в формат дробного числа.
• Для того чтобы применить к ячейке денежный формат, введите соответствующий
символ валюты до или после числового значения.
• Если необходимо задать величину в процентах, введите символ процента после чи­
слового значения. Можно также использовать принятый в вашей стране раздели­
тель разрядов (например, 123,434).
• Для того чтобы ввести текущую дату, используйте комбинацию клавиш <Ctrl+;>. Ес­
ли нужно ввести текущее время, нажмите <Ctrl+Shift+;>.
• Если нужно, чтобы ячейка или диапазон принимали только данные определенного
типа (или значения, находящиеся в определенных пределах), выделите диапазон
ивыберите команду Данные1^Работа с данными^Проверка данных.
Глава 1. Знакомство с Excel 53

Выделение ячеек и других объектов


В целом, выделение объектов в Excel происходит так же, как и в других приложениях
Windows. Выделить диапазон ячеек можно с помощью клавиатуры (нажимая клавишу
<Shift> и клавиши со стрелками) или мыши (щелкнув кнопкой и переместив указатель).
Для того чтобы выделить большой диапазон, не поместившийся на экране, щелкните
водном из углов диапазона, затем нажмите клавишу <Shift> и щелкните на ячейке в про­
тивоположном углу диапазона.
Чтобы выделить всю таблицу, нужно нажать клавиши <Ctrl+*> (звездочка). Когда
выделен большой диапазон ячеек, с помощью клавиш <Ctrl+.> (точка) можно переходить
к углам диапазона.
Если вы работаете с таблицей (созданной с помощью команды Вставка ^Таблицы1^
Таблица), то обнаружите, что комбинация клавиш <Ctrl+A> работает совсем не так, как
в версиях до 2007. Чтобы выделить всю таблицу, нажмите эту комбинацию клавиш один
раз. Если вы нажмете эту же комбинацию клавиш еще раз, то выделите всю таблицу вме­
сте с заголовками и итогами. Если вы нажмете эту комбинацию третий раз, будет выде­
лен весь рабочий лист.
Для выделения объекта, находящегося на рабочем листе, просто наведите на него
указатель и щелкните мышью. Единственным исключением может быть только объект,
ккоторому добавлен макрос. В этом случае щелчок на объекте приведет к выполнению
макроса. Для выделения нескольких объектов или несмежных ячеек при щелчках мы­
шью удерживайте нажатой клавишу <Ctrl>.

Справочная система
Одной из наиболее важных особенностей Excel 2010 является мощная справочная
система. Значок справки в виде голубого круга с вопросительным знаком находится
в правом верхнем углу окна программы. Щелчок на этом значке или нажатие
клавиши <F1> приводит к отображению окна справки, показанного на рис. 1.8.
Два основных метода навигации по справочной системе сводятся к использова­
нию текстового поля Поиск и пункта Оглавление. Ввод ключевых слов в поле по­
иска и щелчок на кнопке Поиск приведет к отображению в главном окне соответст­
вующих статей справочной системы. В оглавлении перечислено множество связан­
ных по темам статей справочной системы. Окно оглавления, когда оно не
используется, может быть скрыто. Обратите внимание, что кнопка Поиск на самом
деле представляет собой элемент раскрывающегося списка. Щелкните на маленькой
стрелке, и вы сможете выбрать тип необходимой справки. По умолчанию содержи­
мое справки загружается с сайта Microsoft Office Online. Если у вас нет доступа к
Интернету или вы хотите ограничиться статьями справки, установленными на вашем
компьютере, щелкните на кнопке Автономная работа в правом нижнем углу окна
справки (см. рис. 1.8). Откроется небольшое меню, которое позволит определить,
какая именно справочная система будет использоваться. В этом же меню содержит­
ся значок, открывающий справку по справочной системе (странное словосочетание
“справка о справке” в данном случае вполне уместно).
54 Часть I. Основные сведения

Форматирование ячеек
В Excel существует два типа форматов ячеек: числовой и стилевой.

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

Рис. 1.8. Окно справочной системы Excel

В зависимости от вводимого элемента, Excel иногда применяет числовое форматирова­


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

Перекрестная ссылка
© Дополнительную информацию о том, как создавать собственные числовые
форматы, можно найти в приложении Б.
Числовой формат не влияет на само значение, которое находится в ячейке. Предполо­
жим, ячейка содержит значение 3 , 1 4 1 5 9 . Если задать такой формат, при котором ото­
бражаются только два десятичных разряда, в ячейке будет отображена запись 3 , 1 4 . В то
же время в формуле будет использоваться фактическое значение ячейки ( 3 , 1 4 1 5 9 ) .
Глава 1. Знакомство с Excel 55

Стилевое форматирование
Стилевое форматирование используется исключительно для того, чтобы придать со­
держимому ячеек требуемый внешний вид (цвет, начертание, границы, выравнивание
и т.д.)- Группы Главная^Шрифт и Главная^Стили содержат все команды, необходи­
мые для форматирования ячеек и диапазонов.
В Excel 2007 была введена новая концепция, называемая темами документов. Темы
позволяют одним мановением руки применить множество параметров форматирования,
таких как шрифты, цвета и стили ячеек. Параметры форматирования, содержащиеся
в теме, установлены так, чтобы органично сочетаться друг с другом. Применив тему,
можно быть уверенным в гармоничном сочетании цветов. Все команды, связанные с те­
мами, находятся в группе Темы вкладки Разметка страницы.
Стоит обратить внимание и на функцию условного форматирования Excel. Этот удобный
инструмент позволяет назначить объекту определенный стиль форматирования, который
применяется только при определенных условиях. Например, можно назначить красный цвет
заливки ячейке, содержащей отрицательное число. В Excel 2007 введено множество новых
параметров условного форматирования, а в Excel 2010 они существенно улучшены.

_ Перекрестная ссылка
fcLsr Более подробную информацию об условном форматировании можно найти
в главе 19.

Таблицы
Таблицей называют специально назначенный диапазон ячеек на рабочем листе Ex­
cel 2010. Преобразование диапазона ячеек в таблицу существенно упрощает выполнение
множества операций над данными.
Данные в таблице связаны особым образом. Строки представляют связанные объек­
ты, а столбцы — связанные элементы информации о каждом из этих объектов. Если,
к примеру, у вас есть таблица книг, содержащихся в библиотеке, каждая строка будет со­
держать информацию об одной книге. Столбцы могут включать заголовок, имя автора,
издателя, дату публикации и т.п. В терминологии баз данных в этом случае строки назы­
ваются записями, а столбцы — полями.
Если на рабочем листе данные организованы описанным выше образом, их можно
преобразовать в таблицу. Для этого нужно выделить диапазон и выбрать команду Встав-
ка^Таблицы^Таблица. Excel автоматически вставит обобщенные заголовки столбцов,
если таковые не существуют, цветовую заливку и раскрывающиеся списки заголовков.
Эти раскрывающиеся списки, равно как и контекстная вкладка Работа с таблицами на
ленте, обеспечивают быстрый доступ к связанным с таблицами функциям, таким как
сортировка, фильтрация и форматирование. К тому же использование формул в таблицах
имеет ряд существенных преимуществ.
Не пугайте понятия “таблица” и “электронная таблица”. Электронной таблицей принято
называть рабочий лист Excel, а таблицей — диапазон ячеек, определенный, как описано
в предыдущем абзаце.

Перекрестная ссылка
Таблицы подробно рассматриваются в главе 9.
56 Часть I. Основные сведения

Формулы и функции электронных таблиц


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

Перекрестная ссылка
Функции рабочего листа подробно описаны в главе 4.

Все электронные таблицы позволяют назначать имена ячейкам и диапазонам ячеек.


Работа с именами в Excel имеет свои особенности. Имя представляет собой идентифика­
тор, который позволяет обращаться к ячейке, диапазону, значению или формуле. Ис­
пользование имен значительно упрощает работу с формулами.

Перекрестная ссылка
Глава 3 полностью посвящена именам.

Объекты графического слоя


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

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

Иллюстрации
Изображения, клипы и объекты SmartArt можно вставить из группы Иллюстрации
вкладки Вставка. На рис. 1.9 показаны некоторые объекты графического слоя рабочего
листа, включая объекты группы Иллюстрации.

Объекты связанных рисунков


Связанный рисунок — это объект фигуры, отображающий диапазон. Когда диапазон
изменяется, вместе с ним изменяется и объект фигуры. Для использования этого объекта
выделите диапазон, нажмите клавиши <Ctrl+C> и выберите команду Главная1^ Буфер
обмена^Вставить^Связанный рисунок. Эта команда окажется полезной, если нужно
распечатать набор диапазонов. Можно сделать “снимки” диапазонов, а затем поместить
эти рисунки вместе в одной области, которую затем вывести на печать.
Глава 1. Знакомство с Excel 57

Рис. 1.9. Объекты графического слоя рабочего листа

Элементы управления
На рабочий лист можно вставить множество различных элементов управления. Формаль­
но их можно разделить на две категории: элементы управления форм и элементы ActiveX.
Использование элементов управления способно значительно повысить эффективность работы
с листом, часто даже без использования макросов. Чтобы вставить элемент управления, выбе­
рите на ленте команду РазработчикаЭлементы управления^Вставить. На рис. 1.10 по­
казан рабочий лист с несколькими элементами управления (флажок, две группы переклю­
чателей, полоса прокрутки и др.), добавленными на лист.

Рис. 1.10. Excel позволяет добавить на графический слой рабочего листа


множество элементов управления
58 Часть I. Основные сведения

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

Компакт-диск
Для того чтобы увидеть элементы управления в работе (см. рис. 1.10), от­
кройте файл w o r k s h e e t c o n t r o l s . x s l x (C h a p te r0 1 _ R U S . x s lm ) на прила­
гаемом компакт-диске.

Диаграммы
Excel — превосходная среда для построения диаграмм. Как уже отмечалось, диа­
граммы могут храниться на листе диаграмм или располагаться на текущем рабочем лис­
те в качестве плавающих объектов.
В Excel любая диаграмма может изменяться, чтобы максимально соответствовать
требованиям пользователя. При выделении диаграммы на ленте отображается контекст­
ная вкладка, содержащая все инструменты, необходимые для коррекции диаграммы. На­
жав клавиши <Ctrl+l>, можно открыть диалоговое окно форматирования выделенных
элементов диаграммы. Щелчок правой кнопкой мыши на объекте диаграммы приводит к
открытию контекстного меню.
Создать плавающую диаграмму нетрудно. Выделите данные, на основе которых стро­
ится диаграмма, и щелкните на соответствующем типе диаграммы в группе Диаграммы
вкладки Вставка.

Перекрестная ссылка
Глава 17 содержит дополнительную информацию о диаграммах.

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

Пользовательская настройка Excel


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

Макросы
Язык программирования V B A — мощный инструмент, позволяющий Excel выпол­
нять такие задачи, осуществить которые иными средствами чрезвычайно сложно или во­
обще невозможно. С помощью VBA создаются следующие основные типы макросов:
• макросы, автоматизирующие операции в Excel;
• макросы, которые функционируют в качестве пользовательских функций и при­
меняются при вычислении формул на рабочем листе.
Глава 1. Знакомство с Excel 59

Рис. 1.11. Образцы спарклайнов

Перекрестная ссылка
Часть VI этой книги посвящена созданию пользовательских функций с по­
мощью VBA.

Надстройки
Надстройка — это программа, подключаемая к Excel и расширяющая возможности
основной программы. Например, в надстройке можно хранить пользовательские функ­
ции электронных таблиц. Для подключения надстройки выберите в окне параметров
программы вкладку Надстройки.
К Excel прилагается только несколько надстроек. Можно также приобрести или за­
грузить из Интернета большое количество иных надстроек. Одна из них — пакет Power
Utility Рак, созданный автором этой книги и получивший множество наград. Ознакоми­
тельную (бесплатную), а также полную (платную) версию пакета можно загрузить с мое­
го сайта h t t p : / / s p r e a d s h e e t p a g e . com.

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

Средства Интернета
Excel содержит множество функций, связанных с Интернетом. К примеру, можно сохра­
нить рабочий лист или вообще всю книгу в формате HTML, доступном для браузеров. Можно
также вставлять в ячейки рабочего листа гиперссылки, включая электронные адреса.
60 Часть I. Основные сведения

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


тивной сети или в Интернете.

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

Доступ к базам данных


Средства Excel, связанные с базами данных, условно можно разделить на две категории.
• Табличная база данных. Хранится на рабочем листе, что строго ограничивает ее
размеры. Табличная база данных Excel может иметь не более 1 048 575 записей
(поскольку верхняя строка предназначена для названий полей) и 16 384 полей (по
одному на столбец).
• Внешняя база данных. Данные хранятся вне Excel, например в файле программы
Access или базе данных SQL Server.
Если указатель наведен на ячейку рабочего листа табличной базы данных, Excel рас­
познает ее и по возможности отображает названия полей. Например, если навести указа­
тель ячейки на базу данных рабочего листа и выбрать команду Данные^Сортировка и
фильтр^Сортировка, Excel позволит выбрать столбцы, на основе которых будут сор­
тироваться записи.
Особенно полезна функция фильтрации. Она позволяет отображать только те записи,
которые нужны в данный момент. Когда режим фильтрации включен, вы можете от­
фильтровать данные, выбрав значения из раскрывающихся списков. Для вывода списков
фильтрации выберите команду Данные^Сортировка и фильтр^Фильтр. Строки, ко­
торые не удовлетворяют критерию фильтра, скрываются. Пример выполнения фильтра­
ции показан на рис. 1.12.
Если хотите, можете воспользоваться традиционным расширенным фильтром Excel,
использующим диапазон условий. Для этого в группе Сортировка и фильтрация
вкладки Данные щелкните на кнопке Дополнительно.

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

Структура таблицы
Режим структуры таблиц особенно удобен при работе с иерархически упорядочен­
ными данными, например бюджетными сведениями. Excel может создать подходящую
структуру автоматически, исходя из формул таблицы (для этого используется команда
Глава 1. Знакомство с Excel 61

Промежуточный итог, находящаяся в группе Структура вкладки Данные). После того


как структура будет создана, ее можно сворачивать и разворачивать, чтобы отображать
различные уровни детализации. На рис. 1.13 показан пример структуры рабочего листа.

Рис. 1.12. Функция фильтрации облегчает просмотр записей, которые удовлетворяют задан­
ному критерию

Рис. 1.13. Excel может автоматически вставлять промежуточные форму­


лы и создавать структуру данных

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

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

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

Перекрестная ссылка
Глава 18 содержит дополнительную информацию о сводных таблицах.

“Спутником” сводных таблиц являются сводные диаграммы. Они позволяют связы­


вать диаграмму со сводной таблицей.

Средства проверки данных


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

Перекрестная ссылка
Более полная информация о функциях проверки данных программы Excel
содержится в главе 21.

Надстройка “Поиск решения”


Для выполнения специализированных линейных и нелинейных задан служит надстрой­
ка “Поиск решения”. Она занимается разрешением вопросов, связанных с анализом ситуа­
ций типа “что-если”, основываясь на изменяемых ячейках, целевых ячейках и, возможно,
ячейках, значения которых должны быть минимизированы или максимизированы.

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

Защита формулы от перезаписи


Нередко возникает необходимость защитить формулы от перезаписи или изменения.
Для этого нужно разблокировать ячейки, для которых вы собираетесь разрешить измене­
ния, а затем защитить рабочий лист. Вначале выделите ячейки, которые разрешено изме­
нять, и выберите команду Главная^Ячейки^Формат^Блокировать ячейку, чтобы раз­
блокировать выделенные ячейки. Затем выберите команду Главная^Ячейки^Формат^
Защитить лист. Откроется диалоговое окно Защита листа, в котором при желании мож­
но задать пароль.
Глава 1. Знакомство с Excel 63

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

Рис. 1.14. В этом диалоговом окне


выберите, какие элементы следует
защитить

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


формул Excel, когда ячейка активна. Для этого выделите ячейки с формулами и нажмите
клавиши <Ctrl+l>. В открывшемся диалоговом окне Формат ячейки перейдите во
вкладку Защита и установите флажок Скрыть формулы.

Защита структуры рабочей книги


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

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

Защита рабочей книги паролем


В дополнение к защите отдельных листов и структуры книги можно установить пароль
на ее открытие. Для этого выберите команду Файл^Сведения^Защитить книгу^
64 Часть I. Основные сведения

Зашифровать паролем. В открывшемся диалоговом окне (рис. 1.16) задайте пароль


открытия рабочей книги.

Рис. 1.15. Диалоговое окно За­ Рис. 1.16. В диалоговом окне Шифро­
щита структуры и окон вание документа рабочую книгу можно
защитить паролем
Глава

Знакомство
с формулами
В этой главе...
♦ Ввод и редактирование формул
♦ Использование операторов в формулах
♦ Порядок вычисления формул
♦ Ссылки на ячейки и диапазоны ячеек
♦ Создание точной копии формулы
♦ Преобразование формул в значения
♦ Сокрытие формул
♦ Ошибки в формулах
♦ Работа с циклическими ссылками
♦ Функция подбора параметра

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

Ввод и редактирование формул


В данном разделе описаны основные элементы формул. Кроме того, вы ознакомитесь
с различными способами ввода и редактирования формул.
66 Часть I. Основные сведения

Элементы формул
Формула, вводимая в ячейку, может состоять из пяти типов элементов.
• Операторы. Символы, такие как “+” (сложение) и (умножение).
• С сы лки на ячейки. В эту категорию входят именованные ячейки и диапазоны,
относящиеся к текущему рабочему листу, ячейкам другого листа текущей книги и
даже ячейкам листа другой рабочей книги.
• Значения и текстовы е строки. Например, 7 , 5 или " Р е з у л ь т а т ы н а к о н е ц
года".
• Ф ункции и аргументы функций. К этой категории относятся такие функции, как
СУММ, СРЗНАЧ и др., а также их аргументы.
• Скобки. Задают порядок выполнения операций в формуле.

Ввод формул
Когда вы вводите в пустую ячейку знак равенства, программа воспринимает следующую
за этим знаком запись как формулу. В Excel формулы всегда начинаются со знака равенства.
В начале формулы допускается также использование знаков “плюс” и “минус”. Однако Excel
автоматически вставит знак равенства, как только вы закончите вводить формулу.
Excel также воспринимает символы, привычные для пользователей Lotus 1-2-3
(например, “собачка” — @). Этот символ может открывать формулу, которая начинается
с функции. Например, программа распознает обе приведенные ниже формулы:
=СУММ(А 1 :А2 0 0)
@СУММ(А 1 :А2 0 0)
Однако после ввода второй формулы программа автоматически заменит символ @ на
знак равенства. Ввести формулу в ячейку можно двумя способами: вручную или указав
ссылки на ячейки. Оба метода описаны в следующих разделах.

Ручной ввод формул


Ручной ввод формул означает, что вы просто активизируете ячейку и вводите в ней знак
равенства (=), а за ним — саму формулу. Вводимые символы одновременно отображаются в
ячейке и в строке формул. При вводе формул, конечно же, можно использовать клавиши,
предназначенные для редактирования. Закончив вводить формулу, нажмите <Entei>.

Примечание
Исключение составляют формулы массивов. По окончании ввода формул
массива следует нажать комбинацию клавиш <Ctrl+Shift+Enter>. О формулах
массивов речь пойдет в части IV.
После нажатия клавиши <Enter> в ячейке будет отображаться результат выполнения
формулы. Сама же формула будет отображена в строке формул, когда активизирована
соответствующая ячейка.

Ввод формул с указанием ссылок на ячейки


Этот способ также предполагает ручной ввод некоторых элементов. Вместо того что­
бы вводить номера ячеек вручную, можно указать ячейки. Например, чтобы ввести фор­
мулу =А1+А2 в ячейку АЗ, необходимо выполнить следующее.
Глава 2. Знакомство с формулами 67

1. Выделите ячейку АЗ.


2. Введите знак равенства (=). Обратите внимание на то, что в левой части строки
состояния Excel отображается слово Ввод.
3. Дважды нажмите клавишу <Т>, в результате чего вокруг ячейки появится дви­
жущаяся рамка. Ссылка на ячейку А1 будет отображена в ячейке АЗ и в строке
формул. Обратите внимание и на слово Укажите в строке состояния.
Если вы предпочитаете использовать мышь, наведите указатель на ячейку А1
и щелкните мышью.
4. Введите знак “плюс” (+)• Движущаяся рамка исчезнет, а в строке состояния снова
появится Ввод.
5. Еще раз нажмите клавишу со стрелкой “вверх”. К формуле будет добавлено слово А2.
Если вы предпочитаете использовать мышь, наведите указатель на ячейку А2
и щелкните кнопкой мыши.
6. Завершив ввод формулы, нажмите <Enter>. Как и при ручном вводе, результат
выполнения формулы будет отображен в ячейке. Формула отображается в строке
формул, когда ячейка с формулой активна.
Если длинная формула не помещается в строке формул, наведите указатель на
значок с изображением “галочки”, расположенный рядом со строкой формул,
и щелкните на нем. Строка формул будет развернута.
Задавать ссылки на ячейки менее утомительно, чем вводить номера ячеек вручную,
к тому же практически всегда это позволяет избежать неточностей.

Вставка имен
В главе 3 речь пойдет о том, как присвоить имя ячейке или диапазону. Например,
чтобы присвоить имя ячейке, щелкните на ней правой кнопкой мыши и выберите коман­
ду Присвоить имя. Если в формуле используются именованные ячейки или диапазоны,
то можно задать имя вместо адреса. Имя следует выбрать из списка, тогда программа
автоматически вставит его в формулу.
Для вставки имени в формулу поместите курсор в то место формулы, в котором
должно находиться имя, а затем воспользуйтесь любым из следующих методов.
• Нажмите клавишу <F3>, чтобы открыть диалоговое окно вставки имени. Выбери­
те имя из списка и щелкните на ОК.
• Выберите команду Формулы^Определенные именам Использовать в формуле.
В открывшемся списке имен выберите нужное имя, и оно будет вставлено в формулу.
• Воспользуйтесь преимуществами функции автозавершения. При вводе очередной
буквы во время ввода формулы программа Excel отображает список подходящих
вариантов имен и функций. С помощью клавиши <i> выберите нужное имя, а за­
тем нажмите <ТаЬ>, чтобы вставить имя в формулу.

Пробелы и разрывы строк


Чаще всего формулы не имеют пробелов. Однако при вводе формул все же можно
использовать пробелы и даже разрыв строки. Пробелы и разрывы строк упрощают чте­
68 Часть I. Основные сведения

ние данных и при этом не влияют на результат формулы. Для того чтобы задать разрыв
строки, нажмите комбинацию клавиш <Alt+Enter>. На рис. 2.1 показана формула, в ко­
торой использованы пробелы и разрывы строк.

Рис. 2.1. В этой формуле использованы пробелы


и разрывы строки

Совет
Чтобы в строке формулы отображалось несколько строк, перетащите ее
нижнюю границу вниз.

Допустимый размер формулы


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

Перекрестная ссылка
О том, как создавать пользовательские функции, читайте в части VI.

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

Компакт-диск
Все примеры этой главы содержатся в файле c h a p t e r 2 _ R U S . x s l x на при­
лагаемом компакт-диске.
• Следующая формула используется для умножения чисел 15 0 и 0 , 0 1 . Результат
вычисления— 1 , 5 . В этой формуле были использованы только константы, по­
этому особой ценности она не имеет (вместо формулы можно было просто ввести
значение 1 , 5).
=150*,01
• С помощью следующей формулы складываются значения ячеек А1 и А 2:
=А1+А2
• Следующая формула предназначена для вычитания значения ячейки с именем
Р асх о д ы из значения ячейки с именем Доходы:
=Доходы-Расходы
Глава 2. Знакомство с формулами 69

• В следующей формуле используется функция СУММ, с помощью которой склады­


ваются значения ячеек диапазона А 1 : А12:
=СУММ(А1:А 1 2 )
• А эта формула сравнивает значения ячеек А1 и С12 с помощью оператора =. Если
значения обеих ячеек равны, формула возвратит результат ИСТИНА; в противном
случае результатом будет ЛОЖЬ.
=А1=С12
• Эта формула вычитает значение ячейки ВЗ из значения ячейки В2, а затем умно­
жает результат вычитания на значение ячейки В4:
= (В 2-В З )*В 4

Редактирование формул
Если необходимо внести изменения в рабочий лист, вам, возможно, придется редак­
тировать формулы. Если же формула возвращает одно из значений ошибки (описанных
далее), то ее необходимо исправить. Отредактировать формулу можно так же, как и зна­
чение любой другой ячейки.
Режим редактирования ячейки активизируется несколькими способами.
• Дважды щелкните на ячейке. Это позволит внести изменения непосредственно
в ячейке. Данный способ работает только в том случае, если во вкладке Дополни­
тельно диалогового окна параметров программы установлен флажок Разрешить
редактирование в ячейках.
• Щелкните на ячейке и нажмите клавишу <F2>. В результате вы сможете ре­
дактировать содержимое непосредственно в ячейке. Если же флажок Разрешить
редактирование в ячейках снят, редактирование будет осуществляться в строке
формул.
• Выделите ячейку с формулой, подлежащей редактированию, и щелкните мы­
шью в строке формул. После этого приступайте к редактированию в строке формул.
В режиме редактирования формулы можно выделить несколько символов, проведя по
ним указатель мыши. То же можно сделать, нажимая клавиши стрелок при нажатой клави­
ше <Shift>. Если нужно выделить фрагмент формулы от положения курсора до начала или
конца текущей строки, нажмите, соответственно, клавиши <Shift+Home> или <Shift+End>.

Совет
Предположим, в длинной формуле присутствует ошибка. Программа не по­
зволит работать с данной формулой. Не сможете вы также перейти к другой
ячейке, потому что при каждой попытке выйти из ячейки будет появляться
диалоговое окно с сообщением об ошибке. В таком случае рекомендуется
преобразовать формулу в текст и вернуться к ней позже. Для того чтобы
преобразовать формулу в текст, просто удалите знак равенства (=). Когда вы
захотите разобраться с этой формулой, снова вставьте знак равенства,
и содержимое ячейки будет автоматически преобразовано в формулу.
70 Часть I. Основные сведения

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


Если необходимо выполнить вычисления, можете использовать строку формул в ка­
честве калькулятора. Например, введите в ячейку следующую формулу:
=(145*1,05)/12
Такая формула всегда возвращает один и тот же результат, поэтому имеет смысл
сохранить результат вычисления, а не саму формулу. Нажмите <F2> и отредактируйте
содержимое ячейки. Затем нажмите <F9> и <Enter>. Excel сохранит результат вычис­
ления ( 1 2 , 6 8 7 5 ) , а не саму формулу. Этот прием работает и в том случае, если в фор­
муле используются ссылки на ячейки.
Применение описанного подхода особенно эффективно при работе с функциями
рабочего листа. Например, для того чтобы поместить в ячейку квадратный корень из
2 2 1 , введите = к о р е н ь ( 2 2 1 ) , нажмите <F9> и <Enter>. Excel вернет результат:
1 4 , 8 6 6 0 6 8 7 4 7 3 1 8 5 . Таким способом вы можете вычислить значение определенной
части формулы. Рассмотрим такой пример:
= ( 1 4 5 * 1 , 0 5 ) /А1
Если хотите заменить выражение в скобках определенным значением, войдите в ре­
жим редактирования ячеек и выделите ту часть формулы, значение которой необходимо
вычислить. В данном случае следует выделить 1 4 5 * 1 , 0 5 . Затем нажмите <F9> и <Enter>.
Excel изменит формулу таким образом:
= ( 1 5 2 , 2 5 ) / А1

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


Как уже отмечалось, оператор — основной элемент формулы. Оператор — это символ,
обозначающий операцию. В табл. 2.1 перечислены поддерживаемые в Excel операторы.

Таблица 2.1. Операторы в формулах Excel


Символ Оператор
+ Сложение
- Вычитание
/ Деление
★ Умножение
% Процент
& Конкатенация (объединение последовательностей символов в одну строку)
л.
Возведение в степень
= Логическое сравнение (равно)
> Логическое сравнение (больше)
< Логическое сравнение (меньше)
>= Логическое сравнение (больше или равно)
<= Логическое сравнение (меньше или равно)
О Логическое сравнение (не равно)

Символ процента (%) не является оператором, но в Excel его функциональность аналогич­


на оператору. Ввод символа процента после числа приводит к делению этого числа на 100.
Если значение не является частью формулы, ячейке будет присвоен процентный формат.
Глава 2. Знакомство с формулами 71

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

Таблица 2.2. Операторы ссылки


Символ Оператор
: (двоеточие) Оператор диапазона. Используется для ссылки на все ячейки ме­
жду крайними ячейками диапазона включительно.
; (точка с запятой) Оператор объединения. Объединяет несколько ссылок на ячейки
или диапазоны в одну ссылку.
(одиночный пробел) Оператор пересечения. Создает ссылку на ячейки, общие для
двух ссылок.

Примеры формул с операторами


В представленных далее примерах формул использованы различные операторы.
• Приведенная ниже формула объединяет две строки текста в новую строку
Ч а с т ь - 2 3 А. Операция объединения строк называется конкатенацией.
= иЧасть-"&"23А"
• Следующая формула объединяет содержимое ячеек А1 и А 2 :
=А1&А2
• Обычно конкатенация применяется при управлении текстовыми строками. Однако
этот оператор может быть использован и для объединения цифровых значений.
Например, если ячейка А1 содержит значение 1 2 3 , а ячейка А2 — значение 4 5 6 ,
приведенная выше формула вернет значение 1 2 3 4 5 6 . Обратите внимание: фор­
мально результат представляет собой текстовую строку, и тем не менее эта строка
воспринимается программой Excel как числовое значение (если будет использова­
на в математической формуле). В то же время многие функции Excel будут игно­
рировать это “число”, поскольку они настроены на игнорирование текста.
• В следующей формуле оператор возведения в степень используется для возведе­
ния 6 в третью степень. Результат операции — 216.
=бАз
• Приведенная выше формула имеет и более удобный вариант, в котором вместо
константы используется ссылка на ячейку. В следующем примере значение ячейки
А1 возводится в третью степень:
=А1а З

• Данная формула возвращает кубический корень из 216 (т.е. число 6):


=2 1 6 А ( 1 / 3 )
• Следующая формула возвращает значение ИСТИНА, если значение ячейки А1
меньше значения ячейки А2. В противном случае результат — ЛОЖЬ.
=А1<А2
Операторы логического сравнения могут быть использованы и при работе с тек­
стом. Если А1 содержит значение А льф а, а А2 — значение Гамма, данная фор­
72 Часть I. Основные сведения

мула вернет значение ИСТИНА, поскольку в алфавитном порядке значение Альфа


предшествует значению Гамма.
• Следующая формула возвращает ИСТИНА, если значение ячейки А1 меньше или
равно значению ячейки А2. В противном случае результат будет ЛОЖЬ.
=А1 <= А2

• Следующая формула возвращает ИСТИНА, если значение ячейки А1 не равно зна­


чению ячейки А2. В противном случае результатом будет ЛОЖЬ.
=А1< >А2

• В отличие от некоторых других электронных таблиц (например, Lotus 1-2-3), в Ex­


cel нет логических операторов И и ИЛИ. Вместо них используются одноименные
функции. К примеру, следующая формула возвращает значение ИСТИНА, если
ячейка А1 содержит значение 100 или 1000:
=ИЛИ(А1 = 1 0 0 ; А1 = 1 0 0 0 )

• Последняя формула возвращает значение ИСТИНА только в том случае, если обе
ячейки — А1 и А2 — содержат значения, меньшие 100.
= И (А 1<100;А 2 < 1 0 0 )

Приоритет операторов
В формулах можно (и рекомендуется) использовать скобки, чтобы контролировать
порядок выполнения вычислений. В качестве примера рассмотрим следующую формулу,
которая содержит ссылки на именованные ячейки:
=Доход-Расход*Налог

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

Таблица 2.3. Приоритет операторов Excel


Символ Оператор
: (двоеточие) Оператор ссылки
, (запятая)
(пробел)
- Отрицательное значение
% Процент
Возведение в степень
Глава 2. Знакомство с формулами 73

Окончание табл. 2.3


Символ Оператор
* и/ Умножение и деление
+и - Сложение и вычитание
& Объединение строк (конкатенация)
=, с, >, <=, >=, И о Сравнение

Скобки используются для изменения последовательности выполнения операций. Воз­


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

Вычитание и отрицательное значение


Символ “минус” (-) может ввести в заблуждение по той причине, что он обозначает
два разных оператора: вычитание и отрицательное значение числа. Рассмотрим сле­
дующую формулу:
=- 3 * 2
Формула возвращает значение 9, а не - 9 . В данном случае знак “минус” обозначает
отрицательное значение и обладает более высоким приоритетом, чем возведение в
степень (согласно табл. 2.3). Таким образом, отрицательное число возводится в квад­
рат, в результате чего получается положительное число. Чтобы эта формула была более
понятной, ее можно записать так:
=(-3)*3
Если же нужно, чтобы сначала был выполнен оператор возведения в квадрат, запи­
шите формулу так:
=-(3*2)
Данный пример демонстрирует важность использования скобок, даже если они не
влияют на результат, возвращаемый формулой.

Вложенные скобки
Скобки в формулах можно вкладывать, т.е. помещать внутрь других скобок. Если
в формуле используются вложенные скобки, Excel вычислит сначала выражение, нахо­
дящееся внутри скобок с наибольшей глубиной вложения. Ниже приведен пример фор­
мулы со вложенными скобками.
= ( ( В 2 * С 2 ) + ( В З * С З ) + ( В 4 * С 4 ) ) *В6

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

Скобки в формулах рекомендуется' использовать даже в том случае, когда нет необ­
ходимости изменять порядок вычислений, определяемый приоритетами операторов.
Скобки разъясняют порядок выполнения операций, делая формулу более понятной. На­
пример, если нужно прибавить единицу к результату умножения значений двух ячеек,
следующая формула, конечно же, справится с задачей:
=А1*А2+1
Однако порядок выполнения действий в следующем варианте записи формулы
(с лишними скобками) будет более очевиден:
= (А1*А2)+1

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

Рис. 2.2. Функция автоматического исправления ошибок Excel предлагает


методы устранения ошибок в формулах

Ф Предупреждение
Внимательно проверяйте предлагаемую в диалоговом окне коррекцию форму­
лы. Во многих случаях предлагаемая формула, несмотря на свою синтаксиче­
скую корректность, может оказаться логически некорректной. В примере, ис­
пользованном для получения рис. 2.2, в формуле была пропущена закрывающая
скобка после имени диапазона квартал1. На рис. 2.2 программа предложила
следующее исправление формулы: =сумм(квартал 1 / сумм(г о д ) ). Совершен­
но очевидно, что корректной формулой вычисления доли доходов в первом
квартале в доходах за год является следующая:
=СУММ(квартал!)/СУММ(год)
Глава 2. Знакомство с формулами 75

Не задавайте жестко закодированных значений


Создавая формулу, дважды подумайте, прежде чем использовать в ней константы.
Например, если формула предназначена для вычисления суммы 7,5-процентного нало­
га с оборота, вы можете записать ее так:
=А1*, 0 7 5
Однако разумнее ввести значение процентной ставки в ячейку и, вместо цифрового
значения, использовать ссылку на эту ячейку. Это упростит корректировку и дальней­
шую работу с листом. Например, если процентная ставка изменится до 7,75%, вам не
придется изменять каждую формулу, в которой было использовано устаревшее значе­
ние. Найти все такие формулы — непростая задача. Если же значение процентной став­
ки хранится в ячейке, все, что нужно будет сделать, — это изменить значение одной-
единственной ячейки. В результате будут обновлены все формулы, в которых использу­
ется ссылка на эту ячейку.

Порядок вычисления формул


Вероятно, вы заметили, что вычисление формулы происходит сразу же после ее вво­
да. Если изменить значения ячеек, используемых в формуле, то последняя отобразит но­
вый результат без малейших усилий с вашей стороны. Но так происходит только в том
случае, если в раскрывающемся списке Формулы^Вычисление^Параметры вычис­
лений установлено значение Автоматически. При вычислении формул в этом режиме
(установленном по умолчанию) Excel следует таким правилам.
• Когда пользователь вносит изменения (например, вводит или редактирует данные
или формулы), Excel сразу же пересчитывает те формулы, которые зависят от но­
вых или измененных данных.
• Производя длительные расчеты, Excel временно приостанавливает вычисление
в том случае, если пользователь выполняет какие-либо действия в программе; вы­
числение возобновляется, когда пользователь заканчивает свои действия.
• Формулы вычисляются в естественном порядке. Например, если формула, распо­
ложенная в ячейке D12, зависит от результата вычисления формулы ячейки D11,
ячейка D11 будет вычисляться раньше ячейки D12.
Иногда необходимо управлять процессом пересчета формул. Например, если вы соз­
даете рабочий лист с тысячами сложнейших формул, вам придется ждать целую веч­
ность, пока Excel вычислит значения всех формул. В этом случае целесообразно вклю­
чить ручной режим вычисления. Для этого в упомянутом выше раскрывающемся списке
Параметры вычислений выберите значение Вручную.
В ручном режиме вычисления Excel отображает в строке состояния слово Вычислить;
однако это происходит только в том случае, если в рабочем листе остались не вычисленные
формулы. В группе Вычисление вкладки Формулы для пересчета предназначены две ко­
манды: Пересчет и Произвести вычисления. Первая из команд выполняет пересчет всей
книги, а вторая— только активного рабочего листа. Также для пересчета формул можно
использовать следующие комбинации клавиш.
• <F9>. Вычисляет формулы во всех открытых рабочих книгах (аналогично коман­
де Пересчет).
• <Shift+F9>. Вычисляет формулы только активного рабочего листа. Другие листы той
же книги не пересчитываются (аналогично команде Произвести вычисления).
76 Часть I. Основные сведения

• <Ctrl+Alt+F9>. Производит полный пересчет во всех открытых рабочих книгах.


Используйте эту комбинацию клавиш, если Excel по той или иной причине воз­
вращает неправильные значения.
• <Ctrl+Shift+Alt+F9>. Перепроверяет все зависимые формулы, а затем производит
полный пересчет во всех открытых рабочих книгах.

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

Ссылки на ячейки и диапазоны ячеек


Во многих формулах используются ссылки на одну или несколько ячеек. В ссылке
указывается адрес (номер) ячейки или диапазона. Также можно указать имя, если это
именованная ячейка или диапазон. Существует четыре типа ссылок. Различить их помо­
жет знак доллара.
• Относительные: ссылка полностью относительна. При копировании формулы
ссылка на ячейку обновляется в соответствии с новыми ячейками. Пример: А1.
• Абсолютные: ссылка полностью абсолютна. При копировании формулы в другую
ячейку ссылка не изменяется. Пример: $А$1.
• Абсолютная строка: ссылка частично абсолютна. При копировании формулы
изменяется только часть ссылки, относящаяся к столбцу. Та часть, которая отно­
сится к строке, остается неизменной. Пример ГА$1.
• Абсолютный столбец: ссылка частично абсолютна. При копировании формулы
изменяется только часть ссылки, относящаяся к строке. Та часть, которая отно­
сится к столбцу, остается неизменной. Пример: $А1.

Создание абсолютных и смешанных ссылок


При создании формулы все ссылки на ячейки и диапазоны в ней по умолчанию явля­
ются относительными. Для того чтобы ссылка стала абсолютной, вам придется вручную
расставить знаки доллара. Существует еще один способ: когда вводите адреса ячеек или
диапазонов, используйте клавишу <F4>. С ее помощью можно перебирать все возмож­
ные режимы ссылки.
Характер ссылки целесообразно изменять только в том случае, если вы планируете
копировать формулу.
На рис. 2.3 приведен пример использования абсолютных ссылок в формуле. В ячейке
D2 содержится формула, которая умножает количество (ячейка В2) на цену (ячейка С2)
и на ставку НДС (ячейка В7).
=В2*С2*$В$7

Ссылка на ячейку В7 является абсолютной. Когда формула из ячейки D2 копируется


в нижние ячейки, абсолютная ссылка $В$7 всегда указывает на ячейку со ставкой НДС.
Использование относительной ссылки В 7 привело бы при копировании к некорректным
результатам.
Глава 2. Знакомство с формулами 77

Рис. 2.3. Пример использования абсолютных ссылок в формуле

На рис. 2.4 продемонстрировано использование смешанных ссылок. Обратите внима­


ние на формулу в ячейке С 4 :
=$ВЗ*С$2
Эта формула вычисляет площадь для различной ширины (значения перечислены в
столбце В) и длины (значения перечислены в строке 2). Введенная формула может затем
быть скопирована вниз по столбцу и вдоль строки. Поскольку в формуле использованы
абсолютные ссылки на строку 2 и столбец В, каждая скопированная формула возвращает
правильный результат. Если бы в формуле применялись относительные ссылки, то при
копировании они бы изменились и был бы получен неправильный результат.

Рис. 2.4. Пример использования смешанной ссылки

Сравнение типов ссылок А1 и R1C1


По умолчанию Excel использует тип ссылок А1. Адрес каждой ячейки состоит из буквы
столбца и номера строки. Однако программа поддерживает и другую систему записи —
R1С1. В соответствии с этой системой, ячейка А1 имеет адрес R1С1, А2 — R2C1 и т.д.
Если необходимо использовать систему записи R1C1, откройте окно параметров
Excel, перейдите во вкладку Формулы и установите флажок Стиль ссылок R1C1. Теперь
обратите внимание, что столбцы в этом режиме обозначаются не буквами, а цифрами.
Изменятся также все ссылки на ячейки и диапазоны в формулах.
Обратите внимание на примеры записи формул в стандартной системе и в системе
R1C1. Предполагается, что формула расположена в ячейке В1 (или же R1C2).
Стандартная система R1C1
=A1 + 1 =RC[-1] +1
=$А$1+1 =R1C1+1
=$А1+1 =RC1+1
=А$1+1 =R1C[ - 1 ] + 1
=СУММ(А 1 :А10) =СУММ(RC [-1 ] :R [ 9 ] С [-1] )
=СУММ($А$1: $А$10) =СУММ(R1C1:R10C1)
78 Часть I. Основные сведения

Если система R1C1 окончательно вас заОутала, вы не одиноки. Тип ссылок R1C1
удобно использовать при работе с абсолютными ссылками, чего нельзя сказать об от­
носительных.
Числа в скобках означают относительное расположение ссылок. К примеру,
R [ - 5 ] с [ - з ] указывает на то, что ячейка находится на пять строк выше и на три столбца
левее. Соответственно, R [ 5 ] c [ 3 ] ссылается на ячейку, расположенную на пять строк
ниже и на три столбца правее. Если опустить какую-либо из скобок, запись будет озна­
чать ячейку в том же столбце или строке. Например, R [ 5 ] с указывает на ячейку, распо­
ложенную на пять строк ниже в том же столбце.
Вполне возможно, что вы не будете использовать R1C1 в качестве основной системы
представления ячеек. Однако эта система имеет, по крайней мере, одно преимущество:
BR1C1 очень легко обнаружить формулу с ошибкой. При копировании формула в R1C1
остается неизменной независимо от типа ссылок (относительная, абсолютная или сме­
шанная). Поэтому советуем включить режим R1C1 для проверки скопированных формул.
Если одна из формул отличается от остальных, она, возможно, содержит ошибку.
Можно воспользоваться функцией фоновой проверки формул, которая помечает по­
тенциально некорректные формулы. О фоновой проверке формул речь пойдет в главе 21.

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


В формуле могут использоваться ссылки на ячейки и диапазоны ячеек, расположенные
в других рабочих листах. Для того чтобы задать ссылку на ячейку другого листа, располо­
жите перед адресом ячейки имя листа и восклицательный знак. Рассмотрим следующий
пример формулы со ссылкой на ячейку другого рабочего листа с именем Л и с т 2:
= Л и с т 2 !А1+1
Можно создавать формулы и со ссылками на ячейки другой рабочей книги. Для этого
перед ссылкой на ячейку введите имя рабочей книги (в квадратных скобках), затем —
имя листа и восклицательный знак:
= [Бюджет. x l s ] Л и ст1 1А1+1
Если в имени рабочей книги присутствует один или несколько пробелов, имя книги
(и имя рабочего листа) следует заключить в одинарные кавычки, например:
= ' [Анализ бю дж ета. x l s ] Л и с т 1 ' !А1+1
Если рабочая книга, на которую задается ссылка, закрыта, необходимо добавить пол­
ный путь к файлу этой книги:
= ' С : \ M S O f f i c e \ E x c e l \ [Анализ бю дж е та. x l s ] Л и с т 1 ' IA1 + 1
Создать внешние ссылки можно также путем простого указания мышью на ячейки
(о данном методе говорилось ранее). Для этого файл источника должен быть открыт.
Создать формулу можно, указав результаты в относительных ссылках на ячейки. Но ко­
гда с помощью этого метода вы обращаетесь к ячейке другой рабочей книги, Excel соз­
дает абсолютные ссылки. Если планируете копировать формулу в другие ячейки, ссылки
необходимо преобразовать в относительные.

Предупреждение
© При работе с внешними ссылками могут возникнуть неожиданные трудно­
сти. Например, если применить команду Файл^Сохранить как для того, что­
бы создать резервную копию книги-источника, связанные формулы автома­
тически изменятся, и ссылка будет указывать на новый файл (не тот, кото-
Глава 2. Знакомство с формулами 79

рый вам нужен). Путаница со ссылками может возникнуть и в случае пере­


именования файла книги-источника.

Создание точной копии формулы


При копировании формулы Excel автоматически изменяет ссылки на ячейки, когда
вы вставляете формулу в новую ячейку. Именно это чаще всего и нужно пользователю.
Однако бывают случаи, когда необходимо сделать точную копию формулы. Для этого
следует преобразовать относительные ссылки в абсолютные, как было описано ранее. Но
данный способ не всегда эффективен.
Удобнее выделить формулу в режиме редактирования, а затем скопировать ее в бу­
фер обмена как обыкновенный текст. Существует несколько способов выполнения этой
задачи. Выполнив следующую пошаговую инструкцию, вы создадите точную копию
формулы, расположенной в ячейке А1, и вставите ее в ячейку А2.
1. Дважды щелкните на ячейке А1 (или щелкните один раз и нажмите <F2>); вклю­
чится режим редактирования.
2. Для того чтобы выделить всю формулу, нажмите клавишу <Ctrl+Home>, а за­
т ем — комбинацию <Ctrl+Shift+End>. В результате будет выделен весь текст
формулы. Можно также провести по формуле указателем мыши, выделив таким
образом всю формулу. Следует отметить, что при выделении многострочных
формул нужно удерживать нажатой клавишу <Ctrl>.
3. Щелкните на кнопке Копировать вкладки Главная (или нажмите комбинацию
клавиш <Ctrl+C>). Выделенный текст будет скопирован в буфер обмена.
4. Для выхода из режима редактирования нажмите <Esc>.
5. Активизируйте ячейку А 2 .
6. Нажмите клавишу <F2>, чтобы переключиться в режим редактирования.
7. Щелкните на кнопке Вставить вкладки Главная (или нажмите комбинацию кла­
виш <Ctrl+V>). В результате точная копия формулы будет вставлена в ячейку А2.
Этот прием также используется и для копирования части формулы, которую можно
применить при создании другой формулы. Просто выделите ту часть формулы, которую
следует скопировать. Для этого проведите указателем мыши или используйте клавишу
<Shift> одновременно с клавишами стрелок. Затем выделенную часть формулы скопи­
руйте в буфер обмена любым из описанных выше способов. И наконец, вставьте текст
в другую ячейку.
Ссылки в формулах (или частях формул), скопированных таким образом, останутся
неизменными при вставке в другую ячейку, поскольку формула (или фрагмент формулы)
копируется как текст.
Существует еще один способ получения точной копии формулы. Отредактируйте
формулу, удалив знак равенства. В результате формула будет преобразована в текст.
Этот текст следует скопировать в новую ячейку, а затем добавить знаки равенства в ис­
ходную формулу и ее копию.
80 Часть I. Основные сведения

Преобразование формул в значения


Если на вашем рабочем листе используется набор формул, которые всегда возвраща­
ют один и тот же результат (это так называемые “мертвые формулы”), разумно преобра­
зовать их в значения. Для этого используется команда Вставить1^ Вставить значения
вкладки Главная.
Предположим, что диапазон А 1 : А7 содержит формулы, возвращающие неизменный
результат. Для того чтобы преобразовать эти формулы в значения, выполните следующее.
1. Выделите диапазон А 1 : А7.
2. Щелкните на кнопке Копировать вкладки Главная (или нажмите <Ctrl+C>).
3. Выберите команду Главная«=>Буфер обмена^Вставить^Вставить значения.
Таким образом вы вставляете копию в исходное место, но результатом вставки
будут не формулы, а значения.
4. Отмените режим вставки, нажав <Enter> или <Esc>.
Также можно воспользоваться услугами смарт-тега. В этом случае третьим пунктом
приведенной выше последовательности будет нажатие клавиш <Ctrl+V>. В правом ниж­
нем углу диапазона появится смарт-тег. Щелкните на нем и в разделе Вставить значе­
ния выберите элемент Значения (рис. 2.5).

Рис. 2.5. В Excel после вставки данных по­


является смарт-тег

Этот прием особенно эффективен в тех случаях, когда формулы используются для
преобразования ячеек. Предположим, в столбце А содержитоя список имен в верхнем ре­
гистре, а вы хотите, чтобы эти имена были записаны в нижнем регистре. Для этого необ­
ходимо создать формулы в отдельном столбце, затем преобразовать эти формулы в зна­
чения и заменить ими исходные значения столбца А. Чтобы достичь поставленной цели,
выполните следующее.
1. Вставьте новый столбец после столбца А.
2. В ячейку В1 поместите следующую формулу:
=ПРОПИСН(А 1 )
Глава 2. Знакомство с формулами 81

3. Скопируйте формулу вниз по столбцу В столько раз, сколько элементов содержит


столбец А. Теперь столбец В содержит значения столбца А, но в нужном регистре.
4. Выделите все имена столбца В.
5. Щелкните на кнопке Копировать, расположенной во вкладке Главная.
6. Выделите ячейку А1.
7. Выберите команду Главная1^ Буфер обмена^Вставить^Вставить значения.
8. Нажмите <Enter> или <Esc>, чтобы выйти из режима вставки.
9. Удалите столбец В.

Когда использовать автозавершение вместо формул


Функция автозавершения Excel позволяет быстро копировать содержимое ячейки
в смежные ячейки. Кроме того, она применяется не только для копирования в смежные
ячейки; в некоторых случаях автозавершение может заменить формулу. Удивляет тот
факт, что многие опытные пользователи Excel не применяют автозавершение, хотя эта
функция помогает сэкономить немало времени.
Например, создать список значений от 1 до ю о в диапазоне A i:A ioo можно, ис­
пользовав формулу. В ячейку А1 введите число 1, в ячейку А2 — формулу = a i+ i, а затем
скопируйте эту формулу в оставшиеся 98 ячеек диапазона.
Используя функцию автозавершения, иногда можно создавать ряды данных вообще
без формул. Для того чтобы заполнить упомянутый диапазон последовательностью от 1
до ю о, введите 1 в ячейку А1, а в ячейку А2 — 2. Затем выделите диапазон a i : А2 и пе­
ремещайте маркер автозавершения вниз до ячейки а ю о . (Маркер автозавершения —
это небольшой квадратик в правом нижнем углу активной ячейки или диапазона.) Когда
вы выполняете автозавершение таким образом, Excel анализирует содержимое выде­
ленных ячеек и использует полученную информацию для заполнения остальных ячеек
диапазона. Если ячейка a i содержит 1, а ячейка А2 — з, программа улавливает прин­
цип, по которому составляется последовательность, и заполняет остальные ячейки та­
ким образом: 5 , 7 , 9 и т.д. Тот же прием используется и для создания убывающих по­
следовательностей ( ю , 9 , 8 и т.д.) и списков дат. Если же программе не удается уста­
новить принцип, по которому составляется последовательность, Excel выполняет
линейную регрессию и вставляет значения в соответствии с полученным трендом.
Excel распознает такие общеизвестные списки, как названия месяцев года и дней
недели. Если вы введете Понедельник и начнете перемещать маркер автозавершения,
программа автоматически вставит в ячейки дни недели по порядку. Excel позволяет
создавать пользовательские списки автозавершения. Для этого в разделе Общие
вкладки Дополнительно окна параметров программы следует щелкнуть на кнопке Изме­
нить списки. И наконец, при перетаскивании маркера автозавершения с помощью пра­
вой кнопки мыши появляется контекстное меню, в котором можно выбрать необходи­
мую команду автозавершения.

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

Для того чтобы сделать невозможным просмотр одной или нескольких формул, сле­
дуйте приведенной ниже инструкции.
1. Выделите формулу или формулы.
2. Щелкните правой кнопкой и выберите в контекстном меню команду Формат
ячеек (или нажмите <Ctrl+l>).
3. В открывшемся диалоговом окне перейдите во вкладку Защита.
4. Установите флажок Скрыть формулы (рис. 2.6).
5. Во вкладке Рецензирование ленты выберите команду Защитить лист.
Чтобы гарантировать прочность защиты, не забудьте в открывшемся диалоговом окне
установить пароль; в противном случае снять защиту сможет любой пользователь.
По умолчанию все ячейки заблокированы. Если лист защищен, никто не сможет из­
менить блокировку ячейки. Следовательно, перед тем, как защитить лист, вы должны
будете разблокировать ячейки, предназначенные для ввода информации пользователями.

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

Рис. 2.6. Скрыть формулы можно в диалоговом окне Формат ячеек

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

Таблица 2.4. Типичные ошибки в Excel


Значение ошибки Пояснения
#д е л / о ! Формула пытается совершить операцию деления на нуль (что на
нашей планете строго запрещено). Это значение ошибки возни­
кает и в том случае, если формула пытается разделить значение
на пустую ячейку
Глава 2. Знакомство с формулами 83

Окончание табл. 2.4


Значение ошибки Пояснения
#имя? В формуле использовано имя, которое Excel не понимает. Это
может произойти в случае, если имя, используемое в формуле,
было удалено или в записи имени была допущена опечатка
#н/д Формула обращается (прямо или косвенно) к ячейке, в которой
используется функция нд, что служит сигналом обнаружения не­
определенных данных. Такое значение ошибки может появиться и
в том случае, если функция поиска не находит соответствия
#п у с т о ! Данная ошибка появляется в том случае, когда задано пересече­
ние двух диапазонов, в действительности не имеющих общих
ячеек (см. далее)
#числО! В формуле возникла проблема со значением. Например, отрица­
тельное значение введено там, где должно быть положительное
#ссыл! Ошибка появляется, когда используется недопустимая ссылка на
ячейку. Происходит это, например, когда ячейка, на которую ссы­
лается формула, удалена из рабочего листа
#з н а ч ! Ошибка появляется, когда используется недопустимый тип аргумен­
та или операнда. Операнд обращается к значению или ссылке на
ячейку, которые используются в формуле для вычисления значения

Примечание
Если ячейка заполняется символами “решеток” (##########), то это, как
правило, означает, что ширина столбца не позволяет разместить значение.
В этом случае можно увеличить ширину столбца или изменить цифровой
формат ячейки. Символы “решетки” появляются в ячейке и в том случае, ко­
гда формула, находящаяся в ней, возвращает ошибочное время или дату.
Иногда радом с формулой, содержащей ошибку, отображается смарт-тег. Щелкнув на
нем, можно узнать, какая ошибка была допущена, и на каком этапе вычислений она поя­
вилась. Подробную информацию о смарт-тегах вы найдете в главе 21.

Работа с циклическими ссылками


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

Рис. 2.7. Таким образом Excel сообщает о наличии циклической ссылки

Циклическая ссылка появляется в случае, если формула содержит прямую или кос­
венную ссылку на собственное значение. Например, если в ячейку АЗ ввести значение
84 Часть I. Основные сведения

=А1, в ячейку ВЗ значение =АЗ, а в ячейку А1 значение =ВЗ, то будет создана цикличе­
ская ссылка, поскольку формулы образуют своеобразное кольцо, в котором каждая фор­
мула зависит от предыдущей. Каждый раз, когда вычисляется значение для АЗ, оно
влияет на формулу для ВЗ, что, в свою очередь, влияет на формулу для А1. Значение А1
повлияет на значение АЗ, и круг замкнется. Таким образом, вычисление будет происхо­
дить бесконечно долго, и формула никогда не сможет вернуть окончательный результат.
Если ввести формулу, содержащую циклическую ссылку, и нажать клавишу <Enter>,
чтобы зафиксировать формулу, Excel отобразит диалоговое окно с двумя кнопками: ОК
и Отмена (см. рис. 2.7).
Чтобы исправить циклическую ссылку, щелкните на кнопке ОК. После этого Excel
вставит на рабочий лист стрелки трассировки и откроет статью справки по циклическим
ссылкам. В строке состояния будет отображено Циклические ссылки:АЗ. Чтобы разре­
шить проблему циклической ссылки, выберите команду Формулы^Зависимости фор-
мул^Проверка наличия ошибок1^ Циклические ссылки и вы увидите список ячеек,
“вовлеченных” в циклические ссылки. Щелкните на каждой из ячеек и попытайтесь най­
ти ошибку. Если не можете определить, является ли данная ячейка причиной цикличе­
ской ссылки, перейдите к следующей ячейке в этом подменю. Продолжайте проверку
ячеек, пока в строке состояния не исчезнет сообщение Циклические ссылки.

Перекрестная ссылка
В редких случаях циклические ссылки вводятся преднамеренно. Некоторые
примеры использования циклических ссылок приведены в главе 16.

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

Предупреждение
Если во вкладке Формулы окна параметров Excel установлен флажок Вклю­
чить итеративные вычисления, Excel не оповещает пользователя о появле­
нии циклической ссылки. Когда этот флажок установлен, Excel выполняет
циклические вычисления столько раз, сколько задано в поле Предельное
число итераций, или же пока изменение значения поля не станет меньше,
чем о, 001 (или любого другого значения, указанного в поле Относительная
погрешность). Рекомендую не устанавливать флажок Включить итеративные
вычисления. Тогда программа будет предупреждать вас о появлении цикли­
ческих ссылок. Ведь чаще всего существование циклической ссылки свиде­
тельствует об ошибке, которую необходимо исправить.
Как правило, причина циклической ссылки бывает очевидна — это ссылка ячейки са­
мой на себя; исправить такую ошибку достаточно легко. Для такого типа циклической
ссылки Excel не отображает стрелки трассировки. Но иногда вы будете сталкиваться
Глава 2. Знакомство с формулами 85

с косвенными циклическими ссылками, когда формула ссылается на другую формулу,


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

Функция подбора параметра


Многие электронные таблицы содержат формулы, которые позволяют задавать во­
просы типа: “Какова будет сумма общей прибыли, если объем продаж вырастет на 20
процентов?”. Если формула задана правильно, то можно изменить значение одной ячей­
ки и увидеть, как изменится значение объема продаж в другой ячейке.
Функция подбора параметра достаточно эффективна при совместном применении
с формулами. Если известно, какой должен быть результат, программа сама подскажет
значения ячеек, необходимых для достижения этого результата. Иными словами, можно
задать такой вопрос: “На сколько процентов должен вырасти объем продаж, чтобы об­
щая прибыль составила 1,2 миллиона долларов?”.
Подбор параметра для одной ячейки — задача несложная. Excel определяет непо­
средственно в ячейке, какое значение должно быть введено в формулу, чтобы получился
ожидаемый результат. Ознакомиться с работой этой функции программы лучше всего,
рассмотрев конкретный пример.

Пример подбора параметра


На рис. 2.8 представлена таблица, предназначенная для расчета суммы займа. В этой
таблице— четыре ячейки для ввода данных (В 4:В 7) и четыре ячейки с формулами
(B IO : В 14). Формулы вычисляют различные значения, используя ячейки для ввода зна­
чений. В ячейках расположены следующие формулы.

Рис. 2.8. Эта таблица — пример исполь­


зования функции подбора параметра
86 Часть I. Основные сведения

Предположим, вы решили купить новую машину. Максимальная сумма, которой вы


располагаете, — 12000 рублей в виде ежемесячного платежа. Также известно, что заем
вам могут выдать с фиксированной ставкой — 6%, основываясь на процентном соотно­
шении суммы займа к стоимости заложенного имущества, составляющем 80% (размер
займа на 20 процентов меньше стоимости имущества). Вопрос состоит в следующем:
“Какова максимальная цена, по которой вы сможете купить новую машину?”. Иными
словами, какое значение в ячейке В4 приведет к результату 12 000 в ячейке В 12?
Можно подставлять разные значения в ячейку В4 до тех пор, пока в ячейке В 1 2 не поя­
вится результат 12 000. Однако лучше всего поручить подбор значения программе.
Для получения ответа на поставленный вопрос выберите команду Данные^Работа
с данными1^Анализ “что-если”1^ Подбор параметра. Откроется диалоговое окно, по­
казанное на рис. 2.9. Заполните это окно в следующей последовательности. Введите це­
левое значение 12 000, задайте в поле Установить в ячейке адрес В 1 2 (либо введя
ссылку, либо указав на ячейку мышью). Введите в поле Изменяя значение ячейки
ссылку на ячейку В 4. Щелкните на ОК, чтобы начать процесс подбора параметра.

Рис. 2.9. Диалоговое окно Подбор параметра (приведенный слева


результат появится после завершения работы с этим окном)

Excel практически мгновенно сообщит о том, что решение найдено, и откроет окно
Результат подбора параметра. В этом окне вы увидите подбираемое и текущее значе­
ния. В данном примере программа нашла точное значение. Оно автоматически помеще­
но в ячейку В4 (2 5 0 1 8 7 4 , 2 2 р .) . В результате получается желаемая оплата 12 ты­
сяч рублей в месяц. Диалоговое окно Результат подбора параметра предоставляет
следующие варианты выбора:
• щелкните на кнопке О К, чтобы заменить исходное значение найденным;
• щелкните на кнопке Отмена, и ваша таблица вернется к своему исходному состоя­
нию, в котором она находилась до использования функции подбора параметра.

Еще несколько слов о подборе параметра


Excel не всегда находит параметр, удовлетворяющий заданным условиям; иногда
подходящего значения просто не существует. В таком случае окно Результат подбора
параметра информирует о невозможности подбора параметра. Впрочем, Excel иногда
выводит сообщение о невозможности подбора параметра и в том случае, когда вы увере­
ны, что такой параметр существует. Тогда можно заменить текущее значение в изменяв-
Глава 2. Знакомство с формулами 87

мой ячейке на значение, более приближенное к решению, а затем применить команду


повторно. Если подобрать параметр не удается со второй попытки, то, скорее всего, вы
ошиблись в своих предположениях. Проверьте, действительно ли формула зависит от
ячейки с изменяемым значением.
Как и любая другая программа, Excel обеспечивает ограниченную точность вычисле­
ний. Для того чтобы в этом убедиться, введите в ячейку А2 формулу =А1 * 2 . Затем вы­
берите команду Анализ “что-если”1^ Подбор параметра и найдите такое значение
ячейки А1, чтобы результатом вычисления стало число 16. Excel вернет значение
4, 00002269, что лишь приблизительно равно квадратному корню из 16. Изменить точ­
ность вычислений можно во вкладке Формулы диалогового окна Параметры Excel
(следует уменьшить значение в поле Относительная погрешность).
В некоторых случаях желаемый результат дают несколько значений изменяемой
ячейки. Например, формула =А1>Ч2 возвращает 16, если ячейка А1 содержит либо -4 ,
либо +4. Если существует несколько подходящих значений параметра, Excel отображает
то из них, которое имеет тот же знак, что и текущее значение в ячейке, или то, которое
наиболее приближено к этому значению.
Пожалуй, самым существенным ограничением команды Подбор параметра являет­
ся то, что с ее помощью можно подобрать значение только для одной ячейки. Например,
программа не сможет рассчитать и максимальную цену, и процентную ставку при задан­
ной месячной оплате. Если нужно одновременно подобрать значения двух переменных,
используйте надстройку “Поиск решения”.
Глава

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

Большинство пользователей Excel знакомо с такими понятиями, как именованные ячей­


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

Что такое имя


Имя можно рассматривать как идентификатор какого-либо элемента рабочей книги.
Имя присваивается таким элементам, как ячейка, диапазон, диаграмма, фигура и т.д.
Имя, присвоенное, например, диапазону, может затем использоваться в формулах. Пред­
положим, что диапазон В2 : В2 0 0 рабочего листа содержит информацию о дневном обо­
роте компании. В ячейке С1 задана ставка комиссионного сбора с продажи. В следую­
щей формуле сумма дневного оборота умножается на ставку комиссионного сбора:
=СУММ (В2 : В2 0 0 ) *С1
Такая формула будет работать, однако смысл ее не очевиден. Для того чтобы форму­
ла стала понятной, следует назначить описательные имена диапазону, содержащему ин­
90 Часть I. Основные сведения

формацию о дневном обороте, и ячейке, в которой указана ставка комиссионного сбора.


Например, диапазону В 2:В 200 можно присвоить имя Д н е в н ы е П р о д а ж и , а ячейке
С1 — имя С т а в к а К о м и с с и о н н ы х . Теперь формулу необходимо переписать, используя
имена вместо адресов диапазона и ячейки.
=СУММ(ДневныеПродажи)*СтавкаКомиссионных
Как видите, формулу, в которой вместо ссылок на ячейки используются имена, по­
нять значительно легче.
Применение именованных ячеек и диапазонов имеет ряд преимуществ.
• Имена облегчают понимание и применение формулы. Это особенно важно для
тех, кто не участвовал в создании рабочего листа. Очевидно, что такую формулу,
как, например, =Д о х о д ы - Н а л о г и , понять значительно легче, чем =D20-D40.
• Описательное имя диапазона (например, О б щ и й _ д о х о д ) запоминается легче, чем
адреса ячеек (например, А21). Кроме того, вероятность опечатки при написании
имени меньше, чем при вводе адреса ячейки или диапазона.
• С помощью имен легко перемещаться по рабочему листу, используя поле Имя, рас­
положенное слева строки формул. Щелкните на кнопке со стрелкой, и появится спи­
сок всех назначенных имен. Перейти от одного элемента листа к другому можно,
выбрав команду ГлавнаяОРедактирование^Найти и выделить«=>Перейти или
нажав клавишу <F5>. В открывшемся диалоговом окне следует ввести имя диапазо­
на или ячейки.
• Если выделить именованную ячейку или диапазон, ее (его) имя появится в поле Имя.
• Вам будет легче записывать формулы, используя имена ячеек и диапазонов. Эти
имена можно вставить в формулу, выбрав команду Использовать в формуле во
вкладке Формулы и выбрав в открывшемся списке нужное имя.
• Использование имен вместо адресов ячеек и диапазонов облегчит создание макро­
сов и дальнейшую работу с ними.

Область действия имен


Перед тем как перейти к теме создания имен и работе с ними, важно осознать, что все
имена имеют свою область действия. Под областью действия понимается множество
мест, где может использоваться имя. В зависимости от области действия имена делятся
на две категории.
• Имена на уровне рабочей книги. Могут использоваться в любом рабочем листе
данной книги. Этот уровень присваивается именам по умолчанию.
• Имена на уровне рабочего листа. Могут использоваться только на рабочем лис­
те, на котором они определены (если перед именем объекта не указано имя рабо­
чего листа). В рабочей книге может быть много разных объектов с идентичными
именами на уровне листа. Естественно, они должны находиться на разных листах.

Ссылки на имена
Ссылки на имена уровня книги позволяют применять их на любом листе книги.
Ссылки на имена уровня листа должны предваряться именем соответствующего листа,
если, конечно, используются на листе, отличном от того, на котором определены.
Глава 3. Имена 91

Для примера предположим, что рабочая книга содержит два листа: Л и с т 1 и Л и с т 2.


В этой рабочей книге определены следующие имена: О бщ и еП р одаж и (имя уровня кни­
ги), П р о д а ж и В Е в р о п е (имя уровня листа Л и с т 1 ) и П р о д а ж и В А м е р и к е (имя уровня
листа Л и с т 2 ). На обоих листах книги можно обратиться к имени О бщ иеП р одаж и сле­
дующим образом:
=ОбщиеПродажи
На листе Л и с т 1 к объекту П р о д а ж и В Е в р о п е тоже можно обратиться только по
имени, так как оно определено именно на этом листе.
=ПродажиВЕвропе
Однако, если на листе Л и с т 1 нужно обратиться к имени П р о д а ж и В А м е р и к е , вам
придется проделать немного больше работы. Л и с т 1 не “видит” это имя, поскольку оно
определено на другом листе. Л и с т 1 может “видеть” только имена, определенные на нем.
Для обращения к имени П р о д а ж и В А м е р и к е на листе Л и с т 1 его придется предварить
именем рабочего листа и восклицательным знаком.
=Лист2! ПродажиВАмерике

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

Примечание
В поле Имя отображаются только имена уровня текущего рабочего листа. Ана­
логично, только имена уровня текущего рабочего листа отображаются в спи­
ске команды Формулы«=>Определенные именам Использовать в формуле.

Ссылка на имена другой рабочей книги


В главе 2 рассказывалось о том, как создавать ссылки на ячейки и диапазоны других
рабочих книг. Те же правила применяются и к ссылкам на имена, заданные в другой ра­
бочей книге.
Например, в следующей формуле используется имя Е ж е м е с я ч н ы е П р о д а ж и , опре­
деленное в рабочей книге под именем Бю дж ет . x l s x (предполагается, что эта рабочая
книга открыта):
=СРЗНАЧ(Бюджет. x l s x ! ЕжемесячныеПродажи)
Если имя Е ж е м е с я ч н ы е П р о д а ж и определено на уровне листа Л и с т 1 , последнюю
формулу нужно записать так:
=СРЗНАЧ( [Бюджет . x l s x ] Л и с т 1 ! ЕжемесячныеПродажи)

Конфликты имен
Использование имен уровня листа может быть несколько запутанным, поскольку Ex­
cel разрешает на листах создавать те же имена, которые уже определены на уровне кни­
92 Часть I. Основные сведения

ги. В этом случае имена уровня листа имеют приоритет, но тодько в пределах листа, на
котором определены.
К примеру, можно определить имя И т о г уровня книги для некоторой ячейки листа
Л и с т 1 . Одновременно можно определить имя уровня листа Л и с т 2 ! И т о г . Когда акти­
вен лист Л и с т 2 , идентификатор И т о г будет ссылаться на имя уровня листа. Когда же
активен какой-либо другой лист, И т о г будет ссылаться на имя уровня книги. Запутанно,
не правда ли? Для облегчения жизни рекомендуется избегать использования одних и тех
же имен на уровнях книги и листа.
Один из способов устранения такой путаницы основан на соглашениях об именова­
нии. Само имя должно содержать информацию о том, на каком уровне оно определе­
но. К примеру, во всех именах уровня рабочей книги можно использовать префикс рк,
а в именах уровня рабочего листа — р л . Используя это соглашение, вы никогда не
спутаете имена р л И т о г и р к И т о г .

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

Рис. 3.1. Диалоговое окно диспетчера имен

Для открытия окна диспетчера имен выберите команду Формулы ^Определенные


имена^Диспетчер Имен или нажмите клавиши <Ctrl+F3>. В этом диалоговом окне
можно просматривать, создавать, редактировать и удалять имена. В главном окне дис­
петчера имен отображается текущее значение каждого имени, ячейка или диапазон, на
которую оно ссылается, область действия имени, а также комментарии, если вы их соз­
давали. Имена можно сортировать, а ширину столбцов изменять. Если используется
много имен, можно применить к списку некоторый предопределенный фильтр, чтобы не
загромождать список ненужными именами.
Следует обратить внимание, что размеры диалогового окна диспетчера имен можно
изменять; перетаскивая за правый нижний угол, это диалоговое окно можно сделать ши­
ре или выше.
Глава 3. Имена 93

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

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

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

Совет
При редактировании содержимого поля Диапазон вручную в строке состоя­
ния отображается слово Укажите. Если попытаетесь использовать при ре­
дактировании этого поля клавиши навигации, такие как стрелки, клавиши
<Н оте> или <End>, то увидите, что перемещаетесь по рабочему листу, а не
редактируете поле. Для переключения из режима указания в режим редак­
тирования нужно нажать клавишу <F2>, в результате чего в строке состоя­
ния будет отображаться слово Правка.

Удаление имен
Щелчок на кнопке Удалить удаляет выделенное имя из рабочей книги. Естественно,
Excel предупредит вас о том, что данную операцию нельзя будет отменить. К сожале­
нию, программа недостаточно услужлива, чтобы заменить все ссылки на удаленное имя
соответствующими диапазонами ячеек. В результате все формулы, использующие уда­
ленное имя, будут отображать ошибку #ИМЯ?.
94 Часть I. Основные сведения

Способы присвоения имен ячейкам


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

Присвоение имен в окне Присвоение имени


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

Правила создания имен


Что касается назначаемых вами имен, Excel — достаточно неприхотливая програм­
ма. И все же существуют некоторые правила создания имен.
• Имена не могут содержать пробелов. Для разделения слов внутри имени можно
использовать символ подчеркивания или точку (например, Еж е го д н ы й и т о г или
Еж егодны й. И т о г ).
• В качестве имени можно использовать любую комбинацию букв и цифр. Од­
нако имя обязательно должно начинаться с буквы или символа подчеркивания. Имя
не может начинаться с цифры (как, например, зй к в ар тал ) или выглядеть как ссыл­
ка на ячейку (как, например, кз).
• Для разделения слов внутри имени используются только символы подчерки­
вания и точки. Этот момент не оговорен в документации к программе, однако Excel
воспринимает и такие символы, как обратная косая черта (\) и вопросительный знак
(?). Однако отмечу, что имя не может начинаться с этих символов.
• Количество символов имени не должно превышать 255. Этого вполне достаточ­
но. Использовать имена даже такой длины не имеет смысла. Применение чрезмерно
длинных имен лишает всякого смысла операцию присвоения имени диапазону.
• В качестве имени можно использовать отдельные буквы (кроме ‘R* и ‘С’).
Однако я бы не рекомендовал давать такие имена, поскольку имя должно нести
информацию о содержимом ячейки или диапазона.
• При вводе имен регистр значения не имеет. Ежегодныйитог значит то же са­
мое, что и еж егодны йитог. Excel сохраняет имя точно в таком же виде, в каком вы
вводите его первоначально. Но, записывая имя в формуле, можно использовать
любой регистр.
Excel использует несколько так называемых внутренних имен. Внутренние имена Excel мож­
но присваивать ячейкам и диапазонам. Однако делать так не рекомендуется. Присваивая
имя, избегайте следующих имен: Обла сть__пе ча ти , З а г о л о в о к _ п е ч а т и , О б л а с т ь _ к о н с о -
л и д а ц и и , База_данны х, Кри те р ий , Ф и л ь т р и Н а з в а н и е _ л и с т а .

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

Имя можно присвоить и несмежному диапазону ячеек. Выделить все ячейки и диапа­
зоны несмежного диапазона можно с помощью мыши, удерживая клавишу <Ctrl>.

Присвоение имени с помощью поля Имя


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

jm b Предупреждение
« ы Создавая имя в поле Имя, не забудьте нажать <Enter>. Если ввести имя, а
затем щелкнуть в области рабочего листа, новое имя не будет создано.
Поле Имя выполняет еще одну функцию. С его помощью можно быстро выделить
именованную ячейку или диапазон, как показано на рис. 3.3. Для этого щелкните в поле
Имя и выберите нужное имя в списке. Будет выделена соответствующая ячейка или диа­
пазон. Как ни странно, для активизации поля Имя не предусмотрена комбинация кла­
виш. Иными словами, вы не получите доступ к этому полю с помощью клавиатуры; сде­
лать это можно, только используя мышь. После щелчка в поле Имя для указания имени
достаточно использовать клавиши со стрелками и <Enter>.

Рис. 3.3. Используя поле Имя, можно быстро акти­


визировать именованную ячейку или диапазон

Совет
Имена, созданные в поле Имя, по умолчанию имеют область действия уров-
ня рабочей книги. Для того чтобы создать имя уровня рабочего листа, пред­
варите его именем рабочего листа и восклицательным знаком (например,
Л и с т 2 ' И т о г ) . Так как поле Имя работает только с текущим выделенным
диапазоном, ввод имени листа, отличного от текущего, приведет к ошибке.

Автоматическое присвоение имен


Содержимое ячеек можно использовать для автоматического создания имен смежных
ячеек или диапазонов. На рис. 3.4 показан пример такого листа. Текст, находящийся
96 Часть I. Основные сведения

в столбце А, можно использовать для создания имен ячеек столбца В. Решить эту задачу
в Excel достаточно просто.

Рис. 3.4. Excel позволяет создавать


имена на основе текста, содержа­
щегося в смежных ячейках

Для того чтобы присвоить имена, используя текст смежных ячеек, выделите данный
текст и ячейки, которым должно быть присвоено имя (это могут быть как отдельные
ячейки, так и диапазоны ячеек). Текст имен должен находиться в смежных ячейках отно­
сительно ячеек, которым вы хотите назначить имена. Можно создать несколько выделе­
ний. Выберите команду Формулы ^Определенные имена^Создать из выделенного
или нажмите комбинацию клавиш <Ctrl+Shift+F3>. Откроется диалоговое окно Созда­
ние имен из выделенного диапазона (рис. 3.5).

Рис. 3.5. Автоматическое создание имен

Флажки в диалоговом окне расставлены на основе проведенного программой анализа


выделенного диапазона. Например, если Excel обнаруживает текст в первой строке вы­
деленного диапазона, программа предлагает создать имена в строке выше. Если Excel
приняла неправильное решение, измените предложенный вариант вручную. Щелкните на
кнопке ОК, и Excel создаст имена. Обратите внимание на следующий факт: когда Excel
создает имена, используя текст смежных ячеек, ячейки с текстом не включаются в име­
нованный диапазон.
Если в результате использования текста смежной ячейки получится некорректное
имя, Excel изменит его на правильное. Например, если ячейка содержит текст Общ ий
д о х о д (его использование в качестве имени некорректно, поскольку присутствует про­
бел), Excel преобразует пробел в символ подчеркивания и создаст имя О б щ и й д о х о д .
Глава 3. Имена 97

Если же вместо текста смежная ячейка содержит значение или формулу, программа не
сможет создать корректное имя. В таком случае Excel просто не создаст никакого имени.

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

Рис. 3.6. Создание имен на основе данных такой таблицы может привести
к неожиданным результатам

Имена столбцов и строк


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

Рис. 3.7. В этой таблице, содержащей


данные о дневном объеме продаж, ис­
пользуется именованный диапазон, ко­
торый состоит из целого столбца
98 Часть I. Основные сведения

Компакт-диск
Все приводимые в настоящей главе примеры содержатся в файле chap-
t e r 3 _ R U S . x s l x на прилагаемом компакт-диске.

Столбец В можно назвать, например, Д н е в н ы е П р о д а ж и . Если этот диапазон распо­


ложен на рабочем листе Л и с т З , ссылка будет выглядеть следующим образом:
=Л истЗ ! $ В : $В
Чтобы присвоить имя целому столбцу, выделите его, щелкнув на его букве. Введите
нужное имя в поле Имя и нажмите клавишу <Enter>. Можно также применить для этого
диалоговое окно Создание имени.
Назначив имя, можно использовать его в формуле. Следующая формула, например,
возвращает сумму всех значений столбца В:
=СУММ(ДневныеПродажи)

Имена, созданные программой Excel


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

Скрытые имена
Некоторые макросы и надстройки Excel создают скрытые имена. Эти имена присут­
ствуют в рабочей книге, но не появляются в диалоговом окне диспетчера имен и в поле
Имя. Надстройка “Поиск решения” , например, создает целый ряд скрытых имен. Как
правило, скрытые имена можно игнорировать, но они могут стать причиной возникно­
вения некоторых проблем. Если скопировать лист из одной рабочей книги в другую,
вместе с листом копируются и скрытые имена. При этом скрытые имена могут созда­
вать ссылку, которую довольно трудно обнаружить.
К сожалению, в окне диспетчера имен скрытые имена не приводятся. Ниже приве­
дена простая процедура на VBA, которая создает список всех скрытых имен активной
рабочей книги. Эта процедура добавляет в книгу новый рабочий лист и помещает в него
список скрытых имен. Не забудьте включить поддержку макросов. Кроме того, если
список не появился, попробуйте удалить инструкцию i f . Возможно, причина в том, что
скрытых имен в данной книге нет.
Sub L i s t H i d d e n N a m e s ()
Dim n As Name, r As Long
W o r k s h e e t s .A d d
r = 1
F or Each n In A c t iv e W o r k b o o k .N a m e s
I f N ot n . V i s i b l e Then
C e l l s ( r , 1) = n.Name
C e l l s ( r , 2) = & n .R e fe r sT o
r = r + 1
End I f
N ext n
End Sub
Глава 3. Имена 99

Создание многолистовых имен


Имена ячейкам и диапазонам могут быть присвоены в нескольких рабочих листах с по­
мощью “трехмерной” ссылки. Но для этого нельзя просто выделить диапазон и ввести имя
в поле Имя. Чтобы назначить имя в нескольких листах, необходимо использовать диалого­
вое окно Создание имени. Формат такой ссылки будет выглядеть следующим образом:
ПервыйЛист:ПоследнийЛист! СсылкаНаДиапазон
На рис. 3.8 продемонстрирован пример, в котором имя КубДанных, назначенное
диапазону А 1 : СЗ, распространяется на листы Л и с т 1 , Л и с т 2 и Л и с т З .

Рис. 3.8. Присвоение имени в нескольких листах

Разумеется, можно просто ввести трехмерную ссылку на диапазон в поле Диапазон.


Но если нужно создать имя, отметив диапазон мышью, могут возникнуть некоторые
трудности. Даже если попытаться выделить диапазон, распространяющийся на несколь­
ко рабочих листов, Excel не сможет использовать адрес выделенного диапазона в диало­
говом окне Создание имени.
Для того чтобы назначить имя К уб Д ан ны х диапазону А1 :СЗ, который распростра­
няется на листы Л и с т 1 , Л и с т 2 и Л и с т З , следуйте приведенным ниже инструкциям.
1. Активизируйте лист Л и с т 1.
2. Во вкладке Формулы выберите команду Диспетчер имен или нажмите комби­
нацию клавиш <Ctrl+F3>. В открывшемся диспетчере имен щелкните на кнопке
Создать. Откроется диалоговое окно Создание имени.
3. Введите КубДанных в текстовом поле Имя.
4. Активизируйте поле Диапазон и нажмите клавишу <Del>, чтобы удалить суще­
ствующую ссылку на диапазон.
5. Выделите диапазон А 1 : СЗ на листе Л и с т 1 . В поле Диапазон появится следую­
щая запись:
= Л и с т 1 ! $ А $ 1 : $С$3
6. Удерживая нажатой клавишу <Shift>, щелкните на вкладке Л и с т З . Вы заметите,
что программа по непонятным причинам заменяет ссылку на диапазон ссылкой
на одну ячейку. На данном этапе запись будет выглядеть так:
= ' Л и с т ! :Л и с т З 1 ! $А$1
100 Часть I. Основные сведения

7. Выделите диапазон А 1 : СЗ на листе Л и с т 1 еще раз. На этот раз в поле Диапазон


появится следующая запись:
= 'Л и с т 1 :Л и с т З ' ! $ А $ 1 : $С$3
8. Теперь, когда поле Диапазон содержит нужную ссылку, щелкните на кнопке ОК.
Диалоговое окно Создание имени будет закрыто.
Задав имя, можно использовать его в формулах. Например, следующая формула вер­
нет сумму значений диапазона, который носит имя К уб Данных:
=СУММ(КубДанных)

Примечание
Многолистовые имена не отображаются ни в поле Имя, ни в диалоговом ок­
не Переход (это окно отображается при выборе команды Главная^Редак-
тирование^Найти и выделить^Перейти). Иными словами, Excel позволяет
назначать такие имена, но вы не сможете автоматически выделить ячейки, к
которым они относятся. Тем не менее, многолистовые имена отображаются
в списке автозавершения при вводе формул.
Если вставить новый лист в рабочую книгу, в которой используются имена, относя­
щиеся к нескольким листам, имена будут распространяться на новый лист только в том
случае, если этот лист находится между первым и последним листом, заданным в опре­
делении имени. В предыдущем .примере рабочий лист, вставленный между Л и ст1
и Л и с т 2 , оказывается в диапазоне К убД ан н ы х. Лист, вставленный перед Л и с т 1 или
после Л и с т З , не включается в диапазон.
Если удалить первый или последний лист, включенный в определение имени, Excel
автоматически изменит запись в поле Диапазон. В рассматриваемом нами примере уда­
ление Л и с т 1 приведет к следующим изменениям в поле Диапазон имени КубДанны х:
= 1Л ист2 : Л и с т З ' !$А $1:$С $3
Областью действия имен, распространяющихся на множество листов, должна быть
рабочая книга. Если они определены на уровне рабочего листа, то будут функциониро­
вать корректно, однако в диалоговом окне диспетчера имен будет отображаться ошибка.

Работа с именами диапазонов и ячеек


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

Создание списка имен


Если вы создали достаточно большое количество имен, может возникнуть необходи­
мость наглядно отобразить, к какому диапазону относится каждое из них. В дальнейшем
это поможет выявить ошибки или документировать свою работу.
Вероятно, вы захотите создать список всех имен (и соответствующих им адресов) рабо­
чей книги. Для того чтобы создать такой список, сначала выделите ячейку в пустой области
рабочего листа (если создать список имен, состоящий из двух столбцов, то он будет ото­
бражаться поверх находящейся в ячейках информации), а затем выберите команду Форму-
лы^Определенные именам Использовать в формуле^ Вставить имена (или нажми­
Глава 3. Имена 101

те клавишу <F3>). Откроется диалоговое окно Вставка имени (рис. 3.9), в котором будут
перечислены все заданные имена. Для того чтобы вставить список имен, щелкните на
кнопке Все имена.

ЖЯк, Предупреждение
н В список имен не входят имена уровня рабо­
чего листа (кроме имен активного листа),
а также скрытые имена.
Список имен, вставленный в рабочий лист, состоит из
двух столбцов. В первом столбце перечислены имена,
а во втором — адреса соответствующих диапазонов. Ад­
реса диапазонов, расположенные во втором столбце спи­
ска, представляют собой строки текста, которые напоми­ Рис. 3.9. Диалоговое окно Встав­
ка имени
нают формулы. Преобразовать такую строку в формулу
можно, отредактировав ячейку (нажмите <F2>, а затем
<Enter>). В результате строка становится формулой. Если имя относится к отдельной
ячейке, формула отображает текущее значение этой ячейки. Если же имя относится
к диапазону, формула возвращает ошибку #ЗН А Ч !.

Перекрестная ссылка
Ошибки в формулах, такие как # з н а ч ! и # с с ы л к а ! , рассматриваются
в главе 21.

Использование имен в формулах


Задав имя ячейки или диапазона, можно использовать его в формулах. Следующая
формула, например, вычисляет сумму значений диапазона П р о д а н о Е д и н и ц :
= СУМ М (П р о д а но Е д и н и ц )

Когда имя, заданное на уровне рабочего листа, используется в формуле того листа,
в котором оно было задано, имя рабочего листа не следует указывать перед именем диа­
пазона. Если такое имя используется в другом листе рабочей книги, необходимо задать
полное имя (имя рабочего листа, восклицательный знак и имя диапазона). Например, ес­
ли П р о д а н о Е д и н и ц — имя, заданное на уровне рабочего листа Л и с т 1 , то формула для
вычисления суммы диапазона на любом другом рабочем листе будет выглядеть так:
= С У М М (Л и с т 1 ! П р о д а н о Е д и н и ц )

Ввод знака равенства активизирует функцию автозавершения, как при вводе от­
крывающей скобки в функции рабочего листа. При этом под активной ячейкой откры­
вается список определенных имен и функций рабочего листа. Для использования
функции автозаполнения вводите имя, пока оно не будет выделено в списке, а затем
нажмите <ТаЬ>, чтобы зафиксировать имя. Можно также использовать клавишу <>1>,
чтобы выбрать имя в списке.
Если в формуле используется несуществующее имя, Excel отобразит ошибку #ИМЯ?,
указывающую на то, что программа не может найти имя, которое вы пытаетесь исполь­
зовать. Зачастую причиной такой ошибки является просто опечатка.
102 Часть I. Основные сведения

Использование операторов пересечения


В качестве оператора пересечения диапазонов в Excel служит единичный символ
пробела. Например, следующая формула используется для вычисления суммы ячеек на
пересечении двух диапазонов — В 1 : С2 0 и А8 : D8:
=СУММ( В 1 : С 2 0 A 8 : D 8 )
Данные диапазоны пересекаются в ячейках В8 и С8.
Оператор пересечения работает и с именованными диапазонами. На рис. 3.10 показана
таблица, содержащая именованные диапазоны для столбцов и строк таблицы. Например, имя
Январь относится к диапазону В2 :Е 2 , а имя С е в е р — к диапазону В2 :В 1 3 . Следующая
формула возвращает содержимое ячейки на пересечении диапазонов Я нварь и С ев ер :
=Январь Север

Рис. 3.10. Эта таблица содержит именованные диапазоны, в которых заданы


названия для столбцов и строк

Используя символ пробела для разделения двух ссылок на диапазоны, вы задаете так
называемое явное пересечение. Это означает, что вы приказываете Excel явно определить
пересечение диапазонов. Программа может находить и неявные пересечения. Неявное
пересечение происходит в том случае, когда Excel выбирает значение из многоячеечного
диапазона, основываясь на строке или столбце формулы, имеющей ссылку. Для того
чтобы разобраться с пересечениями такого типа, рассмотрим конкретный пример. На
рис. 3.11 показана таблица, содержащая именованный диапазон В З : В 8 . В ячейке D5
отображается простая формула, приведенная ниже:
=МоиДанные
Обратите внимание на то, что в ячейке D5 отображено значение из диапазона
МоиДанные, соответствующее строке, в которой расположена формула. Аналогично,
если ввести ту же формулу в строки с 3 по 8, формула вернет соответствующее значение
из диапазона МоиДанные. Excel выполняет неявное пересечение, используя диапазон
МоиДанные и строку, содержащую формулу. Это действие подобно вычислению сле­
дующей формулы:
=МоиДанные 5 : 5
Если ввести формулу в строку, не принадлежащую диапазону МоиДанные, то формула
вернет ошибку, поскольку неявное пересечение в таком случае произойти не может.
Глава 3. Имена 103

Рис. 3.11. Диапазон вз : В8 этого рабочего лис­


та имеет имя МоиДанные. Ячейка D5 демонст­
рирует неявное пересечение

Между прочим, неявные пересечения работают не только с именованными диапазо­


нами. В рассматриваемом нами примере мы получим тот же результат, если в ячейке D5
будет находиться следующая формула (в которой не используется имя диапазона):
=$В$2: $В$8
Если применить имя МоиДанные в качестве аргумента функции, неявное пересече­
ние вычисляется, только когда аргумент состоит из одного значения. Например, если
ввести приведенную ниже формулу в ячейку D3, произойдет неявное пересечение и
формула вернет значение 64 (т.е. два в шестой степени).
=СТЕПЕНЬ (2 ; МоиДанные)
Но если в эту же ячейку ввести следующую формулу, неявного пересечения не будет,
и формула вернет сумму всех значений диапазона МоиДанные:
=СУММ(МоиДанные)

Использование оператора диапазона


Работая с именованными диапазонами, можно использовать оператор диапазона,
в качестве которого в Excel применяется символ двоеточия (:). Вернемся к примеру на
рис. 3.10. Следующая формула возвращает сумму значений ячеек в прямоугольнике, со­
стоящем из столбцов от С е в е р до З а п а д и строк от Я н в а р ь до Март:
=СУММ( (Север Я н в а р ь ) : (З ап а д М а р т ))

Ссылка на отдельную ячейку именованного диапазона


Для того чтобы вернуть значение ячейки диапазона, можно использовать функцию
Excel ИНДЕКС. Предположим, диапазон А 1 : А 5 0 имеет название Д и а п а з о н Д а н н ы х .
Следующая формула возвращает второе значение (значение ячейки А2) диапазона
ДиапазонДанны х:
=ИНДЕКС(ДиапазонДанных;2)
Второй и третий аргументы функции ИНДЕКС — необязательные, однако один из них
всегда должен быть задан. Второй аргумент (используемый в приведенной формуле)
обозначает смещение строки в диапазоне Д и а п а з о н Д а н н ы х .
Если диапазон Д и а п а з о н Д а н н ы х состоит из нескольких ячеек, расположенных в
одной строке, используйте следующую формулу, в которой пропущен второй аргумент
104 Часть I. Основные сведения

функции ИНДЕКС, но задан третий аргумент, определяющий смещение столбца в диапа­


зоне Д и а п а з о н Д а н н ы х .
=ИНДЕКС(ДиапазонДанных;;2)
Если же диапазон состоит из нескольких строк и столбцов, необходимо применить оба
аргумента функции ИНДЕКС. Следующая формула, например, возвращает значение ячейки,
расположенной в четвертой строке и пятом столбце диапазона Д и а п а зо н Д а н н ы х :
=ИНДЕКС(ДиапазонДанных; 4 ; 5 )

Применение имен в уже существующих формулах


После создания имени ячейки или диапазона Excel не будет автоматически заменять
именами ссылки на эту ячейку или диапазон в формулах, созданных ранее. Тем не менее
можно приказать программе использовать новое имя в тех или иных формулах.
Для этого выделите диапазон, содержащий формулы, которые должны быть преобра­
зованы. Затем выберите команду Формулы^Определенные имена^Прйсвоить имя*=>
Применить имена. Откроется диалоговое окно Применение имен (рис. 3.12). В нем
выберите имена, которые нужно использовать в формулах. В формулах будут использо­
ваны только те имена, которые вы указали.

Совет
Для того чтобы применить новое имя ко
всем формулам рабочего листа, выделите
одну ячейку, перед тем как выполнить ко­
манду Применить имена.
Флажок Игнорировать тип ссылки отвечает за то,
как Excel заменяет адрес диапазона именем. Обычно
имя ячейки или диапазона задается как абсолютная
ссылка. Если флажок Игнорировать тип ссылки ус­
тановлен, Excel применит имя только в том случае, ес­
ли ссылка в формуле полностью соответствует типу
диапазона. В большинстве случаев, когда вы приме­
няете имена, удобнее игнорировать тип ссылки.
Если флажок Использовать имена строк и столб- Рис. 3.12. Диалоговое окно Приме-
цов установлен, то при применении имен в формулах нение имен
Excel использует оператор пересечения. Не имея воз­
можности использовать точные имена ячеек, Excel для ссылок на ячейки использует
имена строк и столбцов. Для того чтобы объединить имена, Excel использует оператор
пересечения. Щелчком на кнопке Параметры можно задать несколько дополнительных
параметров, но только при условии, что флажок Использовать имена строк и столб­
цов установлен.

Автоматическое применение имен


при создании формул
Если вставить в формулу ссылку на ячейку или диапазон, указав этот элемент табли­
цы мышью, Excel автоматически заменит адрес ячейки или диапазона именем (в том
случае, если данному элементу присвоено имя).
Глава 3. Имена 105

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

Отмена применения имени


В Excel не предусмотрен специальный метод отмены применения имени. Иными сло­
вами, вы не сможете автоматически заменить имя ячейки или диапазона обычной ссыл­
кой на этот элемент таблицы. Однако существует прием, с помощью которого можно за­
менить имя ссылкой. Для этого нужно установить режим вычислений по правилам
Lotus 1-2-3. Откройте окно параметров программы и перейдите во вкладку Дополни­
тельно. В разделе Совместимость с Lotus установите флажок Клавиши перемеще­
ния, использовавшиеся в Lotus 1-2-3, после чего щелкните на кнопке ОК.
Затем нажмите <F2> для того, чтобы отредактировать формулу, содержащую одно или
несколько имен ячеек или диапазонов. Нажмите <Enter>, и редактирование ячеек будет за­
вершено. Затем вернитесь в диалоговое окно параметров программы и снимите флажок
Клавиши перемещения, использовавшиеся в Lotus 1-2-3. Отредактированная таким
образом ячейка вместо имен будет содержать относительные ссылки на диапазоны.

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

Имена с ошибками
Если удалить строку или столбец, содержащий именованный диапазон или ячейку,
само имя как таковое удалено не будет. Вместо этого в имени будет содержаться некор­
ректная ссылка. К примеру, если ячейка А1 листа Л и с т 1 имеет имя Д и с к о н т , а вы уда­
лили столбец А или строку 1, имя Д и с к о н т будет содержать ссылку = Л и с т 1 ! #ССЫЛ!
(т.е. ошибочную ссылку). Если при этом имя Д и с к о н т используется в какой-либо фор­
муле, результатом формулы тоже будет #ССЫЛ!.
Чтобы не было такой ошибки, нужно в диспетчере имен удалить имя. Кроме того,
можно переопределить имя так, чтобы оно указывало на корректную ячейку.

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

Просмотр именованных диапазонов


Если изменить масштаб изображения до 39% и меньше, вокруг именованных диапа­
зонов появятся имена и границы, отображенные синим цветом (рис. 3.13). На печать эти
имена и границы не выводятся — они предназначены только для того, чтобы вы могли
увидеть именованные диапазоны на экране.
106 Часть I. Основные сведения

Рис. 3.13. Отображение имен диапазонов

Использование имен в диаграммах


При создании диаграммы каждая последовательность данных имеет соответствую­
щую формулу РЯД. Формула РЯД содержит ссылки на диапазоны, используемые в диа­
грамме. Если в диаграмме используется именованный диапазон, можно отредактировать
формулу РЯД, заменив ссылку именем диапазона.

Перекрестная ссылка
Дополнительная информация о диаграммах приведена в главе 17.

Поддержка имен ячеек и диапазонов


В процессе редактирования рабочего листа Excel автоматически поддерживает соз­
данные вами имена ячеек и диапазонов. В следующих примерах мы будем рассматривать
рабочий лист Л и с т 1 , который содержит имя М о й Д и а п а з о н , ссылающееся на диапазон
из девяти ячеек и заданное на уровне рабочей книги:
= Л и с т 1 ! $ С $ 3 : $Е$5

Вставка строки или столбца


При вставке строки выше именованного диапазона или столбца слева от именованно­
го диапазона Excel автоматически изменяет ссылку на этот диапазон так, чтобы она со­
ответствовала новому адресу диапазона. Например, если вставить новую строку 1, имя
М о й Д и а п а з о н будет ссылаться на = Л и с т 1 ! $С $4 : $Е$6.
Если вставить новую строку или столбец в именованный диапазон, этот диапазон расши­
рится и будет включать в себя новые строки или столбцы. Например, если вставить новый
столбец слева от столбца Е, имя М ой Д и ап азон будет относиться к = Л и с т 1 ! $С$3 : $F$5.

Удаление строки или столбца


При удалении строки, расположенной выше именованного диапазона, или столбца
слева от именованного диапазона Excel автоматически изменяет ссылку на этот диапазон
так, чтобы она соответствовала новому адресу диапазона. Например, если удалить стро­
ку 1, имя М о й Д и а п а з о н будет относиться к = Л и с т 1 ! $С $2 : $ Е $ 4 .
Глава 3. Имена 107

Если удалить строку или столбец внутри именованного диапазона, этот диапазон изме­
нится соответствующим образом. Например, если удалить столбец D, имя М о й Д и а п а з о н
будет относиться к = Л и с т 1 1$С $3 : $D $5.
Если удалить все строки и ячейки, составляющие именованный диапазон, именован­
ный диапазон будет продолжать существовать, однако ссылка на него будет содержать
ошибку. Например, удалите столбцы С, D, Е, и имя М о й Д и а п а з о н будет ссылаться на
= Л и с т 1 ! #ССЫЛКА! . Все формулы, в которых использовалось это имя, тоже будут воз­
вращать ошибки.

Вырезание и вставка именованного диапазона


Когда вы вырезаете и вставляете именованный диапазон целиком, Excel изменяет
ссылку соответствующим образом. Например, переместите диапазон М о й Д и а п а з о н
в другую часть листа, начинающегося с ячейки А1, и имя М о й Д и а п а з о н будет сопос­
тавлено ссылке = Л и с т 1 ! $ А $ 1 : $С $3. Если вырезать и вставить только часть именован­
ного диапазона, ссылка не изменится.

Потенциальные проблемы с именами


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

Проблемы, возникающие при копировании


рабочих листов
Как вы, вероятно, знаете, Excel позволяет копировать рабочие листы в пределах ра­
бочей книги, а также в другую рабочую книгу. Прежде всего, мы рассмотрим пример ко­
пирования рабочего листа в пределах рабочей книги. Если копируемый лист содержит
имена, заданные на уровне рабочего листа, те же имена будут присутствовать и в копии
этого листа, причем в ссылках используется имя нового рабочего листа. Это именно то,
чего вы ожидаете. Если же рабочая книга содержит имя, заданное на уровне рабочей
книги, и данное имя относится к ячейке или диапазону копируемого рабочего листа, то
оно также будет присутствовать и в копии. Однако это имя будет преобразовано в имя,
заданное на уровне рабочего листа (чего вы, скорее всего, не ожидаете).
Рассмотрим рабочую книгу, содержащую один лист (Л и с т 1 ) . В ней присутствует имя
ИмяКниги, назначенное ячейке А1 на уровне рабочей книги. Кроме того, существует
еще одно и м я — Л и с т 1 ! Л о к а л ь н о е И м я , назначенное ячейке А2 на уровне рабочего
листа. Если создать копию листа Л и с т 1 в пределах рабочей книги, новый лист будет на­
зываться Л и с т 1 ( 2 ) . Скопируйте лист, и вы обнаружите, что теперь рабочая книга со­
держит четыре имени (рис. 3.14).
Такое увеличение количества имен при копировании листа не только сбивает с толку,
но и может привести к ошибкам, найти причину возникновения которых бывает непро­
сто. Если в рассматриваемом нами примере ввести следующую формулу в скопирован­
ный лист, формула вернет содержимое ячейки А1 скопированного листа:
=ИмяКниги
108 Часть I. Основные сведения

Рис. 3.14. Копирование рабочего листа приводит к созда­


нию дубликатов имен

Иными словами, используется вновь созданное на уровне рабочего листа имя (а не


исходное имя, заданное на уровне рабочей книги).
Если скопировать лист рабочей книги, которая содержит имя диапазона, относящего­
ся к нескольким листам, вместе с этим рабочим листом будет скопировано и имя диапа­
зона. В поле Диапазон появится сообщение об ошибке #ССЫЛКА!.
Если же лист копируется в другую рабочую книгу, все имена исходной рабочей кни­
ги, относящиеся к ячейкам копируемого листа, будут скопированы в новую книгу. Это
касается как имен, заданных на уровне рабочей книги, так и имен, заданных на уровне
рабочего листа.

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

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


При удалении листа, который содержит ячейки, используемые в заданном на уровне
рабочей книги имени, имя не удаляется. Оно остается в рабочей книге, но ссылка на
ячейку или диапазон в поле Формула будет содержать ошибку.
На рис. 3.15 показано диалоговое окно диспетчера имен, в котором присутствует имя
с ошибкой. Исходная рабочая книга содержала лист Л и с т 1 и ячейку А1 с именем
ИмяКниги, заданным на уровне рабочей книги. После удаления листа Л и с т 1 имя
ИмяКниги осталось в рабочей книге. Однако в поле Диапазон диалогового окна При­
своение имени появилось следующее выражение:
=#ССЫЛКА! $А$1
Обычно ошибочные имена в рабочей книге не вызывают каких-либо проблем, и все же
рекомендуется удалять или корректировать все имена, содержащие ошибочные ссылки.
Глава 3. Имена 109

Рис. 3.15. Удаление листа, содержащего диапазон М о й ­


Диапазон, приводит к появлению ошибочной ссылки

Именование объектов
Когда вы добавляете на рабочий лист объект, присваиваемое ему по умолчанию имя
отражает ТИП объекта (например, Прямоугольник!.).
Чтобы изменить имя объекта, выделите нужный объект, введите новое имя в поле
Имя и нажмите <Enter>. Исключение составляют диаграммы. В этом случае необходи­
мо выделить диаграмму, и в контекстной вкладке Работа с диаграммами^Макет вы­
брать команду Свойства.
Поле Имя в Excel имеет некоторые особенности: с его помощью можно переимено­
вать объект, однако список объектов в этом окне не отображается. Более того, Excel по­
зволяет задавать диапазонам имена, уже присвоенные объектам, при этом несколько
объектов могут иметь одно и то же имя. В диалоговом окне Диспетчер имен имена объ­
ектов не отображаются.

Ключ к пониманию термина “имя”


Пользователи Excel час^го обращаются к именованным ячейкам и именованным диа­
пазонам. В этой главе мы постоянно оперируем этими понятиями, однако данные терми­
ны не совсем точны.
Что мы подразумеваем под термином имя! Присваивая имя, вы в действительности
создаете именованную формулу. В отличие от обычной формулы, именованная формула
хранится не в ячейке, а в памяти Excel.
Если вы будете исходить из такой формулировки, вам будет легче овладеть сложны­
ми приемами, о которых пойдет речь в следующих разделах.
При работе в диалоговом окне диспетчера имен поле Диапазон содержит формулу,
а поле Имя — ее имя. Вы уже заметили, что содержимое поля Диапазон всегда начина­
ется со знака равенства, что свойственно формулам.
Как видно на рис. 3.16, рабочая книга содержит имя С т а в к а , присвоенное ячейке В1
листа Л и с т 1 . В поле Диапазон присутствует следующая запись:
=Лист1! $В$1
При обращении к имени С т а в к а Excel в действительности вычисляет формулу, ко­
торая носит это имя, и возвращает результат. Например, можно ввести в ячейку следую­
щую формулу:
=Ставка*1, 0 5
110 Часть I. Основные сведения

Оценивая эту формулу, Excel, прежде всего, анализирует формулу, которая носит имя
С т а в к а (оно существует только в памяти программы, а не в ячейке). Затем Excel умно­
жает результат именованной формулы на 1 , 0 5 и возвращает результат. Разумеется,
приведенная выше формула равноценна формуле, в которой вместо имени используется
ссылка на ячейку:
= Л и с т 1 ! $ В $ 1 * 1 , 05
Возникает вопрос: можно ли создать такую именованную формулу, которая бы не со­
держала ссылок на ячейки? Ответ на него вы найдете в следующем разделе.

Присвоение имени константе


Рассмотрим таблицу, с помощью которой создается счет и вычисляется сумма налога
для указанного объема продаж. Ставку налога с оборота вставьте в ячейку и ссылку на
эту ячейку используйте в различных формулах. Для того чтобы было понятно, что за ве­
личина указана в ячейке, присвойте этой ячейке имя С т а в к а Н а л о г а .
Существует еще один способ. На рис. 3.17 представлен результат выполнения сле­
дующих инструкций.
1. Выберите команду Формулы«=>Определенные именам Присвоить имя^Присво-
ить имя. Откроется диалоговое окно Создание имени.
2. Введите имя (в данном случае С т а в к а Н а л о г а ) в поле Имя.
3. Перейдите в поле Диапазон, удалите содержащуюся в нем запись и вместо нее
введите простую формулу, такую как = 0 , 0 7 5 .
4. Щелкните на кнопке ОК, для того чтобы закрыть диалоговое окно.

Рис. 3.16. Формально имя Ставка Рис. 3.17. Присвоение имени константе
представляет собой именованную
формулу, а не именованную ячейку

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


в которой не используются ссылки на ячейки. Чтобы проверить все вышеизложенное на
практике, введем в любую ячейку такую формулу:
=СтавкаНалога
Эта простая формула возвращает 0 , 0 7 5 — результат именованной формулы
С т а в к а Н а л о г а . Поскольку именованная формула всегда возвращает один и тот же ре­
зультат, ее можно считать именованной константой. Эта константа может быть исполь­
зована и в более сложных формулах, например:
=А1*СтавкаНалога
Глава 3. Имена 111

Если не изменять область действия, установленную по умолчанию на уровень книги,


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

Присвоение имени текстовым константам


В предыдущем примере константа представляла собой числовое значение. Однако
константа может также состоять из текста. Например, можно определить константу для
названия компании. Для создания следующей формулы, которая называется MS, исполь­
зуется диалоговое окно Создание имени:
= " M ic r o s o f t C o r p o r a t i o n "
Теперь в любой ячейке можно использовать такую формулу:
="Годовой о т ч е т : "&MS
Данная формула вернет текст Г о д о в о й о т ч е т : M i c r o s o f t C o r p o r a t i o n .

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

Использование функций рабочего листа


в именованных формулах
На рис. 3.18 приведен еще один пример именованной формулы. В данном случае
формула будет называться Т е к ущ и й М ес я ц и иметь следующий вид:
=МЕСЯЦ(СЕГОДНЯ( ) )
В формуле, показанной на рис. 3.16, были использованы две функции рабочего листа.
Функция СЕГОДНЯ возвращает текущую дату, а функция МЕСЯЦ — номер месяца аргу­
мента даты. Таким образом, вы можете ввести в ячейку следующую формулу, которая
будет возвращать номер текущего месяца. Например, если текущий месяц— апрель,
формула будет возвращать 4.
=ТекущийМесяц
Более эффективная именованная формула будет возвращать название месяца в тек­
стовой форме. Такая формула, называющаяся И м яМ есяца, будет выглядеть следующим
образом:
=ТЕКСТ(СЕГОДНЯ( ) ; "ММММ")
112 Часть I. Основные сведения

Перекрестная ссылка
Детально функция т е к с т () рассматривается в главе 5.

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

Использование ссылок на ячейки и диапазоны


в именованных формулах
На рис. 3.19 приведен еще один пример создания именованной формулы. На этот раз
в формуле используется ссылка на ячейку. Эта формула, которая называется П ервы й-
Символ, возвращает первый символ, содержащийся в ячейке А1 листа Л и ст1. Имено­
ванная формула выглядит так:
= Л Е В С И М В ( Л и с т ! ! $ А $ 1 ;1 )

Рис. 3.18. Создание именованной Рис. 3.19. Создание именованной


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

Создайте такую именованную формулу, и вы сможете ввести ее в ячейку. Формула


всегда возвращает первый символ, содержащийся в ячейке А 1 листа Л и с т 1 .
=ПервыйСимвол

В следующей именованной формуле, которую мы рассмотрим, используется ссылка


на диапазон. На рис. 3.20 показано диалоговое окно Создание имени, в котором задана
именованная формула под именем И т о г .
= С У М М ( Л и с т 1 !$ А $ 1 :$ D $ 4 )

Создав такую именованную формулу, можно ввести ее в ячейку любого рабочего


листа. Формула возвращает сумму значений ячеек диапазона А 1 :D 4 листа Л и с т 1 .
= И т о г

Обратите внимание на то, что в двух предыдущих формулах использовались абсо­


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

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


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

Использование относительной ссылки на ячейку


Начнем с простого примера. Для того чтобы создать именованную формулу с относи­
тельной ссылкой на ячейку, выполните следующее.
1. Откройте пустой рабочий лист.
2. Выделите ячейку А1 (этот шаг очень важен).
3. Откройте диалоговое окно Создание имени.
4. В поле Имя открывшегося окна введите ЯчейкаСправа.
5. Удалите содержимое поля Диапазон и введите следующую формулу (не указы­
вая ячейку рабочего листа мышью):
= Л и с т 1 ! В1
6. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно Создание имени.
7. Введите в ячейку В1 необходимую информацию.
8. В ячейку А1 введите следующую формулу:
=ЯчейкаСправа
Вы обнаружите, что формула, расположенная в ячейке А1, возвращает содержи­
мое ячейки В1.
Теперь скопируйте формулу ячейки А1 в несколько ячеек, расположенных под ней,
и введите произвольные значения в столбец В. Вы увидите, что формула, находящаяся
в столбце А, возвращает содержимое ячейки, расположенной справа. Иными словами,
именованная формула Я ч е й к а С п р а в а имеет относительный характер.
Имя Я ч е й к а С п р а в а может быть использовано в любой ячейке (а не только в ячей­
ках столбца А). Например, если ввести = Я ч е й к а С п р а в а в ячейку D 12, эта ячейка будет
возвращать содержимое ячейки Е 12.
Для того чтобы убедиться в том, что в именованной формуле Я ч е й к а С п р а в а дейст­
вительно используется относительная ссылка на ячейку, активизируйте любую ячейку,
кроме А1, и откройте диалоговое окно Присвоение имени (рис. 3.21). В списке выбери­
те Я ч е й к а С п р а в а и обратите внимание на содержимое поля Диапазон. Вы увидите,
что изменение формулы зависит от активной в данный момент ячейки. Например, если
активна ячейка Е5, формула в диалоговом окне будет выглядеть так:
=Лист1! F5
Если имя Я ч е й к а С п р а в а используется в другом рабочем листе, формула все равно
будет ссылаться на ячейку, расположенную справа. Но это будет ячейка с соответствую­
щим адресом на листе Л и с т 1 . Дело в том, что именованная формула содержит ссылку
на рабочий лист. Для того чтобы формула правильно работала на любом рабочем листе,
измените ее, следуя инструкциям.
114 Часть I. Основные сведения

Рис. 3.20. Создание именованной Рис. 3.21. Формула под именем Ячей-
формулы, в которой используется каСправа изменяется в зависимо­
ссылка на диапазон сти от того, какая ячейка активна в
данный момент

1. Активизируйте ячейку А1 рабочего листа Л и с т 1 .


2. Откройте диалоговое окно Диспетчер имен.
3. В списке диалогового окна диспетчера имен выберите элемент Я ч е й к а С п р а в а .
4. Удалите содержимое поля Диапазон и введите следующую формулу:
= ! В1
5. Щелкните на ОК, чтобы закрыть диспетчер имен.
Измените ссылку таким образом, и вы убедитесь, что теперь формула под именем
Я ч е й к а С п р а в а корректно работает во всех листах рабочей книги.

Примечание
Именованная формула ЯчейкаСправа не будет работать, если она исполь­
зуется в формуле, расположенной в столбце x f d , поскольку в этом случае
формула ссылается на несуществующую ячейку (справа от столбца xfd
столбцов больше нет).

Использование относительной ссылки на диапазон


Следующий пример основан на предыдущем. Речь пойдет о создании именованной
формулы, которая возвращает сумму десяти ячеек, расположенных справа от определен­
ной ячейки. Для того чтобы создать такую именованную формулу, следуйте приведен­
ным ниже инструкциям.
1. Активизируйте ячейку А1 .
2. Откройте диалоговое окно Создание имени.
3. В поле Имя открывшегося окна введите СуммаЮЯчеек.
4. Введите следующую формулу в поле Диапазон:
=СУММ(!В1: !К1)

Создав именованную формулу, можно ввести следующую формулу в любую ячейку лю­
бого листа, и эта формула будет возвращать сумму десяти ячеек, расположенных справа:
=Сумма1ОЯчеек
Например, если ввести такую формулу в ячейку D12, она будет возвращать сумму
значений диапазона Е12 : N12, состоящего из десяти ячеек.
Глава 3. Имена 115

Обратите внимание на то, что, когда вы создавали именованную формулу, активной


была ячейка А1, поэтому относительные ссылки в определении формулы заданы относи­
тельно ячейки А1. Заметьте также, что в формуле не использовано имя рабочего листа.
Отсутствие имени рабочего листа (при условии, что в формулу включен восклицатель­
ный знак) говорит о том, что эту формулу можно использовать на любом листе.
Если активизировать ячейку D12, а затем открыть диалоговое окно Создание име­
ни, то в поле Диапазон для формулы под именем СуммаЮ Ячеек будет приведена сле­
дующая запись:
=СУММ( ! Е12 : 1N12)

Примечание
Именованная формула СуммаЮЯчеек не будет работать, если ввести ее
в ячейку, которая располагается в столбце, следующем за столбцом х е т .
В таком случае формула становится ошибочной, поскольку в ней появляется
ссылка на несуществующую ячейку, расположенную за пределами столбца x f d .

Использование смешанных ссылок на диапазоны


Как уже отмечалось в главе 2, ссылка может быть абсолютной, относительной или
смешанной. Смешанная ссылка на ячейку может состоять из следующих элементов:
• абсолютная ссылка на столбец и относительная ссылка на строку (например, $А1);
• относительная ссылка на столбец и абсолютная ссылка на строку (например, А$ 1).
Смешанные ссылки могут использоваться в именованных формулах. Применим такую
ссылку на практике. Активизируйте ячейку В1. В диалоговом окне Создание имени создай­
те формулу под именем ПерваяВСтроке. Определение формулы должно выглядеть так:
=! $А1
В этой формуле использована абсолютная ссылка на столбец и относительная ссылка
на строку. Следовательно, формула всегда возвращает значение, заданное в столбце А.
Строка зависит от того, в какой ячейке введена формула. Например, если ввести сле­
дующую формулу в ячейку F12, она вернет значение ячейки А12:
=ПерваяВСтроке

Примечание
© Формулу ПерваяВСтроке нельзя использовать в столбце а , поскольку будет
создана циклическая ссылка. Формула в данном случае будет ссылаться са­
ма на себя.

Решение сложных задач с помощью формул


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

Функция двссыл и именованный диапазон


Функция ДВССЫЛ позволяет определять адрес ячейки косвенно. Например, если ячейка А1
содержит текст " С4 5 11, следующая формула будет возвращать содержимое ячейки С4 5:
=ДВССЫЛ (А1)
116 Часть I. Основные сведения

Функция ДВССЫЛ может использоваться и в работе с именованными диапазонами. На


рис. 3.22 представлена таблица с 12 именами диапазонов, соответствующими названиям
месяцев года. Например, имя Я н в а р ь относится к диапазону В 2 : Е 2 . Ячейка В 16 со­
держит такую формулу:
=СУММ(ДВССЫЛ(А16))
Эта формула возвращает сумму именованного диапазона, имя которого задано в тек­
стовой форме в ячейке А16.

Рис. 3.22. Использование функции двссыл при работе


с именованным диапазоном

Совет
Команду Данные1^Работа с данными^Проверка данных можно использовать
для вставки раскрывающегося списка в ячейку А1б. В поле Тип данных от­
крывшегося окна выберите пункт Список, а в поле Источник введите диапа­
зон А2 : А 13 . Теперь пользователь сможет выбрать название месяца из спи­
ска, а итоговое значение для месяца будет отображаться в ячейке В16.
Используя функцию ДВССЫЛ, можно ссылаться и на имена уровня рабочего листа.
Предположим, что вы работаете с рабочими листами О б л а с т ь 1, О б л а с т ь 2 и т.д. Каж­
дый лист содержит имя И т о г и П р о д а ж , заданное на уровне рабочего листа. Следующая
формула извлекает значение из соответствующего рабочего листа, используя имя листа,
заданное в ячейке А1:
=ДВССЫЛ (А1&" !ИтогиПродаж")

Использование функции ДВССЫЛ д ля создания


именованного диапазона с фиксированным адресом
В Excel можно создать имя, которое всегда ссылается на одну и ту же ячейку или
диапазон даже в том случае, если вы вставите новые строки или столбцы. Предположим,
нужно создать диапазон под именем Л е в ы й В е р х н и й , который всегда ссылается на
ячейку А1. Если создать имя обычным способом, вставка новой строки 1 приведет к то­
му, что диапазон Л е в ы й В е р х н и й будет ссылаться на ячейку А2. Вставка нового столбца
приведет к тому, что диапазон Л е в ы й В е р х н и й будет ссылаться на ячейку В2. Для соз­
Глава 3. Имена 117

дания именованного диапазона, который имеет фиксированный адрес, необходимо за­


дать именованную формулу, содержащую в поле Диапазон следующее выражение:
=ДВССЫЛ ( " $А$ 1" )
Если создать такую формулу, диапазон Л е в ы й В е р х н и й будет ссылаться на ячейку
А1 даже после вставки новых строк и столбцов. Функция ДВССЫЛ предыдущей формулы
позволяет задать адрес ячейки косвенно с помощью текстового аргумента. Поскольку
аргумент заключен в кавычки, он никогда не изменяется.

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


Массив— это набор элементов. Массив может быть вертикальным (состоящим из
одного столбца) или горизонтальным (состоящим из одной строки). Массивом может
быть также совокупность нескольких столбцов и строк.

Перекрестная ссылка
В части IV подробно описаны массивы и формулы массивов. Однако эта те­
ма имеет отношение и к именам.
Задать массив можно с помощью фигурных скобок. Каждый элемент массива отделя­
ется запятой или точкой с запятой. Запятая используется для разделения элементов, рас­
положенных вертикально, а точка с запятой — для разделения элементов, находящихся
горизонтально.
В диалоговом окне Создание имени можно создать формулу И м е н а М е с я ц е в , ко­
торая имеет такое определение:
= { "Я н в 11; " Ф е в " ; "Мар" ; " А п р " ; "М ай" ; "Июн" ; "Июл" ; " А в г " ;
"Сен"; "Окт"; "Ноя"; "Дек"}
Эта формула определяет массив, который состоит из 12 текстовых строк, располо­
женных горизонтально.

Примечание
Вводя такую формулу, не забудьте о фигурных скобках. В диалоговое окно
Создание имени формула массива вводится не так, как в ячейку.
Определив формулу И м е н а М е с я ц е в , ее можно использовать в других формулах.
Однако в конечной формуле необходимо обозначить, какой из элементов массива ис­
пользуется. Для этого рекомендуется применить функцию ИНДЕКС. К примеру, следую­
щая формула возвращает текст " А в г 11:
= И НДЕКС(Им енаМ есяцев; 8 )

Можно отобразить и весь массив, состоящий из 12 элементов, но для этого потребу­


ется 12 смежных ячеек. Для того чтобы ввести 12 элементов массива в диапазон А 1 : L1,
следуйте приведенным ниже инструкциям.
1. В диалоговом окне Создание имени создайте формулу с именем И м е н а -
М есяцев.
2. Выделите диапазон А 1 : L1.
3. В строку формул введите =ИменаМесяцев.
4. Нажмите комбинацию клавиш <Ctrl+Shift+Enter>.
118 Часть I. Основные сведения

При нажатии <Ctrl+Shift+Enter> Excel вставляет формулу массива в выделенный диа­


пазон. В данном случае формула будет введена в 12 смежных ячеек (рис. 3.23). Про­
грамма заключает формулу массива в скобки, напоминая вам, что это специфическая
формула. В каждой из 12 ячеек диапазона A I : L1 формула будет иметь следующий вид:
{ =ИменаМесяцев}

Рис. 3.23. Именованную формулу, которая содержит массив из 12 элементов, можно


разместить в 12 смежных ячейках

Создание формулы с динамическим размером


Динамическая формула — это формула, относящаяся к диапазону, размер которого
не фиксирован. Вероятно, осмыслить новое понятие непросто. Рассмотрим пример.
Обратите внимание на таблицу, показанную на рис. 3.24. Эта таблица содержит све­
дения об объеме продаж за период с января по май.
Предположим, нужно присвоить имя О б ъ е м П р о д а ж
диапазону данных, расположенных в столбце В. При этом
имя не должно относиться к пустым ячейкам. Иными
словами, ссылка на диапазон О б ъ е м П р о д а ж будет ме­
няться каждый месяц, по мере ввода новых данных. Ра­
зумеется, можно изменять ссылку вручную каждый месяц
с помощью диалогового окна Создание имени, однако
гораздо эффективнее использовать динамическую фор­
мулу, которая будет автоматически меняться с каждым
последующим вводом данных.
Рис. 3.24. Динамическая фор­
Прежде чем задать динамическую формулу, создайте мула может использоваться для
таблицу, показанную на рис. 3.24. Затем выполните сле­ ввода данных в столбец в
дующие действия.
1. Откройте диалоговое окно Создание имени.
2. В поле Имя введите ОбъемПродаж.
3. В поле Диапазон введите следующую формулу:
=СМЕЩ(Лист1! $ В $ 1 ; 0 ; 0 ; СЧЁТЗ(Лист1! $ В : $ В ) ;1)
4. Щелкните на кнопке ОК, чтобы закрыть диалоговое окно Создание имени.
В результате выполнения этих действий создается формула, в которой используются
функции СМЕЩ и СЧЁТЗ.

Примечание
В формуле предполагается, что диапазон не содержит пустых ячеек. Напри­
мер, если ячейка В2 пустая, функция с ч ё т з пропустит ее и в результате
функция счёт вернет неправильный диапазон.
Глава 3. Имена 119

Для того чтобы проверить, как работает эта формула, введите следующую формулу
в любую ячейку, которая не расположена в столбце В:
=СУММ(ОбъемПродаж)
Эта формула вернет сумму значений столбца В. Обратите внимание на то, что О бъем-
Продаж не отображается ни в поле Имя, ни в диалоговом окне Переход. Для того чтобы
выбрать диапазон, откройте диалоговое окно Переход и введите ОбъемПродаж вручную.
Напрашивается вопрос: зачем все эти трудности? Ведь и простая формула, приведен­
ная ниже, сделает все, что необходимо:
=СУММ( В : В)
Эффективность работы именованных формул с динамическим размером становится
очевидной при создании диаграмм. С помощью таких формул можно создать диаграмму
с наборами данных, которые автоматически изменяются при вводе новых сведений.

Перекрестная ссылка
Использование таблиц для хранения данных часто устраняет необходимость
создания динамических диапазонов. Таблицы рассматриваются в главе 9.
Часть

Использование функций
в формулах

В этой части...
Глава 4
Знакомство с функциями рабочего листа
Глава 5
Работа с текстом
Глава 6
Дата и время
Глава 7
Способы суммирования и подсчета данных
Глава 8
Поиск данных
Глава 9
Базы данных и таблицы листа
Глава 10
Дополнительные виды вычислений
Глава

Знакомство с функциями
рабочего листа
Вэтой главе...
♦ Что такое функция
♦ Типы аргументов функций
♦ Способы ввода функций в формулу
♦ Категории функций

Для того чтобы в совершенстве овладеть искусством работы с формулами в Excel,


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

Что такое функция


Функция — это встроенный инструмент вычисления, используемый в формуле. Она
принимает один или несколько аргументов и возвращает результат. Функция СУММ, на­
пример, принимает аргумент диапазона и возвращает сумму его значений.
С помощью функций можно выполнять следующие действия:
• упрощать формулы;
• производить вычисления, которые невозможно осуществить без функций;
• ускорять выполнение некоторых задач редактирования; .
• реализовать условное выполнение формул.
Примеры, приведенные в следующих разделах, иллюстрируют эти положения.
124 Часть II. Использование функций в формулах

Упрощение формулы
Иногда использование встроенных функций позволяет существенно упростить формулу.
Предположим, нужно вычислить среднее арифметическое значений десяти ячеек ( А 1 : А10).
Без использования функций вам пришлось бы создать примерно следующую формулу:
= (А1+А2+АЗ+А4+А5+А6+А7+А8+А9+А10) / 1 0
Громоздко, не правда ли? Более того, если впоследствии диапазон суммируемых зна­
чений будет увеличен, вам придется редактировать эту формулу. Однако ее можно заме­
нить более простой, в которой будет использована одна из встроенных функций рабочего
листа Excel. В приведенной ниже формуле используется функция СРЗНАЧ:
=СРЗНАЧ(А1:А 1 0 )

Вычисления, невозможные без функций


Функции позволяют выполнять такие вычисления, которые без их использования не­
возможны. Допустим, требуется определить наибольшее значение диапазона. Формула,
в которой не используются функции, не сможет решить такую задачу. В следующем
примере функция МАКС используется для возвращения формулой наибольшего значения
диапазона А 1 : D10 0:
=МАКС(А 1 : D10 0)

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


В некоторых случаях функции позволяют избежать редактирования вручную. Предпо­
ложим, что в ячейках диапазона А 1 : А 1 0 0 0 содержится 1000 имен, каждое из которых
полностью записано символами верхнего регистра. Увидев такой список имен, ваш началь­
ник заявит, что в письме, которое должно содержать эти имена, запись имени символами
верхнего регистра совершенно неприемлема. Например, вместо “JOHN F. CRANE” должно
быть “John F. Crane”. Вы, конечно, можете посвятить остаток рабочего дня редактирова­
нию каждого из имен вручную. Однако намного проще создать формулу, в которой ис­
пользуется функция ПРОПНАЧ — она преобразует текст ячейки А1 в нужный формат:
=ПРОПНАЧ(А1)

1. Введите эту формулу в ячейку В1, а затем скопируйте ее в следующие 999 строк.
2. Выделите диапазон В 1 : В 1 0 0 0 и скопируйте его в буфер обмена с помощью ко­
манды Копировать вкладки Главная или нажав клавиши <Ctrl+C>.
3. Активизируйте ячейку А1 и преобразуйте формулы в значения, выбрав команду
Главная^ Буфер обмена^Вставить^Вставить значения.
4. Удалите столбец В.
Таким образом, в приведенном примере использование встроенной функции Excel
позволило сэкономить несколько часов драгоценного времени.

Принятие решений
Функции предоставляют формулам возможность принятия решений. Предположим, у
вас есть таблица, предназначенная для вычисления комиссионных с продажи. Если ме­
неджер продает товар на сумму, превышающую 100 тысяч долларов, ставка комиссион­
Глава 4. Знакомство с функциями рабочего листа 125

ного вознаграждения равна 7,5%. В противном случае комиссионное вознаграждение со­


ставляет 5,0% от суммы продаж. Если вы не примените функцию, вам придется создать
две разные формулы, и затем для каждого отдельного случая решать, какую формулу
следует использовать. Обратите внимание на следующую формулу, в которой использу­
ется функция ЕСЛИ. Формула проверяет значение в ячейке А1, а затем производит соот­
ветствующие вычисления:
=ЕСЛИ( А1<10 0 0 0 0 ; А 1 * 5 % ; А 1 * 7 ,5%)
Функция ЕСЛИ принимает три аргумента, разделенные точками с запятыми. Это
входные аргументы функции. Благодаря функции формула принимает решение: если
первый аргумент равен значению ИСТИНА, возвращается второй аргумент, в противном
случае — третий.

Еще несколько слов о функциях


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

Перекрестная ссылка
Создание пользовательских функций на VBA рассматривается в части VI.

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


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

Перекрестная ссылка
В приложении А содержится полный список функций Excel с кратким описа­
нием каждой из них.

Типы аргументов функций


При рассмотрении приведенных эыше примеров вы, наверняка, заметили, что в каж­
дой из функций используется пара скобок. Информация, приведенная в скобках, называ­
ется аргументами функции. Количество аргументов в разных функциях не одинаково.
Функция может:
• не иметь ни одного аргумента;
• иметь один аргумент;
• иметь фиксированное количество аргументов;
• иметь неограниченное количество аргументов;
• иметь необязательные аргументы.
Например, функция СЛЧИС, которая возвращает случайное число между нулем
и единицей, не имеет аргументов. Но даже при отсутствии аргументов необходимо вве­
сти пустую пару скобок:
=слчис ()
126 Часть II. Использование функций в формулах

Если функция имеет больше одного аргумента, то все они отделяются друг от друга
точкой с запятой. В функции НАИБОЛЬШИЙ, которая возвращает и-ое по величине значе­
ние из множества данных, используются два аргумента. Первый из них задает диапазон
значений, а второй — значение п. Приведенная ниже формула возвращает третье по ве­
личине значение ячеек диапазона А 1 : А100:
=НАИБОЛЬШИЙ(А 1 :А10 0 ; 3 )

Примечание
Символы разделителей определяются в окне региональных стандартов Win­
dows. Если в этом окне установлен русский формат, разделителем списка
служит точка с запятой, а десятичным разделителем — запятая. Если же ус­
тановлен формат США, разделителем списка будет запятая, а десятичным
разделителем — точка. Переключите формат в Windows, и вы увидите, что
символы разделителей в формулах автоматически изменятся. Обязательно
переключите формат обратно, потому что в данной книге предполагается,
что установлен русский формат. Кроме разделителей, установленный фор­
мат влияет на отображение дат, времени, денежных значений и т.д.

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


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

В помощь пользователям, работавшим в Lotus 1-2-3


Если вам приходилось работать в одной из версий Lotus 1-2-3 (или Quattro Pro ком­
пании Corel), то вы, наверное, помните, что в этих электронных таблицах перед именем
функции должен стоять символ @. Excel — достаточно сообразительная программа —
она способна распознать функцию и без отличительного символа.
От старых привычек трудно избавиться, и поэтому Excel воспринимает символы @
при вводе формул. Как только вы введете формулу, символ @будет удален.
В качестве оператора ссылки на диапазон в Lotus 1-2-3 и Quattro Pro используются
две точки ( . . ) , например A i . . а ю . Excel позволяет использовать такой оператор при
вводе формулы. Однако как только формула будет введена, Excel заменит его собст­
венным оператором ссылки на диапазон — двоеточием (:).
На этом уступки пользователям, которые еще не успели адаптироваться к Excel, за­
канчиваются. В Excel могут использоваться только стандартные имена функций; про­
грамма не воспринимает и не преобразует имена, принятые в аналогичных средствах
создания электронных таблиц. Например, если ввести используемую в Lotus 1-2-3
функцию @a v g , Excel сгенерирует сообщение об ошибке (в Excel аналогичная функция
носит название с р з н а ч ).

Использование имен в качестве аргументов


В качестве аргументов функций могут использоваться имена, т.е. ссылки на ячейки
и диапазоны. Выполняя вычисления, Excel просто использует текущее содержимое ячейки
или диапазона. Функция СУММ возвращает сумму своих аргументов (или аргумента). На­
пример, вычислить сумму значений диапазона А 1 : А20 можно с помощью такой формулы:
=СУММ(А1:А 2 0 )
Глава 4. Знакомство с функциями рабочего листа 127

Если диапазон А 1 : А2 0 имеет имя (например, Продажи), то оно может быть исполь­
зовано вместо ссылки на диапазон:
=СУММ(Продажи)

Перекрестная ссылка
За подробной информацией о том, как определять и применять имена, об­
ратитесь к главе 3.

Использование столбцов и строк в качестве аргументов


Иногда в качестве аргумента функции удобно использовать строку или столбец пол­
ностью. К примеру, следующая формула возвращает сумму всех значений столбца В:
=СУММ(В : В)
Ссылки на целую строку или столбец особенно эффективны в тех случаях, если диа­
пазон, сумму значений которого следует вычислить, постоянно изменяется (например,
если в таблицу периодически вносятся новые данные об объемах продаж). Прежде чем
использовать ссылку на целую строку или столбец, убедитесь в том, что они не содержат
данных, которые не должны быть включены в сумму.
Не следует беспокоиться о том, что суммирование такого громадного диапазона зна­
чений (столбец, например, состоит из 1 048 576 ячеек) может увеличить время вычисле­
ния. Дело в том, что Excel “помнит”, в каком столбце и в какой строке располагается по­
следнее значение. Поэтому, вычисляя результат формулы с помощью ссылки на целую
строку или столбец, программа не будет принимать в расчет ячейки, выходящие за пре­
делы последнего использованного столбца и строки.

Использование литералов в качестве аргументов


Литерал — это числовое значение или текстовая строка, которые указаны непосред­
ственно в выражении. Например, функция КОРЕНЬ, которая возвращает значение квад­
ратного корня, имеет один аргумент. В следующем примере в качестве аргумента функ­
ции используется литерал:
= К 0 Р Е Н Ь (2 2 5 )
В некоторых случаях использование литерального аргумента лишает формулу всяко­
го смысла. Эта формула всегда возвращает одно и то же значение, поэтому ее можно
просто заменить цифрой 15. Использовать такую формулу можно разве что в случае, ко­
гда вы хотите дать понять, что 15 — это квадратный корень из 225.
Использование литералов оправдано, если формула имеет два и более аргументов.
Функция ЛЕВСИМВ, имеющая два аргумента, возвращает крайние левые символы тек­
стовой строки, являющейся первым аргументом функции. Второй аргумент определяет
количество возвращаемых символов. Если ячейка А1 содержит текст Бюджет, следую­
щая формула возвращает первую букву, т.е. Б:
=ЛЕВСИМВ (А 1 ; 1)

Использование выражений в качестве аргументов


Excel позволяет использовать в качестве аргументов выражения. Такие выражения
следует рассматривать как формулы в формуле. Если в качестве аргумента используется
128 Часть II. Использование функций в формулах

выражение, Excel сначала вычисляет значение этого выражения, а затем использует его
в качестве аргумента. Рассмотрим следующий пример:
=КОРЕНЬ( (А1 а 2 ) + ( А2 а 2 ) )
В этой формуле используется функция КОРЕНЬ, единственным аргументом которой
выступает следующее математическое выражение:
(А1Ж2 ) + ( А2 а 2)
Вычисляя значение формулы, Excel сначала вычисляет значение выражения в аргу­
менте функции, а затем извлекает квадратный корень из результата вычислений.

Использование других функций в качестве аргументов


Итак, в качестве аргументов функций могут выступать математические выражения.
Очевидно, что эти выражения, в свою очередь, содержат другие функции. Функции,
которые используются внутри других функций, называются вложенными. Прежде всего,
Excel оценивает значение выражения с наибольшей глубиной вложения, а затем — все
остальные. Рассмотрим следующий пример вложенной функции:
= S I N (РАДИАНЫ(В9))
Функция РАДИАНЫ преобразует градусы в радианы — единицы измерения, которые
используются во всех тригонометрических функциях Excel. Если в ячейке В9 задан угол
в градусах, функция РАДИАНЫ преобразует градусы в радианы, а затем функция SIN вы­
числяет синус этого угла.
Формула может содержать не более 64 уровней вложенных функций. Вряд ли вы ко­
гда-либо напишете такое длинное выражение.

Использование массивов в качестве аргументов


В качестве аргумента функции может быть использован массив. Массив представляет
собой ряд значений, разделенных точкой с запятой и заключенных в скобки. В приве­
денной ниже формуле используется функция ИЛИ, в качестве аргумента которой приме­
нен массив. Формула возвращает ИСТИНА, если ячейка А1 содержит значение 1, 3 или 5.
=ИЛИ (А1= { 1 ; 3 ; 5 } )

Перекрестная ссылка
Подробнее работа с массивами будет описана в части IV.

Очень часто использование массивов помогает упростить формулу. Например, сле­


дующая формула возвращает тот же результат, что и предыдущая, но в качестве аргу­
мента в ней используется не массив, а функции ЕСЛИ. Как видите, формула с массивом
намного проще.
=Е С ЛИ( А1=1; ИСТИНА; ЕСЛИ( А1 =3 / ИСТИНА; ЕСЛИ( А1 =5 ; ИСТИНА; ЛОЖЬ)) )

Способы ввода функций в формулу


Существуют три способа ввода функции в формулу: вручную, с помощью библиотеки
функций и с помощью команды Вставить функцию.
Глава 4. Знакомство с функциями рабочего листа 129

Ввод функции вручную


Если вы уже знакомы с функцией (знаете, сколько аргументов она должна содержать
и какой тип она имеет), можно просто ввести функцию и ее ар1ументы непосредственно
в формулу. Зачастую этот метод оказывается наиболее эффективным.
В Excel 2007 было представлено новое средство, облегчающее ввод функций, —
автозавершение. Когда в ячейку введены знак равенства и первый символ функции, Ex­
cel отображает раскрывающийся список всех функций, начинающихся с этой буквы,
и экранную подсказку с кратким описанием функции (рис. 4.1). Можно продолжить ввод
имени функции, чтобы сократить этот список или использовать клавиши стрелок для вы­
деления нужной функции в списке. Когда нужная функция выделена, нажмите <ТаЬ>,
и она будет вставлена в ячейку вместе с открывающей скобкой.

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

Примечание
Вместе с именами функций список автозавершения содержит имена диапа­
зонов и ссылки на таблицы (о таблицах см. главу 9).
После нажатия клавиши <Tab> Excel отображает еще одну экранную подсказку
(рис. 4.2), в которой перечисляются аргументы функции. Полужирным шрифтом выде­
лен вводимый в настоящее время аргумент. Аргументы, показанные в квадратных скоб­
ках, являются необязательными. Обратите внимание, что текст в экранной подсказке со­
держит гиперссылки. Гиперссылки отображаются, когда указатель мыши наведен на имя
функции или ее аргументы. Щелчок на гиперссылке приводит к выбору аргумента. Если
окно подсказки мешает вам, можете перетащить его в другое место.

Рис. 4.2. В подсказке отображается список аргументов

Если при вводе функции пропустить закрывающую скобку, Excel вставит ее автома­
тически. Например, если ввести =СУММ (А 1: С12 и нажать <Enter>, программа исправит
ошибку, вставив закрывающую скобку.
130 Часть II. Использование функций в формулах

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

Вставка функций из библиотеки


Еще один способ вставки функции в формулу состоит в использовании группы ко­
манд Формулы ^Библиотека функций (рис. 4.3). Каждый значок этой группы пред­
ставляет собой раскрывающийся список библиотечных функций. При выделении функ­
ции появляется окно подсказки с короткой справкой о ней.

Рис. 4.3. Библиотека функций

При выборе пункта в списке активизируется диалоговое окно Аргументы функции,


помогающее ввести аргументы. Это диалоговое окно подробнее рассматривается в сле­
дующем разделе.

Команда Вставить функцию


Эта команда позволяет ввести функцию и ее аргументы полуавтоматически. Ее ис­
пользование позволяет избежать ошибок в написании формулы. Кроме того, функция,
вставленная с помощью этой команды, будет иметь соответствующее число аргументов,
расположенных в правильном порядке.
Для того чтобы вставить функцию, выберите ее в списке диалогового окна Мастер
функций (рис. 4.4). Открыть это диалоговое окно можно несколькими способами.
• Выберите команду Формулы1^Библиотека функций«=>Вставить функцию.
• Выберите команду Формулы«=>Библиотека функций^Автосумма^Другие
функции.
Глава 4. Знакомство с функциями рабочего листа 131

• Щелкните на кнопке/х слева от строки формул.


• Нажмите комбинацию клавиш <Shift+F3>.

Рис. 4.4. Диалоговое окно Мастер функций

В списке приводятся только функции, принадлежащие категории, выбранной в раскры­


вающемся списке Категория. В категории 10 недавно использовавшихся представлены
функции, которые вы использовали в последнее время. В категории Полный алфавитный
перечень представлены функции всех категорий. Если вы знаете имя функции, а ее кате­
гория вам не известна, откройте категорию Полный алфавитный перечень.
У вас есть возможность поиска функций. Для этого используется текстовое поле,
расположенное в верхней части диалогового окна Мастер функций. Введите в него од­
но или несколько ключевых слов и щелкните на кнопке Найти. Excel отобразит список
функций, удовлетворяющих условиям поиска.
Обратите внимание на то, что после выбора функции в списке Выберите функцию
под ним появляются название этой функции (и аргументов), а также ее краткое описание.
Выбрав необходимую функцию, щелкните на кнопке ОК. Откроется диалоговое окно
Аргументы функции (рис. 4.5), в котором следует задать аргументы. Для того чтобы за­
дать аргумент диапазона, щелкните на кнопке сворачивания окна (значок в правом углу
поля каждого аргумента). Excel временно свернет диалоговое окно Аргументы функ­
ции, что позволит выделить диапазон на рабочем листе.
Аргументы функции ---------------------------------В Д д Н ]
j АМОРУВ

С то и м о с ть

Д а т а .п р и о б р

Первы й_период

| О с та то ч н а яс то и м о с ть

Период

Возвращает величину пропорционально распределенной амортизации актива д л я каждого учетного периода.

С то и м о с ть затраты на приобретение актива.

Значение:

Справка по этой Функции j OK j j Отмена I

Рис. 4.5. Диалоговое окно Аргументы функции


132 Часть II. Использование функций в формулах

Позвольте Excel вставить функции за вас


В большинстве случаев вам придется самостоятельно вставлять функции. Однако
в некоторых ситуациях Excel может вставить функцию автоматически.
• При щелчке на кнопке Автосумма, расположенной во вкладке Главная или Формулы,
Excel выполняет быструю проверку окружающих ячеек. Затем программа предла­
гает формулу, в которой используется функция сум м . Если это именно то, что вам
нужно, нажмите клавишу <Enter> (или повторно щелкните на кнопке Автосумма),
чтобы подтвердить предложенную программой формулу. Если предложенная фор­
мула вам не подходит, нажмите клавишу <Esc>.
Можно предварительно выделить диапазоны ячеек, включаемых в автосумму, а не
отдавать на откуп Excel принятие решения относительно состава этих ячеек. К при­
меру, чтобы вставить сумму ячеек a i : а ю в ячейку а п , выделите ячейки a i : A l l ,
после чего щелкните на кнопке Автосумма.
Рядом с кнопкой Автосумма отображается стрелка, при щелчке на которой появля­
ется список альтернативных итоговых функций. К примеру, в этом списке можно
выбрать пункт Среднее, чтобы применить функцию с р з н а ч и в ы ч и с л и т ь среднее
значение выделенных ячеек.
• При работе с таблицей (созданной с помощью команды Таблица вкладки Вставка)
в контекстной вкладке Работа с таблицами1^ Конструктор можно установить флажок
Строка итогов, и в нижней части таблицы будет вставлена строка с итоговыми
функциями. (О работе с таблицами подробно рассказывается в главе 9.)
• Выбрав во вкладке Данные команду Консолидация, вы откроете диалоговое окно Консо­
лидация, которое позволит задать несколько параметров подсчета итогов. После того
как вы зададите параметры подсчета, Excel вставит строки и автоматически введет
формулы. В этих формулах будет использована функция промежуточные . итоги.

Несколько полезных советов по вводу функций


Настоящий раздел содержит ряд полезных советов, которые помогут вам при вводе
функций с помощью диалогового окна Мастер функций.
• Щелкните на ссылке Справка по этой функции (см. рис. 4.5), и вы получите ин­
формацию о выбранной вами функции (рис. 4.6).
• Если активная ячейка уже содержит формулу, в которой использовалась функция,
щелчком на кнопке Вставить функцию можно открыть диалоговое окно Аргу-
менты функции.
• Диалоговое окно Мастер функций может использоваться для вставки функции в
уже существующую формулу. Для этого переместите курсор в ту точку, в которую
нужно вставить функцию. Затем откройте диалоговое окно Мастер функций и
выберите необходимую функцию.
• Если вы передумали вставлять функцию, щелкните на кнопке Отмена.
• Количество аргументов той или иной функции определяет число текстовых полей
диалогового окна Аргументы функции. Если функция не имеет ни одного аргу­
мента, в диалоговом окне аргументов не будет ни одного текстового поля. Функ­
ция может иметь переменное количество аргументов (как, например, функция
СРЗНАЧ). В этом случае Excel создает новое текстовое поле каждый раз, когда вы
вводите дополнительный аргумент.
Глава 4. Знакомство с функциями рабочего листа 133

Рис. 4.6. He забывайте о справочной системе Excel. Обратитесь за помощью к про­


грамме, и вы получите исчерпывающую информацию о функциях

• Справа от каждого текстового поля диалогового окна Аргументы функции ука­


зывается текущее значение или тип данного аргумента.
• В Excel существуют такие функции, которые имеют несколько форм (например,
ИНДЕКС). Если выбрать одну из этих функций, Excel откроет диалоговое окно, по­
зволяющее выбрать нужную форму функции.
• Для того чтобы ускорить поиск необходимой функции в списке Выберите функ­
цию диалогового окна Мастер функций, откройте список, введите первую букву
имени функции, а затем прокрутите список до необходимого вам пункта. Напри­
мер, если вы решили найти функцию s i n в категории Полный алфавитный пе­
речень, щелкните кнопкой мыши в любой части списка и нажмите S. Excel выбе­
рет первую функцию, имя которой начинается с буквы S. Нажимайте S, пока не
найдете в списке функцию SIN.
• Если активная ячейка содержит формулу, в которой используется одна или не­
сколько функций, их можно отредактировать с помощью диалогового окна Аргу­
менты функции. Щелкните на функции кнопкой мыши, и эта функция появится
в строке формул. Затем щелкните на кнопке Вставить функцию.

Категории функций
Далее будет представлен список категорий функций с кратким описанием каждой из них.

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

Финансовые функции
Финансовые функции позволяют выполнять экономические вычисления, связанные
с расчетом денежных средств. Функция ПЛТ, например, используется для вычисления
величины ежемесячной выплаты по займу. Для вычисления необходимо задать еле-
134 Часть II. Использование функций в формулах

дующие аргументы: сумму займа, процентную ставку займа и срок, на который он


предоставлен.

Функции даты и времени


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

Математические и тригонометрические функции


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

Примечание
Во всех тригонометрических функциях углы измеряются в радианах (а не в
градусах). Для того чтобы преобразовать градусы в радианы, используйте
ФУНКЦИЮ РАДИАНЫ.

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

Функции ссылок и массивов


Функции этой категории используются для нахождения значений в списках и табли­
цах. Самый распространенный пример — поиск значения в таблице налоговых данных.
Функция П 0 И С К П 0 3 может использоваться для определения налоговой ставки для кон­
кретного уровня дохода.

Функции работы с базами данных


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

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

Логические функции
Данная категория состоит всего из семи функций. Эти функции позволяют проверить
заданное условие и вернуть логическое значение ИСТИНА или ЛОЖЬ. Функция ЕСЛИ
также может оказаться полезной, поскольку она предоставляет формулам возможность
принятия решений.

Информационные функции
Функции этой категории помогают определить тип данных, хранящихся в ячейке.
Например, функция ЕТЕКСТ возвращает ИСТИНА, если значение является текстом.
С помощью функции ЕПУСТО можно узнать, пуста ли ячейка. Функция ЯЧЕЙКА возвра­
щает полезную информацию о конкретной ячейке.

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

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

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

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

Прочие категории функций


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

Перекрестная ссылка
Информацию о том, как записать пользовательскую функцию в одну из кате­
горий, можно найти в главе 23.
136 Часть II. Использование функций в формулах

Непостоянные функции
Некоторые функции Excel принадлежат особому классу так называемых непостоян­
ных функций. Программа автоматически пересчитывает непостоянную функцию при
пересчете рабочей книги даже в том случае, если формула, в которой эта функция ис­
пользуется, не задействована в пересчете.
Одной из непостоянных функций является функция слчис, которая возвращает но­
вое случайное число при каждом пересчете рабочего листа. Кроме того, в Excel присут­
ствуют следующие непостоянные функции:
двссыл
ИНДЕКС
СМЕЩ
ЯЧЕЙКА
ОБЛАСТИ
СТРОКА
СТОЛБЕЦ
СЕЙЧАС
СЕГОДНЯ
Использование непостоянных функций имеет один побочный эффект: Excel будет
всегда напоминать вам о сохранении рабочей книги перед ее закрытием (даже в том
случае, если вы не вносили никаких изменений). Например, вы открыли рабочую книгу,
в которой используются непостоянные функции, просмотрели ее (ничего при этом не
меняя) и хотите закрыть файл. При этом Excel обязательно спросит, хотите ли вы со­
хранить рабочую книгу.
Чтобы отменить появление окна с этим вопросом, используйте режим вычислений
вручную. Для этого откройте вкладку Формулы диалогового окна параметров програм­
мы и в разделе Параметры вычислений установите переключатель вручную и снимите
флажок Пересчитывать книгу перед сохранением.
Глава

Работа с текстом
В этой главе...
♦ Несколько слов о самом тексте
♦ Текстовые функции
♦ Расширенные текстовые формулы

Приложение Excel популярно прежде всего благодаря способности выполнения лю­


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

Несколько слов о самом тексте


Работа Excel начинается сразу же после того, как пользователь вводит данные в ячей­
ку. Приложение определяет, что же именно вводится: формула, числовая информация
(то же самое относится к дате и времени) или что-либо еще, к примеру текст.

Примечание
Возможно, читателю уже приходилось сталкиваться с термином строка, ис­
пользующимся в смысле “текст” . В данном контексте эти термины взаимо­
заменяемы. Иногда они даже могут встречаться вместе, например в выра­
жении текстовая строка. Оба они означают одно и то же — произвольную
последовательность символов.

Количество символов в ячейке


В ячейку последних версий Excel можно ввести 32 ООО символов. Для сравнения,
текст этой главы содержит около 40 тысяч символов. Безусловно, использовать процес­
сор электронных таблиц вместо текстового не рекомендуется. Но если у вас установлена
Excel версии выше 97, то не стоит беспокоиться о размере текста, вводимого в ячейку,
если, конечно, вы не планируете поместить в одну ячейку всю эту главу.
138 Часть II. Использование функций в формулах

Числа, отформатированные как текст


Как уже отмечалось, Excel различает текстовый и числовой форматы. Если необхо­
димо, чтобы числовая информация рассматривалась как тест, выполните следующее.
• Примените к ячейке формат Текстовый. Для этого выделите ячейку и в раскры­
вающемся списке группы Число вкладки Главная выберите пункт Текстовый.
Если к ячейке не применять специальное выравнивание по горизонтали, значения
будут выровнены по левому краю ячейки (подобно обычному тексту).
• Введите перед числом знак апострофа. В данном случае он не отображается, но
ячейка будет трактоваться так, как если бы в нее был введен текст.
Установив для ячейки текстовый формат (или используя апостроф), вы сохраняете
способность выполнять некоторые математические операции, если содержимое выглядит
как число. Предположим, что ячейка А1 содержит числовое значение, которому предше­
ствует знак апострофа. Ниже приведена формула, которая отображает значение ячейки
А1, увеличенное на единицу:
=А1 + 1
Следующая формула, тем не менее, будет трактовать содержимое ячейки А1 как 0:
=СУММ(A I : А 1 0)
В некоторых случаях трактовка текста как числа может оказаться полезной, в других
же может создать дополнительные проблемы. Вывод следующий: просто принимайте во
внимание то, каким образом Excel трактует числа, отформатированные как текст.

Когда число не трактуется как число


Импортируя данные в приложение Excel, можно столкнуться с распространенной
проблемой: иногда импортируемые числовые значения трактуются как текст. Рассмот­
рим, как эти нечисловые значения быстро преобразовать в числовые. Активизируйте
любую пустую ячейку, введите в нее число нуль и выберите команду Главная^Буфер
обмена^Копировать. Затем выберите диапазон, содержащий значения, которые необ­
ходимо преобразовать, и выберите команду Главная^Буфер обмена^Вставить^Спе-
циальная вставка. В диалоговом окне Специальная вставка установите переключатель в
положение сложить, а затем щелкните на кнопке ОК. Добавляя к текстовому значению
нуль, вы приказываете Excel трактовать нечисловое значение как числовое.

Примечание
Если включена фоновая проверка ошибок, Excel помечает числа с апостро­
фом (и числа, отформатированные как текст) смарт-тегом. Этот смарт-тег
можно использовать для преобразования “текста” в фактическое значение.
Для этого щелкните на смарт-теге и выберите в открывшемся меню пункт
Преобразовать в число. Фоновая проверка включается и отключается в раз­
деле Контроль ошибок вкладки Формулы диалогового окна Параметры Excel.

Текстовые функции
Приложение Excel предлагает довольно широкий выбор функций, с помощью кото­
рых обрабатывается текст. Большинство из них можно найти в библиотеке функций или
диалоговом окне Мастер функций (чтобы открыть его, выберите команду Формулы1^
Библиотека функцийоТекстовые^Вставить функцию). В категории Текстовые со­
Глава 5. Работа с текстом 139

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

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

Проверка наличия текста в ячейке


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

Работа с кодами символов


Каждому символу, который виден на экране компьютера, соответствует определенное
кодовое число. Для работы в системе Windows приложение Excel использует стандарт­
ный набор символов ANSI, который содержит 255 символов, пронумерованных числами
в диапазоне от 1 до 255.
На рис. 5.1 показана часть рабочего листа приложения Excel, на котором представле­
ны символы ANSI. В этом примере использовался установленный по умолчанию шрифт
Calibri (другие шрифты отображают символы немного иначе).
Компакт-диск
Копия данной рабочей книги содержится в файле c h a r a c t e r s e t . x l s m на
прилагаемом компакт-диске. В этом файле также сохранены некоторые
простые макрокоманды, которые позволяют отображать набор символов
для любого шрифта, установленного в системе.
140 Часть II. Использование функций в формулах

Рис. 5.1. Набор символов ANSI для шрифта Calibri

Для работы с кодами символов Excel предоставляет две специальные функции:


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

Примечание

© Функции кодсимв и символ работают только со строками в кодировке ANSI. Эти


функции не будут выполняться для строк в двухбайтовой кодировке Unicode.

Ф ункция кодсимв
Функция КОДСИМВ, которая используется в приложении Excel, возвращает код сим­
вола, введенного в качестве аргумента функции. Например, формула, приведенная ниже,
возвращает значение 192 — код русского символа А, введенного в верхнем регистре.
=КОДСИМВ( " А " )
В том случае, если аргумент функции КОДСИМВ содержит несколько символов, функ­
ция использует только первый символ. Например, следующая формула возвращает зна­
чение 196 — код символа Д: 7
=КОДСИМВ("Дорога к Р и м у " )

Функция символ
По своей сути функция СИМВОЛ полностью противоположна функции КОДСИМВ.
Ее аргументом является числовое значение в интервале от 1 до 255, а сама функция воз­
вращает символ, соответствующий этому значению. Например, приведенная ниже фор­
мула возвращает русский символ А:
=СИМВОЛ( 1 9 2 )
Чтобы продемонстрировать разницу между функциями КОДСИМВ и СИМВОЛ, введите
в ячейку следующую формулу:
=СИМВОЛ(КОДСИМВ( " А " ))
Формула вернет символ А. Этот пример лишь иллюстрирует действие функций, вряд
ли он будет полезен на практике. Сначала введенный символ преобразуется в соответст­
Глава 5. Работа с текстом 141

вующее значение кода (192), после чего функция СИМВОЛ возвращает символ А, кото­
рый соответствует данному значению.
Теперь предположим, что ячейка А1 содержит символ А (в верхнем регистре). Тогда
следующая формула вернет символ а (в нижнем регистре):
=СИМВОЛ (КОДСИМВ (А1) +32)
В этой формуле используется тот факт, что в кодовой таблице символы расположены
последовательно, в алфавитном порядке, при этом символы нижнего регистра располо­
жены после символов верхнего (между прописными и строчными буквами находится не­
сколько других символов). Каждая строчная буква русского (равно как и английского)
алфавита размещена ровно на 32 позиции выше своего прописного собрата.

Как найти специальные символы


Excel предоставляет прекрасную возможность использовать диалоговое окно Сим­
вол, которое можно вызвать, выбрав команду Вставка^Символы^Символ. Это диало­
говое окно позволяет вставить в ячейку любые специальные символы (включая симво­
лы Unicode). Например, можно вставить в электронную таблицу смайлик (если вдруг
возникнет такая необходимость). Для этого в Excel достаточно открыть диалоговое окно
Символ и выбрать шрифт Wingdings (см. рисунок ниже). Затем просмотрите символы,
найдите изображение рожицы и Щелкните на кнопке Вставить. Обратите внимание, что
этому символу соответствует код 74.

Проверка идентичности строк


Чтобы определить, содержат ли две ячейки идентичные записи, используйте простую
логическую формулу. Например, ниже приведена формула, с помощью которой можно
определить, содержит ли ячейка А1 то же значение, что и ячейка А2:
=А1=А2
Следует отметить, что Excel немного “небрежна” в операциях сравнения текста. Рас­
смотрим, например, ситуацию, когда ячейка А1 содержит слово Январь (первая буква
прописная), а ячейка А2 — слово ЯНВАРЬ (все буквы прописные). Приведенная выше
формула вернет значение ИСТИНА, несмотря на то, что эти две ячейки содержат разные
текстовые значения. Иными словами, при сравнении не учитывается регистр символов.
Чаще всего не стоит беспокоиться по поводу регистра символов текста. Если же не­
обходимо при сравнении учитывать регистр символов, можно использовать функцию
142 Часть II. Использование функций в формулах

СОВПАД. Приведенная ниже формула возвращает значение ИСТИНА только в том случае,
если ячейки А1 и А2 содержат абсолютно идентичные записи.
=СОВПАД(А1;А2)
Следующая формула возвращает значение ЛОЖЬ, поскольку первая строка содержит
в конце пробел:
=СОВПАД("нуль " ; " н у л ь ")

Объединение нескольких ячеек


Excel использует знак & как оператор конкатенации (объединения строк). Конкате­
нация — это просто модный термин, указывающий, что результат объединяет содержи­
мое нескольких ячеек. Например, если ячейка А1 содержит текст T u c s o n , а ячейка
А2 — C a l i f o r n i a , приведенная ниже формула возвратит текст T u c s o n C a l i f o r n i a :
=A1&A2
Обратите внимание, что эти две строки объединены без промежуточного пробела.
Для того чтобы добавить пробел между двумя строками и получить текст T u c s o n
C a l i f o r n i a , необходимо использовать следующую формулу:
=A1&" "&А2
Другой способ, который, может быть, даже лучше предыдущего, — использовать за­
пятую и пробел, чтобы получить текст T u c s o n , C a l i f o r n i a .
=A1&", "&A2
Еще один способ объединения строк состоит в применении функций СИМВОЛ с соответ­
ствующими аргументами. Обратите внимание, что в приведенном ниже примере использо­
вания функции СИМВОЛ в объединяемый текст вставляются запятая (44) и пробел (32).
=А1&СИМВОЛ( 4 4 ) &СИМВОЛ( 3 2 ) &А2
< Если вы решили перенести текст на другую строку, то при его объединении в строке
необходимо использовать функцию СИМВОЛ (1 0 ). После этого проверьте, применен ли к
ячейке текстовый формат с переносом слов (команда Главная^Выравнивание^Пе-
ренос текста). Пример объединения текста в ячейке А1 и текста в ячейке В2 с символом
перейоса между ними продемонстрирован в следующей формуле:
=А1&СИМВОЛ( 1 0 ) &В1
Ниже приведен еще один пример использования функции СИМВОЛ. Следующая фор­
мула возвращает строку S t o p , объединяя четыре символа, полученные с помощью
функции СИМВОЛ:
=СИМВОЛ (83) &СИМВОЛ (116) &СИМВОЛ (111) &СИМВОЛ (112)
Рассмотрим еще один пример использования оператора конкатенации, В данном слу­
чае формула объединяет текст с результатом выражения, которое возвращает макси­
мальное значение столбца С.
= "Максимальное з н а ч е н ие в с т о л б ц е С: "&МАКС(С:С)

Примечание
Имейте в виду, что в Excel есть также функция сцепить , которая поддержи­
вает до 255 аргументов. Эта функция объединяет свои аргументы в единую
строку. Многие пользователи предпочитают применять именно ее, однако
использование оператора конкатенации (&) значительно проще.
Глава 5. Работа с текстом 143

Отображение значений как текста


Функция ТЕКСТ в приложении Excel позволяет отобразить значение ячейки в опре­
деленном числовом формате. На первый взгляд может показаться, что эта функция имеет
весьма сомнительное применение. Однако она поможет осуществить некоторые полез­
ные действия, предназначенные для решения важных задач, что и будет продемонстри­
ровано в настоящем разделе. На рис. 5.2 показан обычный рабочий лист Excel. Ниже
приведена формула, используемая в этом рабочем листе в ячейке А5.
="Чистая прибыль: "&ВЗ

Рис. 5.2. Формула в ячейке А5 отображает


не отформатированное число

По существу, эта формула объединяет текстовую строку с содержимым ячейки ВЗ


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

Примечание
Имейте в виду, что, вопреки ожиданиям, применение числового формата ко
всей ячейке, содержащей формулу, не даст никакого эффекта. Все дело в
том, что используемая формула возвращает строку, а не числовое значение.
Применить формат к содержимому ячейки ВЗ в ячейке А5 можно с помощью функ­
ции ТЕКСТ. Для этого нужно ввести в А5 такую формулу:
="Чистая прибыль: "&ТЕКСТ(ВЗ; " # # # # ## # # # , 0 0 " )
Эта формула будет отображать и текст, и само отформатированное числовое значение
следующим образом:
Чистая прибыль: 104 6 1 6 , 5 2 р .
Второй аргумент функции ТЕКСТ содержит стандартное определение числового
формата, используемого в приложении Excel. В качестве этого аргумента можно ввести
любое другое допустимое определение числового формата.
В предыдущем примере мы использовали простую ссылку на ячейку ВЗ. Но это не
единственная возможность. Вместо ссылки на ячейку можно использовать любое выра­
жение. Ниже приведен пример, в котором текст объединяется с числом, полученным пу­
тем вызова функции СРЗНАЧ.
="Средний р а с х о д : "&ТЕКСТ(СРЗНАЧ(А:А) ; " # , # # 0 , 0 0 р . " )
Эта формула возвращает такую строку:
Средний р а с х о д : 7 794,57р.
144 Часть II. Использование функций в формулах

Теперь мы рассмотрим другой пример, в котором используется функция СЕГОДНЯ,


возвращающая текущую дату и время. Использование этой функции совместно с функ­
цией ТЕКСТ позволяет отобразить на экране текущую дату и время, представленные
в удобном для восприятия формате.
= "Отчет на пе ч ат ан "&ТЕКСТ(СЕГОДНЯ( ) ;
ид мммм, г г г г в ч:мм АМ/РМ")
Эта формула отображает следующую запись:
Отчет н апе ч ат ан 22 Июль, 20 01 в 3 : 2 3 РМ

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

Отображение денежных значений,


отформатированных как текст
В Excel существует функция РУБЛЬ, с помощью которой содержащееся в ячейке чис­
ло преобразуется в текст, представленный в денежном формате. Эта функция использует
два аргумента: число, которое необходимо преобразовать, и количество знаков, отобра­
жаемых на экране после запятой. Как правило, функция РУБЛЬ использует обозначения
денежной единицы, установленной в региональных настройках Windows.
В отдельных случаях функция РУБЛЬ может использоваться вместо функции ТЕКСТ.
Однако намного эффективнее применение функции ТЕКСТ, которая является более гиб­
кой, поскольку не ограничивает вас определенным числовым форматом.
Приведенная ниже формула возвращает такой текст: И того: 1 2 8 7 , 3 7р. Второй
аргумент функции РУБЛЬ определяет количество десятичных знаков после запятой.
= " Ито г о: "&РУБЛБ( 1 2 8 7 , 3 6 7 ; 2 )

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


Довольно часто данные, импортированные в рабочий лист Excel, содержат лишние
пробелы и причудливые символы, унаследованные от импортируемого формата. В Excel
есть две функции, помогающие избавиться от них.
• Функция СЖПРОБЕЛЫ удаляет из строки ведущие и замыкающие пробелы. Кроме
того, внутренние последовательности пробелов она заменяет одним пробелом.
• Функция ПЕЧСИМВ удаляет из строки все непечатаемые символы, которые в им­
портированном формате были служебными символами.
Рассмотрим пример использования функции СЖПРОБЕЛЫ. Приведенная ниже форму­
ла возвращает строку "Чистый д о х о д з а квартал" без лишних пробелов.
=СЖПРОБЕЛЫ(" Чистый д о х о д за кварт ал ")

Подсчет символов в строке


Функция ДЛСТР принимает только один аргумент и возвращает количество символов,
содержащихся в ячейке. Возьмем, например, ячейку А1, содержащую строку Продажи в
сен тя б р е. Формула, приведенная ниже, вернет значение 18.
=ДЛСТР(А1)
Глава 5. Работа с текстом 145

Обратите внимание, что пробелы тоже считаются символами и включаются в резуль­


тирующее значение. К примеру, если ячейка А1 содержит строку П р о д а ж и и приведен­
ная выше формула вернет значение 8, значит, в начале или конце строки есть пробел.
Следующая формула укорачивает текст, который оказался слишком длинным. Если
в ячейке А 1 содержится более десяти символов, формула возвращает первые 9 символов,
за которыми следует символ троеточия (в кодовой таблице ANSI этот символ имеет код
133). Если символов десять или меньше, возвращается вся строка.
= I F ( Д Л С Т Р ( А 1 ) > 1 0 , ЛЕВСИМВ ( А 1 , 9 ) &СИМВОЛ ( 1 3 3 ) , А 1 )

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

Повторяющиеся символы и строки


Функция ПОВТОР предназначена для того, чтобы повторить любую строку текста или
символ (первый аргумент) заданное количество раз (второй аргумент). Например, сле­
дующая формула возвращает текст НаНаНа:
=ПОВТОР ( "На " ; 3 )
Эту функцию удобно использовать для создания горизонтального разделителя между
ячейками. Например, приведенная ниже формула создает строку, состоящую из 20 вол­
нистых линий (тильд), расположенных по длине строки:
=ПОВТОР ( " ~ " ; 2 0 )

Создание текстовой гистограммы


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

Рис. 5.3. Чтобы быстро создать гистограмму на рабочем листе, воспользуйтесь функцией п о в т о р
146 Часть II. Использование функций в формулах

Совет
Средства условного форматирования позволяют создавать простые гисто­
граммы непосредственно в ячейках (см. главу 19).
Формулы, содержащиеся в ячейках столбцов Е и G, графически отображают ежеме­
сячное изменение бюджета, выводя на экран ряд символов шрифта Wingdings. В этом
примере мы использовали символ п, который в выбранном шрифте отображается как
маленький квадрат. Формула, использующая функцию ПОВТОР, определяет количество
символов, которое должно быть отображено на экране. Формулы для ячеек, формирую­
щих диаграмму, имеют следующий вид.
ЕЗ =ЕСЛИ(D3 < 0 ; ПОВТОР("П" ; - ОКРУГЛ(D3 *10 0 ; 0 ) ) ;"")
F3 =АЗ
G3 =ЕСЛИ( D3 >0 ; ПОВТОР( "п"; ОКРУГЛ( D 3 * 1 0 0 ; 0 ) ) ; " " )
Установите для ячеек ЕЗ и G3 шрифт Wingdings, а затем скопируйте формулы, со­
держащиеся в этих ячейках, вниз в ячейки столбцов, чтобы распределить данные. Вы­
ровняйте текст в столбце Е по правому краю, после чего примените любое другое фор­
матирование ячеек. Имейте в виду, что в зависимости от величины числового диапазона
данных может возникнуть необходимость изменить масштаб значений. Поэксперимен­
тируйте с перемещением 100 значений в формулах. Выбранный ранее для диаграммы на
рис. 5.3 символ п можно заменить на любой другой.

Компакт-диск
Рабочая книга, представленная на рис. 5.3, содержится на прилагаемом
компакт-диске в файле t e x t h i s t o g r a m . x l s x ( C h a p t e r 0 5 _R US . x l s x ) .

Добавление к числу заданных символов


Вероятно, многие из вас уже не раз сталкивались с таким распространенным (особенно
при печати чеков) методом защиты, как дополнение числовых значений справа звездочка­
ми. Приведенная ниже формула, наряду со значением, содержащимся в ячейке А1, отобра­
жает знаки звездочек, дополняя общее количество символов до 24. Таким образом, пустые
позиции ячейки заполняются звездочками.
= (А1&ПОВТОР ( "* " ; 24 - ДЛСТР (А1) ) )
Используя следующую формулу, можно добавить звездочки к числу слева:
=ПОВТОР( " * " ; 2 4 -ДЛСТР(A I ) ) &А1
Представленная далее формула отображает звездочки, дополняющие число сразу с двух
сторон. Она возвращает 24 символа в том случае, если число в ячейке А1 содержит четное
количество символов, и 23 символа, если число содержит нечетное количество символов.
=ПОВТОР ( "* " ; 12 - ДЛСТР (А 1 ) / 2 ) &А1&ПОВТОР ( "* " ; 12 - ДЛСТР (А1) / 2 )
Приведенные выше формулы не столь совершенны, поскольку они могут отображать
не все отформатированные числа. Ниже приведена усовершенствованная версия форму­
лы, которая отображает значение, содержащееся в ячейке А1 (отформатированной ячей­
ке), а также знаки звездочек слева от этого значения.
=ПОВТОР( " * " ; 2 4 -ДЛСТР(ТЕКСТ(А1; " $ # , # # 0 . 0 0 " ) ) )
&ТЕКСТ(А1, " $ # , # # 0 . 0 0 " )
На рис. 5.4 показана приведенная выше формула в действии.
Глава 5. Работа с текстом 147

Рис. 5.4. Так будет выглядеть число, дополнен­


ное звездочками при использовании приве­
денной выше формулы

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


венный числовой формат. Для того чтобы заполнить символами пустые позиции ячейки,
достаточно просто включить в собственный формат звездочку (*). Например, используя
следующее определение числового формата, можно дополнить число знаками тире:
$# ,# # 0 .0 0 * -
Чтобы просто дополнить число звездочками, используйте в определении формата две
звездочки, как показано ниже.
$#,##0.00**

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

Изменение регистра символов


Приложение Excel предлагает три весьма удобные функции, которые позволяют из­
менить регистр символов.
1. Функция ПРОПИСИ преобразует все символы текста в верхний регистр.
2. Функция СТРОЧН преобразует весь текст в нижний регистр.
3. ПРОПНАЧ преобразует первый символ каждого слова в верхний регистр, а все ос­
тальные символы — в нижний.
Эти функции действуют очень просто. Например, следующая формула преобразует
все символы текста в ячейке А1 в верхний регистр. Если ячейка А1 содержит текст MR.
JOHN Q. PUBLIC, она вернет строку M r . J o h n Q. P u b l i c .
=ПРОПНАЧ ( A I )
Следует отметить, что эти функции применяются только для символов, вошедших
в алфавит. Все остальные символы они просто игнорируют и возвращают неизменными.

Предупреждение
Функция пропнач не всегда приводит к нужному результату, поскольку она
может неправильно трактовать некоторые слова. К примеру, фамилию
Mc Ca rt ne y она изменит на M c c a r t n ey .

Преобразование данных с помощью формул


Многие примеры этой главы описывают методы использования функций для преоб­
разования данных тем или иным способом. Например, можно применить функцию
148 Часть II. Использование функций в формулах

прописн для преобразования текстовой строки в верхний регистр. Чаще всего исход­
ные данные требуется заменить преобразованными данными. Для этого вставьте пре­
образованное значение поверх исходного текста.
1. Создайте формулы, преобразующие исходные данные.
2. Выделите ячейку с формулой.
3. Выберите команду Главная^Буфер обмена^Копировать.
4. Выделите исходную ячейку с формулой.
5. Выберите команду Главная^Буфер обмена^Вставить^Вставить значения.
После выполнения приведенных выше действий формула удаляется, а на ее место
вставляются преобразованные данные.

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


Многие пользователи Excel достаточно часто сталкиваются с необходимостью из­
влечь из строки отдельные символы. Например, из списка служащих организации (имена
и фамилии) требуется извлечь только фамилии всех сотрудников, чтобы в дальнейшем
использовать часть текстовых данных каждой ячейки. Excel предоставляет несколько
превосходных функций, позволяющих решить эту задачу.
• Функция ЛЕВСИМВ возвращает заданное количество символов с начала строки.
• Функция ПРАВСИМВ возвращает заданное количество символов с конца строки.
• Функция ПСТР возвращает заданное количество символов, начиная с любой пози­
ции в пределах строки.
Формула, приведенная ниже, возвращает последние 10 символов содержимого ячей­
ки А1. Если ячейка А1 содержит менее десяти символов, формула вернет текст ячейки в
полном объеме.
=ПРАВСИМВ(А1; 10)
В следующей формуле используется функция ПСТР. Она возвращает из ячейки А1
пять символов, начиная со второго. Другими словами, формула возвращает символы со
второго по шестой.
=ПСТР(А 1 ; 2 ; 5 )
В следующем примере формула извлекает из текста, содержащегося в ячейке А1,
только первый символ в верхнем регистре. Для этого используется функция ЛЕВСИМВ,
которая позволяет извлечь первый символ и преобразовать его в верхний регистр. После
этого набор символов присоединяется к другой строке, которая создается с помощью
функции ПРАВСИМВ. В результате из заданного текста извлекается все, кроме первого
символа, и извлеченные символы преобразуются в нижний регистр.
=ПРОПИСН(ЛЕВСИМВ(А1) ) &ПРАВСИМВ(СТРОЧН(А1); ДЛСТР( A I ) - 1)
Таким образом, если бы ячейка А1 содержала текст ПЯТЫЙ КВАРТАЛ, данная фор­
мула вернула бы текст Пятый к в а р т а л .

Замена одного текста другим


В некоторых ситуациях может возникнуть необходимость заменить определенную
часть текста строки другим текстом. Например, некоторые импортируемые в приложе­
Глава 5. Работа с текстом 149

ние Excel данные содержат знаки звездочки, которые необходимо преобразовать в дру­
гие символы. Безусловно, для этого можно воспользоваться диалоговым окном Найти и
заменить (команда Главная^Редактирование^Найти и выделить1^Заменить). Ес­
ли же вы хотите решить эту проблему с помощью формул, воспользуйтесь преимущест­
вами любой из следующих двух функций.
1. Функция ПОДСТАВИТЬ заменяет в строке определенный текст или символ. Эту
функцию лучше всего использовать, когда известен символ, который необходимо
заменить, а не его расположение.
2. Функция ЗАМЕНИТЬ заменяет символ, расположенный в определенном месте в
пределах строки. Данная функция используется при замене любого текста, если
известно его местоположение. Содержимое самого текста или символа в данном
случае не учитывается.
Ниже приведена формула, в которой используется функция ПОДСТАВИТЬ для замены
значения года 2001 на 2002 в строке Бюджет 2 001. Эта формула возвращает значение
Бюджет 2 0 0 2 .
=ПОДСТАВИТЬ("Бюджет 2 0 0 1 " ; " 2 0 0 1 " ; " 2 0 02 " )
Следующая формула использует функцию ПОДСТАВИТЬ для удаления из строки всех
пробелов. Другими словами, она заменяет все пробелы пустой строкой и возвращает
строку Б е л ы й ш о к о л а д с и з ю м о м .
= ПОДСТАВИТЬ( "Белый шоколад с изюмом";" ";"")
Приведенная далее формула использует функцию ЗАМЕНИТЬ для замены всего одно­
го символа, расположенного в пятой позиции, ничего не вставляя вместо него. Иными
словами, она просто удаляет шестой символ (дефис) и возвращает текст Ч а с т ь 5 4 4 .
=ЗАМЕНИТЬ( "Часть - 5 4 4 " ; б ; 1 ; " " )
Безусловно, можно вкладывать эти функции друг в друга, чтобы с помощью одной
формулы выполнить множество замен. Обратите внимание, насколько может быть эф­
фективной следующая формула, использующая несколько вложенных функций
ПОДСТАВИТЬ. По большому счету, эта формула заменяет в ячейке А1 каждый из семи
символов, следующих друг за другом: пробел, дефис, двоеточие, звездочку, символ под­
черкивания, открывающую круглую скобку и закрывающую круглую скобку.
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
ПОДСТАВИТЬ(ПОДСТАВИТЬ(А1;" " ; " " ) ; " - " ; " " ) ; " : " ; " " ) ; "* " ; " " ) ;
к п . м к ^ . п ^ п . п и ^ . п ) и . и п j

Например, если ячейка А1 содержит строку P a r t - 2 A - Z ( 4 М 1 ) _ А * , данная фор­


мула вернет P a r t 2 A Z 4 M l A .

Поиск в строке
Найти местонахождение определенного текста или символа в пределах одной строки
в приложении Excel можно с помощью функций НАЙТИ и ПОИСК.
• Функция НАЙТИ обеспечивает поиск текста (подстроки) в пределах текстовой
строки и возвращает исходную позицию этой подстроки. Можно определить по­
зицию, с которой следует начать поиск текста. Эту функцию удобно использовать
для сравнения текста с учетом регистра, но она не поддерживает сравнение груп­
повых символов.
150 Часть II. Использование функций в формулах

• Функция ПОИСК обеспечивает поиск определенной подстроки в пределах основ­


ной текстовой строки и возвращает значение исходной позиции подстроки. Для
этой функции также можно определить место начала поиска. Данная функция ис­
пользуется для поиска нечувствительного к регистру текста или тогда, когда ис­
пользуются групповые символы.
В формуле, приведенной ниже, применена функция НАЙТИ, которая возвращает зна­
чение 7, т.е. номер позиции первого символа ш, встречающегося в строке. Следует отме­
тить, что эта формула учитывает регистр символов:
=НАЙТИ( "m"; "Big Mamma T h o r n t o n " ;1)
Следующая формула использует функцию ПОИСК и возвращает значение 5 — номер
позиции первого встреченного символа т. В этом случае регистр не учитывается.
=ПОИСК( "m"; "Big Mamma T h o r n t o n " ;1)
В первом аргументе функции ПОИСК можно использовать следующие символы мак­
роподстановки:
• вопросительный знак (?) соответствует любому одиночному символу;
• звездочка (*) соответствует любой последовательности символов.

Совет
Чтобы найти символы вопросительного знака или звездочки, введите в
формуле перед этими символами тильду (~).

Следующая формула исследует текст в ячейке А1 и возвращает позицию первой после­


довательности из трех символов, содержащей в середине дефис. Иначе говоря, формула
ищет любой символ, за которым следует знак дефиса и любой другой символ. Таким обра­
зом, если ячейка А1 содержит текст P a r t -А90, формула возвращает значение 4.
=ПОИСК( " ? - ? " ; A I ;1)

Поиск и замена в строке


Функция ПОИСК может использоваться совместно с функцией ЗАМЕНИТЬ, что позво­
ляет заменить часть найденной текстовой строки другой строкой. В этом случае функция
ПОИСК используется для того, чтобы найти начало расположения символов, с которым
затем будет работать функция ЗАМЕНИТЬ.
Предположим, что ячейка А1 содержит текст О т ч е т о прибыли. Формула, приве­
денная ниже, отыскивает в этой строке слово п ри б ы л и и заменяет его на слово д о х о д а х .
=ЗАМЕНИТЬ(А1; ПОИСК( "прибыли";А 1 ) ; 1 2 ; " д о х о д а х " )
Следующая формула использует функцию ПОДСТАВИТЬ для достижения того же эф­
фекта, но более удобным способом:
=ПОДСТАВИТЬ(А1; "прибыли"; " д о х о д а х " )

Расширенные текстовые формулы


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

Компакт-диск
Все примеры, приведенные в этом разделе, можно найти в файле t e x t
e x a m p l e s . x l s x ( C h a p t e r 0 5 _ R U S . x l s x ) на прилагаемом компакт-диске.

Подсчет заданных символов в ячейке


Приведенная ниже формула подсчитывает в строке ячейки А1 количество символов
В, учитывая только символы верхнего регистра.
=ДЛСТР (А1) -ДЛСТР(ПОДСТАВИТЬ ( А1; "В" ; " " ))
В формуле используется функция ПОДСТАВИТЬ, создающая в памяти новую строку,
из которой удалены все имеющиеся символы В. После этого длина созданной строки вы­
читается из длины первоначальной строки. В результате формула возвращает количество
символов В, содержащихся в первоначальной строке.
Следующая формула более универсальна. Она подсчитывает количество символов В
одновременно и верхнего, и нижнего регистра, содержащихся в ячейке А1.
=ДЛСТР(А1) -ДЛСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(А1; "В"; " " ) ; "Ь"; " " ) )

Подсчет строк, содержащихся в ячейке


Формулы, приведенные в предыдущем разделе, подсчитывают, сколько раз опреде­
ленный символ встречается в заданной ячейке. Следующая формула работает сразу с не­
сколькими символами и возвращает количество экземпляров определенной подстроки
(заданной в ячейке В1) в пределах строки, содержащейся в ячейке А1. Заданная подстро­
ка может состоять из любого количества символов.
= (ДЛСТР(А1)-ДЛСТР(ПОДСТАВИТЬ(А1;В1;"")) ) /ДЛСТР(В1)
Например, если ячейка А1 содержит текст б л о н д и н и с т ы й б л о н д и н , а ячейка
В1 — текст б л о н д и н , то данная формула вернет значение 2.
Имейте в виду, что в данном случае при сравнении текста учитывается регистр сим­
волов, поэтому если ячейка В1 будет содержать текст Б л о н д и н , то формула вернет зна­
чение 0. Следующая формула — просто модифицированная версия предыдущей, которая
осуществляет поиск без учета регистра (без различия строчных и заглавных букв).
= (ДЛСТР(А1) -ДЛСТР(ПОДСТАВИТЬ(ЦРОПИСН(А1) ;ПРОПИСН(В1) ; " " ) ) )
/ДЛСТР(В1)

Удаление замыкающих символов минуса


В некоторых вычислительных системах отрицательное значение числа обозначается
знаком “минус”, расположенным не перед числом, а после него. Если импортировать та­
кие значения в Excel, замыкающий символ “минус” будет интерпретироваться как текст,
а число — как положительное.
Приведенная ниже формула проверяет наличие замыкающего минуса, удаляет его и
возвращает отрицательное число. Например, если ячейка А1 содержит 1 9 8 , 4 3 - , фор­
мула возвращает - 1 9 8 . 4 3 .
=ЕСЛИ ( (ПРАВСИМВ (А 1 ; 1) ) = " - " ; ЛЕВСИМВ (А 1 ; ДЛСТР (А 1 ) - 1 ) * - 1 ; А 1 )
152 Часть II. Использование функций в формулах

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


числительного
В некоторых случаях вам может потребоваться записать определенное число как по­
рядковый номер. Например, в английском тексте T o d a y i s t h e 2 1 s t d a y o f t h e
m o n t h (сегодня 21-е число месяца) число 21 отображено как порядковый номер, т.е.
в конец числа добавлен суффикс s t .
Решить эту проблему для текста на русском языке было бы намного сложнее. Напри­
мер, суффикс, добавляемый к числу 1, зависит не только от числа, но и смысла предло­
жения: 1 - е , 1 - г о , 1 -м у и т.д.
Символы, которые в данном примере будут добавляться в конец числа, зависят толь­
ко от самого числа. Поэтому невозможно привести стандартный пример этой формулы.
Пользователи могут каждый раз создавать собственную сложную конструкцию. В боль­
шинстве порядковых номеров в английском языке используется суффикс t h . Исключе­
ние составляют номера, заканчивающиеся числами 1, 2 или 3. То же самое касается но­
меров, в которых используется первый разряд— число 1, например, 11/12 или 13. Эти
числа требуют применения определенных правил, которые при желании могут быть
трансформированы в формулу Excel.
Формула, которая приведена ниже, преобразует число, содержащееся в ячейке А1
(предполагается, что это целое число), в порядковый номер.
=А1&ЕСЛИ(ИЛИ(ЗНАЧЕН(ПРАВСИМВ(А1; 2 ) ) = { 1 1 ; 1 2 ; 1 3 } ) ; " t h " ;
ЕСЛИ(ИЛИ(ЗНАЧЕН(ПРАВСИМВ(А 1 ) ) = { 1 ; 2 ; 3 } ) ; ВЫБОР(ПРАВСИМВ(А 1 ) ;
" S t" ; "nd"; " r d " ) ; " t h " ) )

Это довольно сложная формула, поэтому рассмотрим ее компоненты более подробно.


В общем случае формула работает следующим образом.
1. Суффикс t h добавляется, если последние две цифры порядкового номера пред­
ставляют собой числа 11,12 или 13.
2. Если первое правило не подходит к имеющемуся числу, то проверяется последняя
цифра. Если последняя цифра 1, то используется суффикс s t , если 2 — суффикс
nd, если 3 — суффикс rd .
3. Если ни первое, ни второе правило не подходят, применяется суффикс t h .

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

Определение литеры столбца по заданному номеру


Следующая формула возвращает литеру столбца рабочего листа (в диапазоне от А до
XFD) в соответствии со значением, введенным в ячейку А1. Например, если ячейка А1
содержит число 2 9, то формула возвратит значение АС.
=ЛЕВСИМВ(АДРЕС(1;А1;4); НАЙТИ( 1 ; АДРЕС( 1 ; А 1 ; 4 ) ) - 1 )
Глава 5. Работа с текстом 153

Имейте в виду, что данная формула не проверяет


правильность введенного числового значения номера
столбца. Другими словами, если ячейка А1 содержит
значение меньше 1 или больше 16 384, то формула все
равно будет давать результат, хотя уже не имеющий ни­
какого смысла. Ниже приведена модифицированная вер­
сия этой формулы, в которую введена новая функция
ЕСЛИОШИБКА, отображающая текст " Н е к о р р е к т н ы й
Рис. 5.5. Формула применяется
с т о л б е ц " вместо значения ошибки.
для преобразования числа в по­
=ЕСЛИОШИБКА (ЛЕВСИМВ (АДРЕС (1; А 1 ; 4 ) ; рядковое числительное
НАЙТИ( 1 ; АДРЕС( 1 ; А 1 ; 4 ) ) - 1 ) ;
"Некорректный с т о л б е ц " )

Извлечение имени файла из заданного маршрута


Ниже приведена формула, которая возвращает имя файла, извлеченное из маршрута.
Например, если ячейка А1 содержит маршрут с : \ w i n d o w s \ d e s k t o p \ m y f i l e . x l s x ,
то данная формула вернет текст m y f i l e . x l s x .
=ПСТР (A I ; НАЙТИ ( "* " ; ПОДСТАВИТЬ (А 1 ; "\ " ; "* " ; ДЛСТР (А 1 ) -
ДЛСТР(ПОДСТАВИТЬ(А1;"\";"" ) ) ) ) + 1 ; ДЛСТР(А1))
Данная формула предполагает, что разделитель маршрута представляет собой обрат­
ную косую черту (\). По существу, эта формула возвращает весь текст, следующий за
последним знаком -обратной косой черты. Если ячейка А1 не содержит этого символа,
формула возвращает значение ошибки.

Извлечение первого слова строки


Чтобы извлечь первое слово строки, в формуле необходимо задать поиск позиции
первого пробела. Найденная позиция будет использоваться как аргумент функции
ЛЕВСИМВ. Приведенная ниже формула выполняет именно эти действия:
=ЛЕВСИМВ ( А1; НАЙТИ ( " " ; А 1 ) - 1 )
Данная формула возвращает весь текст в ячейке А1, находящийся до первого пробе­
ла. Однако и в этой формуле существует один недочет: она возвращает значение ошибки
в том случае, если ячейка А1 состоит из единственного слова. Чтобы решить эту пробле­
му, достаточно ввести в формулу новую функцию ЕСЛИОШИБКА, которая будет прове­
рять наличие ошибки.
=ЕСЛИОШИБКА (ЛЕВСИМВ (А1; НАЙТИ (" " ; А 1 ) - 1 ) ;А1)
Функция ЕСЛИОШИБКА появилась только в версии Excel 2007. Для совместимости
с предыдущими версиями программы можно использовать другую формулу:
=ЕСЛИ(ЕОШ(НАЙТИ(" ";А1) ) ;А 1 ; ЛЕВСИМВ(А1; НАЙТИ(" " ;А1) - 1 ) )

Извлечение последнего слова строки


Извлечение последнего слова— более сложная задача, поскольку функция НАЙТИ
работает только в направлении слева направо. Задача сводится к определению местона­
хождения последнего пробела. Приведенная ниже формула позволяет решить эту задачу.
Данная формула возвращает последнее слово строки, другими словами, весь текст, рас­
положенный после последнего пробела.
154 Часть II. Использование функций в формулах

=ПРАВСИМВ(А 1 ; ДЛСТР(А1) - НАЙТИ( " * " ; ПОДСТАВИТЬ(А 1 ;" " ; "*" ;


ДЛСТР(А1) -ДЛСТР(ПОДСТАВИТЬ(А1;" " ; " " ) ) ) ) )
Тем не менее эта формула имеет ту же проблему, что и приведенная в предыдущем
разделе: она возвращает значение ошибки в том случае, если строка не содержит ни од­
ного пробела. В следующей формуле эта проблема решается с помощью использования
функции ЕСЛИОШИБКА:
=ЕСЛИОШИБКА(ПРАВСИМВ(А 1 ; ДЛСТР(А 1 ) - НАЙТИ( " * " ; ПОДСТАВИТЬ(А 1 ;
" " ; " * " ; ДЛСТР(А1)-ДЛСТР(ПОДСТАВИТЬ(А1;" " ; " " ) ) ) ) ) ;А1)
Для совместимости с предыдущими версиями можете использовать следующую формулу:
=ЕСЛИ(ЕСОШ(НАЙТИ(" " , А 1 ) ) ; А 1 ; ПРАВСИМВ(А1;
ДЛСТР(А1)-НАЙТИ( " * " ; ПОДСТАВИТЬ(А1;" " ; ; ДЛСТР(А1)
-ДЛСТР(ПОДСТАВИТЬ(А1;" " ; " " ) ) ) ) ) )

Извлечение всех слов строки, кроме первого


Следующая формула полностью возвращает содержимое ячейки А1, за исключением
первого слова:
=ПРАВСИМВ (А 1 ; ДЛСТР (А 1 ) - НАЙТИ (" " ; А 1 ; 1 ) )
Например, если ячейка А1 содержит текст Текущий бюджет 2 0 0 2 , формула воз­
вращает текст бюдже т 2002.
Данная формула возвращает ошибку, если в ячейке содержится только одно слово.
Следующая формула решает эту проблему и возвращает пустую строку, если ячейка со­
держит одно или несколько слов:
=ЕСЛИОШИБКА(ПРАВСИМВ(А 1 , ДЛСТР(А 1 ) -ИСКАТЬ(". " , А 1 , 1 ) ) , "")
Для совместимости с предыдущими версиями можно воспользоваться следующей
формулой:
=ЕСЛИ(ЕСОШ(НАЙТИ(" " ; А 1 ) ) ПРАВСИМВ(А1; ДЛСТР(А1) -НАЙТИ(" " ; А 1 ; 1 ) ))

Извлечение имени, отчества и фамилии


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

Примечание
Задача становится более сложной, если имена в списке содержат титулы и
звания (например, г - н , проф. ) или сопровождаются некоторыми дополни­
тельными подробностями (например, мл. или ш ) . Приведенные ниже
формулы не помогут в таких сложных случаях. Тем не менее они позволяют
существенно продвинуться в решении этой задачи. Вам остается внести
лишь несколько корректировок, чтобы вручную обработать частные случаи.
В приведенных ниже формулах предполагается, что имя и фамилия человека нахо­
дятся в ячейке А1. Формула, возвращающая имя человека, выглядит весьма просто:
=ЛЕВСИМВ(А 1 ; НАЙТИ(" " ; А 1 ) - 1 )
Глава 5. Работа с текстом 155

Сложнее ситуация обстоит со списками отчеств людей, так как эта информация мо­
жет быть введена не во все ячейки. Данная формула возвращает отчество человека (если
таковое имеется), в противном случае формула не вернет ничего.
=ЕСЛИ(ДЛСТР(А1) -ДЛСТР(ПОДСТАВИТЬ(А1;" " ; " " ) ) >1;
П С Т Р (А 1 ; И С К А Т Ь ( " " ; А 1 ) + 1 ; И С К А ТЬ ( " " ; А 1 ; И С К АТЬ (" ";
А1) + 1 ) - (ИСКАТЬ(" " ; А 1 ) + 1 ) ) ; " " )
И наконец, следующая формула возвращает фамилию:
=ЕСЛИОШИБКА(ПРАВСИМВ ( A I ; LEN (А1) -ИСКАТЬ ( "* " ; ПОДСТАВИТЬ (А1 ;
.. .. . .. *.. . ПРАВСИМВ (А1) -ДЛСТР (ПОДСТАВИТЬ ( А1; " " ; " " ) ) ) ) ) ; " " )
Однако существует формула, которая позволяет более простым способом извлечь из
списка отчества людей. Следующая формула может быть весьма полезна, если изначаль­
но использовать две другие формулы для получения имени и фамилии. Необходимо по­
местить имя человека в ячейку В1, а фамилию — в ячейку D1.
=ЕСЛИ(ДЛСТР(B1&D1)+ 2 >=ДЛСТР(А1) ;" " ;ПСТР(А1; ДЛСТР(В1)+2;
ДЛСТР(А1)-ДЛСТР(B1&D1)- 2 ) )
Как видно на рис. 5.6, эти формулы работают достаточно хорошо. Тем не менее неко­
торые проблемы все же существуют, особенно с именами, которые содержат четыре
слова. Но, как отмечается ниже, такую ситуацию можно исправить вручную.

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

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

Удаление титулов и званий из имен


Приведенная далее формула позволяет избежать двух часто употребляемых обраще­
ний: Г о с п . и Г - ж а . . Например, если ячейка А1 содержит текст Г о с п . С е р г е й
Новиков, следующая формула возвращает С е р г е й Но в ик ов :
=ЕСЛИ (ИЛИ (ЛЕВСИМВ (А 1 ; 4) = "Госп . " ; ЛЕВСИМВ ( А1 ; 4) = "Г-жа" ) ;
ПРАВСИМВ (А1; ДЛСТР (А1) -НАЙТИ(" ";А1) ) ;А1)

Разделение текстовых строк без использования формул


Во многих случаях можно отказаться от применения формул и разобрать строки на
составляющие их элементы с помощью команды Данные1^Работа с данными>=>Текст по
столбцам. Будет вызван мастер текстов, содержащий несколько последовательных
окон (одно из них показано ниже). Мастер позволит по шагам пройти процесс преобра­
156 Часть II. Использование функций в формулах

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

Подсчет количества слов в ячейке


Следующая формула возвращает количество слов в ячейке А1:
=ДЛСТР(СЖПРОБЕЛЫ(А 1 ) ) -ДЛСТР(ПОДСТАВИТЬ(
СЖПРОБЕЛЫ(А1) ;" м; " " ) )+1
В этой формуле используется функция СЖПРОБЕЛЫ, которая удаляет лишние пробе­
лы. После этого с помощью функции ПОДСТАВИТЬ в памяти создается новая строка без
пробелов. Затем длина созданной строки вычитается из длины исходной строки, в ре­
зультате чего получается количество пробелов. Это значение увеличивается на единицу
и таким образом подсчитывается количество слов.
Имейте в виду, что приведенная выше формула возвращает значение 1, если заданная
ячейка не содержит данных. Решить эту проблему можно, усовершенствовав формулу
следующим образом:
=ЕСЛИ(ДЛСТР(А1)=0;0 ; ДЛСТР(СЖПРОБЕЛЫ(А1)) -
ДЛСТР (ПОДСТАВИТЬ (СЖПРОБЕЛЫ (А1) м; "") )+1) .

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

Дата и время
В этой главе...
♦ Принципы управления датами и временем в Excel
♦ Функции управления датами
♦ Функции управления временем

Начинающие пользователи Excel при использовании данных даты и времени часто


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

Примечание
Примеры, которые будут использоваться в этой главе, соответствуют фор­
мату даты, принятому в русифицированном приложении Excel: д д . м м . г г г г
или д д / м м / г г г г . Например, дата 1.03.1952 или 01/03/1952 означает 1 мар­
та 1952 года. Имейте в виду, что это не 3 января 1952 года, как принято в ре­
гиональном формате США.

Принципы управления датами


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

Перекрестная ссылка
Информация, связанная с датами, представлена и в других главах книги.
К примеру, в главе 7 описаны примеры расчета значений ячеек, которым на­
значен формат даты, а в главе 25 — некоторые полезные функции управле­
ния датами, написанные на VBA.
158 Часть II. Использование функций в формулах

Представление даты как порядкового числа


Для Excel дата — это порядковое число, которое представляет собой количество дней,
прошедших с 0 января 1900 года. Это означает, что порядковое число 1 соответствует
дате 1 января 1900 года; число 2 — дате 2 января 1900 года и т.д. Существование такой
системы позволяет использовать формулы при работе с датами. Например, она позволяет
создать формулу, которая будет вычислять количество дней между двумя датами.
Безусловно, виртуальная дата 0 января 1900 года может вызвать недоумение. Конеч­
но, она не является датой сотворения мира, а просто означает определенное мировое
время. Далее мы рассмотрим это понятие более подробно.
Чтобы представить числовое значение в виде даты, к ячейке, содержащей этот номер,
необходимо применить формат Д ата. Для этого откройте диалоговое окно Формат
ячеек и щелкните на вкладке Число, а затем выберите необходимый формат.

Примечание
Excel 2000 и более поздние версии этого приложения поддерживают даты в
диапазоне от 1 января 1900 года до 31 декабря 9999 года (порядковое число
этой даты 2958465). Диапазон дат, доступный в более ранних версиях при­
ложения, значительно меньше. Здесь используются даты с 1 января 1900
года и до 31 декабря 2078 года (порядковое число 65380).

Выберите систему дат: 1900 или 1904


Excel поддерживает две системы дат: система дат, начиная с 1900 или 1904 года.
Какую из них предпочесть в рабочей книге, вы определяете самостоятельно, в зависи­
мости от того, какая дата служит основанием для других дат. В системе дат, начинаю­
щейся с 1900 года, день 1 января 1900 года имеет порядковое число 1. В системе дат
1904 года начало отсчета — 1 января 1904 года. По умолчанию для систем Windows при­
ложение Excel использует систему дат, начинающую отсчет с 1 января 1900 года, а для
систем Macintosh — дату, начиная с 1904 года. Тем не менее в Excel для Windows с це­
лью обеспечения совместимости с файлами Macintosh тоже поддерживается система
дат 1904. Систему дат можно изменить, используя диалоговое окно параметров про­
граммы. Чтобы открыть его, выберите команду Файл^Параметры Excel, а затем щелк­
ните на вкладке Дополнительно. В зависимости от своих намерений установите или
снимите в разделе При пересчете этой книги флажок Использовать систему дат 1904.
Имейте в виду, что система дат не может изменяться, если в компьютере используется
версия Excel для Macintosh.
Рекомендуем использовать систему дат, установленную по умолчанию (начиная с
1900 года). Будьте особенно осторожны, когда применяете две различные системы дат
в связанных рабочих книгах. Предположим, что Книга1 использует систему дат, начи­
ная с 1904 года, и содержит в ячейке А1 дату 1 5 / 1 / 1 9 9 9 , а Книга2, наоборот, исполь­
зует систему дат с 1900 года и содержит ссылку на ячейку a i к н и г и книга 1. В книге
Книга2 эта дата будет отображаться как 1 4 / 1 / 1 9 9 5 . Таким образом, обе рабочие книги
используют один и тот же порядковое число дня (34 713), но в разных книгах оно ин­
терпретируется по-разному.
Существует одно преимущество использования системы дат 1904. Эта система по­
зволяет отображать отрицательные значения времени. Другими словами, при исполь­
зовании системы дат 1900 результат вычитания 4 : о о - 5 : з о , не может быть отображен.
При использовании системы дат 1904 результат отображается как отрицательное вре­
мя - 1 : зо (т.е. разница составляет один час и 30 минут).
Глава 6. Дата и время 159

Ввод даты
Конечно, можно вводить дату как порядковое число, но, как правило, дата вводится
с использованием одного из нескольких поддерживаемых в Excel форматов даты. После
ввода даты Excel автоматически преобразует ее в соответствующее порядковое число,
которое в дальнейшем будет использоваться для вычислений. Затем к ячейке применяет­
ся заданный по умолчанию формат даты, и на экране отображается более привычный
формат даты, нежели загадочное порядковое число.
Например, если необходимо ввести дату 3 июня 2010 года, то это можно сделать
весьма просто— 3 Июнь, 2 0 1 0 , используя данный формат или любой другой из
имеющихся форматов даты. Excel преобразует введенную информацию и сохранит ее
как числовое значение 3 9 2 5 1 — порядковое число, соответствующее этой дате. После
этого Excel применит формат даты, заданный по умолчанию, поэтому содержимое ячей­
ки может быть отображено в представлении, несколько отличном от введенного.

Примечание
В зависимости от установленных региональных параметров операционной
системы, дата, введенная в формате з и ю н ь , 2 0 1 0 , может интерпретиро­
ваться как текстовая строка. В таком случае нужно ввести дату, как опреде­
лено в окне региональных параметров Windows.
Обратите внимание, что при активизации ячейки, содержащей дату, в строке формул
отображается ее содержимое. Оно будет представлено в заданном по умолчанию форма­
те, который соответствует сокращенному виду даты, принятому в системе. Имейте в ви­
ду, что строка формул не отображает порядковое число даты. Чтобы отобразить поряд­
ковое число даты, примените к ячейке числовой формат.

Совет
Чтобы изменить заданный по умолчанию формат даты, необходимо изме­
нить региональные параметры операционной системы. Для этого в систем­
ном меню Пуск операционной системы Windows 7 выберите команду Панель
управления^Язык и региональные стандарты и выберите в соответствующих
раскрывающихся списках краткий и полный форматы дат. В Excel по умол­
чанию применяется краткий формат даты.
В табл. 6.1 приведены образцы форматов даты, которые поддерживает Excel (исполь­
зуемые в региональных параметрах для России и Украины). Однако они могут отличаться,
если в компьютере были установлены параметры другого региона.
160 Часть II. Использование функций в формулах

Окончание табл. 6.1


Введенные Воспринимается в Excel Что отображает Excel
данные (настройка для России и Украины)
3 Июн 3 июня текущего года 03.июн
3 Июнь 3 июня текущего года 03.июн
3/6 3 июня текущего года 03.июн
3-6 3 июня текущего года 03.июн
3 -июн- 2 0 1 0 3 июня 2010 года 03.07.2010
2010/6/3 3 июня 2010 года Короткая дата Windows

Рассматривая примеры, приведенные в этой таблице, можно сделать вывод, что Excel
обладает достаточно широкими возможностями преобразования введенных дат, однако
они не вполне совершенны. Например, программа не признает в качестве даты следую­
щую введенную информацию:
• 1 июня 2010;
• Июн-1 2010;
• Июн-1/2010.
Эту информацию Excel воспримет как текст. Поэтому прежде чем использовать даты
в формулах, убедитесь, что Excel поддерживает тот формат даты, который собираетесь
ввести. В противном случае формулы, которые обращаются к этим датам, будут работать
некорректно.
Существует еще один недостаток. Если введенная дата находится вне поддерживаемого
диапазона дат, Excel также интерпретирует ее как текст. Если порядковое число, находя­
щееся за пределами доступных для даты числовых значений, попытаться привести к фор­
мату даты, вместо значения будет отображаться ряд знаков “решетки” (#########).

Поиск даты
В рабочем листе, в котором используется довольно м ного дат, мож ет возникнуть
необходим ость найти определенную дату. Для это го воспользуйтесь д иалоговы м окном
Найти и заменить Excel, которое м ожно открыть, выбрав ком анду Главная^Р ед актиро-
ва н и е ^Н а й ти и вы делить1^ Найти или нажав ком бинацию клавиш <C trl+F>. И мейте в в и­
ду, что Excel достаточно требовательна к точности ввода иском ой инф орм ации. Вам
придется ввести полны й четы рехразрядны й го д даты в поле Найти д и а л о го в о го окна
поиска данных. Ф орм ат даты долж ен соответствовать кратком у представлению даты,
принятом у в систем е. Это представление можно увидеть в строке ф ормул.

Представление времени как порядкового числа


В Excel в качестве времени применяется дробная часть порядкового числа, обозна­
чающего дату. Другими словами, Excel считает сутки единицей, а все величины меньше
суток — соответствующей частью единицы. Например, порядковое число даты 18 июня
2010 года равно 4 0 3 4 7, а полдень того же дня имеет значение 4 034 7 . 5 .
Порядковое число одной минуты эквивалентно приблизительно 0 , 0 0 0 6 9 4 4 4 . Фор­
мула, приведенная ниже, вычисляет этот номер следующим образом: 24 часа умножается
на 60 минут, а затем 1 делится на полученный результат. Таким образом, в знаменателе
получается количество минут в одном дне (1440).
=1 / (24*60)
Глава 6. Дата и время 161

Тем же способом в Excel определяется порядковое число одной секунды— прибли­


зительно 0 , 0 0 0 0 1 1 5 7 . Для этого 1 делится на 24 часа, умноженные на 60 минут и 60
секунд. В этом случае знаменатель содержит количество секунд в одном дне (86400).
=1/(24*60*60)
Самая маленькая единица измерения времени в приложении Excel — одна тысячная
доля секунды (миллисекунда). Порядковое число приведенного ниже значения представ­
ляет время 2 3 : 5 9 : 5 9 , 9 9 9 , или без одной тысячной секунды полночь.
0,99999999
В табл. 6.2 представлены различные значения времени и соответствующие им поряд­
ковые числа, по которым Excel распознает это время.

Таблица 6.2. Время суток и преобразование его в порядковое число


Время суток Порядковое число времени
12:00:00 (полночь) 0,00000000
1:30:00 0,06250000
3:00:00 0,12500000
4:30:00 0,18750000
6:00:00 0,25000000
7:30:00 0,31250000
9:00:00 0,37500000
10:30:00 0,43750000
12:00:00 (полдень) 0,50000000
13:30:00 0,56250000
15:00:00 0,62500000
16:30:00 0,68750000
16:00:00 0,75000000
19:30:00 0,81250000
21:00:00 0,87500000
22:30:00 0,93750000

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

Таблица 6.3. Преобразование введенного времени в формат Excel


Введенные данные Как Excel интерпретирует это время Что отображает Excel
11:30:00 11:30 11:30:00
1 1 : 3 0 am 11:30 11:30
1 : 3 0 pm 13:30 13:30
11 11:00 11:00

Поскольку приведенные выше примеры времени не связаны ни с каким определен­


ным днем, Excel по умолчанию использует порядковое число 0, соответствующее дате 0
января 1900 года, которая, по своей сути, не является датой.
162 Часть II. Использование функций в формулах

Примечание
При использовании системы дат, начинающейся с 1904 года, временные
значения без значения даты отсчитываются от первого января 1904 года.
Все приведенные ниже примеры основываются на системе дат, начинаю­
щейся с 1900 года.
Чтобы объединить дату и время, используйте совместный формат даты и времени,
который состоит из формата даты, пробела и формата времени. Например, если в ячейку
ввести текст 18 ию нь, 2010 1 1 :3 0 , приложение Excel вычислит порядковое число
3 9 2 5 1 , 4 7 9 1 6 6 6 6 6 7 и отобразит его в доступном формате даты и времени.
18.06.2010 11:30:00
В некоторых случаях, когда вводится время, превышающее 24 часа, связанная с ним
дата соответственно увеличивается. Например, если ввести в ячейку время 25:00:00, Ex­
cel увеличит ту часть, которая относится ко дню (поскольку время превышает 24 часа),
и отобразит введенное значение следующим образом:
0 1 . 01.2000 1 : 00:00
То же самое происходит, если ввести одновременно и дату, и время, превышающее
24 часа. Введенная дата при отображении будет откорректирована. Например, при вводе
в ячейку 0 1 . 0 9 . 2 0 1 0 2 5 : 0 0 : 0 0 на экране отображается следующая информация:
02.09.2010 1:00:00
При вводе только времени без соответствующей даты максимальное время, которое
можно ввести в ячейку равно 9 9 9 9 : 5 9 : 5 9 , т.е. менее 10000 часов. В этом случае Excel
добавляет соответствующее количество дней, и на экране отображается полученная дата.
Если же ввести время, превышающее предел 10000 часов, то оно будет представлено как
простая текстовая строка.

Форматирование значений даты и времени


Работая с ячейками, содержащими любую дату и время, вы имеете прекрасную воз­
можность форматировать их так, как это необходимо. Например, можно установить та­
кой формат ячейки, чтобы в ней отображалась только определенная часть даты или вре­
мени или только заданные части времени и даты одновременно.
Для форматирования ячейки с датой и временем необходимо выделить ячейку и
щелкнуть во вкладке Главная на раскрывающемся списке числовых форматов (рис. 6.1).
Этот список содержит два формата даты и один формат времени.

® ^°,вт
При создании формул со ссылками на ячейку, содержимое которой пред­
ставляет дату или время, Excel автоматически преобразует результат вы­
полнения формул в формат даты или времени. В некоторых случаях это мо­
жет быть весьма кстати, в других же создает определенные неудобства
и даже раздражает. К сожалению, Excel не позволяет отключить автомати­
ческое форматирование ячейки. Тем не менее в подобных случаях можно
воспользоваться специальной комбинацией клавиш, чтобы отменить фор­
матирование всех чисел ячейки и вернуться к формату Общий, заданному по
умолчанию. Для этого достаточно выделить ячейку и нажать комбинацию
клавиш <Ctrl+Shift+~>.
Глава 6. Дата и время 163

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

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


для нужного представления даты и времени. Не отчаивайтесь — Excel предоставит вам
прекрасную возможность создать пользовательский числовой формат. Выберите в спи­
ске пункт Другие числовые форматы (см. рис. 6.1) и введите определение пользова­
тельского формата в поле Тип. (Для получения дополнительной информации о создании
пользовательских числовых форматов см. приложение Б).

Совет
Следующий пользовательский формат данных особенно полезен для ото­
бражения времени:
[ ч ] :м м :сс

Заключите часы в квадратные скобки, чтобы иметь возможность отображать


часы за пределами 24. Использовать этот способ весьма удобно при добав­
лении более 24 часов. Соответствующий пример рассмотрен далее.

Проблемы, связанные с датами


Несмотря на всю эффективность форматов дат, в Excel все же иногда возникают про­
блемы при работе с датами. Многие из них уходят в прошлое. Excel была разработана
много лет назад, еще раньше, чем так называемая “проблема 2000 года” впервые потряс­
164 Часть II. Использование функций в формулах

ла мир. Но, как уже отмечалось, во многом разработчики Excel “отталкивались” от


Lotus 1-2-3 с ее ограниченными возможностями управления датами и временем. Поэтому
все самые серьезные технические дефекты были непреднамеренно перенесены в Excel.
Кроме того, версии самой Excel не единообразно интерпретируют записи дат с годом из
двух цифр. И наконец, то, как Excel понимает запись даты в ячейке, напрямую зависит от
региональных параметров, установленных в Windows.
Безусловно, если бы Excel полностью разрабатывалась в настоящее время, то она бы­
ла бы гораздо совершеннее в отношении управления датами. Но, к сожалению, пока
приходится работать с программным продуктом, который в этом вопросе оставляет же­
лать лучшего.

Ошибка високосного года


Високосный год, который наступает через каждые четыре года, имеет один дополни­
тельный день — 29 февраля. Несмотря на то что 1900 год не был таковым, Excel воспри­
нимает его как високосный. Другими словами, если ввести в ячейку 2 9 . 0 2 . 1 9 0 0 , Excel
не отобразит сообщение об ошибке, а интерпретирует это как значение даты, соответст­
вующее 60-му дню с начала отсчета (порядковое число 60):
29.2.1990
Однако если ввести другую недопустимую дату 2 9 . 0 2 . 1 9 0 1 , Excel отобразит сооб­
щение об ошибке. Приложение не преобразует эту запись в дату, а, скорее, воспримет ее
как текстовую строку:
29.02.1901
Возникает вопрос: как программный продукт, который ежедневно используют мил­
лионы людей, может содержать такую очевидную ошибку? Ответ кроется в истории его
создания. Исходная версия Lotus 1-2-3, на которой базировалось приложение Excel, со­
держала дефект, по причине которого 1900 год рассматривался как високосный. Разра­
ботчики приложения Excel знали об этой ошибке и позднее, при выпуске приложения,
специально перенесли этот дефект, чтобы обеспечить его совместимость с рабочими
листами файлов Lotus.
Но почему же эта ошибка до сих пор существует в более поздних версиях Excel?
Компания Microsoft утверждает, что проблемы, которые могут возникнуть при исправ­
лении этой ошибки, значительно перевешивают преимущества исправления. Устранение
этой ошибки привело бы в беспорядок сотни тысяч существующих рабочих книг. Кроме
того, исправление указанной проблемы сказалось бы на совместимости самой Excel с
другими программами, использующими дату. Именно поэтому данная ошибка влечет за
собой гораздо меньше проблем, чем ее исправление. К тому же, большинство пользова­
телей не используют даты, предшествующие 1 марта 1900 года.

Использование дат до 1900 года


Безусловно, мир начал свое существование не с 1 января 1900 года. Пользователи Excel,
которые работают с исторической информацией, часто используют даты до 1 января 1900
года. Но, к сожалению, единственный способ работы с такими датами в общепринятых
форматах — это ввести их в ячейку как текстовую информацию. Например, если ввести в
текстовую ячейку следующую строку, Excel воспримет ее без сообщения об ошибке:
4 июль, 1776
Глава 6. Дата и время 165

Совет
Если планируете сортировать старые даты, введенные как текст, или хотите
избавиться от проблем с форматами, применяйте даты в формате UTC
(Universal Time Coordinated — универсальное скоординированное время по
Гринвичу). В формате UTC (стандарт ISO 8601) дата записывается так:
г г г г - м м - д д , например, 1 7 7 6 - 0 7 - 2 4 . Это стандартный международный
формат даты и времени, используемый в авиационной и морской навига­
ции. Его основное преимущество состоит в том, что он правильно считыва­
ется, обрабатывается и сортируется практически в любой системе (в том
числе, в Excel) и при любых параметрах региональных форматов по той при­
чине, что в нем все разряды по старшинству расположены слева направо.
Для сравнения: в русском формате даты (например, 2 4 . 7 . 1 7 7 6 ) год (старший
разряд) расположен правее дня (младшего разряда). К сожалению, среди
пользователей формат UTC мало популярен (как в США, так и в России), по­
тому что для них он непривычный и по этой причине плохо воспринимается
визуально.
Однако датами, принимаемыми в виде текста, уже нельзя манипулировать как номи­
нальными, измеряемыми в единицах времени. Эти даты нельзя сортировать, фильтровать
и форматировать, изменяя числовой формат, как это принято в Excel. Нельзя определить
день недели, на который приходится заданная дата, а также вычислить дату, которая сле­
дует семью днями позже.

Перекрестная ссылка
В главе 25 вашему вниманию будет представлено несколько пользовательских
функций VBA, позволяющих работать с датами от 100-го до 9999-го года.

Ввод противоречивых дат


Будьте осторожны при вводе дат, использующих для отображения года два разряда.
В этом случае Excel использует ряд правил, определяющих, какое столетие необходимо ис­
пользовать. Данные правила зависят от версии Excel, которая установлена в компьютере.
В Excel 7 годы, обозначаемые двумя числами в диапазоне между 00 и 29, интерпре­
тируются как принадлежащие к XXI столетию, а даты между 30 и 99 — как даты XX
столетия. Например, если ввести в ячейку запись 5 .1 2 .2 8, то Excel интерпретирует ее
как 5 декабря 2028 года. Но если ввести дату 5 . 1 2 . 3 0 , Excel воспримет ее как 5 декабря
1930 года. В Excel 2000 или более поздней версии, работающей под управлением Win­
dows 98 и выше, в качестве граничного года, заданного по умолчанию, используется
2029 год. В то же время вы можете самостоятельно установить граничный год с помо­
щью окна региональных стандартов Windows.

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

Функции управления датами


Excel предлагает не так много функций, предназначенных для работы с датой. Эти
функции представлены в раскрывающемся списке Формулы ^Библиотека функций1^
Дата и время.
166 Часть II. Использование функций в формулах

В табл. 6.4 приведены функции, связанные с использованием даты, которые доступны


в Excel.

Таблица 6.4. Функции, связанные с датой


Функция Описание функции
дата Принимает три аргумента (год, месяц и день) и возвращает порядковое
число даты
датазнач Принимает дату в текстовом формате и возвращает порядковое число даты
день Преобразует дату в день месяца (число от 1 до 31)
ДНЕЙ360 Вычисляет количество дней между двумя датами на основе 360-дневного
года (двенадцать месяцев по 30 дней)
датамес Возвращает порядковое число даты, отстоящей на заданное количество
месяцев вперед или назад от заданной
конмесяца Возвращает порядковое число последнего дня месяца, отстоящего вперед
или назад на заданное количество месяцев
месяц Возвращает номер месяца (число в диапазоне от 1 до 12), соответствую­
щий введенному порядковому числу даты
чистрабдни Возвращает количество рабочих дней, расположенных между двумя датами
тдата Возвращает порядковое число текущих даты и времени
сегодня Возвращает порядковое число текущей даты
деньнед Преобразует порядковое число даты в номер дня недели (число от 1 до 7)
номнедели Возвращает номер недели в году
рабдень Возвращает порядковое число даты, отстоящей вперед или назад на за­
данное количество рабочих дней
год Преобразует порядковое число даты в год (целое число в диапазоне от
1900 до 9999)
долягода Возвращает долю года, которая составляет количество дней между началь­
ной и конечной датами

Отображение текущей даты


Функция, приведенная ниже, отображает в ячейке текущую дату (учитывайте, что ес­
ли установлен текстовый или общий формат ячейки, будет отображено порядковое число
сегодняшней даты).
=СЕГОДНЯ()
Можно отобразить не только текущую дату, но и объединить ее с Любым текстом.
Например, следующая формула будет выводить на экран такой текст: С е г о д н я
понедельник, 9 Апрель, 2010.
= "Сегодня "& ТЕКСТ(СЕГОДНЯ( ) ; "д ддд, д ММММ, г г г г " )
Помните, что результат функции СЕГОДНЯ изменяется каждый раз при расчете рабо­
чего листа. Например, если ввести в ячейку рабочего листа любую из рассмотренных
формул, они будут отображать текущую дату. Но откройте этот же рабочий лист на сле­
дующий день, и вы увидите, что формулы отображают совсем другую текущую дату.
Глава 6. Дата и время 167

Совет
Чтобы ввести в ячейку штамп даты (значение даты, которое не будет изме­
няться каждый последующий день), нажмите клавиши <Ctrl+Shift+; (точка
с запятой)>. Текущая дата будет введена в ячейку в текстовом формате без
использования формулы, поэтому она останется неизменной.

Отображение произвольных да т
Как уже отмечалось, дату можно добавить в ячейку, непосредственно введя ее в лю­
бом формате, поддерживаемом в приложении Excel. Дату также можно создать; для это­
го воспользуйтесь функцией ДАТА. Эта функция использует три аргумента: год, месяц
и день. Например, приведенная ниже формула возвращает дату, состоящую из года, взя­
того из ячейки А1, месяца, взятого из ячейки В1, и дня — из ячейки С1.
=ДАТА(А1;В1;С1)

Примечание
Обратите внимание, что функция дата принимает также недопустимые ар­
гументы и приводит результат в соответствие ожидаемому. Например, сле­
дующая формула использует число 13 как аргумент месяца и возвращает 1
Январь, 2011. Аргумент месяца автоматически преобразуется в первый
месяц следующего года.
=ДАТА( 2 0 1 0 ; 1 3 ;1)

Достаточно часто в функции ДАТА в качестве аргументов используются другие функ­


ции. Например, в приведенной ниже формуле функции ГОД и СЕГОДНЯ, используемые
как аргументы, возвращают День Независимости США (4 Июля) текущего года.
=ДАТА(ГОД(СЕГОДНЯ( ) ) ; 7 ; 4 )
Функция ДАТАЗНАЧ преобразует текстовую строку, представляющую собой дату,
в порядковое число даты. Следующая формула возвращает значение порядкового числа
даты 22 Августа 2010 года — 4 0 4 1 2 :
=ДАТАЗНАЧ( " 2 2 . 8 . 2 0 1 0 " )
Для того чтобы отобразить результат этой формулы в виде даты, достаточно приме­
нить к ячейке формат даты.

Предупреждение
Будьте особо внимательны при использовании функции д а т а з н а ч . Тексто­
вая строка, которая может быть использована как дата в одной стране, со­
вершенно не подходит для ввода даты в другой стране. Предыдущий пример
работает прекрасно в том случае, если система настроена для форматов да­
ты России или Украины. Однако при использовании других региональных
форматов даты (в частности, форматов США) формула может возвращать
ошибку, поскольку приложение Excel будет искать восьмой день двадцать
второго месяца.

Создание последовательности да т
В отдельных случаях может возникнуть необходимость вставить в рабочий лист це­
лый ряд последовательных дат. Например, при еженедельном отслеживании продаж тре­
168 Часть II. Использование функций в формулах

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

Рис. 6.2. Использование функции автозаполне­


ния для создания последовательности дат

Функция автозаполнения весьма гибкая. Например, можно создать последователь­


ность дат, разделенных десятью днями. Для этого введите две первые даты в две ячейки,
выделите эти ячейки, перетащите правой кнопкой мыши маркер автозаполнения и выбе­
рите в контекстном меню команду Заполнить по дням.
Использование формул для создания последовательности дат все же имеет свои пре­
имущества. В этом случае достаточно указать первую дату, после чего остальные авто­
матически приводятся ей в соответствие. Вначале введите в ячейку начальную дату, а за­
тем добавьте формулы, скопировав их вниз по столбцу, чтобы получить даты, следую­
щие за исходной.
В представленном далее примере мы введем первую дату ряда в ячейку А1, а форму­
л у — в ячейку А2. Скопируйте формулу в ячейке вниз по столбцу столько раз, сколько
это необходимо.
Данная формула позволяет создать ряд последовательных дат, следующих одна за
другой с интервалом в семь дней.
=А1 + 7
Чтобы создать ряд последовательных дат, отстоящих друг от друга на месяц, вос­
пользуйтесь такой формулой:
=ДАТА(ГОД(А 1) ; МЕСЯЦ(А 1 ) + 1 ; ДЕНЬ(А1))
Глава 6. Дата и время 169

Формула, приведенная ниже, возвращает даты, следующие одна за другой с интерва­


лом в год.
=ДАТА(ГОД(А 1 ) + 1 ; МЕСЯЦ(А1) ;ДЕНЬ(А1))
Чтобы создать ряд, который состоит из дат, относящихся только к рабочим дням (т.е.
исключая субботы и воскресенья), воспользуйтесь приведенной ниже формулой. Имейте
в виду: она предполагает, что дата, введенная в ячейку А1, — рабочий день.
=ЕСЛИ (ДЕНЬНЕД (А1) =6 ; A l + 3 ; А1 + 1 )

Преобразование строки в дату


Даты, импортируемые как текстовые строки, тоже можно преобразовать в дату.
Предположим, в результате импорта из другого приложения получена приведенная ниже
текстовая строка, которая в действительности представляет собой дату 21 августа 2010
года. Этот текст состоит из четырех знаков, относящихся к году, двух знаков месяца и
двух знаков дня.
20100821
Чтобы преобразовать эту строку в фактическую дату, воспользуйтесь формулой, при­
веденной ниже. Эта формула предполагает, что исходные данные занесены в ячейку А1.
=ДАТА(ЛЕВСИМВ(А 1 ; 4 ) ; ПСТР(А 1 ; 5 ; 2 ) ; ПРАВСИМВ(А1; 2 ) )
Представленная формула использует текстовые функции ЛЕВСИМВ, ПСТР и ПРАВСИМВ
для извлечения из заданной строки определенных чисел. После этого она применяет их как
аргументы функции ДАТА.

Ф
Перекрестная ссылка
Для получения дополнительной информации об использовании формул
управления текстом обратитесь к главе 5.

Вычисление количества дней между двумя датами


Самый распространенный тип вычислений, связанный с датами, — это определение
количества дней между двумя заданными датами. Предположим, что на одном из листов
рабочей книги вычисляется процент, получаемый по срочному вкладу. Размер получен­
ного процента зависит от количества дней, на которое открыт счет. Если рабочий лист
содержит дату открытия и дату закрытия счета, то можно легко определить срок в днях,
на который был открыт счет.
Поскольку даты на рабочем листе, как правило, сохраняются в виде последователь­
ных значений, то для вычисления количества дней можно использовать простое вычита­
ние. Предположим, что ячейки А1 и В1 содержат некоторые даты. Следующая формула
возвращает количество дней между этими датами:
=А1-В1
Вероятнее всего, Excel автоматически отформатирует результирующую ячейку как
дату, а не как числовое значение. Вам потребуется вручную изменить формат этой ячей­
ки на числовой. Если ячейка В1 содержит более позднюю дату, чем ячейка А1, то ре­
зультат, возвращаемый формулой, будет отрицательным.
170 Часть II. Использование функций в формулах

Примечание
Если приведенная выше формула отображает некорректное значение, убе­
дитесь, что ячейки a i и В1 действительно содержат даты, а не текстовую
информацию, похожую на даты.
В некоторых случаях вычисление разницы между двумя датами может потребовать зна­
чительных усилий. Чтобы продемонстрировать это, проведем аналогию с “телеграфными
столбами”. Например, если требуется определить количество телеграфных столбов, то за­
дачу их подсчета можно решить двумя способами: непосредственно сосчитав количество
столбов или определив количество пролетов между ними. При этом имейте в виду, что ко­
личество столбов всегда на один больше, чем пролетов.
Чтобы рассмотреть эту ситуацию применительно к некоторому диапазону дат, в каче­
стве примера приведем кампанию по продвижению на рынок некоторого товара. Пред­
положим, что начальная дата кампании по продвижению товара — 1 февраля, а завер­
шающая дата — 9 февраля. Просто вычитая одну цифру из другой, мы получим ответ:
восемь дней. Но в действительности срок продвижения товара — девять дней. В этом
случае, чтобы получить правильный ответ, необходимо сосчитать дни “включительно”,
а не определять количество дней между датами. Ниже приведена формула, позволяющая
вычислить длительность кампании по продвижению товара (предположим, что у нас есть
ячейки, соответствующие этим названиям).
=ПоследнийДень-НачальныйДень+1

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


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

Примечание
Название функции чистрабдни часто вводит в заблуждение. Она не имеет
никакого отношения к чистоте или рабству, а, вместо этого, возвращает ко­
личество рабочих дней между двумя заданными датами.
Итак, функция ЧИСТРАБДНИ вычисляет разницу между двумя датами, исключая вы­
ходные дни (субботы и воскресенья). Кроме того, как дополнительное условие можно,
определить диапазон ячеек, содержащий даты, на которые приходятся праздничные дни.
Эти даты также могут быть исключены при расчете. Естественно, Excel не имеет ника­
кой возможности самостоятельно определять праздничные дни, поэтому вы должны
обеспечить программу этой информацией, указав соответствующий диапазон ячеек.
На рис. 6.3 показан рабочий лист, на котором вычисляется количество рабочих дней
между определенными датами. В диапазоне А2 : А8 содержится перечень дат, приходя­
щихся на праздничные дни. Формулы, которые введены в столбце С, вычисляют количе­
ство рабочих дней, расположенных между датами в столбцах А и В. Например, формула
в ячейке С И будет иметь такой вид:
=ЧИСТ РАБДНИ( A l l ; В 1 1 ;А 2 :А 8 )
Глава 6. Дата и время 171

Рис. 6.3. Для определения количества рабочих дней в промежутке


между двумя заданными датами воспользуйтесь функцией
Ч И С ТРА Б Д Н И

Формула возвращает значение 3. Это означает, что семидневный период, начинаю­


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

Новинка
В Excel 2010 добавлена усовершенствованная версия функции чист р аб дни ,
которая называется ч и с т р а б д н и . межд. Она полезна, когда нужно считать
выходными днями не субботу и воскресенье, а другие дни недели.

Компакт-диск
Файл этого примера на компакт-диске называется work d a y s . x l s x (Chapter06_
RUS. x l s x ) .

Вычисление даты по графику рабочих дней


Функция РАБДЕНЬ является прямой противоположностью функции ЧИСТРАБДНИ.
Например, при запуске в работу определенного проекта, на выполнение которого требу­
ется десять дней, функция поможет вычислить дату окончания проекта.
В приведенной ниже формуле с помощью функции РАБДЕНЬ определяется дата, сле­
дующая через десять рабочих дней после 8 января 2010 года. Рабочими днями считаются
будние дни недели (с понедельника по пятницу).
=РАБДЕНЬ( " 0 8 . 0 1 . 2 0 1 0 " ; 1 0 )
Формула возвращает значение 20 января 2010 года (между 8 и 20 января выпадает
два выходных дня).

Предупреждение
Имейте в виду, что результат, возвращаемый данной формулой, полностью
зависит от региональных форматов даты. В других странах приведенная
выше жестко закодированная дата может интерпретироваться как 1 августа
2010 года. Чтобы избежать этого, используйте следующую формулу:
=РАБДЕНЬ(ДАТА( 2 0 1 0 ; 1 ; 8 ) ; 10 )

Интересно, что второй аргумент функции РАБДЕНЬ может быть отрицательным. Как
и в случае с функцией ЧИСТРАБДНИ, функция РАБДЕНЬ может использовать третий не­
172 Часть II. Использование функций в формулах

обязательный аргумент, который определяет диапазон ячеек с датами, относящимися


к праздничным дням и дням отпуска.

Вычисление количества ле т между двумя датами


Следующая формула вычисляет количество лет между двумя датами. В данном слу­
чае предполагается, что ячейки А1 и В1 содержат даты.
=ГОД(А1) -ГОД(В1)
Для извлечения года из каждой заданной даты в этой формуле используется функция ГОД,
после чего один год вычитается из другого. Имейте в виду следующее: если В1 содержит бо­
лее близкий к текущей дате год, чем дата в ячейке А1, результат будет отрицательным.
Следует обратить внимание, что данная функция не вычисляет часть года. Например, если
ячейка А1 содержит дату 3 1 . 1 2 . 2010, а ячейка В1 — дату 0 1 . 01 . 2 0 1 1 , то формула вер­
нет разницу в один год, несмотря на то, что эти даты отличаются всего лишь на один день.
Для вычисления количества лет между двумя датами можно также использовать функцию
ДОЛЯГОДА. Эта функция возвращает количество лет, включая неполные, например:
=ДОЛЯГОДА(А1/ В1/ 1)
Так как функцию ДОЛЯГОДА часто используют в финансовых приложениях, в ней
существует необязательный третий аргумент, представляющий “базис” года. Значение 1
этого аргумента указывает на текущий год.

Вычисление возраста человека


Возраст человека — это количество полных лет, которые человек уже прожил. Фор­
мула, приведенная для вычисления количества лет между двумя датами в предыдущем
разделе, не сможет корректно определить это значение. В этом случае нужно использо­
вать две другие формулы.
Следующая формула возвращает возраст человека, дата рождения которого содер­
жится в ячейке А1. Эта формула использует функцию ДОЛЯГОДА .
=ЦЕЛОЕ(ДОЛЯГОДА(СЕГОДНЯ( ) ; A I ; 1 ) )
Ниже приведена формула, которая применяет для вычисления возраста функцию
РАЗНДАТ.
=РАЗНДАТ(А1; СЕГОДНЯ( ) ; "у ")

Где найти функцию разндат


В этой главе неоднократно упоминалась функция р а з н д а т . Обратите внимание, что
ее нет в числе доступных в диалоговом окне Мастер функций, также она не содержится
в списке автозавершения формулы. Поэтому для того, чтобы использовать эту функ­
цию, ее необходимо ввести вручную.
Функция р аз нда т была известна еще со времен Lotus 1-2-3, и, очевидно, с целью
обеспечения совместимости Excel поддерживает ее. По определенным причинам Mi­
crosoft старается сохранить эту функцию в секрете. Интересно, что в версиях програм­
мы ниже Excel 2000 функция р а з нда т даже не упоминалась. Из интерактивной справки
Excel 2002 были удалены все ссылки на нее, хотя сама функция в этой версии приложе­
ния все еще доступна.
Тем не менее, функция разндат очень удобна. Она позволяет вычислить количество
дней, месяцев и лет, находящихся между двумя датами. В ней используется три аргумента:
Глава 6. Дата и время 173

начальная_дата, конечная_дата и определенный код_единицы_измерения, с помощью ко­


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

Код единицы Возвращаемое значение


измерения
Иу II Количество полных лет в заданном периоде
"Ш" Количество полных месяцев в заданном периоде
"d" Количество дней в заданном периоде
"md" Разница в днях между начальной и конечной датой. Месяцы и годы в
данном случае игнорируются
"ym" Разница в месяцах между начальной и конечной датой. Игнорируются
дни и годы
"yd" Разница в днях между начальной и конечной датой. Игнорируются го­
ды между заданными датами

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

Вычисление дня года


Итак, 1 января — это первый день года, а 31 декабря — последний. Как определить,
какой по счету день приходится на произвольную дату года? Следующая формула воз­
вращает порядковое число дня года для даты, содержащейся в ячейке А1:
=А1 - ДАТА(ГОД(AI) ; 1 ; 0 )
Если задать аргумент д е н ь равным нулю, функция ДАТА интерпретирует его как по­
следний день предыдущего месяца. Можно задавать отрицательные значения, они ин­
терпретируются аналогично.
Приведенная ниже формула возвращает день года текущей даты:
=СЕГОДНЯ( ) -ДАТА(ГОД(СЕГОДНЯ( ) ) ; 1 ; 0 )
Следующая формула возвращает количество дней в году, которые остались после на­
ступления даты, заданной в ячейке А1:
=ДАТА(ГОД(А1) ; 1 2 ; 3 1 ) -А1
Обратите внимание, что при вводе любой из этих формул Excel применяет к ячейке
формат даты, и чтобы увидеть полученный результат, необходимо применить к ячейке
числовой формат.
Следующую формулу рекомендуется использовать для того, чтобы преобразовать за­
данное порядковое число дня года (например, девяностый день) в определенную дату
и год, которые соответствуют этому дню. В этой формуле предполагается, что содержи­
мое ячейки А1 — это год, а содержимое ячейки В1 — это день года.
=ДАТА (A I ; 1; В 1 )

Вычисление дня недели


Для вычисления дня недели часто используют функцию ДЕНЬНЕД. Она принимает в ка­
честве аргумента дату и возвращает целое число, соответствующее дню недели, в диапазо­
не между 1 и 7. Следует отметить, что в данном случае отсчет дней начинается с воскресе­
174 Часть II. Использование функций в формулах

нья, как это принято в англоязычных программных продуктах. Например, следующая фор­
мула возвращает значение 5, поскольку первый день 2010 года выпадает на пятницу:
=ДЕНЬНЕД(ДАТА( 2 0 1 0 ; 1 ; 1 ) )
Функция ДЕНЬНЕД может принимать и второй, необязательный аргумент, который
определяет систему нумерации дней недели для вывода результата. Если в качестве вто­
рого аргумента введено значение 2, то функция возвращает значение 1 для понедельни­
ка, 2 — для вторника и т.д. Если же в качестве второго аргумента ввести значение 3, то
функция вернет 0 для понедельника, 1 — для вторника и т.д.

Совет
Для того чтобы вычислить день недели даты в ячейке, можете использовать
собственный числовой формат. Выберите команду Главная^Число^Число-
вой формат^Другие числовые форматы. В поле Тип диалогового окна Фор­
мат ячеек введите д д д д и щелкните на кнопке ОК. Введите в ячейку дату
(например, 2 2 . 0 7 . 2 0 1 0 ) . В результате в ячейке будет отображено ч е т ­
в е р г — день недели введенной даты.

Вычисление даты прошлого воскресенья


Хотите узнать, на какую дату приходилось прошедшее воскресенье? Воспользуйтесь
формулой, приведенной ниже. Но имейте в виду, если текущая дата выпадает на воскре­
сенье, то формула возвращает текущую дату.
=СЕГОДНЯ( ) -ОСТАТ(СЕГОДНЯ( ) - 1 ; 7 ) '
Для того чтобы найти дату другого дня, а не воскресенья, измените аргумент 1
в формуле на любой другой в диапазоне между 2 (найти понедельник) и 7 (суббота).

Вычисление дня недели, следующего после


заданной даты
Приведенная ниже формула возвращает дату заданного дня недели, следующего за
определенной датой. Например, эту формулу можно использовать, чтобы вычислить да­
ту первого понедельника после 1 июня 2010 года. Предположим, что ячейка А1 содер­
жит дату, а ячейка А2 — число между 1 и 7 (1 соответствует воскресенью, 2 — поне­
дельнику и т.д.).
=А1+А2-ДЕНЬНЕД(А1)+ ( А2<ДЕНЬНЕД(А1) ) * 7
Если ячейка А1 содержит дату 1 июня 2010 года, а ячейки А2 — значение 2
(понедельник), то формула вернет дату 4 июня 2010 года. Это будет первый понедель­
ник, следующий после пятницы 1 июня 2010 года.

Вычисление даты л-го дня недели в заданном месяце


Иногда возникает потребность вычислить дату, приходящуюся на заданный день не­
дели. Приведем пример. Каждую вторую пятницу месяца в компании — день выплаты
заработной платы. Как определить дату выплат в каждом месяце? Воспользуйтесь для
этого формулой, приведенной ниже.
=ДАТА ( А1; А2 ; 1) +АЗ - ДЕНЬНЕД (ДАТА ( А1 ; А2 ; 1) ) +
(А4-(АЗ>=ДЕНЬНЕД(ДАТА(А1;А 2 ; 1 ) ) ) ) * 7
Глава 6. Дата и время 175

Для этой формулы приняты следующие условия:


• ячейка А1 содержит значение года;
• ячейка А2 содержит значение месяца;
• ячейка АЗ содержит значение дня (1 для воскресенья, 2 — для понедельника и т.д.);
• ячейка А4 содержит номер вхождения (к примеру, 2 для выбора второго вхожде­
ния дня недели, заданного в ячейке АЗ).
Например, если использовать эту формулу для определения даты второй пятницы
в июне 2010 года, формула вернет дату 8 июня 2010 года.

Примечание
Если значение, содержащееся в ячейке А4, не принадлежит к диапазону
дней указанного месяца, то формула вернет дату, относящуюся к следую­
щему месяцу. Например, если задать определение даты шестой пятницы
июня 2010 года (а такой даты не существует), то формула вернет дату пер­
вой пятницы июля.

Вычисление количества заданных дней


недели в месяце
Формула, приведенная ниже, позволяет вычислить количество определенных дней
недели заданного месяца. Предположим, ячейка А1 содержит дату, а ячейка А2 — по­
рядковое число дня недели (значение 1 соответствует воскресенью, 2 — понедельнику
и т.д.). Имейте в виду, что это формула массива, поэтому, чтобы ввести ее, используйте
клавиши <Ctrl+Shift+Enter>.
{=СУММ( (ДЕНЬНЕД (ДАТА (ГОД (А1);МЕСЯЦ(А1); СТРОКА(ДВССЫЛ("1: "
ЬДЕНЬ(ДАТА(ГОД(А1); МЕСЯЦ(А1) + 1 ; 0 ) ) ) ) ) ) = В 1 ) * 1 ) }
Если ячейка А1 содержит дату 8 января 2010 года, а ячейка В1 — значение 3, т.е.
вторник, формула возвращает значение 4. Это значит, что январь 2010 года содержит че­
тыре вторника.
Приведенная выше формула массива вычисляет год и месяц, используя функции ГОД
и МЕСЯЦ. Однако ее можно немного упростить. Для этого введите год и месяц заданной
даты в отдельные ячейки. Для приведенной ниже формулы, которая тоже является фор­
мулой массива, приняты условия, что ячейка А1 содержит значение года, ячейка А2 —
месяца и ячейка В1 — значение дня недели.
{=СУММ( (ДЕНЬНЕД(ДАТА( A I ; А 2 ; СТРОКА(ДВССЫЛ( " 1 : " &ДЕНЬ(ДАТА(А 1 ;
А2 +1; 0 ) ) ) )) ) =В1) * 1 ) }

©
Перекрестная ссылка
Детально формулы массивов рассмотрены в главах 14 и 15.

На рис. 6.4 показан результат использования этой формулы на рабочем листе. В этом
случае используются и абсолютные, и смешанные ссылки на ячейки, поэтому можно ско­
пировать эту формулу. К примеру, формула в ячейке СЗ выглядит следующим образом:
{=СУММ( (ДЕНЬНЕД(ДАТА( $ В $ 2 ; $АЗ; СТРОКА(ДВССЫЛ(
"1 : " &ДЕНЬ(ДАТА( $ В $ 2 ; $АЗ + 1 ;0) )) ) ) ) = С $ 1 ) *1) }
176 Часть II. Использование функций в формулах

Итоговые формулы на этом листе используют функцию СУММ. Они вычисляют общее
количество дней в месяце (столбец J) и количество каждого дня недели в году (строка 15).

К ом пакт-диск

# Файл этого примера на прилагаемом компакт-диске называется d a y


t h e week c o u n t . x l s x ( C h a p t e r 0 6 _ R U S . x l s x ) .
of

Рис. 6.4. На этом рабочем листе вычисляется количество дней недели в месяцах года

Отображение даты в текстовом виде


Иногда может потребоваться отобразить дату в виде, не предусмотренном ни в одном
встроенном формате дат. К примеру, с помощью приведенной ниже формулы дату
1 6 . 3 . 2 0 1 0 можно отобразить как 16 марта 201 0 г. Предполагается, что стандарт­
ная запись даты находится в ячейке А1.
=ДЕНЬ(А1)&" " & Т Е К С Т ( A I ; " ММММ") &"а "&ГОД(А1)&" г."

Примечание
Результат этой формулы имеет текстовый формат, а не формат даты.

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


выбор суффикса с помощью ряда функций ЕСЛИ (например, для апреля нужно приме­
нить суффикс я и удалить ь) .

Компакт-диск
Файл этого примера на прилагаемом компакт-диске в авторском варианте
называется o r d i n a l d a y s . x l s x . В нем внимание сосредоточено на ото­
бражении суффиксов s t , n d и др., которые используются с числительными
на английском языке.

Вычисление праздничных да т
Вычисление дат, выпадающих на специфические праздничные дни, требует исполь­
зования специальных методов. Безусловно, это не касается таких дат, как Новый год или
День Независимости США, поскольку они определены издавна. Для них можно просто
использовать функцию ДАТА, о которой речь шла ранее. Следующая формула отобража­
Глава 6. Дата и время 177

ет дату Нового года. Новый год всегда приходится на 1 января; нужный год введите
в кчейку А 1 .
= Д А Т А (А 1 ; 1 ; 1)

На самом деле проблем не возникает только с праздниками, постоянно отмечаемыми


по строго определенным датам. А как быть с праздничными днями, дату которых опре­
деляет временной период? К таким праздникам в США, например, относится День труда,
который отмечается в первый понедельник сентября.
На рис. 6.5 показана рабочая книга Excel, в которой вычисляются даты нескольких
праздничных дней. Все формулы содержат ссылку на ячейку А1 — год, для которого
вычисляются даты. Поскольку такие праздники, как Новый год и День Независимости,
отмечаются в строго определенные дни года, для вычисления их дат используется только
функция Д А Т А .

Рис. 6.5. Для того чтобы определить дату праздничного дня, воспользуйтесь специаль­
ными формулами

Компакт-диск
Файл этого примера на прилагаемом компакт-диске называется h o l i ­
d a y s . x l s x ( Chapter06_RUS . x l s x ) .

Новый год
Новый год отмечается первого января.
=ДАТА (А 1 ; 1; 1)

День Мартина Лютера Кинга


Этот праздничный день приходится на третий понедельник января. Далее мы узнаем,
на какую дату выпадет этот день в 2010 году, определенном в ячейке А1.
=ДАТА(А1; 1 ; 1 ) +ЕСЛИ(2<ДЕНЬНЕД(ДАТА(А 1 ; 1 ; 1 ) ) ; 7 -ДЕНЬНЕД(
ДАТА(А1; 1 ; 1 ) ) + 2 ; 2 -ДЕНЬНЕД(ДАТА(А1; 1 ; 1 ) )) + ( ( 3 - 1 ) * 7 )

День президентов
День президентов празднуется в третий понедельник февраля. Следующая формула
вычисляет дату этого дня в указанном году (ячейка А1):
=ДАТА(А1; 2 ; 1 ) +ЕСЛИ(2<ДЕНЬНЕД(ДАТА(А1; 2 ; 1 ) ) ;7-ДЕНЬНЕД(
ДАТА(А1; 2 ; 1 ) ) + 2 ; 2 - ДЕНЬНЕД(ДАТА(А1; 2 ; 1 ) )) + ( ( 3 - 1 ) * 7 )
178 Часть II. Использование функций в формулах

День памяти павших


День памяти павших в гражданской войне в США 1861-1865 гг., в испано-американской и
других войнах отмечается в США в последний понедельник мая. Дата, на которую он придет­
ся в указанном году (ячейка А1), определяется с помощью следующей формулы:
=ДАТА(А1; 6 ; 1 ) +ЕСЛИ(2<ДЕНЬНЕД(ДАТА(А1; 6 ; 1 ) ) ;7-ДЕНЬНЕД(
ДАТА(А1; 6 ; 1 ) ) + 2 ; 2 - ДЕНЬНЕД(ДАТА(А1; 6 ; 1 ) ) ) + ( ( 1 - 1 ) * 7 ) - 7
Обратите внимание, что данная формула вычисляет первый понедельник июня, а за­
тем, чтобы определить предыдущий понедельник мая, из полученного результата вычи­
тает 7 дней.

День Независимости США


Этот праздник из года в год отмечается строго 4 июля.
=ДАТА(А1; 7 ; 4 )

День труда
День труда — это первый понедельник сентября. Формула, приведенная ниже, опре­
деляет его дату в указанном году (ячейка А1).
=ДАТА(А1; 9 ; 1 ) +ЕСЛИ(2<ДЕНЬНЕД(ДАТА(А1; 9 ; 1 ) ) ;7-ДЕНЬНЕД(
ДАТА(А1; 9 ; 1 ) ) + 2 ; 2 -ДЕНЬНЕД(ДАТА(А1; 9 ; 1 ) ) ) + ( ( 1 - 1 ) * 7 )

День ветеранов
Этот праздник выпадает на 11 ноября.
=ДАТА(A I ; 1 1 ; 1 1 )

День Колумба
Этот праздник выпадает на второй понедельник октября. Для вычисления его даты в
указанном году (ячейка А1) используется следующая формула:
=ДАТА(А1; 1 0 ; 1 ) +ЕСЛИ(2<ДЕНЬНЕД(ДАТА(А1; 1 0 ; 1 ) ) ; 7 -ДЕНЬНЕД(
ДАТА(А1; 1 0 ; 1 ) ) + 2 ; 2 -ДЕНЬНЕД(ДАТА(А1; 1 0 ; 1 ) ) ) + ( ( 2 - 1 ) * 7 )

День Благодарения
День Благодарения празднуется в четвертый четверг ноября. Следующая формула
вычисляет дату этого дня в указанном году (ячейка А1):
=ДАТА(А1; 1 1 ; 1 ) +ЕСЛИ( 5<ДЕНЬНЕД(ДАТА(А1; 1 1 ; 1 ) ) ; 7-ДЕНЬНЕД(
ДАТА(А1; 1 1 ; 1 ) ) + 5 ; 5 -ДЕНЬНЕД(ДАТА(А1; 1 1 ; 1 ) ) ) + ( ( 4 - 1 ) * 7 )

Рождество
Католическое Рождество празднуется 25 декабря.
=ДАТА(A I ; 1 2 ; 2 5)

Вычисление даты последнего дня месяца


Для того чтобы вычислить дату, соответствующую последнему дню месяца, можно
воспользоваться функцией ДАТА. При этом число месяцев необходимо увеличить на
единицу, а для дня использовать значение 0. Другими словами, в расчет принимается ус­
ловие, что нулевой день месяца — это последний день предыдущего месяца.
Глава 6. Дата и время 179

Приведенная ниже формула возвращает дату, которая соответствует последнему дню


месяца. Данная формула предполагает, что исходная дата содержится в ячейке А1.
=ДАТА(ГОД(А1) ; МЕСЯЦ(А1)+ 1 ; 0 )
Эту формулу можно модифицировать, после чего она позволит вычислять количество
дней, содержащихся в определенных месяцах. Следующая формула возвращает целое
числовое значение, которое представляет собой количество дней в месяце, заданном
в ячейке А1:
=ДЕНЬ(ДАТА(ГОД(А1); МЕСЯЦ(А1) + 1 ; 0 ) )

Проверка високосного года


Безусловно, для того чтобы выяснить, является ли високосным определенный год, мож­
но написать формулу, которая установит дату шестидесятого дня года: 29 февраля или 1
марта. Но гораздо эффективнее воспользоваться формулой ДАТА, которая в дополнение
откорректирует результат в том случае, если введен неправильный аргумент (например, ко­
гда для дня введено значение 29, в то время как в феврале этого года всего 28 дней).
Данная формула возвращает значение ИСТИНА, если дата, находящаяся в ячейке А1,
относится к високосному году. В противном случае формула возвращает значение ЛОЖЬ.
=ЕСЛИ(МЕСЯЦ(ДАТА(ГОД (А1) ; 2 ; 2 9 ) ) =2 ; ИСТИНА; ЛОЖЬ)

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

Вычисление квартального периода


В финансовых отчетах часто полезно отображать информацию поквартально. Форму­
ла, приведенная ниже, возвращает числовое значение в диапазоне от 1 до 4, которое со­
ответствует календарному кварталу для даты, содержащейся в ячейке А1.
=0КРУГЛВВЕРХ(МЕСЯЦ(А1) / 3 ; 0 )
Данная формула делит количество месяцев на три, а затем округляет полученный ре­
зультат.

Отображение года римскими цифрами


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

Функции управления временем


Excel, как нетрудно предположить, ожидаете, содержит массу функций, позволяющих
работать с датами и временем в формулах. В этом разделе будет продемонстрировано
использование таких функций.
180 Часть II. Использование функций в формулах

В табл. 6.5 систематизированы связанные со временем функции Excel. Все приведен­


ные здесь функции можно найти в раскрывающемся списке Формулы ^Библиотека
функций1^Дата и время.

Таблица 6.5. Функции, связанные ро временем


Функция Описание функции
ЧАС Преобразует дату в числовом формате (т.е. порядковое число даты) в часы
МИНУТЫ Преобразует дату в числовом формате в минуты
ТД АТА Возвращает текущую дату и время в числовом формате
СЕКУНДЫ Преобразует дату в числовом формате в секунды
ВРЕМЯ Возвращает дату в числовом формате для заданного времени
ВРЕМЗНАЧ Преобразует время из текстового формата в дату в числовом формате

Отображение текущего времени


Приведенная ниже формула отображает текущее время в числовом формате или как
порядковое число.
= Т Д А Т А ( ) - С Е Г О Д Н Я ()

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


ствующим образом с помощью команды Главная1 ^ Числом Числовой формат. На­
пример, можно отобразить на экране время до и после полудня, используя следующий
числовой формат.
ч ч :мм AM/Р М

Время можно объединить с текстовой строкой. Следующая формула позволяет ото­


бразить текст Т е к у щ е е в р е м я 6 : 2 8 РМ:
= " Т е к у щ е е в р е м я " & Т Е К С Т ( Т Д А Т А ( ) ; " ч :м м А М / Р М ")

Примечание
Имейте в виду, что эти формулы обновляются при пересчете рабочего листа.

Совет
Для того чтобы ввести в заданную ячейку штамп времени (значение, которое
не будет изменяться при пересчете рабочей книги), нажмите комбинацию
клавиш <Ctrl+Shift+: (двоеточие)Х

Отображение произвольного времени


Ранее речь уже шла о том, как вводить временные данные. Достаточно ввести в ячейку
определенное время, используя для этого всего один знак : (двоеточие). Но существует и
другой способ. Чтобы отобразить время, воспользуйтесь функцией ВРЕМЯ. Например,
формула, приведенная ниже, возвращает значение времени, которому соответствуют часы,
содержащиеся в ячейке А1, минуты, введенные в ячейку В1, и секунды из ячейки С1.
= В Р Е М Я ( А1;В1;С1)
Подобно функции ДАТА, функция ВРЕМЯ воспринимает недопустимые аргументы,
которые она приводит в соответствие автоматически. Например, введем, в следующую
Глава 6. Дата и время 181

формулу заведомо неправильный аргумент 80. В этом случае формула возвратит значе­
ние 10 : 2 0 : 1 5 AM. “Неправильные” 80 минут будут просто добавлены к заданному часу,
а оставшаяся их часть — отображена как 20 минут.
=ВРЕМЯ ( 9 ; 80 ; 15 )

Предупреждение
Если ввести в качестве первого аргумента функции время значение, превы­
шающее 24 часа, то результат будет не совсем ожидаемый. Следуя логике,
можно предположить, что такая формула должна определить числовое зна­
чение даты и времени, равное 1, 0 4 1 6 6 7 (т.е. один день и один час), но в
действительности она возвращает 0 , 0 4 1 6 6 7 .
=ВРЕМЯ(2 5 ; 0 ; 0 )
Данная формула возвращает то же значение, что и предыдущая:
=ВРЕМЯ( 1 ; 0 ; 0 )

Функция ДАТА может быть использована вместе с функцией ВРЕМЯ в одной ячейке.
Например, следующая формула вычисляет числовое значение 3 9 4 2 0 , 7 7 0 8 3 3 3 3 3 3 , ко­
торое соответствует времени 18:30 4 декабря 2010 года.
=ДАТА( 2 0 1 0 ; 1 2 ; 4 ) +ВРЕМЯ( 1 8 ; 3 0 ; 0 )

П реду п режден ие
При вводе описанной выше формулы Excel автоматически форматирует
ячейку для отображения только даты. Чтобы увидеть время, нужно вручную
установить соответствующий числовой формат.
Совет
Для ввода в ячейку текущей даты и времени, которые не будут изменяться
при пересчете листа, нажмите <Ctrl+Shift+; (точка с запятой)>, пробел,
<Ctrl+Shift+: (двоеточие)>, а затем <Enter>.
Функция ВРЕМЗНАЧ преобразует текстовую строку, подобную временному значе­
нию, в числовое представление заданного времени. Приведенная ниже формула возвра­
щает числовое значение 0 , 2 3 9 5 8 3 3 3 3 3 для времени 5:45:
=ВРЕМЗНАЧ( " 5 : 4 5 " )
Чтобы результат этой формулы отображался как время, необходимо применить к ячейке
формат времени. Имейте в виду, что функция ВРЕМЗНАЧ принимает только форматы вре­
мени, поддерживаемые в приложении Excel. Например, следующая формула вернет значе­
ние ошибки, поскольку Excel не воспринимает запись “a.m.” как параметр времени:
=ВРЕМЗНАЧ ( " 5 : 4 5 a . m . " )

Суммирование значений времени,


превышающих 24 часа
Многих удивляет, почему при суммировании нескольких значений времени, когда ре­
зультат превосходит 24 часа, Excel отображает его некорректно. На рис. 6.6 показан
пример, в котором введено несколько значений времени — количество отработанных ча­
сов и минут за каждый день недели. Формула, вычисляющая суммарное значение време­
ни, содержится в ячейке В9.
=СУММ(В2 : В8 )
182 Часть II. Использование функций в формулах

Весьма очевидно, что формула возвращает неправильное значение (18 часов 30 ми­
нут). Ведь простой расчет показывает, что общее количество часов должно быть равным
42 часам 30 минутам. Проблема состоит в том, что на самом деле формула возвращает
числовое значение даты и времени 1 , 7 7 0 8 3 3 , но формат ячейки не позволяет отобра­
жать часть значения, относящегося к дате.

Рис. 6 .6 . Функция с у м м вычисляет общее коли­


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

Для того чтобы полученный результат отображался как время, превышающее 24 часа,
необходимо изменить формат результирующей ячейки, а часть времени, представляю­
щую собой часы, заключить в квадратные скобки. Применение следующего формата
к ячейке В9 позволит правильно отобразить сумму значений времени:
[ч]:мм

Рассмотрим еще один пример расчета времени. На следующем рабочем листе (рис. 6.7)
отслеживаются нормативные и сверхурочные часы, отработанные в течение недели.

Рис. 6.7. Пример рабочей книги для расчета времени, отработанного служащими

Дата начала работы введена в ячейку В4. Столбец В содержит формулы, которые вы­
числяют дни недели, соответствующие каждой дате. Таким образом определяются рабо­
чие дни недели. Отработанное время вводится в диапазон ячеек С7 : F13. Столбец G со­
Глава 6. Дата и время 183

держит формулы, которые вычисляют общее количество часов, отработанное за каждый


день. Например, формула, содержащаяся в ячейке G7, выглядит следующим образом:
=ЕСЛИ(D7<C7; D7+ 1 - С 7 ; D7- С 7 ) +ЕСЛИ(F7< E7 ; F 7 + 1 - Е 7 ; F 7 - Е 7 )
В первой части данной формулы вычисляется количество часов, отработанных слу­
жащими до обеда. Время, отображаемое в столбце С, вычитается из времени в столбце D.
Вторая часть формулы вычисляет часы, отработанные после обеда: столбец Е вычитает­
ся из столбца F. Функция ЕСЛИ должна учесть в расчете различные сдвиги во времени
начала смены. Например, служащий может начинать работу в 10:00, соответственно с
часовым перерывом на обед в 14:00. Имейте в виду, что без функции ЕСЛИ формула мо­
жет возвращать отрицательный результат.
Следующая формула, введенная в ячейку С16, подводит итог по столбцу G и вычис­
ляет общее количество часов, отработанных в течение недели:
=СУММ (G 7 :G 1 3 )
В этом примере принята за основу 40-часовая рабочая неделя. Поэтому все часы, от­
работанные сверх 40 часов, рассматриваются как сверхурочные. Ячейка, отображающая
сверхурочное время, тоже показана на рис. 6.7. Если стандартная рабочая неделя в рас­
четах содержит больше или меньше 40 часов, эта формула может быть изменена в соот­
ветствии с конкретными условиями.
Следующая ячейка (Е18) содержит формулу, которая вычисляет нормативные часы.
Формула возвращает меньшее из двух значений, введенных в качестве аргументов: об­
щее установленное стандартами количество часов или сверхурочные часы.
= М И Н (Е 1 7 ; С в е р х у р о ч н ы е )
И наконец, последняя формула, содержащаяся в ячейке Е19, вычитает нормативные часы
из общего количества отработанных часов и возвращает количество сверхурочных часов.
=С16-С17
Все значения в диапазоне ячеек С16 : С18 отображают время, превышающее 24 часа,
поэтому применяется пользовательский числовой формат.
[ч] :мм

Компакт-диск
Файл примера, показанного на рис. 6.7, на компакт-диске называется t i m e
sheet.xlsm (Chapter06_RUS.xlsx).

Вычисление разницы между двумя временными


значениями
Поскольку Excel позволяет преобразовать значение времени в числовой формат, не­
сложно вычесть более раннее время из более позднего и определить таким образом раз­
ницу во времени. Например, если ячейка А2 содержит значение времени 5:30:00, а ячей­
ка В2 — 14:00:00, то следующая формула вернет значение времени 0 8 : 3 0 : 0 0 , т.е. раз­
ница во времени составит 8 часов 30 минут.
=В2-А2
Если разница во времени отрицательная, что является недопустимым результатом,
Excel отобразит несколько знаков “решетки” (# ### ## #) , поскольку при отсутствии даты
точка отсчета времени — это 0. Отрицательное время, соответственно, означает отрица­
тельное числовое значение, что само по себе уже недопустимо.
184 Часть II. Использование функций в формулах

В том случае, если направление вычитания времени не столь важно, можно использо­
вать функцию ABS, которая возвращает абсолютное значение.
=ABS (В2-А2)
Проблема “отрицательного времени” часто возникает при вычислении разницы между
более ранним и более поздним временем. Вернемся к задаче вычисления количества отра­
ботанных часов. Чтобы определить его, достаточно просто вычесть начальное время рабо­
ты из конечного времени. Это не представляет никакой проблемы, если два указанных зна­
чения приходятся на один и тот же день. Но как быть, если рабочее время начинается неза­
долго до конца текущих суток, а заканчивается на следующие сутки? Например, если
служащий начинает работать в 22:00, а заканчивает в 6:00, то в этом случае результатом
вычитания будет отрицательное время. Таким образом, определить отработанные часы
для смены, начинающейся в одних сутках, а заканчивающейся в других, становится про­
блемой (рис. 6.8).

Рис. 6.8. Если вычислить количество отработанных ча­


сов при смене, продолжающейся заполночь, Excel
вернет ошибочное значение

Какой может быть выход из такой ситуации? Использование функции ABS и вычис­
ление абсолютного значения в этом случае не подходит, поскольку формула возвращает
неправильный результат— 16 часов. Тем не менее приведенная ниже формула может
сработать:
=ЕСЛИ(В2<А2;В2+1;В2)-А2
Существует и более простая формула для решения задачи:
=ОСТАТ(В2-А2;1)

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

Преобразование “военного времени”


“Военное время”, как правило, представляет собой четырехразрядное значение в пре­
делах от 0000 до 2359. Например, 1:00 AM отображается как 0100 часов, а 3:30 РМ как
1530 часов. Формула, приведенная ниже, преобразует это значение (ячейка А1) в обще­
принятый формат времени.
=ВРЕМЗНАЧ (ЛЕВСИМВ (А1; 2) &" : "&ПРАВСИМВ ( А1; 2 ) )
Глава 6. Дата и время 185

Если ячейка А1 содержит больше или меньше четырех чисел, то результат, который
возвратит данная формула, будет неверным. Следующая формула корректирует эту
ошибку и возвращает допустимое значение времени для любого времени в “военном
формате” от 0 до 2359:
=ВРЕМЗНАЧ (ЛЕВСИМВ (ТЕКСТ ( А1; "0 000 " ) ; 2 ) &" : "&ПРАВСИМВ (А1; 2) )
В более простой формуле задействована функция ТЕКСТ, которая форматирует стро­
ку как текст, а затем использует функцию ВРЕМЗНАЧ, чтобы отобразить результат
в формате времени.
=ВРЕМЗНАЧ(ТЕКСТ(А 1 ;"0 0 \ :0 0") )

Преобразование часов, минут и секунд в десятичном


исчислении в значение времени
Иногда часы, минуты или секунды времени отображаются в виде значений в десятич­
ном исчислении. Для того чтобы преобразовать их в стандартный формат времени, про­
сто разделите значение на 24. Предположим, что ячейка А1 содержит значение часа
9,25. Следующая формула возвращает 0 9 : 1 5 : 0 0 (9 часов 15 минут):
=А1/24
Подобная формула может использоваться и для преобразования минут в десятичном
исчислении. Но в знаменателе должно стоять число 144 0 — количество минут в сутках.
Например, если ячейка А1 содержит значение 5 00 (минут), то следующая формула воз­
вращает 0 8 : 2 0 : 0 0 (8 часов 20 минут):
=А1/144 0
При преобразовании секунд в стандартный формат времени значение делится на 8 6 4 0 0
(число секунд в сутках). Например, если ячейка А1 содержит число 6 5 0 0 0 (секунд), то
формула, приведенная ниже, возвращает 1 8 : 0 3 : 2 0 ( 1 8 часов 3 минуты и 20 секунд):
=А1/86400

Добавление часов, минут или секунд к заданному


времени
Функция ВРЕМЯ также используется для добавления часов, минут или секунд ко вре­
мени, содержащемуся в определенной ячейке. Например, если ячейка А1 содержит вре­
мя, следующая формула позволяет добавляет к нему 2 часа и 30 минут и отображает по­
лученный результат:
=А1+ВРЕМЯ (2 ; 3 0 ; 0)
Эта же функция используется для заполнения определенного диапазона ячеек возрас­
тающими значениями времени. На рис. 6.9 показан рабочий лист, в котором диапазон
ячеек А1 .*А14 содержит значения времени, каждое из которых последовательно увели­
чивается на 10 минут. Только в одну из этих ячеек (А1) значение времени вводится
вручную. В остальные ячейки просто копируется формула, введенная в ячейку А2.
=А1+ВРЕМЯ ( 0 ; 10 ; 0)
186 Часть II. Использование функций в формулах

Совет
Для заполнения значениями времени диапазона ячеек можно также исполь­
зовать функцию автозаполнения. К примеру, чтобы создать последователь­
ность значений времени с приращением в 10 минут, введите в ячейку А1
значение 8 : 00, а в ячейку А2 — 8 : 1 0 . Выделите обе ячейки и перетащите
правой кнопкой мыши маркер автозаполнения (в нижнем правом углу ячей­
ки А2) ВНИЗ ПО СТОЛбцу.

Работа с часовыми поясами


Представьте, что вам необходимо использовать рабочий лист, содержащий дату и
время по Гринвичу, которое иногда называют универсальным временем. Как перейти от
этого времени ко времени текущего часового пояса? Для того чтобы дата и время соот­
ветствовали определенному часовому поясу, необходимо, в первую очередь, установить
разницу между этими поясами. Например, разница между временем по Гринвичу (GMT)
и среднеамериканским временем (CST) составляет -6 часов.
В данном случае функцию ВРЕМЯ с отрицательным аргументом использовать нельзя,
поэтому задача требует несколько иного решения. Один час эквивалентен 1/24 суток. Та­
ким образом, разницу во времени можно разделить на 24, а затем полученный результат
добавить ко времени исходного часового пояса.
На рис. 6.10 приведен пример рабочего листа, в котором дата и время по Гринвичу
приводятся в соответствие текущему часовому поясу. Ячейка В1 содержит разницу в ча­
сах между поясами — в данном случае -5 часов для Стандартного восточного времени
США (EST). В ячейке В 4 отображается приведенная ниже формула, которая скопирова­
на вниз по столбцу.
= А 4 + ($ В $ 1 / 2 4 )

Рис. 6.9. Для заполнения ячеек не- Рис. 6.10. На этом рабочем листе дата и время переводятся
сколькими временными значения- из одного часового пояса в другой
ми, последовательно возрастаю­
щими на 10 минут, использовалась
всего одна формула

Данная формула весьма эффективна, поскольку добавляет х часов к дате и времени,


содержащимся в столбце А. Если ячейка В1 содержит отрицательное значение часа, это
значение вычитается из даты и времени, отображаемых в столбце А. Заметьте, что в не­
которых случаях это действие также изменяет и дату.
Глава 6. Дата и время 187

Компакт-диск
Файл этого примера на компакт-диске называется gmt c o n v e r s i o n . x l s x
( C h a pt e r 0 6_ R US . x l s x ) .

Округление значений времени


Иногда может потребоваться округлить время до определенного значения. Например,
округлить записи в отчете об использовании времени до ближайшего значения 15 минут.
В этом разделе мы обсудим несколько возможных решений задачи округления времен­
ных значений.
Следующая формула округляет время, содержащееся в ячейке А1, до ближайшей минуты:
=ОКРУГЛ(А1*1440;0)/ 1 4 4 0
Эта формула работает следующим образом: заданное время умножается на 144 0 —
в результате вычисляется общее количество минут. После этого полученный результат
обрабатывается с помощью функции ОКРУГЛ и делится на 144 0. Например, если ячейка
А1 содержит значение 11: 52 : 34, формула возвращает 1 1 : 5 3 : 0 0 .
Представленная ниже формула несколько напоминает предыдущую, за исключением
того, что она округляет время в ячейке А1 до ближайшего часа.
=0КРУГЛ ( А1 *2 4 ; 0 ) / 2 4
Если ячейка А1 содержит значение 5 : 2 1 : 3 1 , данная формула возвращает 5 : 0 0 : 0 0 .
Формула, приведенная ниже, округляет время, отображаемое в ячейке А1, до бли­
жайших 15 минут.
=0КРУГЛ(А1*24/0 , 2 5 ; 0 ) * ( 0 , 2 5 / 2 4 )
В этой формуле значение 0 , 2 5 означает четверть часа, т.е. 15 минут. Аналогично,
чтобы округлить время до ближайших 30 минут, просто измените 0 , 2 5 на 0 , 5 , как это
сделано в следующей формуле:
=0КРУГЛ ( А 1 * 2 4 / 0 , 5 ; 0 ) * ( 0 , 5 / 2 4 )

Работа со значениями, не имеющими отношения


ко времени суток
Вы когда-нибудь сталкивались с задачей составления списка результатов гоночных
соревнований или, например, подсчета времени ежедневной пробежки? Эти временные
значения фактически никак не связаны с определенным временем дня. Они, скорее, ха­
рактеризуются длительностью конкретного события в часах, минутах, секундах. Итак,
предположим, что время, отведенное на тест, составляет 35 минут 45 секунд. Это значе­
ние может быть введено в ячейку следующим образом:
00 : 35: 45
Excel воспринимает эту запись достаточно хорошо и интерпретирует ее как 12:35:45
AM. Остается только установить для этой ячейки подходящий формат времени. Имейте в
виду, что при вводе времени, которое не содержит часа, для значения часа необходимо
указать хотя бы один нуль. В противном случае, если данные часа будут опущены, Excel
интерпретирует эту запись как 35 часов 45 минут.
На рис. 6.11 показан пример рабочего листа, в котором отслеживаются тренировки
спортсмена. Столбец А содержит обыкновенные даты. Столбец В — расстояние в милях.
Столбец С отображает время, которое потребовалось на преодоление каждой дистанции.
188 Часть II. Использование функций в формулах

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


Например, формула в ячейке D2 выглядит следующим образом:
=В2/(С2*24)

Рис. 6.11. На этом рабочем листе приведены временные значения,


не связанные с определенным временем суток

В столбце Е содержатся формулы, которые вычисляют скорость движения спортсме­


на в минутах за милю. Например, в ячейке Е2 расположена следующая формула:
= ( С 2 * 6 0 * 2 4 ) /В2
Ячейки в столбце F отображают формулы, которые вычисляют итоги использованно­
го времени (данные столбца С). Во всех ячейках столбца G установлен приведенный ни­
же числовой формат, который позволяет отображать время, превышающее 24 часа.
[ ч ч ] :мм: с с

Компакт-диск
Файл этого примера на компакт-диске называется j o g g i n g lo g .x lsx
( Chapter06_RUS . x l s x ) .
Глава

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

Часто при создании электронных таблиц необходимо подсчитать и просуммировать


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

Подсчет и суммирование ячеек


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

©
Перекрестная ссылка
Более подробно о формулах массива, используемых для подсчета и сумми­
рования ячеек, рассказано в части IV. Операции подсчета и суммирования
данных в списках описаны в главе 9.

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

Таблица 7.1. Функции суммирования и подсчета в Excel


Функция Описание функции
СЧЁТ Возвращает количество ячеек в диапазоне, содержащих числовые
значения
СЧЁТЗ Возвращает количество непустых ячеек в диапазоне
СЧИТАТЬПУСТОТЫ Возвращает количество пустых ячеек в диапазоне
СЧЁТЕСЛИ Подсчитывает количество непустых ячеек в диапазоне, удовлетво­
ряющих заданному условию
СЧЁТЕСЛИМН Подсчитывает количество непустых ячеек, удовлетворяющих задан­
ному набору условий
БСЧЁТ Подсчитывает количество числовых ячеек базы данных рабочего лис­
та, удовлетворяющих заданному критерию
БСЧЁТА Подсчитывает количество непустых ячеек базы данных рабочего лис­
та, удовлетворяющих заданному критерию
КВАДРОТКЛ Возвращает сумму квадратов отклонений точек данных от среднего по
выборке; используется преимущественно в статистических формулах
БДСУММ Суммирует числа в столбце базы данных, удовлетворяющие заданно­
му условию
ЧАСТОТА Возвращает распределение частот в виде вертикального массива; ис­
пользуется только в формулах массивов со множеством ячеек
ПРОМЕЖУТОЧНЫЕ. При использовании значений от 2 до 3 в качестве первого аргумента
ИТОГИ возвращает количество ячеек, содержащихся в промежуточных ито­
гах списка или базы данных; при использовании в качестве первого
аргумента значения 9 возвращает сумму значений ячеек промежу­
точных итогов
СУММ Возвращает сумму аргументов
СУММЕСЛИ Суммирует ячейки, удовлетворяющие заданному условию
СУММЕСЛИМН Суммирует ячейки, удовлетворяющие заданному набору условий
СУММПРОИЗВ Возвращает сумму произведений соответствующих элементов массивов
СУММКВ Возвращает сумму квадратов аргументов. Аргументами могут быть
числа, массивы, имена или ссылки на ячейки, содержащие числа.
Применяется преимущественно в статистических формулах
СУММСУММКВ Возвращает сумму сумм квадратов соответствующих элементов
двух массивов; используется преимущественно в статистических
формулах
Глава 7. Способы суммирования и подсчета данных 191

Окончание табл. 7.1


Функция Описание функции
сум м квразы Возвращает сумму квадратов разностей соответствующих значений в двух
массивах; применяется преимущественно в статистических формулах
сум м разнкв Возвращает сумму разностей квадратов соответствующих значений в
двух массивах; используется преимущественно в статистических
формулах

Быстрый подсчет и суммирование


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

При выборе элемента Количество строка состояния будет отображать количество


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

Подсчет и суммирование записей в базах


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

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

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

Основные формулы подсчета


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

Компакт-диск
Рабочую книгу, показанную на рис. 7.1, в авторском варианте можно найти на
прилагаемом компакт-диске в файле b a s i c c o u n t i n g . x l s x ( C h a p t e r 0 7 _
RUS . x l s x ) .

Несколько слов о примерах, приведенных в этой главе


В большинстве примеров главы в качестве аргументов функций используются име­
нованные диапазоны. Если захотите адаптировать эти формулы к своим задачам, заме­
ните имена и адреса диапазонов.
Некоторые примеры, приведенные в главе, содержат формулы массива (см. гла­
ву 14). Они относятся к специальному типу формул; при отображении в строке формул
они заключаются в фигурные скобки. Например:
{= Д а н н ы е * 2 }
Чтобы сообщить Excel, что введенная формула представляет собой формулу масси­
ва, после ее ввода вместо <Enter> нажмите комбинацию клавиш <Ctrl+Shift+Enter>. Фи­
гурные скобки вводить не нужно — Excel сделает это за вас.
Глава 7. Способы суммирования и подсчета данных 193

Рис. 7.1. Формулы в столбце е могут быть использованы для проведения


различных расчетов данных в диапазоне А 1 : в ю

Подсчет общего количества ячеек


Чтобы подсчитать общее количество ячеек в диапазоне, используйте формулу, приве­
денную ниже. Она возвращает количество ячеек в диапазоне Данные, умножая количе­
ство строк (возвращенное функцией ЧСТРОК) на количество столбцов (возвращенное
функцией ЧИСЛСТОЛБ).
= Ч С Т Р О К (Д а н н ы е )* Ч И С Л С Т О Л Б (Д а н н ы е )

Подсчет пустых ячеек


Следующая формула возвращает количество пустых ячеек в диапазоне Данные:
=СЧИ ТАТЬПУС ТО ТЫ ( Д а н н ы е )
Функция СЧИТАТЬПУСТОТЫ подсчитывает ячейки, которые содержат формулу, возвра­
щающую пустую строку. Например, формула, приведенная ниже, возвращает пустую строку,
если ячейка А1 содержит значение, большее 5. Если ячейка А1 соответствует этому условию,
функция СЧИТАТЬПУСТОТЫ рассматривает ячейку с данной формулой как пустую.
=ЕСЛИ (А1 >5 ; " " ; А 1 )

Примечание
Имейте в виду, что функция с ч и т а т ь п у с т о т ы не учитывает ячейки, содер­
жащие нулевое значение, даже если снять флажок Показывать нули в ячей­
ках, которые содержат нулевые значения вкладки Дополнительно диалогово­
го окна параметров программы.
Функция СЧИТАТЬПУСТОТЫ может использовать в качестве аргумента целую строку
или столбец. Например, приведенная ниже формула возвращает количество пустых яче­
ек в столбце А.
= С Ч И ТА ТЬ П УС ТО ТЫ (А : А )
Следующая формула возвращает количество пустых ячеек в пределах всего рабочего
листа Л и с т 1 . Данная формула должна быть введена в другой лист, в противном случае
будет создана циклическая ссылка.
^ С Ч И ТА ТЬ П У С ТО ТЫ (Л и с т!!1 :1 0 4 8 5 7 6 )
194 Часть II. Использование функций в формулах

Подсчет непустых ячеек


Представленная далее формула использует функцию СЧЁТЗ и возвращает количество
непустых ячеек в диапазоне Данны е.
=СЧЁТЗ(Данные)
Функция СЧЁТЗ подсчитывает ячейки, содержащие числовые значения, дату, время,
текст и логические значения ИСТИНА или ЛОЖЬ.

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

Подсчет ячеек, содержащих числовые значения


Следующая формула использует функцию СЧЁТ и позволяет подсчитать количество
ячеек диапазона Д анн ы е, содержащих только числовые значения.
=СЧЁТ(Данные)
Ячейки, содержащие значения даты и времени, также рассматриваются как числовые
значения. Ячейки, отображающие логические значения (ИСТИНА или ЛОЖЬ), числовыми
не считаются. /

Подсчет ячеек, отображающих нетекстовые значения


В приведенной ниже формуле массива используется функция Е НЕ ТЕ КС Т. Она воз­
вращает значение ИСТИНА в том случае, если ее аргумент ссылается на ячейку, не со­
держащую текстовое значение (включая также пустые ячейки). Формула возвращает ко­
личество ячеек, не содержащих текст (включая пустые ячейки).
{=СУММ(ЕСЛИ(ЕНЕТЕКСТ(Данные); 1 ) ) }

Подсчет ячеек, содержащих текстовые значения


Чтобы подсчитать в диапазоне Д ан н ы е количество ячеек, содержащих тест, восполь­
зуйтесь приведенной ниже формулой массива.
{=СУММ(ЕСЛИ(ЕТЕКСТ(Данные);1))}

Подсчет логических значений


Следующая формула массива возвращает количество логических значений (ИСТИНА
или ЛОЖЬ) в диапазоне Данные:
{ =СУММ(ЕСЛИ(ЕЛОГИЧ(Данные);1)) }

Подсчет ошибок в диапазоне


Приложение Excel предлагает три функции, которые позволяют определить, содер­
жит ли ячейка ошибки.
• Функция ЕОШИБКА возвращает значение ИСТИНА в том случае, если ячейка содержит
любое значение ошибки (#Н/Д, #ССЫЛКА!, #ЗНАЧ !, #Д Е Л /0 !, #ИМЯ?, #НУЛЬ !).
Глава 7. Способы суммирования и подсчета данных 195

Функция ЕОШ возвращает значение ИСТИНА, если ячейка содержит любое значе­
ние ошибки, за исключением # Н /Д .
Функция ЕНД возвращает значение ИСТИНА, если значение равно # Н /Д .

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

Перечисленные выше функции применяются в формулах массива для подсчета зна­


чений ошибки в определенном диапазоне. Например, следующая формула массива воз­
вращает общее количество ячеек, содержащих значения ошибки, в диапазоне Данные:
(=СУММ(ЕСЛИ(ЕОШИБКА(Данные);1)) }
При необходимости вместо функции ЕОШИБКА можно использовать функции ЕОШ и ЕНД.
Чтобы подсчитать количество ошибок определенного типа, воспользуйтесь функцией
СЧЁТЕСЛИ. Например, следующая формула возвращает количество ячеек с типом ошиб­
ки # Д Е Л / 0 !, содержащихся в диапазоне Данные:
=СЧЁТЕСЛИ(Данные;"#ДЕЛ/0!")

Расширенные формулы подсчета ячеек


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

Подсчет ячеек с помощью функции СЧЁТЕСЛИ


Функцию СЧЁТЕСЛИ чаще всего используют в формулах, ограниченных одним усло­
вием. Функция СЧЁТЕСЛИ принимает два аргумента.
• Д и а п а зо н . Содержит значения, определяющие, включать ли конкретную ячейку
в расчет.
• Л о г и ч е с к о е _ у с л о в и е . Определяет, включать ли конкретную ячейку в расчет.
В табл. 7.2 представлены некоторые примеры использования функции СЧЁТЕСЛИ.
Приведенные формулы обращаются к диапазону Д анн ы е. С помощью условия можно
добиться большой гибкости возвращаемых данных. Обратите внимание, что аргумент
Л о г и ч е с к о е _ у с л о в и е может представлять собой любой тип данных: константы, вы­
ражения, функции, ссылки на ячейку и даже групповые символы (* и ?).

Подсчет ячеек, удовлетворяющих множеству условий


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

Таблица 7 . 2 . Примеры использования функции СЧЁТЕСЛИ


= с ч ё т е с л и (Данны е ; 12) Возвращает количество ячеек, содержащих значе­
ние 12
= с ч ё т е с л и (Данные ;" < 0 ") Возвращает количество ячеек, содержащих отрица­
тельное значение
= с ч ё т е с л и (Данные; " < > о ") Возвращает количество ячеек, значение которых не
равно о
=с ч ё т е с л и ( Д а н н ы е > 5 " ) Возвращает количество ячеек, значение которых
больше 5
= с ч ё т е с л и (Данные ;А 1 ) Возвращает количество ячеек, значение которых
равно содержимому ячейки a i
= с ч ё т е с л и (Данные; " > " & a i ) Возвращает количество ячеек, значение которых
больше, чем значение ячейки a i
= с ч ё т е с л и ( Данные; 11* " ) Возвращает количество ячеек, содержащих текст
= с ч ё т е с л и ( Д а н н ы е ; "???") Возвращает количество ячеек, содержащих ровно
три символа
= с ч ё т е с л и ( да нн ы е / "бю дж е т") Возвращает количество ячеек, содержащих слово
бюджет (без учета регистра)
= с ч ё т е с л и (Д анны е ; "*бю дж ет*п ) Возвращает количество ячеек, содержащих слово
бюджет в составе любого текста
= с ч ё т е с л и (Данные; " А * " ) Возвращает количество ячеек, отображающих
текст, который начинается с символа а (без учета
регистра)
= с ч ё т е с л и (Данные/с е г о д н я ()) Возвращает количество ячеек, содержащих теку­
щую дату
= с ч ё т е с л и (Данные /" > Возвращает количество ячеек, значение которых
" &СРЗНАЧ (Данные )) больше среднего
= с ч ё т е с л и (Данные/ " > " & с р з н а ч ( Возвращает количество ячеек, значение которых
Данные) +СТАНДОТКЛОН (Данные) * превышает утроенное стандартное отклонение от
3) среднего
= с ч ё т е с л и (Да н н ы е / з) + с ч ё т е с л и Возвращает количество ячеек, содержащих значе-
( Данные / - 3) Н И в З И Л И -3
= с ч ё т е с л и (Данные/ и с т и н а ) Возвращает количество ячеек, содержащих значе­
ние ИСТИНА
= с ч ё т е с л и (Данные /и с т и н а ) + Возвращает количество ячеек, отображающих логи-
счётесли (Данные / Ложь) ческое значение ( и с т и н а и л и л о ж ь )
= с ч ё т е с л и (Да н н ы е / " # н / Д " ) Возвращает количество ячеек, содержащих значе­
ние ошибки # н / д

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

Компакт-диск
Рабочую книгу, показанную на рис. 7.2, можно найти на прилагаемом компакт-
диске в файле m u l t i p l e c r i t e r i a c o u n t i n g . x l s x ( C h a p t e r 0 7 _ R U S . x l s x ) .
Глава 7. Способы суммирования и подсчета данных 197

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

Рис. 7.2. На этом рабочем листе приведены различные варианты подсчета, использующие
целый ряд условий

Использование условия и
Функция СЧЁТЕСЛИМН принимает пары аргументов. В пару входят диапазон условия
и условие. Количество пар не ограничено. Логическая операция И реализуется благодаря
тому, что функция учитывает ячейку, только если истинны все пары. Используя условие
И, можно подсчитать все ячейки диапазона, соответствующие определенным условиям.
Типичным примером использования этого условия можно считать формулу, с помощью
которой подсчитывается количество значений, содержащихся в пределах определенного
числового диапазона. Предположим, что необходимо подсчитать ячейки, которые ото­
бражают значения большие 1 0 0 и меньшие или равные 2 0 0 . Функция СЧЁТЕСЛИМН
принимает следующий вид:
=СЧЁТЕСЛИМН (О б ъ е м ; " > 1 0 0 " ; О б ъ е м ; "< = 2 0 0 " )
В данном примере функция СЧЁТЕСЛИМН принимает две пары аргументов. Первым
элементом каждой пары является диапазон значений (в нашем примере это Объем), вто­
рым — критерий. Формула возвращает количество всех ячеек диапазона Объем, в кото­
рых значение больше 100 и меньше 200.
До выхода в свет Excel 2007 вам пришлось бы использовать формулу следующего вида:
СЧЁТЕСЛИ(О бъем;" > 1 0 0 " ) - С Ч Ё Т Е С Л И ( О б ъ е м ;" > 2 0 0 " )
198 Часть II. Использование функций в формулах

Возможно, вид данной формулы вводит в заблуждение. Несмотря на то что ее цель


состоит в подсчете значений, которые меньше или равны 2 0 0 , но больше ста, в формуле
написано " > 2 0 0 " . Объяснение простое: знак “минус” означает, что эти ячейки вычита­
ются из общего количества. Существует еще один метод, в котором используется фор­
мула массива (этот метод проще предыдущего):
{=СУММ( (Объем>ЮО) * (Объем< = 2 00) ) }

Примечание
При вводе ф ормулы м ассива не забы вайте нажимать <Ctrl+Shift+Enter>
вм есто <Enter>; также не вводите вручную ф игурны е скобки — они будут
вставлены автом атически.

Условия подсчета можно задать не только для суммируемых, но и для других ячеек.
Например, можно подсчитать количество продаж в ячейках, соответствующих следую­
щим условиям:
• месяц — январь
и
• представитель — Данилкин
и
• сумма больше 1000.
Следующая формула возвращает количество ячеек массива, соответствующих всем
трем условиям:
=СЧЁТЕСЛИМН(Месяц;"Январь"; П р е д с т а в и т е л ь ; "Данилкин";
О б ъ ем ;">1000")
В качестве альтернативы можно использовать следующую формулу массива:
{=СУММ( (Месяц="Январь" ) * (П редстави тель="Д ан илк и н")*
(С ум м а> 100 0)) }

Использование условия или


Чтобы подсчитать количество ячеек с помощью условия ИЛИ, иногда задействуется
несколько функций СЧЁТЕСЛИ. Например, следующая формула подсчитывает количест­
во значений 1, 3 и 5 в диапазоне Данные:
=СЧЁТЕСЛИ(Данные; 1 ) +СЧЁТЕСЛИ(Данные; 3 ) +СЧЁТЕСЛИ(Данные;5)
Функция СЧЁТЕСЛИ также используется в формуле массива. Например, формула
массива, приведенная ниже, возвращает тот же результат, что и предыдущая формула.
{=СУММ(СЧЁТЕСЛИ(Данные;{ 1 ; 3 ; 5 } ) ) }
Если условие ИЛИ применяется не к подсчитываемым ячейкам, а к ячейкам другого диапа­
зона, функция СЧЁТЕСЛИ работать не будет. Вернемся снова к рис. 7.2 и предположим, что
необходимо подсчитать количество продаж, соответствующих следующим условиям:
• месяц — январь
или
• представитель — Данилкин
или
• объем — более 1000.
Глава 7. Способы суммирования и подсчета данных 199

Следующая формула массива возвращает правильный результат подсчета:


{= С У М М (Е С Л И ( (М е с я ц = " Я н в а р ь " ) + ( П р е д с т а в и т е л е " Д а н и л к и н " )+
(0бъем>1000);1))}

Одновременное использование условий и и или


При подсчете ячеек условия И и ИЛИ можно комбинировать. Предположим, что тре­
буется подсчитать продажи, удовлетворяющие следующим условиям:
• месяц — январь
и
• представитель Данилкин
или
• представитель Кукина.
Следующая формула массива возвращает объем продаж, соответствующих этим ус­
ловиям:
= С Ч Ё Т Е С Л И М Н (Ме сяц; " Я н в а р ь " ; П р е д с т а в и т е л ь ; " Д а н и л к и н " ) +
С Ч Ё Т Е С Л И М Н ( М е с я ц ; " Я н в а р ь " ; П р е д с т а в и т е л ь ; "К у к и н а " )

Так как в данном случае в аргументах функции приходится повторять операцию “И”,
использование СЧЁТЕСЛИМН может привести к созданию длинных формул с множест­
вом критериев. Когда список критериев велик, удобнее использовать формулы массивов.
К примеру, следующая формула массива вернет тот же результат, что и предыдущая:
{= С У М М ( ( М е с я ц = " Я н в а р ь " ) * Е С Л И ( ( П р е д с т а в и т е л ь = " Д а н и л к и н " ) +
( П р е д с т а в и т е л ь = "К у к и н а " ) ; 1 ) ) }

Подсчет наиболее часто встречающихся записей


Функция МОДА возвращает значение, наиболее часто встречающееся в диапазоне яче­
ек. На рис. 7.3 показан рабочий лист, содержащий диапазон ячеек А1:А10 (с именем
Диапазон1). Формула, приведенная ниже, возвращает значение 10, поскольку это зна­
чение в данном диапазоне ячеек встречается наиболее часто.
= М 0 Д А (Д и а п а з о н 1 )

Эта формула возвращает значение #Н/Д, если диапазон, указанный в ее аргументе, не


содержит дублирующихся значений.

Рис. 7.3. Функция м о д а возвращает значе­


ние, встречающееся наиболее часто в задан­
ном диапазоне ячеек
200 Часть II. Использование функций в формулах

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


значений (иными словами, частоту моды), воспользуйтесь следующей формулой:
=СЧЁТЕСЛИ(Д и а п а з о н 1 ; МОДА(Д и а п а з о н 1 ))
Представленная формула возвращает значение 3, поскольку значение моды (10)
встречается в диапазоне Д и а п а зо н 1 три раза.
Имейте в виду, что функция МОДА работает только с числовыми значениями. В том
случае, если заданная ячейка содержит текст, функция ее игнорирует. Для того чтобы
найти текстовую строку, наиболее часто встречающуюся в заданном диапазоне, исполь­
зуйте формулу массива.
Чтобы подсчитать количество элементов, наиболее часто встречающихся в заданном
диапазоне Данные (речь идет и о тексте, и о числовых значениях), используйте следую­
щую формулу массива:
{ =МАКС(СЧЁТЕСЛИ(Данные; Данные) ) }
Представленная ниже формула массива работает подобно функции МОДА, за исклю­
чением того, что в данном случае могут использоваться как числовые, так и текстовые
значения.
{ =ИНДЕКС(Данные; ПОИСКПОЗ(МАКС(СЧЁТЕСЛИ(Данные; Д ан н ы е)) ;
СЧЁТЕСЛИ(Данные/Данные);0)) }

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

Подсчет количества вхождений заданного текста


В этом разделе продемонстрированы различные способы подсчета количества экзем­
пляров определенной строки символов или текстовой строки в заданном диапазоне яче­
ек. Все примеры данного раздела приведены для рабочего листа, показанного на рис. 7.4,
который в диапазоне ячеек A I : А10 (диапазон с именем Д и а п а зо н 2 ) содержит различ­
ную текстовую информацию. Ячейка В1 отображает искомую фразу (диапазон Т ек ст).

Рис. 7.4. На этом рабочем листе продемонстрированы различные способы под­


счета символов в диапазоне

Компакт-диск
Рабочую книгу, показанную на рис. 7.4, можно найти на прилагаемом компакт-
диске в файле c o u n t i n g t e x t i n a r a n g e . x l s x ( C h a p t e r 0 7 _ R U S . x l s x ) .
Глава 7. Способы суммирования и подсчета данных 201

Содержимое всей ячейки


Чтобы подсчитать количество ячеек, которые содержат только значение, введенное
в ячейку Т е к с т (и не содержат никаких других символов), воспользуйтесь функцией
СЧЁТЕСЛИ. Для этого создайте следующую формулу:
=СЧЁТЕСЛИ(Д и а п а з о н 2 ; Т е к с т )
Например, если ячейка Т е к с т содержит текстовую строку "Альфа", формула возвра­
щает значение 2, поскольку этот текст находится в двух ячейках диапазона Д и а п а з о н 2 .
Обратите внимание, что данная формула не учитывает регистр символов и воспринимает
содержимое ячеек А2 и А 10 как идентичные текстовые строки. В то же время содержимое
ячейки А8 данная формула игнорирует.
Следующая формула массива подобна предыдущей, за исключением того, что учиты­
вается регистр символов:
{=СУММ(ЕСЛИ(СОВПАД(Диапазон2;Текст);1))}

Часть содержимого ячейки


Чтобы подсчитать количество ячеек, которые содержат строку, включающую в себя
строку ячейки Т е к с т в качестве подстроки, используйте следующую формулу:
=СЧЁТЕСЛИ(Д и а п а з о н 2 ; " * " &Текст&"*")
Например, если в ячейке Т е к с т находится текст А льф а, данная формула возвращает
значение 3, поскольку в диапазоне Д и а п а з о н 2 текст А льф а присутствует в трех ячей­
ках: А2, А8 и А 1 0 . Обратите внимание, что регистр в данном случае не учитывается.
Альтернативная формула массива, использующая функцию НАЙТИ, немного длиннее:
{=СУММ(ЕСЛИ(НЕ(ЕОШИБКА(ПОИСК(Т е к с т ; Д и а п а з о н 2 ) ) ) ; 1 ) )}
Функция ПОИСК возвращает ошибку, если искомый текст не найден. В приведенном
примере подсчитываются все ячейки, в которых не была сгенерирована ошибка. Так как
функция ПОИСК не чувствительна к регистру символов, то же можно сказать и о формуле.
Если нужно подсчитать вхождения с учетом регистра символов, можете использовать
следующую формулу массива:
{=СУММ(ЕСЛИ(ДЛСТР(Диапазон2) -ДЛСТР(ПОДСТАВИТЬ(Диапазон2;
Т е к с т ; "") ) > 0 ;1 ) ) }
Если ячейка Т е к с т содержит слово "Альфа", предыдущая формула возвращает значе­
ние 2, поскольку данная текстовая строка встречается в двух ячейках диапазона (А2 и А8).
Подобно функции ПОИСК, функция НАЙТИ возвращает ошибку, если искомый текст
не найден. Таким образом, альтернативную версию предыдущей формулы можно запи­
сать в следующем виде:
{=СУММ(ЕСЛИ(НЕ(ЕОШИБКА(НАЙТИ(Текст;Диапазон2)) ) ; 1 ) )}
В отличие от ПОИСК, функция НАЙТИ различает регистр символов.

Общее количество экземпляров строки в заданном диапазоне


Чтобы подсчитать общее количество экземпляров строки в заданном диапазоне ячеек,
используйте следующую формулу массива:
{=СУММ(ДЛСТР(Диапазон2)) -СУММ(ДЛСТР(ПОДСТАВИТЬ(Диапазон2;
Т ек ст; " " ) ) ) ) /ДЛСТР(Т е к с т ) }
Если ячейка Т е к с т содержит символ Б, данная формула возвращает значение 7 —
этот символ есть в семи ячейках заданного диапазона. Имейте в виду, что эта формула
202 Часть II. Использование функций в формулах

учитывает регистр символа. Чтобы игнорировать регистр, используйте следующую из­


мененную формулу массива:
{ = (СУММ(ДЛСТР(Диапазон2)) -СУММ(ДЛСТР(
ПОДСТАВИТЬ(ПР0ПИСН(Диапазон2);
ПРОПИСН(Текст); " " ) ) ) ) /Д Л С Т Р (Т ек с т )}

Подсчет количества уникальных значений


Следующая формула массива возвращает количество уникальных значений в диапа­
зоне И н т е р в а л :
{=СУММ(1/СЧЁТЕСЛИ(Интервал/Интервал)) }
Для полного понимания того, как работает эта формула, вам необходимо усвоить ос­
новные принципы работы формул массива, о которых речь пойдет в главе 14. На рис. 7.5
показан рабочий лист, содержащий два диапазона ячеек: диапазон А 1 : А12 ( И н т е р в а л )
и диапазон С 1 :С 1 2 , во все ячейки которого включена следующая формула массива:
(одна формула скопирована во все 12 ячеек диапазона):
{=СЧЁТЕСЛИ(Интервал/Интервал)}

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


значений в диапазоне

Компакт-диск
Рабочую книгу, показанную на рис. 7.5, можно найти на прилагаемом ком­
пакт-диске в файле c o u n t u n i q u e . x l s x ( C h a p te r0 7 _ R U S . x l s x ) .
Массив в диапазоне C l : C l 2 содержит итоги, подсчитанные для каждого значения
в массиве И н т е р в а л . Например, число 100 появляется в массиве И н т е р в а л три раза.
Таким образом, каждый элемент массива С 1:С 12, соответствующий значению 100
в диапазоне Д ан н ы е, будет содержать значение 3.
Диапазон D1 :D12 отображает результаты следующей формулы массива:
{= 1/C l : С12}
Данный массив состоит из значений, полученных путем деления 1 на значения мас­
сива в диапазоне ячеек C l : С12. Например, если какая-либо ячейка исходного диапазона
И н т е р в а л содержит значение 2 00, то соответствующая ей ячейка в диапазоне D l : D12
будет иметь значение 0 ,0 5 .
Глава 7. Способы суммирования и подсчета данных 203

Суммирование значений диапазона D1 :D12 дает число одинаковых элементов, содержа­


щихся в массиве И н т ер в а л . По существу, формула, приведенная в начале этого раздела, соз­
дает массив значений в диапазоне ячеек D l : D12 и суммирует значения этого массива.
Однако эта формула имеет серьезное ограничение: в том случае, если диапазон со­
держит пустые ячейки, формула возвращает ошибку. Приведенная ниже формула масси­
ва решает эту проблему.
{=СУММ(ЕСЛИ(СЧЁТЕСЛИ(Интервал; И н т ер ва л ) = 0 ; " " ;
1/СЧЁТЕСЛИ(Интервал; И н т е р в а л ) ) ) }

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

Распределение частот
Главным компонентом процедуры распределения частот является итоговая таблица,
которая отображает частоту повторения значений в заданных интервалах. Например,
преподаватель школы или ВУЗа может создать распределение частот экзаменационных
оценок, т.е. таблицу, в которой отображается количество значений 1, 2, 3 и т.д. Чтобы
создать распределение частот, воспользуйтесь одним из следующих инструментов, кото­
рые Excel предоставляет в ваше распоряжение:
• функция ЧАСТОТА;
• собственная формула;
• надстройка “Пакет анализа”;
• сводная таблица.

Компакт-диск
Рабочую книгу, демонстрирующую использование всех четырех методов
создания распределения частот, можно найти на прилагаемом компакт-
диске в файле f r e q u e n c y d i s t r i b u t i o n . x l s x ( C h a p t e r 0 7 _ R U S . x l s x ) .

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

Функция ЧАСТОТА
Самый простой способ создания таблицы распределения частот в приложении
Excel— использование функции ЧАСТОТА. Эта функция возвращает массив, поэтому
она всегда должна применяться в формуле массива, введенной в диапазон ячеек.
На рис. 7.6 в диапазон ячеек A i : Е 2 0 ( Д и а п а з о н З ) введены значения от 1 до 5 0 0 .
Диапазон G2 :G 11 задает уровни дискретизации (интервалы), используемые в распреде­
лении частот. Каждая ячейка этого диапазона представляет собой верхний предел интер­
вала. В данном случае используются интервалы 1-50, 51-100, 101-150 и т.д. Более про­
стой способ создания интервалов рассматривается далее.
204 Часть II. Использование функций в формулах

Рис. 7.6. Создание интервалов для распределения частот для


диапазона ячеек a i :Е2 о

Чтобы создать график распределения частот, выберите диапазон ячеек, значения


в которых соответствуют интервалам. После чего введите следующую формулу массива:
{ =ЧАСТОТА(ДиапазонЗ; G 2 :G 11) ) }
Приведенная формула массива подсчитывает количество значений в диапазоне
Д и а п а зо н З , которые попадают в каждый интервал. Чтобы представить распределение
частот в виде процентной зависимости, используйте следующую функцию:
{ =ЧАСТОТА(ДиапазонЗ; G 2 :G10 ) /С Ч Ё Т (Д и ап азон З) }
На рис. 7.7 показаны два варианта распределения частот: один в виде числовых зна­
чений, а другой — в процентах. Кроме того, на рис. 7.7 показана диаграмма (или гисто­
грамма), созданная на основе полученного распределения частот.

Рис. 7.7. Распределение частот, вычисленное с помощью функции частота


Глава 7. Способы суммирования и подсчета данных 205

Создание интервалов для распределения частот


Прежде чем приступить к созданию распределения частот в диапазоне значений,
нужно определить интервалы. Количество интервалов задает количество категорий
в распределении. В большинстве случаев используются интервалы одинаковой длины.
Чтобы создать 10 равномерно удаленных друг от друга уровней дискретизации для
значений диапазона данные, в диапазон, состоящий из 10 ячеек отдельного столбца,
введите следующую формулу массива.
{МИН(Данные)+ (СТРОКА(ДВССЫЛ( " 1 : 1 0 " ) ) *
(МАКС(Данные)-МИН(Данные)+ 1 ) / 1 0 ) - 1 }
Эта формула создает 10 интервалов на основе значений диапазона данные. Верх­
нее значение элемента всегда соответствует максимальному значению интервала.
Чтобы создать большее или меньшее количество интервалов, необходимо исполь­
зовать другое значение, отличное от 10, а саму формулу массива ввести в диапазон,
содержащий такое же количество ячеек. Например, чтобы создать пять интервалов,
введите следующую формулу массива в диапазон, состоящий из пяти расположенных
вертикально ячеек.
{МИН(Данные) + (СТРОКА(ДВССЫЛ ( " 1 : 5 й) ) *
(МАКС(Данные)-МИН(Данные)+ 1 ) / 5 ) - 1 }

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


На рис. 7.8 показан рабочий лист, который содержит экзаменационные оценки 50
студентов (столбец В — Оценки). Формулы в столбцах G и Н вычисляют распределение
оценок студентов. Минимальные и максимальные баллы для каждого интервала отобра­
жаются в столбцах D и Е. Например, экзаменационная оценка, находящаяся в интервале
между 80 и 89 (включительно), помещается в столбец В диаграммы.

Рис. 7.8. Распределение экзаменационных отметок


206 Часть II. Использование функций в формулах

Формула в ячейке G2, приведенная ниже, представляет собой формулу массива, кото­
рая подсчитывает количество баллов, относящихся к оценке А.
{=СУММ((Оценки>=Б2)* (Оценки<=Е2) ) }
Эта формула уже использовалась в предыдущем разделе настоящей главы. В данном
примере формула скопирована в четыре ячейки ниже ячейки G2.
Формулы в столбце Н вычисляют процентное соотношение оценок. Формула, содер­
жащаяся в ячейке Н2, скопирована в четыре ячейки, находящиеся ниже Н2.
=G2/CYMM($G$2:$G$6)

Использование надстройки “Пакет анализа” для создания таблицы


распределения частот
Если в Excel установлена надстройка “Пакет анализа”, то для создания таблицы распре­
деления частот можно использовать инструмент Гистограмма. Перед тем как начать рабо­
ту с этим инструментом, введите в диапазон необходимые значения предельных уровней
интервалов. После этого во вкладке Данные выберите команду Анализ данных. Откроет­
ся диалоговое окно Анализ данных. Выберите в списке элемент Гистограмма и щелкните
на ОК, после чего на экране откроется диалоговое окно, показанное на рис. 7.9.

Рис. 7.9. Диалоговое окно Гистограмма


надстройки “Пакет анализа”

В полях Входной интервал, Интервал карманов и Выходной интервал установите,


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

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

Установлен ли пакет анализа?


Чтобы проверить, установлен ли в Excel пакет анализа, откройте вкладку Данные.
Если на ленте есть группа Анализ, а в ней — кнопка Анализ данных, значит, пакет анали­
за установлен, а если нет — его нужно установить. Для этого выполните следующие
действия.
Глава 7. Способы суммирования и подсчета данных 207

1. Откройте диалоговое окно Параметры Excel.


2. Выберите вкладку Надстройки.
3. В списке Неактивные надстройки должен быть пункт Пакет анализа.
4. Щелкните на кнопке Перейти. Откроется диалоговое окно Надстройки.
5. Установите флажок Пакет анализа.
6. Щелкните на кнопке ОК.

Рис. 7.10. Данное распределение частоты и диаграмма созданы с помощью диалого­


вого окна Гистограмма надстройки “Пакет анализа”

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


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

Рис. 7.11. Использование полос данных сводной таблицы для отобра­


жения гистограммы
208 Часть II. Использование функций в формулах

Перекрестная ссылка
Сводные таблицы рассматриваются в главе 18, а создание полос гисто­
граммы с помощью условного форматирования — в главе 19.

Применение настраиваемых уровней дискретизации


для создания гистограмм
На рис. 7.12 показан рабочий лист, в котором в столбце В (диапазон Б а л л ы ) перечис­
лены оценки студентов (общее количество студентов — 67 человек). Столбцы D и Е со­
держат формулы, которые вычисляют верхние и нижние пределы интервалов на основе
данных ячейки Е 1 (диапазон Р а з м е р ы И н т е р в а л о в ) . Например, если ячейка Р а з м е -
р ы И н т е р в а л о в содержит значение 10 (рис. 7.12), то каждый следующий элемент будет
отстоять от предыдущего на 10 единиц (1-10, 11-20 и т.д.).

Рис. 7.12. Распределение оценок студентов представлено в виде гистограммы;


размеры интервалов определяются значением ячейки Е1

Компакт-диск
Рабочий лист, показанный на рис. 7.12, можно найти на прилагаемом ком­
пакт-диске в файле a d j u s t a b l e b i n s . x l s x (Chapter07_RUS . x l s x ) .
Данная диаграмма использует в формуле РЯД два динамических имени. Имя
К а т е г о р и и определяется с помощью следующей формулы:
=СМЕЩ( 7 _ 1 2 ! $ Е $ 4 ; 0 ; 0 ; ОКРУГЛВВЕРХ( 1 0 0 /Р а зм е р ы И н т е р в а л о в ; 0 ) )
Имя Ч а с т о т а определяется следующей формулой:
=СМЕЩ( 7 _ 1 2 ! $ F $ 4 ; 0 ; 0 ; ОКРУГЛВВЕРХ( 1 0 0 /Р а зм е р ы И н т е р в а л о в ; 0 ) )
В результате при изменении содержимого ячейки Р а з м е р ы И н т е р в а л о в диаграмма
автоматически корректируется.

Перекрестная ссылка
Дополнительная информация о создании диаграмм, использующих динами­
ческие имена в формуле р я д , приведена в главе 17.
Глава 7. Способы суммирования и подсчета данных 209

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

Суммирование всех ячеек диапазона


Суммировать все ячейки диапазона несложно. Например, следующая формула воз­
вращает сумму всех значений диапазона Данные:
=СУММ(Данные)
Функция СУММ может принимать до 255 аргументов. Следующая формула возвраща­
ет сумму значений в пяти несмежных диапазонах:
=СУММ(А 1 : А9 ; Cl : С9 ; E l : Е9 ; G l : G9 ; 1 1 : 1 9)
В качестве аргументов функции СУММ можно использоваться строки или столбцы
электронной таблицы. Например, формула, приведенная ниже, возвращает сумму всех
значений в столбце А. Если данную формулу ввести в ячейку столбца А, это вызовет
ошибку циклической ссылки.
=СУММ (А: А)
Следующая формула возвращает сумму всех значений, содержащихся на рабочем
листе Л и ст1. Чтобы при ее создании избежать циклической зависимости, формула
должна использоваться в другом рабочем листе, отличном от Л и ст1.
=СУММ(Лист1! 1 : 1 0 4 8 5 7 6 )
Функция СУММ достаточно универсальна. В качестве ее аргументов можно использо­
вать числовые значения, ячейки, диапазоны, текстовые представления чисел (которые
интерпретируются как значения), логические значения и даже вложенные функции. На­
пример, рассмотрим следующую формулу:
=СУММ(В1; 5 ; " 6 " ; /КОРЕНЬ( 4 ) ; { 1 ; 2 ; 3 } ; А 1 :А 5 ; ИСТИНА)
Она содержит типы аргументов, которые перечислены ниже в порядке их представления:
• простая ссылка на одну ячейку;
• значение, представленное константой;
• строка, похожая на числовое значение;
• аргумент отсутствует;
• выражение, использующее другую функцию;
• константа массива;
• ссылка на диапазон значений;
• логическое значение ИСТИНА.

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

Накопительная сумма
При необходимости можно вычислить общую сумму значений заданного диапазона,
которая в этом случае называется накопительной. На рис. 7.13 приведен пример такого
вычисления. В столбце В представлены суммы по месяцам, а в столбце С отображается
накопительная сумма за все прошедшие месяцы.
В ячейку С2 введена следующая формула:
=СУММ(В$2:В 2 )
Обратите внимание, что данная формула использует смешанную ссылку. Первая
ячейка диапазона, на которую ссылается формула, всегда располагается в строке 2. При
копировании этой формулы вниз по столбцу данный диапазон изменится, но таким обра­
зом, что суммирование ячеек всегда будет начинаться со строки 2 и заканчиваться теку­
щей строкой. Если скопировать эту формулу вниз по столбцу С, ячейка С8 отобразит
следующую формулу:
=СУММ(В$2:В8)
Чтобы скрыть общие суммы для строк, данные в которые еще не введены, используй­
те функцию ЕСЛИ (например, как в формуле, введенной в ячейку С2 и скопированной
вниз по столбцу).
=ЕСЛИ(ЕПУСТО(В2) ; " " ; СУММ(В$2:В 2 ))
На рис. 7.14 показано, как работает эта формула.

Рис. 7.13. С помощью простой формулы, Рис. 7.14. Чтобы скрыть текущие суммы
введенной в столбец с, можно представить для строк с отсутствующими данными,
текущую сумму значений из столбца в используйте функцию е с л и

Компакт-диск
Рабочий лист, показанный на рис. 7.14, можно найти на прилагаемом ком­
пакт-диске в файле c u m u l a t i v e s u m . x l s x (C h a p t e r 0 7 _ R U S . x ls x ) .

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


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

в сортируемом диапазоне. Представленная далее формула массива выполняет эту задачу,


не требуя предварительной сортировки значений.
{=СУММ (НАИБОЛЬШИЙ (Данные ; { 1; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 ; 10 } ) ) }
Эта формула суммирует 10 наибольших значений в диапазоне Данные. Для того что­
бы просуммировать 10 наименьших значений, вместо функции НАИБОЛЬШИЙ просто ис­
пользуйте функцию НАИМЕНЬШИЙ.
{=СУММ(НАИМЕНЬШИЙ(Данные; { 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 ; 1 0 } ) ) }
Обе эти формулы используют константу массива, представляющую собой аргумент
функций НАИБОЛЬШИЙ или НАИМЕНЬШИЙ. Если нужно обработать диапазон, намного
больший, чем запрашиваемое количество наибольших значений, воспользуйтесь формулой,
приведенной ниже (она возвращает сумму наибольших 30 значений диапазона Данные).
При необходимости значение 30 может быть заменено на любое другое значение.
{=СУММ(НАИБОЛЬШИЙ(Данные; СТРОКА(ДВССЫЛ( " 1 : 3 0 м) ) ) ) }

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

Условное суммирование по одному критерию


Достаточно часто в расчетах возникает необходимость использовать условную сумму.
Что она собой представляет? Это сумма, которая складывается из значений диапазона,
удовлетворяющих одному или нескольким критериям. В этом разделе рассмотрены при­
меры условного суммирования, удовлетворяющего только одному критерию.
Функция СУММЕСЛИ весьма часто применяется в суммирующих формулах, исполь­
зующих одно условие. Эта функция принимает три аргумента.
• Д и а п а з о н , который задает ячейки со значениями, претендующими на включение
в сумму.
• У с л о в и е в форме числа, выражения или текста, которое определяет добавляемую
ячейку.
• Д и а п а з о н _ с у м м и р о в а н и я — необязательный аргумент. Определяет начальный
диапазон ячеек, которые подлежат суммированию. Если этот аргумент опущен,
функция использует диапазон ячеек, указанный в первом аргументе.
Приведенные ниже примеры демонстрируют принцип применения функции СУММ-
ЕСЛИ. Все формулы используют данные рабочего листа, показанного на рис. 7.15
(столбец F содержит формулу, которая вычитает дату, указанную в столбце Е, из даты
в столбце D). Отрицательное значение в столбце F свидетельствует о том, что оплата
просрочена. В рабочем листе используется несколько диапазонов, названных в соответ­
ствии со значениями строки 1.

Компакт-диск
Примеры, приведенные в этом разделе, можно найти на прилагаемом ком­
пакт-диске в файле c o n d i t i o n a l s u m m i n g . x l s x ( C h a p t e r 0 7 _ R U S . x l s x ) .
212 Часть II. Использование функций в формулах

Рис. 7.15. Отрицательное значение в столбце F свидетельствует


о том, что оплата просрочена

Суммирование только отрицательных значений


Следующая формула возвращает сумму отрицательных значений, содержащихся
в столбце F. Выражаясь другими словами, функция возвращает общее количество про­
сроченных дней оплаты всех счетов. В нашем случае формула возвращает значение -5 8 .
=СУММЕСЛИ( Р а з н и ц а ;"< 0")
Поскольку в данном случае третий аргумент опущен, второй аргумент функции
(" < 0 " ) относится к значениям диапазона Р а зн и ц а .

Примечание
Для того чтобы просуммировать отрицательные значения диапазона
Разница, можно также использовать следующую формулу массива:

{=СУММ(ЕСЛИ(РазницасО;Разница)) }
Вовсе не обязательно в функции СУММЕ СЛИ жестко программировать критерий. На­
пример, следующая формула использует ссылку на содержимое ячейки G2, в которую
введен критерий:
=СУММ( Р а з н и ц а ; G2)
Когда критерий в ячейке G2 изменяется, формула возвращает новый результат.

Суммирование значений на основе диапазона Разница


Представленная ниже формула возвращает сумму всех просроченных счетов оплаты
(из столбца С на рис. 7.15).
=СУММЕСЛИ( Р а з н и ц а ;"< 0 " ; Сумма)
Данная формула использует значения диапазона Р а з н и ц а для определения значений
диапазона Сумма, участвующих в формировании суммы просроченных платежей.

Примечание
Чтобы вычислить сумму значений диапазона Сумма, для которых соответст­
вующие значения диапазона Разница являются отрицательными, можно
также воспользоваться следующей формулой массива:
{ =СУММ(ЕСЛИ(Разница<0 ; Сумма)) }
Глава 7. Способы суммирования и подсчета данных 213

Суммирование значений на основе сравнения текста


Следующая формула возвращает общую сумму счетов для филиала в Калуге:
=СУММЕСЛИ(Филиал; " = Калуга"/Сумма)
Использование знака равенства не обязательно. Следующая формула возвращает
идентичный результат:
=СУММЕСЛИ(Филиал; " К а л у г а " ; Сумма)
Чтобы просуммировать общие суммы счетов всех филиалов, кроме расположенного
в Калуге, используйте следующую формулу:
=СУММЕСЛИ(Филиал;"< > К ал уга" ; Сумма)
Учитывайте, что сравнение текстовых строк в данном случае не чувствительно к ре­
гистру.

Суммирование значений на основе сравнения да т


Ниже представлена формула, возвращающая общую сумму счетов, оплата которых
должна быть выполнена после 1 мая 2010 года.
=СУММЕСЛИ(Срок_оплаты;" > = " &ДАТА(2 0 1 0 ; 5 ; 1 ) ; Сумма)
Обратите внимание, что второй аргумент функции СУММЕ СЛИ представляет собой
выражение, использующее функцию ДАТА, которая возвращает значение даты. Заклю­
ченный в кавычки условный оператор в комбинации с оператором конкатенации & фор­
мирует критерий с участием функции ДАТА.
Формула, приведенная ниже, возвращает общую сумму счетов, дата оплаты которых
приходится на будущий период времени (включая текущую дату).
=СУММЕСЛИ ( Д а т а _ п л а т е ж а ; ">="&СЕГОДНЯ() / Сумма)

Условные суммы на основе нескольких


критериев
Все примеры, рассмотренные в предыдущем разделе, касались случаев использова­
ния только одного условия сравнения данных. В этом разделе мы будем работать с фор­
мулами суммирования, использующими несколько условий. Так как функция СУММЕ СЛИ
не работает со множеством критериев, мы будем использовать формулы массивов,
а также функцию СУМЕСЛИМН. На рис. 7.$6 для напоминания снова показана используе­
мая в расчетах область данных рабочего листа (см. рис. 7.15).
Функция СУММЕСЛИМН может использоваться для суммирования диапазона ячеек на
основе множества критериев. Первым аргументом этой функции является суммируемый
диапазон. Далее могут следовать от 1 до 127 пар “диапазон/критерий”, определяющих,
какие значения из диапазона включать в сумму. В следующих примерах будут представ­
лены альтернативные формулы, предназначенные для тех рабочих книг, с которыми ра­
ботают пользователи, вооруженные более ранними версиями Excel.

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

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

-25 i __L J _ i________

Рис. 7.16. На этом рабочем листе суммирование выполняется с ис­


пользованием нескольких условий

Функция СУММЕСЛИМН как раз и предназначена для выполнения таких задач:


=СУММЕСЛИМН(Сумма; Р а з н и ц а ;"< 0 " ; Филиал; " К а л у г а ")
Первым аргументом функции СУММЕСЛИМН является суммируемый диапазон. Ос­
тальные аргументы, будучи объединенными в пары, определяют критерии. Каждая пара
состоит из диапазона и критерия, который на него накладывается.
В предыдущих версиях Excel с той же задачей справлялась следующая формула массива:
{ =СУММ( (Р а з н и ц а с О )* ( Филиал= "К алуга") *С ум ма)}
Данная формула создает в памяти системы ^цва новых массива.
• Булев массив, содержащий значение ИСТИНА в том случае, если соответствующее
значение диапазона Р а з н и ц а меньше нуля, и значение ЛОЖЬ — если значение
диапазона больше нуля.
• Булев массив, содержащий значение ИСТИНА в том случае, если соответствующее
значение диапазона О т д е л е н и е равно значению К а л у г а , и значение ЛОЖЬ —
в противном случае.
Умножение булевых значений дает следующие результаты.
ИСТИНА * ИСТИНА = 1
ИСТИНА * ЛОЖЬ = О
ЛОЖЬ * ЛОЖЬ = о
Таким образом, значение диапазона Сумма, отвечающее заданным условиям, воз­
вращается как ненулевое только в том случае, если оба соответствующих ему значения,
Глава 7. Способы суммирования и подсчета данных 215

находящихся в массивах, имеют значение ИСТИНА. Результатом является сумма значе­


ний диапазона Сумма, которые удовлетворяют заданным условиям.

Примечание
Предыдущую формулу массива можно переписать с помощью функции
выполняющей умножение и сложение элементов массивов.
суммпроизв ,
=СУММПР0ИЗВ( ( Р а з н и ц а с О ) ; ( Филиал= "К а луга" ) /Сумма)
Однако в силу непонятных причин функция суммпроизв обрабатывает буле­
вы значения некорректно, поэтому данная формула нежизнеспособна. Тем
не менее можно использовать другую формулу, которая умножает булевы
значения на 1, — она корректно справится со своей задачей.
=СУММПР0ИЗВ( 1 * ( Р а з н и ц а с О ) / 1 * ( Филиал="К а л у г а " ) /Сумма)

Применение оператора или


Предположим, что необходимо получить общую сумму просроченных счетов и сче­
тов филиала в Калуге. Иными словами, требуется просуммировать те значения диапазона
Сумма, которые соответствуют хотя бы одному из следующих условий:
• в диапазоне Р а з н и ц а им соответствуют отрицательные значения;
• соответствующий им текст в диапазоне О т д е л е н и е — это К а л у г а .
Приведенная ниже формула массива выполняет поставленную задачу.
{=СУММ(ЕСЛИ( ( Филиал="К а л у г а " ) + ( Р а з н и ц а с О ) / 1 / 0 ) * С ум м а)}
Знак “+” указывает на объединение условий (оператор ИЛИ), количество которых не
ограничивается двумя (как в данном примере), а может быть и больше.

Комбинирование условий и и или


Как правило, ситуация усложняется, когда необходимо задать условие, в котором ис­
пользовано несколько операторов И и ИЛИ. Предположим, что необходимо просуммиро­
вать значения диапазона Сумма, удовлетворяющие следующим условиям:
• в диапазоне Р а з н и ц а им соответствуют отрицательные значения;
• соответствующий им текст в диапазоне ф и л и а л — это текст К а л у г а или Т у л а .
Обратите внимание, что второе условие на самом деле состоит из двух условий, объе­
диненных с помощью оператора ИЛИ. Эту задачу реализует следующая формула, в кото­
рой используется функция СУММЕСЛИМН:
СУММЕСЛИМН(Сумма/ Р а з н и ц а /"< 0 " / Филиал/ " К а л у г а ") +
СУММЕСЛИМН(Сумма/ Р а з н и ц а /"< 0 " / Филиал/ " Т у л а ")
Следующая формула массива тоже справится с поставленной задачей:
{=СУММ( (Разница<0)*ЕСЛИ( (Филиал="Калуга")+
(Филиал="Т у л а " ) / 1 ) * Сумма)
Глава

Поиск данных
В этой главе...
♦ Знакомство с формулами поиска данных
♦ Функции, применяемые для поиска данных
♦ Базовые формулы поиска
♦ Специальные формулы поиска

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

Знакомство с формулами поиска данных


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

Примечание
В этой главе термин таблица означает прямоугольный диапазон данных, а не
табличный объект, созданный с помощью команды Вставка^Таблицы^Таблица.
На рис. 8.1 показан простейший рабочий лист, который содержит несколько формул
поиска и таблицу с данными о служащем (диапазон Д а н н ы е С л у ж а щ е г о , начиная с 9-й
строки). Если в ячейку В2 ввести интересующую вас фамилию, формулы поиска, вве­
денные в диапазон ячеек С2 : F2, найдут в таблице необходимую информацию. В приве­
денных ниже формулах используется функция поиска ВПР.
218 Часть II. Использование функций в формулах

Ячейка Ф ормула
С2 = В П Р ( В 2 ; ДанныеСлужащего; 2 ; ЛОЖЬ)
D2 = В П Р ( В 2 ; ДанныеСлужащего; 3 ; ЛОЖЬ)
Е2 = В П Р ( В 2 ; ДанныеСлужащего; 4 ; ЛОЖЬ)
F2 = В П Р ( D 2 /ДанныеСлужащего; 5 ; ЛОЖЬ)

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

Рис. 8.1. Формулы поиска, введенные в строку 2, возвращают необходимую инфор­


мацию о служащем, фамилия которого введена в ячейку В2

Функции, применяемые для поиска данных


В формулах поиска информации в таблицах данных используются следующие функ­
ции (табл. 8.1).

Таблица 8.1. Функции, используемые для поиска данных в таблице


Функция Описание функции
выбор Возвращает значение, определенное индексом, из списка значений (до
254), введенных в качестве аргументов
впр Функция вертикального просмотра. Проходит по первому столбцу таблицы
и возвращает значения найденной строки.
гпр Функция горизонтального просмотра. Просматривает верхнюю строку таб­
лицы и возвращает значения найденного столбца
индекс Возвращает значение, указанное индексом
просмотр Находит заданное значение в первом диапазоне и возвращает соответст­
вующее ему значение второго диапазона
поискпоз Возвращает относительное положение элемента диапазона, который соот­
ветствует определенному значению в указанном порядке
смещ Возвращает ссылку на диапазон, смещенный относительно заданной ячей­
ки или диапазона на определенное количество строк и столбцов
впр Вертикальный поиск. Ищет значение в первом столбце массива и возвра­
щает значение из ячейки в найденной строке и указанном столбце
Глава 8. Поиск данных 219

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


в табл. 8.1.

Компакт-диск
\S ^ Примеры этого раздела доступны на прилагаемом компакт-диске в файле
b a s i c lo o k u p e x a m p l e s . x l s x ( C h a p t e r 0 8 _ R U S . x l s x ) .

Базовые формулы поиска


Базовые формулы поиска данных используются, в основном, для поиска определен­
ных строк и столбцов таблицы с целью извлечения другого значения таблицы. Приложе­
ние Excel предоставляет в ваше распоряжение три базовых функции просмотра: ГПР,
ВПР и ПРОСМОТР. Функции П0ИСКП03 и ИНДЕКС часто используются совместно с ни­
ми; они возвращают ячейку или ссылку на ячейку с искомым значением.

Функция ВПР
Функция ВПР выполняет поиск значения в первом столбце просматриваемой таблицы
и возвращает значение из ячейки, расположенной на пересечении найденной строки
и указанного столбца таблицы. Данная функция выполняет вертикальный поиск по таб­
лице. Синтаксис функции ВПР следующий:
ВПР ( искомое_значение; массив_табл; номер_индекса_столбца ;
интерв аль ный_про смо тр)
Функция ВПР использует следующие аргументы.
• и с к о м о е _ з н а ч е н и е — значение, которое необходимо найти в первом столбце
таблицы (значение, ссылка или строка).
• м а с с и в _ т а б л — диапазон, содержащий таблицу, в которой выполняется поиск
данных.
• н о м е р _ и н д е к с а _ с т о л б ц а — номер столбца в таблице, из которого необходи­
мо возвратить соответствующее значение.
• и нт е р ва ль н ы й _ п р о см о т р — необязательный аргумент. Если данный аргумент
содержит значение ИСТИНА или опущен, функция возвращает значение, найден­
ное путем приближенного сопоставления искомого значения. Если не определено
точное значение, функция возвращает ближайшее значение, меньшее, чем задан­
ный аргумент и с к о м о е _ з н а ч е н и е . В случае, если аргумент содержит логиче­
ское значение ЛОЖЬ, функция ищет точное соответствие. Если точное соответст­
вие не найдено, функция возвращает ошибку #Н/Д.

Примечание
Если аргумент интервальный_просмотр содержит значение и сти н а и л и опу­
щен, таблица должна быть отсортирована в порядке возрастания. В случае,
если аргумент искомое_значение меньше самого меньшего значения, со­
держащегося в первом столбце диапазона массив_табл, функция впр вернет
ошибку #н/д. Если аргумент интервальный_просмотр содержит значение
ложь, первый столбец таблицы поиска не требует сортировки по возрастанию.
Если точное соответствие не найдено, функция возвращает ошибку #н/д.
220 Часть II. Использование функций в формулах'

©
Совет
Если аргумент искомое_значение содержит текст и аргумент интерваль-
ный_просмотр равен ложь, искомое значение может содержать групповые
символы * и ?. Звездочка означает любое количество произвольных симво­
лов, а знак вопроса — один произвольный символ.
Классическим примером использования формулы поиска может служить таблица с
процентными ставками налога (рис. 8.2). В эту таблицу внесены ставки налога, каждая из
которых соответствует определенному уровню дохода служащего. Следующая формула,
введенная в ячейку В2, возвращает ставку налога для заданного уровня дохода в ячейке В1:
=ВПР(В2; D 2 : F 7 ;3)

Рис. 8.2. Чтобы определить ставку налога, воспользуйтесь


функцией в п р

Анализируемая таблица находится в диапазоне, состоящем из трех столбцов (D2 : F7).


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

Функция Г П Р
Функция ГПР работает аналогично ВПР, за исключением того, что таблица просмат­
ривается не по вертикали, а по горизонтали. Функция просматривает верхнюю строку
таблицы и возвращает значение из указанной строки.
Функция ГПР имеет следующий синтаксис:
ГПР {искомое_значение; таблица; номер_строки; интервальный_просмотр)
В функции ГПР используются следующие аргументы.
• искомое_значение — значение, которое требуется найти в первой строке таблицы.
• таблица — таблица, в которой выполняется поиск данных.
• номер_строки — номер строки в таблице, из которой возвращается сопостав­
ляемое значение.
• интервальный_просмотр — необязательный аргумент. Если значение этого
аргумента ИСТИНА или опущено, функция возвращает значение, найденное путем
приближенного сопоставления искомого значения (если точное соответствие не
Глава 8. Поиск данных 221

найдено, функция вернет наибольшее значение, меньшее чем значение аргумента


и с к о м о е _ з н а ч е н и ё ). В случае, если аргумент содержит логическое значение
ЛОЖЬ, функция ГПР будет искать точное соответствие. Если точное соответствие
не найдено, функция вернет ошибку #Н/Д.

Совет
Если аргумент искомое_значение содержит текстовое значение и аргумент
интервальный_просмотр равен ложь, в искомом значении можно исполь­
зовать групповые символы * и ?. Звездочка соответствует любому количе­
ству символов, а знак вопроса — одному символу.
На рис. 8.3 показана таблица со ставками подоходного налога, но уже в горизонталь­
ной форме ( E l : J3 ). Формула в ячейке ВЗ выглядит следующим образом:
=ГПР (В2 ; E l : J3 ; 3 )

в С О Е F G Н I J к

U I i 1_________________________

Рис. 8.3. В этом случае для поиска ставки подоходного налога можно воспользоваться функцией гпр

Функция ПРОСМОТР
Функция ПРОСМОТР имеет следующий синтаксис:
ПРОСМОТР (искомое_значение; вектор_просмотра; вектор_результата)
Данная функция использует следующие аргументы.
• искомое_зна чение — значение, которое функция ищет в векторе просмотра.
• вектор_просмотра — диапазон, состоящий только из одной строки или одного
столбца и содержащий значения, среди которых необходимо найти нужное. Зна­
чения должны располагаться в порядке возрастания.
• вектор_результата — диапазон, состоящий только из одной строки или одно­
го столбца и содержащий значения, которые будут возвращены. Размер этого диа­
пазона должен быть равен размеру диапазона вектор_просмотра.
Функция ПРОСМОТР просматривает диапазон, состоящий из одной строки или одного
столбца ( вектор_просмотра ), находит необходимое значение (искомое_значение )
и возвращает значение, содержащееся в соответствующей ячейке второго диапазона, ко­
торый также состоит из одной строки или одного столбца ( вектор_результата ).

Предупреждение
Имейте в виду, что значения диапазона вектор_просмотра должны распола­
гаться в порядке возрастания. В том случае, когда искомое_значение меньше
наименьшего значения, содержащегося в диапазоне вектор_просмотра,
функция возвращает ошибку # н / д .
222 Часть II. Использование функций в формулах

Примечание
Справочная система Excel указывает, что функция просм отр имеет два ва­
рианта синтаксиса, один из которых включает аргумент массив. Это обеспе­
чивает совместимость Excel с другими программами управления электрон­
ными таблицами. Однако на практике вместо второго варианта синтаксиса
предпочтительнее использовать функции впр и гпр.
На рис. 8.4 показана все та же таблица ставок налога, только на этот раз формула, ко­
торая введена в ячейку ВЗ, содержит функцию ПРОСМОТР, возвращающую соответст­
вующую ставку. Обратите внимание на то, что возвращаемые значения содержатся в
другой таблице.
=ПРОСМОТР(В2; D 2 : D 7 ; G 2 :G9)

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

Рис. 8.4. Чтобы найти соответствующую налоговую ставку, вос­


пользуйтесь функцией п р о с м о т р

В отличие от функции ВПР, функция ПРОСМОТР может вернуть значение, содержа­


щееся в строке, отличной от найденной. Если аргументы вектор_поиска и вектор__
результата не принадлежат одной и той же таблице, функция ПРОСМОТР может ока­
заться очень полезной. Если же они принадлежат одной таблице и данные не отсортиро­
ваны, лучше применить функцию ВПР.

Комбинирование функций поискпоз и ин декс


Достаточно часто при поиске данных функции ПОИСКПОЗ и ИНДЕКС используются
вместе. Функция ПОИСКПОЗ возвращает относительную позицию ячейки в диапазоне,
соответствующую искомому значению. Синтаксис функции следующий:
ПОИСКПОЗ(искомое_значение; массив_поиска; тип_сопоставления)
Функция ПОИСКПОЗ принимает три аргумента.
• искомое_значение — значение, которое требуется найти в массиве массив_
поиска. Если третий аргумент этой функции — тип_сопоставления — равен
нулю, а аргумент искомое_значение представляет собой текст, то последний
может содержать макросимволы * и ? .
• массив_поиска — диапазон, который содержит искомое значение.
Глава 8. Поиск данных 223

• т и п _ с о п о с т а в л е н и я — целое число (-1 , 0 или 1), которое задает метод сопос­


тавления.

Примечание
В том случае, если аргумент тип_сопоставления равен единице, функция
поискпоз ищет самое большое значение, которое меньше либо равно аргу­
менту искомое_значение (значения диапазона массив_поиска должны
располагаться в порядке возрастания, т.е. диапазон должен быть отсорти­
рован). Если аргумент тип_сопоставления равен нулю, функция ищет пер­
вое значение, в точности соответствующее аргументу искомое_значение.
Если же аргумент тип_сопоставления равен -1, функция ищет наименьшее
значение, которое больше или равно аргументу искомое_значение (в этом
случае значения диапазона массив_поиска должны располагаться в поряд­
ке убывания). Если аргумент тип_сопоставления опущен, то по умолчанию
он принимается равным единице.
Функция ИНДЕКС возвращает ячейку диапазона. Синтаксис функции следующий:
ИНДЕКС (массив ; номер_строки; номер_столбца)
Функция ИНДЕКС принимает три аргумента.
• м а с с и в — диапазон, являющийся массивом.
• ном ер_ст роки — строка в массиве ма с сив, из которого возвращается значение.
• ном ер_ст олбца — столбец в массиве ма с сив, из которого возвращается значение.

Примечание
Если массив содержит всего одну строку или столбец, соответствующий ар­
гумент номер_строки\лп\л номер_столбца использовать не обязательно.
На рис. 8.5 показан рабочий лист, в котором в столбцах D, Е и F содержатся значения
дат, дней недели и сумм. При вводе даты в ячейку В1 формула, приведенная ниже
(ячейка В2), просматривает значения в столбце D (так выполняется поиск необходимой
даты), а затем возвращает из столбца F соответствующую этой дате сумму.
=ИНДЕКС(F 2 : F 21 ; ПОИСКПОЗ(В 1 ; D 2 :D21 ; 0 ) )

Рис. 8.5. Функции ИНДЕКС и поискпоз используются для по­


иска данных в таблице
224 Часть II. Использование функций в формулах

Чтобы понять, как работает эта формула, начните с функции ПОИСКПОЗ. Данная
функция ищет в диапазоне D2 :D 2 1 дату, содержащуюся в ячейке В1, и относительный
номер строки, в которой эта дата найдена. Полученное значение используется в качестве
второго аргумента функции ИНДЕКС. В результате формула возвращает соответствую­
щее значение, содержащееся в диапазоне F2 : F 2 1 .

Когда пустая ячейка не считается нулем


Часто возникает ситуация, когда ячейки анализируемого диапазона не содержат ни­
каких значений. Функции поиска Excel обрабатывают такие ячейки как нулевые значе­
ния. Например, рабочий лист на приведенном ниже рисунке содержит таблицу, со­
стоящую из двух столбцов. Приведенная ниже формула просматривает первый стол­
бец, отыскивая в нем имя, введенное в ячейку В1, и возвращает соответствующую
этому имени сумму.
=ВПР(В1; D 2 : Е 8 ; 2 ; ЛОЖЬ)
Обратите внимание, что ячейка Сумма, соответствующая имени Чаки, пустая, одна­
ко формула возвращает нулевое значение.

Если нужно, чтобы нулевые значения отличались от пустых ячеек, измените формулу
просмотра, добавив в нее функцию если , — так вы определите длину возвращаемого
значения. В том случае, если возвращаемая ячейка пустая, длина значения восприни­
мается равной нулю, во всех других случаях — как ненулевое значение. Следующая
формула возвращает пустую строку всякий раз, когда длина возвращаемого значения
нулевая; фактическое значение будет отображено в том случае, когда длина значения
не равна нулю.
=ЕСЛИ(ДЛСТР(ВПР(В1; D 2 : Е 8 ;2) ) = 0 ; " " ; (ВПР(В1; D 2 : Е 8 ;2) ) )

Специальные формулы поиска


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

Компакт-диск
Примеры ЭТОГО раздела находятся в файле s p e c i a l i z e d lo o k u p exam ­
p l e s . x l s x (Chapter08_RUS . x l s x ) на прилагаемом компакт-диске.
Глава 8. Поиск данных 225

Поиск точного значения


Как было показано в предыдущих примерах, функции ВПР и ГПР не требуют точного
соответствия между искомым значением и значением в таблице поиска. Иногда это до­
пустимо, например, при поиске ставки налога. В других ситуациях может потребоваться
полное соответствие значений. Например, при поиске табельного номера служащего не­
обходимо полное соответствие номера.
Чтобы найти только точно соответствующее значение, используются те же функции
ВПР или ГПР, но с необязательным четвертым аргументом со значением ЛОЖЬ.
На рис. 8.6 показан рабочий лист с таблицей, которая содержит табельные номера
(столбец С), а также имена и фамилии служащих (столбец D). Таблица поиска носит на­
звание СписокСлужащих. Следующая формула, введенная в ячейку В2, ищет табель­
ный номер служащего, заданный в ячейке В1, и возвращает имя служащего, имеющего
данный табельный номер.
=ВПР(В1; СписокСлужащих; 2 ; ЛОЖЬ)

Рис. 8.6. Поиск в этой таблице требует точного соответствия значений

Поскольку последний аргумент функции ВПР имеет значение ЛОЖЬ, функция возвращает
значение только в том случае, если найдено точное соответствие. В противном случае, если
значение не найдено, формула возвращает ошибку #Н/Д. Безусловно, поиск приближенного
соответствия значения табельного номера служащего не имеет в данном случае никакого
смысла. Обратите внимание также на то, что табельные номера служащих в столбце С распо­
ложены не в порядке возрастания, поскольку при использовании в качестве четвертого аргу­
мента логического значения ЛОЖЬ упорядочения по возрастанию не требуется.

Совет
Если нужно, чтобы вместо ошибки # н /д на экране отображалась другая ин­
формация (в случае, если табельный номер служащего не найден), исполь­
зуйте функцию еслиошибка. Ее синтаксис следующий:
ЕСЛИОШИБКА( значение ; значение_ если_ ошибка)
где:
♦ значение — это произвольное выражение; обычно это формула, по­
тенциально способная вернуть ошибку;
♦ зна чение_если_ошибка — это любое выражение, содержащее чис­
ла, строки, ссылки на ячейки или формулы.
Следующая формула вместо ошибки # н /д отображает текст не найдено:
=ЕСЛИОШИБКА(ВПР(В 1 ; СписокСлужащих; 2 ; ЛОЖЬ) ) ; " Не н а й д е н о ")
226 Часть II. Использование функций в формулах

Поиск значения слева


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

Рис. 8.7. Функция в п р не позволяет найти значение в столбце в на ос­


нове данных столбца с

Один из способов решения этой проблемы — использовать функцию ПРОСМОТР, ко­


торая принимает в качестве аргументов два диапазона. Следующая формула (в ячейке
F3) возвращает средний темп игрока (из столбца В), имя которого введено в ячейку
Искомы й_игрок:
=ПРОСМОТР(Искомый_игрок; И гр ок ; С р е д н и е)
Для того чтобы использовать функцию ПРОСМОТР, диапазон поиска (в данном случае
диапазон И г р о к ) необходимо представить в порядке возрастания. Кроме этого ограни­
чения, формула имеет еще одну небольшую проблему: при вводе имени несуществую­
щего игрока (другими словами, если ячейка И с к о м ы й _ и г р о к содержит значение, кото­
рое отсутствует в диапазоне И г р о к ), формула возвращает значение ошибки.
Более эффективный способ — совместное использование функций ИНДЕКС и ПОИСКПОЗ.
Следующая формула работает точно так же, как предыдущая, за исключением того, что
она возвращает ошибку #Н /Д , если искомый игрок не найден. Еще одно преимущество
этой формулы состоит в том, что имена игроков не требуют сортировки.
=ИНДЕКС(Среднее; ПОИСКПОЗ(Искомый_игрок;Игрок;0 ) )
*
Поиск с учетом регистра
Рассмотрим задачу поиска текста в таблице данных. Базовые функции поиска данных
в Excel (ПРОСМОТР, ВПР и ГПР) не учитывают регистр символов. Поэтому в результате
использования этой функции для поиска в таблице текста б ю д ж е т формула вернет лю­
бую соответствующую этому тексту строку, например: БЮДЖЕТ, Бю дж ет или БюДжЕт.
Глава 8. Поиск данных 227

Рабочий лист, показанный на рис. 8.8, содержит два диапазона: первый включает
ячейки D2 :D7 (с именем Д иап азон01), второй— ячейки Е 2:Е 7 (с именем Д иапа­
зоне^). Текст, который необходимо найти, содержится в ячейке В1 (с именем Слово).

Рис. 8.8. Чтобы найти текст с учетом регистра символов,


воспользуйтесь формулой массива

Следующая формула массива, введенная в ячейку В2, находит заданное значение


в диапазоне Д иап азон 01, учитывая при этом регистр символов, и возвращает соответ­
ствующее значение из диапазона Д и ап азон 02.
{=ИНДЕКС(Диапазон02; ПОИСКПОЗ(ИСТИНА;
С О ВП А Д (С лово;Диапазон01);0)) }
Данная формула находит слово СОБАКА (все символы верхнего регистра) и возвра­
щает соответствующее значение 3 00. В свою очередь, стандартная формула поиска, ис­
пользующая функцию ПРОСМОТР, возвращает значение 400.
=ПРОСМОТР(С л о в о; Д и а п а з о н 0 1 ; Д и а п а з о н 0 2 )

Примечание
Не забывайте, что при вводе формулы массива необходимо использовать
клавиши <Ctrl+Shift+Enter>.

Поиск значения во множестве таблиц


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

Рис. 8.9. Данный рабочий лист содержит много таблиц поиска данных
228 Часть II. Использование функций в формулах

Представленная в примере рабочая книга содержит два диапазона: диапазон G3 :Н9


(с именем Т а б л и ц а 0 1 ) и диапазон J 3 :К8 (с именем Т а б л и ц а 0 2 ) и вычисляет комис­
сионные менеджеров фирмы. Ставка комиссионного вознаграждения каждого отдельно­
го менеджера зависит от двух факторов: стажа работы менеджера в данной фирме
(столбец В) и объема реализованного им товара (столбец С). Столбец D содержит форму­
лы поиска ставки комиссионных в соответствующей таблице. Например, ячейка D2 со­
держит следующую формулу:
=ВПР(С2; Е С Л И (В 2 < 3 ; Т а б л и ц а 0 1 ; Т а б л и ц а 0 2 ) ; 2 )
Второй аргумент функции ВПР содержит функцию ЕСЛИ, которая использует значе­
ние ячейки В2 для определения того, какую из таблиц следует просматривать.
Формула в столбце Е просто умножает объем продаж каждого менеджера в столбце С
на ставку комиссионного вознаграждения из столбца D. Ячейка Е2 содержит следующую
формулу:
=C2*D2

Вычисление оценки по количеству набранных баллов


Еще один пример использования таблиц поиска данных — это выставление экзаме­
национных оценок по результатам тестирования студентов. На рис. 8.10 показан рабочий
лист, который содержит таблицу с количеством набранных баллов и соответствующих
оценок (диапазон Е2 : F6 с именем С п и с о к О ц е н о к ). Данная таблица используется для
присвоения студенту, сдавшему тест, одной из оценок в виде буквы.

Рис. 8.10. Назначение оценке категории по резуль­


татам тестирования

Столбец С содержит формулы, которые используют функцию ВПР и таблицу класси­


фикаторов, чтобы на основании полученного каждым студентом количества баллов
(столбец В) присвоить ему соответствующую оценку. Например, ячейка С2 содержит
следующую формулу:
=ВПР(В2; СписокОценок;2)
Если таблица поиска содержит небольшое количество значений (как, например, на
рис. 8.10), вместо нее можно использовать массив символов. Например, приведенная
ниже формула возвращает оценку, не используя при этом таблицу поиска. Информация
таблицы поиска введена непосредственно в формулу массива. Для получения дополни­
тельной информации о массивах обратитесь к главе 14.
=ВПР(В5; { 0 ; "F": 4 0 ; "D": 7 0 ; "С": 8 0 ; "В": 9 0 ; "А"} ;2)
Глава 8. Поиск данных 229

В другой, более удобной, формуле назначения букв используется функция ПРОСМОТР


с двумя аргументами, представляющими собой массивы.
=ПРОСМОТР(В2; { 0 ; 4 0 ; 7 0 ; 8 0 ; 9 0 } ; { "F"; "D"; "С"; "В"; "А"})
В заключение, если удается преобразовать входное значение (в данном случае коли­
чество баллов) в целое число от единицы до 29, можете воспользоваться функцией ВЫ­
БОР. В данном примере можно разделить количество баллов на 10, отбросить дробную
часть и добавить единицу. В результате получим целые числа от 1 до 11. Оставшиеся ар­
гументы функции определяют возвращаемые значения для всех 11 результатов.
=ВЫБОР(ЦЕЛОЕ(В2/10)+1;
при . п р и . м р и . и р м . м р и . м р и . м р и . Iip il . м р и . п р и . мр м ^

Вычисление средней оценки


Средняя оценка в данном примере вычисляется как среднее числовое значение оце­
нок, полученных студентами. Для вычисления этого показателя каждая буква оценки со­
поставляется с определенным числовым значением (А=4, В=3, С=2, D=1 и F=0). Средняя
оценка рассчитывается как среднее числовых значений оценок, взвешенное по количест­
ву часов, пройденных по данному курсу. Например, одночасовой курс меньше влияет на
среднюю оценку, чем трехчасовой. Градация показателя средней оценки начинается с 0
(все F) и заканчивается 4,00 (все А).
На рис. 8.11 показан рабочий лист, содержащий информацию о студенте. Этот сту­
дент посетил пять занятий, общее количество прослушанных им часов— 13 (диапазон
В2 :В6 — Ч а с ы О б у ч е н и я ). Оценки, полученные за каждый курс, содержатся в столбце
С (диапазон С2 : С6 — О ценк и). Столбец D отображает формулу поиска, которая опре­
деляет числовое значение оценки для каждого занятия. Например, следующая формула
(в ячейке D2) использует таблицу поиска G2 : Нб ( Т а б л и ц а О ц е н о к ):
=ВПР(С2; Т аблицаО ценок;2 ; ЛОЖЬ)

Рис. 8.11. Для вычисления средней оценки используется несколько формул

Формулы, введенные в столбец Е, вычисляют взвешенные значения. Например, фор­


мула в ячейке'Е2 выглядит следующим образом:
=D2*B2
И наконец, следующая формула в ячейке В 8 вычисляет среднюю оценку:
=СУММ(Е2: Е 6) /СУММ(В2:В6)
Несмотря на то что предыдущие формулы работают достаточно хорошо, можно уп­
ростить вычисление среднего показателя. Для этого применяйте единственную формулу
230 Часть II. Использование функций в формулах

массива, не прибегая к использованию таблицы поиска и формул в столбцах D и Е. Эта


формула массива выглядит следующим образом:
{=СУММ((П0ИСКП03(Оценки;{ "F"; "D"; "С"; "В"; "А"} ; 0 ) - 1 )
*ЧасыОбучения)/СУММ(ЧасыОбучения)}

Поиск на пересечении строк и столбцов


На рис. 8.12 показан рабочий лист, который содержит данные о ежемесячных объе­
мах продаж товаров. Для того чтобы найти информацию об объеме продаж определен­
ного товара в течение одного заданного месяца, в ячейку В1 необходимо ввести искомый
месяц, а в ячейку В2 — название товара.

Рис. 8.12. Таблица поиска информации на пересечении строк и столбцов

Для упрощения работы с формулами на данном рабочем листе используются сле­


дующие диапазоны ячеек.

Имя диапазона Диапазон


Месяцы В1
Товар В2
Таблица D l :Н14
СписокМесяцев D l :D14
СписокТоваров D1-.H1

Следующая формула (ячейка В4) содержит функцию ПОИСКПОЗ и возвращает пози­


цию заданного месяца в диапазоне ячеек С п и сокМ есяцев. Например, если вы ищете
месяц январь, то данная формула возвращает значение 2, поскольку я н в а р ь — это вто­
рой элемент диапазона С пи сокМ есяцев (первый элемент — незаполненная ячейка D1).
=П0ИСКП03(Месяцы;СписокМесяцев;0)
Формула, введенная в ячейку В5, работает таким же образом, но применяется для
диапазона С п и со к Т о в ар о в .
=П0ИСКП03(Т о в а р ; С пи сокТ ов ар ов ;0)
И наконец, формула в ячейке В б возвращает соответствующий заданным условиям
объем продаж. В формуле используется функция ИНДЕКС, которая в качестве аргумен­
тов принимает результаты, полученные в ячейках В4 и ВБ.
=ИНДЕКС(Т а б л и ц а ; В 4 ; В 5 )
Глава 8. Поиск данных 231

Все приведенные формулы можно объединить в одну.


=ИНДЕКС(Таблица; ПОИСКПОЗ(Месяц;СписокМесяцев; 0 ) ;
ПОИСКПОЗ(Т о в а р ; С пи сок Т ов ар ов ; 0 ) )

Совет
Существует еще один способ быстрого создания формулы для поиска зна­
чения на пересечении строк и столбцов. Он предусматривает присвоение
имен каждой строке и каждому столбцу таблицы. Для этого выделите табли­
цу с данными и выберите команду Формулы*=>Определенные именаоСоздать
из выделенного. После создания имен приведенные формулы будут выгля­
деть гораздо проще.
=3ажигалки Июль
Данная формула использует пересечение двух диапазонов и возвращает
данные о продажах зажигалок в июле. Для обращения к ячейкам, в которые
введены месяц и товар, используйте следующую формулу:
=ДВССЫЛ(Месяцы) ДВССЫЛ(Товар)
Эта формула преобразует значения ячеек с именами месяцы и товар в ссылки
на диапазоны и находит пересечение. (Оператор пересечения подробно опи­
сан в главе 3.)

Поиск информации в двух столбцах


В отдельных случаях таблица поиска может содержать два столбца с искомыми дан-
' ными. На рис. 8.13 приведен пример такой таблицы.

Рис. 8.13. В этой рабочей книге выполняется поиск информации на


основе данных двух столбцов таблицы (D и Е)

Таблица поиска содержит список автомобилей, для каждого из которых указаны про­
изводитель, модель и код. Диапазоны рабочего листа названы следующим образом.
F2:F12 Код
В1 Производитель
В2 Модель
D2:D12 Диапазон4
Е2:Е12 ДиапазонБ

Следующая формула массива выводит на экран номер, соответствующий автомобилю


определенной марки и модели:
{=ИНДЕКС(К о д ; ПОИСКПОЗ(П роизводитель &Модель;
Диапазон4& Диапазон5" ; 0 ) ) }
232 Часть II. Использование функций в формулах

Данная формула связывает текстовые строки, содержащиеся в ячейках П р о и з в о д и ­


т е л ь и М одель, а затем ищет текст в соответствующем объединении двух диапазонов:
Д и ап азон 4 и ДиапазонБ .

Определение местонахождения значения в диапазоне


В большинстве случаев формулы просмотра данных таблицы используются для поис­
ка определенных значений. Однако иногда требуется найти не само значение, а его ме­
стоположение. Например, на рис. 8.14 показан рабочий лист, который отображает диапа­
зон данных, состоящий всего лишь из одного столбца (с именем Д а н н ы е1 ). Ячейка В1
с именем Цель содержит значение, которое необходимо найти.
Следующая формула, введенная в ячейку В2, возвращает адрес той ячейки из диапа­
зона Данны е, которая содержит значение Цель:
=АДРЕС(СТРОКА(Данные1)+
ПОИСКПОЗ(Цель; Данные1 ; 0 ) - 1 ; СТОЛБЕЦ(Данные1 ) )
Если диапазон Данн ы е содержит только одну строку, для поиска адреса значения
воспользуйтесь следующей формулой:
=АДРЕС(СТРОКА(Данные1) ; СТОЛБЕЦ(Данные1)+
ПОИСКПОЗ(Ц ел ь ; Данные1 ; 0 ) - 1 )
Если диапазон Д ан н ы е содержит несколько экземпляров искомого значения, форму­
лы вернут адрес первой найденной ячейки с этим значением. Если искомое значение не
найдено, формулы вернут ошибку #Н/Д.

Поиск значения, максимально приближенного


к заданному
Формулы ПРОСМОТР и ГПР наиболее часто используются в следующих ситуациях.
• Если необходимо найти значение, в точности соответствующее заданному. Для этого
в качестве четвертого аргумента функций используется логическое значение ЛОЖЬ.
• Если необходимо найти значение, максимально приближенное к заданному. Для
этого в качестве четвертого аргумента функций используется логическое значение
ИСТИНА. Аргумент может быть также опущен, а поиск точного соответствия не
выполняется вообще. Формула возвращает ближайшее к заданному значение, но
в меньшую сторону.
Если необходимо найти значение, максимально близкое к заданному, независимо от
направления отклонения, ни одна из предложенных выше базовых функций (ПРОСМОТР
и ГПР) не сможет выполнить эту задачу.
На рис. 8.15 показан рабочий лист, содержащий имена студентов (столбец А) и некото­
рые значения (столбец В). Диапазон В2 :В2 0 называется Д ан н ы е2, ячейка Е2 (с именем
Ц е л ь 2) содержит значение, которое необходимо найти в диапазоне Д ан н ы е2. Ячейка ЕЗ
(с именем С м е щ е н и е С т о л б ц а ) содержит значение, которое определяет, на сколько
столбцов и в какую сторону от диапазона Д а н н ы е2 происходит смещение значения.
Приведенная ниже формула массива определяет ближайшее значение из диапазона
Д а н н ы е2 , которое соответствует значению Ц е л ь 2, и возвращает имя студента в столбце
А (т.е. столбце, смещенном на - 1 от столбца с диапазоном Д а н н ы е 2). Формула возвра­
Глава 8. Поиск данных 233

щает имя Д а в и д , которому соответствует значение 8 0 0 0 — ближайшее значение к це­


левому, равному 802 5.
{=ДВССЫЛ(АДРЕС(СТРОКА(Данные)+
П0ИСКП03(МИН(ABS( Ц ел ь -Д ан н ы е)) ;
ABS( Ц е л ь - Д а н н ы е ) ; 0 ) - 1 ; СТОЛБЕЦ(Данные)+СмещениеСтолбца)) }

Рис. 8.14.хФормула в ячейке В2 воз- Рис. 8.15. Данная рабочая книга демонстрирует процесс
вращает адрес ячейки в диапазоне поиска значения, ближайшего к заданному
Данные, в которой содержится зна­
чение, введенное в ячейку В1

Если в диапазоне Д а н н ы е2 формула находит два значения, которые одинаково близ­


ки к значению Ц е л ь 2, то она возвращает первое из найденных в списке значений.
Значение, содержащееся в ячейке С м е щ е н и е С т о л б ц а , может быть отрицательным
(если столбец расположен слева от диапазона Д а н н ы е 2), положительным (если столбец
расположен справа от диапазона Д а н н ы е 2) или равным нулю (если ближайшее значение
расположено в самом диапазоне Д а н н ы е 2).
Чтобы понять, как работает эта формула, вы должны уяснить себе принцип работы
функции ДВССЫЛ. В качестве первого аргумента этой функции используется текстовая
строка в виде ссылки на ячейку (или ссылки на ячейку, содержащую текстовую строку).
В нашем примере текстовая строка создается с помощью функции АДРЕС, которая при­
нимает в качестве аргументов номера строки и столбца, а возвращает адрес ячейки.

Поиск значения методом линейной интерполяции


Интерполяция представляет собой процесс создания недостающих значений на основе
существующего ряда значений. Рассмотрим пример интерполяции данных. На рис. 8.16 по­
казан рабочий лист, в котором столбец D содержит список значений х, а столбец Е — спи­
сок значений у, соответствующих каждому значению х.
Кроме того, в рабочий лист включен график, который визуально иллюстрирует связь меж­
ду диапазонами х и у. Расположение точек на диаграмме говорит о том, что зависимость
между значениями х и у приблизительно линейная: рост значения х вызывает пропорцио­
нальный рост значения у. Обратите внимание, что значения в диапазоне х введены не в стро­
гой последовательности. Например, отсутствуют значения 3 , 6 , 7 , 1 4 , 1 7 , 1 8 и 1 9 .
234 Часть II. Использование функций в формулах

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


значения методом интерполяции

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


и возвращают значения диапазона у. Но как быть, если необходимо рассчитать значение
у для отсутствующего значения х? Обычная формула таблицы поиска возвращает не­
правильный результат, поскольку оперирует только существующими значениями у
(вместо расчетных). Например, следующая формула ищет значение 3, но возвращает
значение 1 8 , 0 0 (как значение, соответствующее значению 2 в диапазоне х):
=ПРОСМОТР( 3 ; х ; у )
Именно в таких случаях требуется интерполяция значений. Другими словами, по­
скольку искомое значение 3 находится посредине между существующими значениями х
(2 и 4), возвращаемое значение у должно быть равно 2 1 , 0 0 , т.е. тоже располагаться по­
средине между значениями 1 8 , 0 0 и 2 4 , 0 0 .

Формулы линейной интерполяции


На рис. 8.17 показан рабочий лист с формулами, введенными в столбец В. Искомое
значение введено в ячейку В1, а итоговая формула в ячейке В 1 6 возвращает результат
подсчетов. Если значение, содержащееся в ячейке ВЗ, найдено в диапазоне х, формула
возвращает соответствующее значение у. В противном случае (если значение в ячейке
ВЗ не найдено) формула в ячейке В 1 6 возвращает расчетное значение у, полученное пу­
тем линейной интерполяции.
Критично, чтобы диапазон х содержал значения в порядке возрастания. Если ячейка
В1 содержит значение, меньшее, чем минимальное значение х, или большее, чем макси­
мальное значение, формула возвращает значение ошибки. Формулы, используемые для
получения значений методом интерполяции, приведены в табл. 8.2.

Комбинирование функций просм отр и тенд енци я


Существует еще один, более предпочтительный, способ поиска данных в таблице ме­
тодом линейной интерполяции. Этот способ основан на использовании функций
ПРОСМОТР и ТЕНДЕНЦИЯ и обладает одним большим преимуществом — в нем исполь­
зуется только одна формула (рис. 8.18).
Глава 8. Поиск данных 235

Рис. 8.17. Столбец в содержит формулы, которые вычис­


ляют результат методом линейной интерполяции

Таблица 8.2. Формулы поиска значений методом интерполяции


Ячейка Формула Описание
ВЗ =ПРОСМОТР(В1 ; х ; у ) Выполняет обычный поиск и возвраща­
ет значение диапазона х
В4 =В1=ВЗ Возвращает значение и с т и н а , если
найденное значение соответствует ис­
комому
В6 =П0ИСКП03(ВЗ; х ; 0 ) Возвращает номер строки диапазона
х, которая содерж ит совпадающее
значение
В7 =ЕСЛИ(В 4 ; в б ; В 6+1 ) Возвращает ту же строку, что и формула
в ячейке вб, если найдено значение,
в точности соответствующее заданно­
му. В противном случае к результату
ячейки в 6 добавляется 1
В9 =ИНДЕКС( х ; Вб ) Возвращает соответствующее значение
х для строки, полученной в ячейке вб
В10 =ИНДЕКС( х ; В 7 ) Возвращает соответствующее значение
х для строки, полученной в ячейке В7
В12 =ПРОСМОТР(В9 ; х ; у ) Возвращает значение у, которое соот­
ветствует значению х, полученному в
ячейке в 9
В13 =ПРОСМОТР(В1 0 ; х ; у ) Возвращает значение у, которое соот­
ветствует значению х, полученному в
ячейке в ю
В15 =ЕСЛИ( В4 ; 0 ; ( В 1 - В З ) / ( В 1 0 - В 9 ) ) Вычисляет корректирующий фактор,
основанный на разнице между значе­
ниями X
В16 = В 1 2 +( ( В1 3 - В 1 2 ) * В 1 5 ) Вычисляет расчетное значение у с по­
мощью корректирующего фактора, по­
лученного в ячейке В15
236 Часть II. Использование функций в формулах

Рис. 8.18. Данный рабочий лист содержит формулу, в ко­


торой используются функции ПРОСМОТР И ТЕНДЕНЦИЯ

Формула, приведенная ниже (в ячейке В2), для принятия решения использует функ­
цию ЕСЛИ. Если в диапазоне х найдено значение, в точности соответствующее искомо­
му, формула возвращает соответствующее значение из диапазона у (используется функ­
ция ПРОСМОТР). Если же точное соответствие не найдено, формула использует функцию
ТЕНДЕНЦИЯ и возвращает значение у, рассчитанное методом поиска максимально близ­
кой величины (не прибегая к линейной интерполяции).
=ЕСЛИ(В1=ПРОСМОТР(В1 ; х ; х ) ; ПРОСМОТР(ИНДЕСК(х; ПОИСКПОЗ(
ПРОСМОТР( В 1 ; х ; х ) ; х ; 0 ) ) ; х ; у ) ; ТЕНДЕНЦИЯ( у ; х ; В 1 ) )
Глава

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

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


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

Таблицы и терминология
Похоже, компания Microsoft следует традиции в присвоении имен создаваемым сред­
ствам и технологиям. В версии Excel 2003 были введены списки, обеспечивающие работу
баз данных рабочего листа. В версии Excel 2007 списки эволюционировали в таблицы.
Дополнительную путаницу вносят и так называемые таблицы данных, которые вообще
не имеют ничего общего с полноценными таблицами Excel. В этом разделе представле­
ны термины, используемые на протяжении всей главы.
• База данных листа. Это определенным образом организованная совокупность
информации. Она состоит из необязательной строки заголовков (описательного
238 Часть II. Использование функций в формулах

текста) и находящихся под ней строк, содержащих числовые или текстовые значе­
ния. В этой книге под базой данных листа понимается прямоугольный диапазон,
в котором каждая строка содержит информацию о конкретном элементе данных
(аналогично таблицам реляционных баз данных). В общем случае термин база
данных используется в довольно широком смысле, означая многие понятия, такие
как реляционные базы данных (SQL Server, Oracle и т.д.), файлы CSV, инициали-
зационные файлы и т.д. База данных рабочего листа Excel больше похожа на
обычную таблицу в стандартной базе данных. В отличие от реляционных баз дан­
ных, Excel не позволяет устанавливать отношения между таблицами.
• Таблица листа. Это база данных рабочего листа, преобразованная в специальный
диапазон с помощью команды Вставка^Таблицы^Таблица. Преобразование
базы данных рабочего листа в таблицу предоставляет пользователю существенные
преимущества, однако в то же время имеет некоторые недостатки. Все они будут
описаны в настоящей главе.

Пример базы данных листа


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

Рис. 9.1. Типичная база данных рабочего листа

В терминологии баз данных столбец такой таблицы называется полем, а строка — за­
писью. Используя эту терминологию, можно сказать, что диапазон, показанный на
рис. 9.1, имеет пять полей (Имя, Г о д о в а я з а р п л а т а , М е с я ч н а я з а р п л а т а ,
Филиал, Д а т а п р и е м а н а р а б о т у ) и двадцать записей. Учитывайте, что поля часто
называют просто столбцами, а отдельные ячейки — полями.
Глава 9. Базы данных и таблицы листа 239

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

Пример таблицы
На рис. 9.2 показана база данных рабочего листа (см. рис. 9.1), преобразованная
в таблицу с помощью команды Вставка^Таблицы«^Таблица.

Рис. 9.2. База данных рабочего листа, преобразованная в таблицу

Так в чем же отличие таблицы от базы данных рабочего листа?


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

Назначение баз данных и таблиц листа


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

Проектирование баз данных рабочего листа и таблиц


Несмотря на то что Excel весьма удобна в управлении информацией, хранящейся
в базе данных рабочего листа, организация и планирование данных имеет важное зна­
чение и позволяет сделать базы данных и таблицы максимально простыми в эксплуата­
ции. Поэтому при создании базы данных рабочего листа или таблицы воспользуйтесь
следующими рекомендациями.
• Первая строка (строка заголовка) должна содержать понятные описатель­
ные подписи (по одной для каждого столбца). Если в качестве подписей столб­
цов используются длинные текстовые строки, отформатируйте ячейки с помощью
команды Переносить по словам, чтобы избежать нецелесообразного расширения
столбцов.
• Каждый столбец должен содержать только один тип информации. Не рекоменду­
ется смешивать в одном столбце текстовые значения и значения в формате даты.
• Формулы, используемые для вычисления данных в других столбцах, должны
располагаться в той же строке, что и исходные данные. Если вычисляющие
формулы обращаются к ячейкам, расположенным за пределами таблицы, резуль­
таты сортировки таблицы могут быть самыми неожиданными.
• База данных не должна содержать пустых строк. Работая с базой данных, Excel
автоматически определяет ее границы, поэтому пустая строка рассматривается
как конец базы данных. Таблица может содержать пустые строки, потому что Excel
отслеживает размеры таблицы.
• Первая строка базы данных должна быть закреплена. Выберите команду
Вид^Окно1^Закрепить области^Закрепить верхнюю строку, после чего вы сможете
свободно перемещаться по списку, не теряя из виду заголовки полей. В таблицах
эта операция не обязательная, потому что заголовки столбцов таблицы подставля­
ются вместо литер столбцов рабочего листа.
Глава 9. Базы данных и таблицы листа 241

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

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

Создание таблиц
Excel позволяет создавать таблицы из пустого диапазона ячеек, однако чаще пользо­
ватели преобразуют в таблицы уже существующие диапазоны данных (базы данных ра­
бочего листа). Следующие инструкции предполагают, что уже существует диапазон дан­
ных, подходящий для создания таблицы.
1. Убедитесь, что диапазон не содержит пустых строк и столбцов.
2. Активизируйте любую ячейку в диапазоне.
242 Часть II. Использование функций в формулах

3. Выберите команду Вставка^Таблицы^Таблица (или нажмите <Ctrl+T>).


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

Рис. 9.3. При выборе ячейки таблицы отображается контекстная вкладка Работа с таблицами,
Конструктор

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

Изменение внешнего вида таблицы


При создании таблицы Excel применяет к ней стиль, принятый по умолчанию. Ее
внешний вид в данном случае зависит от того, какая тема документа была использована
для рабочей книги. Если данный внешний вид вас не устраивает, можете без труда его
изменить.
Выделите любую ячейку в таблице и выберите команду Работа с таблицами^
Конструктор^Стили таблиц«=>Экспресс-стили. Вначале на ленте будет отображена
всего одна строка стилей, однако если щелкнуть в нижней части полосы вертикальной
прокрутки, раскроется вся галерея стилей, разбитая на группы Светлый, Средний
и Темный (рис. 9.4). Обратите внимание, что при перемещении указателя мыши по га­
лерее активизируется функция оперативного просмотра (т.е. ко всей таблице временно
применяется текущий стиль). Если вас устраивает какой-то стиль, щелкните мышью,
и он будет применен к таблице.
Если во вкладке Разметка страницы выбрать команду Темы, откроется галерея,
в которой можно выбрать тему для всей рабочей книги. Тема, в частности, определяет
и состав стилей таблиц в галерее стилей.
Глава 9. Базы данных и таблицы листа 243

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

Навигация и выделение в таблице


Перемещение по ячейкам таблицы практически ничем не отличается от перемещения
по ячейкам рабочего листа. Единственное отличие заключается в функциональности кла­
виши табуляции. Нажатие клавиши <ТаЬ> приводит к переходу к соседней ячейке спра­
ва, а по достижению правой границы таблицы (но не диапазона) нажатие клавиши <ТаЬ>
приводит к переходу к первой ячейке слева в следующей строке.
Во время перемещения указателя мыши по таблице его форма динамически изменя­
ется. Форма указателя помогает выделить различные фрагменты таблицы.
• Для выделения всего столбца переместите указатель мыши к верхней границе
ячейки заголовка столбца; при этом его форма изменится на направленную вниз
черную стрелку. После первого щелчка мышью будут выделены все данные в
столбце; после второго — все ячейки столбца, включая заголовок. Для выделения
нескольких столбцов следует удерживать нажатой клавишу <Ctrl> при щелчке
мышью на каждом из них.
• Для выделения всей строки переместите указатель мыши к левой границе пер­
вой ячейки строки таблицы; при этом указатель мыши изменит свою форму на на­
правленную вправо стрелку. Щелчок приведет к выделению всей строки таблицы.
244 Часть II. Использование функций в формулах

Для выделения строки таблицы можно также использовать комбинацию клавиш


<8ЫЙ+пробел>.
• Для выделения всей таблицы переместите указатель мыши к левому верхнему
углу крайней левой верхней ячейки таблицы. Когда указатель примет форму диа­
гональной стрелки, щелкните мышью, и будет выделен весь диапазон данных таб­
лицы. Второй щелчок приведет к выделению всей таблицы, включая строки заго­
ловков и итогов. Также для выделения всей таблицы можно воспользоваться кла­
вишами <Ctrl+A>.

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

Добавление строк и столбцов в таблицу


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