Hallo Zusammen,
habe da ein „kleines“ Problem.
Benötige eine Formel, um Daten aus zwei Spalten abzufragen, und anschließend zu zählen.
Komme aber mit der SUMMEWENN() nicht weiter.
Beispiel:
Art Nr
neu 1
alt 1
neu 0
neu 1
alt 0
Nun möchte ich gern folgendes Ergebnis haben:
Anzahl der Einträge, die
Art = neu UND
Nr = 1
Ergbnis: 2
Wie kann ich das lösen???
Danke schon einmal
Gruß
Andy
Hallo Andy,
Annahme:
Die Tabelle beginnt in Zeile 1 und enthält in der Spalte A „Art“ und Spalte B „Nr“.
-
Vorschlag:
Definiere eine dritte Spalte, in der du folgende Formel einträgst:
=a1&a2
Diese Formel kannst du dann durch Runterziehen in alle Zeilen kopieren.
Danach wendest du die SUMMEWENN auf diese neue Spalte an.
-
Vorschlag:
Du definierst in deiner Datei ein Makro mit folgender Logik:
Function zaehlen(VerglWert1, VerglSpalte1 As Range, _
VerglWert2, VerglSpalte2 As Range) As Long
Dim ab_Zeile As Long, bis_Zeile As Long, Z As Long
Dim S1 As Integer, S2 As Integer
Dim Anz As Long
Dim ws As Worksheet
ab_Zeile = VerglSpalte1.Row
bis_Zeile = VerglSpalte1.Rows.Count - ab_Zeile + 1
S1 = VerglSpalte1.Column
S2 = VerglSpalte2.Column
Anz = 0
With VerglSpalte1.Worksheet
For Z = ab_Zeile To bis_Zeile
If Not IsEmpty(.Cells(Z, S1)) Or Not IsEmpty(.Cells(Z, S2)) Then
If .Cells(Z, S1) = VerglWert1 _
And .Cells(Z, S2) = VerglWert2 Then Anz = Anz + 1
End If
Next Z
End With
zaehlen = Anz
End Function
Dieses Makro kannst du analog zu SUMMEWENN folgendermaßen verwenden:
=zaehlen(„neu“;A1:A99;0;B1:B99)
Das Beispiel zählt nun alle Kombination „neu“ mit dem Wert 0 im Zeilenbereich von 1 bis 99.
lg Maria
Hallo Maria,
erst einmal herzlichsten Dank für Deine Hilfe!
Dafür hast Du Dir einen " * " verdient.
Hätte aber noch einen kleinen Zusatz zu meiner Frage.
Wir bleiben bei der Annahme:
Die Tabelle beginnt in Zeile 1 und enthält in der Spalte A „Art“ und Spalte B „Nr“.
Zusätzlich befindet sich in Spalte C ein Wert.
Nun möchte ich nicht die Anzahl z.b. aus der Kombination „neu“ mit dem Wert 0 im Zeilenbereich von 1 bis 99, sondern deren Werte aus der Spalte C.
LG
Andy
Hallo,
ich nehme mal an, du meinst du möchtest die Summe der Werte aus Spalte C erhalten.
Dann mußt du das Makro folgendermaßen modifizieren:
Function summieren(VerglWert1, VerglSpalte1 As Range, _
VerglWert2, VerglSpalte2 As Range, SumSpalte As Range) As Long
Dim ab_Zeile As Long, bis_Zeile As Long, Z As Long
Dim S1 As Integer, S2 As Integer, S3 As Integer
Dim Summe As Double
Dim ws As Worksheet
ab_Zeile = VerglSpalte1.Row
bis_Zeile = VerglSpalte1.Rows.Count - ab_Zeile + 1
S1 = VerglSpalte1.Column
S2 = VerglSpalte2.Column
S3 = SumSpalte.Column
Summe = 0
With VerglSpalte1.Worksheet
For Z = ab_Zeile To bis_Zeile
If Not IsEmpty(.Cells(Z, S1)) Or Not IsEmpty(.Cells(Z, S2)) Then
If .Cells(Z, S1) = VerglWert1 _
And .Cells(Z, S2) = VerglWert2 Then Summe = Summe + .Cells(Z, S3)
End If
Next Z
End With
summieren = Summe
End Function
lg Maria
Wir bleiben bei der Annahme:
Die Tabelle beginnt in Zeile 1 und enthält in der Spalte A
„Art“ und Spalte B „Nr“.
Zusätzlich befindet sich in Spalte C ein Wert.
Nun möchte ich nicht die Anzahl z.b. aus der Kombination
„neu“ mit dem Wert 0 im Zeilenbereich von 1 bis 99, sondern
deren Werte aus der Spalte C.
Hi Andy,
gib folgende Formel als Arrayformel, aslo mit Shift+Strg+Enter ein:
=SUMME(WENN((A1:A99=„neu“);WENN(B1:B99=1;C1:C99)))
Gruß
Reinhard