Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel Performance verbessern
#1
Liebes Forum, 
ich habe eine Excel Datei.  Ein Tab davon sind Rohdaten, eine Tabelle mit >10000 Zeilen und Spalten mit Formeln. Auf diesen Rohdaten bauen verschiedene Pivot-Tabellen auf, die dann wieder ein Dashboard füttern. Mein Problem ist, dass mit steigender Datenbasis die Geschwindigkeit von Excel immer mehr abnimmt. Beispielsweise verlängert sich die Wartezeit, nachdem man in den Slicern eine Auswahl getroffen hat. Nun meine Frage, Excel ist keine Datenbank, welche Möglichkeiten habe trotzdem die Performance zu verbessern? Ich habe versucht die Rohdaten in Powerpivot zu ziehen (als Basis eine die Tabelle aus Excel), aber dadurch habe ich keine merkliche Beschleunigung feststellen können. Eher im Gegenteil, die Slicer fangen dann sogar an bei der Auswahl zu flackern und reagieren schlechter. Die Rohdaten in einer anderen xls zu speichern, auf die dann als Datenbasis für die Pivots zugegriffen wird, hat auch keinen nennenswerten Effekt gebracht. Hat jemand weitere Ideen?
Vielen Dank :100: ! Gruß, Jens
Antworten Top
#2
Hi Jens,

sollte deine Datei aufgrund der Fülle der Daten eventuell recht groß sein, dann speichere sie mal als .xlsb. In der Regel dezimiert sich die Dateigröße erheblich - ich hatte schon eine Reduzierung von ca. 50%. Ein Versuch wär's wert.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#3
Hallo Jens

bleibt abzuwarten was der Vorschlag des Moderator bringt???   Was ist hiermit??  Sind soviele Formeln notwendig??
Kann man einige Daten nicht in Feste Werte umwandeln??  Oder die Daten nur gelegentlich Manuell berechnen lassen?? 

Zitat:mit >10000 Zeilen und Spalten mit Formel

mfg Gast 123
Antworten Top
#4
Hallo Jens,

10tausende von Datensätzen mit einfachen Formeln oder in Pivot-Tabellen sollten für Excel kein Zeitproblem darstellen.

Für Vorschläge die Rechenzeiten deiner Datei zu verkürzen solltest du einmal eine Beispieldatei hochladen.

Hier drei Beispiele für mögliche Beschleunigungen.

1) nicht ganze Spalten als Parameter für Funktionen.
Einige Excelfunktionen prüfen vor der Berechnung nicht wieviel Zeilen wirklich belegt sind, wenn man die ganze Spalte als Parameter übergibt. Sie berechnen dann mehr als eine Million gröstenteils leere Zellen.
"A1:A15000" statt "A:A" kann dann einen Faktor >10 an Geschwindigkeit ausmachen.

2) VBA statt Formeln
Wenn in einigen Spalten Formeln über alle Zeilen des Datenbereiches ausgewertet werden, können die notwendigen Vergleiche schnell sehr gross werden.
Bei 10.000 Datensätzen und einer Spalte mit einer Formel, in der eine andere Spalte ausgewertet wird, hat Excel schon 100.000.000 Vergleiche durchzuführen.
Eine Lösung mit VBA anstatt Formeln kann zwei Vorteile haben:
a) Ich muss häufig programmintern nicht für jede Zelle alle Zeilen auswerten. Ein Beschleunigungsfaktor > 100 ist keine Seltenheit.
b) Excel muss nur dann rechnen, wenn ich das Programm anstosse und nicht bei jeder Änderung eines Eingangwertes.


3) In deinem Fall glaube ich aber, dass du die Funktion HEUTE() ersetzen solltest.

Begründung:
HEUTE() steht hierbei für eine volatile Funktion.
Bei der Auswertung von Pivot-Tabellen arbeitet Excel auf interne Kopien der Rohdaten. Änderung in der Zusammenstellung der Pivot-Tabellen sollten also keine Auswirkungen auf die Formeln der Rohdaten haben.
Es sei denn, die Zellen wissen es nicht (dh.Die Formeln in den Zellen haben volatile Funktionen).
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#5
(05.05.2017, 21:21)JensT schrieb: Beispielsweise verlängert sich die Wartezeit, nachdem man in den Slicern eine Auswahl getroffen hat.
[...]
Ich habe versucht die Rohdaten in Powerpivot zu ziehen (als Basis eine die Tabelle aus Excel), aber dadurch habe ich keine merkliche Beschleunigung feststellen können. Eher im Gegenteil, die Slicer fangen dann sogar an bei der Auswahl zu flackern und reagieren schlechter.
Hier gibt es ein paar interessante Gedanken/Ansätze dazu:
https://powerpivotpro.com/2010/07/slicer...rformance/
https://superuser.com/questions/612394/h...being-load

Power Pivot/Datenmodell ist - soweit ich weiß - die schnellste Möglichkeit. Du solltest überlegen die Formeln-Berechnung von Excel nach Power Pivot zu verlegen.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top


Gehe zu:


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