Как в excel найти значение ячейки в другой таблице

Skip to content

ИНДЕКС ПОИСКПОЗ как лучшая альтернатива ВПР

В этом руководстве показано, как использовать ИНДЕКС и ПОИСКПОЗ в Excel и чем они лучше ВПР.

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

  • Краткий обзор функций ИНДЕКС и ПОИСКПОЗ
  • Как использовать формулу ИНДЕКС ПОИСКПОЗ
  • ИНДЕКС+ПОИСКПОЗ вместо ВПР?
  • Поиск справа налево
  • Двусторонний поиск в строках и столбцах
  • ИНДЕКС ПОИСКПОЗ для поиска по нескольким условиям
  • Как найти среднее, максимальное и минимальное значение
  • Что делать с ошибками поиска?

Для чего это нужно? Потому что функция ВПР имеет множество ограничений, которые могут помешать вам получить желаемый результат во многих ситуациях. С другой стороны, комбинация ПОИСКПОЗ ИНДЕКС более гибкая и имеет много замечательных возможностей, которые во многих отношениях превосходят ВПР.

Функции Excel ИНДЕКС и ПОИСКПОЗ — основы

Поскольку целью этого руководства является демонстрация альтернативного способа выполнения поиска в Excel с использованием комбинации функций ИНДЕКС и ПОИСКПОЗ, мы не будем подробно останавливаться на их синтаксисе и использовании. Тем более, что это подробно рассмотрено в других статьях, ссылки на которые вы можете найти в конце этого руководства. Мы рассмотрим лишь минимум, необходимый для понимания общей идеи, а затем подробно рассмотрим примеры формул, раскрывающие все преимущества использования ПОИСКПОЗ и ИНДЕКС вместо ВПР.

Функция ИНДЕКС

Функция ИНДЕКС (в английском варианте – INDEX) возвращает значение в массиве на основе указанных вами номеров строк и столбцов. Синтаксис функции ИНДЕКС прост:

ИНДЕКС(массив,номер_строки,[номер_столбца])

Вот простое объяснение каждого параметра:

  • массив — это диапазон ячеек, именованный диапазон или таблица.
  • номер_строки — это номер строки в массиве, из которого нужно вернуть значение. Если этот аргумент опущен, требуется следующий – номер_столбца.
  • номер_столбца — это номер столбца, из которого нужно вернуть значение. Если он опущен, требуется номер_строки.

Дополнительные сведения см. в статье Функция ИНДЕКС в Excel .

А вот пример формулы ИНДЕКС в самом простом виде:

=ИНДЕКС(A1:C10;2;3)

Формула выполняет поиск в ячейках с A1 по C10 и возвращает значение ячейки во 2-й строке и 3-м столбце, т. е. в ячейке C2.

Очень легко, правда? Однако при работе с реальными данными вы вряд ли когда-нибудь будете заранее знать, какие строки и столбцы вам нужны. Здесь вам пригодится ПОИСКПОЗ.

Функция ПОИСКПОЗ

Она ищет нужное значение в диапазоне ячеек и возвращает относительное положение этого значения в диапазоне.

Синтаксис функции ПОИСКПОЗ следующий:

ПОИСКПОЗ(искомое_значение, искомый_массив, [тип_совпадения])

  • искомое_значение — числовое или текстовое значение, которое вы ищете.
  • диапазон_поиска — диапазон ячеек, в которых будем искать.
  • тип_совпадения — указывает, следует ли искать точное соответствие или наиболее близкое совпадение:
    • 1 или опущено — находит наибольшее значение, которое меньше или равно искомому значению. Требуется сортировка массива поиска в порядке возрастания.
    • 0 — находит первое значение, точно равное искомому значению. В комбинации ИНДЕКС/ПОИСКПОЗ вам почти всегда нужно точное совпадение, поэтому вы чаще всего устанавливаете третий аргумент вашей функции в 0.
    • -1 — находит наименьшее значение, которое больше или равно искомому значению. Требуется сортировка массива поиска в порядке убывания.

Например, если диапазон B1:B3 содержит значения «яблоки», «апельсины», «лимоны», приведенная ниже формула возвращает число 3, поскольку «лимоны» — это третья по счету запись в этом диапазоне:

=ПОИСКПОЗ(«лимоны»;B1:B3;0)

Дополнительные сведения см . в статье Функция ПОИСКПОЗ в Excel .

На первый взгляд полезность функции ПОИСКПОЗ может показаться сомнительной. Кого волнует положение значения в диапазоне? Что мы действительно хотим определить, так это само значение.

Однако, относительная позиция искомого значения (т. е. номера строки и столбца, в которых оно находится) — это именно то, что нам нужно указать для аргументов номер_строки и номер_столбца функции ИНДЕКС. Как вы помните, ИНДЕКС может найти значение на пересечении заданной строки и столбца, но сама не может определить, какую именно строку и столбец ей нужно выбрать.

Вот поэтому совместное использование ИНДЕКС и ПОИСКПОЗ открывает перед нами массу возможностей для поиска в Excel.

Как использовать формулу ИНДЕКС ПОИСКПОЗ в Excel

Теперь, когда вы знаете основы, я считаю, что вы уже начали понимать, как ПОИСКПОЗ и ИНДЕКС работают вместе. Короче говоря, ИНДЕКС извлекает нужное значение по номерам столбцов и строк, а ПОИСКПОЗ предоставляет ей эти номера. Вот и все!

Для вертикального поиска вы используете функцию ПОИСКПОЗ только для определения номера строки, указывая диапазон столбцов непосредственно в самой формуле:

ИНДЕКС ( столбец для возврата значения ; ПОИСКПОЗ ( искомое значение ; столбец для поиска ; 0))

Все еще не совсем понимаете эту логику? Возможно, будет проще разобрать на примере. Предположим, у вас есть список национальных столиц и их население:

Чтобы найти население определенной столицы, скажем, Индии, используйте следующую формулу ПОИСКПОЗ ИНДЕКС:

=ИНДЕКС(C2:C10; ПОИСКПОЗ(“Индия”;A2:A10;0))

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

  • Функция ПОИСКПОЗ ищет искомое значение «Индия» в диапазоне A2:A10 и возвращает число 2, поскольку это слово занимает второе место в массиве поиска.
  • Этот номер поступает непосредственно в аргумент номер_строки функции ИНДЕКС, предписывая вернуть значение из этой строки.

Таким образом, приведенная выше формула превращается в ИНДЕКС(C2:C10;2), которая означает, что нужно искать в ячейках от C2 до C10 и извлекать значение из второй ячейки в этом диапазоне, то есть из C3, потому что мы начинаем отсчет со второй строки.

Но указывать название города в формуле не совсем правильно, так как для каждого нового поиска придется корректировать эту формулу. Введите его в какую-нибудь отдельную ячейку, скажем, F1, укажите ссылку на ячейку для ПОИСКПОЗ, и вы получите формулу динамического поиска:

=ИНДЕКС(C2:C10;ПОИСКПОЗ(F1;A2:A10;0))

Важное замечаниеКоличество строк в аргументе массив функции ИНДЕКС должно совпадать с количеством строк в аргументе просматриваемый_массив в ПОИСКПОЗ, иначе формула выдаст неверный результат.

Вы спросите: «А почему бы нам просто не использовать обычную формулу ВПР? Какой смысл тратить время на то, чтобы разобраться в хитросплетениях ИНДЕКС ПОИСКПОЗ в Excel?»

Вот как это будет выглядеть:

=ВПР(F1; A2:C10; 3; 0)

Конечно, так проще. Но этот наш элементарный пример предназначен только для демонстрационных целей, чтобы вы поняли, как именно функции ИНДЕКС и ПОИСКПОЗ работают вместе. Действительно, ВПР была бы здесь более уместна. Другие примеры, которые вы найдёте ниже, покажут вам реальную силу этой комбинации, которая легко справляется со многими сложными задачами, когда ВПР будет бессильна.

ИНДЕКС+ПОИСКПОЗ вместо ВПР?

Решая, какую функцию использовать для вертикального поиска, большинство знатоков Excel сходятся во мнении, что ПОИСКПОЗ+ИНДЕКС намного лучше, чем ВПР. Однако многие до сих пор остаются с ВПР, во-первых, потому что это проще, а, во-вторых, потому что они не до конца понимают все преимущества использования формулы ПОИСКПОЗ ИНДЕКС в Excel. Без такого понимания никто не захочет тратить свое время на изучение более сложного синтаксиса.

Ниже я укажу на ключевые преимущества ИНДЕКС ПОИСКПОЗ перед ВПР, а уж вам решать, является ли это достойным дополнением к вашему арсеналу знаний в Excel.

4 основные причины использовать ИНДЕКС ПОИСКПОЗ вместо ВПР

  1. Поиск справа налево. Как известно любому образованному пользователю, ВПР не может искать влево. Это означает, что искомое значение всегда должно находиться в крайнем левом столбце таблицы. А извлекать нужное значение мы будем из столбца, который находится правее. ИНДЕКС+ПОИСКПОЗ может легко выполнять поиск влево! Здесь это показано в действии: Как выполнить поиск значения слева в Excel .
  2. Можно безопасно вставлять или удалять столбцы. Формулы ВПР не работают или выдают неверные результаты, когда новый столбец удаляется из таблицы поиска или добавляется в нее, поскольку синтаксис ВПР требует указания порядкового номера столбца, из которого вы хотите извлечь данные. Естественно, когда вы добавляете или удаляете столбцы, этот номер в формуле автоматически не меняется, а нужный столбец уже оказывается на новом месте.

С функциями ИНДЕКС и ПОИСКПОЗ вы указываете диапазон возвращаемых столбцов, а не номер одного из них. В результате вы можете вставлять и удалять столько столбцов, сколько хотите, не беспокоясь об обновлении каждой связанной с ними формулы.

  1. Нет ограничений на размер искомого значения. При использовании функции ВПР общая длина ваших критериев поиска не может превышать 255 символов, иначе вы получите ошибку #ЗНАЧ!. Таким образом, если ваш набор данных содержит длинные строки, ИНДЕКС ПОИСКПОЗ — единственное работающее решение.
  2. Более высокая скорость обработки. Если ваши таблицы относительно небольшие, вряд ли будет какая-то существенная разница в производительности Excel. Но если ваши рабочие листы содержат сотни или тысячи строк и, следовательно, сотни или тысячи формул, ИНДЕКС ПОИСКПОЗ будет работать намного быстрее, чем ВПР. Причина в том, что Excel будет обрабатывать только столбцы поиска и возврата, а не весь массив таблицы.

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

ИНДЕКС ПОИСКПОЗ в Excel – примеры формул

Уяснив, почему все же стоит изучать ИНДЕКС ПОИСКПОЗ, давайте перейдем к самому интересному и посмотрим, как можно применить теоретические знания на практике.

Формула для поиска справа налево

Как уже упоминалось, ВПР не может получать значения слева от столбца поиска. Таким образом, если ваши значения поиска не находятся в самом левом столбце, нет никаких шансов, что формула ВПР принесет вам желаемый результат. Функция ПОИСКПОЗ ИНДЕКС в Excel более универсальна и не имеет особого значения, где расположены столбцы поиска и возврата.

Для этого примера мы добавим столбец «Ранг» слева от нашей основной таблицы и попытаемся выяснить, какое место занимает столица России по численности населения среди других перечисленных  столиц.

Записав искомое значение в G1, используйте следующую формулу для поиска в C2:C10 и возврата соответствующего значения из A2:A10:

=ИНДЕКС(A2:A10; ПОИСКПОЗ(G1;C2:C10;0))

СоветЕсли вы планируете использовать формулу ПОИСКПОЗ ИНДЕКС более чем для одной ячейки, обязательно зафиксируйте оба диапазона абсолютными ссылками  (например, $A$2:$A$10 и $C$2:$C$10), чтобы они не изменялись при копировании формулы.

Двусторонний поиск в строках и столбцах

В приведенных выше примерах мы использовали ИНДЕКС ПОИСКПОЗ вместо классической функции ВПР, чтобы вернуть значение из точно указанного столбца. Но что, если вам нужно искать в нескольких строках и столбцах? То есть, сначала нужно найти подходящий столбец, а уж потом извлечь из него значение? Другими словами, что, если вы хотите выполнить так называемый матричный или двусторонний поиск?

Это может показаться сложным, но формула очень похожа на базовую функцию ПОИСКПОЗ ИНДЕКС в Excel, но с одним отличием. 

Просто используйте две функции ПОИСКПОЗ, вложенных друг в друга: одну – для получения номера строки, а другую – для получения номера столбца. 

ИНДЕКС(массив; ПОИСКПОЗ(значение_поиска1 ; столбец_поиска ; 0); ПОИСКПОЗ(значение_поиска2 ; столбец_поиска ; 0))

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

С целевой страной в G1 (значение_поиска1) и целевым годом в G2 (значение_поиска2) формула принимает следующий вид:

=ИНДЕКС(B2:D11; ПОИСКПОЗ(G1;A2:A11;0); ПОИСКПОЗ(G2;B1:D1;0))

Как работает эта формула?

Всякий раз, когда вам нужно понять сложную формулу Excel, разделите ее на более мелкие части и посмотрите, что делает каждая отдельная функция:

ПОИСКПОЗ(G1;A2:A11;0); – ищет в A2:A11 значение из ячейки G1 («США») и возвращает его позицию, которая равна 3.

ПОИСКПОЗ(G2;B1:D1;0) – просматривает диапазон B1:D1, чтобы получить позицию значения из ячейки G2 («2015»), которая равна 3.

Найденные выше номера строк и столбцов становятся соответствующими аргументами функции ИНДЕКС:

ИНДЕКС(B2:D11, 3, 3)

В результате вы получите значение на пересечении 3-й строки и 3-го столбца в диапазоне B2:D11, то есть из D4. Несложно? 

ИНДЕКС ПОИСКПОЗ для поиска по нескольким условиям

Если у вас была возможность прочитать наши материалы по ВПР в Excel, вы, вероятно, уже протестировали формулу для ВПР с несколькими условиями . Однако существенным недостатком этого подхода является необходимость добавления вспомогательного столбца. Хорошей новостью является то, что функция ПОИСКПОЗ ИНДЕКС в Excel также может выполнять поиск по нескольким условиям без изменения или реструктуризации исходных данных!

Вот общая формула ИНДЕКС ПОИСКПОЗ с несколькими критериями:

{=ИНДЕКС( диапазон_возврата; ПОИСКПОЗ (1; ( критерий1 = диапазон1 ) * ( критерий2 = диапазон2 ); 0))}

Примечание. Это формула массива , которую необходимо вводить с помощью сочетания клавиш Ctrl + Shift + Enter.

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

Следующая формула ИНДЕКС ПОИСКПОЗ отлично работает:

=ИНДЕКС(C2:C10; ПОИСКПОЗ(1; (F1=A2:A10) * (F2=B2:B10); 0))

Где C2:C10 — это диапазон, из которого возвращается значение, F1 — это критерий1, A2:A10 — это диапазон для сравнения с критерием 1, F2 — это критерий 2, а B2:B10 — это диапазон для сравнения с критерием 2.

Не забудьте правильно ввести формулу, нажав Ctrl + Shift + Enter, и Excel автоматически заключит ее в фигурные скобки, как показано на скриншоте ниже:

Рис5

Если вы не хотите использовать формулы массива, добавьте в формулу в F4 еще одну функцию ИНДЕКС и завершите ее ввод обычным нажатием Enter:

=ИНДЕКС(C2:C10; ПОИСКПОЗ(1; ИНДЕКС((F1=A2:A10) * (F2=B2:B10); 0; 1); 0))

Разберем пошагово, как это работает.

Здесь используется тот же подход, что и в обычном сочетании ИНДЕКС ПОИСКПОЗ, где просматривается один столбец. Чтобы оценить несколько критериев, вы создаете два или более массива значений ИСТИНА и ЛОЖЬ, которые представляют совпадения и несовпадения для каждого отдельного критерия, а затем перемножаете соответствующие элементы этих массивов. Операция умножения преобразует ИСТИНА и ЛОЖЬ в 1 и 0 соответственно и создает массив, в котором единицы соответствуют строкам, которые удовлетворяют всем условиям. Функция ПОИСКПОЗ со значением поиска 1 находит первую «1» в массиве и передает ее позицию в ИНДЕКС, которая возвращает значение в этой позиции из указанного столбца.

Вторая формула без массива основана на способности функции ИНДЕКС работать с массивами. Второй вложенный ИНДЕКС имеет 0 в номер_строки , так что он будет передавать весь массив столбцов в ПОИСКПОЗ.

Среднее, максимальное и минимальное значение при помощи ИНДЕКС ПОИСКПОЗ

Microsoft Excel имеет специальные функции для поиска минимального, максимального и среднего значения в диапазоне. Но что, если вам нужно получить значение из другой ячейки, связанной с этими значениями? Например,  получить название города с максимальным населением или узнать товар с минимальными продажами? В этом случае используйте функцию МАКС , МИН или СРЗНАЧ вместе с ИНДЕКС ПОИСКПОЗ.

Максимальное значение.

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

=ИНДЕКС(B2:B10; ПОИСКПОЗ(МАКС(C2:C10); C2:C10; 0))

Скриншот с примером находится чуть ниже.

Минимальное значение

Теперь найдём город с самым маленьким населением в списке. Чтобы найти наименьшее число в столбце С и получить соответствующее ему значение из столбца В:

=ИНДЕКС(B2:B10; ПОИСКПОЗ(МИН(C2:C10); C2:C10; 0))

Ближайшее к среднему

Теперь мы находим город, население которого наиболее близко к среднему значению. Чтобы вычислить позицию, наиболее близкую к среднему значению показателя, рассчитанному из D2:D10, и получить соответствующее значение из столбца C, используйте следующую формулу:

=ИНДЕКС(B2:B10; ПОИСКПОЗ(СРЗНАЧ(C2:C10); C2:C10; -1 ))

В зависимости от того, как организованы ваши данные, укажите 1 или -1 для третьего аргумента (тип_совпадения) функции ПОИСКПОЗ:

  • Если ваш столбец поиска (столбец D в нашем случае) отсортирован по возрастанию , поставьте 1. Формула вычислит наибольшее значение, которое меньше или равно среднему значению.
  • Если ваш столбец поиска отсортирован по убыванию , введите -1. Формула вычислит наименьшее значение, которое больше или равно среднему значению.
  • Если ваш массив поиска содержит значение , точно равное среднему, вы можете ввести 0 для точного совпадения. Никакой сортировки не требуется.

В нашем примере данные в столбце D отсортированы в порядке убывания, поэтому мы используем -1 для типа соответствия. В результате мы получаем «Токио», так как его население (13 189 000) является ближайшим, превышающим среднее значение (12 269 006).

Что делать с ошибками поиска?

Как вы, наверное, заметили, если формула ИНДЕКС ПОИСКПОЗ в Excel не может найти искомое значение, она выдает ошибку #Н/Д. Если вы хотите заменить это стандартное сообщение чем-то более информативным, оберните формулу ПОИСКПОЗ ИНДЕКС в функцию ЕСНД . Например:

=ЕСНД(ИНДЕКС(C2:C10; ПОИСКПОЗ(F1;A2:A10;0)); «Не найдено»)

И теперь, если кто-то вводит значение, которое не существует в диапазоне поиска, формула явно сообщит пользователю, что совпадений не найдено:

Если вы хотите перехватывать все ошибки, а не только #Н/Д, используйте функцию ЕСЛИОШИБКА вместо ЕСНД:

=ЕСЛИОШИБКА(ИНДЕКС(C2:C10; ПОИСКПОЗ(F1;A2:A10;0)); «Что-то пошло не так!»)

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

Итак, еще раз об основных преимуществах формулы ИНДЕКС ПОИСКПОЗ.

  • Возможен ли «левый» поиск?

  • Повлияет ли на результат вставка и удаление столбцов?

    Вы можете вставлять и удалять столько столбцов, сколько хотите. На результат ИНДЕКС ПОИСКПОЗ это не повлияет.

  • Возможен ли поиск по строкам и столбцам?

    Можно сначала найти подходящий столбец, а уж потом извлечь из него значение. Общий вид формулы:
    ИНДЕКС(массив; ПОИСКПОЗ(значение_поиска1 ; столбец_поиска ; 0); ПОИСКПОЗ(значение_поиска2 ; столбец_поиска ; 0))
    Подробную инструкцию смотрите здесь.

  • Как сделать поиск ИНДЕКС ПОИСКПОЗ по нескольким условиям?

    Можно выполнять поиск по двум или более условиям без добавления дополнительных столбцов. Вот формула массива, которая решит проблему:
    {=ИНДЕКС( диапазон_возврата; ПОИСКПОЗ (1; ( критерий1 = диапазон1 ) * ( критерий2 = диапазон2 ); 0))}

Вот как можно использовать ИНДЕКС и ПОИСКПОЗ в Excel. Я надеюсь, что наши примеры формул окажутся полезными для вас.

Вот еще несколько статей по этой теме:

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

Описание

В этой статье приведены пошаговые инструкции по поиску данных в таблице (или диапазоне ячеек) с помощью различных встроенных функций Microsoft Excel. Для получения одного и того же результата можно использовать разные формулы.

Создание образца листа

В этой статье используется образец листа для иллюстрации встроенных функций Excel. Рассматривайте пример ссылки на имя из столбца A и возвращает возраст этого человека из столбца C. Чтобы создать этот лист, введите указанные ниже данные в пустой лист Excel.

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

A

B

C

D

E

1

Имя

Правитель

Возраст

Поиск значения

2

Анри

501

Плот

Иванов

3

Стэн

201

19

4

Иванов

101

максималь

5

Ларри

301

составляет

Определения терминов

В этой статье для описания встроенных функций Excel используются указанные ниже условия.

Термин

Определение

Пример

Массив таблиц

Вся таблица подстановки

A2: C5

Превышающ

Значение, которое будет найдено в первом столбце аргумента «инфо_таблица».

E2

Просматриваемый_массив
-или-
Лукуп_вектор

Диапазон ячеек, которые содержат возможные значения подстановки.

A2: A5

Номер_столбца

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

3 (третий столбец в инфо_таблица)

Ресулт_аррай
-или-
Ресулт_вектор

Диапазон, содержащий только одну строку или один столбец. Он должен быть такого же размера, что и просматриваемый_массив или Лукуп_вектор.

C2: C5

Интервальный_просмотр

Логическое значение (истина или ложь). Если указано значение истина или опущено, возвращается приближенное соответствие. Если задано значение FALSE, оно будет искать точное совпадение.

ЛОЖЬ

Топ_целл

Это ссылка, на основе которой вы хотите основать смещение. Топ_целл должен ссылаться на ячейку или диапазон смежных ячеек. В противном случае функция СМЕЩ возвращает #VALUE! значение ошибки #ИМЯ?.

Оффсет_кол

Число столбцов, находящегося слева или справа от которых должна указываться верхняя левая ячейка результата. Например, значение «5» в качестве аргумента Оффсет_кол указывает на то, что верхняя левая ячейка ссылки состоит из пяти столбцов справа от ссылки. Оффсет_кол может быть положительным (то есть справа от начальной ссылки) или отрицательным (то есть слева от начальной ссылки).

Функции

LOOKUP ()

Функция Просмотр находит значение в одной строке или столбце и сопоставляет его со значением в той же позицией в другой строке или столбце.

Ниже приведен пример синтаксиса формулы подСТАНОВКи.

   = Просмотр (искомое_значение; Лукуп_вектор; Ресулт_вектор)


Следующая формула находит возраст Марии на листе «образец».

   = ПРОСМОТР (E2; A2: A5; C2: C5)

Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в векторе подстановки (столбец A). Формула затем соответствует значению в той же строке в векторе результатов (столбец C). Так как «Мария» находится в строке 4, функция Просмотр возвращает значение из строки 4 в столбце C (22).

Примечание. Для функции Просмотр необходимо, чтобы таблица была отсортирована.

Чтобы получить дополнительные сведения о функции Просмотр , щелкните следующий номер статьи базы знаний Майкрософт:
 

Использование функции Просмотр в Excel

ВПР ()

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

Ниже приведен пример синтаксиса формулы ВПР :

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

Следующая формула находит возраст Марии на листе «образец».

   = ВПР (E2; A2: C5; 3; ЛОЖЬ)

Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в левом столбце (столбец A). Формула затем совпадет со значением в той же строке в Колумн_индекс. В этом примере используется «3» в качестве Колумн_индекс (столбец C). Так как «Мария» находится в строке 4, функция ВПР возвращает значение из строки 4 В столбце C (22).

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

Как найти точное совпадение с помощью функций ВПР или ГПР

INDEX () и MATCH ()

Вы можете использовать функции индекс и ПОИСКПОЗ вместе, чтобы получить те же результаты, что и при использовании поиска или функции ВПР.

Ниже приведен пример синтаксиса, объединяющего индекс и Match для получения одинаковых результатов поиска и ВПР в предыдущих примерах:

    = Индекс (инфо_таблица; MATCH (искомое_значение; просматриваемый_массив; 0); номер_столбца)

Следующая формула находит возраст Марии на листе «образец».


= ИНДЕКС (A2: C5; MATCH (E2; A2: A5; 0); 3)

Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в столбце A. Затем он будет соответствовать значению в той же строке в столбце C. Так как «Мария» находится в строке 4, формула возвращает значение из строки 4 в столбце C (22).

Обратите внимание Если ни одна из ячеек в аргументе «число» не соответствует искомому значению («Мария»), эта формула будет возвращать #N/А.
Чтобы получить дополнительные сведения о функции индекс , щелкните следующий номер статьи базы знаний Майкрософт:

Поиск данных в таблице с помощью функции индекс

СМЕЩ () и MATCH ()

Функции СМЕЩ и ПОИСКПОЗ можно использовать вместе, чтобы получить те же результаты, что и функции в предыдущем примере.

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

   = СМЕЩЕНИЕ (топ_целл, MATCH (искомое_значение; просматриваемый_массив; 0); Оффсет_кол)

Эта формула находит возраст Марии на листе «образец».

   = СМЕЩЕНИЕ (A1; MATCH (E2; A2: A5; 0); 2)

Формула использует значение «Мария» в ячейке E2 и находит слово «Мария» в столбце A. Формула затем соответствует значению в той же строке, но двум столбцам справа (столбец C). Так как «Мария» находится в столбце A, формула возвращает значение в строке 4 в столбце C (22).

Чтобы получить дополнительные сведения о функции СМЕЩ , щелкните следующий номер статьи базы знаний Майкрософт:
 

Использование функции СМЕЩ

Нужна дополнительная помощь?

Хитрости »

15 Май 2011              512239 просмотров


Как найти значение в другой таблице или сила ВПР

  • Задача и её решение при помощи ВПР
  • Описание аргументов ВПР
  • Что важно всегда помнить при работе с ВПР
  • Как избежать ошибки #Н/Д(#N/A) в ВПР?
  • Как при помощи ВПР искать значение по строке, а не столбцу?
  • Решение при помощи ПОИСКПОЗ
  • Работа с критериями длиннее 255 символов
Задача и её решение при помощи ВПР

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

рис.1

На картинке выше для удобства они показаны рядом, но на самом деле могут быть расположены на разных листах и даже в разных книгах. Таблицы по сути одинаковые, но фамилии в них расположены в разном порядке, и к тому же в одной заполнены все столбцы, а во второй столбцы ФИО и Отдел. И из первой таблицы необходимо подставить во вторую дату для каждой фамилии. Для трех записей это не проблема и руками сделать — все очевидно. Но в жизни это таблицы на тысячи записей и поиск с подстановкой данных вручную может занять не один час. Вот где ВПР(VLOOKUP) будет весьма кстати. Все, что необходимо — записать в ячейку

C2

второй таблицы(туда, куда необходимо подставить даты из первой таблицы) такую формулу:

=ВПР($A2;Лист1!$A$1:$C$4;3;0)
=VLOOKUP($A2,Лист1!$A$1:$C$4,3,0)

Записать формулу можно либо непосредственно в ячейку, либо воспользовавшись диспетчером функций, выбрав в категории Ссылки и массивы(References & Arrays) функцию ВПР(VLOOKUP) и по отдельности указав нужные критерии. Теперь копируем(

Ctrl

+

C

) ячейку с формулой(С2), выделяем все ячейки столбца

С

до конца данных и вставляем(

Ctrl

+

V

).

Теперь разберем поподробнее саму функцию, её аргументы и некоторые особенности.
ВПР ищет заданное нами значение(аргумент искомое_значение) в первом столбце указанного диапазона(аргумент таблица). Поиск значения всегда происходит сверху вниз(собственно, поэтому функция и называется ВПР: Вертикальный ПРосмотр). Как только функция находит заданное значение — поиск прекращается, ВПР берет строку с найденным значением и смотрит на аргумент номер_столбца. Именно из этого столбца берётся значение, которое мы и видим как итог работы функции. Т.е. в нашем конкретном случае, для ячейки С2 второй таблицы, функция берет фамилию «Петров С.А.»(ячейка $A2 второй таблицы) и ищет её в первом столбце указанной таблицы(Лист1!$A$1:$C$4), т.е. в столбце А. Как только находит(это ячейка А3)

ВПР может вернуть только одно значений — первое, подходящее под критерий. Если искомое значение не найдено(отсутствует в таблице), то результатом функции будет ошибка #Н/Д(#N/A). Не надо этого бояться — это даже полезно. Вы точно будете знать, каких записей нет и таким образом можете сравнивать две таблицы друг с другом. Иногда получается так, что Вы видите: данные есть в обеих таблицах, но ВПР выдает #Н/Д. Значит данные в Ваших таблицах не идентичны. В какой-то из них есть лишние неприметные пробелы(обычно перед значением или после), либо знаки кириллицы перемешаны со знаками латиницы. Так же #Н/Д будет, если критерии числа и в искомой таблице они записаны как текст(как правило в левом верхнем углу такой ячейки появляется зеленый треугольничек), а в итоговой — как числа. Или наоборот.


Описание аргументов ВПР

  • Искомое_значение($A2) — это то значение из одной таблицы, которые мы ищем в другой таблице. Т.е. для первой записи второй таблицы это будет Петров С.А.. Здесь можно указать либо непосредственно текст критерия(в этом случае он должен быть в кавычках — =ВПР(«Петров С.А»;Лист1!$A$1:$C$4;3;0), либо ссылку на ячейку, с данным текстом(как в примере функции). Есть небольшой нюанс: так же можно применять символы подстановки: «*» и «?». Это очень удобно, если необходимо найти значения лишь по части строки. Например, можно не вводить полностью «Петров С.А», а ввести лишь фамилию и знак звездочки — «Петров*». Тогда будет выведена любая запись, которая начинается на «Петров». Если же надо найти запись, в которой в любом месте строки встречается фамилия «Петров», то можно указать так: «*петров*». Если хотите найти фамилию Петров и неважно какие инициалы будут у имени-отчества(если ФИО записаны в виде Иванов И.И.), то здесь в самый раз такой вид: «Иванов ?.?.».
    Часто необходимо для каждой строки указать свое значение(в столбце А Фамилии и надо их все найти). В таком случае всегда указываются ссылки на ячейки столбца А. Например, в ячейке A2 записано: Иванов. Так же известно, что Иванов есть в другой таблице, но после фамилии могут быть записаны и имя и отчество(или еще что-то). Но нам нужно найти только строку, которая начинается на фамилию. Тогда необходимо записать следующим образом: A2&»*». Эта запись будет равнозначна «Иванов*». В A2 записано Иванов, амперсанд(&) используется для объединения в одну строку двух текстовых значений. Звездочка в кавычках (как и положено быть тексту внутри формулы). Таким образом и получаем:
    A2&»*» =>
    «Иванов»&»*» =>
    «Иванов*»
    А полная формула в итоге будет выглядеть так: =ВПР(A2&»*»;Лист1!$A$1:$C$4;3;0)
    Очень удобно, если значений для поиска много.
    Если надо определить есть ли хоть где-то слово в строке, то звездочки ставим с обеих сторон: «*»&A1&»*»
  • Таблица(Лист1!$A$1:$C$4) — указывается диапазон ячеек, в первом столбце которых будет просматриваться аргумент Искомое_значение. Диапазон должен содержать данные от первой ячейки с данными до самой последней. Это не обязательно должен быть указанный в примере диапазон. Если строк 100, то Лист1!$A$2:$C$100. Диапазон в аргументе таблица всегда должен быть «закреплен», т.е. содержать знаки доллара($) перед названием столбцов и перед номерами строк(Лист1!$A$1:$C$4).
  • Номер_столбца(3) — указывается номер столбца в аргументе Таблица, значения из которого нам необходимо записать в итоговую ячейку в качестве результата. В примере это Дата принятия — т.е. столбец №3. Если бы нужен был отдел, то необходимо было бы указать номер столбца 2, а если бы нам понадобилось просто сравнить есть ли фамилии одной таблицы в другой, то можно было бы указать и 1. Номер столбца всегда указывается числом и не должен быть больше числа столбцов в аргументе Таблица.

    если аргумент Таблица имеет слишком большое кол-во столбцов и необходимо вернуть результат из последнего столбца, то совсем необязательно высчитывать их количество. Можно использовать формулу, которая подсчитывает количество столбцов в указанном диапазоне:  =ВПР($A2;Лист1!$A$1:$C$4;ЧИСЛСТОЛБ(Лист1!$A$1:$C$4);0). К слову в данном случае Лист1! тоже можно убрать, т.к. функция ЧИСЛОСТОЛБ просто подсчитывает количество столбцов в переданном ей диапазоне и неважно на каком он листе: =ВПР($A2;Лист1!$A$1:$C$4;ЧИСЛСТОЛБ($A$1:$C$4);0).

  • Интервальный_просмотр(0) — очень интересный аргумент. Может быть равен либо ИСТИНА либо ЛОЖЬ. Так же допускается указать 1 или 0. 1 = ИСТИНА, 0 = ЛОЖЬ. Если в ВПР указать данный параметр равный 0 или ЛОЖЬ, то будет происходить поиск точного соответствия заданному Искомому_значению. Это не имеет никакого отношения к знакам подстановки(«*» и «?»). Если же использовать 1 или ИСТИНА, то…Совсем в двух словах не объяснить. Если вкратце — ВПР будет искать наиболее похожее значение, подходящее под Искомомое_значение. Иногда очень полезно. Правда, если использовать данный параметр, то необходимо, чтобы список в аргументе Таблица был отсортирован по возрастанию. Обращаю внимание на то, что сортировка необходима только в том случае, если аргумент Интервальный_просмотр равен ИСТИНА или 1. Если же 0 или ЛОЖЬ — сортировка не нужна. Этот аргумент необходимо использовать осторожно — не стоит указывать 1 или ИСТИНА, если нужно найти точное соответствие и уж тем более не стоит использовать, если не понимаете принцип его работы.
    Подробнее про работу ВПР с интервальным просмотром, равным 1 или ИСТИНА можно ознакомиться в статье ВПР и интервальный просмотр(range_lookup)

При работе с ВПР всегда важно помнить три вещи:
  • Таблица всегда должна начинаться с того столбца, в котором ищем Искомое_значение. Т.е. ВПР не умеет искать значение во втором столбце таблицы, а значение возвращать из первого. В лучшем случае ничего найдено не будет и получим ошибку #Н/Д(#N/A), а в худшем результат будет совсем не тот, который должен быть
  • аргумент Таблица должен быть «закреплен», т.е. содержать знаки доллара($) перед названием столбцов и перед номерами строк(Лист1!$A$1:$C$4). Это и есть закрепление(если точнее, то это называется абсолютной ссылкой на диапазон). Как это делается. Выделяете текст ссылки и жмете клавишу F4 до тех пор, пока не увидите, что и перед обозначением имени столбца и перед номером строки не появились доллары. Если этого не сделать, то при копировании формулы из одной ячейки в остальные аргумент Таблица будет «съезжать» и результат может быть совсем не таким, какой ожидался(в лучшем случае получите ошибку #Н/Д(#N/A)
  • номер_столбца не должен превышать общее кол-во столбцов в аргументе таблица, а сама Таблица соответственно должна содержать столбцы от первого(в котором ищем) до последнего(из которого необходимо возвращать значения). В примере указана Лист1!$A$1:$C$4 — всего 3 столбца(A, B, C). Значит не получится вернуть значение из столбца D(4), т.к. в таблице только три столбца. Т.е. если мы запишем формулу так: =ВПР($A2;Лист1!$A$1:$C$4;4;0) — мы получим ошибку #ССЫЛКА!(#REF!).
    Если аргументом Таблица указан диапазон $B$1:$C$4 и необходимо вернуть данные из столбца С, то правильно будет указать номер столбца 2. Т.к. аргумент Таблица($B$1:$C$4) содержит только два столбца — В и С. Если же попытаться указать номер столбца 3(каким по счету он является на листе), то получим ошибку #ССЫЛКА!(#REF!), т.к. третьего столбца в указанном диапазоне просто нет.

Многие наверняка заметили, что на картинке у меня попутаны отделы для ФИО(в обеих таблицах ФИО относятся к разным отделам). Это не ошибка записи. В прилагаемом к статье примере показано, как можно одной формулой подставить и отделы и даты, не меняя вручную аргумент Номер_столбца: =ВПР($A2;Лист1!$A$1:$C$4;СТОЛБЕЦ();0). Такой подход сработает, если в обеих таблицах одинаковый порядок столбцов.


Как избежать ошибки #Н/Д(#N/A) в ВПР?

 
Еще частая проблема — многие не хотят видеть #Н/Д результатом, если совпадение не найдено. Это можно обойти при помощи специальных функций.
Для пользователей Excel 2003 и старше:

=ЕСЛИ(ЕНД(ВПР($A2;Лист1!$A$1:$C$4;3;0));»»;ВПР($A2;Лист1!$A$1:$C$4;3;0))
=IF(ISNA(VLOOKUP($A2,Лист1!$A$1:$C$4,3,0)),»»,VLOOKUP($A2,Лист1!$A$1:$C$4,3,0))

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

ЕСЛИОШИБКА(IFERROR)

:

=ЕСЛИОШИБКА(ВПР($A2;Лист1!$A$1:$C$4;3;0);»»)
=IFERROR(VLOOKUP($A2,Лист1!$A$1:$C$4,3,0);»»)

Подробнее про различие между использованием ЕСЛИ(ЕНД и ЕСЛИОШИБКА я разбирал в статье: Как в ячейке с формулой вместо ошибки показать 0
Но я бы не рекомендовал использовать

ЕСЛИОШИБКА(IFERROR)

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

  • искомое значение состоит более чем из 255 символов(решение этой проблемы приведено ниже в этой статье: Работа с критериями длиннее 255 символов)
  • искомое значение является числом с большим кол-вом знаков после запятой. Excel не может правильно воспринимать такие числа и в итоге ВПР может вернуть ошибку. Правильным решением здесь будет округлить искомое значение хотя бы до 4-х или 5-ти знаков после запятой(конечно, если это допустимо):
    =ВПР(ОКРУГЛ($A2;5);Лист1!$A$1:$C$4;3;0)
    =VLOOKUP(ROUND($A2,2),Лист1!$A$1:$C$4,3,0)
  • искомое значение содержит специальные или непечатаемые символы.
    В этом случае придется либо избавиться от непечатаемых символов в искомом аргументе:
    =ВПР(ПЕЧСИМВ($A2);Лист1!$A$1:$C$4;3;0)
    =VLOOKUP(CLEAN($A2),Лист1!$A$1:$C$4,3,0)
    либо добавить перед всеми специальными символами(такими как звездочка или вопр.знак) знак тильды(~), чтобы сделать эти знаки просто знаками, а не знаками специального значения(так же работа со специальными(служебными) символами описывалась в статье: Как заменить/удалить/найти звездочку). Добавить символ перед знаком той же тильды можно при помощи функции ПОДСТАВИТЬ(SUBSTITUTE):
    =ВПР(ПОДСТАВИТЬ($A2;»~»;»~~»);Лист1!$A$1:$C$4;3;0)
    =VLOOKUP(SUBSTITUTE(A2,»~»,»~~»),Лист1!$A$1:$C$4,3,0)
    Если необходимо добавить тильду сразу перед несколькими знаками, то делает это обычно так(на примере подстановки одновременно для тильды и звездочки):
    =ВПР(ПОДСТАВИТЬ(ПОДСТАВИТЬ($A2;»~»;»~~»);»*»;»~*»);Лист1!$A$1:$C$4;3;0)
    =VLOOKUP(SUBSTITUTE(SUBSTITUTE(A2,»~»,»~~»),»*»,»~*»),Лист1!$A$1:$C$4,3,0)

Как при помощи ВПР искать значение по строке, а не столбцу?

 
На самом деле ответ будет коротким — ВПР всегда ищет сверху вниз. Слева направо она не умеет. Но зато слева направо умеет искать её сестра ГПР(HLookup) — Горизонтальный

ПР

осмотр.
ГПР ищет заданное значение(аргумент

искомое_значение

) в первой строке указанного диапазона(аргумент

таблица

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

#Н/Д(#N/A)

.
Если надо найти значение «Иванов» в строке 2 и вернуть значение из строки 5 в таблице

A2:H10

, то формула будет выглядеть так:

=ГПР(«Иванов»;$A$2:$H$10;5;0)
=HLOOKUP(«Иванов»,$A$2:$H$10,5,0)

Все правила и синтаксис функции точно такие же, как у ВПР:
-в искомом значении можно применять символы астерикса(*) и вопр.знака(?) — «Иванов*»;
-таблица должна быть закреплена —

$A$2:$H$10

;
-интервальный просмотр работает по тому же принципу(0 или ЛОЖЬ точный просмотр слева-направо, 1 или ИСТИНА — интервальный).


Решение при помощи ПОИСКПОЗ

 
Общий принцип работы

ПОИСКПОЗ(MATCH)

очень похож на ВПР — функция ищет заданное значение в массиве (в столбце или строке) и возвращает его позицию(порядковый номер в заданном массиве). Т.е. ищет

Искомое_значение

в аргументе

Просматриваемый_массив

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

Просматриваемом_массиве

. Именно номер позиции, а не само значение. Если бы мы хотели применить её для таблицы выше, то она была бы такой:

=ПОИСКПОЗ($A2;Лист1!$A$1:$A$4;0)
=MATCH($A2,Лист1!$A$1:$A$4,0)

  • Искомое_значение($A2) — непосредственно значение или ссылка на ячейку с искомым значением. Если опираться на пример выше — то это ФИО. Здесь все ровно так же, как и с ВПР. Так же допустимы символы подстановки * и ? и ровно в таком же исполнении.
  • Просматриваемый_массив(Лист1!$A$1:$A$4) — указывается ссылка на столбец, в котором необходимо найти искомое значение. В отличии от той же ВПР, где указывается целая таблица, это должен быть именно один столбец, в котором мы собираемся искать Искомое_значение. Если попытаться указать более одного столбца, то функция вернет ошибку.Справедливости ради надо отметить, что можно указать либо столбец, либо строку
  • Тип_сопоставления(0) — то же самое, что и Интервальный_просмотр в ВПР. С теми же особенностями. Отличается разве что возможностью поиска наименьшего от искомого или наибольшего.

С основным разобрались. Но ведь нам надо вернуть не номер позиции, а само значение. Значит ПОИСКПОЗ в чистом виде нам не подходит. По крайней мере одна, сама по себе. Но если её использовать вместе с функцией ИНДЕКС(INDEX)(которая возвращает из указанного диапазона значение на пересечении заданных строки и столбца) — то это то, что нам нужно и даже больше.
=ИНДЕКС(Лист1!$A$1:$C$4;ПОИСКПОЗ($A2;Лист1!$A$1:$A$4;0);2)
Такая формула результатом вернет то же, что и ВПР.

Аргументы функции ИНДЕКС
Массив(Лист1!$A$2:$C$4). В качестве этого аргумента мы указываем диапазон, из которого хотим получить значения. Может быть как один столбец, так и несколько. В случае, если столбец один, то последний аргумент функции указывать не обязательно или он всегда будет равен 1(столбец-то всего один). К слову — данный аргумент может совершенно не совпадать с тем, который мы указываем в аргументе Просматриваемый_массив функции ПОИСКПОЗ.

Далее идут Номер_строки и Номер_столбца. Именно в качестве Номера_строки мы и подставляем ПОИСКПОЗ, которая возвращает нам номер позиции в массиве. На этом все и строится. ИНДЕКС возвращает значение из Массива, которое находится в указанной строке(Номер_строки) Массива и указанном столбце(Номер_столбца), если столбцов более одного. Важно знать, что в данной связке кол-во строк в аргументе Массив функции ИНДЕКС и кол-во строк в аргументе Просматриваемый_массив функции ПОИСКПОЗ должно совпадать. И начинаться с одной и той же строки. Это в обычных случаях, если не преследуются иные цели.
Так же как и в случае с ВПР, ИНДЕКС в случае не нахождения искомого значения возвращает #Н/Д. И обойти подобные ошибки можно так же:
Для всех версий Excel(включая 2003 и раньше):
=ЕСЛИ(ЕНД(ПОИСКПОЗ($A2;Лист1!$A$1:$A$4;0));»»;ИНДЕКС(Лист1!$A$1:$C$4;ПОИСКПОЗ($A2;Лист1!$A$2:$A$4;0);2))
Для версий 2007 и выше:
=ЕСЛИОШИБКА(ИНДЕКС(Лист1!$A$1:$C$4;ПОИСКПОЗ($A2;Лист1!$A$1:$A$4;0);2);»»)


Работа с критериями длиннее 255 символов

 
Есть у ИНДЕКС-ПОИСКПОЗ и еще одно преимущество перед ВПР. Дело в том, что ВПР не может искать значения, длина строки которых содержит более 255 символов. Это случается редко, но случается. Можно, конечно, обмануть ВПР и урезать критерий:

=ВПР(ПСТР($A2;1;255);ПСТР(Лист1!$A$1:$C$4;1;255);3;0)

но это формула массива. Да и к тому же далеко не всегда такая формула вернет нужный результат. Если первые 255 символов идентичны первым 255 символам в таблице, а дальше знаки различаются — формула этого уже не увидит. Да и возвращает формула исключительно текстовые значения, что в случаях, когда возвращаться должны числа, не очень удобно.

Поэтому лучше использовать такую хитрую формулу:
=ИНДЕКС(Лист1!$A$1:$C$4;СУММПРОИЗВ(ПОИСКПОЗ(ИСТИНА;Лист1!$A$1:$A$4=$A2;0));2)
Здесь я в формулах использовал одинаковые диапазоны для удобочитаемости, но в примере для скачивания они различаются от указанных здесь.
Сама формула построена на возможности функции СУММПРОИЗВ преобразовывать в массивные вычисления некоторых функций внутри неё. В данном случае ПОИСКПОЗ ищет позицию строки, в которой критерий равен значению в строке. Подстановочные символы здесь применить уже не получится.


Ну и все же я рекомендовал бы Вам прочитать подробнее про данные функции в справке.

В прилагаемом к статье примере Вы найдете примеры использования всех описанных случаев и пример того, почему ИНДЕКС и ПОИСКПОЗ порой предпочтительнее ВПР.

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

  Tips_All_VLookUp.xls (26,0 KiB, 17 437 скачиваний)

Так же см.:
ВПР и интервальный просмотр(range_lookup)
ВПР по двум и более критериям
ВПР с возвратом всех значений
ВПР с поиском по нескольким листам
ВПР_МН
ВПР_ВСЕ_КНИГИ
Как заменить/удалить/найти звездочку?


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

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


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



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

Содержание

  1. Функция ВПР в Экселе – быстрый перенос данных
  2. Видео — «Быстрый перенос данных с помощью функции ВПР в Экселе»
  3. Функция ВПР в Экселе: пошаговая инструкция
  4. Особенности использования формулы ВПР в Excel
  5. Интервальный просмотр в функции ВПР
  6. Синтаксис и описание функции ВПР в Excel
  7. Как использовать именованный диапазон или таблицу в формулах ВПР
  8. Функция ВПР в Excel – Присвоение имени диапазону
  9. Функция ВПР в Excel – Пример функции ВПР с именем диапазона
  10. Функция ВПР в Excel – Пример функции ВПР с именем таблицы
  11. Постановка задачи
  12. Ошибки #Н/Д и их подавление
  13. Аргументы функции
  14. Как пользоваться функцией ВПР в Excel
  15. Быстрое сравнение двух таблиц с помощью ВПР
  16. Как работает функция ВПР в Excel: несколько примеров для «чайников».
  17. Использование точного и приблизительного поиска.
  18. Использование нескольких условий.
  19. Заключение

Функция ВПР в Экселе – быстрый перенос данных

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

Например, у вас есть большой прайс на 500 позиций и запрос от покупателя, скажем на 50 позиций (в реальности и прайс и запрос могут быть гораздо больше, но принцип от этого не меняется).

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

Итак, у нас в прайсе 500 позиций. Позиции обозначаются следующим образом, буквами обозначается вид позиции, а цифрами модификация.

Например, «Стул_1» и «Стул_21» это два совершенно разных стула.

Цены в прайсе указаны для примера и вряд ли имеют отношение к реальным ценам.

Обозначим задачу.

В ООО «ЫкэА» пришел запрос от «Петровича».

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

Однако это нас не страшит, во-первых, у нас есть ВПР, во-вторых мы и не такое видали.

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

Нам не хочется терять такого клиента и мы практически мгновенно открываем прайс:

Получается у нас должно быть открыто два файла (две книги в Эксель). Запрос от Петровича и Прайс.

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

Для этого перейдем в таблицу запроса и в первой ячейке столбца «Цены» (D4) введем «=впр» и два раза кликнем на значок функции:

Сразу же после этого, в строке формулы нужно поставить курсор внутри надписи ВПР и нажать Fx, перед вами появится окно с аргументами функции ВПР:

В аргументах функции вы говорите Экселю что и где нужно искать:

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

Далее, сразу переходите в «Прайс»:

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

Таблица — выделяете столбцы, которые содержат искомые наименования и цены, таким образом, чтобы наименования были крайним левым столбцом.

Так работает функция ВПР — ищет искомые значения в крайнем левом столбце (для ВПР это столбец №1). Когда ВПР находит искомое значение он начинает смотреть правее, в тот столбец, который вы указали в «Номере столбца».

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

Интервальный просмотр — ставьте 0. Ноль обозначает точное соответствие.

После заполнения аргументов функции нажимайте «Ок» и если всё сделано верно, то в столбце «Цена» (файл «Запрос от Петровича»), появится цена.

Вам нужно протянуть цены на оставшиеся ячейки:

Коллеги, вот и всё, вы овладели функцией ВПР.

Очень важное замечание!

Обратите внимание на то, что сейчас мы работали в двух разных файлах (книгах).

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

Делает это он при помощи значка $, который проставляет перед столбцами и строками таблицы.

Это позволяет не съезжать формуле когда вы протягиваете её вниз. Это очень актуально когда вы работаете в рамках одного листа или одной книги (в этом случае Эксель автоматически Не закрепляет ячейки).

Давайте посмотрим что получиться если протянуть формулу «без закрепления»:

Обратите внимание, что для первой ячейки всё в порядке и диапазон B3:C502 точно соответствует той таблице, которую мы выделили для поиска данных, однако (без закрепления) так будет не всегда, по мере «протягивания» формулы ВПР вниз, будет смещаться и таблица, пока однажды, мы не увидим вот такую странную надпись #Н/Д:

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

Посему, если не хотите чтобы от вас уезжали, закрепляйте диапазон.

Очень важное замечание №2

Как вы заметили, формулы ссылаются на определённые ячейки, другими словами между формулами и исходными данными есть связь. Стоит изменить исходные данные и значения в формулах сразу изменятся.

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

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

Для этого нужно выделить столбец с формулами, нажать Ctrl+C и в левом верхнем углу выбрать «Вставить» — «Вставить значения».

Для тех кто не любит изучать картинки, я записал небольшое видео в котором показываю всё то, что мы проговорили выше (кроме вставки значений):

Видео — «Быстрый перенос данных с помощью функции ВПР в Экселе»

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

Это очень актуально для тех кто работает в закупках и отправляет заказы поставщику.

Обычно происходит следующая ситуация. Вы отправляете заказ поставщику, через некоторое время получаете ответ в виде счёта и сверяете заказ с счётом.

Всё ли есть в счёте, в нужном ли количестве, по правильным ли ценам и т.д.

Функция ВПР в Экселе: пошаговая инструкция

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

Во второй – цены:

Если перечень товаров в обеих таблицах совпадает, то, зная магическое сочетание Ctrl+C и Ctrl+V, данные о ценах можно легко подставить к данным о количестве. Однако очередность позиций в обеих таблицах не совпадает. Тупо скопировать цены и подставить к количеству не получится.

Поэтому мы не можем прописать формулу умножения и «протянуть» вниз на все позиции.

Что делать? Надо как-то цены из второй таблицы подставить к соответствующему количеству в первой, т.е. цену товара А к количеству товара А, цену Б к количеству Б и т.д.

Вот так.

Функция ВПР в Эксель легко справится с задачей.

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

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

Кликаем по надписи «ВПР». Открывается следующее диалоговое окно.

Теперь нужно заполнить предлагаемые поля. В первом окошке «Искомое_значение» нужно указать критерий для ячейки, в которую мы вписываем формулу. В нашем случае это ячейка с наименованием товара «А».

Следующее поле «Таблица». В нем нужно указать диапазон данных, где будет осуществляться поиск нужных значений. В нашем случае это вторая таблица с ценой. При этом крайний левый столбец выделяемого диапазона должен содержать те самые критерии, по которым осуществляется поиск (столбец с наименованиями товаров). Затем таблица выделяется вправо минимум до того столбца, где находятся искомые значения (цены). Можно и дальше вправо выделить, но это уже ни на что не влияет. Главное, чтобы выделенная таблица начиналась со столбца с критериями и захватывала нужный столбец с данными. Также следует обратить внимание на тип ссылок, они должны быть абсолютными, т.к. формула будет копироваться в другие ячейки.

Следующее поле «Номер_столбца» — это число, на которое столбец с искомыми данными (ценами) отстоит от столбца с критерием (наименованием товара) включительно. То есть отсчет идет, начиная с самого столбца с критерием. Если у нас во второй таблице оба столбца находятся рядом, то нужно указать число 2 (первый – критерий, второй — цены). Часто бывает, что данные отстоят от критерия на 10 или 20 столбцов. Это не важно, Excel все сосчитает.

Последнее поле «Интервальный_просмотр», где указывается тип поиска: точное (0) или приблизительное (1) совпадение критерия. Пока ставим 0 (или ЛОЖЬ). Второй вариант рассмотрен ниже.

Нажимаем ОК. Если все правильно и значение критерия есть в обеих таблицах, то на месте только что введенной формулы появится некоторое значение. Остается только протянуть (или просто скопировать) формулу вниз до последней строки таблицы.

Теперь легко рассчитать стоимость простым умножением количества на цену.

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

Функция ВПР имеет свои особенности, о которых следует знать.

1. Первую особенность можно считать общей для функций, которые используются для многих ячеек путем прописывания формулы в одной из них и дальнейшим копированием в остальные. Здесь нужно обращать внимание на относительность и абсолютность ссылок. Конкретно в ВПР критерий (первое поле) должно иметь относительную ссылку (без знаков $), так как у каждой ячейки свой собственный критерий. А вот поле «Таблица» должно иметь абсолютную ссылку (адрес диапазона прописывается через $). Если этого не сделать, то при копировании формулы диапазон «поедет» вниз и многие значения просто не найдутся, так как искать будет негде.

2. Номер столбца, указываемый в третьем поле «Номер_столбца» при использовании Мастера функций, должен отсчитываться, начиная с самого критерия.

3. Функция ВПР из диапазона с искомыми данными выдает первое сверху значение. Это значит, что, если во второй таблице, откуда мы пытаемся «подтянуть» некоторые данные, присутствуют несколько ячеек с одинаковым критерием, то в рамках выделенного диапазона ВПР захватит первое сверху значение. Об этом следует помнить. К примеру, если мы хотим к цене товара подтянуть количество из другой таблицы, а там этот товар встречается несколько раз (в нескольких строках), то к цене подтянется первое сверху количество.

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

5. После использования ВПР саму формулу лучше сразу удалить, оставив только полученные значения. Делается это очень просто. Выделяем диапазон с полученными значениями, нажимаем «копировать» и на это же место с помощью специальной вставки вставляем значения. Если таблицы находятся в разных книгах Excel, то очень удобно разорвать внешние связи (оставив вместо них только значения) с помощью специальной команды, которая находится по пути Данные → Изменить связи.

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

Это позволит удалить сразу все внешние ссылки.

Интервальный просмотр в функции ВПР

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

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

Проще понять на примере. По результатам выполнения плана продаж каждому торговому агенту нужно выдать заслуженную премию (в процентах от оклада). Если план выполнен менее, чем на 100%, премия не положена, если план выполнен от 100% до 110% (110% не входит) – премия 20%, от 110% до 120% (120% не входит) – 40%, 120% и более – премия 60%. Данные находятся в следующем виде.

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

=ВПР(B2;$E$2:$F$5;2;1)

и скопируем вниз.

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

Джеки Чан выполнил план на 124%. Значит ВПР в качестве критерия ищет во второй таблице ближайшее меньшее значение. Это 120%. Затем отсчитывает 2 столбца и возвращает премию 60%. Брюс Ли план не выполнил, поэтому его ближайший меньший критерий – 0%.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Постановка задачи

Итак, имеем две таблицы – таблицу заказов и прайс-лист:

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

Ошибки #Н/Д и их подавление

Функция ВПР (VLOOKUP) возвращает ошибку #Н/Д (#N/A) если:

  • Включен точный поиск (аргумент Интервальный просмотр=0) и искомого наименования нет в Таблице.
  • Включен приблизительный поиск (Интервальный просмотр=1), но Таблица, в которой происходит поиск не отсортирована по возрастанию наименований.
  • Формат ячейки, откуда берется искомое значение наименования (например B3 в нашем случае) и формат ячеек первого столбца (F3:F19) таблицы отличаются (например, числовой и текстовый). Этот случай особенно характерен при использовании вместо текстовых наименований числовых кодов (номера счетов, идентификаторы, даты и т.п.) В этом случае можно использовать функции Ч и ТЕКСТ для преобразования форматов данных. Выглядеть это будет примерно так:
    =ВПР(ТЕКСТ(B3);прайс;0)
  • Функция не может найти нужного значения, потому что в коде присутствуют пробелы или невидимые непечатаемые знаки (перенос строки и т.п.). В этом случае можно использовать текстовые функции СЖПРОБЕЛЫ (TRIM) и ПЕЧСИМВ (CLEAN) для их удаления:
    =ВПР(СЖПРОБЕЛЫ(ПЕЧСИМВ(B3));прайс;0)
    =VLOOKUP(TRIM(CLEAN(B3));прайс;0)

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

=ЕСЛИОШИБКА(ВПР(B3;прайс;2;0);0)

=IFERROR(VLOOKUP(B3;прайс;2;0);0)

Аргументы функции

  • lookup_value (искомое_значение) – это величина для поиска, из крайнего левого столбца таблицы. Это может быть значение, ссылка на ячейку или текстовая строка. В примере со студентами это их фамилии;
  • table_array (таблица) – это диапазон данных, в котором будет осуществлен поиск. Это может быть ссылка на диапазон ячеек или именованный диапазон. В примере с таблицей со студентами, это будет вся таблица, которая содержит оценку и фамилии студентов;
  • col_index (номер_столбца) – это порядковый номер столбца в диапазоне с данными, из которого будет получена искомая величина;
  • [range lookup] ([интервальный_просмотр]) – этот аргумент указывает на точность совпадения данных при поиске. Укажите “0” – если точное, “1” – если приблизительное совпадение.

Как пользоваться функцией ВПР в Excel

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

Стоимость материалов – в прайс-листе. Это отдельная таблица.

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

Алгоритм действий:

  1. Приведем первую таблицу в нужный нам вид. Добавим столбцы «Цена» и «Стоимость/Сумма». Установим денежный формат для новых ячеек.
  2. Выделяем первую ячейку в столбце «Цена». В нашем примере – D2. Вызываем «Мастер функций» с помощью кнопки «fx» (в начале строки формул) или нажав комбинацию горячих клавиш SHIFT+F3. В категории «Ссылки и массивы» находим функцию ВПР и жмем ОК. Данную функцию можно вызвать перейдя по закладке «Формулы» и выбрать из выпадающего списка «Ссылки и массивы».
  3. Откроется окно с аргументами функции. В поле «Искомое значение» – диапазон данных первого столбца из таблицы с количеством поступивших материалов. Это те значения, которые Excel должен найти во второй таблице.
  4. Следующий аргумент – «Таблица». Это наш прайс-лист. Ставим курсор в поле аргумента. Переходим на лист с ценами. Выделяем диапазон с наименованием материалов и ценами. Показываем, какие значения функция должна сопоставить.
  5. Чтобы Excel ссылался непосредственно на эти данные, ссылку нужно зафиксировать. Выделяем значение поля «Таблица» и нажимаем F4. Появляется значок $.
  6. В поле аргумента «Номер столбца» ставим цифру «2». Здесь находятся данные, которые нужно «подтянуть» в первую таблицу. «Интервальный просмотр» – ЛОЖЬ. Т.к. нам нужны точные, а не приблизительные значения.

Нажимаем ОК. А затем «размножаем» функцию по всему столбцу: цепляем мышью правый нижний угол и тянем вниз. Получаем необходимый результат.

Теперь найти стоимость материалов не составит труда: количество * цену.

Функция ВПР связала две таблицы. Если поменяется прайс, то и изменится стоимость поступивших на склад материалов (сегодня поступивших). Чтобы этого избежать, воспользуйтесь «Специальной вставкой».

  1. Выделяем столбец со вставленными ценами.
  2. Правая кнопка мыши – «Копировать».
  3. Не снимая выделения, правая кнопка мыши – «Специальная вставка».
  4. Поставить галочку напротив «Значения». ОК.

Формула в ячейках исчезнет. Останутся только значения.

Быстрое сравнение двух таблиц с помощью ВПР

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

  1. В старом прайсе делаем столбец «Новая цена».
  2. Выделяем первую ячейку и выбираем функцию ВПР. Задаем аргументы (см. выше). Для нашего примера: . Это значит, что нужно взять наименование материала из диапазона А2:А15, посмотреть его в «Новом прайсе» в столбце А. Затем взять данные из второго столбца нового прайса (новую цену) и подставить их в ячейку С2.

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

Как работает функция ВПР в Excel: несколько примеров для «чайников».

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

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

Использование точного и приблизительного поиска.

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

Обратите внимание, что четвертый параметр равен 1.

Кое-что из результатов определено верно, но в большинстве случаев – ошибки. Функция продолжает просматривать данные столбца D с наименованиями товаров до тех пор, пока не встретит значение больше, чем заданное ей в качестве критерия поиска. Тогда она останавливается и возвращает цену.

Поиск цены на египетские бананы закончился на первой же позиции, так как во второй записаны сливы. А это слово по правилам алфавита стоит ниже, чем «Бананы Египет». Значит, дальше искать не нужно. Получили 145. И не важно, что это цена абрикосов. Поиск цены на сливы происходил до тех пор, пока в D15 не встретилось слово, которое по алфавиту стоит ниже: яблоки. Остановились и взяли цену из предыдущей строки.

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

Вы спросите: «А зачем тогда этот неточный просмотр, если с ним столько проблем?»

Он отлично подходит для выбора значений из определенных интервалов.

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

Если у нас количество товара 11 единиц, то мы просматриваем столбец D до тех пор, пока не встретим число, большее 11. Это 20 и находится оно в 4-й строке. Останавливаемся здесь. Значит, наша скидка расположена в 3-й строке и равна 3%.

Использование нескольких условий.

Еще один простой пример для «чайников» – как использовать при выборе нужного значения несколько условий?

Предположим, у нас есть список имен и фамилий. Нам нужно найти нужного человека и вывести сумму его дохода.

В F2 используем следующую формулу:

=ВПР(D2&” “&E2;$A$2:$B$21;2;0)

Разберем пошагово, как в этом случае работает ВПР.

В начале мы формируем условие. Для этого при помощи оператора & «склеиваем» вместе имя и фамилию, а между ними вставляем пробел.

Не забываем при этом пробел заключить в кавычки, иначе Excel не воспримет его как текст.

Затем в таблице с доходами ищем ячейку с именем и фамилией, разделенными пробелом.

Дальше все происходит по уже отработанной схеме.

Можно попробовать подстраховаться на тот случай, если между именем и фамилией введено несколько пробелов. Знак пробела в формуле заменяем на знак подстановки «*».

Приметно так – D2&”*”&E2

Заключение

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

Источники

  • https://pavel-istomin.ru/funkciya-vpr-v-eksele/
  • https://statanaliz.info/excel/funktsii-i-formuly/funktsiya-excel-vpr-vlookup-i-gpr-hlookup/
  • https://naprimerax.org/funktciia-vpr-v-excel
  • https://www.planetaexcel.ru/techniques/2/106/
  • https://excelhack.ru/funkciya-vlookup-vpr-v-excel/
  • https://exceltable.com/funkcii-excel/funkciya-vpr-v-excel
  • https://mister-office.ru/funktsii-excel/vlookup-excel-5-example.html
  • https://MicroExcel.ru/funkcziya-vpr/

Поиск нужных данных в диапазоне

Как использовать функцию ВПР (VLOOKUP) для поиска и выборки нужных значений из списка мы недавно разбирали. Если вы еще с ней не знакомы — загляните сюда, не пожалейте пяти минут, чтобы сэкономить себе потом несколько часов.

Если же вы знакомы с ВПР, то — вдогон — стоит разобраться с похожими функциями: ИНДЕКС (INDEX) и ПОИСКПОЗ (MATCH), владение которыми весьма облегчит жизнь любому опытному пользователю Excel. Гляньте на следующий пример:

index1.gif

Необходимо определить регион поставки по артикулу товара, набранному в ячейку C16.

Задача решается при помощи двух функций:

=ИНДЕКС(A1:G13;ПОИСКПОЗ(C16;D1:D13;0);2)

Функция ПОИСКПОЗ ищет в столбце D1:D13 значение артикула из ячейки C16. Последний аргумент функции 0 — означает поиск точного (а не приблизительного) соответствия. Функция выдает порядковый номер найденного значения в диапазоне, т.е. фактически номер строки, где найден требуемыый артикул.

Функция ИНДЕКС выбирает из диапазона A1:G13 значение, находящееся на пересечении заданной строки (номер строки с артикулом выдает функция ПОИСКПОЗ) и столбца (нам нужен регион, т.е. второй столбец). 

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

  • Использование функции ВПР (VLOOKUP) для поиска и подстановки значений.
  • Улучшенная версия функции ВПР (VLOOKUP)
  • Многоразовый ВПР

Поиск значений с помощью функций ВПР, ИНДЕКС и ПОИСКПОЗ

​Смотрите также​ Excel:​ определение в каких​ сделано правильно в​ (столбца) первого элемента​ округлялась бы до​ получаем для зеленой​Во-первых, нам нужно определить​

​ в столбце и​ название месяца Июнь​

​ анализа отчета по​

​ появятся фигурные скобки.​

  • ​ аналогичной задачи с​ значений, поэтому перед​ найденные значения, воспользуемся​ небольшой список, в​. Формула возвращает цену​Для поиска значения в​Если необходимо изменить условия​ именно строках диапазона​

  • ​ строке формул появятся​ в таблице в​ 700, а ширина​ ячейки решение:​

    ​ номер строки, соответствующей​​ строке Excel​ – это значение​ продажам.​В ячейку F1 введите​ использованием Условного форматирования.​ вводом формулы нужно​

  • ​ формулой массива:​ котором искомое значение​ на другую деталь,​ большом списке можно​ формулы так, чтобы​

​ находится каждое минимальное​ фигурные скобки.​ этой строке (столбце)​ 480 — до​=ИНДЕКС(B2:F10; ПОИСКПОЗ(J2;A2:A10;0); ПОИСКПОЗ(J3;B1:F1;0))​ выбранному пользователем в​Читайте также: Поиск значения​​ будет использовано в​​Например, как эффектно мы​ вторую формулу:​Имеем таблицу, в которой​ выделить сразу весь​=ИНДЕКС(Список; НАИМЕНЬШИЙ(​ (Воронеж) не находится​​ потому что функция​ ​ использовать функцию просмотра.​​ можно было в​ значение. Это нам​Обратите внимание ниже на​

​ с помощью функций​ 600 и стоимость​или в английском варианте​ желтой ячейке товару.​ в диапазоне таблицы​ качестве поискового критерия.​ отобразили месяц, в​Снова Для подтверждения нажмите​ записаны объемы продаж​ диапазон, т.е. ячейки​ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($C$6;Список);0)>0;СТРОКА(Список)-СТРОКА($A$9);30);​​ в крайнем левом​​ ВПР нашла ближайшее​​ Функция ВПР часто​ Excel выбрать первое​ необходимо по причине​ рисунок, где в​СТОЛБЕЦ (COLUMN)​ составила бы уже​ =INDEX(B2:F10;MATCH(J2;A2:A10;0);MATCH(J3;B1:F1;0))​ Это поможет сделать​ Excel по столбцам​

​В ячейку D2 введите​ котором была максимальная​ комбинацию клавиш CTRL+SHIFT+Enter.​ определенных товаров в​С10:С19​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))​ столбце. Поэтому мы​ число, меньшее или​ используется, но можно​ максимальное, но меньше​ определения именно первого​ ячейку B3 была​и​ 462. Для бизнеса​Слегка модифицируем предыдущий пример.​ функция​ и строкам​ формулу:​

​ продажа, с помощью​Найдено в каком месяце​ разных месяцах. Необходимо​, ввести формулу в​Алгоритм работы формулы следующий​ не можем использовать​ равное указанному (2345678).​ задействовать и функции​ чем 70:​ наименьшего значения. Реализовывается​ введена данная формула​СТРОКА (ROW)​ так гораздо интереснее!​

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

​ Предположим, что у​ПОИСКПОЗ (MATCH)​По сути содержимое диапазона​Для подтверждения после ввода​

Использование функции ГПР

​ второй формулы. Не​ и какая была​ в таблице найти​ Строке формул и​ (для просмотра промежуточных​ функцию ВПР. Для​ Эта ошибка может​ ГПР, ИНДЕКС и​

Одновременное использование функций ИНДЕКС и ПОИСКПОЗ

​=70;»»;B6:B18));СТРОКА(B6:B18)-СТРОКА(B5);»»)))’ class=’formula’>​ данная задача с​ в массиве:​выдергиваем значение города или​ :)​ нас имеется вот​из категории​ нас вообще не​ формулы нажмите комбинацию​ сложно заметить что​ наибольшая продажа Товара​ данные, а критерием​ нажать​ шагов работы формулы​ поиска значения «Воронеж»​ привести к неправильному​

​ ПОИСКПОЗ.​Как в Excel выбрать​ помощью функции СТРОКА,​Выборка соответственного значения с​ товара из таблицы​0​ такая ситуация:​Ссылки и массивы (Lookup​ интересует, нам нужен​ клавиш CTRL+SHIFT+Enter, так​ во второй формуле​ 4 на протяжении​ поиска будут заголовки​CRTL+SHIFT+ENTER​ воспользуйтесь клавишей​ в диапазоне B1:B11​ выставлению счета клиенту.​Общий вид функции ВПР​ первое минимальное значение​ она заполняет элементы​ первым наименьшим числом:​ с помощью функции​

Использование функций ИНДЕКС и ПОИСКПОЗ для поиска значения

Еще о функциях поиска

  • ​- поиск точного​Идея в том, что​

  • ​ and Reference)​ просто счетчик строк.​

  • ​ как формула будет​ мы использовали скелет​

​ двух кварталов.​

support.office.com

Поиск ТЕКСТовых значений в MS EXCEL с выводом их в отдельный список. Часть1. Обычный поиск

​ строк и столбцов.​.​F9​ будет использоваться функция​Если для аргумента «приблизительное​ и ее аргументов:​ кроме нуля:​ массива в памяти​С такой формулой нам​ИНДЕКС (INDEX)​ соответствия без каких​ пользователь должен ввести​

​. В частности, формула​ То есть изменить​ выполнена в массиве.​​ первой формулы без​​В первом аргументе функции​

Задача

​ Но поиск должен​Для скрытия ошибок #ССЫЛКА!,​):​ ПОИСКПОЗ. Оно найдено​

А. Найти значения, которые содержат критерий

​ соответствие» указано значение​=ВПР(;;;)​

​Как легко заметить, эти​ программы номерами строк​ удалось выбрать минимальное​Если приходиться работать с​ либо округлений. Используется​ в желтые ячейки​ПОИСКПОЗ(J2; A2:A10; 0)​ аргументы на: СТРОКА(B2:B11)​

​ А в строке​ функции МАКС. Главная​ ВПР (Вертикальный ПРосмотр)​​ быть выполнен отдельно​​ возвращаемой формулой массива,​Функция ПОИСК(), перебирая элементы​ в строке 4.​​ ЛОЖЬ или 0,​​Например, =ВПР(21500;C2:E7;3;ЛОЖЬ).​

​ формулы отличаются между​ листа. Но сначала​ значение относительно чисел.​

​ большими таблицами определенно​
​ для 100%-го совпадения​
​ высоту и ширину​

​даст нам нужный​ или СТРОКА(С2:С11) –​ формул появятся фигурные​ структура формулы: ВПР(B1;A5:G14;СТОЛБЕЦ(B5:G14);0).​​ указывается ссылка на​​ по диапазону строки​

  • ​ к диапазону​ исходного списка, определяет,​ Затем функция ИНДЕКС​ а точного совпадения​Первый аргумент (часть, необходимая​ собой только функциями​ от всех этих​ Далее разберем принцип​ найдете в них​ искомого значения с​ двери для, например,​ результат (для​ это никак не​ скобки.​ Мы заменили функцию​
  • ​ ячейку где находится​ или столбца. То​С10:С19​ содержится ли в​
  • ​ использует это значение​ нет, вместо неправильного​ для работы функции)​ МИН и МАКС​ номеров вычитается номер​ действия формулы и​ дублирующийся суммы разбросаны​ одним из значений​ шкафа, которую он​Яблока​ повлияет на качество​В ячейку F1 введите​ МАКС на ПОИСКПОЗ,​ критерий поиска. Во​ есть будет использоваться​применено правило Условного​
  • ​ нем значение-критерий. Если​ в качестве аргумента​ значения формула возвращает​
  • ​ — это искомое​ и их аргументами.​
  • ​ на против первой​ пошагово проанализируем весь​ вдоль целого столбца.​ в таблице. Естественно,​ хочеть заказать у​это будет число​

​ формулы. Главное, что​ вторую формулу:​ которая в первом​ втором аргументе указывается​ только один из​ форматирования.​ значение не содержится,​ поиска и находит​ в ячейку строку​ значение. Это может​Скачать пример выборки из​ строки таблицы –​ порядок всех вычислений.​ В тоже время​ применяется при поиске​ компании-производителя, а в​​ 6). Первый аргумент​​ в этих диапазонах​Снова Для подтверждения нажмите​ аргументе использует значение,​​ диапазон ячеек для​​ критериев. Поэтому здесь​

​В этом случае будут​ то возвращается ошибка​ численность населения Воронежа​​ «#Н/Д». Это наилучшее​​ быть ссылка на​ таблицы в Excel.​

Б. Найти значения, которые совпадают с критерием (точное совпадение)

​ B5, то есть​​ у вас может​ текстовых параметров (как​ серой ячейке должна​ этой функции -​​ по 10 строк,​​ CTRL+SHIFT+Enter.​

​ полученное предыдущей формулой.​ просмотра в процессе​ нельзя применить функцию​
​ выведены все значения,​
​ #ЗНАЧ! В противном​
​ в четвертом столбце​

B. Найти значения, которые начинаются с критерия

​ решение. В данном​ ячейку, например B2,​Теперь Вас ни что​ число 5. Это​Ключевую роль здесь играет​ возникнуть необходимость выбрать​​ в прошлом примере),​​ появиться ее стоимость​

​ искомое значение (​ как и в​В первом аргументе функции​
​ Оно теперь выступает​
​ поиска. В третьем​
​ ИНДЕКС, а нужна​

Г. Найти значения, которые заканчиваются на критерий

​ которые совпадают с​ случае возвращается числовое​ (столбец D). Использованная​ случае «#Н/Д» не​ или значение, например​ не ограничивает. Один​​ делается потому, что​​ функция ИНДЕКС. Ее​

​ данные из таблицы​ т.к. для них​ из таблицы. Важный​
​Яблоко​
​ таблице. И нумерация​
​ ГПР (Горизонтальный ПРосмотр)​

​ в качестве критерия​
​ аргументе функции ВПР​ специальная формула.​ критерием (без учета​ значение, соответствующее номеру​ формула показана в​ означает, что формула​ «кузьмина» или 21500.​ раз разобравшись с​ функция ИНДЕКС работает​ номинальное задание –​ с первым наименьшим​ округление невозможно.​

excel2.ru

Поиск значения в столбце и строке таблицы Excel

​ нюанс в том,​из желтой ячейки​ начинается со второй​ указываем ссылку на​ для поиска месяца.​ должен указываться номер​Для решения данной задачи​ РЕгиСТра). Критерий вводится​ начальной позиции вхождения​ ячейке A14.​ введена неправильно (за​Второй аргумент — это​ принципами действия формул​ с номерами внутри​ это выбирать из​ числовым значением, которое​Важно отметить, что при​ что если пользователь​

Поиск значений в таблице Excel

​ J2), второй -​ строки!​ ячейку с критерием​ И в результате​ столбца, из которого​

​ проиллюстрируем пример на​ в ячейку​ критерия в значение​

Отчет объем продаж товаров.

​Краткий справочник: обзор функции​ исключением неправильно введенного​ диапазон ячеек, который,​ в массиве Вы​ таблицы, а не​ исходной таблицы (указывается​ имеет свои дубликаты.​ использовании приблизительного поиска​ вводит нестандартные значения​ диапазон ячеек, где​Если вы знакомы с​ для поиска. Во​ функция ПОИСКПОЗ нам​ следует взять значение​ схематической таблице, которая​E6​ из списка (здесь​ ВПР​ номера). Это означает,​

Поиск значения в строке Excel

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

​ с округлением диапазон​ размеров, то они​

  1. ​ мы ищем товар​ функцией​ втором аргументе указана​ возвращает номер столбца​ на против строки​
  2. ​ соответствует выше описанным​.​
  3. ​ нам не важен​Функции ссылки и поиска​ что номер 2345678​ содержит искомое значение.​ их под множество​ листа Excel. В​ – A6:A18) значения​ данных по условию.​ поиска — а​Результат поиска по строкам.
  4. ​ должны автоматически округлиться​ (столбец с товарами​
  5. ​ВПР (VLOOKUP)​ ссылка на просматриваемый​

Найдено название столбца.

​ 2 где находится​ с именем Товар​ условиям.​Для создания списка, содержащего​ номер позиции, важно,​

Принцип действия формулы поиска значения в строке Excel:

​ (справка)​ не был найден,​Важно:​ условий и быстро​ тоже время функция​ соответственные определенным числам.​ В Excel для​ значит и вся​ до ближайших имеющихся​ в таблице -​или ее горизонтальным​ диапазон таблицы. Третий​ максимальное значение объема​ 4. Но так​Лист с таблицей для​ найденные значения, воспользуемся​ что это число);​Использование аргумента массива таблицы​ потому что вы​ В функции ВПР столбец,​ решать много вычислительных​ СТРОКА умеет возвращать​ ИНДЕКС работает с​

​ этой цели можно​ таблица — должна​ в таблице и​ A2:A10), третий аргумент​ аналогом​ аргумент генерирует функция​ продаж для товара​ как нам заранее​ поиска значений по​ формулой массива:​Функция ЕСЛИОШИБКА() используется для​ в функции ВПР​ искали значение 2345768.​ содержащий искомое значение​ задач.​ только номера строк​ учетом критериев определённых​ успешно использовать формулу​

​ быть отсортирована по​ в серой ячейке​ задает тип поиска​ГПР (HLOOKUP)​ СТРОКА, которая создает​ 4. После чего​ не известен этот​ вертикали и горизонтали:​=ИНДЕКС(Список; НАИМЕНЬШИЙ(​ подавления ошибки #ЗНАЧ!​К началу страницы​В этом примере показано,​ или ссылку на​andron359​ листа. Чтобы не​ во втором (номер​ в массиве.​ возрастанию (для Типа​ должна появиться стоимость​ (0 — точное​

Как получить заголовки столбцов по зачиню одной ячейки?

​, то должны помнить,​ в памяти массив​ в работу включается​ номер мы с​Над самой таблицей расположена​ЕСЛИ($E$6=Список;СТРОКА(Список)-СТРОКА($A$9);30);​ заменяя ее на​Найдем текстовые значения, удовлетворяющие​ как работает функция.​ ячейку, должен быть​: Добрый вечер !​ получилось смещение необходимо​ строки внутри таблицы)​Чтобы определить соответствующие значение​ сопоставления = 1)​ изготовления двери для​ совпадение наименования, приблизительный​ что эта замечательные​ номеров строк из​ функция ИНДЕКС, которая​ помощью функции СТОЛБЕЦ​ строка с результатами.​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))​ число 0;​ заданному пользователем критерию.​ Если ввести значение​ крайним левым столбцом​ Подскажите как формулой​ сопоставить порядок номеров​ и третьем (номер​ первому наименьшему числу​ или по убыванию​ этих округленных стандарных​ поиск запрещен).​ функции ищут информацию​ 10 элементов. Так​ возвращает значение по​ создаем массив номеров​ В ячейку B1​В этом случае будут​Функция ЕСЛИ() заменяет числовые​ Поиск будем осуществлять​ в ячейку B2​ в диапазоне.​ на основе 2​

​ строк листа и​

Поиск значения в столбце Excel

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

​ значения, возвращенные функцией​ в диапазоне с​ (первый аргумент), функция​Третий аргумент — это​ данных выбрать значения​

​ таблицы с помощи​ аргументах. Так как​ таблицы по условию.​ = -1) по​

  1. ​Решение для серой ячейки​ мы должны определить​ параметру, т.е. в​ части у нас​ столбца из определенного​
  2. ​ B4:G15.​ поискового запроса, то​
  3. ​ которые начинаются или​ ПОИСК(), на номер​ повторяющимися значениями. При​ ВПР выполняет поиск​ столбец в диапазоне​ из таблицы ,​ вычитанием разницы. Например,​ наша исходная таблица​Результат поиска по столбцам.
  4. ​ Допустим мы хотим​ строчкам и по​
  5. ​ будет практически полностью​ порядковый номер столбца​

Найдено название строки.

Принцип действия формулы поиска значения в столбце Excel:

​ одномерном массиве -​ находится 10 строк.​ в ее аргументах​Это позволяет функции ВПР​ есть заголовок столбца​ совпадают с критерием.​ позиции значения в​ наличии повторов, можно​ в ячейках C2:E7​ поиска ячеек, содержащий​ спасибо заранее.​ если таблица находится​ A6:A18 имеет только​ узнать первый самый​ столбцам.​ аналогично предыдущему примеру:​

​ в таблице с​ по строке или​Далее функция ГПР поочередно​ диапазона. Так как​ собрать целый массив​ или название строки.​ Критерий вводится в​ списке. Если значение​ ожидать, что критерию​ (второй аргумент) и​

​ значение, которое нужно​_Igor_61​ на 5-ой строке​ 1 столбец, то​ дешевый товар на​Иначе приблизительный поиск корректно​=ИНДЕКС(C7:K16; ПОИСКПОЗ(D3;B7:B16;1); ПОИСКПОЗ(G3;C6:K6;1))​ нужным нам городом.​ по столбцу. А​ используя каждый номер​

​ у нас есть​ значений. В результате​ А в ячейке​ ячейку​ =0 (соответствует ошибке​ будет соответствовать несколько​ возвращает наиболее близкое​ найти.​: Здравствуйте! Попробуйте в​ листа значит каждая​ третий аргумент в​ рынке из данного​ работать не будет!​=INDEX(C7:K16; MATCH(D3;B7:B16;1); MATCH(G3;C6:K6;1))​

​ Функция​ если нам необходимо​ строки создает массив​

​ номер столбца 2,​ в памяти хранится​ D1 формула поиска​G6​

​ #ЗНАЧ!), то возвращается​ значений. Для их​ приблизительное совпадение из​Хотя четвертый аргумент не​ D7:​ строка таблицы будет​ функции ИНДЕКС мы​ прайса:​Для точного поиска (Тип​Разница только в последнем​ПОИСКПОЗ(J3; B1:F1; 0)​ выбирать данные из​ соответственных значений продаж​ а номер строки​ все соответствующие значения​ должна возвращать результат​

exceltable.com

Двумерный поиск в таблице (ВПР 2D)

​.​ число 30. В​​ вывода в отдельный​​ третьего столбца в​ является обязательным, большинство​​=ИНДЕКС(G6:R30;ПОИСКПОЗ(B7;G6:G30;-1);ПОИСКПОЗ(C7;G6:R6;-1))​​ на 5 меньше​ не указываем.​Автоматическую выборку реализует нам​ сопоставления = 0)​ аргументе обеих функций​сделает это и​ двумерной таблицы по​ из таблицы по​ в диапазоне где​ каждому столбцу по​ вычисления соответствующего значения.​Для создания списка, содержащего​ принципе, вместо 30​ диапазон удобно использовать​ диапазоне — столбца​ пользователей вводят аргумент​(поиск пересечения строки​ чем соответственная строка​Чтобы вычислить номер строки​

Пример 1. Найти значение по товару и городу

​ формула, которая будет​ сортировка не нужна​ПОИСКПОЗ (MATCH)​ выдаст, например, для​ совпадению сразу двух​

Excel поиск значения в таблице

​ определенному месяцу (Июню).​ хранятся названия месяцев​ строке Товар 4​ После чего в​ найденные значения, воспользуемся​ можно указать любое​ формулы массива.​ E (третий аргумент).​ ЛОЖЬ (или 0).​ и столбца)​ листа.​ таблицы напротив наименьшего​ обладать следующей структурой:​ и никакой роли​-​Киева​ параметров — и​

  • ​ Далее функции МАКС​ в любые случаи​ (а именно: 360;​ ячейке F1 сработает​ формулой массива:​ число, которое больше​​Пусть Исходный список значений​​В данном примере четвертый​​ Почему? Потому что​andron359​​После того как будут​​ числа в смежном​​=ИНДЕКС(диапазон_данных_для_выборки;МИН(ЕСЛИ(диапазон=МИН(диапазон);СТРОКА(диапазон)-СТРОКА(заголовок_столбца);””)))​ не играет.​​Типу сопоставления​​, выбранного пользователем в​ по строке и​ осталось только выбрать​ будет 1. Тогда​​ 958; 201; 605;​​ вторая формула, которая​=ИНДЕКС(Список;НАИМЕНЬШИЙ(​ номера последней заполненной​ (например, перечень инструментов)​ аргумент оставлен пустым,​ в этом случае​: Не не получается​ отобраны все минимальные​ диапазоне B6:B18 и​В месте «диапазон_данных_для_выборки» следует​В комментах неоднократно интересуются​
  • ​(здесь он равен​ желтой ячейке J3​ по столбцу одновременно?​ максимальное значение из​ нам осталось функцией​ 462; 832). После​​ уже будет использовать​​ЕСЛИ(ЕСЛИОШИБКА(ПОИСК($G$6;Список);0)=1;СТРОКА(Список)-СТРОКА($A$9);30);​ позиции Исходного списка​​ находится в диапазоне​​ поэтому функция возвращает​ функция будет искать​ , должно быть​
  • ​ значения и сопоставлены​ использовать его в​ указать область значений​ — а как​ минус 1). Это​ значение 4.​ Давайте рассмотрим несколько​​ этого массива.​​ ИНДЕКС получить соответственное​ чего функции МАКС​​ значения ячеек B1​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))​​ (это нужно для​A10:A19​ приблизительное совпадение.​точное совпадение​ -9,400​ все номера строк​ качестве значения для​ A6:A18 для выборки​ сделать обратную операцию,​ некий аналог четвертого​И, наконец, в-третьих, нам​

​ жизненных примеров таких​Далее немного изменив первую​ значение из диапазона​ остается только взять​

​ и D1 в​

​В этом случае будут​ правильной сортировки функцией​

Пример 2. Приблизительный двумерный поиск

​(см. Файл примера).​Разобравшись с функцией ВПР,​. Можно ввести аргумент​_Igor_61​

Excel поиск значения в таблице

​ таблицы функция МИН​ второго аргумента, применяется​ из таблицы (например,​ т.е. определить в​ аргумента функции​ нужна функция, которая​ задач и их​ формулу с помощью​ B4:G4 – Февраль​ из этого массива​ качестве критериев для​ выведены все значения,​ НАИМЕНЬШИЙ());​Выведем в отдельный диапазон​ несложно будет освоить​ ИСТИНА или вообще​: Я не разбирался​ выберет наименьший номер​ несколько вычислительных функций.​ текстовых), из которых​ первом примере город​ВПР (VLOOKUP) — Интервального​ умеет выдавать содержимое​

​ решения.​ функций ИНДЕКС и​ (второй месяц).​

​ максимальное число и​

​ поиска соответствующего месяца.​

​ которые заканчиваются или​Функция НАИМЕНЬШИЙ() сортирует массив​​ значения, которые удовлетворяют​​ и функцию ГПР.​​ не вводить аргумент,​​ в Вашей огромной​ строки. Эта же​Функция ЕСЛИ позволяет выбрать​ функция ИНДЕКС выберет​​ и товар если​ просмотра (Range Lookup)​​ ячейки из таблицы​Предположим, что у нас​ ПОИСКПОЗ, мы создали​

  • ​​​ возвратить в качестве​Теперь узнаем, в каком​ совпадают с критерием.​ номеров строк по​ критерию. Рассмотрим различные​ Функция ГПР использует​ но если точное​ формуле со множеством​ строка будет содержать​ значение из списка​ одно результирующие значение.​ мы знаем значение​. Вообще говоря, возможных​
  • ​ по номеру строки​​ имеется вот такой​ вторую для вывода​Вторым вариантом задачи будет​ значения для ячейки​ максимальном объеме и​ Критерий вводится в​ возрастанию;​ варианты поиска.​ те же аргументы,​ совпадение не будет​ «умножить» и «разделить​
  • ​ первое наименьшее число,​​ по условию. В​ Аргумент «диапазон» означает​ из таблицы? Тут​ значений для него​ и столбца -​ двумерный массив данных​ названия строк таблицы​ поиск по таблице​ D1, как результат​ в каком месяце​ ячейку​Функция ДВССЫЛ() возвращает массив​

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

​ последовательных чисел;​ диапазон Список.​ в строках вместо​наиболее близкое​ ищите пересечения и​

P.S. Обратная задача

​ столбце B6:B18. На​ указано где проверяется​ числовыми значениями, из​ формулы массива (не​1​ИНДЕКС (INDEX)​ товарам:​ Название соответствующих строк​ месяца в качестве​Как видно конструкция формулы​ Товара 4.​.​Функция ИНДЕКС() возвращает текстовые​​Диапазон может охватить в​​ столбцов.​​приблизительное совпадение​​ подставляйте в Вашу​

Excel поиск значения в таблице

​ основании этого номера​

  1. ​ каждая ячейка в​ которых следует выбрать​ забудьте ввести их​- поиск ближайшего​из той же​Пользователь вводит (или выбирает​​ (товаров) выводим в​
  2. ​ критерия. В такие​ проста и лаконична.​Чтобы выполнить поиск по​Для создания списка, содержащего​ значения из Исходного​ том числе и​​Если вы не хотите​​, а большинство людей​​ формулу​
  3. ​ строки функции ИНДЕКС​ диапазоне B6:B18 на​ первое наименьшее число.​​ с помощью сочетания​

planetaexcel.ru

Выборка значений из таблицы Excel по условию

​ наименьшего числа, т.е.​ категории​ из выпадающих списков)​ F2.​ случаи мы должны​ На ее основе​ столбцам следует:​ найденные значения, воспользуемся​ списка, из строк,​ незаполненные ячейки перечня.​ ограничиваться поиском в​ приблизительное совпадение не​buchlotnik​ выберет соответствующее значение​ наличие наименьшего числового​ В аргументе «заголовок_столбца»​ клавиш​ введенные пользователем размеры​

Как сделать выборку в Excel по условию

​Ссылки и массивы (Lookup​ в желтых ячейках​ВНИМАНИЕ! При использовании скелета​ изменить скелет нашей​ можно в похожий​В ячейку B1 введите​ формулой массива:​ номера которых были​ В дальнейшем пользователь​

Прайс продуктов.

​ крайнем левом столбце,​ устраивает.​: Доброй ночи -​

​ из таблицы A6:A18.​

​ значения: ЕСЛИB6:B18=МИНB6:B18. Таким​ для второй функции​Ctrl+Shift+Enter​ двери округлялись бы​ and Reference)​ нужный товар и​ формулы для других​ формулы: функцию ВПР​ способ находить для​ значение Товара 4​=ИНДЕКС(Список;НАИМЕНЬШИЙ(​ получены на предыдущем​ может расширить перечень​ можно использовать сочетание​Чтобы убедиться в том,​ в зелёных ячейках​ В итоге формула​ способом в памяти​ СТРОКА, следует указать​

​, а не обычного​ до ближайших наименьших​. Первый аргумент этой​ город. В зеленой​ задач всегда обращайте​ заменить ГПР, а​ определенного товара и​ – название строки,​ЕСЛИ($I$6=ПРАВСИМВ(Список;ДЛСТР($I$6));СТРОКА(Список)-СТРОКА($A$9);30);​ шаге.​ инструментов, указанные ниже​

​ функций ИНДЕКС и​ что использование приблизительного​ расчёт — в​ возвращает это значение​ программы создается массив​

​ ссылку на ячейку​Enter​

Условие выбрать первое минимальное.

​ подходящих размеров из​ функции — диапазон​ ячейке нам нужно​ внимание на второй​ функция СТОЛБЕЦ заменяется​ другие показатели. Например,​ которое выступит в​

​СТРОКА(ДВССЫЛ(«A1:A»&ЧСТРОК(Список)))))​

Как работает выборка по условию

​В предельном случае м.б.​ формулы автоматически учтут​ ПОИСКПОЗ. Формула, использующая​ совпадения может иметь​ одну формулу не​ в ячейку B3​ из логических значений​ с заголовком столбца,​):​ таблицы. В нашем​ ячеек (в нашем​ формулой найти и​ и третий аргумент​ на СТРОКА.​ минимальное или среднее​ качестве критерия.​СОВЕТ:​ найдено столько же​ новые значения.​ эти функции вместе,​ серьезные последствия, предположим,​

​ загонял — громоздко,​ в качестве результата​ ИСТИНА и ЛОЖЬ.​ который содержит диапазон​Принцип их работы следующий:​ случае высота 500​ случае это вся​ вывести число из​

​ поисковой функции ГПР.​Это позволит нам узнать​ значение объема продаж​В ячейку D1 введите​О поиске текстовых​ значений, сколько содержится​Выведем в отдельный диапазон​ немного сложнее формулы​ что ищется цена​ но при желании​ вычисления.​ В нашем случаи​ числовых значений.​перебираем все ячейки в​ округлилась бы до​ таблица, т.е. B2:F10),​ таблицы, соответствующее выбранным​ Количество охваченных строк​ какой объем и​ используя для этого​ следующую формулу:​

​ значений с использованием​ в исходном списке​ все значения Исходного​ с функцией ВПР,​ детали с идентификатором​ можно​Поняв принцип действия формулы,​ 3 элемента массива​Естественно эту формулу следует​ диапазоне B2:F10 и​ 450, а ширина​ второй — номер​ параметрам. Фактически, мы​ в диапазоне указанного​ какого товара была​ функции МИН или​Для подтверждения после ввода​ подстановочных знаков читайте​ (когда все значения​ списка, в которых​ но она открывает​ 2345768, но вы​andron359​ теперь можно легко​ будут содержат значение​ выполнять в массиве.​ ищем совпадение с​ 480 до 300,​ строки, третий -​ хотим найти значение​ в аргументе, должно​ максимальная продажа в​ СРЗНАЧ. Вам ни​ формулы нажмите комбинацию​ в статье Поиск​ удовлетворяют критерию). Поэтому​содержится​ больше возможностей. Поэтому​ перепутали две цифры​: Добрый день !​ ее модифицировать и​ ИСТИНА, так как​

​ Поэтому для подтверждения​ искомым значением (13)​ и стоимость двери​ номер столбца (а​ ячейки с пересечения​ совпадать с количеством​ определенный месяц.​ что не препятствует,​ горячих клавиш CTRL+SHIFT+Enter,​ текстовых значений в​ формулу массива нужно распространять​текст-критерий (например, слово​ некоторые пользователи предпочитают​ и ввели их​ в вашей формуле​ настраивать под другие​ минимальное значение 8​ ее ввода следует​ из ячейки J4​ была бы 135.​

Как выбрать значение с наибольшим числом в Excel

​ их мы определим​ определенной строки и​ строк в таблице.​Чтобы найти какой товар​ чтобы приведенный этот​ так как формула​ списках. Часть2. Подстановочные​ на диапазон той​ дрель). Критерий вводится​

Первое максимальное значение.

​ применять сочетание функций​ в формулу следующим​ считает для первой​ условия. Например, формулу​ содержит еще 2​ нажимать не просто​

​ с помощью функции​Максимальное значение по условию.

​-1​ с помощью функций​ столбца в таблице.​

Больше чем ноль.

​ А также нумерация​ обладал максимальным объемом​ скелет формулы применить​ должна быть выполнена​ знаки. В статье​

​ же размерности, что​ в ячейку​

​ ИНДЕКС и ПОИСКПОЗ,​ образом:​ строки , а​ можно изменить так,​ дубликата в столбце​ клавишу Enter, а​ЕСЛИ (IF)​- поиск ближайшего​ ПОИСКПОЗ).​ Для наглядности, разобъем​

exceltable.com

Поиск значений в таблице (Формулы/Formulas)

​ должна начинаться со​​ продаж в определенном​ с использованием более​ в массиве. Если​ Выделение ячеек c​ и исходный список.​С6​

​ а не функцию​​=ВПР​ в следующей выдаёт​​ чтобы выбрать первое​​ B6:B18.​ целую комбинацию клавиш​

​когда нашли совпадение, то​​ наибольшего числа, т.е.​Итого, соединяя все вышеперечисленное​ задачу на три​

​ второй строки!​​ месяце следует:​ сложных функций для​ все сделано правильно,​ ТЕКСТом с применением​
​ Вышеуказанная формула массива​.​ ВПР.​(2345678;A1:E7;5)​

​ н/д ?​​ максимальное значение в​Следующий шаг – это​ CTRL+SHIFT+Enter. Если все​ определяем номер строки​ нестандартная высота 500​ в одну формулу,​ этапа.​

​Скачать пример поиска значения​​В ячейку B2 введите​ реализации максимально комфортного​ в строке формул​ Условного форматирования приведено решение​ будет возвращать несколько​Для создания списка, содержащего​

excelworld.ru

​В данном примере представлен​

    • Как пользоваться ВПР в Excel
    • Особенности работы функции ВПР
    • Как использовать формулу ВПР в Excel для сравнения двух таблиц
    • Почему не работает ВПР в Excel
    • Когда Интервальный просмотр может быть = 1

Функция ВПР в Excel (в английской версии VLOOKUP) используется для подтягивания значений в таблицу из другой таблицы при условии совпадения критерия поиска. Расшифровывается ВПР как “вертикальный поиск результата”. В этой статье разберемся, как сделать ВПР в Excel, ниже будет понятная инструкция.

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

Как сделать ВПР в Excel понятная инструкция

Чтобы понять, как пользоваться функцией ВПР в Excel, разберем ее синтаксис:

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

Искомое значение — значение или ссылка на ячейку, по которой будем искать значения в другой таблице. Это критерий поиска.

Таблица — ссылка на таблицу, в которой будет искать.

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

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

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

как сделать впр в excel понятная инструкция

В качестве критерия будет использоваться название месяца.

Добавим в первую таблицу столбец Температура и напишем следующую формулу:

как сделать впр в excel понятная инструкция

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

Аргумент Интервальный просмотр задаем 0, чтобы функция искала точное совпадение

Запомним, что в абсолютном большинстве случаем Интервальный просмотр ставим = 0.

Кстати, если не указать интервальный просмотр совсем, то формула не выдаст ошибку, т.к. этот аргумент необязательный. Но результат будет неожиданным, поскольку в этом случае ВПР считает не указанный Интервальный просмотр равным 1 (а это приблизительный поиск).

Не забываем добавить абсолютные ссылки (значки доллара $) к диапазону, иначе диапазон “съедет” при копировании формулы.

как сделать впр в excel понятная инструкция

Итак, мы получили в нашу таблицу значение из таблицы-справочника — подтянули по критерию названия месяца. Осталось только протянуть или скопировать формулу во все ячейки этого столбца.

как сделать впр в excel понятная инструкция

Особенности работы функции ВПР

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

  • Функция ВПР ищет совпадение строго в крайнем левом столбце выделенной таблицы.

Ключевые слова здесь — “выделенной” таблицы. Чтобы понять, что это значит, добавим к таблице-справочнику еще один столбец слева (Год).

как сделать впр в excel понятная инструкция

Чтобы сделать такой же ВПР, как в предыдущем примере (по критерию Месяц), нужно выделять столбцы H:I, хотя таблица содержит столбцы G:I. Иначе Excel будет искать в крайнем левом столбце, в котором содержится не месяц, а год.

как сделать впр в excel понятная инструкция

Вывод: аргумент Таблица в данном случае — это выделенный диапазон ячеек, а не то, что мы видим “глазами” и считаем таблицей.

  • ВПР в Excel ищет первое совпадение с указанным критерием.

Для примера добавим еще одну строку в таблицу-справочник.

как сделать впр в excel понятная инструкция

Теперь в таблице содержится два значения температуры для месяца Январь. 

Но при этом, даже если мы изменим интервал таблицы для поиска, затянув в нее новую строку Январь 2023, то значение, которое подтянула ВПР, не изменится.

как сделать впр в excel понятная инструкция

ВПР взяло первое совпадение.

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

Текстовые значения необходимо вводить в кавычках, числовые — просто число.

Пример функции ВПР с текстовым критерием поиска

как сделать впр в excel понятная инструкция

Пример функции ВПР с числовым критерием поиска

как сделать впр в excel понятная инструкция

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

Функцию ВПР часто используют для сравнения двух таблиц.

  • Сверка двух таблиц по пропускам значений

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

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

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

как сделать впр в excel понятная инструкция

Значения по месяцам Июнь и Октябрь подтянулись с ошибкой #Н/Д (нет данных) — это значит, что в исходной таблице эти месяцы пропущены.

  • Сверка числовых значений

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

как сделать впр в excel понятная инструкция

А теперь обратите внимание, что месяц Январь повторяется в обоих таблицах (разный год). Но для второго значения Январь в первую таблицу подтянулись цифры из первого значения Январь второй таблицы.

как сделать впр в excel понятная инструкция

Это произошло потому, что ВПР в Excel ищет первое совпадение.

Выходы из ситуации:

  • убедиться, что значения в столбце поиски во второй таблице уникальные
  • использовать функцию СУММЕСЛИ или СУММЕСЛИМН
  • использовать ВПР по нескольким критериям

Почему не работает ВПР в Excel

То, что ВПР не работает, можно понять по появлению ошибки #Н/Д.

Не работает ВПР — значит, что функция не находит значение. Причины:

  • Ошибка в написании критерия. Часто в текст закрадываются лишние пробелы или латинские буквы вместо кириллицы, и тогда появится ошибка.

как сделать впр в excel понятная инструкция

В данном примере в конце слова Январь стоит невидимый пробел. А поскольку функция ВПР в Excel ищет точное совпадение Январь + пробел в конце и просто Январь — это два разных значения.

  • Съехал или “не дотянут” диапазон таблицы для поиска.

как сделать впр в excel понятная инструкция

В данном случае значение Январь не попало в диапазон поиска, поэтому появилась ошибка #Н/Д.

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

Когда Интервальный просмотр может быть = 1

Аргумент Интервальный просмотр в ВПР может принимать только два значения — 0 или 1 (если его не указать, то по умолчанию считается 1).

Во всех предыдущих примерах мы использовали интервальный просмотр = 0. Это подходит для большинства ситуаций на практике.

Но иногда необходимо использовать интервальный просмотр = 1. Как правило, он используется для числовых критериев, чтобы подтянуть значение из определенного диапазона критериев.

Более подробно об этом — в статье

В этой статье мы узнали, как сделать ВПР в Excel, надеюсь, это была понятная инструкция.


   Сообщество Excel Analytics | обучение Excel

    Канал на Яндекс.Дзен 


Вам может быть интересно:

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

Все секреты Excel-функции ВПР (VLOOKUP) для поиска данных в таблице и извлечения их в другую

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

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

Даже если вы годами используете функцию ВПР, то с высокой долей вероятности эта статья будет вам полезна и не оставит равнодушным. Я, например, будучи IT-специалистом, а потом и руководителем в IT, пользовался VLOOKUP 15 лет, но разобраться со всеми нюансами довелось только сейчас, когда я на профессиональной основе стал обучать людей Excel.

ВПР — это аббревиатура от вертикального просмотра. Аналогично и VLOOKUP — Vertical LOOKUP. Уже само название функции намекает нам, что она производит поиск в строках таблицы (по вертикали — перебирая строки и фиксируя столбец), а не в столбцах (по горизонтали — перебирая столбцы и фиксируя строку). Надо заметить, что у ВПР есть сестра — гадкий утёнок, которая никогда не станет лебедем, — это функция ГПР (HLOOKUP). ГПР, в противоположность ВПР, производит горизонтальный поиск, однако концепция Excel (да и вообще концепция организации данных) подразумевает, что ваши таблицы имеют небольшое количество столбцов и гораздо большее количество строк. Именно поэтому поиск по строкам нам требуется во много раз чаще, чем по столбцам. Если вы в Excel слишком часто пользуетесь функцией ГПР, то, вполне вероятно, что вы чего-то не поняли в этой жизни.

Синтаксис

Функция ВПР имеет четыре параметра:

=ВПР( <ЧТО> ; <ГДЕ> ; <НОМЕР_СТОЛБЦА> [;<ОТСОРТИРОВАНО>] ), тут:

<ЧТО> — искомое значение (редко) или ссылка на ячейку, содержащую искомое значение (подавляющее большинство случаев);

<ГДЕ> — ссылка на диапазон ячеек (двумерный массив), в ПЕРВОМ (!) столбце которого будет осуществляться поиск значения параметра <ЧТО>;

<НОМЕР_СТОЛБЦА> — номер столбца в диапазоне, из которого будет возвращено значение;

<ОТСОРТИРОВАНО> — это очень важный параметр, который отвечает на вопрос, а отсортирован ли по возрастанию первый столбец диапазона <ГДЕ>. В случае, если массив отсортирован, мы указываем значение ИСТИНА (TRUE) или 1, в противном случае — ЛОЖЬ (FALSE) или 0. В случае, если данный параметр опущен, он по умолчанию становится равным 1.

Держу пари, что многие из тех, кто знает функцию ВПР как облупленную, прочитав описание четвёртого параметра, могут почувствовать себя неуютно, так как они привыкли видеть его в несколько ином виде: обычно там идёт речь о точном соответствии при поиске (ЛОЖЬ или 0) либо же о диапазонном просмотре (ИСТИНА или 1).

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

Как же конкретно работает формула ВПР

  • Вид формулы I. Если последний параметр опущен или указан равным 1, то ВПР предполагает, что первый столбец отсортирован по возрастанию, поэтому поиск останавливается на той строке, которая непосредственно предшествует строке, в которой находится значение, превышающее искомое. Если такой строки не найдено, то возвращается последняя строка диапазона.
  • Вид формулы II. Если последний параметр указан равным 0, то ВПР последовательно просматривает первый столбец массива и сразу останавливает поиск, когда найдено первое точное соответствие с параметром <ЧТО>, в противном случае возвращается код ошибки #Н/Д (#N/A).

Схемы работы формул

ВПР тип I

ВПР тип II

Следствия для формул вида I

  1. Формулы можно использовать для распределения значений по диапазонам.
  2. Если первый столбец <ГДЕ> содержит повторяющиеся значения и правильно отсортирован, то будет возвращена последняя из строк с повторяющимися значениями.
  3. Если искать значение заведомо большее, чем может содержать первый столбец, то можно легко находить последнюю строку таблицы, что бывает довольно ценно.
  4. Данный вид вернёт ошибку #Н/Д, только если не найдёт значения меньше или равное искомому.
  5. Понять, что формула возвращает неправильные значения, в случае если ваш массив не отсортирован, довольно затруднительно.

Следствия для формул вида II

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

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

Вы добрались до кульминационного места статьи. Казалось бы, ну какая разница, укажу ли я в качестве последнего параметра ноль или единицу? В основном все указывают, конечно же, ноль, так как это довольно практично: не надо заботиться о сортировке первого столбца массива, сразу видно, найдено значение или нет. Но если у вас на листе несколько тысяч формул ВПР (VLOOKUP), то вы заметите, что ВПР вида II работает медленно. При этом обычно все начинают думать:

  • мне нужен более мощный компьютер;
  • мне нужна более быстрая формула, например, многие знают про ИНДЕКС+ПОИСКПОЗ (INDEX+MATCH), которая якобы быстрее на жалкие 5–10%.

И мало кто думает, что стоит только начать использовать ВПР вида I и обеспечить любыми способами сортировку первого столбца, как скорость работы ВПР возрастёт в 57 раз. Пишу прописью — В ПЯТЬДЕСЯТ СЕМЬ РАЗ! Не на 57%, а на 5 700%. Данный факт я проверил вполне надёжно.

Секрет такой быстрой работы кроется в том, что на отсортированном массиве можно применять чрезвычайно эффективный алгоритм поиска, который носит название бинарного поиска (метод деления пополам, метод дихотомии). Так вот ВПР вида I его применяет, а ВПР вида II ищет без какой-либо оптимизации вообще. То же самое относится и к функции ПОИСКПОЗ (MATCH), которая включает в себя аналогичный параметр, а также и к функции ПРОСМОТР (LOOKUP), которая работает только на отсортированных массивах и включена в Excel ради совместимости с Lotus 1-2-3.

Недостатки формулы

Недостатки ВПР очевидны: во-первых, она ищет только в первом столбце указанного массива, а во-вторых, только справа от данного столбца. А как вы понимаете, вполне может случиться так, что столбец, содержащий необходимую информацию, окажется слева от столбца, в котором мы будем искать. Этого недостатка лишена уже упомянутая связка формул ИНДЕКС+ПОИСКПОЗ (INDEX+MATCH), что делает её наиболее гибким решением по извлечению данных из таблиц в сравнении с ВПР (VLOOKUP).

Некоторые аспекты применения формулы в реальной жизни

Диапазонный поиск

Классическая иллюстрация к диапазонному поиску — задача определения скидки по размеру заказа.

Поиск текстовых строк

Безусловно, ВПР ищет не только числа, но и текст. При этом надо принимать во внимание, что регистр символов формула не различает. Если использовать символы подстановки, то можно организовать нечёткий поиск. Есть два символа подстановки: «?» — заменяет один любой символ в текстовой строке, «*» — заменяет любое количество любых символов.

Борьба с пробелами

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

Разный формат данных

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

=ВПР(−−D7; Продукты!$A$2:$C$5; 3; 0) — если D7 содержит текст, а таблица — числа;

=ВПР(D7 & «»); Продукты!$A$2:$C$5; 3; 0) — и наоборот.

Кстати, перевести текст в число можно сразу несколькими способами, выбирайте:

  • Двойное отрицание —D7.
  • Умножение на единицу D7*1.
  • Сложение с нулём D7+0.
  • Возведение в первую степень D7^1.

Перевод числа в текст производится через сцепку с пустой строкой, которая заставляет Excel преобразовать тип данных.

Как подавить выдачу #Н/Д

Это очень удобно делать при помощи функции ЕСЛИОШИБКА (IFERROR).

Например: =ЕСЛИОШИБКА( ВПР(D7; Продукты!$A$2:$C$5; 3; 0); «»).

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

Массив <ГДЕ>

Часто забывают ссылку массива сделать абсолютной, и при протягивании массив «плывёт». Помните, что вместо A2:C5 следует использовать $A$2:$C$5.

Хорошей идеей является размещение справочного массива на отдельном листе рабочей книги. Не путается под ногами, да и сохраннее будет.

Ещё более хорошей идеей будет объявление этого массива в виде именованного диапазона.

Многие пользователи при указании массива используют конструкцию вида A:C, указывая столбцы целиком. Этот подход имеет право на существование, так как вы избавлены от необходимости отслеживать тот факт, что ваш массив включает все необходимые строки. Если вы добавите строки на лист с первоначальным массивом, то диапазон, указанный как A:C, не придётся корректировать. Безусловно, эта синтаксическая конструкция заставляет Excel проводить несколько большую работу, чем при точном указании диапазона, но данными накладными расходами можно пренебречь. Речь идёт о сотых долях секунды.

Ну и на грани гениальности — оформить массив в виде умной таблицы.

Использование функции СТОЛБЕЦ для указания колонки извлечения

Если таблица, в которую вы извлекаете данные при помощи ВПР, имеет ту же самую структуру, что и справочная таблица, но просто содержит меньшее количество строк, то в ВПР можно использовать функцию СТОЛБЕЦ() для автоматического расчёта номеров извлекаемых столбцов. При этом все ВПР-формулы будут одинаковыми (с поправкой на первый параметр, который меняется автоматически)! Обратите внимание, что у первого параметра координата столбца абсолютная.

Создание составного ключа через &»|»&

Если возникает необходимость искать по нескольким столбцам одновременно, то необходимо делать составной ключ для поиска. Если бы возвращаемое значение было не текстовым (как тут в случае с полем «Код»), а числовым, то для этого подошла бы более удобная формула СУММЕСЛИМН (SUMIFS) и составной ключ столбца не потребовался бы вовсе.

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

Понравилась статья? Поделить с друзьями:
  • Как в excel найти все пустые строки в excel
  • Как в excel найти значение с другого листа
  • Как в excel найти все похожие значения
  • Как в excel найти значение по маске
  • Как в excel найти все повторяющиеся строки