Sumifs mit Bezug auf andere Tabelle in Excel
Schritt-für-Schritt-Anleitung
Um die Funktion SumIfs
in VBA zu verwenden, folge diesen Schritten:
-
Öffne den VBA-Editor: Drücke ALT + F11
, um den VBA-Editor in Excel zu öffnen.
-
Füge ein neues Modul hinzu: Rechtsklicke im Projekt-Explorer auf dein Projekt, wähle Einfügen
und dann Modul
.
-
Schreibe den Code: Nutze folgenden Beispielcode, um die SumIfs
-Funktion zu implementieren:
Sub SumIfsExample()
Dim ShWert As String
Dim UDfile As String
Dim WZZ As Integer
Dim WZS As Integer
Dim WZN As Variant
Dim WZL As Variant
' Setze Variablen
ShWert = "Tabelle1"
UDfile = "Daten.xlsx"
WZZ = 1
WZS = 2
WZN = "Kriterium1"
WZL = "Kriterium2"
' Berechne die Summe
Worksheets(ShWert).Cells(WZZ, WZS).Value = Application.WorksheetFunction.SumIfs( _
Workbooks(UDfile).Worksheets(ShWert).Range("F:F"), _
Workbooks(UDfile).Worksheets(ShWert).Range("I:I"), WZN, _
Workbooks(UDfile).Worksheets(ShWert).Range("G:G"), WZL)
End Sub
-
Führe das Makro aus: Drücke F5
im VBA-Editor, um das Makro auszuführen.
Häufige Fehler und Lösungen
-
Fehler: Ergebnis ist 0
- Lösung: Überprüfe die Parameteranzahl. Stelle sicher, dass du die richtige Anzahl an Kriterien übergibst.
SumIfs
benötigt mindestens drei Parameter: den Suchbereich, den Suchbegriff und den Summenbereich.
-
Fehler: Falscher Bereich
- Lösung: Achte darauf, dass die Bereiche, die du übergibst, die gleiche Anzahl an Zeilen haben. Wenn der Suchbereich und die Summe unterschiedliche Größen haben, wird ein Fehler auftreten.
Alternative Methoden
Wenn du die Funktion SumIfs
nicht in VBA verwenden möchtest, kannst du die folgende Methode direkt in einer Excel-Zelle verwenden:
=SUMMEWENNS(F:F; I:I; WZN; G:G; WZL)
Diese Formel funktioniert ähnlich wie WorksheetFunction.SumIfs
in VBA und ist direkt in einem Arbeitsblatt anwendbar.
Praktische Beispiele
Beispiel 1: Angenommen, du hast eine Verkaufsdatenbank und möchtest die Gesamtsumme der Verkäufe für einen bestimmten Verkäufer und ein bestimmtes Produkt berechnen.
Worksheets("Verkäufe").Cells(1, 2).Value = Application.WorksheetFunction.SumIfs( _
Workbooks("Verkäufe.xlsx").Worksheets("Daten").Range("E:E"), _
Workbooks("Verkäufe.xlsx").Worksheets("Daten").Range("A:A"), "Verkäufer1", _
Workbooks("Verkäufe.xlsx").Worksheets("Daten").Range("B:B"), "Produkt1")
Beispiel 2: Wenn du mehrere Kriterien hast, kannst du diese auch in einer Zelle auswerten.
=SUMMEWENNS(E:E; A:A; "Verkäufer1"; B:B; "Produkt1"; C:C; ">100")
Tipps für Profis
- Verwende benannte Bereiche: Wenn du häufig mit den gleichen Bereichen arbeitest, erwäge, diese als benannte Bereiche zu definieren. Das erhöht die Lesbarkeit deiner Formeln.
- Debugging: Wenn dein Ergebnis nicht wie erwartet ist, füge Debugging-Informationen in dein VBA-Skript ein, um zu prüfen, welche Werte tatsächlich verarbeitet werden.
FAQ: Häufige Fragen
1. Frage
Wie viele Kriterien kann ich in der SumIfs
-Funktion verwenden?
Antwort: Du kannst bis zu 127 Kriterien in der SumIfs
-Funktion verwenden.
2. Frage
Kann ich SumIfs
auch in einer Tabelle verwenden, die nicht im aktiven Workbook ist?
Antwort: Ja, du kannst SumIfs
auf andere Arbeitsmappen anwenden, solange die entsprechende Syntax korrekt ist und die Arbeitsmappe geöffnet ist.