Jak używać sumproduct w vba (z przykładem)
Aby używać SUMPRODUCT w VBA, możesz użyć następującej podstawowej składni:
SubSumProduct ()
Range(" E2 ") = WorksheetFunction.SumProduct(Range(" B2:B11 "), Range(" C2:C11 "))
End Sub
Ten konkretny przykład obliczy sumę iloczynu wartości z zakresów B2:B11 i C2:C11 i zwróci wynik w komórce E2 .
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: Jak używać SUMPRODUCT w VBA
Załóżmy, że mamy następujący zbiór danych zawierający informacje o sprzedaży różnych owoców w sklepie spożywczym:
Załóżmy, że chcemy obliczyć całkowity przychód sklepu, mnożąc cenę przez liczbę jednostek, a następnie obliczając sumę.
Możemy w tym celu skorzystać z metody VBA SumProduct :
SubSumProduct ()
Range(" E2 ") = WorksheetFunction.SumProduct(Range(" B2:B11 "), Range(" C2:C11 "))
End Sub
Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:
Suma iloczynu wartości pomiędzy zakresami B2:B11 i C2:C11 wynosi 139 .
Wartość ta wyświetlana jest w komórce E2 , tak jak określiliśmy w makrze.
Możemy sprawdzić, czy jest to prawidłowe, ręcznie obliczając sumę iloczynów pomiędzy dwoma zakresami:
Suma iloczynów: (4*1) + (3*5) + (3*4) + (2*7) + (2*3) + (5*5) + (3*5) + (2*6 ) + (5*6) + (2*3) = 139 .
Odpowiada to wartości obliczonej metodą VBA SumProduct .
Uwaga : Pełną dokumentację metody VBA SumProduct można znaleźć tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak dodać wartości w zakresie
VBA: Jak obliczyć średnią wartość zakresu
VBA: Jak policzyć liczbę wierszy w zakresie