Benutzerdefinierte Average-Funktion in Excel VBA
Im Folgenden werden wir ein Programm in Excel VBA, die auf einen Link erstellt: / vba-Beispiele-user-defined-Funktion [User Defined Function]
, die den Durchschnitt eines zufällig ausgewählten Bereichs ohne einen oder mehr Werte, die Ausreißer berechnet und sollte nicht gemittelt werden.
Situation:
Benutzerdefinierte Funktionen müssen in ein Modul platziert werden.
-
Öffnen Sie den Visual Basic-Editor und klicken Sie auf Einfügen, Modul.
-
Nehmen Sie 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 Integer-Variablen als Input geben. Wir nennen unser Angebot rng, eine Integer-Variable nennen wir weniger und eine Integer-Variable wir obere nennen, aber Sie keine Namen verwenden können.
-
Als nächstes erklären wir ein Range-Objekt und zwei Variablen vom Typ Integer.
Wir nennen die Range-Objekt Zelle. Ein Integer-Variable nennen wir insgesamt und ein Integer-Variable wir zählen nennen.
Dim cell As Range, total As Integer, count As Integer
-
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 die For Each Next-Schleife für diese. Fügen Sie die folgenden Codezeilen:
For Each cell In rng Next cell
Hinweis: RNG und Zelle sind hier zufällig ausgewählt, können Sie alle Namen verwenden.
Denken Sie daran, diese Namen in dem Rest des Codes zu beziehen.
-
Als nächstes prüfen wir für jeden Wert in diesem Bereich, wenn er zwischen den beiden Werten (unteren und oberen) fällt. Wenn das stimmt, erhöhe wir durch den Wert der Zelle insgesamt und wir Inkrement von 1. Fügen Sie die folgenden Codezeilen in die Schleife zählen.
If cell.Value >= lower And cell.Value <= upper Then total = total + cell.Value count = count + 1 End If
-
Das Ergebnis dieser Funktion zurückzukehren (die durchschnittliche gewünscht), die folgende Codezeile außerhalb der Schleife.
CUSTOMAVERAGE = total / count
-
Vergessen Sie nicht, um die Funktion zu beenden. Fügen Sie die Zeile:
End Function
-
Jetzt können Sie diese Funktion verwenden, wie jede andere Excel-Funktion den Mittelwert der Zahlen zu berechnen, die zwischen zwei Werten fallen.
Ergebnis:
Zur Kontrolle können Sie alle Werte löschen, die als 30 niedriger als 10 und höher sind und die Standard-Average-Funktion in Excel verwenden, um festzustellen, ob Excel die gleichen durchschnittlichen wie unsere eigenen durchschnittlichen Funktion berechnet.
Unsere kundenspezifischen Durchschnitt Funktion funktioniert! Hinweis: Diese Funktion ist nur in dieser Arbeitsmappe zur Verfügung.