Формула в excel впр как суммировать подходящие значения

от admin

СУММИРОВАНИЕ с функцией ВПР — Excel и Google Таблицы

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

Этот пример покажет, как рассчитать Общий доход от продаж конкретного Магазин более 3 месяцев с использованием функции массива с СУММОМ и ВПР:

1 <= СУММ (ВПР (P3; B3: N6; <2,3,4>; FALSE))>

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

1 = ВПР (P3; B3: N6,2; ЛОЖЬ) + ВПР (P3; B3: N6,3; ЛОЖЬ) + ВПР (P3; B3: N6,4; ЛОЖЬ)

Мы можем объединить эти функции вместе, выполнив следующие действия:

Во-первых, мы устанавливаем функцию ВПР для возврата столбцов 2, 3 и 4 в качестве вывода массива:

1 = ВПР (P3; B3: N6; <2,3,4>; ЛОЖЬ)

Это даст результат массива:

Затем, чтобы суммировать результат массива, мы используем функцию SUM.

Важный! Если вы используете Excel версии 2022 или более ранней, вы должны ввести формулу, нажав CTRL + SHIFT + ENTER, чтобы создать формулу массива. Вы узнаете, что сделали это правильно, когда вокруг формулы появятся фигурные скобки. Это не обязательно в Excel 365 (или более новых версиях Excel).

Использование больших размеров массивов в функции ВПР

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

1 <= СУММ (ВПР (P3, B3: N6, <2,3,4,5,6,7,8,9,10,11,12,13>, ЛОЖЬ))>

Другие сводные функции и ВПР

Другие сводные функции можно использовать так же, как и функцию СУММ, для создания альтернативной сводной статистики. Например, мы можем использовать функции MAX, MIN, AVERAGE, MEDIAN, SUM и COUNT, чтобы суммировать Выручка от продаж с января по март:

1 = МАКС (ВПР (J3; B3: H6; <2,3,4>; ЛОЖЬ))
1 = МИН (ВПР (J3; B3: H6; <2,3,4>; ЛОЖЬ))
1 = СРЕДНИЙ (ВПР (J3; B3: H6; <2,3,4>; ЛОЖЬ))
1 = МЕДИАНА (ВПР (J3; B3: H6; <2,3,4>; FALSE))
1 = СУММ (ВПР (J3; B3: H6; <2,3,4>; ЛОЖЬ))
1 = СЧЁТ (ВПР (J3; B3: H6; <2,3,4>; ЛОЖЬ))

Блокировка ссылок на ячейки

Чтобы наши формулы было легче читать, мы показали формулы без заблокированных ссылок на ячейки:

1 = СУММ (ВПР (P3; B3: N6; <2,3,4>; ЛОЖЬ))

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

1 <= СУММ (ВПР (P3; $ B $ 3: $ N $ 6; <2,3,4>; FALSE))>

Прочтите нашу статью о блокировке ссылок на ячейки, чтобы узнать больше.

Использование СУММ с функцией ВПР в Google Таблицах

Эти формулы работают в Google Таблицах так же, как и в Excel, за исключением того, что для правильной оценки результатов в Google Таблицах необходимо использовать функцию ARRAYFORMULA. Его можно автоматически добавить, нажав клавиши CTRL + SHIFT + ENTER во время редактирования формулы.

Самый быстрый ВПР

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

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

Когда я писал свою первую книжку пять лет назад, то уже делал сравнительный скоростной тест различных способов поиска и подстановки данных функциями ВПР, ИНДЕКС+ПОИСКПОЗ, СУММЕСЛИ и др. С тех пор сменилось три версии Office, появились надстройки Power Query и Power Pivot, кардинально изменившие весь процесс работы с данными. А в прошлом году ещё и обновился вычислительный движок Excel, получив поддержку динамических массивов и новые функции ПРОСМОТРХ, ФИЛЬТР и т.п.

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

Подопытный кролик

Тест будем проводить на следующем примере:

Исходный пример

Это книга Excel с одним листом, где расположены две таблицы: отгрузки (500 000 строк) и прайс-лист (600 строк). Наша задача — подставить цены из прайс-листа в таблицу отгрузок. Для каждого способа будем вводить формулу в ячейку С2 и копировать вниз на весь столбец, замеряя время, которое потребуется Excel, чтобы просчитать весь столбец из полумиллиона ячеек. Полученные значения, безусловно, зависят от множества факторов (поколение процессора, объем оперативной памяти, текущая загрузка системы, версия Office и т.д.), но нам важны не конкретные цифры, а, скорее, их сравнение друг с другом. Важно понимать прожорливость каждого способа и их ограничения.

Способ 1. ВПР

Сначала — классика 🙂 Легендарная функция вертикального просмотра — ВПР (VLOOKUP) , которая приходит в голову первой в подобных ситуациях:

ВПР

  • B2 — искомое значение, т.е. название товара, который мы хотим найти в прайс-листе
  • $G$2:$H$600 — закреплённая знаками доллара (чтобы не сползала при копировании формулы вниз) абсолютная ссылка на прайс
  • 2 — номер столбца в прайс-листе, откуда мы хотим взять цену
  • 0 или ЛОЖЬ — переключение в режим поиска точного соответствия, когда любое некорректное название товара (например, ФОНЕРА) в столбце B в таблице отгрузок приведёт к появлению ошибки #Н/Д как результата работы функции.

Время вычисления = 4,3 сек.

Способ 2. ВПР с выделением столбцов целиком

Многие пользователи, применяя ВПР, во втором аргументе этой функции, где нужно задать поисковую таблицу (прайс), выделяют не ограниченный диапазон ( $G$2:$H$600 ), а сразу столбцы G:H целиком. Это проще, быстрее, позволяет не думать про F4 и то, что завтра прайс-лист может быть на несколько строк больше. Формула в этом случае выглядит тоже компактнее:

ВПР с выделением столбцов целиком

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

Время вычисления = 14,5 сек.

Способ 3. ИНДЕКС и ПОИСКПОЗ

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

ИНДЕКС и ПОИСКПОЗ

Функция ИНДЕКС извлекает из заданного в первом аргументе диапазона (столбца $H$2:$H$600 с ценами в прайс-листе) содержимое ячейки с заданным номером. А номер этот, в свою очередь, определяется функцией ПОИСКПОЗ, у которой три аргумента:

  • Что нужно найти — название товара из B2
  • Где мы это ищем — столбец с названиями товаров в прайсе ( $G$2:$G$600 )
  • Режим поиска: 0 — точный, 1 или -1 — приблизительный с округлением в меньшую или большую сторону, соответственно.

Формула выходит чуть сложнее, но, при этом имеет несколько ощутимых преимуществ перед классической ВПР, а именно:

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

По скорости, однако же, этот способ проигрывает ВПР почти в два раза:

Время вычисления = 7,8 сек.

Если же, вдобавок, полениться и выделять не ограниченные диапазоны, а столбцы целиком:

ИНДЕКС и ПОИСКПОЗ с выделением столбцов целиком

. то результат получается совсем печальный:

Время вычисления = 28,5 сек.

28 секунд, Карл! В 6 раз медленнее ВПР!

Способ 4. СУММЕСЛИ

Если нужно найти не текстовые, а именно числовые данные (как в нашем случае — цену), то вместо ВПР вполне можно использовать функцию СУММЕСЛИ (SUMIF) . Изначально она задумывалась как инструмент для выборочного суммирования данных по условию (найди и сложи мне все продажи кабелей, например), но можно заставить её искать нужный нам товар и в прайс-листе. Если грузы в нём не повторяются, то суммировать будет не с чем и эта функция просто выведет искомое значение:

СУММЕСЛИ

  • Первый аргумент СУММЕСЛИ — это диапазон проверяемых ячеек, т.е. названия товаров в прайсе ( $G$2:$G$600 ).
  • Второй аргумент ( B2 ) — что мы ищем.
  • Третий аргумент — диапазон ячеек с ценами $H$2:$H$600 , числа из которых мы хотим просуммировать, если в соседних ячейках проверяемого диапазона есть искомое значение.

Очевидным минусом такого подхода является то, что он работает только с числами. Также этот способ не удобен, если прайс-лист находится в отдельном файле — придется всё время держать его открытым, т.к. функция СУММЕСЛИ не умеет брать данные из закрытых книг, в отличие от ВПР, для которой это не проблема.

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

Время вычисления = 12,8 сек.

При выделении столбцов целиком, т.е. использовании формулы вида =СУММЕСЛИ( G:G ; B2 ; H:H ) всё ещё хуже:

Время вычисления = 41,7 сек.

Это самый плохой результат в нашем тесте.

Способ 5. СУММПРОИЗВ

Этот подход сейчас встречается не часто, но всё ещё достаточно регулярно. Обычно так любят извращаться пользователи старой школы, ещё хорошо помнящие те времена, когда в Excel было всего 255 столбцов и 56 цветов 🙂

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

СУММПРОИЗВ

Выражение ($G$2:$G$600=B2) , по сути, проверяет каждое название груза в прайс-листе на предмет соответствия искомому значению (ФАНЕРА ПР). Результатом каждого сравнения будет логическое значение ИСТИНА (TRUE ) или ЛОЖЬ (FALSE) , что в Excel интерпретируется как 1 и 0, соответственно. Последующее умножение этих нулей и единиц на цены оставит в живых цену только того товара, который нам, в данном случае, и нужен.

Эта формула является, по сути, формулой массива, но не требует нажатия обычного для них сочетания клавиш Ctrl + Shift + Enter , т.к. функция СУММПРОИЗВ поддерживает массивы уже сама по себе. Возможно, по этой же причине (формулы массива всегда медленнее, чем обычные) такой скорость пересчёта такой формулы — не очень:

Время вычисления = 11,8 сек.

  • Совместимость с любыми, самыми древними версиями Excel.
  • Возможность задавать сложные условия (и несколько)
  • Способность этой формулы работать с данными из закрытых файлов, если добавить перед ней двойное бинарное отрицание (два подряд знака «минус»). СУММЕСЛИМН таким похвастаться не может.

Способ 6. ПРОСМОТР

Ещё один относительно экзотический способ поиска и подстановки данных, наравне с ВПР — это использование функции ПРОСМОТР (LOOKUP) . Только не перепутайте её с новой, буквально, на днях появившейся функцией ПРОСМОТРХ (XLOOKUP) — про неё мы поговорим дальше особо. Функция ПРОСМОТР существовала в Excel начиная с самых ранних версий и тоже вполне может решить нашу задачу:

ПРОСМОТР

  • B2 — название груза, которое мы ищем
  • $G$2:$G$600 — одномерный диапазон-вектор (столбец или строка), где мы ищем совпадение
  • $H$2:$H$600 — такого же размера диапазон, откуда нужно вернуть найденный результат (цену)

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

  • Эта функция требует обязательной сортировки прайс-листа по возрастанию (алфавиту) и без этого не работает.
  • Если в таблице отгрузок искомое значение будет написано с опечаткой (например, АГ Е ДОЛ вместо АГИДОЛ), то функция ПРОСМОТР выдаст не ошибку #Н/Д, а цену для ближайшего предыдущего товара:

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

Скорость же вычислений у функции ПРОСМОТР (LOOKUP) весьма приличная:

Время вычисления = 7,6 сек.

Способ 7. Новая функция ПРОСМОТРХ

Эта функция пришла с одним из недавних обновлений пока только пользователям Office 365 и пока отсутствует во всех остальных версиях (Excel 2010, 2013, 2016, 2019). По сравнению с классической ВПР у этой функции есть масса преимуществ (упрощенный синтаксис, возможность искать не только сверху-вниз, возможность сразу задать значение вместо #Н/Д и т.д.) Формула для решения нашей задачи будет выглядеть в этом случае так:

ПРОСМОТРХ

Если не брать в расчёт необязательные 4,5,6 аргументы, то синтаксис этой функции полностью совпадает с её предшественником — функцией ПРОСМОТР (LOOKUP) . Скорость вычислений при тестировании на наши 500000 строк тоже оказалась аналогичной:

Время вычисления = 7,6 сек.

Почти в два раза медленнее, чем у ВПР, вместо которой Microsoft предлагает теперь использовать ПРОСМОТРХ. Жаль.

И, опять же, если полениться и выделить диапазоны в прайс-листе целыми столбцами:

ПРОСМОТРХ и выделение столбцов целиком

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

Время вычисления = 28,3 сек.

А если на динамических массивах?

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

ВПР на динамических массивах

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

Скорость пересчета в таком варианте меня, откровенно говоря, ошеломила — пауза между нажатием на Enter после ввода формулы и получением результатов почти отсутствовала.

Время вычисления = 1 сек.

Что интересно, и новая ПРОСМОТРХ, и старая ПРОСМОТР, и связка ИНДЕКС+ПОИСКПОЗ в таком режиме тоже были очень быстрыми — время вычислений не больше 1 секунды! Фантастика.

А вот олдскульные подходы на основе СУММПРОИЗВ и СУММЕСЛИ(МН) с динамическими массивами работать отказались 🙁

Что с умными таблицами?

Обрадовавшись фантастическим результатам, полученным на динамических массивах, я решил вдогон попробовать протестировать разницу в скорости при работе с обычными и «умными» таблицами. Я имею ввиду те самые «красивые таблицы», в которые вы можете преобразовать ваш диапазон с помощью команды Форматировать как таблицу на вкладке Главная (Home — Format as Table) или с помощью сочетания клавиш Ctrl + T .

Если предварительно превратить наши отгрузки и прайс в «умные» (по умолчанию они получат имена Таблица1 и Таблица2, соответственно), то формула с той же ВПР будет выглядеть как:

ВПР на умных таблицах

  • [@Груз] — ссылка на ячейку B2, означающая, в данном случае, что нужно взять значение из той же строки из столбца Груз текущей умной таблицы.
  • Таблица2 — ссылка на прайс-лист

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

Скорость же, как выяснилось, тоже вырастает очень значительно и примерно равна скорости работы на динамических массивах:

Время вычисления = 1 сек.

У меня есть подозрение, что дело тут не в самих «умных» таблицах, а всё в том же обновлении вычислительного движка, т.к. на старых версиях Excel такого прироста в скорости на умных таблицах я не помню.

Бонус. Запрос Power Query

Замерять, так замерять! Давайте, для полноты картины, сравним наши перечисленные способы еще и с запросом Power Query, который тоже может решить нашу задачу. Кто-то скажет, что некорректно сравнивать пересчёт формул с механизмом обновления запроса, но мне, откровенно говоря, просто самому было интересно — кто быстрее?

  1. Превращаем обе наши таблицы в «умные» с помощью команды Форматировать как таблицу на вкладке Главная (Home — Format as Table) или с помощью сочетания клавиш Ctrl + T .
  2. По очереди загружаем таблицы в Power Query с помощью команды Данные — Из таблицы / диапазона (Data — From Table/Range) .
  3. После загрузки в Power Query возвращаемся обратно в Excel, оставляя загруженные данные как подключение. Для этого в окне Power Query выбираем Главная — Закрыть и загрузить — Закрыть и загрузить в. — Только создать подключение (Home — Close&Load — Close&Load to. — Only create connection) .
  4. После того, как обе исходные таблицы будут загружены как подключения, создадим ещё один, третий запрос, который будет объединять их между собой, подставляя цены из прайса в отгрузки. Для этого на вкладке Данные выберем Получить данные / Создать запрос — Объединить запросы — Объединить (Get Data / New Query — Merge queries — Merge) :

Объединяем запросы

Настройки объединения

Разворачиваем вложенные таблицы после объединения

В отличие от формул, запросы Power Query не обновляются автоматически «на лету», а требуют щелчка правой кнопкой мыши по таблице (или запросу в правой панели) и выбору команды Обновить (Refresh) . Также можно воспользоваться командой Обновить все (Refresh All) на вкладке Данные (Data) .

Время обновления = 8,2 сек.

Итоговая таблица и выводы

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

Итоговая таблица результатов

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

Функция ВПР в Excel для чайников и не только

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

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

Как пользоваться функцией ВПР в 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 с несколькими условиями

До сих пор мы предлагали для анализа только одно условие – наименование материала. На практике же нередко требуется сравнить несколько диапазонов с данными и выбрать значение по 2, 3-м и т.д. критериям.

Таблица для примера:

Поставщики материалов.

Предположим, нам нужно найти, по какой цене привезли гофрированный картон от ОАО «Восток». Нужно задать два условия для поиска по наименованию материала и по поставщику.

Дело осложняется тем, что от одного поставщика поступает несколько наименований.

  1. Добавляем в таблицу крайний левый столбец (важно!), объединив «Поставщиков» и «Материалы». Объединение поставщиков и материалов.
  2. Таким же образом объединяем искомые критерии запроса: Объединяем искомые критерии.
  3. Теперь ставим курсор в нужном месте и задаем аргументы для функции: . Excel находит нужную цену.

Рассмотрим формулу детально:

  1. Что ищем.
  2. Где ищем.
  3. Какие данные берем.

Функция ВПР и выпадающий список

Допустим, какие-то данные у нас сделаны в виде раскрывающегося списка. В нашем примере – «Материалы». Необходимо настроить функцию так, чтобы при выборе наименования появлялась цена.

Сначала сделаем раскрывающийся список:

  1. Ставим курсор в ячейку Е8, где и будет этот список.
  2. Заходим на вкладку «Данные». Меню «Проверка данных». Проверка данных.
  3. Выбираем тип данных – «Список». Источник – диапазон с наименованиями материалов. Параметры выпадающего списка.
  4. Когда нажмем ОК – сформируется выпадающий список.

Теперь нужно сделать так, чтобы при выборе определенного материала в графе цена появлялась соответствующая цифра. Ставим курсор в ячейку Е9 (где должна будет появляться цена).

  1. Открываем «Мастер функций» и выбираем ВПР.
  2. Первый аргумент – «Искомое значение» — ячейка с выпадающим списком. Таблица – диапазон с названиями материалов и ценами. Столбец, соответственно, 2. Функция приобрела следующий вид: .
  3. Нажимаем ВВОД и наслаждаемся результатом.

Изменяем материал – меняется цена:

Связь цен с материалами.

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

Как использовать функцию ВПР вместе с СУММ или СУММЕСЛИ в Excel

В этом уроке Вы найдёте несколько интересных примеров, демонстрирующих как использовать функцию ВПР (VLOOKUP) вместе с СУММ (SUM) или СУММЕСЛИ (SUMIF) в Excel, чтобы выполнять поиск и суммирование значений по одному или нескольким критериям.

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

Задачи могут отличаться, но их смысл одинаков – необходимо найти и просуммировать значения по одному или нескольким критериям в Excel. Что это за значения? Любые числовые. Что это за критерии? Любые… Начиная с числа или ссылки на ячейку, содержащую нужное значение, и заканчивая логическими операторами и результатами формул Excel.

Итак, есть ли в Microsoft Excel функционал, способный справиться с описанными задачами? Конечно же, да! Решение кроется в комбинировании функций ВПР (VLOOKUP) или ПРОСМОТР (LOOKUP) с функциями СУММ (SUM) или СУММЕСЛИ (SUMIF). Примеры формул, приведённые далее, помогут Вам понять, как эти функции работают и как их использовать с реальными данными.

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

ВПР и СУММ в Excel – вычисляем сумму найденных совпадающих значений

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

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

Использование ВПР и СУММ в Excel

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

Решение этой задачи – использовать массив констант в аргументе col_index_num (номер_столбца) функции ВПР. Вот пример формулы:

=SUM(VLOOKUP(lookup value, lookup range, <2,3,4>, FALSE))
=СУМ(ВПР(искомое_значение;таблица;<2;3;4>;ЛОЖЬ))

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

Теперь давайте применим эту комбинацию ВПР и СУММ к данным в нашей таблице, чтобы найти общую сумму продаж в столбцах с B по M:

Важно! Если Вы вводите формулу массива, то обязательно нажмите комбинацию Ctrl+Shift+Enter вместо обычного нажатия Enter. Microsoft Excel заключит Вашу формулу в фигурные скобки:

Использование ВПР и СУММ в Excel

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

Возможно, Вам стало любопытно, почему формула на рисунке выше отображает [@Product], как искомое значение. Это происходит потому, что мои данные были преобразованы в таблицу при помощи команды Table (Таблица) на вкладке Insert (Вставка). Мне удобнее работать с полнофункциональными таблицами Excel, чем с простыми диапазонами. Например, когда Вы вводите формулу в одну из ячеек, Excel автоматически копирует её на весь столбец, что экономит несколько драгоценных секунд.

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

Эту проблему можно преодолеть, используя комбинацию функций INDEX (ИНДЕКС) и MATCH (ПОИСКПОЗ) вместо VLOOKUP (ВПР) и SUM (СУММ). Далее в этой статье Вы увидите несколько примеров таких формул.

Выполняем другие вычисления, используя функцию ВПР в Excel

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

Вычисляем среднее:

Формула ищет значение из ячейки A2 на листе Lookup table и вычисляет среднее арифметическое значений, которые находятся на пересечении найденной строки и столбцов B, C и D.

Находим максимум:

Формула ищет значение из ячейки A2 на листе Lookup table и возвращает максимальное из значений, которые находятся на пересечении найденной строки и столбцов B, C и D.

Находим минимум:

Формула ищет значение из ячейки A2 на листе Lookup table и возвращает минимальное из значений, которые находятся на пересечении найденной строки и столбцов B, C и D.

Вычисляем % от суммы:

Формула ищет значение из ячейки A2 на листе Lookup table, затем суммирует значения, которые находятся на пересечении найденной строки и столбцов B, C и D, и лишь затем вычисляет 30% от суммы.

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

Использование ВПР и СУММ в Excel

ПРОСМОТР и СУММ – поиск в массиве и сумма связанных значений

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

Давайте разберем пример, чтобы Вам стало понятнее, о чём идет разговор. Предположим, у нас есть таблица, в которой перечислены имена клиентов, купленные товары и их количество (таблица Main table). Кроме этого, есть вторая таблица, содержащая цены товаров (таблица Lookup table). Наша задача – написать формулу, которая найдёт сумму всех заказов заданного клиента.

Использование ВПР и СУММ в Excel

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

=SUM(LOOKUP($C$2:$C$10,’Lookup table’!$A$2:$A$16,’Lookup table’!$B$2:$B$16)*$D$2:$D$10*($B$2:$B$10=$G$1))
=СУММ(ПРОСМОТР($C$2:$C$10;’Lookup table’!$A$2:$A$16;’Lookup table’!$B$2:$B$16)*$D$2:$D$10*($B$2:$B$10=$G$1))

Так как это формула массива, не забудьте нажать комбинацию Ctrl+Shift+Enter при завершении ввода.

Lookup table – это название листа, где находится просматриваемый диапазон.

Использование ВПР и СУММ в Excel

Давайте проанализируем составные части формулы, чтобы Вы понимали, как она работает, и могли настроить её под свои нужды. Функцию СУММ пока оставим в стороне, так как её цель очевидна.

LOOKUP($C$2:$C$10,’Lookup table’!$A$2:$A$16,’Lookup table’!$B$2:$B$16)
ПРОСМОТР($C$2:$C$10;’Lookup table’!$A$2:$A$16;’Lookup table’!$B$2:$B$16)

Так как наша формула – это формула массива, она повторяет описанные выше действия для каждого значения в массиве поиска. В завершение, функция СУММ вычисляет сумму значений, получившихся в результате умножения. Совсем не сложно, Вы согласны?

Замечание. Чтобы функция ПРОСМОТР работала правильно, просматриваемый столбец должен быть отсортирован в порядке возрастания.

ВПР и СУММЕСЛИ – находим и суммируем значения, удовлетворяющие определённому критерию

Функция СУММЕСЛИ (SUMIF) в Excel похожа на СУММ (SUM), которую мы только что разбирали, поскольку она тоже суммирует значения. Разница лишь в том, что СУММЕСЛИ суммирует только те значения, которые удовлетворяют заданному Вами критерию. Например, простейшая формула с СУММЕСЛИ:

– суммирует все значения ячеек в диапазоне A2:A10, которые больше 10.

Очень просто, правда? А теперь давайте рассмотрим немного более сложный пример. Предположим, что у нас есть таблица, в которой перечислены имена продавцов и их номера ID (Lookup table). Кроме этого, есть ещё одна таблица, в которой те же ID связаны с данными о продажах (Main table). Наша задача – найти сумму продаж для заданного продавца. Здесь есть 2 отягчающих обстоятельства:

  • Основная таблица (Main table) содержит множество записей для одного ID в случайном порядке.
  • Вы не можете добавить столбец с именами продавцов к основной таблице.

Использование ВПР и СУММ в Excel

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

Перед тем, как мы начнём, позвольте напомнить Вам синтаксис функции СУММЕСЛИ (SUMIF):

  • range (диапазон) – аргумент говорит сам за себя. Это просто диапазон ячеек, которые Вы хотите оценить заданным критерием.
  • criteria (критерий) – условие, которое говорит формуле, какие значения суммировать. Может быть числом, ссылкой на ячейку, выражением или другой функцией Excel.
  • sum_range (диапазон_суммирования) – необязательный, но очень важный для нас аргумент. Он определяет диапазон связанных ячеек, которые будут суммироваться. Если он не указан, Excel суммирует значения ячеек, в первом аргументе функции.

Собрав все воедино, давайте определим третий аргумент для нашей функции СУММЕСЛИ. Как Вы помните, мы хотим суммировать все продажи, совершённые определённым продавцом, чьё имя задано в ячейке F2 (смотрите рисунок, приведённый выше).

  1. range (диапазон) – так как мы ищем по ID продавца, значениями этого аргумента будут значения в столбце B основной таблицы (Main table). Можно задать диапазон B:B (весь столбец) или, преобразовав данные в таблицу, использовать имя столбца Main_table[ID].
  2. criteria (критерий) – так как имена продавцов записаны в просматриваемой таблице (Lookup table), используем функцию ВПР для поиска ID, соответствующего заданному продавцу. Имя записано в ячейке F2, поэтому для поиска используем формулу:

Всё, что Вам осталось сделать, это соединить части в одно целое, и формула СУММЕСЛИ+ВПР будет готова:

Читать:
Какие материнские платы поддерживают xeon

Похожие статьи