Впр в excel для нескольких листов

Хитрости »

23 Август 2013              133932 просмотров


ВПР с поиском по нескольким листам

Скачать файл с исходными данными, используемый в видеоуроке:

  ВПР по всем листам (43,0 KiB, 24 306 скачиваний)


Если необходимо найти какое-либо значение в большой таблице очень часто применяется функция ВПР. Но ВПР работает только с одной таблицей и нет никакой возможности средствами самой функции просмотреть искомое значение на нескольких листах. Если поиск необходимо осуществить только по двум листам, то можно схитрить:
=ВПР(A2;ЕСЛИ(ЕНД(ВПР(A2;Лист2!A1:B10;2;0));Лист3!A1:B10;Лист2!A1:B10);2;0)
начиная с версии Excel 2007 можно так же использовать функцию ЕСЛИОШИБКА(IFERROR):
=ЕСЛИОШИБКА(ВПР(A2;Лист2!A1:B10;2;0);ВПР(A2;Лист3!A1:B10;2;0)
подробнее преимущества функции ЕСЛИОШИБКА(IFERROR) разбирались в этой статье: Как в ячейке с формулой вместо ошибки показать 0

А когда листов больше? Можно плодить ЕСЛИ(IF) и ЕСЛИОШИБКА(IFERROR). Но это во-первых совсем не наглядно и во-вторых очень непрактично, т.к. при добавлении или удалении листов придется править всю мега-формулу. Да и при работе с количеством листов более 10 есть большой шанс, что длина формулы выйдет за пределы допустимой.

Есть небольшой прием, который поможет искать значение в указанных листах. Для начала необходимо создать на листе список листов книги, в которых искать значение. В приложенном к статье примере они записаны в диапазоне $E$2:$E$5.
=ВПР(A2;ДВССЫЛ(«‘»&ИНДЕКС($E$2:$E$5;ПОИСКПОЗ(ИСТИНА;СЧЁТЕСЛИ(ДВССЫЛ(«‘»&$E$2:$E$5&»‘!A1:A50″);A2)>0;0))&»‘!A:B»);2;0)

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

Перед чтением дальше советую скачать пример:

  ВПР по всем листам (43,0 KiB, 24 306 скачиваний)

ДВССЫЛ нам нужна для преобразования текстового представления ссылок на листы в действительные. Подробно не буду останавливаться на принципе работы ДВССЫЛ, просто приведу этапы вычислений:

СЧЁТЕСЛИ(ДВССЫЛ(«‘»&$E$2:$E$5&»‘!A1:A50»);A2)

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

СЧЁТЕСЛИ({1;0;0;0};A2)

. Поэтому следующий блок

ПОИСКПОЗ(ИСТИНА;СЧЁТЕСЛИ(ДВССЫЛ(«‘»&$E$2:$E$5&»‘!A1:A50»);A2)>;0;0)

работает именно с этим:

ПОИСКПОЗ(ИСТИНА;СЧЁТЕСЛИ({1;0;0;0};A2)>0;0)

Читать подробнее про СЧЁТЕСЛИ

в результате чего мы получаем позицию имени листа в массиве имен листов $E$2:$E$5, с помощью ИНДЕКС получаем имя листа и подставляем это имя уже к ДВССЫЛ(INDIRECT), а она в ВПР:
=ВПР(A2;ДВССЫЛ(«‘»&ИНДЕКС({«Астраханьоблгаз»:»Липецкоблгаз»:»Оренбургоблгаз»:»Ростовоблгаз»};1)&»‘!A:B»);2;0) =>
=ВПР(A2;ДВССЫЛ(«‘Астраханьоблгаз’!A:B»);2;0) =>
=ВПР(A2;’Лист2′!A:B;2;0)

Что нам и требовалось. Теперь если в книгу будут добавлены еще листы, то необходимо будет всего лишь дописать их к диапазону $E$2:$E$5 и при необходимости этот диапазон расширить. Так же можно задать диапазон $E$2:$E$5 как динамический и тогда необходимость в правке формулы отпадет вовсе.

Используемые в формуле величины:
A2 — ссылка на ячейку с искомым значением. Т.е. указывается то значение, которое требуется найти на листах.

$E$2:$E$5 — диапазон с именами листов, в которых требуется осуществлять поиск указанного значения (A2).

Диапазон «‘!A1:A50» — это диапазон, в котором СЧЁТЕСЛИ ищет совпадения. Поэтому указывается только один столбец данных. При необходимости следует расширить или изменить. Можно указать так же «‘!A:A», но при этом следует учитывать, что указание целого столбца может привести к значительному увеличению времени выполнения функции. Поэтому имеет смысл просто задать диапазон с запасом, например «‘!A1:A10000».

«‘!A:B» — диапазон для аргумента ВПР — Таблица. В первом столбце этого диапазона на каждом из указанных листов ищется указанное значение (A2). При нахождении возвращается значение из указанного столбца. Читать подробнее про ВПР>>

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

Скачать пример:

  ВПР по всем листам (43,0 KiB, 24 306 скачиваний)

Так же можно искать по нескольким листам разных книг, а не только по нескольким листам одной книги. Для этого необходимо будет в списке листов вместе с именами листов добавить имена книг в квадратных скобках:[Книга1.xlsb]Май
[Книга1.xlsb]Июнь
[Книга2.xlsb]Май
[Книга2.xlsb]Июнь
Перечисленные книги обязательно должны быть открыты

ВАЖНО! если в результате записи формулы получаете ошибку #ССЫЛКА!(#REF!), то скорее всего файл, из которого получаете данные, сохранен в формате xlsx(xlsm и т.п.), который содержит более 1млн. строк. А файл с формулой в раннем формате xls. Чтобы ошибки не было сохраните файл с формулой тоже в новом формате(Сохранить как — Книга Excel (.xlsx)), закройте и откройте заново. Формула должна заработать, если записана правильно.
Либо укажите фиксированный диапазон для ВПР, с количеством строк не более 65536. Вместо «‘!A:B» должно получиться так: «‘!A1:B60000»


Решил добавить простенькую функцию пользователя(UDF) для тех, кому проще «общаться» с VBA, чем с формулами. Функция ищет указанное значение во всех листах книги, в которой записана(даже в скрытых):

Function VLookUpAllSheets(vCriteria As Variant, rTable As Range, lColNum As Long, Optional iPart As Integer = 1) As Variant
    Dim rFndRng As Range
    If iPart <> 1 Then iPart = 2
    For i = 1 To Worksheets.Count
        If Sheets(i).Name <> Application.Caller.Parent.Name Then
            With Sheets(i)
                Set rFndRng = .Range(rTable.Address).Resize(, 1).Find(vCriteria, , xlValues, iPart)
                If Not rFndRng Is Nothing Then
                    VLookUpAllSheets = rFndRng.Offset(, lColNum - 1).Value
                    Exit For
                End If
            End With
        End If
    Next i
End Function

Функция попроще, чем ВПР — последний аргумент(интервальный_просмотр) выполняет несколько иные, чем в ВПР функции. Хотя полагаю немногие его используют в классическом варианте.
rTable — указывается таблица для поиска значений(как в стандартной ВПР)
vCriteria — указывается ссылка на ячейку или текстовое значение для поиска
lColNum — указывается номер столбца в таблице rTable, значение из которого необходимо вернуть — может быть ссылкой на столбец — СТОЛБЕЦ().
iPart — указывается метод просмотра. Если не указан, либо указана цифра 1, то поиск осуществляется по полному совпадению с ячейкой. Но в таком варианте допускается применение подстановочных символов * и ?. Если указано значение, отличное от 1, то совпадение будет отбираться по части вхождения. Если в vCriteria указать «при», то совпадением будет считаться и слово «прибыль»(первый буквы совпадают) и «неприятный»(в середине встречается «при»). Но в этом случае знаки * и ? будут восприниматься «как есть». Может пригодиться, если в искомом тексте присутствуют символы звездочки и вопросительного знака и надо найти совпадения, учитывая эти символы.

Так же см.:
Что такое формула массива
Как найти значение в другой таблице или сила ВПР
Как подсчитать количество повторений
Динамические именованные диапазоны


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Продолжая развивать идею ВПР 2D, давайте рассмотрим решение задачи поиска не в двух, а в трех измерениях, когда к нахождению нужной строки и столбца добавляется еще и лист. Рассмотрим следующий пример. Допустим, у нас есть несколько листов по городам с данными продаж по товарам (строки) и магазинам (столбцы):

vlookup3d-1.png

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

На отдельном листе создана форма ввода, куда пользователь с помощью выпадающих списков вводит желаемый город, товар и магазин в желтые ячейки D5, D7 и D9

vlookup3d-2.png

Содержимое выпадающих списков автоматически подгружается в желтые ячейки из трех синих «умных» таблиц справа (как это реализовать было описано в этой статье). Необходимо в зеленой ячейке D11 получить сумму, соответствующую заданному товару и магазину, причем с нужного листа.

Для решения нам потребуется всего три функции:

  • ПОИСКПОЗ(искомое_значение; массив; тип_поиска) – ищет заданное значение в диапазоне (строка или столбец) и выдает порядковый номер ячейки, где оно было найдено. Нам эта функция поможет найти порядковые номера строки и столбца в таблице, где расположено нужное число. Для примера, формула:
    =ПОИСКПОЗ(«Альфа»;A2:G1;0)
    … вычислит номер столбца в таблице, где расположен магазин Альфа. Последний аргумент этой функции (0) означает, что нам нужен точный поиск.
  • ИНДЕКС(диапазон; номер_строки; номер_столбца) – выбирает значение из диапазона по номеру строки и столбца. Так, например, формула:
    =ИНДЕКС(B2:G9;3;2)
    … выдаст нам содержимое ячейки в 3-й строке 2-го столбца из диапазона B2:G9.
  • ДВССЫЛ(адрес_как_текст) – превращает адресную строку в виде текста в настоящий адрес. Причем адрес запросто может склеиваться из фрагментов с помощью оператора сцепки &. Например, формула:
    =ДВССЫЛ(A1&»!B3″)
    … берет имя листа из ячейки A1, приклеивает к нему восклицательный знак-разделитель и адрес ячейки B3. Если в ячейке A1 будет лежать слово Москва, то на выходе мы получим ссылку Москва!B3, т.е. содержимое ячейки B3 с листа Москва.

Теперь сводим все в единое целое для решения нашей задачи:

vlookup3d-3.png

Единственный оставшийся нюанс в том, что по синтаксису Excel, если в именах листов есть пробел, то их нужно дополнительно заключать в апострофы (одинарные кавычки), т.е. ссылка на ячейку A1 на листе Нижний Новгород, например, должна выглядеть так:

=Нижний Новгород!A1

Таким образом для универсальности нужно добавить апострофы и к нашей формуле:

vlookup3d-4.png

Ссылки по теме

  • Что такое функция ВПР (VLOOKUP) и как с ее помощью подставить значения из одной таблицы в другую
  • Как реализовать поиск по двум измерениям (ВПР 2D)
  • Динамический выпадающий список с наполнением

ВПР с нескольких листов

ilikeread

Дата: Понедельник, 18.04.2016, 11:54 |
Сообщение № 1

Группа: Пользователи

Ранг: Участник

Сообщений: 56


Репутация:

1

±

Замечаний:
0% ±


Excel 2010

Доброго дня всем.

Возможно ли ВПР собирать значения из нескольких листов?

Во вложении пример.

собираем данные на лист 1 с листов 2 и 3
нужно чтобы при отсутствии совпадений на листе 2 искал на листе 3 и тд при необходимости.

К сообщению приложен файл:

8623076.xlsx
(10.8 Kb)

 

Ответить

китин

Дата: Понедельник, 18.04.2016, 11:59 |
Сообщение № 2

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

Возможно ли ВПР собирать значения из нескольких листов

судя по моим скудным познаниям нет. Посмотрите ТУТ очень похоже


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

Сообщение отредактировал китинПонедельник, 18.04.2016, 12:03

 

Ответить

ilikeread

Дата: Понедельник, 18.04.2016, 12:01 |
Сообщение № 3

Группа: Пользователи

Ранг: Участник

Сообщений: 56


Репутация:

1

±

Замечаний:
0% ±


Excel 2010

а если не ВПР, то как можно?

 

Ответить

TimSha

Дата: Понедельник, 18.04.2016, 12:06 |
Сообщение № 4

Группа: Проверенные

Ранг: Ветеран

Сообщений: 627


Репутация:

94

±

Замечаний:
0% ±


Excel 2013 Pro +

ilikeread, а вы в нете не пытались поискать ответ по более конкретному требованию?
Может быть просто стоит, для начала, собрать на одном листе необходимые диапазоны, а затем выбрать из них подходящее?!
И какие способы/методы вам доступны/возможны — формулы, макросы, запросы и пр.и пр.?


«Ctrl+S» — достойное завершение ваших гениальных мыслей!.. ;)

 

Ответить

китин

Дата: Понедельник, 18.04.2016, 12:08 |
Сообщение № 5

Группа: Модераторы

Ранг: Экселист

Сообщений: 6973


Репутация:

1063

±

Замечаний:
0% ±


Excel 2007;2010;2016

по ссылке выше ради интереса макрос KuklP просто вставил в ваш файл .кнопочку там нажмите


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852

 

Ответить

adamm1603

Дата: Понедельник, 18.04.2016, 12:09 |
Сообщение № 6

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 144


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

 

Ответить

abtextime

Дата: Понедельник, 18.04.2016, 12:09 |
Сообщение № 7

Группа: Проверенные

Ранг: Ветеран

Сообщений: 828


Репутация:

117

±

Замечаний:
0% ±


Excel 2010

Если артикулы уникальные на каждом листе, то

Код

=ЕСЛИ(ЕОШИБКА(ВПР(B7;Лист2!$A$9:$C$15;3;ЛОЖЬ));»»;ВПР(B7;Лист2!$A$9:$C$15;3;ЛОЖЬ))&ЕСЛИ(ЕОШИБКА(ВПР(B7;Лист3!$A$9:$C$15;3;ЛОЖЬ));»»;ВПР(B7;Лист3!$A$9:$C$15;3;ЛОЖЬ))

 

Ответить

abtextime

Дата: Понедельник, 18.04.2016, 12:13 |
Сообщение № 8

Группа: Проверенные

Ранг: Ветеран

Сообщений: 828


Репутация:

117

±

Замечаний:
0% ±


Excel 2010

Или еще проще

Код

=ЕСЛИ(ЕОШИБКА(ВПР(B7;Лист2!$A$9:$C$15;3;ЛОЖЬ));ВПР(B7;Лист3!$A$9:$C$15;3;ЛОЖЬ);ВПР(B7;Лист2!$A$9:$C$15;3;ЛОЖЬ))

При этом артикулы могут повторяться

К сообщению приложен файл:

2325058.xlsx
(11.0 Kb)

 

Ответить

ilikeread

Дата: Понедельник, 18.04.2016, 12:51 |
Сообщение № 9

Группа: Пользователи

Ранг: Участник

Сообщений: 56


Репутация:

1

±

Замечаний:
0% ±


Excel 2010

Может быть просто стоит, для начала, собрать на одном листе необходимые диапазоны, а затем выбрать из них подходящее?!

уже и есть такая большая таблица на 1000 строк. Идея в том чтобы разбить её на несколько для удобства обработки

Посмотрите ТУТ очень похоже

чем то похожим и собрана большая таблица

Буду разбираться

Если артикулы уникальные на каждом листе, то

Спасибо Работает!
Упростил до

Код

=ЕСЛИ(ЕОШИБКА(ВПР(B9;Лист3!$A$9:$C$15;3;ЛОЖЬ));ВПР(B9;Лист2!$A$9:$C$15;3;ЛОЖЬ);ВПР(B9;Лист3!$A$9:$C$15;3;ЛОЖЬ))

Разницы в работе не заметил. В чём фишка длинной формулы?

 

Ответить

ilikeread

Дата: Понедельник, 18.04.2016, 13:02 |
Сообщение № 10

Группа: Пользователи

Ранг: Участник

Сообщений: 56


Репутация:

1

±

Замечаний:
0% ±


Excel 2010

Спасибо . догадался сам упростить.

Вариант для 2 листов.
а если листов не 2 а более? 3-5
подозреваю формула оооочень длинная получится.
Пойду ещё ветку с макросами почитаю.

 

Ответить

abtextime

Дата: Понедельник, 18.04.2016, 13:34 |
Сообщение № 11

Группа: Проверенные

Ранг: Ветеран

Сообщений: 828


Репутация:

117

±

Замечаний:
0% ±


Excel 2010

Вариантов много.
1. Даже для 5 листов в формуле ничего страшного не будет. Тем более, если ВПР() с указанными параметрами сделать именованной функцией с двумя параметрами.
2. Можно сделать массу скрытых дополнительных столбцов на Листе1 (D…), в них выводить результаты ВПР по листам, потом в столбце С всё это безобразие обрабатывать.
3. Понятно, что макросом (UDF) всё можно сделать «в лучшем виде». Было бы желание…

Определитесь, что Вам ближе, проще, удобнее, эргономичнее …

Сообщение отредактировал abtextimeПонедельник, 18.04.2016, 13:34

 

Ответить

abtextime

Дата: Понедельник, 18.04.2016, 13:37 |
Сообщение № 12

Группа: Проверенные

Ранг: Ветеран

Сообщений: 828


Репутация:

117

±

Замечаний:
0% ±


Excel 2010

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

Сообщение отредактировал abtextimeПонедельник, 18.04.2016, 13:37

 

Ответить

ilikeread

Дата: Понедельник, 18.04.2016, 14:57 |
Сообщение № 13

Группа: Пользователи

Ранг: Участник

Сообщений: 56


Репутация:

1

±

Замечаний:
0% ±


Excel 2010

В чём смысл? Если вы хотите дополнительной категоризации, то сделайте дополнительный категорийный столбец.

1000 строк это так для примера что много. реально строк около 15 тыс.

……, перемудрил, в голову не пришло. фильтровать замучался, вот и хотел разделить.

Кстати нашёл решение на неограниченное количество листов
могу выложить тут ссылку на источник и пример файла, может кому пригодится
Это не запрещено правилами?

 

Ответить

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

Синтаксис и описание функции ВПР в Excel

Функция ВПР в Excel примеры

Функция ВПР с несколькими условиями

Почему не работает функция ВПР

Синтаксис и описание функции ВПР в Excel

Итак, так как второе название этой статьи «Функция ВПР в Excel для чайников», начнем с того что узнаем, что же такое функция ВПР и что она делает? Функция ВПР на английском VLOOKUP, ищет указанное значение и возвращает соответствующее значение из другого столбца.

Как работает функция ВПР? Функция ВПР в Excel выполняет поиск по вашим спискам данных на основе уникального идентификатора и предоставляет вам часть информации, связанную с этим уникальным идентификатором.

Буква «В» в ВПР означает «вертикальный». Она используется для дифференциации функции ВПР и ГПР, которая ищет значение в верхней строке массива («Г» обозначает «горизонтальный»).

Функция ВПР доступна во всех версиях Excel 2016, Excel 2013, Excel 2010, Excel 2007, Excel 2003.

Синтаксис функции ВПР выглядит следующим образом:

ВПР(искомое_значение;таблица;номер_столбца;[интервальный_просмотр])

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

  1. искомое_значение – это значение для поиска.

Это может быть либо значение (число, дата или текст), либо ссылка на ячейку (ссылка на ячейку, содержащую значение поиска), или значение, возвращаемое некоторой другой функцией Excel. Например:

  • Поиск числа: =ВПР(40; A2:B15; 2) — формула будет искать число 40.
  • Поиск текста: =ВПР(«яблоки»; A2:B15; 2) — формула будет искать текст «яблоки». Обратите внимание, что вы всегда включаете текстовые значения в «двойные кавычки».
  • Поиск значения из другой ячейки: =ВПР(C2; A2:B15; 2) — формула будет искать значение в ячейке C2.
  1. таблица — это два или более столбца данных.

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

Итак, наша формула =ВПР(40; A2:B15; 2) будет искать «40» в ячейках от A2 до A15, потому что A — это первый столбец таблицы A2: B15.

  1. номер_столбцаномер столбца в таблице, из которой должно быть возвращено значение в соответствующей строке.

Самый левый столбец в указанной таблице равен 1, второй столбец — 2, третий — 3 и т. д.

Итак, теперь вы можете прочитать всю формулу =ВПР(40; A2:B15; 2). Формула ищет «40» в ячейках от A2 до A15 и возвращает соответствующее значение из столбца B (потому что B является вторым столбцом в указанной таблице A2:B15).

4. интервальный_просмотр определяет, ищете ли вы точное соответствие (ЛОЖЬ) или приблизительное соответствие (ИСТИНА или опущено). Этот последний параметр является необязательным, но очень важным.

Функция ВПР в Excel примеры

Теперь давайте рассмотрим несколько примеров использования функции ВПР для реальных данных.

Функция ВПР на разных листах

На практике формулы ВПР редко используются для поиска данных на одном листе. Чаще всего вам придется искать и вытаскивать соответствующие данные с другого листа.

Чтобы использовать функцию ВПР с другого листа Excel, вы должны ввести имя рабочего листа и восклицательный знак в аргументе таблица перед диапазоном ячеек, например, =ВПР(40;Лист2!A2:B15;2). Формула указывает, что диапазон поиска A2:B15 находится в Лист2.

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

Формула, которую вы видите на изображении ниже, ищет текст в ячейке А2 («Продукт 3») в столбце A (1-й столбец диапазона поиска A2:B9) на листе «Цены»:

=ВПР(A2;Цены!$A$2:$B$8;2;ЛОЖЬ)

1-funktciia-vpr-v-excel

Функция ВПР в Excel – Функция ВПР на разных листах

Обратите внимание, что рекомендуется использовать абсолютные ссылки на ячейки (со знаком $) в аргументе таблица. Это предотвратит изменение диапазона поиска при копировании формулы ВПР в другие ячейки.

Как использовать именованный диапазон или таблицу в формулах ВПР

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

Чтобы создать именованный диапазон, просто выберите ячейки и введите любое имя в поле «Имя», слева от панели «Формула».

2-funktciia-vpr-v-excel

Функция ВПР в Excel – Присвоение имени диапазону

Теперь вы можете написать следующую формулу ВПР, чтобы получить цену Продукта 1:

=ВПР(«Продукт 1»;Продукты;2)

3-funktciia-vpr-v-excel

Функция ВПР в Excel – Пример функции ВПР с именем диапазона

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

Если вы преобразовали диапазон ячеек в полнофункциональную таблицу Excel (вкладка «Вставка» —> «Таблица»), вы можете выбрать диапазон поиска с помощью мыши, а Microsoft Excel автоматически добавит имена колонок или имя таблицы в формулу:

4-funktciia-vpr-v-excel

Функция ВПР в Excel – Пример функции ВПР с именем таблицы

Полная формула может выглядеть примерно так:

=ВПР(«Продукт 1»;Таблица6[[Продукт]:[Цена]];2)

или даже =ВПР(«Продукт 1»;Таблица6;2).

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

Функция ВПР с несколькими условиями

Рассмотрим пример функции ВПР с несколькими условиями. У нас есть следующие исходные данные:

5-funktciia-vpr-v-excel

Функция ВПР в Excel – Таблица исходных данных

Пусть нам необходимо использовать функцию ВПР с несколькими условиями. Например, для поиска цены товара по двумя критериями: названию продукта и его типу.

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

Итак на листе «Цены» вставляем столбец и в ячейке А2 вводим следующую формулу:

=B2&C2

При помощи этой формулы мы сцепляем значение столбца «Продукт» и «Тип». Заполняем все ячейки.

Теперь таблица для поиска выглядит следующим образом:

6-funktciia-vpr-v-excel

Функция ВПР в Excel – Добавление вспомогательного столбца
  1. Теперь в ячейке С2 на листе «Продажи» напишем следующую формулу ВПР:

=ВПР(A2&B2;Цены!$A$1:$D$8;4;ЛОЖЬ)

Заполняем для остальных ячеек и в результате получаем цены для каждого продукта в соответствии с типом:

7-funktciia-vpr-v-excel

Функция ВПР в Excel – Пример ВПР с несколькими условиями

Теперь разберем ошибки функции ВПР.

Почему не работает функция ВПР

В этой части статьи мы рассмотрим почему не работает функция ВПР и возможные ошибки функции ВПР.

Тип ошибки

Причина

Решение

#Н/Д

Неверное расположение столбца, по которому происходит поиск

Столбец таблицы, по которому происходит поиск ОБЯЗАТЕЛЬНО должен быть крайним левым.

  • Перенесите столбец, по которому происходит поиск в крайнее левое положение таблицы.
  • Или создайте вспомогательный дублирующий столбец, слева в таблице.

#Н/Д

Не закреплен диапазон таблицы

Если первое значение было выведено правильно, а после протягивания формулы ВПР в некоторых ячейках встречается ошибка #Н/Д, то диапазон таблицы не закреплен.

  • Используйте абсолютные ссылки ($) для закрепления диапазона таблицы, чтобы при заполнении формула использовала один и тот же диапазон.
  • Или используйте именованный диапазон

#Н/Д

Не удалось найти точное совпадение (если в интервальном просмотре выбран поиск точного значения (0) 

#Н/Д

В интервальном просмотре выполняется поиск ближайшего значения (1), а таблица, по которой происходит поиск не отсортирована.

Отсортируйте первый столбец таблицы по возрастанию наименований.

#Н/Д

Данные содержат лишние пробелы, недопустимые кавычки или непечатаемые символы.

Используйте функции ПЕЧСИМВ или СЖПРОБЕЛЫ.

#ССЫЛКА!

Значение номер столбца превышает число столбцов в таблице

Проверьте номер столбца, содержащий возвращаемое значение.

#ИМЯ?

В формуле пропущены кавычки

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

Например:

=ВПР(«Продукт 1»; Цены!$A$2:$B$8;2;0)

Надеюсь, что теперь даже для чайников функция ВПР в Excel будет понятна.

How to use the VLOOKUP function across multiple workbooks in Excel. This will create a link between the workbooks that allows you to get updated data from the source-data workbook, even when it is closed.

Sections:

Before you Begin

Vlookup Between Multiple Workbooks

Potential Issue

Notes

Before You Begin

Make sure that the data in the source-workbook is setup correctly for a vlookup.

6f2a816a2f1bf1fc47a4c91beb3786a9.png

The column used to find the lookup_value should be the left-most column in the source data.

Vlookup Between Multiple Workbooks

Open both workbooks, the one that will have the vlookup and the one that has the source-data from which you will return values.

  1. Go to the worksheet where you want to display the data using the Vlookup and start to enter the function.
    53b7b58347cfa4f458005b8a449b4f26.png
  2. Select the cell that contains the value for the first argument, the lookup_value. (The lookup_value is what is used to find the values in the source-data and it should be contained in the left-most column of the source-data table.)
    93c0e22c66134c707112526c5b2808fe.png
    Once, you select the lookup_value, type a comma to go to the next argument.
  3. The next argument is the table_array argument, and this is what is located in the other workbook.
    Without typing anything or hitting any other button, navigate to the source-data workbook and click and drag the mouse over the table that contains your data.
    bea22507307ef08f3fdbdb3bf6fd3cae.png
    Notice that the formula that we started entering on the original workbook has now appeared within the formula bar at the top of this one (if you do not see the vlookup formula appear at the top, go back to step 1 and start over).
    While still on this screen, type a comma and move to the next argument; the rest of the formula will be completed while viewing the source-data workbook.
  4. You will see the argument list for the vlookup function appear under the formula bar and you should now see the col_index_num argument in bold.
    39dece87e2f10e43e0d21a62a4a3e688.jpg
    I want to get the value from the Quantity column, so I put a 3 for this argument, since the Quantity column is the third column in the source-data table.
    Don’t get confused about finishing the formula on the source-data worksheet, this is just part of the process.
    Don’t forget to type a comma to move to the last argument.
  5. For the last argument, the range_lookup, we will use False so that only exact matches are returned; most of the time, this is what you want to use.
    ca14107f2506247799c9ac56630d48a9.png
    You are now done entering the function; you can either hit Enter or first input the closing parenthesis ) and then hit Enter.
    Once you do this, you should be taken back to the first workbook, the one with the vlookup in it, and a value should be returned.
    583f4ce619ffd1e59806559075ac30ae.png
    That’s it!

If you did not already enter a value for the lookup_value argument, cell A2 in the above example, then the vlookup will return an error by default; simply input a lookup_value to fix this.

Potential Issue

When you close the workbooks and open the one with the lookup formula, you might see some warnings. These warnings come about because the workbooks are now linked, which means that one pulls data from the other one.

In order to allow data to flow between these workbooks, you will have to click the button to enable the links when you see this warning.

Here is a sample warning that you might see:

fb4906458b21490be4263bb5fc6b4397.png

And here is another one:

40ac7936920b5c9ae50fd5c7f6b836d4.png

(Warnings don’t always appear so don’t get nervous if you don’t see one.)

Notes

Getting data from other workbooks is one of the most useful things that you can do in Excel and, as you can see, it is not that difficult to do. Once you have the necessary workbooks open, it is, basically, just like using formulas between worksheets in the same workbook.

Make sure to download the sample files for this tutorial so that you can work with the above examples.

Similar Content on TeachExcel

How to use Vlookup Across Multiple Worksheets in Excel

Tutorial: This tutorial shows you how to use the Vlookup function across multiple worksheets within …

Center Titles Across Multiple Cells in Excel

Tutorial:
How to center a title across multiple cells in Excel in order to make good looking titles…

Sum Values that Equal 1 of Many Conditions across Multiple Columns in Excel

Tutorial:
How to Sum values using an OR condition across multiple columns, including using OR with …

Combine Multiple Workbooks into One

Macro: This macro for Microsoft Excel allows you to combine multiple workbooks and worksheets int…

Combine Worksheets from Multiple Workbooks into One

: Excel macro that allows you to select multiple workbooks and have all of their worksheets …

Sum Values that Meet 1 of Multiple Conditions in Excel

Tutorial:
How to sum values that equal one of many potential criteria; this is basically summing wi…

Subscribe for Weekly Tutorials

BONUS: subscribe now to download our Top Tutorials Ebook!

Понравилась статья? Поделить с друзьями:
  • Впр excel не подтягивает
  • Впр excel на русском
  • Впр excel на нескольких листах в одну
  • Впр excel истина или ложь
  • Впр excel если не находится