/ / Benutzerdefinierte durchschnittliche Funktion in Excel VBA

Benutzerdefinierte durchschnittliche Funktion in Excel VBA

Unten sehen wir uns ein Programm in Excel VBA was schafft ein Benutzerdefinierte Funktion das berechnet die durchschnittlich eines zufällig ausgewählten Bereichs ohne einen oder mehrere Werte, die Ausreißer sind und nicht gemittelt werden sollten.

Situation:

Benutzerdefinierte durchschnittliche Funktion in Excel VBA

Benutzerdefinierte Funktionen müssen in einem Modul platziert werden.

1. Öffnen Sie den Visual Basic-Editor und klicken Sie auf Einfügen, Modul.

2. Fügen Sie die folgende Codezeile hinzu:

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

Der Name unserer Funktion ist CUSTOMAVERAGE. Der Teil zwischen den Klammern bedeutet, dass wir Excel VBA einen Bereich und zwei Ganzzahlvariablen als Eingabe geben. Wir nennen unseren Bereich rng, eine Integer-Variable, die wir niedriger nennen, und eine Integer-Variable, die wir ober nennen, aber Sie können beliebige Namen verwenden.

3. Als nächstes deklarieren wir ein Range-Objekt und zwei Variablen vom Typ Integer. Wir rufen die Range-Objektzelle auf. Eine Integer-Variable, die wir total und eine Integer-Variable nennen, die wir call nennen.

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

4. Wir wollen jede Zelle in einem zufällig ausgewählten Bereich überprüfen (dieser Bereich kann beliebig groß sein). In Excel VBA können Sie dafür die For Each Next-Schleife verwenden. Fügen Sie die folgenden Codezeilen hinzu:

For Each cell In rng

Next cell

Hinweis: Rng und Zelle werden hier zufällig ausgewählt, Sie können beliebige Namen verwenden. Denken Sie daran, im Rest Ihres Codes auf diese Namen zu verweisen.

5. Als nächstes prüfen wir für jeden Wert in diesem Bereich, ob er zwischen den zwei Werten (niedriger und oberer) liegt. Wenn dies der Fall ist, erhöhen wir den Gesamtwert um den Wert der Zelle, und wir erhöhen die Anzahl um 1. Fügen Sie der Schleife die folgenden Codelinien hinzu.

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

6. Um das Ergebnis dieser Funktion (den gewünschten Durchschnittswert) zurückzugeben, fügen Sie die folgende Codezeile außerhalb der Schleife hinzu.

CUSTOMAVERAGE = total / count

7. Vergessen Sie nicht, die Funktion zu beenden. Fügen Sie die Zeile hinzu:

End Function

8. Nun können Sie diese Funktion wie jede andere Excel-Funktion verwenden, um den Durchschnitt von Zahlen zu berechnen, die zwischen zwei Werten liegen.

Ergebnis:

Benutzerdefiniertes Ergebnis der durchschnittlichen Funktion

Zur Kontrolle können Sie alle Werte löschenniedriger als 10 und höher als 30 und verwenden Sie die Standardfunktion "Durchschnitt" in Excel, um zu sehen, ob Excel den gleichen Durchschnitt wie unsere benutzerdefinierte Durchschnittsfunktion berechnet.

Benutzerdefinierte durchschnittliche Funktionsprüfung

Unsere benutzerdefinierte durchschnittliche Funktion funktioniert! Hinweis: Diese Funktion ist nur in dieser Arbeitsmappe verfügbar.

Lesen Sie auch: