SUMIF Funktion mit mehreren Kriterien mit VBA in Microsoft Excel
In diesem Artikel erfahren Sie, wie Sie die SUMIF-Funktion in VBA mit mehreren Kriterien in Excel mithilfe von VBA-Code verwenden.
Um die Ausgabe zu erhalten, verwenden wir eine Kombination von OFFSET- und COUNTA-Funktionen, um eine Namensmanagerliste zu erstellen.
Lassen Sie uns anhand eines Beispiels verstehen:
-
Wir haben einen Verkaufsbericht für Verkäufer, Region und Produkt für die Jahre 2012 bis 2014.
-
Wir möchten die Verkaufszahl ermitteln, die die folgenden Bedingungen erfüllt: –
-
Für alle Bedingungen; Wir müssen Namensbereiche erstellen. So erstellen Sie einen dynamischen Namensbereich für Salesman:
Drücken Sie die Tastenkombination STRG + F3> Klicken Sie auf Neu und geben Sie die Formel als = OFFSET (Blatt1! $ B $ 1,1,0, COUNTA (Blatt1! $ A: $ A) -1)
ein Erstellen Sie auf ähnliche Weise benannte Bereiche für andere Bedingungen. * Drücken Sie STRG + F3, um das Namensmanager-Fenster zu öffnen (siehe bereits erstellte Listen).
-
Wenn Sie die Funktion „Namen einfügen“ auf der Registerkarte „Formeln“ verwenden, wird die gesamte Liste der definierten Namen in Zellen angezeigt.
-
Klicken Sie auf Liste einfügen
nDate * = OFFSET (Sheet1! $ A $ 1,1,0, COUNTA (Sheet1! $ A: $ A) -1)
nProdukt * = OFFSET (Blatt1! $ D $ 1,1,0, COUNTA (Blatt1! $ A: $ A) -1)
nRegion * = OFFSET (Blatt1! $ C $ 1,1,0, COUNTA (Blatt1! $ A: $ A) -1)
nSales * = OFFSET (Sheet1! $ E $ 1,1,0, COUNTA (Sheet1! $ A: $ A) -1)
nSalesman * = OFFSET (Blatt1! $ B $ 1,1,0, COUNTA (Blatt1! $ A: $ A) -1)
Wir müssen die unten aufgeführten Schritte ausführen, um den VB-Editor zu starten. Klicken Sie auf die Registerkarte Entwickler. Wählen Sie in der Gruppe Code die Option Visual Basic
aus * Klicken Sie auf Einfügen und dann auf Modul
-
Dadurch wird ein neues Modul erstellt.
-
Geben Sie den folgenden Code in das Modul Sub VBASumifs () ein mysalesman = [H3] myregion = [H4] myproduct = [H5]
tsales = Application.WorksheetFunction.SumIfs ([nsales], [nsalesman], mysalesman, [nregion], myregion, [nproduct], myproduct)
[H6] = tsales End Sub
Klicken Sie auf Multifunktionsleiste einfügen> Formen> Bild zeichnen. Klicken Sie mit der rechten Maustaste auf das Bild und klicken Sie auf Makro zuweisen
-
Nach dem Zuweisen des Makros; Klicken Sie auf die Schaltfläche „Verkauf aktualisieren“ und wir erhalten die Ausgabe in Zelle H6
Hinweis: – Nachdem Sie den Namen, die Region und das Produkt des Verkäufers geändert haben, müssen Sie auf Verkauf aktualisieren klicken.
Um herauszufinden, welche Verkäufe die Bedingungen zwischen zwei Daten erfüllen; Das Folgende ist die Momentaufnahme der Kriterien:
Wir werden den folgenden Code verwenden:
Sub Sumifs2Dates ()
mysalesman = [H3] myregion = [H4] myproduct = [H5]
stdate = [H6]
EndDate = [H7]
tsales = Application.WorksheetFunction.SumIfs ([nsales], [nsalesman], mysalesman, [nregion], myregion, [nproduct], myproduct, [ndate], „> =“ & stdate, [ndate], „⇐“ & EndDate)
[H8] = tsales End Sub
-
Drücken Sie die Tastenkombination ALT + F8, um das Makrofenster zu öffnen, und wählen Sie dann das Makro aus.
-
Alternativ können Sie F5 drücken, um den Code im VBA-Bildschirm auszuführen.
-
Nach dem Ausführen des Makros erhalten wir die Ausgabe in Zelle H8
Auf diese Weise können wir SUMIF mehrere Kriterien in VBA verwenden, um den Gesamtumsatz zwischen zwei Daten zu berechnen.