1633

Функция ВПР в Excel1

Многим знакома функция ВПР в Excel, которая ищет заданное значение в столбце указанной таблицы, и если находит, то выдаёт значение из требуемого столбца той же строки, где было совпадение.

=ВПР(Искомое_значение; Таблица_где_ищем; Номер_столбца_результатов; Тип_поиска)

Тема ВПР достаточно объёмная и интересная. Знание ВПР превращает обычного пользователя Excel в продвинутого)). Не сомневаюсь, что в сообществе имеется много знатоков этой функции, которые каждый день используют её на работе, думаю новичкам было бы интересно узнать о способах применения ВПР на практике.

Итак, начнём повышать уровень знаний в период самоизоляции))


Допустим, у нас имеются две таблицы – Заказы и прайс-лист:

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


Примеры использования ВПР:

- подставить из штатного расписания данные о сотруднике (адрес, оклад, телефон) по его ФИО;

- подставить из каталога продукции подробную информацию о товаре по его артикулу;

- подставить из реестра договоров по номеру договора все подробности его заключения (с кем заключен, реквизиты, сумму и т.д.);

- и так далее.


Выделяем первую ячейку (D3), куда будем вводить функцию ВПР, на вкладке «Формулы» нажимаем «Вставить функцию». В категории «Ссылки и массивы» (Lookup and Reference) находим ВПР (VLOOKUP) и жмём ОК

Появится окно ввода аргументов для функции:

Заполняем поля по очереди:

- Искомое значение – наименование товара, которое функция должна найти в крайнем левом столбце прайс-листа (слово «Вода» из ячейки B3).

- Таблица – таблица, из которой берутся искомые значения, т.е. наш прайс-лист. Чтобы при копировании функции вниз на весь столбец ссылка на прайс не сбилась, ее нужно сделать абсолютной, нажав клавишу F4.

- Номер_столбца – порядковый номер (не буква!) столбца в прайс-листе, из которого берём значения цены. Первый столбец прайс-листа с названиями имеет номер 1, следовательно, нам нужна цена из столбца с номером 2.

- Интервальный_просмотр – ЛОЖЬ (0) или ИСТИНА (1):

- ЛОЖЬ КЛАДИ - поиск точного соответствия. Если товар отсутствует в прайс-листе или написан с ошибкой, то функция выдаст ошибку #Н/Д.

- ИСТИНА - поиск приблизительного соответствия. Функция попытается найти товар с максимально похожим наименованием и выдаст цену для этого товара.

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

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


Функция ВПР выдаёт ошибку #Н/Д если:

1. Включен точный поиск (Интервальный просмотр=0) и искомого наименования нет в Таблице.

2. Включен приблизительный поиск (Интервальный просмотр=1), но Таблица, в которой происходит поиск, не отсортирована по возрастанию наименований.

3. Форматы ячеек первого столбца и образцовой таблицы отличаются (числовой и текстовый). Можно использовать функции Ч и ТЕКСТ для преобразования форматов данных.

4. Функция не может найти нужного значения, потому что в коде есть пробелы или невидимые непечатаемые знаки (перенос строки и т.п.). В этом случае можно использовать текстовые функции СЖПРОБЕЛЫ и ПЕЧСИМВ для их удаления:

=ВПР(СЖПРОБЕЛЫ(ПЕЧСИМВ(B3));$G$3:$H$19;0)

=VLOOKUP(TRIM(CLEAN(B3));$G$3:$H$19;0)

Для подавления сообщения об ошибке #Н/Д в тех случаях, когда функция не может найти точного соответствия, можно воспользоваться функцией ЕСЛИОШИБКА (IFERROR). В результате любые ошибки, создаваемые ВПР, заменятся на нули или пустые строки:

Итого получаем, 5 минут на заполнение формулы и куча сэкономленного времени и нервов, в которое имитируем бурную деятельность и читаем Пикабу)) Всем здоровья, берегите себя!

Дополнение к посту: #comment_166519497

MS, Libreoffice & Google docs

762 поста14.9K подписчиков

Правила сообщества

1. Не нарушать правила Пикабу

2. Публиковать посты соответствующие тематике сообщества

3. Проявлять уважение к пользователям

4. Не допускается публикация постов с вопросами, ответы на которые легко найти с помощью любого поискового сайта.

По интересующим вопросам можно обратиться к автору поста схожей тематики, либо к пользователям в комментариях


Важно - сообщество призвано помочь, а не постебаться над постами авторов! Помните, не все обладают 100 процентными знаниями и навыками работы с Office. Хотя вы и можете написать, что вы знали об описываемом приёме раньше, пост неинтересный и т.п. и т.д., просьба воздержаться от подобных комментариев, вместо этого предложите способ лучше, либо дополните его своей полезной информацией и вам будут благодарны пользователи.

Утверждения вроде "пост - отстой", это оскорбление автора и будет наказываться баном.

22
DELETED
Автор поста оценил этот комментарий
Спасибо добрый человек! С каждым вашим постом я поднимаю свои навыки работы в таблицах.
раскрыть ветку (1)
18
Автор поста оценил этот комментарий

Спасибо) приятно слышать, что посты приносят пользу людям))

показать ответы
3
Автор поста оценил этот комментарий

Что за шрифт?

раскрыть ветку (1)
4
Автор поста оценил этот комментарий

DS Moster

показать ответы
19
Пикабуратор
Автор поста оценил этот комментарий

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

ВПР дает ошибку не только когда он не находит значение, но и когда значение не задано. ТЕ у вас ситуация, Клавдия Евгеньевна, прислала вам документ, в котором написано название товара, uid товара и его количество. Вам нужно проверить это количество со своим списком, но сделать это надо в документе Клавдии.


Только вот беда. названия товара не сходится с тем что написано у вас (у Клавдии "колбаса вар. выш. сорт", а у вас "Вареная колбаса высшего сорта") Но зато сходятся uid товара, однако, у Клавдии не всегда к товару прикреплен uid. Если мы будем смотреть разницу товаров через ВПР то он будет ошибку выдавать и если не найдет uid Клавдии в вашей таблице и если uid у Клавдии отсутствует.


Поэтому мы пишем след формулу, чтобы разделять тип ошибки

=ЕСЛИ(L11=0;"нет данных uid"; ЕСЛИОШИБКА (ВПР(L11;$L$17:$M$22;2;0);"не найден uid"))


или более продвинутый вариант

=ЕСЛИ( ЕПУСТО(L11)=TRUE; ЕСЛИОШИБКА (ВПР(L11;$L$17:$M$22;2;0);"не найден uid"))

Иллюстрация к комментарию
Иллюстрация к комментарию
раскрыть ветку (1)
3
Автор поста оценил этот комментарий

@moderator, можете добавить в пост ссылку на этот комментарий #comment_166519497

0
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Вопрос к последней картинке. В формуле вроде #Н/Д на 0 должен заменяться, а в ячейках просто пусто. Или я не догоняю?
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Я в настройках листа убрал отображение нулей в пустых ячейках

2
Автор поста оценил этот комментарий

@Veseliy.4el подкину ещё вариант использования. ВПР может искать не по точному, а по частичному совпадению.

Например, в таблице написано "авт. аптечка", то можно вернуть по слову "аптечка"

В формуле в части "что ищем" надо прицепить к аптечке символ звездочки, а именно:

=ВПР("*"&"аптечка"&"*";....;0)

Это очень удобно, когда, к примеру, в одной таблице написано "ГК000005647", а в другой просто " 5647"

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Спасибо за идею)
0
Автор поста оценил этот комментарий

Уважаемый @Veseliy.4el у меня к вам вопрос-просьба. Можете объяснить как правильно сделать в либре офисе?

Есть несколько таблиц, в одном файле на разных листах, или в разных файлах, не важно. Таблицы простые:

товар1, артикул1, количество.

товар2, артикул2, количество.

и т.д.

Все таблицы не отсортированы, товары могут быть в разном порядке. В одной может быть 5 товаров, в другой, 10, часть товаров повторяется, часть нет. Как сделать список, где посчитаны все товары? Чтобы каждая строка это уникальный артикул, и количество взять суммированием всех таких количеств из разных таблиц? Как я уже сказал в одной таблице может быть 5 в другой 10 позиций, которые частично пересекаются. Наверное самая типовая задача для экселя, но что-то не соображу. ВПР вроде освоил для сравнения разных таблиц, особенно впр+енд, сортировка по полю енд + условное форматирование по цвету наглядно показывает чего не хватает.А вот как посчитать все позиции, чтобы каждый артикул был по одному разу что-то не соображу. Подозреваю что тут тоже без ВПР не обойтись.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Я либре офис не пользовался, не знаю как там будет
показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества