Andere Antworten konzentrieren sich auf die Mechanik der Neuberechnung und die Rolle flüchtiger Funktionen, aber ich denke, dass dies einen Teil des Kerns der Frage verfehlt. Es behandelt die angewandten Regeln, aber nicht so sehr das "Warum". Ich werde mich darauf konzentrieren.
Design Konzept
Lassen Sie mich mit einem Entwurfskonzept und den Bausteinen der meisten modernen Kalkulationstabellen beginnen. Es gibt eine "Aufteilung der Verantwortung". Funktionen sind dedizierte Routinen, die eine bestimmte Aufgabe ausführen und jedes Mal ausführen, wenn sie gefragt werden. Davon abgesehen steuert die Tabellenkalkulationsanwendung, wann sie gefragt werden.
Die Funktionen selbst enthalten keine Logik zur Auswahl der Neuberechnung oder Nicht-Neuberechnung. Die Art aller Excel-Funktionen besteht darin, eine Art von Operation auszuführen, wann immer dies ausgelöst wird. Keine Funktion hat ein eigenes "Gedächtnis" für ihren aktuellen Wert oder eine Historie ihrer vergangenen Berechnungen. Es kann nicht festgestellt werden, ob es das erste Mal ist, dass es gebeten wird, seine Arbeit zu erledigen. Daher kann keine native Funktion nur einmal ausgeführt werden. Wenn eine Funktion neu berechnet wird, wird das getan, wofür sie entwickelt wurde, und es wird ein neuer Wert erzeugt.
Die Tabellenkalkulationsanwendung enthält einige Informationen, mit denen Sie Zeit sparen können, indem Sie unnötige Neuberechnungen überspringen (wie in der Antwort von teylyn beschrieben). Die einzige Zeit, in der die Neuberechnung übersprungen wird, besteht darin, dass die Anwendung weiß, dass der Wert der Funktion durch die Änderungen in der Tabelle, die eine Neuberechnung erforderlich machten, nicht beeinflusst wurde.
Was ist, wenn eine Funktion einmal ausgeführt werden muss, um ihren Wert zu erhalten? Nehmen Sie das Beispiel einer Zufallszahl, bei der sich das Ergebnis nicht ändert. Das beschreibt das Erstellen zufällig generierter Konstanten, und das können Sie mit Excel tun.
Excel kann nicht wissen, wie Sie seine Funktionen verwenden möchten. ob Sie weiterhin neue Werte erzeugen oder den letzten Satz beibehalten möchten. Jede Option ist ein Anwendungsfall, den Excel unterstützt. Excel berücksichtigt beide Fälle, indem es Ihnen die Tools zur Berechnung neuer Werte und die Tools zur Beibehaltung alter Werte zur Verfügung stellt. Sie können bauen, was Sie wollen. Der Benutzer ist jedoch dafür verantwortlich, dass er das tut, was er will.
Funktionslogik
Schauen wir uns also die Logik für die Funktion an. Könnte es für die Neuberechnungslogik sinnvoll sein, eine Zufallsfunktion zu überspringen, da ihr Wert nicht durch andere Änderungen in der Tabelle beeinflusst werden sollte?
Ob sich der Wert einer Funktion bei einer Neuberechnung ändert oder nicht, hängt von ihrem Zweck ab und davon, worauf sie basiert. Eine Berechnung mit konstanten Werten führt immer zum gleichen Ergebnis. Eine Operation, die auf Zellenwerten basiert, die sich nicht geändert haben, führt zu demselben Ergebnis.
Einige Funktionen wurden jedoch mit der Absicht und dem Zweck entwickelt, jedes Mal ein anderes Ergebnis zu erzielen. Betrachten Sie zum Beispiel Funktionen, die auf der aktuellen Zeit basieren. Sie erzeugen ein neues Ergebnis basierend auf der Zeit bei der Neuberechnung. Sie können keine Funktion haben, deren Zweck es ist, einen Wert basierend auf der aktuellen Zeit zu erzeugen und ihn nicht aktualisieren zu lassen, wenn er neu berechnet wird.
Das Ziel der Neuberechnungskontrolle ist es, immer den aktuellen Stand der Dinge wiederzugeben, wenn eine Neuberechnung ausgelöst wird. Dieses Kriterium wäre nicht erfüllt, wenn Funktionen, die auf der aktuellen Zeit basieren, nicht aktualisiert würden.
Die "Zufalls" -Funktionen haben wie RANDBETWEEN den Zweck, bei einer Neuberechnung eine neue Zufallszahl zu erzeugen. Das ist, was sie tun sollen. Sie könnten argumentieren, dass die Neuberechnung übersprungen werden könnte, da der Wert nicht durch andere Ereignisse in der Tabelle beeinflusst werden sollte.
Wenn dies das Standardverhalten wäre, würden Sie die Tabelle aktualisieren, aber der Zufallswert würde konstant bleiben. Das ist kein sehr zufälliges Verhalten. Das würde einen Anwendungsfall unterstützen, den anderen jedoch nicht. Zurück zum grundlegenden Designkonzept, es wird wie jede andere Funktion gehandhabt. Das Standardverhalten besteht darin, Excel neu berechnen zu lassen. Wenn Sie den vorherigen Wert für Ihren Anwendungsfall beibehalten möchten, müssen Sie dies mit den verfügbaren Tools tun.