The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

Формулы в Microsoft Excel 2010 ( PDFDrive )

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by sergiu.sulima, 2022-05-22 12:49:43

Формулы в Microsoft Excel 2010 ( PDFDrive )

Формулы в Microsoft Excel 2010 ( PDFDrive )

Глава 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 sic lookup exam ples.xlsx(C hapter08_R U S.xlsx).

Базовые формулы поиска

Базовые формулы поиска данных используются, в основном, для поиска определен­
ных строк и столбцов таблицы с целью извлечения другого значения таблицы. Приложе­
ние 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 Ii 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 21.

Когда пустая ячейка не считается нулем

Часто возникает ситуация, когда ячейки анализируемого диапазона не содержат ни­
каких значений. Функции поиска 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; Таблица01; Таблица02) ; 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 и Е)

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

F 2 : 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, а итоговая формула в ячейке В16 возвращает результат
подсчетов. Если значение, содержащееся в ячейке ВЗ, найдено в диапазоне х, формула
возвращает соответствующее значение у. В противном случае (если значение в ячейке
ВЗ не найдено) формула в ячейке В 16 возвращает расчетное значение у, полученное пу­
тем линейной интерполяции.

Критично, чтобы диапазон х содержал значения в порядке возрастания. Если ячейка
В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>.

Совет

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

Добавление строк и столбцов в таблицу

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

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

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

Совет

Когда курсор ячейки находится в крайней нижней правой ячейке таблицы,
нажатие клавиши <ТаЬ> приводит к вставке новой строки внизу таблицы.

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

При вставке в таблицу нового столбца в строку заголовка помещается имя С тол бец 1,
С толбец 2 и т.д. Эти имена лучше заменить на что-либо более информативное.

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

Для удаления строки (или столбца) таблицы выделите в ней любую ячейку. Если нужно
удалить несколько строк или столбцов, выделите несколько соответствующих ячеек. После
этого щелкните правой кнопкой и выберите в контекстном меню команду Удалить1^
Строки таблицы или Удалить1^Столбцы таблицы.

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

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

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

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

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

Перемещение таблицы

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

Для перемещения таблицы на другой рабочий лист (той же или другой рабочей кни­
ги) выполните следующее.

1. Дважды нажмите клавиши <Ctrl+A>. Будет выделена вся таблица.

2. Нажмите <Ctrl+X> для вырезания выделенных ячеек.

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

4. Нажмите <Ctrl+V>, и таблица будет вставлена.

Настройка параметров таблицы

Группа Параметры стилей таблиц контекстной вкладки Работа с таблицами со­
держит несколько флажков, определяющих сокрытие или отображение некоторых эле­
ментов таблицы, а также некоторые параметры форматирования.

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

ными цветами фона.
• Чередующиеся столбцы. Включение отображения четных и нечетных столбцов

с разными цветами.

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

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

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

1. Щелкните правой кнопкой на панели быстрого доступа и выберите в меню ко­
манду Настройка панели быстрого доступа. Откроется диалоговое окно парамет­
ров Excel с выбранной вкладкой Настройка.

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

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

3. В левом списке выберите элемент Форма.
4. Щелкните на кнопке Добавить, чтобы добавить этот элемент на панель быстрого

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

После выполнения описанных действий на панели быстрого доступа появится новый
значок. Формы данных Excel удобны, но не идеальны. Если вам нравится использовать
диалоговое окно для работы с данными таблицы, можете воспользоваться созданной
мною надстройкой Excel’s Data Form. Бесплатную копию этой надстройки можно загру­
зить с моего сайта www. s p r e a d s h e e t p a g e . com.

Удаление дублирующихся строк из таблицы

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

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

К сожалению, Excel не предоставляет возможности увидеть дублирующиеся строки
перед их удалением. Если результат “очистки” таблицы вас не устроит, можете отменить
выполненную операцию, щелкнув на соответствующей кнопке панели быстрого доступа
или нажав <Ctrl+Z>.

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

Рис. 9.5. Удаление дублирующихся строк в таблице те­
перь выполнить достаточно просто

Совет

Для того чтобы удалить дубликаты из базы данных рабочего листа, не яв­
ляющегося таблицей, выберите команду Данные^Работа с данными1^Уда­
лить дубликаты.

Предупреждение

Дублирующиеся значения определяются по содержимому, отображаемому
в ячейках, а не по фактическим данным, в них хранящимся. Для примера
предположим, что одна из дат отображается как 1 5 . 0 5 . 2010, а в другой
ячейке та же дата отображается как 15 м а я 201 о г . При удалении дублика­
тов Excel будет трактовать эти даты как разные. Поэтому рекомендуется ис­
пользовать во всех ячейках столбца один и тот же формат.

Сортировка и фильтрация в таблице

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

Компакт-диск

Примеры сортировки и фильтрации приведены в файле r e a l e s t a t e
t a b l e . x l s x ( c h a p te r 0 9 _ R U S . x l s x ) на прилагаемом компакт-диске.

Совет

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

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

Рис. 9.6. Каждый столбец таблицы содержит элемент управления сортировкой и
фильтрацией

Сортировка таблицы
Сортировка таблицы реорганизует ее строки, основываясь на содержимом заданного

столбца (столбцов). К примеру, сортировка может понадобиться, чтобы упорядочить
фамилии сотрудников по алфавиту или по суммам продаж.

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

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

Совет

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

Сортировку можно выполнять по любому количеству столбцов. Вся хитрость в данном
случае заключается в том, чтобы первым выбрать наименее важное (последнее) условие
сортировки, затем более важное и т.д. Наиболее “важный” столбец выбирается последним.

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

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

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

Ри с . 9.7. Таблица после сортировки по трем столбцам

Компакт-диск

Рабочая книга базы данных агентства недвижимости с названием r e a l e s t a t e
t a b le .x ls x (c h a p te r 0 9 _ R U S .x ls x ) содержится на прилагаемом компакт-диске.
Еще один способ сортировки по множеству столбцов сводится к использованию спе­

циального диалогового окна Сортировка. Для открытия этого окна выберите команду
Главная^Редактирование^Сортировка и фильтра Настраиваемая сортировка.
Также можно щелкнуть правой кнопкой на любой ячейке таблицы, после чего выбрать
в контекстном меню пункт Сортировка^Настраиваемая сортировка.

В диалоговом окне Сортировка используйте раскрывающиеся списки для выбора
первого критерия сортировки. Обратите внимание, что последовательность выбора кри­
териев сортировки в этом диалоговом окне прямо противоположная той, которая была
описана в предыдущем абзаце. В рассматриваемом примере следует начать со столбца
Маклер. После этого щелкните на кнопке Добавить уровень и добавьте следующий
уровень сортировки; в данном случае это будет Регион. Следующим и последним уров­
нем в примере будет столбец Цена объекта. На рис. 9.8 показано диалоговое окно после
задания критериев сортировки по трем столбцам. Результатом применения этих критери­
ев будет та же таблица, которая была показана на рис. 9.7.

Рис. 9.8. Использование диалогового окна Сортировка для настройки сорти­
ровки по трем столбцам

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

Фильтрация таблицы
Под фильтрацией таблицы понимается отображение в ней только тех строк, которые

удовлетворяют заданному критерию (все остальные строки скрываются).

Совет

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

Рис. 9.9. Эта таблица отфильтррвана и отображает только информацию по объ­
ектам в Митино

Таблицу можно фильтровать по множеству значений (к примеру, отображать объекты
в регионах Митино и Строгино).

Фильтровать таблицу можно также по любому количеству столбцов. К примеру, может
потребоваться просмотреть информацию только по двухкомнатным квартирам в Митино.
В этом случае нужно повторить описанную выше операцию для столбца Кол-во комнат.

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

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

Совет

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

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

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

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

Для снятия фильтрации по столбцу щелкните на стрелке в его заголовке и в открыв­
шемся меню выберите команду Удалить фильтр. Если фильтрация установлена по
множеству столбцов, ускорить процесс снятия фильтров поможет команда Глав-
ная^Редактирование^Сортировка и фильтр«=>Очистить.

Работа со строкой итогов

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

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

• Нет. Нет формулы.

• Среднее. Вычисляется среднее значение чисел столбца.

• Количество. Вычисляется количество непустых ячеек в столбце.

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

• Максимум. Отображается максимальное значение в столбце.

• Минимум. Отображается минимальное значение в столбце.

• Сумма. Вычисление суммы значений в столбце.

• Смещенное отклонение. Вычисляется смещенное отклонение значений в столб­
це. Смещенным отклонением называется стандартная статистическая единица из­
мерения, характеризующая разброс значений.

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

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

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

Рис. 9.10. Некоторые итоговые функции можно выбрать в раскрывающемся
списке в строке итогов

В списке обобщающих функций есть также функция ПРОМЕЖУТОЧНЫЕ . ИТОГИ, в ко­
торой используется специальный структурированный синтаксис (о нем будет сказано да­
лее). Первый аргумент этой функции определяет тип обобщения. К примеру, если этот
аргумент равен 109, функция будет вычислять сумму. Можно заместить формулу,
вставленную программой, и ввести в итоговую ячейку любую другую формулу. Более
подробно функция ПРОМЕЖУТОЧНЫЕ . ИТОГИ описана ниже.

Предупреждение

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

Предупреждение

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

Функция ПРОМЕЖУТОЧНЫЕ.итоги

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

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

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

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

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

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

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

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

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

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

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

Компакт-диск
Рабочая книга t a b l e f o r m u l a s . x l s x (C h a p t e r О9_RUS . x l s x ) содержится
на прилагаемом компакт-диске.

Рис. 9.11. В эту таблицу нужно добавить столбец

Чтобы добавить столбец, выполните следующие действия.
1. Активизируйте ячейку Е2 и в качестве заголовка введите Р а з н и ц а . Excel авто­

матически расширит таблицу так, чтобы она включала новый столбец.
2. Перейдите к ячейке ЕЗ и введите знак равенства, указывая на начало формулы.
3. Нажмите стрелку влево, и Excel отобразит формулу = [@ Факт]. Как видите, в

формуле содержится ссылка на заголовок столбца.
4. Введите знак “минус” и дважды нажмите стрелку влево. Формула примет сле­

дующий вид: = [@Факт] - [ @Пла н] .
5. Нажмите <Enter>, чтобы завершить ввод формулы.

Excel скопирует формулу во все строки таблицы.
На рис. 9.12 показана таблица с новым столбцом.

Рис. 9.12. Столбец Разница содержит формулу

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

Все ячейки нового столбца содержат одну и ту же формулу:

= [@ Ф акт]- [@План]

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

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

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

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

=D3-СЗ

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

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

Ссылки на данные таблицы

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

Сама таблица имеет имя (к примеру, Т аб л и ц а 1). На ее содержимое можно ссылать­
ся, используя заголовки столбцов.

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

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

=СУММ( Т а б л и ц а в )


Click to View FlipBook Version