Funkcja arkuszowa SumIf()

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.

kliknij, aby powiększyć

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()


Kurs Programowanie VBA w Excelu 365 od podstaw

 

Funkcja Suma.Jeżeli()

Funkcja Suma.Jeżeli to jedna z funkcji matematycznych Excela. Wynikiem jej działania jest liczba sumą komórek spełniających dane kryterium.

kliknij, aby powiększyć

Argumenty funkcji to:

    • Zakres – zakres komórek dla których jest sprawdzane kryterium. Argument obowiązkowy.
    • Kryteria -wartość lub kryterium, która musi być spełnione, aby  komórka była zliczona . Argument obowiązkowy.
    • Suma_zakres – zakres komórek z tego samego wiersza, gdzie znajdują się wartości do zsumowania. Jest to argument opcjonalny, wartością domyślną jest ten sam zakres komórek, co argument Zakres.

Zobaczmy to na podstawie prostej tabeli:

kliknij, aby powiększyć

 

Chcą policzyć ile razy występuje jakaś wartość, możemy zdefiniować kryterium np. jako:

    •  suma netto wartości <5zł
      =SUMA.JEŻELI(D2:D14;”<5″)
      Tu warto zauważyć, że po wpisaniu <5 – Excela automatycznie ustawia kryterium jako String dodając znak cudzysłowu
    • z odwołaniem do innej komórki np.H1
      ==SUMA.JEŻELI(D2:D14;H1)
    • suma brutto artykułów z kategorii Tłuszcze
      ==SUMA.JEŻELI(C2:C14;”Tłuszcze”;F2:F14)
      Zakres warunków do wyszukiwania różni się od zakresu wartości sumowanych – obydwa zakresy muszą zawierać tę samą ilość komórek
    • z użyciem symboli wieloznacznych – np.artykuły zartykuły kończące się na literę „a”.
      =SUMA.JEŻELI(B2:B14;”*a”;F2:F14)

Odpowiednikiem funkcji w kodzie VBA jest funkcja arkuszowa SumIf.