Я сомневаюсь, что это на самом деле быстрее, чем SUMIF, но он собирает идентификаторы магазина, а также итоги за один проход.
sub shopTotals()
dim i as long, arr as variant, dict as object
set dict = createobject("scripting.dictionary")
dict.comparemode = vbtextcompare
with worksheets("sheet1")
arr = .range(.cells(2, "A"), .cells(.rows.count, "B").end(xlup)).value2
for i=lbound(arr, 1) to ubound(arr, 1)
dict.item(arr(i, 1)) = dict.item(arr(i, 1)) + arr(i, 2)
next i
.cells(2, "D").resize(dict.count, 1) = application.transpose(dict.keys)
.cells(2, "E").resize(dict.count, 1) = application.transpose(dict.items)
end with
end sub
AVERAGEIF или COUNTIF могут получить другие статистические данные.