Matrixformel mit mehreren Bedinungen möglich?
Hallo,
habe einen wenn-Abfrage mit mehreren Bedinungen:
=WENN(UND(LÄNGE(Quelle!$D6)=18;LINKS(Quelle!$D6;12)=$E4);Quelle!$E6*1;0)
Diese Wenn-Formel würde ich jetzt gern in eine Matrixformel mit Summenbildung überführen, dann scheint aber die Wenn-Abfrage nicht mehr zu funktionieren:
={summe(WENN(UND(LÄNGE(Quelle!$D6)=18;LINKS(Quelle!$D6;12)=$E4);Quelle!$E6*1;0))}
Kann man das in einer Matrixformel gar nicht machen? - und was gibt
es noch für Lösungsansätze?
Vielen Dank für Antworten.
Gruß
Jörg.
Antwort schreiben
Antwort 1 von Saarbauer vom 02.09.2020, 14:33 Options
Hallo,
mir ist nicht klar wofür du die Matrixformelnutzen willst, da sich alles nur auf die Werte in Zelle D6 und E6 bezieht.
Müsste so funktionieren
=WENN(UND(LÄNGE(Quelle!$D6)=18;LINKS(Quelle!$D6;12)=$E4);Quelle!$E6;0)
Gruß
Helmut
Antwort 2 von jschade vom 02.09.2020, 14:45 Options
Tschuldigung - stimmt
die Matrixformel bezieht sich natürlich auf eine Bereich:
={summe(WENN(UND(LÄNGE(Quelle!$D6:$D100)=18;LINKS(Quelle!$D6:$D100;12)=$E4);Quelle!$E6:$E100*1;0))}
also:
wenn Länge Wert Spalte D = 18
UND
die ersten 12 Zeichen links mit dem Prüfwert E4 übereinstimmen
DANN
soll er den Wert mit in der Summe berücksichtigen, sonst nicht (=0)
--> dass soll er durch die Matrixformel nach und nach in den Zeilen
6 bis 100 durchführen.
Ich hoffe, jetzt ist es deutlicher?
Gruß
Jörg.
Antwort 3 von rainberg vom 02.09.2020, 14:59 Options
Hallo Jörg,
versuchs mal so.
=SUMMENPRODUKT((LÄNGE(Quelle!$D6:$D100)=18)*(LINKS(Quelle!$D6:$D100;12)=$E4)*(Quelle!$E6:$E100))
Gruß
Rainer
Antwort 4 von Saarbauer vom 02.09.2020, 15:02 Options
Hallo,
die Lösung von @rainberg jätte ich dir auch angeboten.
Gruß
Helmut
Antwort 5 von jschade vom 02.09.2020, 16:28 Options
Hallo Rainer und Helmut,
Eure Lösung verstehe ich nicht - ich will doch eine Summe bilden???
Wäre da nicht Summewenn die richtige Funktion?
Das Zeichen "*" verbindet doch die Argumente logisch mit "UND" - gibt es denn auch eine logischen Verbindung mit "ODER" - so wie bei meinem Beispiel =wenn(und.......) bzw. bei der Verwendung von =wenn(oder(...)?
Werde heute leider keine Zeit haben, das Problem weiter zu verfolgen.
Bis morgen und danke schonmal für die Anregungen.
Gruß
Jörg.
Antwort 6 von rainberg vom 02.09.2020, 16:48 Options
Hallo Jörg,
hast Du die Formel ausprobiert?
Sie bildet die Summe aus den Zeilen des Bereiches E6:E100 der Arbeitsmappe Quelle, deren Kriterien in Spalte D zutreffen.
SUMMEWENN() kannst Du bis Version 2003 nicht verwenden, in Version 2007 könntest Du SUMMEWENNS() verwenden.
Welche Werte stehen denn in Spalte D und welcher Wert in E4?
Gruß
Rainer
Antwort 7 von jschade vom 03.09.2020, 08:11 Options
Guten Morgen,
habe es jetzt mit der guten alten Matrixformel hinbekommen:
={summe(WENN(LÄNGE(Quelle!$D6:$D100)=18;wenn(LINKS(Quelle!$D6:$D100;12)=$E4);wenn(Quelle!$E6:$E100*1;0);0);0)}
Ich muss halt eine Spalten nach Werten durchsuchen, wenn vorher bestimmte Kriterien erfüllt sind und da ich immer noch nicht weiß, wie ich bei Summewenn mehrere Kriterien angeben kann, ist doch o.g. Lösung ganz annehmbar, oder?
Gruß und nochmal danke.
Jörg.
Antwort 8 von jschade vom 03.09.2020, 08:43 Options
Anmerkung:
...... eine gute Frage wäre noch bei welcher Funktion die Performance höher ist
- Matrixformel mit summe(wenn......
- SummeProdukt(....
Jörg.
Antwort 9 von Saarbauer vom 03.09.2020, 08:45 Options
Hallo,
deine Formel
={summe(WENN(LÄNGE(Quelle!$D6:$D100)=18;wenn(LINKS(Quelle!$D6:$D100;12)=$E4);wenn(Quelle!$E6:$E100*1;0);0);0)}
bewirkt das gleiche wie die Formel von @rainberg
=SUMMENPRODUKT((LÄNGE(Quelle!$D6:$D100)=18)*(LINKS(Quelle!$D6:$D100;12)=$E4)*(Quelle!$E6:$E100))
beides sind Matrixformeln, der einzige Unterschied ist, dass Summenprodukt ein Bestandteil der festen Formeln ist
Gruß
Helmut