welche ist die schnellere Formel

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

welche ist die schnellere Formel

Beitrag von clag »

Hallo Leutz

mal eine theoretische Frage zur Arbeitsgeschwindigkeit

wenn in längeren Formeln ein in der Formel errechneter Wert vielfach angewandt wird,
wird dieser Wert immer wieder in der Abarbeitung der Formel neu berechnet ? oder irgendwie gecached?

oder wäre es unter dem Aspekt Arbeitsgeschwindigkeit besser den Wert in einer separaten Zelle zu berechnen
und aus der Formel heraus immer wieder darauf zeigen ?

zB
=WENN(MONATE(C$9;B14;0)=0;C$5;WENN(MONATE(C$9;B14;0)<0;C$5+E$12*MONATE(C$9;B14;0);E$12*MONATE(C$9;B14;0)))
oder
D15=MONATE(C$9;B14;0) und =WENN(D15=0;C$5;WENN(D15<0;C$5+E$12*D15;E$12*D15))

was ist schneller bzw Ressourcen schonender?

bei einer Formel ist es sicher ziemlich egal, aber was ist wenn die sie hundertfach angewendet wird
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: welche ist die schnellere Formel

Beitrag von balu »

Hallo clag,

interessantes Thema. Aber wäre dafür nicht "Setup und Allgemeines" besser gewesen, als hier?
Nun, auch egal. Ich geb dir mal meine persönliche Meinung dazu.
wird dieser Wert immer wieder in der Abarbeitung der Formel neu berechnet ?
Ja, so is es.
Denn woher soll den Calc wissen das der einmal errechnete Wert öfters gebraucht wird, und dadurch "zwischengespeichert" werden soll(muss)? Und ferner fordert ja jede Funktion in einer Formel Calc dazu auf etwas zu machen, oder zu berechnen.

oder irgendwie gecached?
Das wäre wunder schön, wenn dem so wäre. Denn dann könnten so einige Formeln extrem vereinfacht, und übersichtlicher gestalltet werden :D.

oder wäre es unter dem Aspekt Arbeitsgeschwindigkeit besser den Wert in einer separaten Zelle zu berechnen
und aus der Formel heraus immer wieder darauf zeigen ?
So fern es sich nur um einen Wert handelt der immer wieder an anderen Stellen (oder auch öfters in anderen Formeln) benötigt wird, so würde ich generell ja sagen.
Es kommt aber immer auf die jeweilige Situation drauf an. Denn es gibt ja schließlich auch Formelkonstrukte bei denen so etwas nur sehr schwer zu handhaben ist.

Bezogen auf deine Formel, ist deine alternative wirklich zu empfehlen. Und das nicht nur wegen der Arbeitsgeschwindigkeit, sondern auch wegen der Übersichtlichkeit die die lesbarkeit der Formel verbessert. Und wenn Du der Zelle D15 auch noch einen Namen zuordnest, so wird dann die Formel sogar noch verständlicher.
Natürlich unter der voraussetzung dass Du auf Absolute und Relative Zellbezüge achtest, denn sonst gibts "Datensalat" :wink:.

Wie Du ja selber festgestellt hast, macht der wohldurchdachte Aufbau einer Formel sehr viel Sinn. Das Optimieren einer Formel hat also nicht immer etwas mit "schönheit" zu tun, sondern mit der festgestellten Arbeitsgeschwindigkeit. Nur was optimal bedeutet, ist von Situatiuon zu Situation sehr unterschiedlich. Das hatte ich schon so manches mal selber festgestellt, in dem ich die Formel zu sehr optimiert hatte. Sie war dann wohl in meinem Projekt fast universell einsetzbar, aber die Arbeitsgeschwindigkeit ging nicht nur in den Keller, sondern noch viiiiel tiefer. Also hieß es wieder zurück optimieren :? .
bei einer Formel ist es sicher ziemlich egal
Würd ich nicht so sagen. Auch da macht es schon Sinn.


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: welche ist die schnellere Formel

Beitrag von clag »

Hallo Balu,

Danke für deine ausführliche Antwort,
da werde ich in Zukunft wohl noch mehr Hilfszellen anlegen .....

Das zuordnen von Namen für bestimmte Werte/Formeln geht mir noch nicht so flüssig von der Hand da muss ich noch dran arbeiten :roll:
Aber ist das nicht eher nur Kosmetik, denn eigentlich wird damit doch ein "Umweg" eingebaut, nämlich zusätzlich die dem Namen zugeordneten Werte ermitteln oder ?

Andererseits kann aber auch ordentlich Platz gespart werden wie man in einem deiner letzten Antworten lesen konnte .... :)
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: welche ist die schnellere Formel

Beitrag von balu »

Hallo clag,
da werde ich in Zukunft wohl noch mehr Hilfszellen anlegen
Grundsätzlich ist es nicht verkehrt. Auch wenn man in Calc sehr viel in eine Formel reinpacken kann, so sind Hilfszellen, oder Hilfsspalten, nicht verkehrt. Das ganze System kann dadurch, je nach größe der Datei, sehr stark entlastet werden. Selbst gemachte Erfahrungen.

Aber ist das nicht eher nur Kosmetik, denn eigentlich wird damit doch ein "Umweg" eingebaut, nämlich zusätzlich die dem Namen zugeordneten Werte ermitteln oder ?
Hier bringst Du etwas durcheinander. Denn ich hatte ja gesagt, dass der Zelle D15 ein Name zugeordnet werden kann. Und nicht der Formel selber, was aber natürlich auch machbar ist. Das sind also zwei grundsätzlich verschiedene Paar Schuhe.

Ein zugeordneter Name, egal ob für Zelle oder für Formel, wird von Calc mit einer sehr hohen oder gleichwertigen Priorität belegt wie für eine fest eingebaute Funktion. Das kannst Du selber überprüfen. Mach mal folgendes.

Weise der Formel

Code: Alles auswählen

MONATE(C$9;B14;0)
beispielsweise den Namen MONATI zu.
Jetzt gibst Du irgendwo in einer Zelle schön langsam =MONATI ein. Du wirst feststellen, dass Du nicht sehr weit kommst und schon schlägt dir Calc nach dem =M die Funktion MAX() vor. Und wenn Du jetzt noch den Buchstaben O eintippst, dann wird dir schon MONATI vorgeschlagen und Du kannst jetzt schon Return drücken und der Name wird übernommen. Und nach einem weiteren Return wird die Zelle abgeschlossen.

Ein bisschen Lektüre zu diesem Punkt.
Namen Für Formeln
Namen Für Zellen
Namen Für Bereiche
Andererseits kann aber auch ordentlich Platz gespart werden
Das schon. Aber man muss auch aufpassen das mahn es nicht zu sehr übertreibt mit den Namen und Formeln, denn sonnst schlägt es ins negative um. Und falls man die Datei als .xls speichert, kann es sogar passieren das Excel streikt weil es dort mehrere Einschränkungen diesbezüglich gibt.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Antworten