![Excel-Formel zum Ändern eines Zellenwerts in einen anderen Wert basierend auf einer dritten Zelle](https://rvso.com/image/1466431/Excel-Formel%20zum%20%C3%84ndern%20eines%20Zellenwerts%20in%20einen%20anderen%20Wert%20basierend%20auf%20einer%20dritten%20Zelle.png)
Um dies zu vereinfachen, hat a1 einen Wert, der sich ändern kann, b1 hat die Formel zum Testen des a1-Werts. c1 wird basierend auf a1 auf einen gewählten Wert zurückgesetzt.
Ich habe eine Tabelle, in die Benutzer Werte eingeben können. Ich habe ein Listenfeld in a1, in dem sie „Zurücksetzen“ auswählen können. Ich möchte, dass die Tabellenwerte auf 0 geändert werden, um die Tabelle zu „löschen“, damit Benutzer dann neue Werte eingeben können.
Ich habe versucht, dies mit einer einzelnen Zelle zu testen, wie oben beschrieben. Die Formel, die ich in b1 eingab
=if(a1="RESET",(c1=0),c1)
Dadurch wird der Wert c1 nicht geändert, sondern c1=0 wird in den Testteil von „if then“ aufgenommen.
das Problem ist, dass wir keine Makros oder VB-Code verwenden dürfen, weil dieser dort gespeichert ist, sodass ich gezwungen bin, Formeln zu verwenden.
war das klar genug?
Antwort1
Eine Formel kann kein anderes Ziel ändern. Sie benötigen zwei Formeln
B1 -=IF(A1="RESET",1,0)
C1 -=IF(B1>0,"woohoo",0)
Wenn der Sinn der Übung darin besteht, in B1 nur eine Formel zu haben, weil Benutzer C1 ändern können, um die Formel zu entfernen, ist dies nicht möglich.
Antwort2
Aus Ihrer Beschreibung geht nicht hervor, welche Zelle von der anderen abhängig sein soll, aber wenn ich die Anforderungen richtig verstehe, ist das, was Sie tun möchten, nicht ohne VBA oder einen zusätzlichen manuellen Schritt möglich.
Wie Raystafarian beschreibt, können Sie eine Zelle nicht durch eine Formel in einer anderen Zelle ersetzen. Eine Zelle kann jedoch auch nicht sowohl eine Formel als auch einen Wert enthalten. Wenn Sie eine Formel in B1 oder C1 haben und dort dann einen Wert eingeben, geht die Formel verloren, sodass dies nur einmal funktionieren würde.
Ihre Formel impliziert, dass die Eingabe in C1 erfolgen soll, da dies in B1 angezeigt wird, und A1 den in B1 angezeigten Wert ändert, 0
wenn A1="RESET". Ohne VBA kommen Sie Ihrer Beschreibung wahrscheinlich am nächsten, wenn Sie Folgendes sagen:
- Geben Sie in C1 neue Werte ein und ersetzen Sie die vorherigen Werte.
- B1 könnte enthalten:
=IF(A1="RESET",0,C1)
.
Damit wird erreicht, was Ihre Formel beschreibt. B1 würde als Anzeigeort in der Tabelle dienen und anzeigen, dass ein neuer Wert erforderlich ist, der Wert würde jedoch in C1 eingehen.
Sofern sich A1 jedoch nicht ändert, wird es weiterhin enthalten RESET
, sodass eine Änderung des Werts in C1 nicht dazu führt, dass B1 den neuen Wert anzeigt. A1 müsste ebenfalls geändert werden, aber diese Anforderung würde ohne VBA oder manuelles Eingreifen einen Zirkelverweis erzeugen. Sie benötigen etwas, das die Eingabe des neuen Werts erkennt und eine Änderung in A1 auslöst. Diese Art von Aktion erfordert VBA oder eine manuelle Änderung von A1 durch den Benutzer, nachdem der neue Wert zur Anzeige in B1 bereit ist.