Calc: Gibt es einen Trick - ohne Skripting?

Hallo,

es geht um Calc: Ein Zelle erhält ständig über DDE neue Zahlen.
Wie kann ich zB. das Maximum sichern?
A1 = DDE(...)
A2 = Max(A1; ??? )

Was muss statt der ??? eingetragen werden?

Wenn ich schreibe:
A2 = Max(A1;A2) kriege ich einen Fehler, verständlich aber lästig :frowning:

Auch einen (exponentiellen) Durchschnitt würde ich gerne so einfach wie möglich berechnen:
exp. Durchschnitt: A3 = (A1 + A3)*0,01 + A3

A3 bzw. A2 in den jew. Formeln wären die vorher gültigen Werte in den jew. Zellen A3 und A2, die für die Berechnung des jew. neuen Wertes benötigt werden!

Gibt es dafür ein Lösung OHNE die Skript-Maschine anwerfen zu müssen?
Vielen Dank,
Gooly

Wenn Du in einer Zelle auf die Koordinate ebendieser Zelle verweist,
wirst Du immer einen Zirkelbezug bekommen.
So etwas kann nicht funktionieren

Gruß

Harry

Naja, es könnte schon funktionieren! Es dann eben kein Zirkelbezug, wenn man die zeitliche Komponente mit berücksichtigt!
Es wäre als eigentlich leicht mit eine tempvar zu programmieren!

Und nachdem, was Google einem erzählt, soll es in EXCEL die Möglichkeit geben, eine Zirkel-Überprüfung abzuschalten.
Gooly

Hallo,

es geht um Calc: Ein Zelle erhält ständig über DDE neue Zahlen.
Wie kann ich zB. das Maximum sichern?
A1 = DDE(...)
A2 = Max(A1; ??? )

Was muss statt der ??? eingetragen werden?

Dazu musst du zuerst Iterationen zulassen (und begrenzen):

"Extras => Einstellungen => Calc => [X] Iterationen" (und ggf.
"Schritte" und "minimaler Änderugnswert" anpassen). Dann kannst Du
schreiben:

A2 = Max(A1; A2)

Allerdings verwende ich lieber folgende Formel:

=WENN(A2+0>=A1; A2; A1)

Auch einen (exponentiellen) Durchschnitt würde ich gerne so einfach wie
möglich berechnen:
exp. Durchschnitt: A3 = (A1 + A3)*0,01 + A3

Ich fürchte, das wird so gar nicht gehen. Durch das Iterationsverfahren
wirst Du da letztendlich immer beim Wert 0 landen.

A3 bzw. A2 in den jew. Formeln wären die vorher gültigen Werte in den
jew. Zellen A3 und A2, die für die Berechnung des jew. neuen Wertes
benötigt werden!

Das geht schon gar nicht; auf den *vorherigen* Wert einer Zelle hast du
keine Zugriff mehr, sobald ein /neuer/ Wert in der Zelle steht.

Abgesehen davon sehe ich da ein Erkennungsproblem, gerade bei der
Durchschnittsberechnung, wenn mehrmals der gleiche Wert aufeinander
folgt. Da müsstest du völlig anders ran gehen.

Aber ich fürchte, auch unabhängig davon fällt mir für das angesprochene
Problem spontan kein erfolgreich erscheinender Lösungsweg ein.

Wolfgang

Hallo,

es geht um Calc: Ein Zelle erhält ständig über DDE neue Zahlen.
Wie kann ich zB. das Maximum sichern?
A1 = DDE(...)
A2 = Max(A1; ??? )

Was muss statt der ??? eingetragen werden?

Dazu musst du zuerst Iterationen zulassen (und begrenzen):

"Extras => Einstellungen => Calc => [X] Iterationen" (und ggf.
"Schritte" und "minimaler Änderugnswert" anpassen). Dann kannst Du
schreiben:

Danke, jetzt klappt's!!

A2 = Max(A1; A2)

Allerdings verwende ich lieber folgende Formel:

> =WENN(A2+0>=A1; A2; A1)

hmm - A2=Max(A2;A1) funktioniert - =WENN(A2+0>=A1; A2; A1) bleibt leer?

Auch einen (exponentiellen) Durchschnitt würde ich gerne so einfach wie
möglich berechnen:
exp. Durchschnitt: A3 = (A1 + A3)*0,01 + A3

Ich fürchte, das wird so gar nicht gehen. Durch das Iterationsverfahren
wirst Du da letztendlich immer beim Wert 0 landen.

Naja, das wäre nicht so wichtig, aber ich dachte mir, wegen des Themas kann man ja mal fragen :slight_smile:

Hallo,

es geht um Calc: Ein Zelle erhält ständig über DDE neue Zahlen.
Wie kann ich zB. das Maximum sichern?
A1 = DDE(...)
A2 = Max(A1; ??? )

Was muss statt der ??? eingetragen werden?

Dazu musst du zuerst Iterationen zulassen (und begrenzen):

"Extras => Einstellungen => Calc => [X] Iterationen" (und ggf.
"Schritte" und "minimaler Änderugnswert" anpassen). Dann kannst Du
schreiben:

Danke, jetzt klappt's!!

A2 = Max(A1; A2)

Allerdings verwende ich lieber folgende Formel:

> =WENN(A2+0>=A1; A2; A1)

hmm - A2=Max(A2;A1) funktioniert - =WENN(A2+0>=A1; A2; A1) bleibt leer?

Kann eigentlich nur sein, wenn und solange die Werte in A1 negativ oder
null sind. Bei mir kommt das nicht vor, daher die vereinfachte Formel
mit dem "+0". Voll ausgeschrieben müsste die Formel eigentlich lauten:

=WENN(A2=""; A1; WENN(A2>=A1; A2; A1))

Das erste WENN ist aber nur genau 1x true, nämlich beim Start ... :-/

Wolfgang