Як використовувати sumproduct у vba (з прикладом)
Ви можете використовувати такий базовий синтаксис, щоб використовувати SUMPRODUCT у VBA:
SubSumProduct ()
Range(" E2 ") = WorksheetFunction.SumProduct(Range(" B2:B11 "), Range(" C2:C11 "))
End Sub
Цей конкретний приклад обчислить суму добутку значень у діапазонах B2:B11 і C2:C11 і поверне результат у клітинку E2 .
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: як використовувати SUMPRODUCT у VBA
Припустимо, що ми маємо наступний набір даних, що містить інформацію про продаж різних фруктів у продуктовому магазині:
Припустімо, ми хочемо обчислити загальний дохід магазину, помноживши ціну на кількість одиниць, а потім взявши суму.
Для цього ми можемо використати метод VBA SumProduct :
SubSumProduct ()
Range(" E2 ") = WorksheetFunction.SumProduct(Range(" B2:B11 "), Range(" C2:C11 "))
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Сума добутку значень між діапазонами B2:B11 і C2:C11 дорівнює 139 .
Це значення відображається в клітинці E2 , як ми вказали в макросі.
Ми можемо переконатися, що це правильно, обчисливши вручну суму добутків між двома діапазонами:
Сума добутків: (4*1) + (3*5) + (3*4) + (2*7) + (2*3) + (5*5) + (3*5) + (2*6) ) + (5*6) + (2*3) = 139 .
Це відповідає значенню, обчисленому методом VBA SumProduct .
Примітка . Ви можете знайти повну документацію для методу VBA SumProduct тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: Як додати значення в діапазон
VBA: як обчислити середнє значення діапазону
VBA: як підрахувати кількість рядків у діапазоні