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

В Google Calc (и в MS Excel) есть функция VLOOKUP, позволяющая искать нужную строку и выводить соответствующий ей параметр:

=VLOOKUP("Строка поиска";диапазон;номер_столбца;сортировка)

Справку по функции можно найти здесь.

Пример:

=VLOOKUP("Трава";A1:B5;2;FALSE)


Эта формула позволяет найти в таблице покупок нужный товар в первом столбце диапазона и вывести его цену из второго столбца диапазона.

Но что делать, если мы больше одного раза покупали один товар, и хотим вывести сумму всех покупок этого товара? Функция VLOOKUP в паре с функцией SUM будет выводит первое найденное значение:

=SUM(VLOOKUP("Трава";A1:B5;2;FALSE))


Вместо этого нужно пользоваться такой конструкцией:

=SUM(IFERROR(FILTER(B1:B6; SEARCH("Трава";A1:A6));0))


Здесь мы:

  • ищем (SEARCH) товар в первом диапазоне;
  • отфильтровываем (FILTER) из второго диапазона те значения, которые соответствуют найденным значениям;
  • игнорируем ошибочные значения (IFERROR(…; 0));
  • складываем (SUM) полученные значения.

Без использования SUM выводятся все значения цены в виде списка.