Wie bekomme ich diese Excel-Funktion schneller?

... komplette Frage anzeigen

4 Antworten

Hast Du über die Option einer Pivottabelle schon nachgedacht? Die fachliche Logik in der Formel hab ich noch nicht ganz durchdrungen. Aber Filter auf Monat/Jahr sollte gehen, ggf. braucht es für die anderen Kriterien eine Hilfsspalte in der Datenquelle: Da hinterlegst Du die Prüfungen, so dass WAHR oder FALSCH in der Hilfsspalte steht. Die kannst Du in der Pivottabelle als Filterkriterium nutzen

Nur eben beim googeln aufgefallen, aber noch nicht selbst überprüft: Anscheinend ist summewenns performanter als summenprodukt. Die Datumsabfrage in dieser Form wüsste ich aber nicht mit summewenns zu lösen.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DeeDee07
25.11.2016, 18:20

DH!

Soweit ich das sehe, wird in A3 und B3 Jahr und Monat angegeben, für das das Summenprodukt berechnet werden soll. Mit Summewenns könnte man das etwa so machen:

=SUMMEWENNS(Summenbereich; Datumsspalte; ">="& DATUM(A3;B3;1); Datumsspalte; "<="& MONATSENDE(DATUM(A3;B3;1);0))

Damit grenzt man den Kriterienbereich mit Anfangs- und Enddatum eines Monats ein.

2

Du könntest mal versuchen das Semikolon durch ein Mal zu ersetzen, ich glaube aber eher nicht, dass das was bringt für die Performance.
Sonst fällt mir höchstens noch ein, das Ganze über eine Hilfsspalte zu lösen, in der Du schon mal das Produkt der Wahrheitswerte zusammenfasst und dann nur noch diese Hilfsspalte und die Werte mit SUMMENPRODUKT zusammenfasst. Aber auch da bin ich nicht sicher, ob das was bringt.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Funfroc
28.11.2016, 14:14

Habe mich jetzt für die Variante von DeeDee entschieden, da ich so ohne Hilfsspalten arbeiten kann.

Danke trotzdem für den Einsatz deines Hirnschmalzes. :-)

1

So wie ich das einschätze, sind die beiden Datumsfunktionen die jenigen, die das ganze so verzögern. Mach mal zwei Hilfsspalten, in denen Du Jahr und Monat separat rausziehst oder beziehe auch den Tag noch mit ein (ohne Matrixformel),

=JAHR('Gesamtliste'!$H2)=$A3)  und

=MONAT('Gesamtliste'!$H2)=$B3 

Du weisst ja, Formelzelle auswählen, Doppelklick aufs Ausfüllkästchen: Die Formel wird bis zum Ende der Einträge kopiert.

Die Formel kann ruhig so stehenbleiben, Smmenprodukt kannst Du dann auf die Spalten vbeziehen, von denen nur ihre Werte gerechnet werden.

Ich nehme an, dass dieses Herausziehen aus der Matrix die Werte für Summenprodukt schneller verarbeitbar macht.

Datumsfunktionen sind eine riesige Bremse in Matrixformeln, das sie zig Unterschleifen und Verweise ausführen müssen

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Iamiam
25.11.2016, 22:27

Datumsfunktionen sind eine riesige Bremse

Das gilt nicht für zB =Rest(Tageszahl;7), da sind keine Umwege nötig. (Auch Rest(Datum;7) dürfte noch wenig belastet sein, da reicht vermutlich ein Verweis von Datum auf die Zahl in einer Liste mit intern schätzungsweise 80.000 Zeilen und zwei Spalten, und das dementsprechend direkt programmiert.

(da hat sich mal herausgestellt, dass sowas von Intel in der Hardware programmiert geliefert wurde, um Windows konkurrenzlos schnell zu machen, was MS wider besseres Wissen vorher bestritten hatte - und das mit Chips von vor 20 Jahren!).


0

Das schreit nach einer Datenbanklösung!

Günter

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?