Оглавление
В этом руководстве вы найдете несколько примеров формул, демонстрирующих, как использовать функции VLOOKUP и SUM или SUMIF в Excel для поиска и суммирования значений на основе одного или нескольких критериев.
Вы пытаетесь создать сводный файл в Excel, который определит все экземпляры одного конкретного значения, а затем просуммирует другие значения, связанные с этими экземплярами? Или вам нужно найти все значения в массиве, которые удовлетворяют заданному условию, а затем просуммировать соответствующие значения из другого рабочего листа? Или, возможно, вы столкнулись с более конкретной задачей, например, просматриваете таблицу ссчета-фактуры вашей компании, определяя все счета-фактуры определенного поставщика, а затем суммируя все значения счетов-фактур?
Задачи могут быть разными, но суть одна - вы хотите найти и сложить значения с одним или несколькими критериями в Excel. Какие значения? Любые числовые значения. Какие критерии? Любые : ) Начиная от числа или ссылки на ячейку, содержащую нужное значение, и заканчивая логическими операторами и результатами, возвращаемыми формулами Excel.
Итак, есть ли в Microsoft Excel функции, которые могут помочь в решении вышеперечисленных задач? Конечно, есть! Вы можете найти решение, комбинируя функции Excel VLOOKUP или LOOKUP с функциями SUM или SUMIF. Примеры формул, приведенные ниже, помогут вам понять, как работают эти функции Excel и как применять их к реальным данным.
Обратите внимание, что это продвинутые примеры, которые предполагают, что вы знакомы с общими принципами и синтаксисом функции VLOOKUP. Если это не так, то первая часть нашего учебника по VLOOKUP для начинающих, безусловно, заслуживает вашего внимания - синтаксис Excel VLOOKUP и общее использование.
Excel VLOOKUP и SUM - поиск суммы совпадающих значений
Если вы работаете с числовыми данными в Excel, то довольно часто вам приходится не просто извлекать связанные значения из другой таблицы, но и суммировать числа в нескольких столбцах или строках. Для этого можно использовать комбинацию функций SUM и VLOOKUP, как показано ниже.
Исходные данные:
Предположим, у вас есть список товаров с данными о продажах за несколько месяцев, по столбцу на каждый месяц. Исходные данные находятся на листе с именем Ежемесячные продажи :
Теперь вы хотите сделать сводную таблицу с общим объемом продаж по каждому продукту.
Решением является использование массива в 3-м параметре ( col_index_num ) функции Excel VLOOKUP. Вот общая формула:
SUM(VLOOKUP( значение поиска , диапазон поиска , {2,3,...,n}, FALSE))Как вы видите, мы используем константу массива в третьем аргументе для выполнения нескольких поисков в рамках одной формулы VLOOKUP, чтобы получить сумму значений в столбцах 2, 3 и 4.
А теперь давайте настроим эту комбинацию функций VLOOKUP и SUM для наших данных, чтобы найти общую сумму продаж в столбцах B - M в приведенной выше таблице:
=SUM(VLOOKUP(B2, 'Ежемесячные продажи'! $A$2:$M$9, {2,3,4,5,6,7,8,9,10,11,12,13}, FALSE))
Важно! Поскольку вы создаете формулу массива, не забудьте нажать Ctrl + Shift + Enter вместо простого нажатия клавиши Enter, когда вы закончите ввод. Когда вы это сделаете, Microsoft Excel заключит вашу формулу в фигурные скобки, как показано ниже:
{=SUM(VLOOKUP(B2, 'Ежемесячные продажи'!$A$2:$M$9, {2,3,4,5,6,7,8,9,10,11,12,13}, FALSE))}
Если вы нажмете кнопку Войти ключ, как обычно, будет обработано только первое значение в массиве, что приведет к неправильным результатам.
Совет. Вам может быть интересно, почему формула отображает [@Product] в качестве значения поиска на скриншоте выше. Это потому, что я преобразовал мои данные в таблицу ( Вставка вкладка> Таблица ). я нахожу очень удобной работу с полнофункциональными таблицами Excel и их структурированными ссылками. например, когда вы вводите формулу в одну ячейку, Excel автоматически копирует ее на весь столбец и таким образом экономит вам несколько драгоценных секунд :)
Как видите, использовать функции VLOOKUP и SUM в Excel очень просто. Однако это не идеальное решение, особенно если вы работаете с большими таблицами. Дело в том, что использование формул массива может негативно повлиять на производительность рабочей книги, поскольку каждое значение в массиве вызывает отдельную функцию VLOOKUP. Поэтому чем больше значений в массиве и чем больше формул в массиве, тем больше формул в массиве.вашей рабочей книги, тем медленнее работает Excel.
Вы можете обойти эту проблему, используя комбинацию функций INDEX и MATCH вместо SUM и VLOOKUP, и я покажу вам несколько примеров формул в следующей статье.
Загрузите этот образец VLOOKUP и SUM
Как выполнить другие вычисления с помощью функции Excel VLOOKUP
Минуту назад мы рассмотрели пример того, как можно извлечь значения из нескольких столбцов таблицы поиска и вычислить сумму этих значений. Таким же образом можно выполнять другие математические вычисления с результатами, возвращаемыми функцией VLOOKUP. Вот несколько примеров формул:
Операция | Пример формулы | Описание |
---|---|---|
Рассчитать среднее значение | {=AVERAGE(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | Формула ищет значение ячейки A2 в 'Lookup table' и вычисляет среднее значение значений в столбцах B,C и D в той же строке. |
Найти максимальное значение | {=MAX(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | Формула ищет значение ячейки A2 в 'Lookup table' и находит максимальное значение в столбцах B,C и D в той же строке. |
Найти минимальное значение | {=MIN(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | Формула ищет значение ячейки A2 в 'Lookup table' и находит минимальное значение в столбцах B,C и D в той же строке. |
Рассчитать % от суммы | {=0.3*SUM(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | Формула ищет значение ячейки A2 в 'Lookup table', суммирует значения в столбцах B,C и D в той же строке, а затем вычисляет 30% от суммы. |
Примечание. Поскольку все приведенные выше формулы являются формулами массива, не забудьте нажать Ctrl+Shift+Enter, чтобы правильно ввести их в ячейку.
Если мы добавим приведенные выше формулы в таблицу "Сводные продажи" из предыдущего примера, результат будет выглядеть примерно так:
Загрузите этот образец вычислений VLOOKUP
LOOKUP AND SUM - поиск в массиве и суммирование совпадающих значений
Если параметром поиска является массив, а не одно значение, функция VLOOKUP бесполезна, так как она не может искать в массивах данных. В этом случае можно использовать функцию LOOKUP Excel, которая является аналогом VLOOKUP, но работает как с массивами, так и с отдельными значениями.
Рассмотрим следующий пример, чтобы вы могли лучше понять, о чем я говорю. Предположим, у вас есть таблица, в которой перечислены имена клиентов, приобретенные товары и их количество ( Главный стол ). У вас также есть вторая таблица, содержащая цены на продукцию ( Таблица поиска ). Ваша задача - составить формулу, которая находит общую сумму всех заказов, сделанных данным клиентом.
Как вы помните, вы не можете использовать функцию Excel VLOOKUP, поскольку у вас есть несколько экземпляров искомого значения (массив данных). Вместо этого вы используете комбинацию функций SUM и LOOKUP, как показано ниже:
=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))
Поскольку это формула массива, не забудьте нажать Ctrl + Shift + Enter для ее завершения.
А теперь давайте проанализируем составляющие формулы, чтобы вы понимали, как работает каждая из функций, и могли подстроить ее под свои данные.
Мы ненадолго отложим функцию SUM, поскольку ее назначение очевидно, и сосредоточимся на трех компонентах, которые перемножаются:
LOOKUP($C$2:$C$10,'Таблица поиска'!$A$2:$A$16,'Таблица поиска'!$B$2:$B$16)
Эта функция LOOKUP ищет товары, перечисленные в столбце C основной таблицы, и возвращает соответствующую цену из столбца B таблицы поиска.
$D$2:$D$10
Этот компонент возвращает количество каждого продукта, купленного каждым клиентом, которое перечислено в столбце D основной таблицы. Умноженное на цену, которая возвращается функцией LOOKUP выше, это дает стоимость каждого купленного продукта.
Смотрите также: Функция Excel MATCH с примерами формул$B$2:$B$10=$G$1
Эта формула сравнивает имена клиентов в столбце B с именем в ячейке G1. Если найдено совпадение, она возвращает "1", иначе "0". Вы используете ее просто для того, чтобы "отсечь" имена клиентов, отличные от имени в ячейке G1, поскольку все мы знаем, что любое число, умноженное на ноль, равно нулю.
Поскольку наша формула является формулой массива, она выполняет описанный выше процесс для каждого значения в массиве поиска. И, наконец, функция SUM суммирует продукты всех умножений. Ничего сложного, правда?
Примечание. Чтобы формула LOOKUP работала правильно, необходимо отсортировать столбец поиска в таблице Lookup в порядке возрастания (от A до Z). Если сортировка неприемлема для ваших данных, посмотрите удивительную формулу SUM / TRANSPOSE, предложенную Leo.
Загрузите этот пример LOOKUP и SUM
VLOOKUP и SUMIF - поиск по & суммирование значений с критериями
Функция SUMIF в Excel похожа на SUM, о которой мы только что говорили, тем, что она также суммирует значения. Разница в том, что функция SUMIF суммирует только те значения, которые соответствуют заданным вами критериям. Например, простейшая формула SUMIF =SUMIF(A2:A10,">10")
складывает значения в ячейках с A2 по A10, которые больше 10.
Это очень просто, верно? А теперь давайте рассмотрим более сложный сценарий. Предположим, у вас есть таблица, в которой перечислены имена продавцов и их идентификационные номера ( Таблица_поиска ). У вас есть другая таблица, которая содержит те же идентификаторы и соответствующие показатели продаж ( Главная_таблица ). Ваша задача - найти общее количество продаж, сделанных данным человеком, по его ID. При этом есть 2 осложняющих фактора:
- Почтовая таблица содержит несколько записей для одного и того же идентификатора в случайном порядке.
- Вы не можете добавить столбец "Имена сотрудников отдела продаж" в основную таблицу.
А теперь составим формулу, которая, во-первых, находит все продажи, сделанные данным человеком, а во-вторых, суммирует найденные значения.
Прежде чем мы приступим к формуле, позвольте напомнить вам синтаксис функции SUMIF:
SUMIF(диапазон, критерии, [sum_range])ассортимент
- этот параметр не требует пояснений, просто диапазон ячеек, которые вы хотите оценить по заданным критериям.критерии
- условие, которое указывает формуле, какие значения суммировать. Оно может быть представлено в виде числа, ссылки на ячейку, выражения или другой функции Excel.суммарный_диапазон
- этот параметр необязательный, но очень важный для нас. он определяет диапазон, в котором будут суммироваться значения соответствующих ячеек. если он опущен, Excel суммирует значения ячеек, которые указаны в аргументе диапазон (1-й параметр).
Как вы помните, мы хотим просуммировать все продажи, сделанные данным человеком, имя которого введено в ячейку F2 в основной таблице (см. рисунок выше).
- Диапазон - поскольку мы ищем по идентификатору продавца, то ассортимент параметром для нашей функции SUMIF является столбец B в основной таблице. Таким образом, вы можете ввести диапазон B:B, или, если вы преобразовываете данные в таблицу, вы можете использовать имя столбца вместо этого:
Main_table[ID]
- Критерии - поскольку имена продавцов находятся в другой таблице (таблица поиска), мы должны использовать формулу VLOOKUP, чтобы найти ID, соответствующий данному человеку. Имя человека записано в ячейке F2 в основной таблице, поэтому мы ищем его с помощью этой формулы:
VLOOKUP($F$2,Lookup_table,2,FALSE)
Конечно, вы можете ввести имя в критерии поиска функции VLOOKUP, но использование абсолютной ссылки на ячейку является лучшим подходом, поскольку это создает универсальную формулу, которая работает для любого имени, введенного в данную ячейку.
- Диапазон сумм - Это самая простая часть. Поскольку наши цифры продаж находятся в столбце C под названием "Продажи", мы просто подставляем
Main_table[Sales]
.Теперь вам нужно только собрать части формулы, и ваша формула SUMIF + VLOOKUP готова:
=SUMIF(Main_table[ID], VLOOKUP($F$2, Lookup_table, 2, FALSE), Main_table[Sales])
Загрузите этот образец VLOOKUP и SUMIF
Способ выполнения vlookup в Excel без формул
Наконец, позвольте представить вам инструмент, который может искать, сопоставлять и объединять ваши таблицы без каких-либо функций или формул. Инструмент Merge Tables, включенный в наш Ultimate Suite for Excel, был разработан и создан как экономящая время и простая в использовании альтернатива функциям VLOOKUP и LOOKUP в Excel, и он может быть очень полезен как начинающим, так и опытным пользователям.
Вместо того чтобы разбираться с формулами, вы просто указываете основную и таблицу поиска, определяете общий столбец или столбцы и сообщаете мастеру, какие данные вы хотите получить.
Затем вы даете мастеру несколько секунд на поиск, сопоставление и выдачу результатов. Если вы считаете, что эта надстройка может оказаться полезной в вашей работе, вы можете загрузить пробную версию по ссылке ниже.
Доступные загрузки
VLOOKUP с SUM и SUMIF - примеры формул (файл.xlsx)
Ultimate Suite - пробная версия (файл .exe)