SummeWenn, 2 Bedingungen, Platzhaltereinsatz
10.06.2004 22:54:20
TE
Tja, mal wieder ein Problem mit der bedingten Summierung:
Aus einem grossen Datenfeld möchte ich die Werte (G:G) aufsummieren, die ZWEI Bedingungen erfüllen (A:A und F:F), wobei die Kriterien in N1 und Q1 stehen:
=SUMMENPRODUKT((F1:F65536=N1)*(A1:A65536=Q1)*(G1:G65536))
oder als Matrixformel
{=SUMME(WENN(F1:F65536=N1;G1:G65536)..........)}
soweit, so gut. Klappt.
Der Haken:
In F:F stehen nicht genau die (Text)werte, die das Kriterium vorgibt. Beispiel:
Im Datenfeld steht irgendwo in Spalte F: "OHV-SX111, Meier". Kriterium ist aber nur "Meier" (da es hier egal ist, mit welchem LKW er fuhr).
Mit dem Platzhalter "*" klappt das bei nur einer Bedingung gut:
=SUMMEWENN(F2:F65536;"*"&N1;G1:G65536)
spielt zuverlässig mit allen Varianten ("sx111, _Meier" , "OHVSX111Meier" , ...)
die Platzhaltervariante geht aber nicht mehr bei den beiden oberen Varianten. SUMMENPRODUKT bzw. die Matrixformel geben nur dann Werte 0 aus, wenn das Kriterium in N1 exakt mit Einträgen im Datenfeld übereinstimmt.
=SUMMENPRODUKT((F1:F65536="*"&N1)*(A1:A65536=Q1)*(G1:G65536))
führt also zu 0.
Wie bekomme ich die Platzhalternummer da oben eingebaut?
Ich würde gern die stumpfe Variante umgehen, in der ich eine weitere Spalte (K:K) im Datenfeld eröffne, in der (mit FINDEN oder so) nochmal nur der Name aus F:F extrahiert wurde. Wäre schön, wenns da eine wirklich elegante Lösung gäbe.
Beim zweiten Kriterium in Q1 gehts um Datum, hier is alles gut, da Kriterium und Datenfeldeinträge identisch sind.
(zur Info: mit VBA ist das kein Problem, hier kriegt man ja alles gelöst. Leider dauert das Makro (mit allen Beschleunigungstricks) für 50 Namen unanständig lange (2min), mit einer Tabellenfunktion 3sec. - daher dieser UmstiegsversuchLösungsansatz)
Vielmals Danke für
-Durchlesen bis zum Ende
-Verstehen
-Denken
-evtl. Antworten
;-)