Excel – Zellwert verändern wenn Bedingung erfüllt?
Hallo!
Ich habe eine Tabelle mit 6 Spalten. In die erste Spalte soll eine Zahl eingetippt werde.
In der 2. bis 6. Zeile stehen bereits Zahlen. Beispiel
? ,45,10, 27, 33,11
Wobei jedes Komma für den Beginn einer neuen Spalte steht.
Das “?” steht in Zelle A1, die 45 in Zelle B1 usw.
Nun wird bei “?” eine Zahl eingetippt. Dies soll nun folgendes bewirken:
jede Zahl, von Spalte 2 bis 6, soll mit dieser Zahl verglichen werden. Falls die Zahl ungleich 10 ist, so soll sie negiert werden. Oder, falls das nicht geht, zu Null gemacht werden.
Beispiel: ? ist die Zahl 10. Dann soll die Reihen werden zu
10,-45,10, -27, -33,-11
Falls das zu kompliziert ist, ginge notfalls auch
10,0,10, 0, 0,0
Kann mir jemand sagen, wie sowas geht?
Da du in allen Fällen die zahlen scheinbar händisch einträgst wirst du um VBA nicht herumkommen, zumindest dann wenn Datenquelle auch gleich Ausgabe sein soll.
Denn du kannst zwar eine Ausgabezelle (Formel) in eine Eingabezeile verwandeln, aber nicht mehr umgedreht.
sind die Zahlen aus B1 bis F1 manuell eingetragen geht es nicht, beziehst du die hingegen aus einer externen Datenquelle könntest du es mittels eines einfachen “Wenn” lösen z.B.
Gibt die die Werte hingegen direkt dort ein, dann geht es nur über VBA, denn VBA kann auch Werte aus B1 auslesen und auf basis dessen neue Werte in B1 wieder eintragen in Excel mit Formeln geht dies nicht, da sonst ein Zirkelbezug vorliegt. Denn Programmiersprachen kennen sowas wie einen Zirkelbezug nicht, dort sind das dann im schlimmsten Fall Endlosschleifen.
Ah, habe ich mir schon gedacht.
Ich habe es jetzt wenn-Funktionen gemacht und eine zweiten Tabelle. Es wird immer ein Wert aus der ersten Spalte er der ersten Tabelle abgeschrieben, wenn dieser Wert gleich dem Eingabewert von “?” ist. Ansonsten wird er zu Null gemacht.
Realisiert sieht das dann so aus
=(WENN($H31=C31;1;0)+WENN($H31=0;1;0))*C31
Deine Lösung finde ich aber auch spannend. Die muss nur erst mal noch verstehen..
ich würde generell empfehlen, niemals in den original Daten Formeln einzubinden, ich arbeite immer mit Datentabellen und “kopiere” mir die im schlimmsten Fall mittel =A1 usw. oder nutze eine spezifische Formel um die Daten zu verarbeiten oder mir nur teile Anzeigen zu lassen =Filter / =sortieren.nach etc.
So bleibt das Ergebnis immer dynamisch und reagiert auf die Originaldaten, wenn da etwas geändert wird