So berechnen sie den gewichteten durchschnitt in vba (mit beispiel)
Sie können die folgende grundlegende Syntax verwenden, um mit VBA einen gewichteten Durchschnitt zu berechnen:
Sub FindWeightedAverage()
Range(" E2 ") = _
WorksheetFunction.SumProduct(Range(" B2:B7 "), Range(" C2:C7 ")) / _
WorksheetFunction.Sum(Range(" C2:C7 "))
End Sub
In diesem speziellen Beispiel wird ein gewichteter Durchschnitt berechnet, wobei Zellen im Bereich B2:B7 als Werte und Zellen im Bereich C2:C7 als Gewichte verwendet werden.
Der gewichtete Durchschnitt wird dann in Zelle E2 angezeigt.
Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.
Beispiel: Berechnen Sie den gewichteten Durchschnitt mit VBA
Nehmen wir an, wir haben den folgenden Datensatz in Excel, der verschiedene Verkäufe der Mitarbeiter eines Unternehmens zeigt:
Angenommen, wir möchten den gewichteten Durchschnitt des Preises berechnen, indem wir die Werte in der Spalte „Betrag “ als Werte und die Werte in der Spalte „Preis“ als Gewichte verwenden:
Dazu können wir das folgende Makro erstellen:
Sub FindWeightedAverage()
Range(" E2 ") = _
WorksheetFunction.SumProduct(Range(" B2:B7 "), Range(" C2:C7 ")) / _
WorksheetFunction.Sum(Range(" C2:C7 "))
End Sub
Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:
Beachten Sie, dass Zelle E2 den Wert 9,705882 enthält.
Wir können überprüfen, ob dies korrekt ist, indem wir den gewichteten Durchschnitt manuell berechnen.
Denken Sie daran, dass wir für den gewichteten Durchschnitt die folgende Formel verwenden:
Gewichteter Durchschnitt = Σw i X i / Σw i
Gold:
- w i = Gewichtswerte
- X i = Datenwerte
Wir können die Werte aus unserem Datensatz in diese Formel einfügen, um den gewichteten Durchschnittspreis zu berechnen:
- Gewichteter Durchschnitt = Σw i X i / Σw i
- Gewichteter Durchschnitt = (1*8 + 3*5 + 2*6 + 2*7 + 5*12 + 4*14) / (1+3+2+2+5+4)
- Notendurchschnitt für Schüler A = 9,705882
Dies entspricht dem Wert, den wir mithilfe des Makros berechnet haben.
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in VBA ausführen:
VBA: So schreiben Sie die Funktionen AVERAGEIF und AVERAGEIFS
VBA: So schreiben Sie SUMIF- und SUMIFS-Funktionen
VBA: So schreiben Sie COUNTIF- und COUNTIFS-Funktionen