Функция ВПР в 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».
Поделиться в социальных сетях:
Tip: Try using the new XLOOKUP function, an improved version of VLOOKUP that works in any direction and returns exact matches by default, making it easier and more convenient to use than its predecessor.
Use VLOOKUP when you need to find things in a table or a range by row. For example, look up a price of an automotive part by the part number, or find an employee name based on their employee ID.
In its simplest form, the VLOOKUP function says:
=VLOOKUP(What you want to look up, where you want to look for it, the column number in the range containing the value to return, return an Approximate or Exact match – indicated as 1/TRUE, or 0/FALSE).
Tip: The secret to VLOOKUP is to organize your data so that the value you look up (Fruit) is to the left of the return value (Amount) you want to find.
Use the VLOOKUP function to look up a value in a table.
Syntax
VLOOKUP (lookup_value, table_array, col_index_num, [range_lookup])
For example:
-
=VLOOKUP(A2,A10:C20,2,TRUE)
-
=VLOOKUP(«Fontana»,B2:E7,2,FALSE)
-
=VLOOKUP(A2,’Client Details’!A:F,3,FALSE)
Argument name |
Description |
---|---|
lookup_value (required) |
The value you want to look up. The value you want to look up must be in the first column of the range of cells you specify in the table_array argument. For example, if table-array spans cells B2:D7, then your lookup_value must be in column B.
|
table_array (required) |
The range of cells in which the VLOOKUP will search for the lookup_value and the return value. You can use a named range or a table, and you can use names in the argument instead of cell references. The first column in the cell range must contain the lookup_value. The cell range also needs to include the return value you want to find. Learn how to select ranges in a worksheet. |
col_index_num (required) |
The column number (starting with 1 for the left-most column of table_array) that contains the return value. |
range_lookup (optional) |
A logical value that specifies whether you want VLOOKUP to find an approximate or an exact match:
|
How to get started
There are four pieces of information that you will need in order to build the VLOOKUP syntax:
-
The value you want to look up, also called the lookup value.
-
The range where the lookup value is located. Remember that the lookup value should always be in the first column in the range for VLOOKUP to work correctly. For example, if your lookup value is in cell C2 then your range should start with C.
-
The column number in the range that contains the return value. For example, if you specify B2:D11 as the range, you should count B as the first column, C as the second, and so on.
-
Optionally, you can specify TRUE if you want an approximate match or FALSE if you want an exact match of the return value. If you don’t specify anything, the default value will always be TRUE or approximate match.
Now put all of the above together as follows:
=VLOOKUP(lookup value, range containing the lookup value, the column number in the range containing the return value, Approximate match (TRUE) or Exact match (FALSE)).
Examples
Here are a few examples of VLOOKUP:
Example 1
Example 2
Example 3
Example 4
Example 5
You can use VLOOKUP to combine multiple tables into one, as long as one of the tables has fields in common with all the others. This can be especially useful if you need to share a workbook with people who have older versions of Excel that don’t support data features with multiple tables as data sources — by combining the sources into one table and changing the data feature’s data source to the new table, the data feature can be used in older Excel versions (provided the data feature itself is supported by the older version).
Here, columns A-F and H have values or formulas that only use values on the worksheet, and the rest of the columns use VLOOKUP and the values of column A (Client Code) and column B (Attorney) to get data from other tables. |
-
Copy the table that has the common fields onto a new worksheet, and give it a name.
-
Click Data > Data Tools > Relationships to open the Manage Relationships dialog box.
-
For each listed relationship, note the following:
-
The field that links the tables (listed in parentheses in the dialog box). This is the lookup_value for your VLOOKUP formula.
-
The Related Lookup Table name. This is the table_array in your VLOOKUP formula.
-
The field (column) in the Related Lookup Table that has the data you want in your new column. This information is not shown in the Manage Relationships dialog — you’ll have to look at the Related Lookup Table to see which field you want to retrieve. You want to note the column number (A=1) — this is the col_index_num in your formula.
-
-
To add a field to the new table, enter your VLOOKUP formula in the first empty column using the information you gathered in step 3.
In our example, column G uses Attorney (the lookup_value) to get the Bill Rate data from the fourth column (col_index_num = 4) from the Attorneys worksheet table, tblAttorneys (the table_array), with the formula =VLOOKUP([@Attorney],tbl_Attorneys,4,FALSE).
The formula could also use a cell reference and a range reference. In our example, it would be =VLOOKUP(A2,’Attorneys’!A:D,4,FALSE).
-
Continue adding fields until you have all the fields that you need. If you are trying to prepare a workbook containing data features that use multiple tables, change the data source of the data feature to the new table.
Problem |
What went wrong |
---|---|
Wrong value returned |
If range_lookup is TRUE or left out, the first column needs to be sorted alphabetically or numerically. If the first column isn’t sorted, the return value might be something you don’t expect. Either sort the first column, or use FALSE for an exact match. |
#N/A in cell |
For more information on resolving #N/A errors in VLOOKUP, see How to correct a #N/A error in the VLOOKUP function. |
#REF! in cell |
If col_index_num is greater than the number of columns in table-array, you’ll get the #REF! error value. For more information on resolving #REF! errors in VLOOKUP, see How to correct a #REF! error. |
#VALUE! in cell |
If the table_array is less than 1, you’ll get the #VALUE! error value. For more information on resolving #VALUE! errors in VLOOKUP, see How to correct a #VALUE! error in the VLOOKUP function. |
#NAME? in cell |
The #NAME? error value usually means that the formula is missing quotes. To look up a person’s name, make sure you use quotes around the name in the formula. For example, enter the name as «Fontana» in =VLOOKUP(«Fontana»,B2:E7,2,FALSE). For more information, see How to correct a #NAME! error. |
#SPILL! in cell |
This particular #SPILL! error usually means that your formula is relying on implicit intersection for the lookup value, and using an entire column as a reference. For example, =VLOOKUP(A:A,A:C,2,FALSE). You can resolve the issue by anchoring the lookup reference with the @ operator like this: =VLOOKUP(@A:A,A:C,2,FALSE). Alternatively, you can use the traditional VLOOKUP method and refer to a single cell instead of an entire column: =VLOOKUP(A2,A:C,2,FALSE). |
Do this |
Why |
---|---|
Use absolute references for range_lookup |
Using absolute references allows you to fill-down a formula so that it always looks at the same exact lookup range. Learn how to use absolute cell references. |
Don’t store number or date values as text. |
When searching number or date values, be sure the data in the first column of table_array isn’t stored as text values. Otherwise, VLOOKUP might return an incorrect or unexpected value. |
Sort the first column |
Sort the first column of the table_array before using VLOOKUP when range_lookup is TRUE. |
Use wildcard characters |
If range_lookup is FALSE and lookup_value is text, you can use the wildcard characters—the question mark (?) and asterisk (*)—in lookup_value. A question mark matches any single character. An asterisk matches any sequence of characters. If you want to find an actual question mark or asterisk, type a tilde (~) in front of the character. For example, =VLOOKUP(«Fontan?»,B2:E7,2,FALSE) will search for all instances of Fontana with a last letter that could vary. |
Make sure your data doesn’t contain erroneous characters. |
When searching text values in the first column, make sure the data in the first column doesn’t have leading spaces, trailing spaces, inconsistent use of straight ( ‘ or » ) and curly ( ‘ or “) quotation marks, or nonprinting characters. In these cases, VLOOKUP might return an unexpected value. To get accurate results, try using the CLEAN function or the TRIM function to remove trailing spaces after table values in a cell. |
Need more help?
You can always ask an expert in the Excel Tech Community or get support in the Answers community.
#Руководства
- 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 + Google Таблицы с нуля до PRO
Узнать больше
Функция ВПР в Excel позволяет данные из одной таблицы переставить в соответствующие ячейки второй. Ее английское наименование – VLOOKUP.
Очень удобная и часто используемая. Т.к. сопоставить вручную диапазоны с десятками тысяч наименований проблематично.
Как пользоваться функцией ВПР в Excel
Допустим, на склад предприятия по производству тары и упаковки поступили материалы в определенном количестве.
Стоимость материалов – в прайс-листе. Это отдельная таблица.
Необходимо узнать стоимость материалов, поступивших на склад. Для этого нужно подставит цену из второй таблицы в первую. И посредством обычного умножения мы найдем искомое.
Алгоритм действий:
- Приведем первую таблицу в нужный нам вид. Добавим столбцы «Цена» и «Стоимость/Сумма». Установим денежный формат для новых ячеек.
- Выделяем первую ячейку в столбце «Цена». В нашем примере – D2. Вызываем «Мастер функций» с помощью кнопки «fx» (в начале строки формул) или нажав комбинацию горячих клавиш SHIFT+F3. В категории «Ссылки и массивы» находим функцию ВПР и жмем ОК. Данную функцию можно вызвать перейдя по закладке «Формулы» и выбрать из выпадающего списка «Ссылки и массивы».
- Откроется окно с аргументами функции. В поле «Искомое значение» — диапазон данных первого столбца из таблицы с количеством поступивших материалов. Это те значения, которые Excel должен найти во второй таблице.
- Следующий аргумент – «Таблица». Это наш прайс-лист. Ставим курсор в поле аргумента. Переходим на лист с ценами. Выделяем диапазон с наименованием материалов и ценами. Показываем, какие значения функция должна сопоставить.
- Чтобы Excel ссылался непосредственно на эти данные, ссылку нужно зафиксировать. Выделяем значение поля «Таблица» и нажимаем F4. Появляется значок $.
- В поле аргумента «Номер столбца» ставим цифру «2». Здесь находятся данные, которые нужно «подтянуть» в первую таблицу. «Интервальный просмотр» — ЛОЖЬ. Т.к. нам нужны точные, а не приблизительные значения.
Нажимаем ОК. А затем «размножаем» функцию по всему столбцу: цепляем мышью правый нижний угол и тянем вниз. Получаем необходимый результат.
Теперь найти стоимость материалов не составит труда: количество * цену.
Функция ВПР связала две таблицы. Если поменяется прайс, то и изменится стоимость поступивших на склад материалов (сегодня поступивших). Чтобы этого избежать, воспользуйтесь «Специальной вставкой».
- Выделяем столбец со вставленными ценами.
- Правая кнопка мыши – «Копировать».
- Не снимая выделения, правая кнопка мыши – «Специальная вставка».
- Поставить галочку напротив «Значения». ОК.
Формула в ячейках исчезнет. Останутся только значения.
Быстрое сравнение двух таблиц с помощью ВПР
Функция помогает сопоставить значения в огромных таблицах. Допустим, поменялся прайс. Нам нужно сравнить старые цены с новыми ценами.
- В старом прайсе делаем столбец «Новая цена».
- Выделяем первую ячейку и выбираем функцию ВПР. Задаем аргументы (см. выше). Для нашего примера: . Это значит, что нужно взять наименование материала из диапазона А2:А15, посмотреть его в «Новом прайсе» в столбце А. Затем взять данные из второго столбца нового прайса (новую цену) и подставить их в ячейку С2.
Данные, представленные таким образом, можно сопоставлять. Находить численную и процентную разницу.
Функция ВПР в Excel с несколькими условиями
До сих пор мы предлагали для анализа только одно условие – наименование материала. На практике же нередко требуется сравнить несколько диапазонов с данными и выбрать значение по 2, 3-м и т.д. критериям.
Таблица для примера:
Предположим, нам нужно найти, по какой цене привезли гофрированный картон от ОАО «Восток». Нужно задать два условия для поиска по наименованию материала и по поставщику.
Дело осложняется тем, что от одного поставщика поступает несколько наименований.
- Добавляем в таблицу крайний левый столбец (важно!), объединив «Поставщиков» и «Материалы».
- Таким же образом объединяем искомые критерии запроса:
- Теперь ставим курсор в нужном месте и задаем аргументы для функции: . Excel находит нужную цену.
Рассмотрим формулу детально:
- Что ищем.
- Где ищем.
- Какие данные берем.
Функция ВПР и выпадающий список
Допустим, какие-то данные у нас сделаны в виде раскрывающегося списка. В нашем примере – «Материалы». Необходимо настроить функцию так, чтобы при выборе наименования появлялась цена.
Сначала сделаем раскрывающийся список:
- Ставим курсор в ячейку Е8, где и будет этот список.
- Заходим на вкладку «Данные». Меню «Проверка данных».
- Выбираем тип данных – «Список». Источник – диапазон с наименованиями материалов.
- Когда нажмем ОК – сформируется выпадающий список.
Теперь нужно сделать так, чтобы при выборе определенного материала в графе цена появлялась соответствующая цифра. Ставим курсор в ячейку Е9 (где должна будет появляться цена).
- Открываем «Мастер функций» и выбираем ВПР.
- Первый аргумент – «Искомое значение» — ячейка с выпадающим списком. Таблица – диапазон с названиями материалов и ценами. Столбец, соответственно, 2. Функция приобрела следующий вид: .
- Нажимаем ВВОД и наслаждаемся результатом.
Изменяем материал – меняется цена:
Скачать пример функции ВПР в Excel
Так работает раскрывающийся список в Excel с функцией ВПР. Все происходит автоматически. В течение нескольких секунд. Все работает быстро и качественно. Нужно только разобраться с этой функцией.
В табличном редакторе 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).
-
Искомое значение – относительная ссылка, а таблица – абсолютная.
-
Интервальный просмотр может искать точное или приблизительное совпадение с искомым значением.
-
Приблизительный поиск и критерий «истина» обычно используют при работе с числами, а точный и «ложь» – в работе с наименованиями.
-
Порядок работы с функцией подходит для Гугл-таблиц.
Skip to content
В процессе работы в Excel часто возникает задача извлечения нужных данных из рабочих таблиц. Для этой цели в Excel предусмотрена формула ВПР (VLOOKUP в английском варианте). И хотя ВПР относительно проста в использовании даже для начинающих, есть много вещей, которые могут здесь пойти не так.
Одна из причин заключается в том, что имеется существенный недостаток: по умолчанию предполагается, что вам достаточно не точного, а приблизительного соответствия при поиске. Что, скорее всего, не соответствует вашим пожеланиям. Это может привести к тому, что результаты расчетов выглядят совершенно нормально, даже если они совершенно ошибочны. Поверьте, это НЕ то, что вы хотите объяснить своему боссу, после того, как он уже отправил вашу таблицу руководству
Читайте далее и узнайте, как справиться с этой задачей. Прочтите другие советы по оптимизации работы. Особое внимание мы уделим ошибкам, возникающим при использовании формулы ВПР, а также приёмам, которые позволят сделать её использование простым и вместе с тем эффективным. Также мы разберём несколько случаев выбора и поиска данных, в которых продемонстрированы альтернативные методики, позволяющие существенно расширить стандартные возможности Excel.
- 1. Как расшифровывается ВПР в Excel?
- 2. Что делает ВПР?
- 3. Для чего используется ВПР?
- 4. Как расшифровываются параметры ВПР?
- 5. ВПР имеет два режима поиска.
- 6. Внимание: неточный поиск включен по умолчанию!
- 7. Для приблизительного поиска данные должны быть отсортированы.
- 8. ВПР ищет только справа.
- 9. ВПР пригодится, чтобы объединять данные из разных таблиц.
- 10. Может помочь классифицировать данные.
- 11. Абсолютные ссылки облегчают и ускоряют работу.
- 12. Именованные диапазоны облегчают понимание расчетов и еще больше упрощают работу.
- 13. Вставка столбца может «сломать» ваши вычисления.
- 14. Индекс столбца можно рассчитать автоматически
- 15. Используйте ВПР + ПОИСКПОЗ для полностью динамического индекса столбца
- 16. Можно использовать символы подстановки для определения частичного соответствия.
- 17. Вместо ошибки #Н/Д можно показать любое сообщение
- 18. Числа, записанные как текст, могут стать причиной ошибки.
- 19. ВПР нужна для замены вложенных операторов ЕСЛИ.
- 20. Можно использовать только один критерий.
- 21. Два ВПР быстрее, чем один.
- 22. ИНДЕКС и ПОИСКПОЗ могут больше и лучше, чем ВПР.
Итак, что такое ВПР в Excel?
1. Как расшифровывается ВПР в Excel?
Запомнить назначение формулы несложно: ВПР (VLOOKUP) переводится как сокращение «Вертикальный ПРосмотр» или на английском — “Vertical Look Up”.
Такая расшифровка аббревиатуры ВПР указывает, что она последовательно просматривает содержимое определенного диапазона по вертикали и ищет нужное нам значение. Это одна из самых часто используемых функций отбора данных.
Термин «вертикальный», означает, что показатели в таблице должны быть расположены вертикально, а данные — по строкам. А для горизонтально структурированных данных используется ГПР (HLOOKUP на английском). Как вы, думаю, догадываетесь, ГПР расшифровывается как «горизонтальный просмотр». В общем, то же самое действие, но по горизонтали.
2. Что делает ВПР?
Она возвращает значение из таблицы как результат поиска другого, связанного с ним значения этой же таблицы.
Для этого она находит интересующее нас содержимое в первом столбце и возвращает (то есть показывает нам в ответ на наш запрос) соответствующие данные из ячейки, находящейся на пересечении строки с найденным значением и указанного нами столбца.
Необходимо, чтобы таблица была создана таким образом, чтобы значения поиска располагались в крайнем левом столбце. Скажем, названия товаров. Данные, которые вы хотите получить (результирующие значения), могут быть записаны в любом месте, находящемся правее. А правее в этой таблице могут значиться артикул товара, его вес, цена, количество и т.д. Мы движемся по первому столбцу сверху вниз, и как только находим что-то подходящее, то останавливаемся на этой строке и берем данные из какого-то из столбцов, находящихся правее. Нужно только указать, из какого по счету.
3. Для чего используется ВПР?
Эти действия подобны розыску нужного номера в телефонном справочнике. Для этого вы сначала листаете справочник, чтобы обнаружить искомую фамилию и, только обнаружив ее, получаете номер телефона. Или же вы просматриваете прайс-лист, и напротив нужного товара видите его цену.
Таким образом, ВПР нужна, чтобы найти в Экселе определенную информацию в одной таблице и вставить ее в определенное место в другую.
Еще раз сделаем важное замечание: поиск всегда происходит в первом (крайнем левом) столбце.
Именно это ограничение и не позволяет считать ее универсальным решением. Но все же возможности применения очень широки.
Синтаксис ВПР позволят нам применять ее для очень большого круга задач, при котором необходимо найти и вернуть определённое значение.
Мы начнем с самого простого и постепенно будем рассматривать все более сложные способы ее использования.
4. Как расшифровываются параметры ВПР?
Чтобы лучше понять, что такое ВПР в Excel, давайте для начала просто попробуем создать ее на нашем рабочем листе.
Устанавливаем курсор в нужную ячейку, в которую нужно вставить цену из прайс-листа по определенному товару. Нажимаем на значок возле строки формул и в категории «Ссылки и массивы» находим ВПР.
Либо просто ставим «=» и начинаем писать название. И тут же появляется выпадающий список подходящих функций. Выбираем нужную.
Затем в открывшемся окне заполняем все параметры. Их вы видите на рисунке выше.
ВПР(искомое; таблица; номер_столбца; параметр_просмотра)
- Искомое — то, что ищем.
- Таблица — диапазон ячеек, в котором ищем и из которого затем извлекаем данные.
- Номер_столбца — номер столбца диапазона, из которого возвращаются данные, если значение в первом столбце данной строки совпадает с аргументом искомое_ значение.
- Интервальный_просмотр — необязательный, но очень важный логический аргумент. О нем мы поговорим ниже.
5. ВПР имеет два режима поиска.
Четвертый параметр «интервальный просмотр» позволяет задать режим сравнения, в котором нужно работать – точный или приблизительный. Это логический параметр, то есть для него возможно 2 варианта:
- 0 или ЛОЖЬ – интервальный просмотр выключен (ищем точное соответствие)
- 1 или ИСТИНА – интервальный просмотр включен (достаточно приблизительного)
Если этот параметр — ЛОЖЬ, то ищется точное равенство в первом столбце с аргументом «искомое». Если же такого нет, возвращается ошибка #Н/Д. Точный режим нужен, когда вы хотите найти информацию, основанную на каком-то уникальном ключе. Скажем, информацию о товаре — по коду товара, или данные фильма по его названию, человека — по фамилии.
Если он равен ИСТИНА или вовсе пропущен, то допускается неточное совпадение в данных отсортированной таблицы с аргументом «искомое». То есть нам нужно «лучшее соответствие», «как можно самое близкое». Возможно, вы просматриваете почтовые тарифы по весу посылки, ищете налоговую ставку на основе дохода, или определяете скидку на основе ежемесячного объема продаж. В этих случаях вы, скорее всего, не найдете именно ваш вес либо точную цифру вашего дохода. А если точного нет, то принимается ближайшее подходящее значение.
Обратите внимание, что при этом предполагается, что наш перечень отсортирован по столбцу поиска.
6. Внимание: неточный поиск включен по умолчанию!
К сожалению, четвертый аргумент является необязательным и по умолчанию имеет значение ИСТИНА. Это означает, что программа ищет не именно ваше, а просто похожее значение по умолчанию, даже если вы указали только 3 аргумента.
Если аргумент используется ЛОЖЬ (или ноль), то сортировка не обязательна, поскольку ищется точное соответствие.
Это часто создает проблемы, потому что многие люди невольно оставляют ВПР в режиме по умолчанию, забывают точно указать, как именно они хотят искать. А это может привести к неверному результату, если в данных не было сортировки. То есть, программа обнаружит первое подходящее значение и прекратит поиск. Допустим, мы ищем «апельсин», а первым в списке числится «банан». Эксель решит, что после слова на букву Б нет смысла искать апельсин, ведь список должен быть отсортирован по алфавиту. А если вы не сделали сортировку, то ваш апельсин вполне может находиться где-то ниже в списке. Но найти его уже не удастся. Результат — ошибка в заполнении таблицы с товарами и ценами.
Чтобы избежать этой проблемы, обязательно используйте ЛОЖЬ или ноль в качестве 4-го аргумента, когда нужен именно точный поиск.
В подавляющем большинстве случаев используется точное сравнение: если в прайс-листе найдется точно такое же название товара, то программа выведет его цену. В противном случае мы получим ошибку #N/A.
Вы спросите – а зачем же тогда этот параметр, если его значение ИСТИНА (TRUE) или же отсутствие приводит к таким проблемам? Ответ заключается в том, что если всё же вы будете применять её на отсортированном массиве, то производительность и скорость вычислений возрастут по разным оценкам где-то в 50 (пятьдесят!) раз. При работе с большими объемами данных это будет очень заметно.
Поэтому, если есть такая возможность, старайтесь сортировать большие массивы данных. Если делать всё без ошибок, то производительность Excel вырастет многократно.
Поэтому мы рекомендуем всегда устанавливать 4-й аргумент явным образом, даже если в конкретной ситуации этого не требуется. Таким образом, у вас всегда есть визуальное напоминание о режиме поиска, который вы используете.
7. Для приблизительного поиска данные должны быть отсортированы.
Если аргумент интервальный_просмотр равен ИСТИНА или опущен, то для правильной работы данные должны быть упорядоченны по возрастанию. Сортировка производится по тому столбцу, в котором ищем, то есть по первому. Если сортировку не сделать, то как только будет найдено значение большее, чем искомое, то процесс будет прекращен, несмотря на то, что ответ будет находиться чуть ниже.
Если ваш критерий начинается с буквы “A” (апельсин), а в начале списка находится слово, начинающееся с буквы “C” (допустим, сливы), то, оценив это, Эксель решит, что если встретилась буква “C”, то в списке букву “A” дальше искать бессмысленно. Работа остановится и будет возвращена ошибка #Н/Д (#N/A в англоязычной версии), несмотря на то, что правильное наименование в вашем списке было, но чуть ниже. Но вы об этом даже не узнаете.
Может случиться и другое – будет найден товар с похожим названием, сотрудник с похожей фамилией. В случае, если вы ищете конкретного человека либо конкретный товар, вряд ли вас устроит такой приблизительный поиск. Но самое плохое заключается в том, что вы не узнаете о том, что найдено просто первое похожее. А это может привести к ошибкам в принятии решений на основе ваших расчетов.
Также имейте в виду, что иногда текстовые данные могут выглядеть отсортированными, даже если это не так. Ведь в строке могут встречаться пробелы в конце, буквы русского алфавита заменены аналогичными по написанию английскими и т.д. Визуально вы определить это вряд ли сможете. Мы расскажем вам в отдельной статье, как решить эту проблему.
8. ВПР ищет только справа.
Возможно, самым большим ограничением ВПР является то, что она может искать только вправо от ключевого столбца.
Это означает, что вы сможете получить данные только из колонок, находящихся справа от первого столбца. Когда значения поиска находятся в первом (крайнем левом) столбце, это ограничение не имеет большого значения, поскольку все остальные уже находятся справа. Однако, если область поиска находится внутри таблицы, вы сможете искать значения только справа от неё. Вам также нужно будет в качестве источника данных брать не всю таблицу, а только ее часть, которая начинается с области поиска.
Впрочем, это ограничение можно преодолеть, о чем мы также вам расскажем.
9. ВПР пригодится, чтобы объединять данные из разных таблиц.
Типичный случай использования этого замечательного инструмента — объединение данных из двух или более таблиц. Предположим, у вас есть данные заказа в одной, а информация о цене — в другой, и вы хотите перенести цену товаров в таблицу заказов для расчета их точной стоимости.
Поскольку наименование товара имеется в обеих таблицах, то вы можете использовать его в качестве ключа поиска, чтобы получить нужную цену.
Обратите также внимание, что даже точный поиск можно сделать немного приблизительным, используя знаки подстановки * и ?. Напомню, что знак вопроса заменяет собой любой один символ, а звездочка — любое количество знаков (в том числе и ноль). Таким вот образом мы обнаружили в перечне товаров персики, записав в условии поиска «*»&»персики»&»*» или же «*»&D2&»*».
10. Может помочь классифицировать данные.
Если вам когда-либо понадобится применить классифицировать данные, то есть разделить их на группы по каким-то признакам, вы можете легко сделать это, используя таблицу, которая выступает в качестве «ключа» для назначения этих признаков.
Классическим случаем являются оценки, где вам нужно определить результат на основе набранных баллов:
В этом случае используется приблизительное соответствие, поэтому важно, чтобы информация сортировалась в порядке возрастания.
11. Абсолютные ссылки облегчают и ускоряют работу.
В ситуациях, когда вы хотите получать информацию из более чем одной колонки или если вам нужно скопировать и вставить формулу, вы можете сэкономить время и упростить работу. Используйте абсолютные ссылки для указания диапазона поиска и массива данных. Это позволяет затем просто скопировать её, а потом, если нужно, изменить только номер колонки, чтобы извлечь из таблицы другую информацию.
Поскольку ссылки на значение поиска и массив данных являются абсолютными, мы можем скопировать в соседние ячейки, а затем вернуться и изменить номер по мере необходимости. Вы это видите на рисунке ниже.
12. Именованные диапазоны облегчают понимание расчетов и еще больше упрощают работу.
Абсолютные ссылки выглядят довольно некрасиво и не очень понятно и наглядно. Поэтому можно сделать ваши расчёты намного чище и проще для понимания, заменив абсолютные ссылки именованными диапазонами. И никакие возможные изменения на вашем листе Excel не смогут их «испортить».
Копировать и переносить их также можно без проблем.
В приведенном выше примере с данными о сотрудниках вы можете назвать входную ячейку B2 «фамилия», а затем выделить все ячейки с информацией и назвать диапазон B5:F100 как «ДанныеСлужащего». Затем перепишите свою формулу в C2 следующим образом:
=ВПР(фамилия;ДанныеСлужащего;2;ЛОЖЬ)
Сравните сами — насколько понятнее стал расчет из совета №12 по сравнению с №11.
13. Вставка столбца может «сломать» ваши вычисления.
Если вы вставите дополнительную колонку внутрь таблицы, из которой вы извлекаете данные, то ваши расчеты могут «сломаться». Дело в том, что в результате изменятся порядковые номера некоторых колонок с данными. А вы по-прежнему ссылаетесь на старые номера. В результате извлекать данные вы уже будете не из тех адресов.
Здесь вы видите результаты для отдела, когда код сотрудника и даты стали неверными, когда был вставлен новый столбец D между именем и отделом. Имя же человека по-прежнему было взято правильное, потому что находится слева от места вставки.
Чтобы избежать этой проблемы, вы можете рассчитать и использовать меняющийся индекс столбца, как описано в следующих двух советах.
14. Индекс столбца можно рассчитать автоматически
Вы можете использовать функцию СТОЛБЕЦ() для генерации динамических индексов. Если вы получаете данные из последовательных колонок, этот трюк позволяет настроить одну первую формулу ВПР, а затем просто скопировать ее, не меняя ничего руками.
Посмотрите, как мы можем использовать функцию СТОЛБЕЦ (COLUMN в английском варианте) для создания динамического индекса. Для первой формулы в ячейке C3 нам нужен номер столбца 2. Поэтому запишем:
=ВПР($B$2;$B$5:$G$100;СТОЛБЕЦ()-1;ЛОЖЬ)
Поскольку столбец C является третьим на листе, поэтому нам просто нужно вычесть 1 и получить 2.
Далее просто скопируйте из C3 в D3, E3, F3.
15. Используйте ВПР + ПОИСКПОЗ для полностью динамического индекса столбца
Усовершенствовав предыдущий совет, вы можете использовать ПОИСКПОЗ для определения позиции столбца и возврата полностью динамического его индекса (порядкового номера).
Иногда это называется двусторонним поиском, поскольку вы просматриваете как по вертикали, так и по горизонтали.
Пригодиться это может при вычислении продаж для продавца в конкретном месяце или выборе цены на конкретный продукт от конкретного поставщика.
Предположим, что у вас есть продажи за месяц, с разбивкой по менеджерам.
ВПР может легко найти нужного сотрудника, но у нее нет возможности автоматически обрабатывать еще и название месяца. Хитрость заключается в том, чтобы использовать функцию ПОИСКПОЗ вместо статического индекса. С ее помощью мы вычислим номер нужной нам колонки.
При этом давайте еще попробуем использовать именованные диапазоны. Так нам будет проще разобраться.
Итак, A7:D17 присвоим имя «данные». A6:D6 назовем «месяц».
В результете в G8 мы можем записать:
=ВПР(G6;данные;ПОИСКПОЗ(G7;месяц;0);0)
Примечание: подобный двусторонний поиск с помощью ИНДЕКС и ПОИСКПОЗ, который предлагает большую гибкость и лучшую производительность для больших наборов данных, мы рассмотрим в дальнейшем.
16. Можно использовать символы подстановки для определения частичного соответствия.
Каждый раз, когда вы используете ВПР в режиме точного поиска, у вас есть возможность использовать подстановочные знаки в поисковом значении. Это может показаться нелогичным, но эти знаки позволяют найти точное совпадение на основе частичного совпадения
Если аргумент «искомое» является текстом и интервальный_просмотр имеет значение ЛОЖЬ, то для обнаружения точного совпадения можно использовать символы подстановки * и ?.
- * (звездочка) – любое количество любых символов (в том числе и их полное отсутствие)
- ? (вопросительный знак) – один любой символ.
Но будьте внимательны с этими знаками. Как только будет найдено что-то подходящее, дальше искать уже не будет.
Они дают вам простой способ создать «ленивый поиск», но они также позволяют ошибиться.
17. Вместо ошибки #Н/Д можно показать любое сообщение
В режиме точного совпадения ВПР отобразит ошибку #Н/Д, если ничего не найдено. С одной стороны, это полезно, потому что оно однозначно говорит вам, что нет подходящих данных.
Иногда это не очень удобно, поскольку такие ошибки #Н/Д потом порождают новые ошибки при попытке рассчитать сумму, попадают в распечатку и т.д. Можно легко перехватить их и заменить на любое другое подходящее значение (скажем, на ноль) с помощью функции ЕСЛИОШИБКА (IFERROR).
Далее мы рассмотрим обработку ошибок более подробно.
18. Числа, записанные как текст, могут стать причиной ошибки.
Иногда таблица, с которой вы работаете, может содержать числа, введенные в виде текста. И если вы ищете именно число, то совпадений не обнаружите.
В этом случае артикул 99023 записан в одном случае как текст, в другом – как число. Поэтому и видим ошибку #Н/Д.
Чтобы решить эту проблему, необходимо убедиться, что критерий поиска и первая колонка имеют одинаковый тип данных (либо оба числа, либо оба текста).
Один из способов сделать это — преобразовать значения в диапазоне поиска в числа. Простой способ сделать это — прибавить ноль к каждому из них с помощью инструмента специальной вставки.
Читайте подробнее — как преобразовать текст в число.
И наоборот, можно преобразовать критерий поиска в текст, присоединяя пустой пробел («») следующим образом:
= ВПР(D6&»»,A3:A21,2,0)
Если вы не уверены, когда у вас будут цифры, а когда будет текст, вы можете использовать оба варианта, заключив ВПР в ЕСЛИОШИБКА и написав выражение для обработки обоих случаев:
=ЕСЛИОШИБКА(ВПР(D6,A3:A21,2,0);ВПР(D6&»»,A3:A21,2,0))
А вообще об ошибках мы будем говорить в отдельной статье. Ссылки смотрите внизу.
19. ВПР нужна для замены вложенных операторов ЕСЛИ.
Одним из наиболее интересных применений ВПР является замена вложенных операторов ЕСЛИ. Наверняка вы когда-либо создавали серию вложенных как матрешки друг в друга условий и заметили, что они работают нормально, но требуют большого количества скобок. Запутаться и сделать логическую ошибку тут очень легко.
Обычное использование вложенных ЕСЛИ — это расчет процента скидки или уровня налоговой ставки на основе соответствующей шкалы.
В приведенном ниже скриншоте вы можете сравнить использование вложенной ЕСЛИ и то, что можно сделать при помощи функции ВПР.
Полная вложенная формула ЕСЛИ выглядит следующим образом:
=ЕСЛИ(B1>50000,01;20%;ЕСЛИ(B1>30000,01;17%;ЕСЛИ(B1>20000,01;15%; ЕСЛИ(B1>10000,01;13%;ЕСЛИ(B1>2000,01;12%;10%)))))
Это прекрасно работает, но учтите, что логика и шкала оценки вставляются прямо в выражение. Если шкала по какой-либо причине изменится, вам нужно будет аккуратно изменить его, а затем, возможно, скопировать куда необходимо.
С ВПР все гораздо проще. Все, что вам нужно сделать, это убедиться, что список интервалов оценки правильно настроен, то есть отсортирован в порядке возрастания.
=ВПР(B1;D2:F7;3;1)
Обратите внимание, что используется интервальный поиск.
Приятным бонусом этого подхода является то, что логика и оценки записаны прямо на лист Excel. Если что-то изменится, вы можете просто поправить критери границ дохода, а редактирование самого выражения не требуется.
20. Можно использовать только один критерий.
ВПР может искать только на основе одного критерия, который указывается в качестве значения для поиска в первом столбце (предназначенном для поиска).
Это означает, что вы не можете легко сделать такие вещи, как поиск сотрудника с фамилией «Петров» в «Бухгалтерии» или поиск сотрудника на основе имени и фамилии, если они записаны в отдельных столбиках.
Однако существуют способы преодоления этого ограничения. Одним из простых обходных путей является создание вспомогательного столбца, который объединяет значения из разных колонок для создания новых значений поиска.
Об этом и других способах борьбы с этим ограничением читайте на нашем сайте в специальных инструкциях. Ссылки вы можете найти в конце этого материала.
21. Два ВПР быстрее, чем один.
Это может показаться совершенно невероятным, но когда у вас большой набор данных и вам необходимо найти точное совпадение, вы можете значительно ускорить вычисления, добавив еще один ВПР в формулу!
Предыстория: представьте, что у вас много данных о заказах, скажем, более 10000 записей, и ВПР нужна для поиска общей суммы заказа на основе идентификатора заказа. Итак, вы используете что-то вроде этого:
= ВПР(заказ_ID, заказ_данные, 5,ЛОЖЬ)
То есть, мы ищем точное совпадение. Если номер заказа не будет найден, то получим ошибку #Н/Д.
Проблема в том, что точные совпадения действительно ищутся медленно, потому что Excel должен перебирать последовательно через все значения, пока не найдет искомое (или нет).
И наоборот, приблизительные совпадения молниеносны, потому что Excel может выполнять то, что называется бинарным поиском.
Однако проблема с этим двоичным поиском состоит в том, что Excel может возвращать неправильный результат, когда номер заказа не найден. Он просто возьмет наиболее похожий и близкий, что вряд ли вас устроит. Хуже того, ответ может выглядеть совершенно нормально, поэтому ошибку очень сложно обнаружить.
Решение состоит в том, чтобы использовать ВПР дважды, оба раза в режиме приблизительного соответствия. Первый раз просто проверяем, что значение действительно существует. Если это так, второй ВПР запускается (опять же, в режиме приблизительного соответствия), чтобы получить нужные данные. Если нет, вы можете вернуть любую фразу, которой вы хотите указать, что результат не был найден.
Окончательное выражение выглядит так:
= ЕСЛИ(ВПР(заказ_ID, заказ_данные, 1,ИСТИНА)=заказ_ID; ВПР(заказ_ID,заказ_данные,5,ИСТИНА);»Не найдено»)
То есть, мы сначала ищем и извлекаем номер заказа. И если результат этого поиска точно совпадает с критерием, повторяем еще раз, но теперь уже извлекаем именно сумму заказа.
Примечание: ваши данные должны быть отсортированы, чтобы использовать этот способ.
22. ИНДЕКС и ПОИСКПОЗ могут больше и лучше, чем ВПР.
Если вы будете читать о работе в Excel, то вы, вероятно, столкнетесь с дебатами «ВПР или ИНДЕКС+ПОИСКПОЗ ?». Спор может быть на удивление горячим
Суть в следующем: ИНДЕКС+ПОИСКПОЗ может делать все, что может делать ВПР (и ГПР), с гораздо большей гибкостью, но за счет немного большей сложности.
Таким образом, те, кто поддерживает ИНДЕКС и ПОИСКПОЗ, будут утверждать (и очень разумно), что вы могли бы также начать их изучать, так как в итоге это дает вам лучший набор инструментов.
Аргумент против заключается в том, что здесь требуется две функции вместо одной, поэтому пользователям (особенно начинающим) сложнее учиться и осваивать их.
Мой совет состоит в том, что если вы часто используете Excel, то обязательно нужно научиться использовать ИНДЕКС и ПОИСКПОЗ. Это очень мощная комбинация.
Но я также думаю, что вы должны обязательно знать, что такое ВПР. Ведь с ней вы столкнетесь повсюду, часто в файлах, которые вы получили от других людей. В простых ситуациях она справится без проблем.
[the_ad_group id=»48″]
Еще об использовании функции ВПР:
-
Как работает ВПР. Для чайников
- Синтаксис функции ВПР
- Интервальный просмотр — 0 или 1, ЛОЖЬ или ИСТИНА
- Тайна четвертого параметра ВПР
- Как сделать ВПР — понятная пошаговая инструкция
- ВПР по вхождению подстроки
-
Не работает ВПР — ошибки и причины
- ВПР выдает ошибку #Н/Д
- ВПР не подтягивает значение, хотя искомое в таблице есть
Функцией ВПР (по-английски VLOOKUP) пользоваться довольно просто. Есть десятки примеров и даже пошаговых инструкций. Однако, новичкам в Excel непросто даётся понимание того, как работают формулы с функцией ВПР.
В этой статье я попробую максимально понятно описать, как работает ВПР простыми словами и научить вас её использовать.
Как работает ВПР. Для чайников
Расшифровка названия функции уже дает половину ответа на вопрос «Как работает ВПР?». Ведь она расшифровывается как Вертикальный ПРосмотр. Потому что находит искомое, просматривая данные в таблице вертикально.
Синтаксис функции ВПР
Я обучал синтаксису функции многих людей, и выявил, что самая распространенная сложность — запомнить порядок аргументов функции, что за чем следует.
Когда я думаю о функции, я вспоминаю знакомую всем телепередачу «Что? Где? Когда?».
Первые два аргумента — как раз «Что?» и «Где?», и идут именно в этом порядке. Первый аргумент — искомое значение, иначе говоря, что мы ищем. Второй аргумент — диапазон, таблица, простыми словами — где мы ищем. Третий аргумент числовой, и обозначает, когда мы должны остановиться, считая столбцы в таблице слева направо от найденного в первом столбце таблицы значения.
А четвертый аргумент («интервальный просмотр») вроде бы даже не обязательный, но на поверку очень важен. Ведь от его значения зависит, как будет работать функция. Жаль, вопроса «Как?» в телепередаче не было.
Интервальный просмотр — 0 или 1, ЛОЖЬ или ИСТИНА
Скажу заранее. Если нужно просто найти искомое значение и вернуть то, что напротив — используйте в этом параметре 0 (или ЛОЖЬ, но 0 напечатать проще) и не читайте дальше.
Если же хотите узнать главный секрет функции ВПР, то дальше информация для вас.
Тот, кто перевел последний параметр range lookup с английского как «интервальный просмотр», испортил жизнь многим новичкам в Excel.
Потому что там нет ничего интервального, все вполне себе сплошное. А корректно перевести параметр следовало бы «способ просмотра диапазона«.
Также справочный текст говорит следующее:
- ЛОЖЬ или 0 обозначает точное совпадение;
- ИСТИНА, 1 или эквивалентный им пропуск параметра (т.к. это значение по умолчанию) обозначает приблизительное совпадение
И вот с этим приблизительным совпадением сразу возникает ряд вопросов. Что значит приблизительное? Насколько? Каким алгоритмом считается «приблизительность»? Зачем сортировать? И почему по возрастанию?
Тайна четвертого параметра ВПР
Корректно и глубоко тема разницы алгоритмов поиска ВПР и ПОИСКПОЗ в рунете практически не раскрыта. Между тем, примечательный факт в том, что:
- Когда четвертый параметр ЛОЖЬ или 0 — используется линейный поиск;
- Когда он ИСТИНА, 1 или не указан явно, но используется по умолчанию — используется бинарный поиск.
В чем разница?
Линейный поиск — это когда Excel находит искомое значение, пробегая сверху вниз по одной строке. Это совершенно не оптимально, и именно поэтому с большими таблицами ВПР работает очень медленно!
Бинарный же поиск в Excel позволяет находить данные практически мгновенно, так как выполняет четыре основных шага:
- Длина диапазона данных делится пополам и позиция чтения перемещается в середину.
- Найденное значение (пусть n) сравнивается с тем, которое мы ищем (пусть m).
- Если m > n, то берется вторая часть массива, если m < n — первая часть.
- Далее шаги 1-3 повторяются на выбранной части диапазона.
Простыми словами, это похоже на поиск по словарю. Открываем его посередине, смотрим, в какой половине нужное нам значение. В первой? Тогда открываем первую часть посередине, и так продолжаем делить напополам, пока не находим искомое.
В сравнении с линейным поиском, на целиком заполненном столбце Excel (1048576 строк, или 2 в 20 степени) бинарный будет в ~52.000 раз быстрее! (1048576 поделить на 20).
Но есть несколько моментов, которые нужно знать для работы с ВПР в этом режиме:
- Данные должны быть сортированы по возрастанию (как и полагается любому словарю).
- Если искомое не найдено, возвращается значение той строки, что предшествовала бы искомой, если бы она была в диапазоне.
- Если вы уверены, что все искомые значения в диапазоне присутствуют, достаточно будет только сортировки
- Если искомое может отсутствовать, а вы не хотите возвращать значение другой строки, формулу можно немного усложнить.
=ЕСЛИ(ВПР(искомое;диапазон;1;1)<>искомое;"";ВПР(искомое;диапазон;n;1))
Так будет выглядеть формула, которая будет возвращать пустоту, если искомое не найдено, при этом будет оставаться столь же быстрой (практически мгновенной даже при работе с сотнями тысяч строк!).
Важный момент — в Excel 2019 и выше даже при использовании параметра 0 используется оптимальный быстрый алгоритм, поэтому большого прироста скорости в последних версиях такая формула не даст (зато даст в Excel 2016 и всех версий что раньше). Вероятнее всего, в Microsoft решили, что пришло время упростить жизнь пользователям, которые не хотят во всём этом разбираться
Как сделать ВПР — понятная пошаговая инструкция
Как сделать правильно формулу ВПР, чтобы найти несколько значений одной таблицы в другой и найти совпадения, или для совпадающих данных вернуть данные напротив?
Ниже пошаговая инструкция по использованию функции ВПР с полезными лайфхаками и картинками. Итак:
Если читали выше, я упоминал, как просто запомнить синтаксис функции ВПР. 3 вопроса в указанном порядке. Что? Где? Когда? И потом уже «Как?»
- Что?
Что будет искать формула? Как правило, здесь указывается адрес ячейки, в которой находится искомое значение.
- Где?
Где будет искать формула значение из первого шага? Обычно тут указывается диапазон ячеек, состоящий из нескольких столбцов. Лайфхак: выделяйте столбцы целиком (например, B:D), а не диапазон ($B$2:$D$250). Это быстрее и не требует закреплять диапазоны (а закреплять их нужно, иначе при протягивании формулы вниз адрес будет меняться). Выделить столбцы можно, проведя по буквам столбцов левой кнопкой мыши (как показывает стрелка на скриншоте).
- Когда?
Когда остановиться, считая слева направо для выбора возвращаемого формулой значения? В данном случае нам нужна сумма, а это второй столбец таблицы.
- Как?
Как искать? О разнице способов поиска ВПР читайте выше: Интервальный просмотр — 0 или 1, ЛОЖЬ или ИСТИНА? Обычно выбирается линейный поиск, так что тут вводим «0».
И на всякий случай, пройдем все шаги подряд и посмотрим, как это выглядит на практике.
ВПР по вхождению подстроки
Помимо поиска по точному совпадению, ВПР умеет искать данные и с неточным совпадением, т.к. поддерживает подстановочные символы (? и *). Важно, что их учёт возможен только в режиме линейного поиска (четвертый параметр 0 или ЛОЖЬ). Ниже пример с использованием знака вопроса, обозначающего один любой символ:
Не работает ВПР — ошибки и причины
Функция ВПР иногда ведет себя непредсказуемо, например, не подтягивает значения, возвращает ошибки там, где не должна, или возвращает неожиданные значения. Рассмотрим, почему ВПР не срабатывает так, как должен.
ВПР выдает ошибку #Н/Д
Формулы с ВПР выдают ошибку «#Н/Д», когда функция не находит искомое значение в указанной таблице. Следует понимать, что поиск производится исключительно по первому столбцу, а также — что если не закрепить выбранный диапазон поиска, при протягивании формулы будет смещаться и он, что в 99% случаев будет приводить к ошибкам.
Хотите избавиться от ошибки, когда искомое не найдено? Почитайте, как сделать это с помощью функции ЕСЛИОШИБКА в соответствующей статье. А я лишь приведу формулы оттуда:
=ЕСЛИОШИБКА(ВПР(ячейка-или-значение;диапазон;номер-столбца;0);"ошибка")
=ЕСЛИОШИБКА(ВПР(ячейка-или-значение;диапазон;номер-столбца;0);"")
ВПР не подтягивает значение, хотя искомое в таблице есть
Иногда такое бывает — вы видите, что в таблице есть данные, которые вы ищете, но ВПР будто не срабатывает. Не находит данные. Абсолютно всегда проблема не в ВПР, а в самих данных, и они действительно не совпадают. Самые распространенные проблемы, когда визуально в ячейках одинаковы, но на поверку — нет:
- В таблице искомых значений или в диапазоне поиска присутствуют лишние пробелы, которые нужно удалить.
- Вместо обычных пробелов в ячейках используются неразрывные пробелы, визуально между ними нет никакой разницы, но программа её видит.
- В данных присутствуют переносы строк, символы табуляции, возврат каретки и другие виды «невидимых» символов
- Вместо кириллицы используется латиница или наоборот, для букв с идентичным написанием (для компьютера русская А и английская A — разные символы!). Тогда нужно заменить кириллицу на похожую латиницу (или наоборот).
Рекомендация в таких случаях следующая. Попробуйте сравнить ячейки, которые видите как одинаковые, отдельно (Например, скопируйте их в ячейки A1 и A2 на другой лист). Сначала сравните целиком (=A1=A2, должно вернуть «ИСТИНА»), если конструкция возвращает «ЛОЖЬ», сравните их уже посимвольно (первый символ с первым, второй со вторым и т.д.), здесь вам поможет функция ПСТР.
Понравилась статья? Поддержите ее автора!
Набор инструментов !SEMTools поможет решить множество задач без ввода сложных формул и сэкономит ваше время. И вам полезно, и автору приятно!
ВПР позволяет быстро подтаскивать данные с одного листа на другой в рамках одной таблицы. Эту функцию еще часто называют VLOOKUP, потому что в английском она так и называется. ВПР в Excel – очень мощная функция, которая может сэкономить вам много времени. Но, как и любая функция Экселя, ВПР обладает крайне непонятным синтаксисом и работает, мягко говоря, с особенностями. Ниже – о том, как ВПР в Эксель реализована, как ее правильно использовать и как эта же функция выглядит в таблицах Гугла.
Возможные ошибки новичков
Алгоритм работы функции:
- Указываем, что искать (абсолютное значение или что-то в ячейке).
- Указываем, где искать (некий диапазон в другой таблице).
- Указываем, какое значение возвращать. Это – самая сильная сторона ВПР. Когда функция находит совпадение (например, фамилию работника), она возвращает не саму фамилию, а значение, которое находится в той же строке. То есть мы можем вернуть зарплату этого работника, его фамилию, дату рождения – в общем, все, что захотим, при условии, что все данные в одной строке принадлежат одному работнику (данные упорядочены).
- Указываем точность совпадения. Эксель позволяет вернуть как точное совпадение, так и частичное. Рекомендуем всегда пользоваться точным совпадением, потому что «частичное совпадение» – вещь весьма расплывчатая, Эксель может взять вообще не те данные, которые вам на самом деле нужны. Как-то повлиять на алгоритм выбора простыми методами нельзя.
На практике это выглядит вот так: ВПР(B2;’Дневная потребность’!$A$3:$B$12;2;0), где:
- B2 – что мы будем искать.
- ‘Дневная потребность’!$A$3:$B$12 – где мы будем искать. Указываем таблицу на другом листе.
- 2 – из какого столбца мы будем возвращать данные, когда найдем соответствие.
- 0 – используем точное соответствие (1 – использовать приблизительное, не рекомендуется).
Пошаговая инструкция
Предположим, что у нас есть приют для котиков. Нам нужно посчитать, сколько пакетиков корма нам нужно купить на завтра и сколько денег на это нужно. У нас есть 2 таблицы на разных страницах:
- В первой таблице указано имя кота и его вес, сюда же мы будем вносить количество пакетиков, стоимость и итоговые значения.
- Во второй таблице указано количество пакетиков на день в зависимости от веса кота.
В строке 2 указаны номера колонок – колонки обязательно нужно нумеровать, без этого функция работать не будет.
Итак, щелкаем на первое пустое поле в основной таблице, нажимаем на значок создания функции и выбираем ВПР.
Нам нужно заполнить аргументы функции:
Искомое значение – это то значение, по которому мы будем искать. В нашем случае это «Вес кота», поэтому указываем B2. Таблица – это место, где мы будем искать. Нужно выбрать всю таблицу за исключением заголовка и номеров колонок.
Кроме того, нужно зафиксировать значения диапазона таблицы, чтобы она не «поехала», когда мы будем распространять формулу на другие ячейки основной таблицы. Для этого выделяем диапазон в конструкторе формулы и жмем F4.
Далее указываем номер столбца, из которого нужно брать данные. В нашем случае – второй столбец, поскольку в нем указано количество пакетиков. В «Интервальный просмотр» ставим 0, чтобы искать по точному соответствию.
Применяем – получаем результат. Растягиваем его на остальные ячейки.
Пакетик корма стоит 60 рублей, поэтому высчитываем стоимость как D2=C2*60 (и растягиваем на остальные пустые ячейки), в C9 пишем =СУММ(C2:C8), в D10 пишем =СУММ(D2:D8).
Получаем 14.5 пакетиков в день на сумму 870 рублей, по факту придется купить 15 на сумму 900 рублей, ибо половину пакетика никто не продаст.
ВПР в Гугл Таблицах
У Гугла все работает абсолютно так же. Функция называется VLOOKUP, но вы можете написать ВПР, и Гугл автоматически поменяет название после того, как вы примените функцию. Единственная особенность – формулу нужно вводить непосредственно в поле, конструктор недоступен.
Пошаговая инструкция
Создаем 2 таблицы – основную и ту, в которой мы будем искать информацию.
Выбираем первую ячейку, пишем =ВПР(. После этого Гугл предлагает нам ввести или выбрать данные. Данные разделяются знаком ;.
Чтобы указать диапазон таблицы, переходим на нужную страницу и выделяем таблицу. Выделили – не забудьте нажать на F4, чтобы зафиксировать диапазон.
Вводим номер столбца и 0, чтобы искать точное совпадение. Распространяем формулу на остальные ячейки, считаем цену для каждого кота и общие суммы.
Возможные ошибки новичков
- Не фиксирован диапазон. Если вы не зафиксируете диапазон при указании границ таблицы с данными, в первой ячейке формула применится верно, а вот в остальных будут неправильные значения, потому что диапазон таблицы «поедет» вслед за смещением. Поэтому не забывайте поставить $ перед каждой координатой или просто выберите все и нажмите F4.
- Неправильно выбран диапазон таблицы. В диапазоне нужно указывать всю таблицу, за исключением заголовка и номеров столбцов. Если у вас выскакивает ошибка, связанная с неправильной ссылкой – поищите проблему в диапазоне таблицы.
- Поиск происходит не по первому столбцу таблицы. В этом случае результат может быть непредсказуем – всегда ищите совпадение именно в первом столбце.
Что почитать по теме
- Справка от Майкрософт.
- Справка от Гугла.
FAQ
Какой результат выдаст функция, если найдет несколько вхождений в таблице, в которой мы ищем данные?
Функция вернет результат из первого найденного вхождения.
Можно ли писать внутри функции формулы?
Да, вы можете как написать формулу внутри одного из параметров функции, так и передать результаты работы функции в формулу. Например, =ECЛИ(ВПР(“Иванов”;’сотрудники’!$B$3:$B$203;3;0)=1;”Есть”;”Не найден”) будет писать «Есть», если такой сотрудник есть в базе (и в специальной колонке ему присвоено значение 1), и «Не найден» в противном случае.
Подведем итоги
Тезисно:
- ВПР позволяет вам вставить какие-то данные из другого листа (или с этого же, если они попадают под определенные критерии).
- Чтобы написать функцию, вам нужно указать: какие данные нужно искать; где их искать; из какой колонки таблицы брать результат; искать ли по точному совпадению.
- В Excel и Google Sheets – одинаковый синтаксис для ВПР, единственная разница – Excel позволяет создать функцию через мастера создания функций.
Допустим у нас есть таблица с прайс листом товаров. Задача состоит в том, чтобы заполнить таблицу Заказов.
Функция ВПР в Excel с примером
Для решения данной задачи мы будем использовать функцию ВПР. В Excel существуют и другие функции с помощью которых можно решить данную задачу, но мы с вами разбираем самую популярную и часто используемую функцию ВПР в Excel.
Итак, чтобы решить задачу в нашем примере нам необходимо сначала заполнить столбец «С» в таблице заказов, т.е найти цену товаров в таблице «Прайс лист», а затем, чтобы узнать стоимость — перемножить цену на количество товаров.
Синтаксис функции ВПР (VLOOKUP) в Excel
[ads]
ВПР(искомое_значение, таблица, номер_столбца, [интервальный_просмотр])
Функция ВПР ищет значение в крайнем левом столбце таблицы и возвращает значение ячейки, находящейся в указанном столбце той же строки.
Разберем функцию на нашем примере. Вставим курсов в ячейку C3 и наберем формулу =ВПР(A3;$F$2:$H$22;3;0)
в английской версии =VLOOKUP(A3;$F$2:$H$22;3;0)
В данной формуле с ВПР (англ. VLOOKUP):
A3 – искомое_значение. В нашем случае это «Ведро», т.е нам необходимо найти «ведро» в таблице «Прайс лист»
$F$2:$H$22 – таблица. В нашем примере это таблица «Прайс лист» (F2:H22). В диапазон данной таблицы вставлены знаки $ для его закрепления, чтобы он не сдвигался вниз, когда мы будем протягивать формулу. Знак доллара в Excel превращает относительный диапазон в абсолютный.
3 – номер столбца. В нашем случае это цифра «3», так как цена находится в третьем столбце нашей таблицы «Прайс лист».
0 – интервальный просмотр. Может принимать только два значения 0 или 1: 0 – ищет точное совпадение, 1 – приблизительное. В 99% случаях требуется искать точное значение (в нашем случае нам необходимо искать слово «Ведро»). Поэтому практически всегда указывается цифра 0.
Таким образом, логика функции ВПР Excel в нашем примере следующая. Функция ищет искомое значение («ведро») в крайнем левом столбце таблицы («Прайс лист»), после того как находит — возвращает значение ячейки находящейся в указанном столбце той же строки, т.е цену 120 рублей.
После этого переходим в ячейку D3 и находит стоимость товаров. Прописываем формулу =C3*B3, т.е перемножаем цену товара на количество.
Далее для автоматической простановки формул по остальным товаром, необходимо протянуть формулу вниз. Для этого необходимо выделить обе ячейки которые нужно протянуть и потянуть вниз за нижний правый угол (смотрите рисунок 3)
Если статья была вам полезна, то буду благодарен, если вы поделитесь ей со своими друзьями с помощью кнопок расположенных ниже.
Спасибо за внимание.
Функция ВПР является одной из наиболее часто используемых и универсальных при работе с данными в Excel. Она не лишена недостатков, но ее обязательно следует освоить для понимания механизма работы с данными в Excel. Внимание!!! В августе 2019 Microsoft представила замену для ВПР — функцию ПРОСМОТРX, которая лучше во всем но требует поддержки динамических массивов
Описание функции ВПР
ВПР на английском — это VLOOKUP. ВПР осуществляет поиск указанного значения в определенном диапазоне (либо таблице из нескольких столбцов) и возвращает значение, которое находится в одной строке с искомым, из этого же диапазона. Наглядно, алгоритм действий получается следующий:
- Функция ссылается на идентификатор «40», т.е. значение, которое необходимо найти в первом столбце диапазона A3:D9 и возвращает значение из 4-го столбца той же строки, в которой находится идентификатор 40, т.е. это значение зарплаты 87000
=ВПР(G2;A3:D9;4;0)
=ВПР(G6;A3:D9;3;0)
В обоих случаях, в качестве четвертого параметра стоял «0» — этот параметр называется «интервальный_просмотр». Его можно записывать как «0» или «1», а также как «ЛОЖЬ» или «ИСТИНА». Более подробно об этом аргументе ниже в разделе «Синтаксис»
На первый взгляд может показаться, что выглядит все немного запутанно, но, на самом деле, использовать эту опцию довольно просто.
Буква «В» в названии функции ВПР означает «вертикально». Функция ВПР используется вместо функции ГПР, если сравниваемые значения расположены в столбце слева от искомых данных.
Вот другой пример, который наглядно демонстрирует принцип работы функции ВПР:
Синтаксис
=ВПР(искомое_значение; таблица; номер_столбца; [интервальный_просмотр])
Аргументы
искомое_значениетаблицаномер_столбцаинтервальный_просмотр
Обязательный. Значение, которое должно быть найдено в первом столбце таблицы или диапазона. Аргумент искомое_значение может быть значением или ссылкой. Если искомое_значение меньше, чем наименьшее значение в первом столбце аргумента таблица, функция ВПР возвращает значение ошибки #Н/Д.
Обязательный. Диапазон ячеек, содержащий данные. Можно использовать ссылку на диапазон (например, A2:D8) или имя диапазона. Значения в первом столбце аргумента таблица — это значения, в которых выполняется поиск аргумента искомое_значение. Эти значения могут быть текстовыми, числовыми или логическими. Текстовые значения в нижнем и верхнем регистре считаются эквивалентными.
Обязательный. Номер столбца в аргументе таблица, из которого возвращается совпадающее значение. Если номер_столбца равен 1, то возвращается значение из первого столбца аргумента таблица; если номер_столбца равен 2, — значение из второго столбца аргумента таблица и т. д.
Если значение аргумента номер_столбца:
- меньше 1, функция ВПР возвращает значение ошибки #ЗНАЧ!;
- больше, чем число столбцов в аргументе таблица, функция ВПР возвращает значение ошибки #ССЫЛ!.
Необязательный. Логическое значение, определяющее, какое совпадение должна найти функция ВПР — точное или приблизительное.
Если аргумент интервальный_просмотр имеет значение ИСТИНА или опущен, то возвращается точное или приблизительное совпадение. Если точное совпадение не найдено, то возвращается наибольшее значение, которое меньше, чем искомое_значение.
Внимание! Если аргумент интервальный_просмотр имеет значение ИСТИНА или опущен, значения в первом столбце аргумента таблица должны быть расположены в возрастающем порядке, иначе функция ВПР может вернуть неправильный результат.
Если аргумент интервальный_просмотр имеет значение ЛОЖЬ, функция ВПР ищет только точное совпадение. Если в первом столбце аргумента таблица имеется несколько значений, соответствующих аргументу искомое_значение, используется первое найденное значение. Если точное совпадение не найдено, возвращается значение ошибки #Н/Д.
Замечания
- При поиске в большом массиве, особенно, если на листе Excel много формул, у пользователя могут возникать проблемы с производительностью. Первое, что приходит на ум — это произвести апгрейд компьютера. Да, функция ВПР считается достаточно медленной, однако, мало кто знает, что ее скорость работы можно увеличить десятикратно, если использовать поставить аргумент равным ИСТИНА (или 1). Да, здесь есть нюанс в виде обязательной сортировки, поэтому такое ускорение будет работать не всегда. Кстати скорость увеличивается из-за сортировки, в этом случае нет необходимости сравнивать каждое значение из столбца.
- Функция ВПР осуществляет поиск всегда в самом первом (левом) столбце диапазона. Данное ограничение можно обойти, там где возможно, конечно, уменьшив аргумент таблица, чтобы искомый столбец стал самым первым
Поиск ВПР всегда в самом левом столбце - При поиске текстовых значений в первом столбце аргумента таблица убедитесь, что данные в этом столбце таблицы не содержат начальных пробелов, конечных пробелов, используемых не по правилам прямых ( ‘ или » ) и «парных» ( ‘ или “ ) кавычек или непечатаемых символов. В этих случаях функция ВПР может вернуть неправильное или непредвиденное значение
Возвращение ошибки функцией ВПР - При поиске числовых значений или значений дат убедитесь, что данные в первом столбце аргумента таблица не являются текстовыми значениями. В этом случае функция ВПР может вернуть неправильное или непредвиденное значение
- Если значение аргумента «интервальный_просмотр» — ЛОЖЬ, а аргумент искомое_значение представляет собой текст, то в аргументе искомое_значение допускается использование подстановочных знаков: вопросительного знака (?) и звездочки (*). Вопросительный знак соответствует любому одиночному символу; звездочка — любой последовательности символов. Если нужно найти сам вопросительный знак или звездочку, поставьте перед ними знак тильды (~)
Использование заполнителей при поиске текстовых значений
Нюансы использования ВПР
Когда пользователь работает с функцией ВПР, не исключено появление различных ситуаций, когда что-то пошло не так или нужно обойти некоторые ограничения. Здесь и будут рассмотрены такие нюансы использования и решение различного рода потенциальных проблем.
Поиск в первом столбце
Как было сказано в замечаниях, одним из минусов является то, что поиск осуществляется только в самом левом столбце.
Не исключено, что столбец, в котором содержатся требуемые значения, располагается слева от столбца, где будет вестись поиск.
Если необходимо осуществлять поиск слева от искомого столбца, то нужно использовать связку ИНДЕКС + ПОИСКПОЗ. Понимание работы данной связки несколько сложнее ВПР, но, если вы освоите данную функцию, то использовать ИНДЕКС + ПОИСКПОЗ не составит большого труда.
Поиск до первого совпадения
Особенностью работы ВПР является поиск только до первого совпадения. Соответственно, если первый столбец диапазона не уникальный будет найдено только первое вхождение. Иногда именно это и нужно, иногда — нет, поэтому нужно иметь ввиду.
Данное ограничение можно обойти, решение не самое простое, но детально описано в курсе Excel.
Независимость от регистра
Для Excel и ВПР не важно в каком регистре (заглавные или прописные буквы) записано искомое значение и как оно записано в самом диапазоне.
Лишние пробелы
В замечаниях мы показали, как незаметный пробел может вызывать ошибку работы данной функции. Если существует риск загромождения ячеек чрезмерным количеством пробелов, следует очистить ячейки с помощью функции СЖПРОБЕЛЫ (TRIM).
Различие в формате данных
Если один параметр ВПР дает отсылку к ячейке содержащей цифру, которая прописана текстом, а начальный столбец массива содержит цифры в верном, числовом формате, или же наоборот, поиск не даст результатов.
Все можно исправить посредством приведения параметров в одинаковый формат. К примеру:
=ВПР(−−G2; A3:D9; 4; 0)
— если в D5 буквы, а в таблице — цифры;
=ВПР(G2 & «»); A3:D9; 4; 0)
— и иначе.
Существует несколько вариаций, как изменить формат текста на цифру:
- Возвести в степень: G2^1;
- Двойное отрицание: —G2;
- Прибавить ноль: G2+0;
- Умножить на один: G2*1.
Прекращение проявления ошибки #Н/Д
Если есть риск возникновения ошибки при вычислении формулы, можно воспользоваться функцией ЕСЛИОШИБКА (IFERROR), которая вернет определенное значение, в случае возникновения ошибки
Не зафиксирован массив
В примерах выше мы не использовали закрепление массива, т.к. всегда искали одно значение, т.е. не пользовались автозаполнением.
Однако, в подавляющем большинстве случаев, функцию ВПР вы будете использовать именно с автозаполнением. В этом случае лучше всего использовать абсолютную ссылку для закрепления диапазона поиска.
Массив можно оформить как умную таблицу. Команда «Форматировать как таблицу» из вкладки «Главная», либо горячее сочетание Ctrl+T. В этом случае ссылки на такой диапазон будут автоматически становиться абсолютными. Но при работе с такими таблицами в Excel есть свои нюансы и, не всегда это подойдет
Относительный поиск
При использовании ВПР пользователи, как правило всегда ставят аргумент интервальный_просмотр равным «0» (ЛОЖЬ), что означает, что нужно выполнить точный поиск и значения в первом столбце не отсортированы. Однако, если поиск осуществляется числовых значений, в некоторых случаях, хорошим решением будет отсортировать значения и выполнить не точный поиск. А в некоторых случаях неточный поиск вообще будет единственным решением. Рассмотрим подробнее.
Рассмотрим подробнее примеры с неточным совпадением, и здесь не лишним будет напомнить, что если точное совпадение не найдено, то возвращается наибольшее значение, которое меньше, чем искомое значение.
Поиск оценкиМаксимальное значениеВязкость жидкости
Сейчас часто оценку можно встретить в двух форматах: в баллах и буквенном обозначении, например:
- 0 — 60: F
- 60 — 70: D
- 70 — 80: C
- 80 — 90: B
- 90 — 100: A
Вот так выглядит формула, если для ее построения использовать логическую функцию ЕСЛИ (да-да, с использованием ПЕРЕКЛЮЧ или ЕСЛИМН решение тоже будет лучше, но, допустим, у вас не самый свежий Excel, да и ВПР здесь выигрывает и у новых логических функций тоже):
посмотрите на рисунке на формуле с ЕСЛИ и сравните с таковой ВПР и неточным совпадением, последняя выглядит значительно лучше:
=ВПР(E1;A2:B6;2;1)
Для поиска максимального значения есть более подходящая функция МАКС, однако, она просто найдет максимальное значение, а вот с помощью ВПР мы можем найти другое значение в таблице, которое находится в одной строке с максимальным. Например, у нас есть столбец с зарплатой сотрудников и нам нужно найти фамилию сотрудника у которого она максимальная.
Поскольку, если ВПР не находит точное совпадение, то функция вернет максимальное значение, которое меньше искомого. Значит нам просто нужно ввести очень большое число, которое заведомо больше зарплаты любого сотрудника. Главное не забыть сортировку по зарплате сделать.
В примерах вы найдете классический пример использования ВПР для определения вязкости жидкости или температуры по плотности. Почему классический? Да потому, что в таких случаях как правило точные значения плотности не указывается, поскольку идет округление до тысячных, полученное значение может не совпадать с табличным, приходится брать максимальное, которое меньше искомого.
Пример
Большой пример из видеоПример про вязкость жидкости
Видео работы функции
Полная инструкция ВПРЕще про ВПРСравнение двух файловРешение задач #ExcelWorldChamp
Дополнительные материалы
Как сравнить два файла MS Excel
#Excelwordlchamp 1-1 Решаем задачи первого тура