Funkcja arkuszowa CountIfs()

Funkcja WorksheetFunction.CountIfs() to jedna z funkcji statystycznych  VBA w Excelu. Wynikiem jej działania jest ilość komórek spełniających określone kryteria.

kliknij, aby poiwiększyć

Argumenty funkcji to:

    • Arg1 (i kolejne nieparzyste)– zakres komórek, dla których sprawdzamy kryterium wyszukiwania. 
    • Arg2 (i kolejne parzyste) -wartość lub kryterium, która musi być spełnione, aby  komórka była liczona.

Liczba możliwych par zakres-kryterium wynosi 30.

W praktyce może to wyglądać np. tak:

kliknij, aby powiększyć

Przykładowe zastosowania funkcji w kodzie VBA to:

Sub MojeStatystyki()
Dim a As Double
Dim ZakresTowar As Range
Dim ZakresVAT As Range
With Worksheets(„Arkusz7”)
Set ZakresTowar = .Range(„B13:B25”)
Set ZakresVAT = .Range(„E13:E25”)
a = WorksheetFunction.CountIfs(ZakresTowar, „*k*”, ZakresVAT, „<>” & „8%”)
End With
End Sub

W tym przypadku obliczana jest liczba pozycji, w których nazwa towaru zawiera literę „k”, a stawka VAT nie wynosi 8%. 

Odpowiednikiem funkcji w Excelu jest funkcja Licz.Warunki()


Kurs Programowanie VBA w Excelu 365 od podstaw

 

Funkcja Licz.Warunki()

Funkcja Licz.Warunki() to jedna z funkcji statystycznych Excela. Wynikiem jej działania jest liczba  komórek spełniających kryteria wprowadzone jako argumenty funkcji.

Argumenty funkcji to:

    • Kryteria_zakres1 -zakres komórek, w których jest sprawdzane Kryterium1
    • Kryteria1 – kryterium do sprawdzenia w Zakres1. Może być to albo konkretna wartość albo odwołanie do innej komórki z wartością. Można tu też stosować symbole wieloznaczne.

Kolejne argumenty funkcji to kolejne pary Kryterium i Kryterium_zakres. 
Takich par może być do 127.

Zobaczmy to na podstawie prostej tabeli:

Chcą np.sprawdzić:

    • ilość wierszy, gdzie kategoria to Alkohole ze stawką VAT 23% =LICZ.WARUNKI(C12:C25;”Alkohol”;E12:E25;23%)
    • ilość wierszy ze stawką VAT większą niż 5%, ale z wyjątkiem alkoholu i używek:
      =LICZ.WARUNKI(C12:C25;”<>” & „Alkohol”;C12:C25;”<>” & „Używki”;E12:E25;”>5%”)

Trzeba pamiętać o tym, że wszystkie warunki muszą być jednocześnie spełnione (iloczyn logiczny).

Odpowiednikiem funkcji w kodzie VBA jest funkcja arkuszowa CountIfs.


 

Funkcja arkuszowa CountIf()

Funkcja WorksheetFunction.CountIf() to jedna z funkcji statystycznych Excela. Wynikiem jej działania jest liczba określająca ilość komórek spełniających dane kryterium.

kliknij, aby powiększyć

Argumenty funkcji to:

    • Arg1 – zakres komórek, z której chcemy uzyskać wynik. Argument obowiązkowy
    • Arg2 -wartość lub kryterium, która musi być spełnione, aby  komórka była zliczona . Argument obowiązkowy.

A jak to wygląda w praktyce? Na przykład  na podstawie prostej tabeli:

kliknij, aby powiększyć

Przykładowe zastosowania funkcji w kodzie VBA to:

Sub MojeStatystyki()
Dim Zakres As Range
Dim a As Double
’Przypisanie zakresu komórek do zmiennej
Set Zakres = Range(„Arkusz4!A2:B13”)
’Liczba komórek równych 15
a = WorksheetFunction.CountIf(Zakres, 15)
’Liczba komórek równych mniejszych od wartości komórki C1
a = WorksheetFunction.CountIf(Zakres, „<” & Range(„Arkusz4!C1”))
’Liczba komórek zaczynającaych się na literę s
a = WorksheetFunction.CountIf(Zakres, „s*”)
’zwolnienie pamięci
Set Zakres = Nothing
End Sub

Odpowiednikiem funkcji w Excelu jest funkcja Licz.Jeżeli()


Kurs Programowanie VBA w Excelu 365 od podstaw

 

Funkcja Licz.Jeżeli()

Funkcja Licz.Jeżeli to jedna z funkcji statystycznych Excela. Wynikiem jej działania jest liczba określająca ilość rekordów spełniająca dane kryterium.


Argumenty funkcji to:

    • Zakres – zakres komórek, z której chcemy uzyskać wynik. Argument obowiązkowy
    • Kryteria -wartość lub kryterium, która musi być spełnione, aby  komórka była zliczona . Argument obowiązkowy.

Wartość kryterium może przybierać różne formy.
Zobaczmy to na podstawie prostej tabeli:

kliknij, aby powiększyć

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

    •  pojedyncza wartość np.15
      =LICZ.JEŻELI(B2:B13;15)
    • odwołanie do innej komórki np.C1
      =LICZ.JEŻELI(B2:B13;C1)
    • zakres wartości
      =LICZ.JEŻELI(B2:B13;”<0″)
      Tu warto zauważyć, że po wpisaniu <0 – Excela automatycznie ustawia kryterium jako String dodając znak cudzysłowu
    • zakres wartości z odwołaniem do komórki np.C1
      =LICZ.JEŻELI(B2:B13;”<” & C1)
      Tu też warto zauważyć, że po wpisaniu <C1 (nawet jeżeli wprowadzimy adres komórki klikając na nią w arkuszu)  – Excel automatycznie ustawia kryterium jako String dodając znak cudzysłowu i otrzymuje „<C1”. To niestety błąd i funkcja zwróci błędny wynik. Trzeba to zrobić tak:
      „<> & C1
    • symbole wieloznaczne w odniesieniu do komórek zwierających tekst
      =LICZ.JEŻELI(A2:A13;”*e*”)
      wskazuje ilość komórek w kolumnie A zawierających literę e

Odpowiednikiem funkcji w kodzie VBA jest funkcja arkuszowa CountIf.


 

Funkcja VBA Large

Funkcja Large w VBA to jedna z funkcji arkuszowych VBA. W wyniku jej działania zwracana  jest k-ta największa wartość z tablicy czy zakresu danych.

Argumenty funkcji to:

    • Arg1 – Tablica/zakres danych, spośród których wyznaczamy  Argument obowiązkowy;
    • Arg2 -numer największej szukanej wartości. Argument obowiązkowy

Odpowiednikiem funkcji w Excelu jest funkcja MAX.K()


Kurs Makra i VBA w Excelu dla początkujących