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

Добавил пользователь Дмитрий К.
Обновлено: 05.10.2024

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

Так было со мной. На моей первой официальной работе, мне приходилось раз в несколько дней сравнивать два списка. Списки были относительно небольшие, около 100 строк каждый. Но сравнивал я их при помощи ручки и линейки. Это было мучение, более того это было неэффективное мучение, которое каждый раз, занимало у меня (по меньшей мере) пол рабочего дня.

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

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

Сказать, что я был удивлён – это значит ничего не сказать. Я лицезрел настоящее чудо.

Это была потрясающая демонстрации силы автоматизации.

Функция ВПР в Экселе одинаково нужна и маркетологом, и логистам, и закупщикам – всем тем, кто работает с таблицами данных, это просто Must Have.

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

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

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

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

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

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

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

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

Вот собственно и сам запрос:

Функция ВПР в Экселе-1

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

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

Функция ВПР в Экселе-2

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

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

Функция ВПР в Экселе-3

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

Функция ВПР в Экселе-4

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

Функция ВПР в Экселе-5

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

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

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

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

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

Функция ВПР в Экселе-6

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

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

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

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

Функция ВПР в Экселе-7

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

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

Функция ВПР в Экселе-9

Функция ВПР в Экселе-10

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

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

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

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

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

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

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

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

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

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

Для удобства восприятия я разместил их на одном листе:

Функция ВПР в Экселе-11

Ваша задача сверить количество позиций и их цены.

Для начала проверим все ли позиции и по правильной ли цене указал в счёте поставщик.

Для этого нужно из Счёта перетянуть данные в Заказ при помощи функции ВПР.

Функция ВПР в Экселе-12

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

Функция ВПР в Экселе-13

Функция ВПР в Экселе-14

Обратите внимание, я закрепил диапазоны ячеек.

Теперь когда данные перенесены, нужно их сравнить, для это необходимо добавить еще два столбца (Разница 1 и Разница 2):

Функция ВПР в Экселе-15

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

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

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

Функция ВПР в Экселе-16

Друзья, вот так мы проверили насколько соответствует Заказ, полученному Счёту и казалось бы что это всё что необходимо для счастливой жизни. Однако это не совсем так.

Нужно еще проверить соответствие Счёта, отправленному заказу, на предмет лишних позиций.

Функция ВПР в Экселе-18

Теперь всё тоже самое продемонстрирую в небольшом видео.

Эпилог

Полезность

Коллеги, если вы часто работаете в Эксель, то рекомендую прочитать еще парочку моих очень полезных статей по этой тематике, там будет (как всегда) только-то что необходимо в работе:

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

Если вы плохо представляете, как работает ВПР – сначала изучите эту статью, а потом возвращайтесь обратно!

Неточный поиск в Excel

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

  • 0-200 у.е. – премии не будет
  • 200-300 у.е. – 3% от продаж
  • 300-500 у.е. – 5%
  • свыше 500 у.е. – 7%

Требуется для каждого сотрудника посчитать бонусы.

расчет процентов с помощью ВПР

Мои ученики решили задачу с помощью множественного применения функции ЕСЛИ. Получилась гигантская формула: =ЕСЛИ(D3

расчет процентов с ЕСЛИ

Да, результат верный, но формула слишком большая и очень запутана. Как её сократить? Вспомним, что неточный поиск ВПР ищет ближайшую меньшую величину. Воспользуемся этим: =ВПР(D3;$H$3:$I$6;2;ИСТИНА)

расчет процентов с ВПР

Как это работает? Например, у Смирнова продажи – 205 у.е. ВПР ищет в таблице с бонусами ближайшее меньшее число, а это – 200. Функция вернет соответствующий этой строке бонус (3%).

ВПР по двум условиям в Excel

Рассмотрим на примере предыдущей таблицы. Заметили, что в ней — два Соколова? Первый – в Центральном районе, второй — в Южном. Как найти продажи второго? Точный поиск ВПР вернет первого, если искать по фамилии. Придется искать по двум параметрам – ФИО и району.

Для этого добавим дополнительный столбец D в таблице с исходными данными. С помощью функции СЦЕПИТЬ, объединим в ней имена и регионы. Вот так:

дополнительный столбец

Теперь с помощью ВПР будем искать в массиве D3:D17 связку Фамилия+Регион:

ВПР по двум параметрам

Аналогично можно использовать три и более параметров.

Использование имен в формуле ВПР

Вернемся к формуле из предыдущего параграфа: = ВПР(I2&I3;$D$3:$E$17;2;0) . Она простая и короткая, но с ней сложно разобраться, если вы видите ее впервые. Простым решением будет использование информативных имён вместо ссылок.

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

ВПР с именами

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

Динамическое изменение столбца для вывода

Очень интересный пример. Взгляните на картинку:

продажи за квартал

Здесь есть продажи за первое полугодие помесячно. Мы должны найти продажи, например, Богданова, за любой месяц. Чтобы изменять возвращаемый столбец – нужно каждый раз в формуле исправлять порядковый номер. Это неудобно, особенно когда формул несколько. Я решил эту проблему так:

  1. В ячейке L3 организовал выпадающий список с перечнем месяцев. Можно обойтись и без выпадающего списка, а записывать месяца вручную. Но мой вариант удобнее
  2. Получил номер столбца для выбранного месяца с помощью функции =ПОИСКПОЗ(месяц;B2:I2) . Такая формула вернет порядковый номер выбранного месяца в диапазоне шапки B2:I2
  3. Вставил формулу из предыдущего пункта вместо номера выводимого столбца функции: =ВПР(имя;B2:I17;ПОИСКПОЗ(месяц;B2:I2);0) . Теперь если я изменю период, ПОИСКПОЗ пересчитает номер выводимого столбца и результат пересчитается.

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

изменяемый номер столбца

Подстановочные символы и ВПР

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

ВПР не нашел Семёнова

ВПР нашел Семёнова

подстановочный символ

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

Обход ошибок при поиске ВПР

У нас есть две основные функции обхода таких ошибок:

  • ЕСЛИОШИБКА(выражение, значение_если_ошибка) – универсальная формула. Если в первом ее аргументе возвращается любая ошибка, возвращается второй аргумент
  • ЕНД(выражение) – проверяет выражение, и возвращает ИСТИНА, если там ошибка, или ЛОЖЬ, если все нормально. Эту функцию обычно применяют в составе других. Например, ЕСЛИ

ЕСЛИОШИБКА

Ускорение работы с помощью двойного ВПР

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

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

быстрый поиск с двумя ВПР

Попробуйте сами и убедитесь, что ВПР стал работать гораздо живее!

Это все хитрости, которые я хотел вам показать. Пробуйте и используйте, чтобы стать более эффективными в своей работе. До встречи!

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

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

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

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

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

Синтаксис

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

=ВПР( ; ; [; ] ), тут:

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

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

— номер столбца в диапазоне, из которого будет возвращено значение;

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

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

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

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

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

ВПР тип I

ВПР тип II

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Массив

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

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

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

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

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

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

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

Читайте также: