Гпр и впр в эксель отличия
Многим пользователям Excel известна функция ВПР , которая предназначена для поиска необходимого содержимого в документе или листе Excel и выводе его в отдельную ячейку. Но мало кто знает, что есть еще одна функция, которая имеет схожий функционал, но ряд особенностей, которые выделяют ее на фоне остальных подобных функций. Это функция ГПР . Давайте ее рассмотрим более подробно.
Функция ГПР – подробное описание
По синтаксису и принципу работы функции ВПР и ГПР очень похожи. Она ищет в определенном массиве данных значение, а возвращает то искомое значение, которое находится на несколько строк ниже. Простыми словами, она является зеркальным аналогом функции ВПР , которая осуществляет просмотр данных по горизонтали, а не вертикали.
Допустим, у нас есть электронная таблица, в которой есть две колонки с названиями «Имя» и «Дата рождения». Перед нами стоит задача, основываясь на этих данных, получить дату рождения третьего по счету сверху сотрудника. В таком случае синтаксис будет таким:
=ГПР(«Дата рождения»;A1:B10;4)
Естественно, вам нужно поставить свое название столбцов, колонок и так далее. Единственное, что нужно, так это оставить последний аргумент, если необходимо осуществить поиск определенного по счету сотрудника.
Синтаксис функции ГПР
Поскольку функция ГПР не настолько популярна, как ВПР из-за того, что привычная форма представления данных – вертикальная, то синтаксис тоже многие не знают. Но он мало чем отличается от того, который можно найти в функции ВПР .
=ГПР(искомое_значение, таблица, номер_строки, [интервальный_просмотр])
Давайте рассмотрим его более подробно: по аргументам, а также рассмотрим некоторые нюансы при использовании этой функции.
Аргументы
Давайте более детально рассмотрим каждый из этих аргументов:
Замечания
При работе с функцией ГПР необходимо обратить внимание на следующие нюансы:
Особенности использования функции ГПР
В целом, основные нюансы применения этой функции были описаны выше. Хотелось бы более подробно остановиться на отличиях от функции ВПР . Как понять, какая функция должна использоваться? Если необходимо сравнивать значения в левом столбце от нужных данных, то для этих целей предназначена функция ВПР . Если же в строках ниже – ГПР . Как можно понять из аббревиатуры, первая буква обозначает тип просмотра. В – это вертикальный, Г – это горизонтальный.
На самом деле, каждая функция поиска уникальная и предназначена для выполнения разных задач. То есть, функции ГПР и ВПР не являются единственными. Давайте более детально рассмотрим вообще, какие функции поиска существуют и сравним их между собой. Все они похожи по предназначению, но могут отличаться по синтаксису и возможностям, которые дают. Также они могут сочетаться в различных комбинациях, давая похожий функционал, но с некоторыми особенностями.
Детальное рассмотрение каждой из этих функций – это тема отдельной статьи. Но в целом, мы видим, что каждая из похожих на первый взгляд функций на самом деле заслуживает нахождения в совсем другой нише.
ГПР для выборки по нескольким условиям
Предположим, у нас есть такая прекрасная табличка, и нам нужно получить данные о клиенте и телефоне, исходя из его айди.
Чтобы упростить использование функции, давайте в ячейке E2 создадим выпадающий список. Чтобы это сделать, необходимо воспользоваться инструментом «Работа с данными – Проверка данных». Его можно найти на вкладке «Данные».
2
Далее нам нужно сделать список в соответствующих местах (там, где будет указываться айди клиента). Для этого нужно в перечне с типами данных найти пункт «Список». А в поле, подписанном как «Источник» пропишите диапазон адресов ячеек первого столбца.
3
Как мы видим, в колонке, где описываются клиенты, была прописана следующая формула:
=ГПР(B1;A1:C11;E2+1)
С ее помощью программа автоматически выдает клиента, основываясь на его идентификационном номере.
Чтобы осуществить поиск номера телефона клиента, базируясь на информации о его айди, можно использовать эту формулу. Как вы можете увидеть, она позволяет не просто определить номер телефона, но и проверить, указан ли он в базе.
=ЕСЛИ(ГПР(C1;A1:C11;E2+1)=»»;»Не указан»;ГПР(C1;A1:C11;E2+1))
Вот некоторые простые примеры, которые можно использовать для большей наглядности.
4 5
Интерактивный отчет для анализа прибыли и убытков в Эксель
Предположим, у нас есть таблица, содержащая информацию о доходах и расходах за разные месяцы. Перед нами руководство поставило задачу добавить в этот документ небольшую форму, с помощью которой можно определить сальдо торгового баланса. Простыми словами, мы получили прибыль или убытки за этот период.
Нами была создана таблица, где номер месяца можно выбрать с помощью выпадающего списка. Более подробно узнать, как создавать выпадающий список, можно в инструкции выше.
6
После этого записываем в ячейку F2 следующую последовательность команд (она отображается на скриншоте в строке формул).
7
С помощью функции ABS мы получили абсолютное значение. Его величина такая же, как разница между результатами двух формул ГПР , которые были возвращены.
Теперь давайте запишем формулу со скриншота ниже.
Как видим, формула содержит функцию ЕСЛИ , которая осуществляет сравнение результатов вычислений двух формул, и если первая оказывается больше, она пишет, что день закончился с прибылью.
Примеры использования функции ГПР
Давайте для наглядности приведем еще один пример, немного проще. Предположим, перед нами поставили задачу найти номер клиента, пронумерованного цифрой 5. Выглядит эта таблица с исходными данными, которые будут использоваться в вычислениях, следующим образом.
9
Далее используем нашу формулу с аргументами, приведенными на этом скриншоте.
10
Давайте более детально распишем, что каждый из приведенных аргументов означает.
- A1 – это ссылка на ячейку, в которой содержится название поля таблицы.
- A1:C11 – это исходная таблица, которая используется для получения информации.
- E2+1 – цифровое обозначение строки таблицы с учетом шапки. Если не прибавить единицу, то будут отображаться данные, которые берут за основу неправильный айди, который будет на единицу меньше. Все дело в том, что первая строка нашей таблицы зарезервирована под шапку, содержащую названия колонок.
В результате, у нас получается такая таблица. Видим, что на этом примере номер айди – это ячейка F2. То есть, результат, соответствующий номеру этого клиента, выводится в эту ячейку.
11
Таким образом, возможностей для поиска нужных значений в программе Excel действительно огромное количество. И с каждой новой версией офисного пакета этот набор только увеличивается. Что нас ждет дальше? Неизвестно. Но точно нужно быть уверенным, что все будет отлично. Ведь как говорят эксперты по финансам, Excel и Powerpoint – две самые популярные и эффективные программы для того, чтобы генерировать деньги. Если правильно научиться пользоваться электронными таблицами, то специалист будет невероятно востребованным, независимо от сферы, в которой он работает.
Функция ГПР в Excel используется для поиска значения, указанного в качестве одного из ее аргументов, которое содержится в просматриваемом массиве или диапазоне ячеек, и возвращает соответствующее значение из ячейки, расположенной в том же столбце, на несколько строк ниже (число строк определяется в качестве третьего аргумента функции).
Функция ГПР схожа с функцией ВПР по принципу работы, а также своей синтаксической записью, и отличается направлением поиска в диапазоне (построчный, то есть горизонтальный поиск).
Например, в таблице с полями «Имя» и «Дата рождения» необходимо получить значение даты рождения для сотрудника, запись о котором является третьей сверху. В этом случае удобно использовать следующую функцию: =ГПР("Дата рождения";A1:B10;4), где "Дата рождения" – наименование столбца таблицы, в котором будет выполнен поиск, A1:B10 – диапазон ячеек, в котором расположена таблица, 4 – номер строки, в которой содержится возвращаемое значение (поскольку таблица содержит шапку, номер строки равен номеру искомой записи +1.
Пошаговые примеры работы функции ГПР в Excel
Пример 1. В таблице содержатся данные о клиента и их контактных номерах телефонов. Определить номер телефона клиента, id записи которого имеет значение 5.
Вид таблицы данных:
Для расчета используем формулу:
- F1 – ячейка, содержащая название поля таблицы;
- A1:C11 – диапазон ячеек, в которых содержится исходная таблица;
- E2+1 – номер строки с возвращаемым значением (для – шестая строка, поскольку первая строка используется под шапку таблицы).
В ячейке F2 автоматически выводится значение соответствующие номеру id в исходной таблице.
ГПР для выборки по нескольких условиях в Excel
Пример 2. На основе таблицы из первого примера создать компактное представление таблицы, в которой по номеру id можно получить записи, хранящиеся в столбцах «Клиент» и «Телефон».
Создадим заготовку таблицы:
Для удобного использования в ячейке E2 создадим выпадающий список. Для этого выберите инструмент: «ДАННЫЕ»-«Работа с данными»-«Проверка данных».
В появившемся окне «Проверка вводимых значений» выберите из секции «Тип данных:» в выпадающем меню опцию «Список». А в поле «Источник:» укажите адрес ссылки на диапазон исходных ячеек первого столбца таблицы =$A$2:$A$11, как показано выше на рисунке.
Для выбора клиента используем следующую формулу в ячейке F2:
Для выбора номера телефона используем следующую формулу (с учетом возможного отсутствия записи) в ячейке G2:
Функция ЕСЛИ выполняет проверку возвращаемого значения. Если искомая ячейка не содержит данных, будет возвращена строка «Не указан».
Интерактивный отчет для анализа прибыли и убытков в Excel
Пример 3. В таблице хранятся данные о доходах и расходах мелкого предприятия по номерам месяцев. Создать форму для быстрого расчета абсолютного значения разницы доходов и расходов по номеру месяца, позволяющая определять, был ли закончен отчетный период с прибылью или убытком.
Вид таблиц данных с выпадающим списком в ячейке E2 (как сделать выпадающий список смотрите в примере выше):
В ячейку F2 запишем следующую формулу:
Функция ABS возвращает абсолютное число, равное разнице возвращаемых результатов функций ГПР.
В ячейке G2 запишем формулу:
Функция ЕСЛИ сравнивает возвращаемые функциями ГПР значения и возвращает один из вариантов текстовых строк.
Функция ВПР ( В ертикальный ПР осмотр) для многих (но, надеюсь, не для вас) является вершиной эволюции в Excel. Что ж, есть много ситуаций, когда эта формула может оказаться полезной. ВПР имеет следующий синтаксис:
= ВПР ( искомое_значение ; массив ; номер_столбца ; тип_поиска )
искомое_значение - константа или ссылка на ячейку, значение которой вы собираетесь искать
массив - диапазон ячеек, состоящий, как минимум, из двух столбцов (в противном случае данная формула теряет всякий смысл) и, как правило, большого количества строк
номер_столбца - номер столбца, указанного масива, из которого будут возвращаться данные
тип_поиска - переключатель типа поиска. Если вы укажите 0 или ЛОЖЬ (FALSE), то функция будет искать точное соответствие с искомым значением, а если укажете 1 или ИСТИНА (TRUE), то формула вернёт максимальное значение, которое МЕНЬШЕ или РАВНО искомого параметра.
ВПР осуществляет поиск в первом столбце массива и, если значение найдено, то возвращает результат, взятый на пересечении соответствующей строки и указанного в третьем параметре столбца массива.
Схема
Некоторые замечания о ВПР
Функция ГПР (HLOOKUP)
Функция ГПР ( Г оризонтальный ПР осмотр) - это тот же самый ВПР , в котором строки заменили на столбцы и наоборот. ГПР имеет следующий синтаксис:
= ГПР ( искомое_значение ; массив ; номер_строки ; тип_поиска )
искомое_значение - константа или ссылка на ячейку, значение которой вы собираетесь искать
массив - диапазон ячеек, состоящий, как минимум, из двух строк (в противном случае данная формула теряет всякий смысл) и, как правило, большого количества столбцов
номер_строки - номер строки, указанного масива, из которой будут возвращаться данные
тип_поиска - переключатель типа поиска. Если вы укажите 0 или ЛОЖЬ (FALSE), то функция будет искать точное соответствие с искомым значением, а если укажете 1 или ИСТИНА (TRUE), то формула вернёт максимальное значение, которое МЕНЬШЕ или РАВНО искомого параметра.
ГПР осуществляет поиск в первой строке массива и, если значение найдено, то возвращает результат, взятый на пересечении соответствующего столбца и указанного в третьем параметре строки массива.
Даже, если вы годами используете функцию ВПР , то с высокой долей вероятности эта статья будет вам полезна и не оставит равнодушным. Я, например, будучи IT специалистом, а потом и руководителем в IT, пользовался VLOOKUP 15 лет, но разобраться со всеми нюансами довелось только сейчас, когда я на профессиональной основе стал обучать людей Excel.
ВПР - это аббревиатура от В ертикального ПР осмотра. Аналогично и VLOOKUP - V ertical LOOKUP . Уже само название функции намекает нам, что она производит поиск в строках таблицы (по вертикали - перебирая строки и фиксируя столбец), а не в столбцах (по горизонтали - перебирая столбцы и фиксируя строку). Надо заметить, что у ВПР есть сестра - гадкий утёнок, которая никогда не станет лебедем, - это функция ГПР (HLOOKUP). ГПР , в противоположность ВПР , производит горизонтальный поиск, однако, концепция Excel (да и вообще концепция организации данных) подразумевает, что ваши таблицы имеют небольшое количество столбцов и гораздо большее количество строк. Именно поэтому поиск по строкам нам требуется во много раз чаще, чем по столбцам. Если вы в Excel слишком часто пользуетесь функцией ГПР , то, вполне вероятно, что вы чего-то не поняли в этой жизни.
Синтаксис
Функция ВПР имеет 4 параметра:
- искомое значение (редко) или ссылка на ячейку, содержащую искомое значение (подавляющее большинство случаев)
- ссылка на диапазон ячеек (двумерный массив), в ПЕРВОМ (!) столбце которого будет осуществляться поиск значения параметра
- номер столбца в диапазоне, из которого будет возвращено значение
- это очень важный параметр, который отвечает на вопрос, а отсортирован ли по возрастанию первый столбец диапазона . В случае, если массив отсортирован, то мы указываем значение ИСТИНА (TRUE) или 1 , в противном случае ЛОЖЬ (FALSE) или 0 . В случае, если данный параметр опущен, то он по умолчанию принимается равным 1 .
Держу пари, что многие из тех, кто знают функцию ВПР , как облупленную, прочтя описание четвёртого параметра, могут почувствовать себя неуютно, так как они привыкли видеть его в несколько ином виде: обычно там идёт речь о точном соответствии при поиске (ЛОЖЬ или 0), либо же о диапазонном просмотре (ИСТИНА или 1).
Вот сейчас надо напрячься и читать следующий абзац несколько раз, пока не прочувствуете смысл сказанного до конца. Там важно каждое слово. Примеры помогут разобраться.
Итак, как же конкретно работает формула ВПР :
Схемы работы формул
ВПР тип I
ВПР тип II
Следствия для формул вида I:
Следствия для формул вида II:
- Если искомое значение встречается в первом столбце массива несколько раз, то формула выберет первую строку для последующего извлечения данных.
Производительность работы функции ВПР
Вы добрались до кульминационного места статьи. Казалось бы, ну какая разница, укажу ли я в качестве последнего параметра ноль или единицу? В основном все указывают конечно же ноль, так как это довольно практично - не надо заботиться о сортировке первого столбца массива, сразу видно - найдено значение или нет. Но, если у вас на листе несколько тысяч формул ВПР (VLOOKUP), то вы заметите, что ВПР вида II работает медленно. При этом обычно все начинают думать 2 вещи:
- мне нужен более мощный компьютер
- мне нужна более быстрая формула, например, многие знают про ИНДЕКС + ПОИСКПОЗ (INDEX+MATCH), которая, якобы, быстрее на жалкие 5-10%.
И мало кто думает, что стоит только начать использовать ВПР вида I и обеспечить любыми способами сортировку первого столбца, как скорость работы ВПР возрастёт в 57 раз. Пишу прописью - В ПЯТЬДЕСЯТ СЕМЬ РАЗ ! Данный факт я проверил вполне надёжно.
Секрет такой быстрой работы кроется в том, что на отсортированном массиве можно применять чрезвычайно эффективный алгоритм поиска, который носит название бинарного поиска (метод деления пополам, метод дихотомии). Так вот ВПР вида I его применяет, а ВПР вида II ищет без какой-либо оптимизации вообще. Тоже самое относится и к функции ПОИСКПОЗ (MATCH), которая включает в себя аналогичный параметр, а также и к функции ПРОСМОТР (LOOKUP), которая работает только на отсортированных массивах и включена в Excel ради совместимости с Lotus 1-2-3.
Недостатки формулы
Недостатки ВПР очевидны: во-первых, она ищет только в первом столбце, указанного массива, и, во-вторых, - только справа от данного столбца. А как вы понимаете, вполне может случиться так, что столбец, содержащий необходимую информацию, окажется слева от столбца, в котором мы будем искать. Этого недостатка лишена уже упомянутая связка формул ИНДЕКС + ПОИСКПОЗ (INDEX+MATCH), что делает её наиболее гибким решением по извлечению данных из таблиц в сравнении с ВПР (VLOOKUP).
Реальное применение формулы
Диапазонный поиск
Классическая иллюстрация к диапазонному поиску - задача определения скидки по размеру заказа.
Поиск текстовых строк
Безусловно ВПР ищет не только числа, но и текст. При этом надо принимать во внимание, что регистр символов формула не различает. Если использовать символы подстановки, то можно организовать нечёткий поиск. Есть 2 символа подстановки: " ? " - заменяющий любой один символ в текстовой строке, и " * " - заменяющая любое количество любых символов.
Борьба с пробелами
Часто поднимается вопрос, как решить проблему лишних пробелов при поиске. Если справочную таблицу ещё можно вычистить от них, то первый параметр формулы ВПР не всегда зависит от вас. Поэтому, если риск засорения ячеек лишними пробелами присутствует, то можно применять для очистки функции СЖПРОБЕЛЫ (TRIM).
Разный формат данных
Если первый параметр функции ВПР ссылается на ячейку, которая содержит число, но которое хранится в ячейке в текстовом виде, а первый столбец массива содержит числа в правильном формате, то поиск будет неудачным. Возможна и обратная ситуация. Проблема легко решается переводом параметра 1 в необходимый формат:
= ВПР(-- D7 ; Продукты!$A$2:$C$5 ; 3; 0) - если A7 содержит текст, а таблица числа
= ВПР( D7 & ""; Продукты!$A$2:$C$5 ; 3; 0) - и наоборот.
Кстати, перевести текст в число можно сразу несколькими способами, выбирайте:
- Двойное отрицание --D7
- Умножение на единицу D7*1
- Сложение с нулём D7+0
- Возведение в первую степень D7^1
Перевод числа в текст производится через сцепку с пустой строкой, которая заставляет Excel преобразовать тип данных.
Это очень удобно делать при помощи функции ЕСЛИОШИБКА (IFERROR).
Например: = ЕСЛИОШИБКА( ВПР(D7; Продукты!$A$2:$C$5; 3; 0); "")
Массив
Часто забывают ссылку массива сделать абсолютной и при протягивания массив "плывёт". Помните, что вместо A2:C5 следует использовать $A$2:$C$5 .
Хорошей идеей является размещение справочного массива на отдельном листе рабочей книги. Не путается под ногами, да и сохраннее будет.
Ещё более хорошей идеей будет объявление этого массива в виде именованного диапазона.
Многие пользователи при указании массива используют конструкцию вида A:C , указывая столбцы целиком. Этот подход имеет право на существование, так как вы избавлены от необходимости отслеживать тот факт, что ваш массив включает все необходимые строки. Если вы добавите строки на лист с первоначальным массивом, то диапазон, указанный как A:C не придётся корректировать. Безусловно эта синтаксическая конструкция заставляет Excel проводить несколько большую работу, чем при точном указании диапазона, но данными накладными расходами можно пренебречь. Речь идёт о сотых долях секунды.
Ну и на грани гениальности оформить массив в виде умной таблицы.
Использование функции СТОЛБЕЦ для указания колонки извлечения
Если таблица, в которую вы извлекаете данные при помощи ВПР имеет ту же самую структуру, что и справочная таблица, но просто содержит меньшее количество строк, то в ВПР можно использовать функцию СТОЛБЕЦ() для автоматического расчёта номеров извлекаемых столбцов. При этом все ВПР формулы будут одинаковыми (с поправкой на первый параметр, который меняется автоматически)! Обратите внимание, что у первого параметра координата столбца абсолютная.
Создание составного ключа через &"|"&
Если возникает необходимость искать по нескольким столбцам одновременно, то необходимо делать составной ключ для поиска. Если бы возвращаемое значение было не текстовым (как тут в случае с полем Код ), а числовым, то для этого подошла бы более удобная формула СУММЕСЛИМН (SUMIFS) и составной ключ столбца не потребовался бы вовсе.
Функция ГПР в Экселе является аналогом знаменитой формулы ВПР, только вместо того что бы просматривать значения в столбце, она ищет совпадение в строке и соответственно для возврата значения смещается на указанное количество строк. (Кстати, если вы до сих пор не знакомы с великолепной функцией ВПР, прочитайте нашу статью и многие задачи сможете решать намного быстрее: "Функция ВПР в Excel")
- Таблица- диапазон данных на листе, где в первой строке мы ищем искомое значение и сдвигаемся на необходимое количество строк.
- Интервальный просмотр - ставьте всегда 0, тогда Эксель будет искать точное совпадение, что нам и нужно в большинстве случаев.
Рассмотрим применение функции ГПР в Excel на следующем примере. Чаще всего в практике эту формулу используют для случаев, когда у нас есть одно и тоже значение, к примеру выручка предприятия, которое изменяется по периодам, к примеру по месяцам. Итак, у нас есть лист с данными по выручке по месяцам за год, наша задача, используя формулу ГПР, получить на сводном листе данные по выручке, в зависимости от указанного месяца.
Для начала давайте зададим месяцы в виде выподающего списка, если вы не знаете, как это сделать, прочитайте статью на нашем сайте: "Как сделать выпадающий список в Excel".
Далее переходим к реализации функции ГПР для нашего примера. Первым параметром указываем нашу ячейку с месяцами; вторым параметром - диапазон данных с месяцами и суммой выручки; третьим параметром указываем число 2, так как первой строкой в выбранном нами диапазоне является месяц, а второй - выручка; последним параметром - 0, т.к. нам нужно точное совпадение.
Теперь мы получили универсальный отчёт, в котором мы можем менять период и получать выручку за этот месяц.
Читайте также: