Vba: so schreiben sie sumif- und sumifs-funktionen


Sie können die folgenden Methoden verwenden, um SUMIF- und SUMIFS-Funktionen mit VBA in Excel zu schreiben:

Methode 1: SUMIF-Funktion in VBA

 SubSumif_Function ()
    Range(" E2 ") = WorksheetFunction.Sumif(Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "))
End Sub

In diesem speziellen Beispiel werden die Werte im Bereich B2:B12 nur dann summiert, wenn der entsprechende Wert im Bereich A2:A12 „Mavs“ entspricht, und das Ergebnis wird der Zelle E2 zugewiesen.

Methode 2: SUMIFS-Funktion in VBA

 Sub Sumifs_Function()
    Range(" E2 ") = WorksheetFunction.SumIfs(Range(" C2:C12 "), Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "), " >20 ")
End Sub

In diesem speziellen Beispiel werden die Werte im Bereich C2:C12 nur dann summiert, wenn der Wert im Bereich A2:A12 „Mavs“ entspricht und der Wert im Bereich B2:B12 größer als 20 ist. Anschließend wird das Ergebnis der Zelle E2 zugewiesen. .

Die folgenden Beispiele zeigen, wie jede dieser Methoden in der Praxis mit dem folgenden Datensatz in Excel verwendet wird, der Informationen über verschiedene Basketballspieler enthält:

Beispiel 1: SUMIF-Funktion in VBA

Nehmen wir an, wir möchten die Summe der Werte in der Punktespalte nur für Spieler berechnen, die im Mavs-Team sind.

Wir können das folgende Makro erstellen, um diese SUMIF-Funktion auszuführen:

 SubSumif_Function ()
    Range(" E2 ") = WorksheetFunction.Sumif(Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "))
End Sub

Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:

Beachten Sie, dass Zelle E2 den Wert 73 enthält.

Dies stellt die Summe der Werte in der Punktespalte für den Mavs-Teamspieler dar.

Wir können überprüfen, ob dies korrekt ist, indem wir die Summe der Werte in der Punktespalte für die Spieler des Mavs-Teams manuell berechnen:

Summe der Punkte für Mavs-Spieler: 22 + 10 + 29 + 12 = 73 .

Beispiel 2: SUMIFS-Funktion in VBA

Nehmen wir an, wir möchten die Summe der Werte in der Assists-Spalte nur für Spieler berechnen, die die folgenden Kriterien erfüllen:

  • Der Spieler ist Teil des Mavs-Teams.
  • Der Spieler hat mehr als 20 Punkte erzielt.

Wir können das folgende Makro erstellen, um diese SUMIFS-Funktion auszuführen:

 Sub Sumifs_Function()
    Range(" E2 ") = WorksheetFunction.SumIfs(Range(" C2:C12 "), Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "), " >20 ")
End Sub

Wenn wir dieses Makro ausführen, erhalten wir die folgende Ausgabe:

Beachten Sie, dass Zelle E2 den Wert 18 enthält.

Dies stellt die Summe der Werte in der Punktespalte für Mavs-Teamspieler dar, die mehr als 20 Punkte erzielt haben.

Hinweis : In diesem Beispiel haben wir eine SUMIFS-Funktion mit zwei Kriterienbereichen erstellt, aber Sie können in der WorksheetFunction.SumIfs -Methode so viele Kriterienbereiche verwenden, wie Sie möchten.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben in VBA ausführen:

VBA: So schreiben Sie COUNTIF- und COUNTIFS-Funktionen
VBA: So schreiben Sie die Funktionen AVERAGEIF und AVERAGEIFS

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert