Глава 4
Обработка данных
В главах 1–3 рассказывается о том, как ввести данные
в Excel, использовать их в вычислениях
и улучшить их внешний вид. В этой главе вы узнаете, как извлечь из
данных информацию, необходимую для ведения бизнеса, управления спортивной
командой или определения суммы денег для выплаты ипотечного кредита.
Для начала я покажу, как упростить свою работу
посредством сортировки и фильтрации данных листа.
В частности, вы научитесь создавать формулы, которые работают только
с видимыми ячейками листа, освоите многоуровневые фильтры и сможете
проводить сортировку, сокращающую объем рабочих данных до разумных величин. Excel не является системой управления базами данных, однако
функции поиска этой программы могут успешно использоваться для выборки данных
из списков.
В конце главы рассматриваются сводные таблицы — самый
мощный и гибкий инструмент Excel, который
нередко вызывает трудности у новичков и раздражает профессионалов. Вы
узнаете, как избежать типичных ошибок при подготовке
данных, научитесь создавать сводные таблицы, анализировать данные и решать
множество других полезных задач.
Проблемы с сортировкой и фильтрацией
Сортировка по значениям в нескольких столбцах
Проблема
Отсортировать
данные в одном столбце совсем просто — достаточно щелчком выделить
любую ячейку сортируемого столбца и щелкнуть на кнопке По возрастанию или По убыванию
панели инструментов. Но взгляните на мой лист (рис. 4.1). Я ввел
данные о продажах по отделам (аксессуары, машины, сервис) — для меня
такое представление достаточно удобно, но оно затрудняет получение информации о ежедневном состоянии дел. Как вывести данные
о продажах по дням?
Рис. 4.1. Данные о продажах упорядочены по
отделам, а мы хотим упорядочить их по дням. Это означает, что лист
необходимо отсортировать по нескольким столбцам
Решение
В сущности, задача сводится
к сортировке списка данных по значениям нескольких столбцов. Выполните
команду Данные4Сортировка и при помощи элементов управления
диалогового окна Сортировка
(прежде всего раскрывающихся списков) определите очередность полей
и порядок сортировки (по возрастанию, по убыванию). На рис. 4.2
показано, как выглядит список после сортировки по полям День (по возрастанию) и Отдел (по возрастанию).
Рис. 4.2. В отсортированном списке данные
о продажах группируются по дням
Что такое список данных?
Списком данных называется набор данных на листе Excel, в котором каждому столбцу сопоставлено
уникальное имя, а каждая строка представляет совокупность данных
(например, данные о продажах за определенные дни). Список данных не может
содержать пустых строк и столбцов, между строкой заголовков и данными
также не должно быть пустых строк, а ячейки рядом со списками не должны
содержать лишних данных. Таким образом, справа от списка данных должен
находиться минимум один пустой столбец, слева — минимум один пустой
столбец или край листа, а снизу — минимум одна пустая строка.
В действительности список данных имеет много общего с таблицей базы
данных. Типичный список данных показан на рис. 4.2.
Сортировка данных в пользовательском порядке
Проблема
Excel ограничивает меня сорт ировкой данных
в алфавитном или числовом порядке, а это не всегда удобно. Мой
начальник считает продажу машин самым важным делом, на второе место ставит их
обслуживание, на третье — продажу аксессуаров. Эти приоритеты должны
отражаться в рабочих листах: сначала «машины», за ними «сервис» (если не
продавать машины, то и обслуживать будет нечего) и на третьем месте
«аксессуары». Однако Excel предлагает отсортировать
список отделов в алфавитном порядке либо по возрастанию (аксессуары,
машины, сервис), либо по убыванию (сервис, машины, аксессуары). Мне приходится
тратить много времени на перестановку строк в соответствии
с требованиями начальника. Нельзя ли заставить Excel
сортировать названия отделов в определенном мною порядке? Это сэкономило
бы мне несколько часов работы каждый месяц.
Решение
Возможно, следующий совет позволит вам тратить свое рабочее
время на продажу автомобилей, а не на сортировку данных. Фокус заключается
в том, чтобы создать пользовательский список значений, который будет использоваться
Excel как основа для последующей сортировки. Начнем
с создания списка.
1.Введите
сортируемые значения в группе смежных ячеек одной строки или столбца
в том порядке, в котором должна производиться сортировка.
В нашем примере значения Машины,
Сервис и Аксессуары вводятся
в ячейках A1, A2 и A3 соответственно.
2. Выделите ячейки
с только что введенными значениями, выполните команду Сервис4Параметры
и перейдите на вкладку Списки.
3. Убедитесь
в том, что выделенный вами диапазон отображается в поле Импорт списка из ячеек.
4. Щелкните сначала на
кнопке Импорт,
затем — на кнопке OK.
Теперь вы можете сортировать данные в соответствии со
значениями пользовательского списка, но сначала нужно выбрать пользовательский
список в качестве первого критерия сортировки. Чтобы отсортировать данные
в порядке пользовательского списка, выполните следующие действия.
1. Щелкните на любой
ячейке списка данных и нажмите клавиши Ctrl+Shift+8, чтобы выделить весь
список.
2. Выполните команду Данные4Сортировка.
Раскройте список Сортировать
по и выберите
столбец, который должен быть отсортирован в порядке пользовательского
списка.
3. Щелкните на кнопке
Параметры. В окне Параметры сортировки раскройте список Сортировка по первому ключу, выберите свой пользовательский список
и щелкните на кнопке OK.
4. Если потребуется,
задайте дополнительные критерии сортировки. Щелкните на кнопке OK и, вернувшись к окну Сортировка, снова щелкните на
кнопке OK, чтобы
отсортировать данные.
Сортировка данных слева направо
Проблема
Excel считает, что данные упорядочены по столбцам, поэтому
все функции сортировки работают именно со столбцами. Однако иногда требуется
отсортировать строку значений. Как это сделать?
Решение
Чтобы отсортировать строку значений, выделите ее, выполните
команду Данные4 Сортировка, щелкните на кнопке Параметры, в группе Сортировать установите
переключатель Строки диапазона и щелкните на
кнопке OK. Раскройте
список Сортировать по, выделите сортируемую
строку, выберите способ сортировки (По возрастанию
или По убыванию) и щелкните на
кнопке OK.
Фильтрация данных
Проблема
Я
работаю с огромными листами. Так, один из моих листов имеет всего 3
столбца в ширину и содержит более 1000 строк. Пример показан на
рис. 4.3.
Рис. 4.3. Работать с таким объемом данных не
слишком удобно
В данный момент меня интересуют только данные по агенту
с первым идентификационным номером (SalesID=1). И только. И ничего более. Как
убрать все остальные записи?
Решение
Чтобы на листе отображались только те строки, которые
содержат конкретное значение в некотором поле, щелкните на любой ячейке
списка данных и выполните команду Данные4Фильтр4Автофильтр. В первой ячейке каждого
столбца списка появляется кнопка со стрелкой (а значения в этих ячейках
скрываются). Кнопки предназначены для фильтрации данных; если щелкнуть на любой
из них, на экране появляется меню с командами фильтрации. Щелкните на
значении, которое будет выбрано в качестве фильтра. Все строки,
в которых этот столбец не содержит выбранного значения, скрываются.
Чтобы изменить способ фильтрации результатов, снова щелкните на кнопке со
стрелкой и выберите в списке новый критерий. При наличии активного
фильтра кнопка со стрелкой окрашивается в синий цвет.
Включая режим автофильтра, будьте
внимательны и не щелкните на заголовке столбца (сером маркере
с обозначением столбца — A, B, C и т. д.).
В противном случае после выполнения команды Данные4Фильтр4Автофильтр Excel добавит кнопку фильтрации только в выделенный
столбец.
Чтобы отключить все фильтры, выполните команду Данные4Фильтр4Отобразить все. Чтобы полностью
отключить режим фильтрации и убрать кнопки со стрелками, выполните команду
Данные4Фильтр4Автофильтр повторно.
В Excel 2003 средства фильтрации включены
в новый механизм работы со списками. За дополнительной информацией
о списках в Excel 2003 обращайтесь
к разделу «Проблемы со списками Excel 2003»
главы 9.
Вывод первых и последних 10 значений
Проблема
Я
использую длинный, сложный лист с почасовыми данными о продажах. Мне
бы очень не хотелось проводить долгие часы за калькулятором, чтобы найти
в списке 10 часов с максимальными уровнями продаж. Может, Excel поможет в решении этой задачи?
Решение
Кнопка со стрелкой в верхней строке списка данных (см.
предыдущий раздел) открывает меню команд фильтрации. Одна из команд меню, Первые 10, вызывает диалоговое окно Наложение условия по списку (рис. 4.4). При помощи элементов
управления этого окна можно определить, какие значения следует отобрать из
списка (наибольшие или наименьшие) и их количество. Также можно указать,
что представляет число в первом списке, — количество записей или их
процент. Например, если ввести в левом списке число 10
и выбрать в крайнем правом списке % от
количества элементов, Excel отберет верхние 10 % значений данного столбца.
Рис. 4.4. Поиск наибольших и наименьших элементов
списка
с использованием автофильтрации
Создание многоуровневого фильтра
Проблема
Когда
я проводил презентацию с использованием все того же листа, один из
владельцев фирмы захотел узнать, в какие часы объем продаж аксессуаров
превысил 2500 долларов. Я отсортировал список по отделам,
а потом по объемам продаж по убыванию, но на это ушло много времени,
а мой начальник нервно барабанил пальцами по столу. Нельзя ли побыстрее отфильтровать список данных по выбранному
критерию?
Решение
Чтобы отфильтровать данные по
выбранному критерию, выполните команду Данные4Фильтр4Автофильтр, щелкните на кнопке со стрелкой над столбцом,
к которому применяется критерий, и выберите в меню команду Условие. На экране появится
диалоговое окно Пользовательский
автофильтр
(рис. 4.5).
Рис. 4.5. Фильтровать данные по значениям
нескольких столбцов? Легко!
Элементы управления диалогового
окна Пользовательский автофильтр
позволяют определить два критерия, по которым будет производиться фильтрация
данных. Левый верхний раскрывающийся список содержит условные операторы (меньше,
равно, больше или равно и т. д.), применяемые к данным, а в
правом верхнем списке перечислены значения, взятые из столбца (при желании вы
можете определить собственное значение). Например, чтобы найти все часы,
в которых объем продаж превысил 2500 долларов,
выберите пункт больше
в левом верхнем списке и введите значение 2500 в поле правого верхнего списка.
Чтобы определить более сложный
критерий, используйте вторую группу списков в диалоговом окне Пользовательский автофильтр,
выбрав требуемую логическую операцию с помощью переключателя И или
ИЛИ.
Например, чтобы найти все часы с объемом продаж более 2500 долларов
или менее 500 долларов, установите переключатель ИЛИ, выберите пункт меньше в левом нижнем списке
и введите значение 500
в поле правого нижнего списка.
Пользовательский автофильтр фильтрует значения только из одного столбца, но
вы можете использовать дополнительный фильтр для уточнения результатов.
Например, чтобы ограничить результаты поиска отделом аксессуаров, щелкните на
кнопке со стрелкой в столбце Отдел, выберите в списке пункт Аксессуары и затем примените пользовательский
фильтр.
Поиск дубликатов в списке данных
Проблема
Имеется
электронная таблица с 8500 адресами, которые будут использоваться
в предстоящей рассылке. Я должен сократить список до 5000 адресов,
чтобы не превысить бюджет. Многие из 8500 адресов повторяются, но Excel упорно отказывается найти дубликаты. Знакомый
порекомендовал мне экспортировать данные в Access
и выполнить там запрос на поиск дубликатов. Пожалуйста, не заставляйте
меня осваивать Access!
Решение
Хотя поиск дубликатов как таковой
требует применения макросов VBA, вы можете воспользоваться диалоговым окном Расширенный фильтр (рис. 4.6) и скопировать список данных
в другое место, исключив из него все дубликаты.
Рис. 4.6. Хотя диалоговое окно Расширенный фильтр
вполне тривиально,
оно может быть весьма полезным
Копирование уникальных записей
списка данных выполняется так.
1. Выполните
команду Данные4Фильтр4Расширенный фильтр.
2. Установите
переключатель Скопировать
результат в другое место.
3. Щелкните
на кнопке свертки справа от поля Исходный
диапазон, выделите
фильтруемые ячейки и нажмите клавишу Enter.
4. Щелкните
на кнопке свертки справа от поля Поместить
результат в диапазон, затем щелкните на
ячейке в левом верхнем углу диапазона, в котором будет находиться
отфильтрованный список (я рекомендую выбрать ячейку A1 на пустом листе). Нажмите клавишу Enter.
5. Установите
флажок Только уникальные записи и щелкните на
кнопке OK.
Две записи считаются дубликатами
только при полном совпадении, включая все знаки препинания. Если список не
сократился до нужной величины и вы подозреваете,
что в нем остались дубликаты, попробуйте отсортировать список адресов по
фамилии, имени и почтовому индексу — это упростит поиск.
Копирование видимых ячеек
из фильтрованного списка
Проблема
Я
отфильтровал список данных (рис. 4.7), но при попытке скопировать
оставшиеся записи и вставить их в другой лист Excel
также вставляет скрытые записи. Я знаю, что в действительности
выделено больше ячеек, чем показано на экране, потому что при выделении
в поле имени (находящемся слева от строки формул) сообщается, что
выделенная область состоит из 74 строк и 5 столбцов. Как скопировать
и вставить только видимые ячейки?
Рис. 4.7. Чтобы скопировать только видимые ячейки,
воспользуйтесь кнопкой Выделить видимые ячейки
Решение
Чтобы скопировать в буфер
обмена только видимые ячейки, необходимо разместить на панели инструментов
кнопку Выделить видимые ячейки. Это делается так:
выполните команду Сервис4Настройка, перейдите
на вкладку Команды,
выберите в списке Категории
пункт Правка
и прокрутите список Команды
в правой части окна. Найдите в нем кнопку Выделить видимые ячейки и перетащи те на
любую панель инструментов. Чтобы скопировать и вставить только видимые
ячейки, выполните следующие действия.
1. Отфильтруйте
список данных и выделите видимые ячейки.
2. Щелкните
на кнопке Выделить видимые ячейки.
3. Выполните
команду Правка4Копировать.
4. Выполните
команду Правка4Вставить.
Кубик рубика в Excel
Кто когда-нибудь играл с кубиком Рубика,
поднимите руку. Ого, сколько рук!
Если вы не хотите раскладывать свои игрушки на рабочем
месте, но не прочь время от времени заняться делом, требующим пространственного
мышления и сообразительности, загрузите бесплатный эмулятор кубика Рубика (автор — Робин Глинн)
с адреса http://www.xl-logic.com/xl_files/games/cube.zip. Все, что от вас
требуется, — распаковать архив и открыть книгу cube.xls. Как видно из
рисунка, для манипуляций с кубиком достаточно щелкнуть на символическом
изображении нужной операции в нижней части экрана. Кнопки в правой
части книги предназначены для сохранения текущей позиции, восстановления
сохраненной позиции, случайной перестановки граней и решения головоломки
в автоматическом режиме (в этом режиме можно управлять скоростью вращения
кубика). Только не изменяйте скорость во время работы программы
в автоматическом режиме — когда я попытался это сделать,
компьютер завис почти на две минуты.
В лучших традициях игр «на рабочем месте» присутствует
кнопка Panic!, которая позволяет немедленно закрыть
книгу при приближении начальника. Вы потеряете текущую позицию в игре, но
зато сохраните свое рабочее место.
Классическая головоломка — кубик Рубика
Составление сводок по видимым ячейкам
Проблема
Фильтры
удобны, но я не могу понять: как написать формулу, которая бы обрабатывала
только видимые ячейки листа? Допустим, я работаю с данными
о продажах. Мне нужно просуммировать объемы продаж по каждому
представителю, но я не нашел способ просуммировать ячейки каждого
представителя без создания формулы со ссылками на конкретные ячейки. Например,
работая с листом, представленным на рис. 4.3, для вычисления суммы по
первому представителю (SalesID=1)
я был вынужден создавать формулу, которая суммирует данные ячеек C2, C5, C9, C12,
C17 и C22. Затем для получения
данных по второму представителю (SalesID=2)
мне пришлось суммировать данные ячеек C3, C10,
C13, C18 и C23. Я могу
отфильтровать список данных, чтобы в листе отображались ячейки,
относящиеся только к одному торговому представителю. Нельзя ли создать
формулу, которая бы суммировала только эти ячейки?
Решение
Постоянная необходимость укрощения непокорных данных —
один из самых неприятных аспектов работы с Excel.
К счастью, в данном случае проблема решается элементарно. Создайте
фильтр для выбора нужного представителя, а потом создайте формулу
вычисления промежуточного итога в ячейке под отфильтрованными данными. Вот
как это делается.
1. Щелкните на любой
ячейке списка данных (на рис. 4.3 список данных находится в диапазонеA1:C26).
2. Выполните команду Данные4Фильтр4Автофильтр.
3. Щелкните на кнопке
со стрелкой в столбце SalesID
и выберите код представителя.
4. Щелкните на ячейке
столбца Продажи,
находящейся под данными.
5. Щелкните на кнопке Автосумма на стандартной
панели инструментов Excel и нажмите клавишу Enter.
Обычно кнопка Автосумма позволяет создать простую
формулу суммирования, которая складывает данные всех ячеек выделенного
диапазона и помещает результат ниже последней ячейки. Но для ячейки,
находящейся под фильтрованным столбцом данных, кнопка Автосумма создает
формулу промежуточного итога. В чем разница? Если создать формулу
промежуточного итога под отфильтрованным списком, формула вычисляет сумму
(среднее арифметическое, минимум, максимум и т. д.) только для ячеек,
отображающихся в отфильтрованном списке.
Формула промежуточного итога имеет такой синтаксис:
=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(функция;диапазон)
Здесь функция — номер функции, применяемой
к данным, а диапазон — диапазон ячеек отфильтрованного
столбца. В табл. 4.1 перечислены операции, которые могут
использоваться при создании формул промежуточного итога.
Таблица 4.1. Функции обобщения данных в формулах
промежуточного итога
Номер Функция
1 СРЗНАЧ (среднее арифметическое
видимых ячеек)
2 СЧЕТ (количество видимых ячеек)
3 СЧЕТЗ (количество видимых ячеек,
содержащих значения)
4 МАКС (максимальное значение
в видимых ячейках)
5 МИН (минимальное значение
в видимых ячейках)
6 ПРОИЗВЕД (произведение значений
в видимых ячейках)
7 СТАНДОТКЛОН (стандартное
отклонение значений в видимых ячейках)
8 СТАНДОТКЛОНП (стандартное
отклонение по генеральной совокупности)
9 СУММ (математическая сумма значений
в видимых ячейках)
10 ДИСП (дисперсия значений
в видимых ячейках)
11 ДИСПР (дисперсия по генеральной совокупности)
Проблемы с функциями поиска
Поиск значений в списках данных
Проблема
Я
знаю, что Excel не является системой управления
базами данных… это не Access. Понятно, что чудес
ждать не приходится, но я все же надеюсь, что Excel
поможет найти нужное значение в таблице. Например, у меня есть список
торговых представителей, отсортированный по коду работника (рис. 4.8).
Если я получаю отчет с кодом работника, нельзя ли узнать, кому
принадлежит этот код, не «водя пальцем» по списку?
Рис. 4.8. Поиск ассоциированных значений в списке
данных
Решение
Да, это возможно. Процесс потребует определенных ухищрений
с нетривиальными функциями Excel, но стоит вам
разобраться в происходящем, как все станет ясно.
Первая функция, используемая для поиска в листе, —
ПРОСМОТР. Принцип ее
работы в общих чертах выглядит так: сначала функция ищет заданное
значение (допустим, в столбце A). Определив, какая запись содержит заданное значение
в столбце A,
функция обращается (например) к столбцу C той же записи, читает содержимое ячейки
и «возвращает» его (или отображает в ячейке, содержащей формулу).
Функция ПРОСМОТР
имеет следующий синтаксис:
=ПРОСМОТР(искомое_значение;просматриваемый_вектор;вектор_результатов)
Здесь:
·
искомое_значение —
ячейка или конкретное значение, которое ищется в таблице (например, это
может быть код работника, номер полиса социального страхования или другой
уникальный идентификатор);
·
просматриваемый_вектор — диапазон, в котором ищется искомое_значение
(если список кодов работников хранится в диапазоне A2:A34, вводится именно этот диапазон);
·
вектор_результатов — диапазон, из которого берется ассоциированное значение
(если имена работников хранятся в диапазоне B2:B34, вводится именно этот диапазон).
Проще говоря, вы сообщаете функции ПРОСМОТР, что нужно искать, где искать
и где находится ассоциированное значение, которое вас интересует. Если в листе на рис. 4.8 в пустую ячейку ввести
формулу =ПРОСМОТР(C3;A2:A21,B2:B21), будет взято значение
из ячейки C3,
найдено ассоциированное значение из столбца A (из строк 2–21) и возвращено
значение столбца B,
которое соответствует значению, найденному в столбце A.
Например, если в ячейке C3
ввести 16, функция
вернет строку Эшби, Тернер.
Возможности функции ПРОСМОТР несколько ограничены тем, что диапазоны просматриваемый_вектор и вектор_результатов
могут содержать только одну строку или один столбец. Также существует
вероятность получить неверный результат: если функция ПРОСМОТР не может найти искомое значение
в диапазоне просматриваемый_вектор, она
использует максимальное значение, меньшее либо равное искомому. Например, если
у вас появился новый представитель с кодом SalesID=21, данные которого еще не были
введены в лист, то вызов функции ПРОСМОТР вернет строку Лейтер, Катерина, что в принципе неверно.
Если вы не боитесь лишних хлопот, то для предотвращения
ложных совпадений и преодоления указанных ограничений можно
воспользоваться функцией ВПР.
Синтаксис вызова функции ВПР:
=ВПР(искомое_значение;таблица;номер_столбца;интервальный_просмотр)
Здесь:
·
искомое_значение —
искомые данные, которыми могут быть конкретное значение (например, число 14),
ссылка на ячейку со значением (D2)
или текстовая строка (GR083),
причем функция ВПР
всегда ищет искомое значение в первом столбце массива;
·
таблица —
диапазон, в котором Excel ищет искомое значение
(на рис. 4.8 это диапазон A2:B21);
·
номер_столбца — номер столбца в диапазоне таблица,
в котором функция ищет ассоциированное и возвращает значение (если
номер столбца равен 1, функция возвращает значение из левого столбца, если он
равен 2 — из второго столбца, и т. д.; если номер столбца
превышает количество столбцов в диапазоне, переданном в аргументе таблица,
функция ВПР отображает
код ошибки #ССЫЛКА!);
·
интервальный_просмотр —
необязательный последний аргумент (если он равен TRUE или не указан, ВПР ведет себя как функция ПРОСМОТР и возвращает наибольшее
значение, меньшее величины искомое_значение
либо равное ей; если он равен FALSE, функция ищет точное совпадение или отображает код ошибки #Н/Д!).
Функция ВПР, эквивалентная упоминавшейся выше формуле =ПРОСМОТР(C3;A2: A21;B2:B21), выглядит так:
=ВПР(C3;A2:B21;2;ИСТИНА)
Кстати говоря, ВПР игнорирует различия в регистре символов. Если вам
потребуется создать функцию просмотра, которая бы различала символы верхнего
и нижнего регистров, обращайтесь к разделу «Поиск с учетом регистра
символов» далее в этой главе.
Название ВПР
является сокращением от слов «вертикальный просмотр»; Excel
ожидает, что данные упорядочены по столбцам. Если данные упорядочены по
строкам, как на рис. 4.9, для выборки ассоциированных значений можно
воспользоваться функцией ГПР.
Рис. 4.9. Excel также может
производить выборку ассоциированных
значений в горизонтальных наборах данных
Зачем использовать номер столбца, равный 1?
Вероятно, вы заметили, что функция ВПР позволяет возвращать
значения из первого столбца переданной таблицы. Но зачем это нужно, ведь именно
в первом столбце мы ищем исходное значение? Приведу лишь
один из примеров: допустим, первый столбец содержит список дат вида 15.3.2005,
17.3.2005, 28.3.2005 и т. д. Формула =ВПР(C3;A2:B200;1;ИСТИНА) вернет
первую дату, ближайшую к дате в ячейке C3, но не позднее ее. Например, если С3 содержит дату 27.3.2005, то формула
=ВПР(C3;A2:B00;1;ИСТИНА) вернет 17.3.2005.
Синтаксис вызова функции ГПР:
=ГПР(искомое_значение;таблица;номер_столбца;интервальный_просмотр)
Функция работает точно так же, как ВПР, но с разворотом на 90°:
·
искомое_значение —
данные, которые ищутся в первой строке таблицы;
·
таблица — диапазон, в котором Excel ищет искомое_значение;
·
номер_строки — номер строки диапазона таблица, в котором функция
ищет и возвращает ассоциированное значение, — другими словами, если
в первой строке листа перечисляются коды работников, во второй
строке — имена, а в третьей — зарплата, то по значению 2 будет
проведен поиск имени, а по значению 3 — зарплаты (если номер строки
меньше 1, функция ГПР
выдает ошибку #ЗНАЧ!,
а если он больше количества строк в диапазоне, переданном
в аргументе таблица, выводится код ошибки #ССЫЛКА!);
·
интервальный_просмотр —
если аргумент равен TRUE
или не указан, функции ГПР
разрешается поиск приблизительных совпадений; если он равен FALSE, функция ищет точное
совпадение или отображает код ошибки #Н/Д!.
Для таблицы, показанной на
рисунке, формула для определения зарплаты по коду должности (CEO, CIO и т. д.), находящемуся
в ячейке B12, выглядит
так:
=ГПР(B12;B2:F3;3;ЛОЖЬ)
Поиск значения в любом столбце
Проблема
Что
и говорить, функция ВПР
полезна, однако ее можно использовать для поиска значений только в столбце
A. Но что делать, если
я хочу найти значение в пятом столбце и вернуть ассоциированное
значение из третьего столбца? Можно ли обойти ограничения функции ВПР?
Решение
Вы можете провести поиск значения
в произвольном столбце и вернуть ассоциированное значение из другого
столбца, но для этого придется воспользоваться комбинацией функций ИНДЕКС и ПОИСКПОЗ.
Функция ИНДЕКС находит адрес ячейки, удовлетворяющей
поставленному критерию, и имеет следующий синтаксис вызова:
=ИНДЕКС(ссылка;номер_строки;номер_столбца;номер_области)
Здесь:
·
ссылка — ссылка на один или
несколько диапазонов со значениями, которые функция должна найти
и вернуть. Если аргумент состоит из несмежных групп ячеек, заключите
ссылки в круглые скобки, например:
(A1:B6;C3:D8;F1:G6)