3k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo Community,

ich möchte eine zweistufige Berechnung mit derselben Zelle durchführen. Im ersten Schritt soll der Zellwert als Basis für einen Vergleich dienen, im nächsten Schritt soll das Ergebnis dieses Vergleichs von dem Wert in der Zelle abgezogen werden. Wie bekomme ich das hin, ohne einen Zirkelbezug zu generieren?

VG
Sebastian

5 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Sebastian,

dazu brauchst Du entweder ein Makro oder musst in den Optionen von Excel die "Iterative Berechnung" aktivieren.

Von Beiden würde ich Dir jedoch abraten.

Excel hat doch so viele Zellen, dass es schon an Unsinn grenzt, zwei Berechnungen in einer Zelle durchführen zu wollen.

Gruß
Rainer
0 Punkte
Beantwortet von
Hallo Sebastian,

zunächst mal gibt ein "Vergleich" immer True oder False zurück. Das lässt sich nicht abziehen.

Ansonsten kannst du ja mal mit der "Was-wäre-Wenn-Analyse" im Register "Daten" herumspielen. Am leichtesten ist dabei die Zielwertsuche. Damit gibst du einer Formel, die sich auf den Basiswert bezieht ein Ergebnis vor und der Basiswert wird entsprechend angepasst. In Excel 2000/2003 findest du diese Funktion (glaube ich) im Menüpunkt Extras.
0 Punkte
Beantwortet von
Der Zellwert selber soll als Basis für einen Vergleich dienen. Also wenn der Wert meinetwegen größer als 100 ist, dann sollen 20 addiert werden, kleiner 100 => 20 abziehen. Geht sowas überhaupt in einer Zelle? Quasi iterativ?
0 Punkte
Beantwortet von computerschrat Profi (33.3k Punkte)
Hallo Sebastian,

die Gleichung als Basis für deine Berechnung aus #3 ist einfach:
=WENN(A1>100;A1+20;A1-20)
Mit der Ausgangszelle A1. Wenn aber das Ergebnis wieder in Zelle A1 geschrieben werden soll, hast du nun mal den Zirkelbezug. Ohne Makro läme noch das Problem hinum dass in Zelle A1 ja genau die Gleichung stehen müsste. Wo soll dann der Ausgangswert hingeschrieben werden? Wenn du ihn in A1 schreibst, ist die Formel weg.

Also geht es nur mit einem Makro. Das Makro nimmt den aktuellen Inhalt von A1, macht den Vergleich, addiert/subtrahiert die 20 und legt das Ergebnis dann wieder in A1 ab. Dabei wäre es äusserst sinnvoll, für die Berechnung eine andere Zelle als Zwischenspeicher zu benutzen, wie Rainer in #1 schon gesagt hat. Zusätzlich musst du natürlich das Makro von Hand starten, nachdem du einen neuen Startwert in A1 abgelegt hast.

Wenn das Ganze im Sinne einer Iteration laufen soll, ist das Ergebnis klar. Ist der Startwert > 100, divergiert die Folge nach +Unendlich (es kommen ja immer 20 dazu). Bei einem Startwert <= 100 geht es schnell in 20er Schritten nach -Unendlich.
Solltest du die Abfrage umkehren, also bei Werten über 100 die 20 subtrahieren, ansonsten 20 addieren, wird das Ergebnis irgendwann um die 100 herum mit zwei Werten im Abstand 20 alternieren, aber (bei dieser Rechenvorschrift) nie gegen einen Endwert konvergieren.

Gruß
computerschrat
0 Punkte
Beantwortet von
Hallo Sebastian,

wie Rainer bereits schrieb, musst du dazu die Iterative Berechnung aktivieren. Datei -> Optionen -> Formeln -> Iterative Berechnung. Setze den Maxmiumwert auf 1

Nun nimmst du die Formel von Computerschrat und ergänzt sie um +B1

In B1 schreibst du einen ersten Basiswert+40 z.B. 140 damit in A1 100 steht.

Lösche nun den Wert in B1 wieder um deine Iterative Berechnung zu starten.

Nachteil: Bei jeder Änderung in einer beliebigen Zelle wird die Berechnung ausgelöst. Möchtest du das nicht, kannst du auch in den gleichen Optionen auf manuelle Berechnung umschalten. Dann wird die Zelle A1 nur bei Betätigen von F9 aktualisiert.

Gruß Mr. K.
...