Funkcja WorksheetFunction.SumIf() to jedna z funkcji matematycznych VBA w Excelu. Wynikiem jej działania jest suma z zakresu komórek spełniajacych określone kryterium.

Argumenty funkcji to:
-
- Arg1 – zakres komórek, dla których sprawdzamy kryterium wyszukiwania. Argument obowiązkowy
- Arg2 -wartość lub kryterium, która musi być spełnione, aby komórka była wliczona do sumowania . Argument obowiązkowy.
- Arg3 – zakres komórek dla których obliczamy sumę. Argument opcjonalny. Wartością domyślną jest tu zakres komórek wprowadzony w Arg1.
Opcjonalny Arg3 stosuje się w tych przypadkach, gdy w jednym zakresie wyszukujemy komórek spełniający kryterium Arg2, a w innym – obliczamy sumę. Warunkiem koniecznym jest jednakowa liczba komórek w obydwu zakresach.
W praktyce może to wyglądać np. tak:
Przykładowe zastosowania funkcji w kodzie VBA to:
Sub MojeStatystyki() Dim a As Double ’Suma brutto dla Używek a = WorksheetFunction.SumIf(Range(„Arkusz15!C2:C14”), „Używki”, Range(„Arkusz15!F2:F14”)) ’Suma netto artykułów objętych stawką mniejszą niż 8% a = WorksheetFunction.CountIf(Zakres, „<” & Range(„Arkusz4!C1”)) ’Suma netto artykułów objętych stawką mniejszą niż 8% a = WorksheetFunction.SumIf(Range(„Arkusz15!E2:E14”), „<8%”, Range(„Arkusz15!D2:D4”)) End Sub |
Odpowiednikiem funkcji w Excelu jest funkcja Suma.Jeżeli()