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
welche ist die schnellere Formel
Moderator: Moderatoren
welche ist die schnellere Formel
LG
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: welche ist die schnellere Formel
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.
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.
.
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"
.
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
.
Gruß
balu
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.
Ja, so is es.wird dieser Wert immer wieder in der Abarbeitung der Formel neu berechnet ?
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.
Das wäre wunder schön, wenn dem so wäre. Denn dann könnten so einige Formeln extrem vereinfacht, und übersichtlicher gestalltet werdenoder irgendwie gecached?

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.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 ?
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"

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

Würd ich nicht so sagen. Auch da macht es schon Sinn.bei einer Formel ist es sicher ziemlich egal
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
wehr rächtschraipfähler findet khan si behalden

Re: welche ist die schnellere Formel
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
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 ....
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

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
clag
nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
Re: welche ist die schnellere Formel
Hallo clag,
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 Formelbeispielsweise 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
Gruß
balu
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.da werde ich in Zukunft wohl noch mehr Hilfszellen anlegen
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.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 ?
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)
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
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.Andererseits kann aber auch ordentlich Platz gespart werden
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
wehr rächtschraipfähler findet khan si behalden
