В целом, ваш ответ рабочий, но неполный. Его главный недостаток в том, что эту функцию нужно копировать по длине уникальных значений из A
, расположенных в столбце H
. Это может привести к ошибкам, если содержимое A
изменяется. Копирование же на всю длину столбца ведет к накоплению мусора и проблем.
В Google Sheets вопрос решается с помощью ARRAYFORMULA, которая делает вашу функцию матричной. Будем считать, что в A2:A
находятся имена объектов, в B2:B
- соответствующие им числовые данные, а в H2
расположена функция =UNIQUE(A2:A)
. Тогда в I2
нужно поместить функцию:
=ARRAYFORMULA(SUMIF(A2:A, H2:H, B2:B))
Здесь через H2:H
захватывается весь диапазон, где могут располагаться уникальные имена. Чтобы исключить пустые ячейки, можем использовать FILTER или INDIRECT:
=ARRAYFORMULA(SUMIF(A2:A, FILTER(H2:H, LEN(H2:H)), B2:B))
=ARRAYFORMULA(SUMIF(A2:A, INDIRECT("H2:H"&(COUNTA(H2:H)+1)), B2:B))
В качестве альтернативы, попробуйте создать сводную таблицу. Выделите столбцы A:B
, выберите меню Вставка > Сводная таблица, укажите в качестве места расположения ячейку H1
на текущей странице. Например:

В начале этой сводной находится пустая ячейка и ноль, что соответствует пустым строкам диапазона A:B
. Чтобы исключить эту запись, сохранив при этом динамичность диапазона, мы можем преобразовать область с данными в именованную таблицу (см. меню Формат > Преобразовать в таблицу). В примере ниже, создана таблица "Выданные изделия" и её имя использовано при создании сводной. Содержимое сводной автоматически обновляется при добавлении, удалении или изменении строк в таблице "Выданные изделия":
