Функция ВПР (VLOOKUP) в Excel используется для поиска данных из одной таблицы и сопоставления их с данными из другой таблицы.
Содержание
- Функция ВПР в Excel для чайников
- Синтаксис
- Аргументы функции
- Дополнительная информация
- Примеры использования ВПР в Excel
- Пример 1. Ищем результат экзамена для студента
- Пример 2. Двухфакторный поиск данных
- Пример 3. Используем выпадающий список при двух факторном поиске
- Пример 4. Трех факторный поиск данных ВПР
- Пример 5. Получаем последнее значение колонки с помощью функции VLOOKUP (ВПР)
- Пример 6. Частичный поиск с использованием символов подстановочных знаков и ВПР
- Пример 7. Функция ВПР возвращает ошибку, несмотря на совпадение в значении поиска
- Пример 8. Функция ВПР в Excel с несколькими условиями
- Пример 9. Обработка ошибок с помощью функции ВПР
Функция ВПР в Excel для чайников
На примере ниже, в таблице справа, мы хотим подставить данные результатов экзамена по математике для студента Сидорова. Нам известны данные по всем студентам из таблицы слева. Используя формулу, мы можем подставить необходимые для нас данные.
Синтаксис
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) — английская версия
=ВПР(искомое_значение, таблица, номер_столбца, [интервальный_просмотр]) — русская версия
Аргументы функции
- lookup_value (искомое_значение) — это величина для поиска, из крайнего левого столбца таблицы. Это может быть значение, ссылка на ячейку или текстовая строка. В примере со студентами это их фамилии;
- table_array (таблица) — это диапазон данных, в котором будет осуществлен поиск. Это может быть ссылка на диапазон ячеек или именованный диапазон. В примере с таблицей со студентами, это будет вся таблица, которая содержит оценку и фамилии студентов;
- col_index (номер_столбца) — это порядковый номер столбца в диапазоне с данными, из которого будет получена искомая величина;
- [range lookup] ([интервальный_просмотр]) — этот аргумент указывает на точность совпадения данных при поиске. Укажите «0» — если точное, «1» — если приблизительное совпадение.
Дополнительная информация
- совпадение искомых данных может быть точным и приблизительным;
- при сопоставлении по приблизительной точности данных убедитесь, что данные в таблицах отсортированы в убывающем порядке (от большого к малому). Иначе, результат сопоставления будет некорректным;
- при сопоставлении данных по приблизительной точности:
— если функция не найдет искомое значение, она выдаст наибольшую величину, которая будет меньше чем значения поиска;
— если функция при сопоставлении выдает ошибку #N/A, то искомое значение меньше чем самая маленькая величина в искомом диапазоне;
— вы можете использовать подстановочные знаки для искомых значений.
Примеры использования ВПР в Excel
Пример 1. Ищем результат экзамена для студента
На примере ниже, в левой колонке таблицы указан список студентов. В правой части таблицы указаны итоговые баллы по экзаменам этих студентов.
Перед нами стоит задача узнать, какой балл получил студент Петров по Физике.
Узнать это мы можем с помощью формулы ниже:
=VLOOKUP(«Петров»,$A$3:$E$10,3,0) — английская версия
=ВПР(«Петров»;$A$3:$E$10;3;0) — русская версия
Формула выше состоит из четырех аргументов:
- “Петров” — фамилия, данные по которой, ищем;
- $A$3:$E$10 — диапазон данных с результатами экзаменов;
- “3” — порядковый номер столбца диапазона данных со значением оценки по Физике;
- “0” — точное совпадение искомого значения.
Ниже, наглядно изображено как работает по примеру наша функция.
Сначала, она ищет в крайней левой колонке диапазона данных фамилию “Петров”. Поиск происходит сверху вниз.
Как только Excel нашел точное совпадение “Петров” в диапазоне данных, система “шагает” в право, на третью колонку для отображения искомых данных.
Используя этот подход вы можете получить любые данные по каждому студенту и учебному предмету.
Например, чтобы найти результаты экзамена для студента Пескова по Химии, нам нужна формула:
=VLOOKUP(«Песков»,$A$20:$E$28,4,0) — английская версия
=ВПР(«Песков»;$A$20:$E$28;4;0) — русская версия
В приведенном выше примере фамилия студента указана в двойных кавычках. Также, можно использовать ссылку на ячейку с искомым значением. Ссылка на ячейку делает формулу динамической.
Например, если у вас есть ячейка с фамилией, и вы ищете оценку по математике, результат будет автоматически обновляться при изменении имени учащегося (как показано ниже):
Если в качестве аргумента поиска будет введена фамилия студента, которой нет в диапазоне данных, функция выдаст ошибку.
Пример 2. Двухфакторный поиск данных
На примере выше мы указывали вручную в качестве атрибута «номер_столбца» порядковый номер колонки с данными.
Но что, если мы хотим сделать поиск динамическим? Что если, мы хотим вводить имя студента и название предмета и функция автоматически выведет нужные данные? Для этого нам потребуется использовать двух факторный поиск.
Ниже пример двух факторного поиска:
Чтобы сделать двух факторную формулу поиска, важно сделать выбор данных из колонок динамическим. Так, когда пользователь меняет название предмета: Физика, Математика и т.д., в формуле изменяется соответствующий атрибут столбца с данными.
Чтобы сделать это, нам потребуется функция MATCH (ПОИСКПОЗ) в качестве аргумента отвечающего за порядковый номер колонки.
Так будет выглядеть формула для двухфакторного поиска:
=VLOOKUP($G$5,$A$4:$E$12,MATCH($H$4,$A$3:$E$3,0),0) — английская версия
=ВПР($G$5;$A$4:$E$12;ПОИСКПОЗ($H$4;$A$3:$E$3;0);0) — русская версия
В формуле выше используется функция MATCH (ПОИСКПОЗ), которая отвечает за порядковый номер колонки с данными. MATCH (ПОИСКПОЗ) принимает название учебного предмета как значение поиска (в ячейке “H4”) и возвращает его позицию в диапазоне ячеек “A2:E2”.
Если указать “Математика”, Excel вернет “2”, поскольку “Математика” находится в ячейке “B2” (вторая по счету в этом массиве).
Пример 3. Используем выпадающий список при двух факторном поиске
Используя способ из примера №2, нам требуется делать много ручной работы. Высок риск допустить ошибку и потратить много времени, особенно, если вы работаете с большим объемом данных.
Здесь лучше использовать выпадающие списки как значения для поиска (в нашем примере это фамилии студентов и учебные предметы).
Основываясь на тех данных, что вы выберете из выпадающего списка, функция автоматически выведет необходимые данные, как это указано на примере ниже:
Такой подход позволяет создать дашборд, с помощью которого вы легко сможете обрабатывать большие списки с данными.
Ниже мы рассмотрим, как сделать такую таблицу.
Для этого нам потребуется формула из Примера №2:
=VLOOKUP($G$5,$A$4:$E$12,MATCH($H$4,$A$3:$E$3,0),0) — английская версия
=ВПР($G$5;$A$4:$E$12;ПОИСКПОЗ($H$4;$A$3:$E$3;0);0) — русская версия
Данные поиска были преобразованы в выпадающие списки.
Чтобы сделать выпадающий список, нужно:
- Выбрать ячейку, в которой вы хотите создать выпадающий список. В нашем примере в ячейке “G4” мы указали фамилии студентов.
- Перейти к вкладке Данные -> Проверка данных.
- В диалоговом окне «Проверка данных» на вкладке «Настройки» выбрать «Список» и в раскрывающемся списке выберите «Разрешить».
- В источнике выбрать $A$3:$A$10
- Нажать «ОК».
Теперь у вас появится раскрывающийся список в ячейке “G4”. Аналогично, вы можете создать его в “H3” для предметов.
Пример 4. Трех факторный поиск данных ВПР
Что такое трех факторный поиск?
В Примере 2 мы использовали одну таблицу с оценками для студентов по разным предметам. Это пример двухфакторного поиска, поскольку мы используем две переменные для получения оценки (фамилия студента и предмет).
Теперь предположим, что к концу года студент прошел три уровня экзаменов: «Вступительный», «Полугодовой» и «Финальный экзамен».
Трехсторонний поиск — это возможность получить отметки студента по предмету с определенным уровнем экзамена.
Вот пример трехстороннего поиска:
В приведенном выше примере, функция ищет данные в трех разных таблицах с данными («Вступительный», «Полугодовой» и «Финальный экзамен») и возвращает значения оценок студента по определенному предмету по конкретному уровню экзамена.
Для таких расчетов нам поможет формула:
=VLOOKUP(G5,CHOOSE(IF(H3=»Вступительный»,1,IF(H3=»Полугодовой»,2,3)),$A$4:$E$12,$A$16:$E$24,$A$28:$E$36),MATCH(H4,$A$3:$E$3,0),0) — английская версия
=ВПР(G5;ВЫБОР(ЕСЛИ(H3=»Вступительный»;1;ЕСЛИ(H3=»Полугодовой»;2;3));$A$4:$E$12;$A$16:$E$24;$A$28:$E$36);ПОИСКПОЗ(H4;$A$3:$E$3;0);0) — русская версия
Эта формула использует функцию CHOOSE (ВЫБОР), чтобы убедиться, что данные выбраны из правильной таблицы. Давайте проанализируем часть формулы CHOOSE (ВЫБОР):
CHOOSE(IF(H3=»Вступительный»,1,IF(H3=»Полугодовой»,2,3)),$A$4:$E$12,$A$16:$E$24,$A$28:$E$36),MATCH(H4,$A$3:$E$3,0),0) — английская версия
ВЫБОР(ЕСЛИ(H3=»Вступительный»;1;ЕСЛИ(H3=»Полугодовой»;2;3));$A$4:$E$12;$A$16:$E$24;$A$28:$E$36);ПОИСКПОЗ(H4;$A$3:$E$3;0);0) — русская версия
Первый аргумент формулы (IF(H3=»Вступительный»,1,IF(H3=»Полугодовой»,2,3) или (ЕСЛИ(H3=»Вступительный»;1;ЕСЛИ(H3=»Полугодовой»;2;3) проверяет ячейку “H3” и определяет, на какой уровень экзамена ссылаются. Если это «Вступительный», функция возвращает данные из диапазона $A$4:$E$12, который содержит оценки для вступительного экзамена.
Если выбран уровень «Полугодовой», то система возвращает данные из диапазона $A$16:$E$24, в другом случае она возвращает данные из диапазона $A$28:$E$36.
Такой подход делает массив таблиц динамическим и трех факторным.
Больше лайфхаков в нашем Telegram Подписаться
Пример 5. Получаем последнее значение колонки с помощью функции VLOOKUP (ВПР)
С помощью ВПР вы можете вычислить последнее число из списка.
Наибольшее положительное число, которое вы можете использовать в Excel, равно 9.99999999999999E + 307. Это также означает, что самый большой номер поиска в номере VLOOKUP также 9.99999999999999E + 307.
Я не думаю, что вам когда-нибудь понадобится какой-то расчет, в котором участвует такое большое число. Но с его помощью мы можем получить последнее число в списке.
Предположим, у вас есть набор данных (в диапазоне ячеек A1:A14), как показано ниже, и вы хотите получить число из последней ячейки в списке.
Для этого нам подойдет следующая формула:
=VLOOKUP(9.99999999999999E+307,$A$1:$A$14,TRUE) — английская версия
=ВПР(9.99999999999999E+307;$A$1:$A$14;ИСТИНА)
Обратите внимание, что в формуле выше используется приблизительная точность совпадения данных (несмотря на это нет необходимости упорядочивать список).
Вот как работает функция с приблизительной точностью совпадения данных. Она просматривает левую колонку сверху вниз.
- Если он находит точное совпадение, она возвращает это значение;
- Если она находит число, превышающее значение поиска => возвращает число в ячейке над ним;
- Если значение поиска больше всех чисел в списке, функция возвращает последнее число из списка.
В нашем примере работает третий сценарий.
Число 9.99999999999999E + 307 это самое большое число, которое можно использовать в Excel, когда оно используется как критерий поиска, тогда функция VLOOKUP (ВПР) возвращает последнее число из списка.
Таким же образом вы можете использовать этот принцип для возврата последнего текстового элемента из списка. Вот формула, которая может это сделать:
=VLOOKUP(«яяя»,$A$1:$A$14,1,TRUE) — английская версия
=ВПР(«яяя»;$A$1:$A$14;1;ИСТИНА) — русская версия
Здесь действует та же логика. Система просматривает все названия из списка. Так как “яяя” самое большое текстовое значение => результатом вычисления будет самое крайнее значение из списка данных.
Пример 6. Частичный поиск с использованием символов подстановочных знаков и ВПР
Символы подстановки в Excel могут быть полезными во многих ситуациях.
Частичный поиск необходим, когда вам нужно искать значение в списке, в котором нет точного соответствия искомым данным.
Например, у вас есть набор данных, как показано ниже, и вы хотите найти компанию “ABC” в списке, но в списке есть только “ABC Ltd” вместо “ABC”.
Вы не можете использовать “ABC” в качестве значения поиска, так как в столбце “A” нет точного соответствия. Приблизительное совпадение часто приводит к ошибочным результатам и требует сортировки списка в порядке возрастания.
Однако, вы можете использовать подстановочный знак в VLOOKUP (ВПР) для более точного соответствия данных.
Введите следующую формулу в ячейку “D2” и перетащите ее в другие ячейки:
=VLOOKUP(«*»&C2&»*»,$A$2:$A$8,1,FALSE) — английская версия
=ВПР(«*»&C2&»*»;$A$2:$A$8;1;ЛОЖЬ) — русская версия
Как это работает?
В формуле, указанной выше мы добавили к значению поиска “звездочки” с двух сторон. Указывая такие “звездочки” вы даете Excel понять, что готовы осуществить поиск, при котором в искомых данных как в начале так и в конце значения могут быть любые другие слова, буквы или цифры.
Таким образом, осуществляя поиск, Excel будет понимать, что необходимо искать значение, которое содержит слово из ячейки “С2” (в нашем примере).
Например, в ячейке “C2” указано название компании “ABC”, поэтому функция просматривает значения в диапазоне данных “A2:A8” и ищет “ABC”. Она находит соответствие в ячейке “A2”, так как та содержит слово “ABC” в “ABC Ltd”. Не имеет значения, есть ли какие-либо символы слева или справа от “ABC”.
Примечание: ВПР всегда возвращает первое совпадающее значение и перестает искать дальше. Поэтому, если у вас есть название компании “ABC Ltd”. и “ABC Corporation” в списке, она вернет первый по порядку и проигнорирует остальные.
Пример 7. Функция ВПР возвращает ошибку, несмотря на совпадение в значении поиска
Это может свести вас с ума, когда вы увидите, что имеется соответствующее значение поиска, а функция возвращает ошибку.
Например, у вас в таблице есть очевидное соответствие (Иван), но система по-прежнему возвращает ошибку.
Рассматривая значения в таблице глубже, вы можете заметить, что в диапазоне данных значение “Иван “ написано с пробелом. Если в диапазоне данных по которым вы осуществляете поиск есть пробелы до значений, после или между словами, то функция их не сопоставит.
Решение есть, и зовут его — функция TRIM. Она удаляет все лишние пробелы в значениях.
Ниже формула, которая поможет вам сопоставить данные несмотря на лишние пробелы в диапазоне данных.
=VLOOKUP(«Иван»,TRIM($A$2:$A$15),1,0) — английская версия
=ВПР(«Иван»,СЖПРОБЕЛЫ($A$2:$A$15);1;0) — русская версия
Для того, чтобы функция TRIM (СЖПРОБЕЛЫ) заработала при использовании VLOOKUP (ВПР), следует вводить формулу после набора не с помощью клавиши Enter на клавиатуре, а с помощью сочетания клавиш Ctrl + Shift + Enter.
Пример 8. Функция ВПР в Excel с несколькими условиями
Функция в своей базовой форме может искать одно значение поиска и возвращать соответствующие данные из указанного диапазона данных.
Но часто нам необходимо использовать VLOOKUP с поиском по несколькими критериям.
Представим, что у вас есть таблица с результатами экзаменов студентов по трем уровням экзамена: «Вступительный», «Полугодовой» и «Финальный экзамен»:
Сопоставить данные по конкретному студенту, предмету и уровню экзамена с помощью функции ВПР — нелегкая задача, так как сопоставляя данные по студенту и предмету, она будет выдавать результат первого совпадения, но далеко не факт, что этот результат будет корректным и соответствовать необходимому уровню экзамена.
Осуществить поиск по студенту + названию предмета + уровню экзамена можно с помощью создания вспомогательного столбца, как показано на примере ниже:
Теперь, нам необходимо создать уникальный ID для каждого студента и уровня экзамена с помощью формулы во вспомогательном столбце: =A2&»|»&B2.
Протяните эту формулу в каждую ячейку столбца данной таблицы. Таким образом мы создадим уникальный ID, по которому мы можем сопоставлять данные.
Благодаря вспомогательному столбцу мы избежали того, что при сопоставлении данных, функция будет выдавать данные по не нужному уровню экзамена.
Теперь вы можете использовать значения вспомогательного столбца в качестве значений поиска.
Ниже формула, с помощью которой удобно сопоставлять данные из вашей таблицы в список студентов, распределенных по уровню экзамена.
=VLOOKUP($F3&»|»&G$2,$C$2:$D$19,2,0) — английская версия
=ВПР($F3&»|»&G$2;$C$2:$D$19;2;0) — русская версия
С помощью этой формулы мы объединили имя студента и уровень экзамена, чтобы получить значение поиска которое мы проверяем его во вспомогательном столбце и получить данные.
Пример 9. Обработка ошибок с помощью функции ВПР
Функция возвращает ошибку каждый раз, когда не может сопоставить значение поиска в заданном диапазоне данных.
В Excel есть возможность заменить сообщения об ошибке на заданное вами текстовое или числовое значение типа “Нет”, “Не доступно”, “Нет данных” и.т.д.
На примере ниже, мы пытаемся сопоставить результаты экзамена студента Ивана из таблицы. Но так как данных по Ивану в таблице нет, функция выдает ошибку.
Для того, чтобы заменить сообщение ошибки на какое-то более формальное значение нам поможет функция ЕСЛИОШИБКА(IFERROR):
=IFERROR(VLOOKUP(D2,$A$2:$B$7,2,0),»Нет данных») — английская версия
=ЕСЛИОШИБКА(ВПР(D2;$A$2:$B$7;2;0);»Нет данных») — русская версия
Функция ЕСЛИОШИБКА(IFERROR) проверяет, если в результате вычислений по формуле выдается ошибка, то она выдает, то значение, которое вы указали в функции ЕСЛИОШИБКА(IFERROR), например “Нет данных”.
В табличном редакторе Microsoft Excel множество различных формул и функций. Они позволяют сэкономить время и избежать ошибок – достаточно правильно написать формулу и подставить нужные значения.
В этой статье мы рассмотрим функцию ВПР (или VLOOKUP, что означает «вертикальный просмотр»). Функция ВПР помогает работать с данными из двух таблиц и подтягивать значения из одной в другую. Использовать ее удобно, когда нужно посчитать выручку или прикинуть бюджет, если в одной таблице указан прайс-лист, а в другой количество проданного товара.
Допустим, есть таблица с количеством проданного товара и таблица с ценами на эти товары
Необходимо к каждому товару из таблицы слева добавить цену из прайса справа.
Как создать функцию ВПР в Excel
Необходимая последовательность значений в функции называется синтаксис. Обычно функция начинается с символа равенства «=», затем идет название функции и аргументы в скобках.
Записываем формулу в столбик цены (С2). Это можно сделать двумя способами:
-
Выделить ячейку и вписать функцию.
-
Выделить ячейку → нажать на Fx (Shift +F3) → выбрать категорию «Ссылки и массивы» → выбрать функцию ВПР → нажать «ОК».
После этого открывается окно, где можно заполнить ячейки аргументов формулы.
Синтаксис функции ВПР выглядит так:
=ВПР(искомое значение;таблица;номер столбца;интервальный просмотр)
В нашем случае получится такая формула:
=ВПР(A2;$G$2:$H$11;2;0)
Аргументы функции ВПР
Сейчас разберемся что и куда писать.
Со знаком равенства «=» и названием «ВПР» все понятно. Поговорим об аргументах. Они записываются в скобках через точку с запятой или заполняются в ячейки в окне функции. Формула ВПР имеет 4 аргумента: искомое значение, таблица, номер столбца и интервальный просмотр.
Искомое значение – это название ячейки, из которой мы будем «подтягивать» данные. Формула ВПР ищет полное или частичное совпадение в другой таблице, из которой берет информацию.
В нашем случае выбираем ячейку «A2», в ней находится наименование товара. ВПР возьмет это название и будет искать аналогичную ячейку во второй таблице с прайсом.
=ВПР(A2;
Таблица – это диапазон ячеек, из которых мы будем «подтягивать» данные для искомого значения. В этом аргументе используем абсолютные ссылки. Это значит, что в формуле таблица будет выглядеть как «$G$2:$H$11» вместо «G2:H11». Знаки «$» можно поставить вручную, а можно выделить «G2:H11» внутри формулы и нажать F4. Если этого не сделать, таблица не зафиксируется в формуле и изменится при копировании.
В нашем случае – это таблица с прайсом. Формула будет искать в ней совпадение с ячейкой, которую указали в первом аргументе формулы – A2 (Кофе). Нажимаем F4 и делаем ссылку абсолютной.
=ВПР(A2;$G$2:$H$11
Номер столбца – это столбец таблицы, из которой нужно взять данные. Именно из него мы будем «подтягивать» результат.
-
Формула сканирует таблицу по вертикали.
-
Находит в самом левом столбце совпадение с искомым значением.
-
Смотрит в столбец напротив, очередность которого мы указываем в этом аргументе.
-
Передает данные в ячейку с формулой.
В нашем случае – это столбец с ценой продуктов в прайсе. Формула ищет искомое значение ячейки A2 (Кофе) в первом столбце прайса и «подтягивает» данные из второго столбца (потому что мы указали цифру 2) в ячейку с формулой.
=ВПР(A2;$G$2:$H$11;2
Интервальный просмотр – это параметр, который может принимать 2 значения: «истина» или «ложь». Истина обозначается в формуле цифрой 1 и означает приблизительное совпадение с искомым значением. Ложь обозначается цифрой 0 и подразумевает точное совпадение. Приблизительный поиск и критерий «истина» обычно используют при работе с числами, а точный и «ложь» – в работе с наименованиями.
В нашем случае искомое значение – это текстовое наименование. Поэтому используем точный поиск – ставим цифру 0 и закрываем скобку.
=ВПР(A2;$G$2:$H$11;2;0)
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Автозаполнение
В конце протягиваем формулу вниз до конца, в результате чего происходит автозаполнение.
Чтобы функция ВПР правильно сработала во время автозаполнения, искомое значение должно быть относительной ссылкой, а таблица – абсолютной.
-
В нашем случае искомое значение – A2. Это относительная ссылка на ячейку, потому что в ней нет знаков «$». Благодаря этому ссылка на искомое значение меняется относительно каждой строчки, когда происходит автозаполнение в другие ячейки: A2 → A3 → … → A11. Это удобно, когда необходимо повторить формулу на несколько строк, ведь ее не приходится писать заново.
-
Таблица зафиксирована абсолютной ссылкой «$G$2:$H$11». Это означает, что ссылки на ячейки не изменятся во время автозаполнения. Таким образом, расчет каждый раз будет корректным и опираться на таблицу.
ВПР и приблизительный интервальный просмотр
В предыдущем примере мы «подтягивали» значения из таблицы, используя точный интервальный просмотр. Он подходит для работы с наименованиями. Теперь разберем ситуацию, когда может понадобиться приблизительный интервальный просмотр.
Задача. В магазин привезли товар. Необходимо присвоить каждому товару размер партии, опираясь на его количество.
Товары такие же, как и в первом примере, но задача изменилась: нужно привязать формулу не к наименованию, а к количеству
Решение. Заполняем формулу ВПР в ячейке «Партия», как было показано в предыдущем примере.
Разница в том, что теперь искомое значение – число, а интервальный просмотр – истина, что означает приблизительный поиск. Получается вот такой результат:
Что произошло? Аргумент «интервальный просмотр» имеет значение 1. Это значит, что формула ВПР ищет в таблице ближайшее меньшее искомое значение.
В нашем случае количество товара «Кофе» – 380. ВПР берет это число в виде искомого значения, после чего ищет ближайшее меньшее в соседней таблице – число 300. В конце функция «подтягивает» данные из столбца напротив («Крупная»). Если количество товара «Кофе» = 340 – это «Крупная партия». Важно, чтобы крайний левый столбец таблицы, которая указана в формуле, был отсортирован по возрастанию. В противном случае ВПР не сработает.
Значения и данные во второй таблице отсортированы по убыванию – ВПР не работает
Итоги
-
Функция ВПР означает вертикальный просмотр. Она просматривает крайний левый столбец таблицы сверху вниз.
-
Синтаксис функции: =ВПР(искомое значение;таблица;номер столбца;интервальный просмотр).
-
Функцию можно вписать вручную или в специальном окне (Shift + F3).
-
Искомое значение – относительная ссылка, а таблица – абсолютная.
-
Интервальный просмотр может искать точное или приблизительное совпадение с искомым значением.
-
Приблизительный поиск и критерий «истина» обычно используют при работе с числами, а точный и «ложь» – в работе с наименованиями.
-
Порядок работы с функцией подходит для Гугл-таблиц.
На чтение 5 мин. Просмотров 1.6k. Опубликовано 25.06.2019
Функция Excel LOOKUP имеет две формы: векторную форму и форму массива .
Форма массива функции LOOKUP аналогична другим функциям поиска в Excel, таким как VLOOKUP и HLOOKUP, в том, что ее можно использовать для поиска или поиска определенных значений, расположенных в таблице данных.
Чем это отличается, так это:
- С помощью VLOOKUP и HLOOKUP вы можете выбрать, из какого столбца или строки возвращать значение данных, в то время как LOOKUP всегда возвращает значение из последней строки или столбца в массиве.
- При попытке найти совпадение для указанного значения – известного как Lookup_value – VLOOKUP выполняет поиск только в первом столбце данных, а HLOOKUP – только в первой строке, а функция LOOKUP – в первой строке или в столбце. в зависимости от формы массива.
Содержание
- Функция LOOKUP и форма массива
- Синтаксис и аргументы функции LOOKUP – форма массива
- Пример использования массива формы функции LOOKUP
- Сортировка данных
- Пример функции LOOKUP
- Ввод значения поиска
Функция LOOKUP и форма массива
Форма массива – будь то квадрат (равное количество столбцов и строк) или прямоугольник (неравное количество столбцов и строк) – влияет на то, где функция LOOKUP ищет данные:
- Если массив имеет квадратную форму или это высокий прямоугольник (выше его ширины), LOOKUP предполагает, что данные расположены в столбцах, и поэтому ищет совпадение с Lookup_value в первом столбец массива.
- Если массив является широким прямоугольником (шире его высоты), LOOKUP предполагает, что данные расположены в строках, и поэтому ищет совпадение с Lookup_value в первой строке массива.
Синтаксис и аргументы функции LOOKUP – форма массива
Синтаксис для формы массива функции LOOKUP:
= LOOKUP (Lookup_value, Array)
Lookup_value (обязательно) – значение, которое функция ищет в массиве. Значение Lookup_value может быть числом, текстом, логическим значением или ссылкой на имя или ячейку, которая ссылается на значение.
Массив (обязательно) – ячейки диапазона, в которых функция ищет значение Lookup_value. Данные могут быть текстовыми, числовыми или логическими значениями.
Для правильной работы функции LOOKUP аргумент Array должен быть отсортирован в порядке возрастания (от A до Z или от наименьшего к наибольшему для чисел)
Если функция не может найти точное соответствие для Lookup_value, она выбирает самое большое значение в массиве, которое меньше или равно значению Lookup_value
Если значение Lookup_value отсутствует или меньше всех значений в массиве, функция LOOKUP вернет ошибку # N/A
Пример использования массива формы функции LOOKUP
Как показано на рисунке выше, в этом примере будет использоваться форма массива функции LOOKUP, чтобы найти цену Whachamacallit в списке инвентаря.
Форма массива – высокий прямоугольник . Следовательно, функция вернет значение, расположенное в последнем столбце списка инвентаря.
Сортировка данных
Как указано в примечаниях выше, данные в массиве должны быть отсортированы в порядке возрастания, чтобы функция LOOKUP работала правильно.
При сортировке данных в Excel необходимо сначала выбрать столбцы и строки данных для сортировки. Обычно это включает в себя заголовки столбцов.
- Выделите ячейки от A4 до C10 на листе
- Нажмите на вкладку Данные в меню ленты.
- Нажмите на кнопку Сортировать в середине ленты, чтобы открыть диалоговое окно Сортировка
- Под заголовком Столбец в диалоговом окне выберите вариант сортировки по Деталь в раскрывающемся списке.
- При необходимости под заголовком Сортировать по выберите Значения в раскрывающемся списке.
- При необходимости под заголовком Заказ выберите А до Я в раскрывающемся списке.
- Нажмите ОК , чтобы отсортировать данные и закрыть диалоговое окно.
- Порядок данных теперь должен соответствовать указанному на рисунке выше.
Пример функции LOOKUP
Хотя можно просто набрать функцию LOOKUP
= LOOKUP (А2, А5: С10)
в ячейку рабочего листа многим людям проще использовать диалоговое окно функции.
Диалоговое окно позволяет вводить каждый аргумент в отдельной строке, не беспокоясь о синтаксисе функции – например, скобках и разделителях запятых между аргументами.
Следующие шаги подробно описывают, как функция LOOKUP была введена в ячейку B2 с помощью диалогового окна.
- Нажмите на ячейку B2 на рабочем листе, чтобы сделать ее активной;
- Нажмите на вкладку Формулы ;
- Выберите Поиск и ссылку на ленте, чтобы открыть раскрывающийся список функций;
- Нажмите на LOOKUP в списке, чтобы открыть диалоговое окно Выбрать аргументы ;
- Нажмите на lookup_value, array в списке;
- Нажмите ОК , чтобы открыть диалоговое окно Аргументы функций ;
- В диалоговом окне нажмите на строку Lookup_value ;
- Нажмите на ячейку A2 на рабочем листе, чтобы ввести ссылку на эту ячейку в диалоговое окно;
- Нажмите на строку Массив в диалоговом окне.
- Выделите ячейки от A5 до C10 на рабочем листе, чтобы ввести этот диапазон в диалоговое окно – этот диапазон содержит все данные, которые должны быть найдены функцией
- Нажмите ОК , чтобы завершить функцию и закрыть диалоговое окно.
- В ячейке E2 появляется ошибка # N/A , потому что нам еще предстоит ввести имя детали в ячейку D2
Ввод значения поиска
- Нажмите на ячейку A2, введите Whachamacallit и нажмите клавишу Enter на клавиатуре;
- Значение $ 23,56 должно появиться в ячейке B2, поскольку это цена Whachamacallit, расположенного в последнем столбце таблицы данных;
- Проверьте функцию, введя другие имена деталей в ячейку A2. Цена за каждую часть в списке появится в ячейке B2;
- При нажатии на ячейку E2 полная функция = LOOKUP (A2, A5: C10) появляется на панели формул над рабочим листом.
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Описание
В этой статье приведены пошаговые инструкции по поиску данных в таблице (или диапазоне ячеек) с помощью различных встроенных функций Microsoft Excel. Для получения одного и того же результата можно использовать разные формулы.
Создание образца листа
В этой статье используется образец листа для иллюстрации встроенных функций Excel. Рассматривайте пример ссылки на имя из столбца A и возвращает возраст этого человека из столбца C. Чтобы создать этот лист, введите указанные ниже данные в пустой лист Excel.
Введите значение, которое вы хотите найти, в ячейку E2. Вы можете ввести формулу в любую пустую ячейку на том же листе.
A |
B |
C |
D |
E |
||
1 |
Имя |
Правитель |
Возраст |
Поиск значения |
||
2 |
Анри |
501 |
Плот |
Иванов |
||
3 |
Стэн |
201 |
19 |
|||
4 |
Иванов |
101 |
максималь |
|||
5 |
Ларри |
301 |
составляет |
Определения терминов
В этой статье для описания встроенных функций Excel используются указанные ниже условия.
Термин |
Определение |
Пример |
Массив таблиц |
Вся таблица подстановки |
A2: C5 |
Превышающ |
Значение, которое будет найдено в первом столбце аргумента «инфо_таблица». |
E2 |
Просматриваемый_массив |
Диапазон ячеек, которые содержат возможные значения подстановки. |
A2: A5 |
Номер_столбца |
Номер столбца в аргументе инфо_таблица, для которого должно быть возвращено совпадающее значение. |
3 (третий столбец в инфо_таблица) |
Ресулт_аррай |
Диапазон, содержащий только одну строку или один столбец. Он должен быть такого же размера, что и просматриваемый_массив или Лукуп_вектор. |
C2: C5 |
Интервальный_просмотр |
Логическое значение (истина или ложь). Если указано значение истина или опущено, возвращается приближенное соответствие. Если задано значение FALSE, оно будет искать точное совпадение. |
ЛОЖЬ |
Топ_целл |
Это ссылка, на основе которой вы хотите основать смещение. Топ_целл должен ссылаться на ячейку или диапазон смежных ячеек. В противном случае функция СМЕЩ возвращает #VALUE! значение ошибки #ИМЯ?. |
|
Оффсет_кол |
Число столбцов, находящегося слева или справа от которых должна указываться верхняя левая ячейка результата. Например, значение «5» в качестве аргумента Оффсет_кол указывает на то, что верхняя левая ячейка ссылки состоит из пяти столбцов справа от ссылки. Оффсет_кол может быть положительным (то есть справа от начальной ссылки) или отрицательным (то есть слева от начальной ссылки). |
Функции
LOOKUP ()
Функция Просмотр находит значение в одной строке или столбце и сопоставляет его со значением в той же позицией в другой строке или столбце.
Ниже приведен пример синтаксиса формулы подСТАНОВКи.
= Просмотр (искомое_значение; Лукуп_вектор; Ресулт_вектор)
Следующая формула находит возраст Марии на листе «образец».
= ПРОСМОТР (E2; A2: A5; C2: C5)
Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в векторе подстановки (столбец A). Формула затем соответствует значению в той же строке в векторе результатов (столбец C). Так как «Мария» находится в строке 4, функция Просмотр возвращает значение из строки 4 в столбце C (22).
Примечание. Для функции Просмотр необходимо, чтобы таблица была отсортирована.
Чтобы получить дополнительные сведения о функции Просмотр , щелкните следующий номер статьи базы знаний Майкрософт:
Использование функции Просмотр в Excel
ВПР ()
Функция ВПР или вертикальный просмотр используется, если данные указаны в столбцах. Эта функция выполняет поиск значения в левом столбце и сопоставляет его с данными в указанном столбце в той же строке. Функцию ВПР можно использовать для поиска данных в отсортированных или несортированных таблицах. В следующем примере используется таблица с несортированными данными.
Ниже приведен пример синтаксиса формулы ВПР :
= ВПР (искомое_значение; инфо_таблица; номер_столбца; интервальный_просмотр)
Следующая формула находит возраст Марии на листе «образец».
= ВПР (E2; A2: C5; 3; ЛОЖЬ)
Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в левом столбце (столбец A). Формула затем совпадет со значением в той же строке в Колумн_индекс. В этом примере используется «3» в качестве Колумн_индекс (столбец C). Так как «Мария» находится в строке 4, функция ВПР возвращает значение из строки 4 В столбце C (22).
Чтобы получить дополнительные сведения о функции ВПР , щелкните следующий номер статьи базы знаний Майкрософт:
Как найти точное совпадение с помощью функций ВПР или ГПР
INDEX () и MATCH ()
Вы можете использовать функции индекс и ПОИСКПОЗ вместе, чтобы получить те же результаты, что и при использовании поиска или функции ВПР.
Ниже приведен пример синтаксиса, объединяющего индекс и Match для получения одинаковых результатов поиска и ВПР в предыдущих примерах:
= Индекс (инфо_таблица; MATCH (искомое_значение; просматриваемый_массив; 0); номер_столбца)
Следующая формула находит возраст Марии на листе «образец».
= ИНДЕКС (A2: C5; MATCH (E2; A2: A5; 0); 3)
Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в столбце A. Затем он будет соответствовать значению в той же строке в столбце C. Так как «Мария» находится в строке 4, формула возвращает значение из строки 4 в столбце C (22).
Обратите внимание Если ни одна из ячеек в аргументе «число» не соответствует искомому значению («Мария»), эта формула будет возвращать #N/А.
Чтобы получить дополнительные сведения о функции индекс , щелкните следующий номер статьи базы знаний Майкрософт:
Поиск данных в таблице с помощью функции индекс
СМЕЩ () и MATCH ()
Функции СМЕЩ и ПОИСКПОЗ можно использовать вместе, чтобы получить те же результаты, что и функции в предыдущем примере.
Ниже приведен пример синтаксиса, объединяющего смещение и сопоставление для достижения того же результата, что и функция Просмотр и ВПР.
= СМЕЩЕНИЕ (топ_целл, MATCH (искомое_значение; просматриваемый_массив; 0); Оффсет_кол)
Эта формула находит возраст Марии на листе «образец».
= СМЕЩЕНИЕ (A1; MATCH (E2; A2: A5; 0); 2)
Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в столбце A. Формула затем соответствует значению в той же строке, но двум столбцам справа (столбец C). Так как «Мария» находится в столбце A, формула возвращает значение в строке 4 в столбце C (22).
Чтобы получить дополнительные сведения о функции СМЕЩ , щелкните следующий номер статьи базы знаний Майкрософт:
Использование функции СМЕЩ
Нужна дополнительная помощь?
#Руководства
- 6 апр 2022
-
0
Как перенести данные из одной таблицы в другую, если строки идут не по порядку? Разбираемся на примере каталога авто — переносим цены.
Иллюстрация: Meery Mary для Skillbox Media
Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.
ВПР (Vlookup, или вертикальный просмотр) — поисковая функция в Excel. Она находит значения в одной таблице и переносит их в другую. Функция ВПР нужна, чтобы работать с большими объёмами данных — не нужно самостоятельно сопоставлять и переносить сотни наименований, функция делает это автоматически.
Разберёмся, зачем нужна функция и как её использовать. В конце материала расскажем, что делать, если нужен поиск данных сразу по двум параметрам.
Представьте, что вы продаёте автомобили. У вас есть каталог с характеристиками авто и их стоимостью. Также у вас есть таблица с данными клиентов, которые забронировали эти автомобили.
Вам нужно сообщить покупателям, сколько стоят их авто. Перед тем как обзванивать клиентов, нужно объединить данные: добавить во вторую таблицу колонку с ценами из первой.
Просто скопировать и вставить эту колонку не получится. Искать каждое авто вручную и переносить цены — долго.
ВПР автоматически сопоставит названия автомобилей в двух таблицах. Функция скопирует цены из каталога в список забронированных машин. Так напротив каждого клиента будет стоять не только марка автомобиля, но и цена.
Ниже пошагово и со скриншотами разберёмся, как сделать ВПР для этих двух таблиц с данными.
Важно!
ВПР может не работать, если таблицы расположены в разных файлах. Тогда лучше собрать данные в одном файле, на разных листах.
ВПР работает по следующему принципу. Функция просматривает выбранный диапазон первой таблицы вертикально сверху вниз до искомого значения‑идентификатора. Когда видит его, забирает значение напротив него из нужного столбца и копирует во вторую таблицу.
Подробнее о том, как определить все эти значения, поговорим ниже. А пока разберёмся на примере с продажей авто, где найти функцию ВПР в Excel и с чего начать работу.
Сначала нужно построить функцию. Для этого выделяем ячейку, куда функция перенесёт найденное значение.
В нашем случае нужно перенести цены на авто из каталога в список клиентов. Для этого добавим пустой столбец «Цена, руб.» в таблицу с клиентами и выберем ячейку напротив первого клиента.
Дальше открываем окно для построения функции ВПР. Есть два способа сделать это. Первый — перейти во вкладку «Формулы» и нажать на «Вставить функцию».
Второй способ — нажать на «fx» в строке ссылок на любой вкладке таблицы.
Справа появляется окно «Построитель формул». В нём через поисковик находим функцию ВПР и нажимаем «Вставить функцию».
Появляется окно для ввода аргументов функции. Как их заполнять — разбираемся ниже.
Последовательно разберём каждый аргумент: искомое значение, таблица, номер столбца, интервальный просмотр.
Искомое значение — название ячейки с одинаковыми данными для обеих таблиц, по которым функция будет искать данные для переноса. В нашем примере это модель авто. Функция найдёт модель в таблице с каталогом авто, возьмёт оттуда стоимость и перенесёт в таблицу с клиентами.
Порядок действий, чтобы указать значение, выглядит так:
- Ставим курсор в окно «Искомое значение» в построителе формул.
- Выбираем первое значение столбца «Марка, модель» в таблице с клиентами. Это ячейка A2.
Выбранное значение переносится в построитель формул и одновременно появляется в формуле строки ссылок: fx=ВПР(A2).
Таблица — это диапазон ячеек, из которого функция будет брать данные для искомого значения. В этот диапазон должны войти столбцы с искомым значением и со значением, которое нужно перенести в первую таблицу.
В нашем случае нужно перенести цены автомобилей. Поэтому в диапазон обязательно нужно включить столбцы «Марка, модель» (искомое значение) и «Цена, руб.» (переносимое значение).
Важно!
Для правильной работы ВПР искомое значение всегда должно находиться в первом столбце диапазона. У нас искомое значение находится в ячейке A2, поэтому диапазон должен начинаться с A.
Порядок действий для указания диапазона:
- Ставим курсор в окно «Таблица» в построителе формул.
- Переходим в таблицу «Каталог авто».
- Выбираем диапазон, в который попадают столбцы «Марка, модель» и «Цена, руб.». Это A2:E19.
- Закрепляем выбранный диапазон. На Windows для этого выбираем значение диапазона в строке ссылок и нажимаем клавишу F4, на macOS — выбираем значение диапазона в строке ссылок и нажимаем клавиши Cmd + T. Закрепить диапазон нужно, чтобы можно было протянуть функцию вниз и она сработала корректно во всех остальных строках.
Выбранный диапазон переносится в построитель формул и одновременно появляется в формуле строки ссылок: fx=ВПР(A2;’каталог авто’!$A$2:$E$19).
Номер столбца — порядковый номер столбца в первой таблице, в котором находится переносимое значение. Считается по принципу: номер 1 — самый левый столбец, 2 — столбец правее и так далее.
В нашем случае значение для переноса — цена — находится в пятом столбце слева.
Чтобы задать номер, установите курсор в окно «Номер столбца» в построителе формул и введите значение. В нашем примере это 5. Это значение появится в формуле в строке ссылок: fx=ВПР(A2;’каталог авто’!$A$2:$E$19;5).
Интервальный просмотр — условное значение, которое настроит, насколько точно сработает функция:
- Если нужно точное совпадение при поиске ВПР, вводим 0.
- Если нужно приближённое соответствие при поиске ВПР, вводим 1.
В нашем случае нужно, чтобы функция подтянула точные значения цен авто, поэтому нам подходит первый вариант.
Ставим курсор в окно «Интервальный просмотр» в построителе формул и вводим значение: 0. Одновременно это значение появляется в формуле строки ссылок: fx=ВПР(A2;’каталог авто’!$A$2:$E$19;5;0). Это окончательный вид функции.
Чтобы получить результат функции, нажимаем кнопку «Готово» в построителе формул. В выбранной ячейке появляется нужное значение. В нашем случае — цена первой модели авто.
Дальше нужно протянуть это значение вниз до конца таблицы, чтобы функция нашла и перенесла цены всех оставшихся моделей. Для этого мы закрепляли интервал, когда заполняли аргументы.
Получилась таблица с ценами — можно звонить клиентам и сообщать о стоимости авто. Данные перенесены без ошибок, а потратили мы на это несколько минут.
В нашем примере модели автомобилей в таблицах не повторяются, поэтому мы ищем только по одному критерию — названию модели. Но бывают случаи, когда такой поиск не подходит.
Например, у нас несколько одинаковых моделей с разным цветом.
И по традиции есть таблица с клиентами, которые эти модели забронировали.
Если идти по классическому пути ВПР, получится такая функция: fx=ВПР(A29;’каталог авто’!$A$29:$E$35;5;0). В таком виде ВПР найдёт первую совпавшую модель и подтянет её стоимость. Параметр цвета не будет учтён.
Соответственно, цены у всех Nissan Juke будут 1 850 000 рублей, у всех Subaru Forester — 3 190 000 рублей, у всех Toyota C-HR — 2 365 000 рублей.
Поэтому в этом варианте нужно искать стоимость авто сразу по двум критериям — модель и цвет. Для этого нужно изменить формулу вручную. В строке ссылок ставим курсор сразу после искомого значения.
Дописываем в формулу фразу ЕСЛИ(‘каталог авто’!$B$29:$B$35=B29, где:
- ‘каталог авто’!$B$29:$B$35 — закреплённый диапазон цвета автомобилей в таблице, откуда нужно перенести данные. Это весь столбец с ценами.
- B29 — искомое значение цвета автомобиля в таблице, куда мы переносим данные. Это первая ячейка в столбце с цветом — дополнительным параметром для поиска.
Итоговая функция такая: fx=ВПР(A29;ЕСЛИ(‘каталог авто’!$B$29:$B$35=B29;’каталог авто’!$A$29:$E$35);5;0). Теперь значения цен переносятся верно.
Как использовать ВПР в «Google Таблицах»? В них тоже есть функция Vlookup, но нет окна построителя формул. Поэтому придётся прописывать её вручную. Перечислите через точку с запятой все аргументы и не забудьте зафиксировать диапазон. Для фиксации поставьте перед каждым символом значок доллара. В готовой формуле это будет выглядеть так: =ВПР(A2;’Лист1′!$A$2:$C$5;3;0).
Научитесь: Excel + Google Таблицы с нуля до PRO
Узнать больше
Эксель – один из лучших современных редакторов, в котором можно работать с большими таблицами. В нем есть все необходимы функции и различные возможности. Большинство пользователей не умеют пользоваться всем арсеналом, который предлагает Excel. В рамках этой статьи мы рассмотрим, как пользоваться функцией VLOOKUP.
Содержание
- Что означает эта аббревиатура
- Как использовать VLOOKUP в Excel
- Использование выпадающих списков
- Поиск изменения данных при помощи VLOOKUP
- Возможные ошибки
- Версии MS Excel
- Заключение
- Видеоинструкция
Что означает эта аббревиатура
Данный инструмент на английском языке расшифровывается как «Vertical LOOK UP». В русской версии Экселя эта функция называется ВПР, которая в свою очередь означает «Вертикальный Просмотр».
Данная функция выполняет вертикальный поиск по всем указанным строкам и вытаскивает значение с какого-нибудь фиксированного столбца. Давайте рассмотрим, как это должно работать на примерах.
Как использовать VLOOKUP в Excel
Для того чтобы продемонстрировать возможности этого инструмента, нужно будет создать какую-нибудь таблицу с небольшим набором данных.
Также нужно добавить несколько полей, в которых будут выводиться результаты поиска.
Для того чтобы составить нужную формулу, от вас потребуются следующие действия.
- Введите какое-нибудь слово, по которому мы будем осуществлять поиск остальных значений. Перейдите в соседнюю клетку. Вызовите окно «Вставка функции». Выберите категорию «Полный алфавитный перечень». Найдите там функцию «ВПР» и нажмите на «OK».
- После этого вас попросят указать аргументы функции. В поле «Искомое значение» указываем ссылку на ячейку с исходным словом. В графе «Таблица» нужно выделить все столбцы, в которых есть искомая информация. В аргументе «Номер столбца» необходимо указать, из какой именно колонки будут возвращаться результаты поиска.
Обратите внимание на то, что отчет происходит в пределах выделенной области в поле «Таблица».
- Интервальный просмотр отвечает за то, требуется ли точное совпадение результатов поиска (0 – полное совпадение, а 1 – допускаются погрешности и небольшие отклонения). Для завершения настроек нужно нажать на «OK».
- Благодаря этим действиям функция найдет нужную строку и вставит соответствующее имя.
- Наведите курсор в правый нижний угол ячейки. После того как изменится внешний вид указателя на черный крестик, нужно будет потянуть его до конца таблицы.
- Благодаря этому формула скопируется во все остальные ячейки. При этом номер искомого столбца скорректируется автоматически.
Использование выпадающих списков
Иногда для облегчения поиска используются массивы данных. Это намного удобнее, чем вбивать информацию вручную. Сделать это можно следующим образом.
- Перейдите в клетку, в которой мы вводили слово для поиска.
- Откройте уже знакомую нам вкладку.
- Кликните на указанный инструмент.
- Выберите пункт «Проверка данных».
- Раскройте выпадающий список и выберите соответствующий пункт.
- Сразу после этого появится дополнительное поле. Кликните на него, затем выделите колонку значений, которые можно использовать для поиска информации. Для продолжения кликните на «OK».
- Теперь вы можете выбрать любую запись и по этому слову будет происходить поиск остальных значений.
- В качестве примера можно выбрать любого другого преподавателя.
- Все данные автоматически будут найдены.
Поиск изменения данных при помощи VLOOKUP
Благодаря этой функции можно определить, какие именно значения были отредактированы. Для того чтобы продемонстрировать возможности этого инструмента, нужно будет выполнить следующие манипуляции.
- Для начала нужно создать ещё один столбец.
- Затем скопируем старую таблицу на другой лист. Именно там мы и будем вносить все обновления.
- В качестве примера изменим какую-нибудь запись.
- Возвращаемся на предыдущий лист. Переходим в первую колонку и вводим там следующую формулу (вам нужно будет отредактировать ссылки под свою таблицу).
[kod]=ВПР($B$3:$B$11;’Последние данные’!$B$3:$G$11;6;ЛОЖЬ)[/kod]
- Затем нажимаем на клавишу [knopka]Enter[/knopka].
- Благодаря этому мы получим обновленное соответствующее значение из новой таблицы, но оно совпадает со старым.
- Копируем эту формулу во все остальные строки.
- Результат получается следующим.
Обратите внимание на то, что благодаря этому можно провести сравнительный анализ и увидеть, что у последнего преподавателя изменилась категория.
Возможные ошибки
В большинстве случаев у новичков появляется ошибка «#Н/Д». Причем бороться с ней, как показывает практика, довольно сложно. На самом деле ничего страшного тут нет. Главное – найти причину и всё сразу же станет на свои места. Скорее всего, причина вашей проблемы заключается в следующем:
- вы допустили ошибку при написании формулы;
- у вас опечатка в слове для поиска;
- включен неточный поиск (интервальный просмотр равен 1) и данные не отсортированы;
- в аргументах функции используются различные типы данных;
- неправильно указана таблица для поиска данных.
Версии MS Excel
Данную функцию можно использовать абсолютно во всех версиях этого редактора (2016, 2013, 2010, 2007). Она есть даже в 2003 году.
То есть, если ваш файл открыть на компьютере со старым офисом, то ничего страшного не произойдёт. А подобная проблема встречается очень часто в различных бюджетных организациях.
Заключение
В данной статье мы рассмотрели принцип работы функции «VLOOKUP» в редакторе Excel. Обратите внимание на то, что для поиска какой-нибудь информации достаточно возможностей этого инструмента. Для реализации сложного поиска не обязательно использовать макросы на VBA. Всё можно сделать подручными средствами.
Для тех, у кого постоянно появляются различные ошибки и ничего не получается, мы подготовили бесплатный демо-файл с указанными выше примерами. Его можно скачать по этой ссылке. Благодаря этому с составлением формул сможет разобраться даже чайник.
Видеоинструкция
Если вам что-то непонятно или остались какие-нибудь вопросы, вы можете попробовать найти на них ответы в следующем видеоролике.
- LOOKUP в Excel
Функция Excel LOOKUP (Оглавление)
- LOOKUP в Excel
- LOOKUP Формула в Excel
- Как использовать функцию LOOKUP в Excel?
LOOKUP в Excel
Функция LOOKUP — это встроенная функция, относящаяся к функциям поиска и справки.
Когда вам нужно искать конкретные данные в одной строке или одном столбце, будет использоваться функция поиска, ее основное назначение — поиск значения в диапазоне из одного столбца или строки или в массиве (двумерный массив (таблица) из данные
LOOKUP Функция не чувствительна к регистру.
LOOKUP Формула в Excel
Есть 2 типа формулы для функции LOOKUP
1. Формула векторной формы поиска:
LOOKUP (lookup_value, lookup_vector, (result_vector))
2. Формула массива формы поиска:
LOOKUP (lookup_value, массив)
Аргументы формулы LOOKUP в Excel
LOOKUP Formula имеет следующие аргументы:
- Lookup_value: значение, которое LOOKUP ищет в массиве, «Array» — это набор значений в строках и столбцах, это может быть текст, число или ссылка на ячейку, содержащую значение поиска
- Lookup_vector : вектор относится к диапазону из одного столбца или одной строки . Это один столбец или одна строка данных, которые сортируются в порядке возрастания, где функция LOOKUP ищет значение в этом диапазоне или когда вы хотите указать диапазон или массив таблиц, которые содержат значения, которые вы хотите сопоставить
Примечание. Перед выполнением функции поиска ее необходимо отсортировать в порядке возрастания.
- Result_vector: это одна строка или один столбец данных одинакового размера. диапазон из одной строки или одного столбца, из которого вы хотите вернуть результат, или столбец или строка, из которой нужно получить требуемое значение
- Массив: это таблица поиска, где вы хотите найти значение поиска. В основном это будет двумерный массив (таблица) данных, значений в столбце или строке массива,
Примечание: текстовые и числовые данные в массиве должны быть отсортированы в порядке возрастания.
Форма массива поиска
Примечание: Vlookup & Hlookup используется вместо поиска в виде массива, потому что он имеет ограниченную опцию.
Разница в том, что VLOOKUP ищет в первом столбце, HLOOKUP ищет lookup_value в первой строке, а LOOKUP ищет в соответствии с размерами массива.
Как использовать функцию LOOKUP в Excel?
LOOKUP Функция очень проста в использовании. Давайте теперь посмотрим, как использовать функцию LOOKUP в Excel с помощью нескольких примеров.
Вы можете скачать этот шаблон Excel с функцией LOOKUP здесь — Шаблон Excel с функцией LOOKUP
Пример № 1 — формула вертикального поиска
Если ваши исходные данные выглядят как вертикальный макет, то есть записи находятся в столбцах, а не в строках, поиск выполняется в диапазоне из одного столбца.
Здесь массив таблиц содержит имя студента и регистрационный идентификатор, который расположен вертикально в столбцах.
Для нижеуказанного имени студента требуются регистрационные данные?
Чтобы получить регистрационный_ид, примените формулу поиска,
Под панелью инструментов формулы, нажмите на поиск и ссылку,
в этой функции выбора LOOKUP, появится всплывающее окно, необходимо заполнить аргументы функции, чтобы получить желаемый результат
- Lookup_value: значение для поиска. Здесь нам нужно посмотреть «Смит» или B6 в указанном диапазоне столбцов
- Lookup_vector: это диапазон, содержащий один столбец текста, здесь это «E6: E10», который расположен вертикально
- Result_vector: диапазон из одного столбца, из которого вы хотите вернуть результат, здесь это «F6: F10», который расположен вертикально.
Пример № 2 — формула горизонтального поиска
Если ваши исходные данные выглядят как горизонтальный макет, то есть записи находятся в строках, а не в столбцах
Здесь массив таблиц содержит имя студента и регистрационный идентификатор, который расположен горизонтально в строках.
Как и в первом примере, здесь в lookup_vector & result vector, нам нужно выбрать диапазон строк для обоих, чтобы получить желаемый результат
- Lookup_value: значение для поиска. Здесь нам нужно посмотреть «Смит» или B6 в указанном диапазоне строк
- Lookup_vector: это диапазон, содержащий одну строку текста, здесь это «G6: K6», который расположен горизонтально
- Result_vector: однострочный диапазон, из которого вы хотите вернуть результат, здесь это «G7: K7», который расположен горизонтально.
Что следует учесть перед применением векторной формы LOOKUP
- Значения в lookup_vector должны быть отсортированы в порядке возрастания, то есть от наибольшего к наименьшему в случае числовых данных или от A до Z в случае текстовых данных, в противном случае формула поиска в Excel может возвращать ошибку или неверный результат.
- Result_vector & Lookup_vector должен иметь диапазон из одной строки или одного столбца одинакового размера.
- Функция LOOKUP не чувствительна к регистру, она не различает строчные и прописные буквы. Прописные и строчные буквы считаются эквивалентными
- Формула поиска ищет точное совпадение. Если lookup_value не находит соответствующее значение в lookup_vector, функция LOOKUP возвращает ошибку # N / A.
Приведенные ниже примеры иллюстрируют массив формул LOOKUP
Array Lookup имеет 2 аргумента
Формула: LOOKUP (lookup_value, массив)
Lookup_value — значение для поиска в массиве
массив — это таблица поиска, где вы хотите найти значение поиска. значения в первом столбце или строке массива,
Примечание: текстовые и числовые данные в массиве должны быть отсортированы в порядке возрастания.
Например : в массиве имя находится в первом столбце массива (столбец E), а рейтинг в последнем столбце массива (столбец F), вы можете использовать следующую формулу для поиска имени и извлечения информация о рейтинге
Пример № 3 — LOOKUP (lookup_value, массив)
B12: C23 является диапазоном поиска, а E12 является значением поиска. Результатом формулы будет май в результате поиска значения (5).
Замечания:
- Если в массиве больше столбцов, чем строк, LOOKUP выполняет поиск в первой строке (вертикальный поиск).
- Если в массиве больше строк, чем столбцов или одинаковое количество столбцов и строк, формула «Поиск» выполняет поиск в первом столбце (поиск по горизонтали).
- Если формула не может найти значение поиска, она использует самое большое значение в массиве, которое меньше или равно lookup_value.
Рекомендуемые статьи
Это был путеводитель по LOOKUP. Здесь мы обсуждаем формулу LOOKUP и как использовать функцию LOOKUP в Excel вместе с практическими примерами и загружаемыми шаблонами Excel. Вы также можете просмотреть наши другие предлагаемые статьи —
- Как использовать навыки Microsoft Excel
- Как улучшить свои навыки Microsoft Excel?
- Лучшие 20 ярлыков Microsoft Excel (заранее)
- 10 полезных шагов для создания панели инструментов Excel
Вчера в марафоне 30 функций Excel за 30 дней мы развлекались с функцией REPT (ПОВТОР), создавая диаграммы внутри ячейки и используя ее для простого подсчета. Сегодня понедельник, и нам в очередной раз пора надеть свои шляпы мыслителей.
В 16-й день марафона мы займёмся изучением функции LOOKUP (ПРОСМОТР). Это близкий друг VLOOKUP (ВПР) и HLOOKUP (ГПР), но работает она немного по-другому.
Итак, давайте изучим теорию и испытаем на практике функцию LOOKUP (ПРОСМОТР). Если у Вас есть дополнительная информация или примеры по использованию этой функции, пожалуйста, делитесь ими в комментариях.
Содержание
- Функция 16: LOOKUP (ПРОСМОТР)
- Как можно использовать функцию LOOKUP (ПРОСМОТР)?
- Синтаксис LOOKUP (ПРОСМОТР)
- Ловушки LOOKUP (ПРОСМОТР)
- Пример 1: Находим последнее значение в столбце
- Пример 2: Находим последний месяц с отрицательным значением
- Пример 3: Преобразовываем успеваемость учащихся из процентов в буквенную систему оценок
Функция 16: LOOKUP (ПРОСМОТР)
Функция LOOKUP (ПРОСМОТР) возвращает значение из одной строки, одного столбца или из массива.
Как можно использовать функцию LOOKUP (ПРОСМОТР)?
Функция LOOKUP (ПРОСМОТР) возвращает результат, в зависимости от искомого значения. С ее помощью Вы сможете:
- Найти последнее значение в столбце.
- Найти последний месяц с отрицательным показателем продаж.
- Конвертировать успеваемость учащихся из процентов в буквенную систему оценок.
Синтаксис LOOKUP (ПРОСМОТР)
Функция LOOKUP (ПРОСМОТР) имеет две синтаксические формы – векторную и массива. В векторной форме функция ищет значение в заданном столбце или строке, а в форме массива – в первой строке или столбце массива.
Векторная форма имеет следующий синтаксис:
LOOKUP(lookup_value,lookup_vector,result_vector)
ПРОСМОТР(искомое_значение;просматриваемый_вектор;вектор_результатов)
- lookup_value (искомое_значение) – может быть текстом, числом, логическим значением, именем или ссылкой.
- lookup_vector (просматриваемый_вектор) – диапазон, состоящий из одной строки или одного столбца.
- result_vector (вектор_результатов) – диапазон, состоящий из одной строки или одного столбца.
- диапазоны аргументов lookup_vector (просматриваемый_вектор) и result_vector (вектор_результатов) должны быть одного размера.
Форма массива имеет вот такой синтаксис:
LOOKUP(lookup_value,array)
ПРОСМОТР(искомое_значение;массив)
- lookup_value (искомое_значение) – может быть текстом, числом, логическим значением, именем или ссылкой.
- поиск выполняется в соответствии с размерностью массива:
- если в массиве больше столбцов, чем строк, то поиск происходит в первой строке;
- если количество строк и столбцов одинаково или строк больше, то поиск происходит в первом столбце.
- функция возвращает последнее значение из найденной строки/столбца.
Ловушки LOOKUP (ПРОСМОТР)
- В функции LOOKUP (ПРОСМОТР) нет опции для поиска точного совпадения, которая есть в VLOOKUP (ВПР) и в HLOOKUP (ГПР). Если искомое значения отсутствует, то функция возвратит максимальное значение, не превышающее искомое.
- Массив или вектор, в котором выполняется поиск, должен быть отсортирован по возрастанию, иначе функция может вернуть неправильный результат.
- Если первое значение в просматриваемом массиве/векторе больше, чем искомое значение, то функция выдаст сообщение об ошибке #N/A (#Н/Д).
Пример 1: Находим последнее значение в столбце
В форме массива функция LOOKUP (ПРОСМОТР) может быть использована для поиска последнего значения в столбце.
Справка Excel приводит значение 9,99999999999999E+307 как наибольшее число, которое может быть записано в ячейке. В нашей формуле оно будет задано, как искомое значение. Предполагается, что такое большое число найдено не будет, поэтому функция возвратит последнее значение в столбце D.
В данном примере числа в столбце D допускается не сортировать, кроме этого могут попадаться текстовые значения.
=LOOKUP(9.99999999999999E+307,D:D)
=ПРОСМОТР(9,99999999999999E+307;D:D)
Пример 2: Находим последний месяц с отрицательным значением
В этом примере мы будем использовать векторную форму LOOKUP (ПРОСМОТР). В столбце D записаны значения продаж, а в столбце E – названия месяцев. В некоторые месяцы дела шли не очень хорошо, и в ячейках со значениями продаж появились отрицательные числа.
Чтобы найти последний месяц с отрицательным числом, формула с LOOKUP (ПРОСМОТР) будет проверять для каждого значения продаж справедливость утверждения, что оно меньше 0 (неравенство в формуле). Далее мы делим 1 на полученный результат, в итоге имеем либо 1, либо сообщение об ошибке #DIV/0 (#ДЕЛ/0).
Поскольку искомое значение равное 2 найдено не будет, то функция выберет последнюю найденную 1, и возвратит соответствующее значение из столбца E.
=LOOKUP(2,1/(D2:D8<0),E2:E8)
=ПРОСМОТР(2;1/(D2:D8<0);E2:E8)
Пояснение: В данной формуле вместо аргумента lookup_vector (просматриваемый_вектор) подставлено выражение 1/(D2:D8<0), которое образует в оперативной памяти компьютера массив, состоящий из 1 и значений ошибки #DIV/0 (#ДЕЛ/0). 1 говорит о том, что в соответствующей ячейке диапазона D2:D8 находится значение меньше 0, а ошибка #DIV/0 (#ДЕЛ/0) – что больше или равное 0. В итоге наша задача сводится к тому, чтобы найти последнюю 1 в созданном виртуальном массиве, и на основании этого вернуть название месяца из диапазона E2:E8.
Пример 3: Преобразовываем успеваемость учащихся из процентов в буквенную систему оценок
Ранее мы уже решали похожую задачу с помощью функции VLOOKUP (ВПР). Сегодня воспользуемся функцией LOOKUP (ПРОСМОТР) в векторной форме, чтобы преобразовать успеваемость учащихся из процентов в буквенную систему оценок. В отличие от VLOOKUP (ВПР) для функции LOOKUP (ПРОСМОТР) не важно, чтобы проценты находились в первом столбце таблицы. Вы можете выбрать абсолютно любой столбец.
В следующем примере баллы указаны в столбце D, они отсортированы в порядке возрастания, а соответствующие им буквы – в столбце C, слева от столбца, по которому производится поиск.
=LOOKUP(C10,D4:D8,C4:C8)
=ПРОСМОТР(C10;D4:D8;C4:C8)
Оцените качество статьи. Нам важно ваше мнение:
Функция ВПР в Excel (на английском — VLOOKUP) по некоторому ключевому полю «подтягивает» данные из одного диапазона в другой. Ключевое поле должно присутствовать в обоих диапазонах данных (и там, куда «подтягиваем», и там, откуда берем данные).
Функция ВПР в Экселе: пошаговая инструкция
Представим, что перед нами стоит задача определить стоимость проданных товаров. Стоимость рассчитывается, как произведение количества и цены. Сделать это очень легко, если количество и цены находятся в соседних колонках. Однако данные могут быть представлены не в столь удобном виде. Исходная информация может находиться в совершенно разных таблицах и в другом порядке. В первой таблице указаны количества проданных товаров:
Во второй – цены:
Если перечень товаров в обеих таблицах совпадает, то, зная магическое сочетание Ctrl+C и Ctrl+V, данные о ценах можно легко подставить к данным о количестве. Однако очередность позиций в обеих таблицах не совпадает. Тупо скопировать цены и подставить к количеству не получится.
Поэтому мы не можем прописать формулу умножения и «протянуть» вниз на все позиции.
Что делать? Надо как-то цены из второй таблицы подставить к соответствующему количеству в первой, т.е. цену товара А к количеству товара А, цену Б к количеству Б и т.д.
Вот так.
Функция ВПР в Эксель легко справится с задачей.
Добавим вначале в первую таблицу новый столбец, куда будут подставляться цены из второй таблицы.
Для вызова функции с помощью Мастера нужно активировать ячейку, где будет прописана формула и нажать кнопку f(x) в самом начале строки формул. Появится диалоговое окно Мастера, где из списка всех функций нужно выбрать ВПР.
Кликаем по надписи «ВПР». Открывается следующее диалоговое окно.
Теперь нужно заполнить предлагаемые поля. В первом окошке «Искомое_значение» нужно указать критерий для ячейки, в которую мы вписываем формулу. В нашем случае это ячейка с наименованием товара «А».
Следующее поле «Таблица». В нем нужно указать диапазон данных, где будет осуществляться поиск нужных значений. В нашем случае это вторая таблица с ценой. При этом крайний левый столбец выделяемого диапазона должен содержать те самые критерии, по которым осуществляется поиск (столбец с наименованиями товаров). Затем таблица выделяется вправо минимум до того столбца, где находятся искомые значения (цены). Можно и дальше вправо выделить, но это уже ни на что не влияет. Главное, чтобы выделенная таблица начиналась со столбца с критериями и захватывала нужный столбец с данными. Также следует обратить внимание на тип ссылок, они должны быть абсолютными, т.к. формула будет копироваться в другие ячейки.
Следующее поле «Номер_столбца» — это число, на которое столбец с искомыми данными (ценами) отстоит от столбца с критерием (наименованием товара) включительно. То есть отсчет идет, начиная с самого столбца с критерием. Если у нас во второй таблице оба столбца находятся рядом, то нужно указать число 2 (первый – критерий, второй — цены). Часто бывает, что данные отстоят от критерия на 10 или 20 столбцов. Это не важно, Excel все сосчитает.
Последнее поле «Интервальный_просмотр», где указывается тип поиска: точное (0) или приблизительное (1) совпадение критерия. Пока ставим 0 (или ЛОЖЬ). Второй вариант рассмотрен ниже.
Нажимаем ОК. Если все правильно и значение критерия есть в обеих таблицах, то на месте только что введенной формулы появится некоторое значение. Остается только протянуть (или просто скопировать) формулу вниз до последней строки таблицы.
Теперь легко рассчитать стоимость простым умножением количества на цену.
Формулу ВПР можно прописать вручную, набирая аргументы по порядку, и разделяя точкой с запятой (см. видеоурок ниже).
Функция ВПР имеет свои особенности, о которых следует знать.
1. Первую особенность можно считать общей для функций, которые используются для многих ячеек путем прописывания формулы в одной из них и дальнейшим копированием в остальные. Здесь нужно обращать внимание на относительность и абсолютность ссылок. Конкретно в ВПР критерий (первое поле) должно иметь относительную ссылку (без знаков $), так как у каждой ячейки свой собственный критерий. А вот поле «Таблица» должно иметь абсолютную ссылку (адрес диапазона прописывается через $). Если этого не сделать, то при копировании формулы диапазон «поедет» вниз и многие значения просто не найдутся, так как искать будет негде.
2. Номер столбца, указываемый в третьем поле «Номер_столбца» при использовании Мастера функций, должен отсчитываться, начиная с самого критерия.
3. Функция ВПР из диапазона с искомыми данными выдает первое сверху значение. Это значит, что, если во второй таблице, откуда мы пытаемся «подтянуть» некоторые данные, присутствуют несколько ячеек с одинаковым критерием, то в рамках выделенного диапазона ВПР захватит первое сверху значение. Об этом следует помнить. К примеру, если мы хотим к цене товара подтянуть количество из другой таблицы, а там этот товар встречается несколько раз (в нескольких строках), то к цене подтянется первое сверху количество.
4. Последний параметр формулы, который 0 (нуль), ставить нужно обязательно. Иначе формула может криво работать.
5. После использования ВПР саму формулу лучше сразу удалить, оставив только полученные значения. Делается это очень просто. Выделяем диапазон с полученными значениями, нажимаем «копировать» и на это же место с помощью специальной вставки вставляем значения. Если таблицы находятся в разных книгах Excel, то очень удобно разорвать внешние связи (оставив вместо них только значения) с помощью специальной команды, которая находится по пути Данные → Изменить связи.
После вызова функции разрывания внешних связей появится диалоговое окно, где нужно нажать кнопку «Разорвать связь» и затем «Закрыть».
Это позволит удалить сразу все внешние ссылки.
Примеры функции ВПР в Excel
Для следующих примеров использования функции ВПР возьмем немного другие данные.
Требуется цены из второй таблицы подтянуть в первую. В качестве критерия здесь используется код. Ниже показаны этапы вычисления ВПР.
Вторая таблица меньше первой, т.е. некоторые коды в ней отсутствуют. Для отсутствующих позиций ВПР выдает ошибку #Н/Д.
Появление таких ошибок, кстати, можно использовать для пользы дела, когда нужно найти отличия в таблицах. Но, скорее всего, ошибки помешают.
Конструкция с функцией ЕСЛИОШИБКА
Вместе с функцией ВПР часто используют функцию ЕСЛИОШИБКА, которая «заглушает» ошибки #Н/Д и вместо них возвращает некоторое значение. Обычно это 0 или пусто.
Как видно, ошибок больше нет, а вместо них пустые ячейки.
Разные форматы критерия в таблицах
Одна из распространенных причин появления ошибок заключается в несовпадении форматов критериев в двух таблицах. Текстовый и числовой форматы воспринимаются функцией ВПР как разные значения. Возможны два варианта.
Первый случай, когда критерии в первой таблице сохранены как числа, а критерии во второй таблице – как текст.
В ячейках с числами, сохраненными как текст, в левом верхнем углу появляется зелененький треугольник. Можно выделить все такие числа и в раскрывающемся списке выбрать Преобразовать в число.
Такое решение используется довольно часто. Но оно не всегда подходит. Например, когда данные из второй таблицы регулярно выгружаются из какой-нибудь базы данных типа 1С. В подобных файлах вообще все сохранено как текст. И если мы планируем постоянно использовать такие данные, вставляя их в заранее подготовленный диапазон, то лучше, чтобы формулы работали без дополнительного вмешательства.
Автоматически изменить формат критерия во второй таблице нельзя, т.к. ссылка ведет на целый диапазон. Придется вмешиваться в ссылку на критерий в первой таблице. Для этого потребуется дописать функцию ТЕКСТ, которая изменит числовой формат на текстовый. Синтаксис функции ТЕКСТ предполагает обязательное указание формата. Достаточно задать формат #. Ниже картинка с готовой формулой.
Две ошибки по-прежнему связаны с тем, что эти товары отсутствую во второй таблице. Чтобы их заглушить, можно вновь воспользоваться функцией ЕСЛИОШИБКА.
Вторая ситуация, заключается в том, что «текстом» являются критерий из первой таблицы. Форматы снова не совпадают.
Как и в прошлый раз, будем вносить коррективы в функцию ВПР. Преобразовать «текст» в «число» еще проще. Достаточно к ссылке на «текстовый» критерий добавить 0 или умножить на 1.
Бывает еще и третья, смешанная ситуация. Она встречается гораздо реже. Это когда в первой и второй таблице критерии сохранены и как число, и как текст, вперемешку. Здесь потребуется задействовать сразу все описанные выше функции: ЕСЛИОШИБКА, ТЕКСТ и +0. Вначале прописываем ЕСЛИОШИБКА и в качестве первого аргумента этой функции записываем ВПР с какой-либо конструкцией для изменения формата. Например, ВПР с формулой ТЕКСТ. В качестве второго аргумента (т.е. того, что должно быть в случае ошибки) записываем вторую конструкцию ВПР с +0. Таким образом, если ВПР с функцией ТЕКСТ не выдает ошибку, значит все ОК. Но если первая конструкция возвращает ошибку #Н/Д, то функция ЕСЛИОШИБКА подставляет вторую конструкцию – ВПР с +0. Другими словами, мы вначале принудительно делаем все критерии текстовыми, а затем, числовыми. Таким образом, ВПР проверяет оба формата. Один из них совпадет с форматом во второй таблице. Немного громоздко получается, но в целом все работает.
Отсутствующие критерии по-прежнему вызывают ошибку #Н/Д. В таком случае всю формулу можно еще раз «обернуть» в ЕСЛИОШИБКА.
Функция СЖПРОБЕЛЫ для чистки текстового критерия
В качестве критерия рекомендуется брать уникальный код, в котором опечатки, характерные для текста, маловероятны. Но иногда все-таки кода нет и критерием выступает текст (названия организаций, фамилии людей и т.д.). В этом случае возможны случайные ошибки в написании. Одна из распространенных ошибок – лишние пробелы. Проблема решается просто с помощью функции СЖПРОБЕЛЫ для всех критериев. Сделать это можно внутри формулы ВПР, а можно и предварительно пройтись по всем критериям в обеих таблицах. Кому как удобней.
Подсчет номера столбца в большой таблице
Если во второй таблице много столбцов, да еще часть из них скрыта или сгруппирована, то подсчитать напрямую количество столбцов между критерием и нужными данными, весьма непросто. Есть прием, который позволяет вообще не считать эти столбцы. Для этого во время выделения второй таблицы следует посмотреть в нижний правый угол выделяемого диапазона. Там появляется подсказка о количестве выделенных строк и столбцов. Запоминаем число столбцов и вносим в формулу ВПР.
Здорово экономит время.
Интервальный просмотр в функции ВПР
Наступило время обсудить последний аргумент функции ВПР. Как правило, указываю 0, чтобы функция искала точное совпадение критерия. Но есть вариант приблизительного поиска, это называется интервальный просмотр.
Рассмотрим алгоритм работы ВПР при выборе интервального просмотра. Прежде всего (это обязательно), столбец с критериями в таблице поиска должен быть отсортированы по возрастанию (если числа) или по алфавиту (если текст). ВПР просматривает список критериев сверху и ищет равный, а если его нет, то ближайший меньший к указанному критерию, т.е. на одну ячейку выше (поэтому и нужна предварительная сортировка. После нахождения подходящего критерия ВПР отсчитывает указанное количество столбцов вправо и забирает оттуда содержимое ячейки, что и является результатом работы формулы.
Проще понять на примере. По результатам выполнения плана продаж каждому торговому агенту нужно выдать заслуженную премию (в процентах от оклада). Если план выполнен менее, чем на 100%, премия не положена, если план выполнен от 100% до 110% (110% не входит) – премия 20%, от 110% до 120% (120% не входит) – 40%, 120% и более – премия 60%. Данные находятся в следующем виде.
Требуется подставить премию на основании выполнения планов продаж. Для решения задачи в первой ячейке пропишем следующую формулу:
=ВПР(B2;$E$2:$F$5;2;1)
и скопируем вниз.
На рисунке ниже изображена схема, как работает интервальный просмотр функции ВПР.
Джеки Чан выполнил план на 124%. Значит ВПР в качестве критерия ищет во второй таблице ближайшее меньшее значение. Это 120%. Затем отсчитывает 2 столбца и возвращает премию 60%. Брюс Ли план не выполнил, поэтому его ближайший меньший критерий – 0%.
Предлагаю посмотреть видеоурок о работе ВПР из курса «Основные функции Excel».
Поделиться в социальных сетях:
Прочитав статью, вы не только узнаете, как найти данные в таблице Excel и извлечь их в другую, но и приёмы, которые можно применять вместе с функцией ВПР.
Батьянов Денис на правах гостевого автора рассказывает в этом посте о том, как найти данные в одной таблице Excel и извлечь их в другую, а также открывает все секреты функции вертикального просмотра.
При работе в Excel очень часто возникает потребность найти данные в одной таблице и извлечь их в другую. Если вы ещё не умеете это делать, то, прочитав статью, вы не только научитесь этому, но и узнаете, при каких условиях вы сможете выжать из системы максимум быстродействия. Рассмотрено большинство весьма эффективных приёмов, которые стоит применять совместно с функцией ВПР.
Даже если вы годами используете функцию ВПР, то с высокой долей вероятности эта статья будет вам полезна и не оставит равнодушным. Я, например, будучи IT-специалистом, а потом и руководителем в IT, пользовался VLOOKUP 15 лет, но разобраться со всеми нюансами довелось только сейчас, когда я на профессиональной основе стал обучать людей Excel.
ВПР — это аббревиатура от вертикального просмотра. Аналогично и VLOOKUP — Vertical LOOKUP. Уже само название функции намекает нам, что она производит поиск в строках таблицы (по вертикали — перебирая строки и фиксируя столбец), а не в столбцах (по горизонтали — перебирая столбцы и фиксируя строку). Надо заметить, что у ВПР есть сестра — гадкий утёнок, которая никогда не станет лебедем, — это функция ГПР (HLOOKUP). ГПР, в противоположность ВПР, производит горизонтальный поиск, однако концепция Excel (да и вообще концепция организации данных) подразумевает, что ваши таблицы имеют небольшое количество столбцов и гораздо большее количество строк. Именно поэтому поиск по строкам нам требуется во много раз чаще, чем по столбцам. Если вы в Excel слишком часто пользуетесь функцией ГПР, то, вполне вероятно, что вы чего-то не поняли в этой жизни.
Синтаксис
Функция ВПР имеет четыре параметра:
=ВПР( <ЧТО> ; <ГДЕ> ; <НОМЕР_СТОЛБЦА> [;<ОТСОРТИРОВАНО>] ), тут:
<ЧТО> — искомое значение (редко) или ссылка на ячейку, содержащую искомое значение (подавляющее большинство случаев);
<ГДЕ> — ссылка на диапазон ячеек (двумерный массив), в ПЕРВОМ (!) столбце которого будет осуществляться поиск значения параметра <ЧТО>;
<НОМЕР_СТОЛБЦА> — номер столбца в диапазоне, из которого будет возвращено значение;
<ОТСОРТИРОВАНО> — это очень важный параметр, который отвечает на вопрос, а отсортирован ли по возрастанию первый столбец диапазона <ГДЕ>. В случае, если массив отсортирован, мы указываем значение ИСТИНА (TRUE) или 1, в противном случае — ЛОЖЬ (FALSE) или 0. В случае, если данный параметр опущен, он по умолчанию становится равным 1.
Держу пари, что многие из тех, кто знает функцию ВПР как облупленную, прочитав описание четвёртого параметра, могут почувствовать себя неуютно, так как они привыкли видеть его в несколько ином виде: обычно там идёт речь о точном соответствии при поиске (ЛОЖЬ или 0) либо же о диапазонном просмотре (ИСТИНА или 1).
Вот сейчас надо напрячься и читать следующий абзац несколько раз, пока не прочувствуете смысл сказанного до конца. Там важно каждое слово. Примеры помогут разобраться.
Как же конкретно работает формула ВПР
- Вид формулы I. Если последний параметр опущен или указан равным 1, то ВПР предполагает, что первый столбец отсортирован по возрастанию, поэтому поиск останавливается на той строке, которая непосредственно предшествует строке, в которой находится значение, превышающее искомое. Если такой строки не найдено, то возвращается последняя строка диапазона.
- Вид формулы II. Если последний параметр указан равным 0, то ВПР последовательно просматривает первый столбец массива и сразу останавливает поиск, когда найдено первое точное соответствие с параметром <ЧТО>, в противном случае возвращается код ошибки #Н/Д (#N/A).
Схемы работы формул
ВПР тип I
ВПР тип II
Следствия для формул вида I
- Формулы можно использовать для распределения значений по диапазонам.
- Если первый столбец <ГДЕ> содержит повторяющиеся значения и правильно отсортирован, то будет возвращена последняя из строк с повторяющимися значениями.
- Если искать значение заведомо большее, чем может содержать первый столбец, то можно легко находить последнюю строку таблицы, что бывает довольно ценно.
- Данный вид вернёт ошибку #Н/Д, только если не найдёт значения меньше или равное искомому.
- Понять, что формула возвращает неправильные значения, в случае если ваш массив не отсортирован, довольно затруднительно.
Следствия для формул вида II
Если искомое значение встречается в первом столбце массива несколько раз, то формула выберет первую строку для последующего извлечения данных.
Производительность работы функции ВПР
Вы добрались до кульминационного места статьи. Казалось бы, ну какая разница, укажу ли я в качестве последнего параметра ноль или единицу? В основном все указывают, конечно же, ноль, так как это довольно практично: не надо заботиться о сортировке первого столбца массива, сразу видно, найдено значение или нет. Но если у вас на листе несколько тысяч формул ВПР (VLOOKUP), то вы заметите, что ВПР вида II работает медленно. При этом обычно все начинают думать:
- мне нужен более мощный компьютер;
- мне нужна более быстрая формула, например, многие знают про ИНДЕКС+ПОИСКПОЗ (INDEX+MATCH), которая якобы быстрее на жалкие 5–10%.
И мало кто думает, что стоит только начать использовать ВПР вида I и обеспечить любыми способами сортировку первого столбца, как скорость работы ВПР возрастёт в 57 раз. Пишу прописью — В ПЯТЬДЕСЯТ СЕМЬ РАЗ! Не на 57%, а на 5 700%. Данный факт я проверил вполне надёжно.
Секрет такой быстрой работы кроется в том, что на отсортированном массиве можно применять чрезвычайно эффективный алгоритм поиска, который носит название бинарного поиска (метод деления пополам, метод дихотомии). Так вот ВПР вида I его применяет, а ВПР вида II ищет без какой-либо оптимизации вообще. То же самое относится и к функции ПОИСКПОЗ (MATCH), которая включает в себя аналогичный параметр, а также и к функции ПРОСМОТР (LOOKUP), которая работает только на отсортированных массивах и включена в Excel ради совместимости с Lotus 1-2-3.
Недостатки формулы
Недостатки ВПР очевидны: во-первых, она ищет только в первом столбце указанного массива, а во-вторых, только справа от данного столбца. А как вы понимаете, вполне может случиться так, что столбец, содержащий необходимую информацию, окажется слева от столбца, в котором мы будем искать. Этого недостатка лишена уже упомянутая связка формул ИНДЕКС+ПОИСКПОЗ (INDEX+MATCH), что делает её наиболее гибким решением по извлечению данных из таблиц в сравнении с ВПР (VLOOKUP).
Некоторые аспекты применения формулы в реальной жизни
Диапазонный поиск
Классическая иллюстрация к диапазонному поиску — задача определения скидки по размеру заказа.
Поиск текстовых строк
Безусловно, ВПР ищет не только числа, но и текст. При этом надо принимать во внимание, что регистр символов формула не различает. Если использовать символы подстановки, то можно организовать нечёткий поиск. Есть два символа подстановки: «?» — заменяет один любой символ в текстовой строке, «*» — заменяет любое количество любых символов.
Борьба с пробелами
Часто поднимается вопрос, как решить проблему лишних пробелов при поиске. Если справочную таблицу ещё можно вычистить от них, то первый параметр формулы ВПР не всегда зависит от вас. Поэтому если риск засорения ячеек лишними пробелами присутствует, то можно применять для очистки функции СЖПРОБЕЛЫ (TRIM).
Разный формат данных
Если первый параметр функции ВПР ссылается на ячейку, которая содержит число, но которое хранится в ячейке в текстовом виде, а первый столбец массива содержит числа в правильном формате, то поиск будет неудачным. Возможна и обратная ситуация. Проблема легко решается переводом параметра 1 в необходимый формат:
=ВПР(−−D7; Продукты!$A$2:$C$5; 3; 0) — если D7 содержит текст, а таблица — числа;
=ВПР(D7 & «»); Продукты!$A$2:$C$5; 3; 0) — и наоборот.
Кстати, перевести текст в число можно сразу несколькими способами, выбирайте:
- Двойное отрицание —D7.
- Умножение на единицу D7*1.
- Сложение с нулём D7+0.
- Возведение в первую степень D7^1.
Перевод числа в текст производится через сцепку с пустой строкой, которая заставляет Excel преобразовать тип данных.
Как подавить выдачу #Н/Д
Это очень удобно делать при помощи функции ЕСЛИОШИБКА (IFERROR).
Например: =ЕСЛИОШИБКА( ВПР(D7; Продукты!$A$2:$C$5; 3; 0); «»).
Если ВПР вернёт код ошибки #Н/Д, то ЕСЛИОШИБКА его перехватит и подставит параметр 2 (в данном случае пустая строка), а если ошибки не произошло, то эта функция сделает вид, что её вообще нет, а есть только ВПР, вернувший нормальный результат.
Массив <ГДЕ>
Часто забывают ссылку массива сделать абсолютной, и при протягивании массив «плывёт». Помните, что вместо A2:C5 следует использовать $A$2:$C$5.
Хорошей идеей является размещение справочного массива на отдельном листе рабочей книги. Не путается под ногами, да и сохраннее будет.
Ещё более хорошей идеей будет объявление этого массива в виде именованного диапазона.
Многие пользователи при указании массива используют конструкцию вида A:C, указывая столбцы целиком. Этот подход имеет право на существование, так как вы избавлены от необходимости отслеживать тот факт, что ваш массив включает все необходимые строки. Если вы добавите строки на лист с первоначальным массивом, то диапазон, указанный как A:C, не придётся корректировать. Безусловно, эта синтаксическая конструкция заставляет Excel проводить несколько большую работу, чем при точном указании диапазона, но данными накладными расходами можно пренебречь. Речь идёт о сотых долях секунды.
Ну и на грани гениальности — оформить массив в виде умной таблицы.
Использование функции СТОЛБЕЦ для указания колонки извлечения
Если таблица, в которую вы извлекаете данные при помощи ВПР, имеет ту же самую структуру, что и справочная таблица, но просто содержит меньшее количество строк, то в ВПР можно использовать функцию СТОЛБЕЦ() для автоматического расчёта номеров извлекаемых столбцов. При этом все ВПР-формулы будут одинаковыми (с поправкой на первый параметр, который меняется автоматически)! Обратите внимание, что у первого параметра координата столбца абсолютная.
Создание составного ключа через &»|»&
Если возникает необходимость искать по нескольким столбцам одновременно, то необходимо делать составной ключ для поиска. Если бы возвращаемое значение было не текстовым (как тут в случае с полем «Код»), а числовым, то для этого подошла бы более удобная формула СУММЕСЛИМН (SUMIFS) и составной ключ столбца не потребовался бы вовсе.
Это моя первая статья для Лайфхакера. Если вам понравилось, то приглашаю вас посетить мой сайт, а также с удовольствием прочту в комментариях о ваших секретах использования функции ВПР и ей подобных. Спасибо.