Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Frage zu Performance
#1
Guten Tag allerseits und ein gesundes Jahr 2022 an alle !

Ich habe eine Frage zur Performance eines Sheets - Performance meint: welche Berechnungszeiten sind länger und kosten mehr Rechner-Power.

Excel 365, Windows 10P

Ich habe ein Sheet mit 125 Spalten und unbekannten Zeilen.
Aus den einzelnen Spalten werden diverse Auswertungen gezogen, teils einfache SUMME, aber auch SUMMEWENN(s) mit diversen Kennzahlen aus anderen Spalten.

Einziges Problem ist, dass die Anzahl der Zeilen dynamisch ist. Zum Jahresanfang sind es jetzt 489, aber es waren zum 31.12. auch schon ~412000.

Um die Formeln flexibel zu gestalten war die Lösung bisher, einfach von 250.000 Zeilen auszugehen (und erst wenn diese erreicht sind wurde das Sheet geteilt, also quasi eine Kopie erstellt und dort mit 250001 Zeile begonnen - und die Formeln entsprechend auf diese Zellenadressen dann fix einzugeben.

Ich habe das nun dynamisch geändert. Einmal mit dynamischen Bereich (Bereichsnamen vergeben). Funktioniert von den Formeln her (Berechnungen stimmen), aber es dauert gefühlt ewig (teilweise > 3Min) bis das Sheet bei 1 Änderung neu berechnet wurde.

Daraufhin habe ich die dyn. Bereiche verworfen und arbeite mit relativen Adressen

z.B. 
summewenn(indirekt(adresse(11;spalte()))Sadindirekt(adresse($a$5;spalte();"Kriterium";indirekt(adresse(11;spalte()+12)):indirekt(adresse($a$5;spalte()+12)))

 .... $a$5 beinhaltet die letzte gefüllte Zeilennummer, 11 ist die erste Zeilennummer mit Daten ...

Funktioniert hinsichtlich Berechnung ebenfalls, aber auch hier ist die Zeitdauer der Berechnung sehr hoch, aber ca. 20% geringer als mit dyn. Bereichen.

Im Sheet selbst sind ca. 200 solcher diversen Auswertungen enthalten, die zahl ist aber nicht fix, kann also auch mehr werden.

Um eine einigermaßen vergleichbare Messung vornehmen zu können, habe ich das Sheet auf Onedrive gespeichert (lokal gehen die Berechnungen um gut 30% schneller, warum auch immer, da Berechnung immer im lokalen RAM stattfindet).

Meine Fragen:
welche Lösung würden die Profis bevorzugen, primär hinsichtlich der Performance bei Berechnungen ?
gibt es eventuell bei den dyn. Bereichen bessere Methoden als die von mir benutzte ?

ich definiere dyn. Bereiche wie folgt: am Beispiel Spalte H

SQ_MEASURE!$H$11:BEREICH.VERSCHIEBEN(SQ_MEASURE!$H$11;VERGLEICH(" ";SQ_MEASURE!$H:$H;-1)-5;0)

Danke für ein paar gute Tipps !

Mike
Zitieren


Nachrichten in diesem Thema
Frage zu Performance - von mike2022 - 01.01.2022, 20:26
RE: Frage zu Performance - von RPP63 - 01.01.2022, 20:57
RE: Frage zu Performance - von mike2022 - 01.01.2022, 21:11
RE: Frage zu Performance - von RPP63 - 01.01.2022, 21:20
RE: Frage zu Performance - von Flotter Feger - 01.01.2022, 22:57
RE: Frage zu Performance - von mike2022 - 02.01.2022, 04:04
RE: Frage zu Performance - von mike2022 - 06.01.2022, 04:50

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste




Hinweis auf Angebot Excel-Inside - lang    Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden um dein Anliegen zu besprechen.
   Gerne erstellen wir auf dieser Basis ein Angebot.
   Sende deine Anfrage einfach
per E-Mail an anfrage@excel-inside.de


Powerd and supported by Excel-InsideSolutions