Excel - Zellwert verändern wenn Bedingung erfüllt?

1 Antwort

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.

B1
=wenn(A1=10;(Link zur Datenquelle z.B. B101)*(-1);(Link zur Datenquelle z.B. B101))

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.

Woher ich das weiß:Berufserfahrung – sowohl Beruf als auch Hobby

OnkelWillibrot 
Beitragsersteller
 10.06.2024, 16:46

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..

0
Gipfelstuermer  11.06.2024, 10:14
@OnkelWillibrot

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

0