/ / Niestandardowa średnia funkcja w Excelu VBA

Niestandardowa średnia funkcja w Excelu VBA

Poniżej przyjrzymy się programowi w Excel VBA który tworzy Funkcja zdefiniowana przez użytkownika który oblicza średni losowo wybranego zakresu wyłączającego jedną lub więcej wartości, które są wartościami odstającymi i nie powinny być uśredniane.

Sytuacja:

Niestandardowa średnia funkcja w Excelu VBA

Funkcje zdefiniowane przez użytkownika należy umieścić w module.

1. Otwórz Edytor Visual Basic i kliknij Wstaw, Moduł.

2. Dodaj następującą linię kodu:

Function CUSTOMAVERAGE(rng As Range, lower As Integer, upper As Integer)

Nazwa naszej funkcji to CUSTOMAVERAGE. Część między nawiasami oznacza, że ​​dajemy Excelowi VBA zakres i dwie zmienne całkowite jako dane wejściowe. Nazywamy nasz zakres rng, jedną zmienną Integer nazywamy niższą i jedną zmienną całkowitą nazywamy górną, ale możesz użyć dowolnych nazw.

3. Następnie deklarujemy obiekt Range i dwie zmienne typu Integer. Nazywamy komórkę obiektu Range. Jedna zmienna Integer nazywamy total i jedną zmienną Integer, którą wywołujemy count.

Dim cell As Range, total As Integer, count As Integer

4. Chcemy sprawdzić każdą komórkę w losowo wybranym zakresie (ten zakres może być dowolnej wielkości). W Excel VBA można użyć do tego pętli For Each Next. Dodaj następujące linie kodu:

For Each cell In rng

Next cell

Uwaga: rng i komórka są losowo wybrane tutaj, możesz użyć dowolnych nazw. Pamiętaj, aby odwoływać się do tych nazw w pozostałej części kodu.

5. Następnie sprawdzamy każdą wartość w tym zakresie, jeśli mieści się ona między dwiema wartościami (dolną i górną). Jeśli jest to prawda, zwiększamy wartość całkowitą o wartość komórki i zwiększamy liczbę o 1. Dodaj następujące linie kodu do pętli.

If cell.Value >= lower And cell.Value <= upper Then
    total = total + cell.Value
    count = count + 1
End If

6. Aby zwrócić wynik tej funkcji (żądana średnia), dodaj następującą linię kodu poza pętlą.

CUSTOMAVERAGE = total / count

7. Nie zapomnij zakończyć funkcji Dodaj linię:

End Function

8. Teraz możesz użyć tej funkcji, tak jak każdej innej funkcji programu Excel, aby obliczyć średnią liczb, które mieszczą się między dwiema wartościami.

Wynik:

Niestandardowy wynik średniej funkcji

Jako czek możesz usunąć wszystkie wartości, które sąniższy niż 10 i większy niż 30 i użyj standardowej funkcji średniej w programie Excel, aby sprawdzić, czy program Excel oblicza tę samą średnią, co nasza średnia funkcja niestandardowa.

Niestandardowa średnia sprawdzenie działania

Nasza średnia funkcja działa! Uwaga: ta funkcja jest dostępna tylko w tym skoroszycie.

Przeczytaj również: