Supportnet / Forum / Tabellenkalkulation
Wenn-Formel erweitern
Frage
Hallo,
ich habe eine Tabelle mit mehreren Daten. Ich rechne jeweils 3 Daten zusammen und teile diese durch 3 um den Mittelwert zu bekommen.
Diesen Mittelwert vergleiche ich mit dem Wert des Feldes darüber. Ist dieser Wert gleich, soll das Feld den Wert 0 bekommen, wenn nicht soll es seinen ursprünglichen Wert behalten.
In der nächsten Zeile soll das gleiche geschehen. Das Problem ist aber, dass der vorherige Wert evtl. 0 ist. Jetzt müsste Excel solange nach oben gehen, bis es einen Wert ungleich 0 findet und den mit dem momentanen Wert vergleichen. Ist dieser gleich, dann 0. Ist dieser nicht gleich, dann den Wert.
Meine momentane Formel ist:
=WENN((Daten!A8+Daten!A9+Daten!A10)/3=A3;0;(Daten!A8+Daten!A9+Daten!A10)/3)
Damit überprüfe ich aber nur das vorherige Feld. Ich kann den "Sonst_Wert" zwar mit einer weiteren Wenn-Formel erweitern, aber bei 630 Zeilen wird die Formel zu lang.
Wie muss ich diese Formel erweitern, damit er einen Wert ungleich 0 sucht?
Es hat den Grund, dass die Daten Verbindungsfehler sind, der Wert aber nicht auf 0 zurückgesetzt wird und ich so über mehrere Stunden immer die gleiche Anzahl von Fehlern habe.
Ich hoffe, jemand kann mir helfen
Danke und Gruß
Fahne
Antwort 1 von CaroS
Hallo Fahne,
zur Erweiterung einer WENN-Formel steht was unter Tipps & Tricks -- Tabellenkalkulation:
https://supportnet.de/faqsthread/839
Ansonsten habe ich Deine Konstruktion leider noch nicht ganz verstanden, vor allem nicht, was in Deinem Beispiel die drei Werte A8, A9, A10 mit A3 zu tun haben.
Sind die nächsten Vergleiche
(A9+A10+A11)/3 = A4,
(A10+A11+A12)/3 = A5,
(A11+A12+A13)/3 = A6,
(A12+A13+A14)/3 = A7,
(A13+A14+A15)/3 = A8,
(A14+A15+A16)/3 = A9?
Dann werden die "einfachen" Werte (A8, A9, ... ) irgendwann zu Vergleichswerten?
Ich könnte mir auch vorstellen, dass die Formel (die entweder 0 oder den Durchschnitt ergibt) und damit auch das Ergebnis nicht in A, sondern in einer benachbarten Spalte (z. B. C) steht. Du schreibst aber, dass bei den weiteren Vergleichen evtl. so eine 0 (in Spalte A oder C?) ins Spiel kommt und vergleichst in Deiner Beispielformel mit A3. Tut mir leid, das verstehe ich nicht.
Aber vielleicht löst die Erweiterung der WENN-Formel ja schon Dein Problem.
Gruß,
CaroS
zur Erweiterung einer WENN-Formel steht was unter Tipps & Tricks -- Tabellenkalkulation:
https://supportnet.de/faqsthread/839
Ansonsten habe ich Deine Konstruktion leider noch nicht ganz verstanden, vor allem nicht, was in Deinem Beispiel die drei Werte A8, A9, A10 mit A3 zu tun haben.
Sind die nächsten Vergleiche
(A9+A10+A11)/3 = A4,
(A10+A11+A12)/3 = A5,
(A11+A12+A13)/3 = A6,
(A12+A13+A14)/3 = A7,
(A13+A14+A15)/3 = A8,
(A14+A15+A16)/3 = A9?
Dann werden die "einfachen" Werte (A8, A9, ... ) irgendwann zu Vergleichswerten?
Ich könnte mir auch vorstellen, dass die Formel (die entweder 0 oder den Durchschnitt ergibt) und damit auch das Ergebnis nicht in A, sondern in einer benachbarten Spalte (z. B. C) steht. Du schreibst aber, dass bei den weiteren Vergleichen evtl. so eine 0 (in Spalte A oder C?) ins Spiel kommt und vergleichst in Deiner Beispielformel mit A3. Tut mir leid, das verstehe ich nicht.
Aber vielleicht löst die Erweiterung der WENN-Formel ja schon Dein Problem.
Gruß,
CaroS
Antwort 2 von Fahne
Hallo,
die ursprünglichen Daten kommen aus dem Datenblatt "Daten". Aus diesem Datenblatt werden aus 3 Daten der Mittelwert errechnet und in das aktuelle Datenblatt geschrieben.
Die nächsten Vergleiche sind:
Sind die nächsten Vergleiche
(A11+A12+A13)/3 = A4
(A14+A15+A16)/3 = A5
(A17+A18+A19)/3 = A6
Wenn ich die Formel wie in
https://supportnet.de/faqsthread/839
beschrieben, erweitere, hätte ich bei Zeile 630 ca 90 andere Zellen mit einer Formel belegt. Was natürlich etwas übertrieben ist.
Ich hab als Lösung evtl aber gefunden, dass ich die Ergebnisse in A3 lasse und die Formel in B3 schreibe. Er vergleicht die Daten in Spalte A und schreibt das Ergebniss in B. Die B-Spalte kann ich dann für meine Graphen verwenden. Die Formeln erstellen dauert natürlich, daher weiss ich noch nicht, ob es funktioniert.
Gruß
Fahne
die ursprünglichen Daten kommen aus dem Datenblatt "Daten". Aus diesem Datenblatt werden aus 3 Daten der Mittelwert errechnet und in das aktuelle Datenblatt geschrieben.
Die nächsten Vergleiche sind:
Sind die nächsten Vergleiche
(A11+A12+A13)/3 = A4
(A14+A15+A16)/3 = A5
(A17+A18+A19)/3 = A6
Wenn ich die Formel wie in
https://supportnet.de/faqsthread/839
beschrieben, erweitere, hätte ich bei Zeile 630 ca 90 andere Zellen mit einer Formel belegt. Was natürlich etwas übertrieben ist.
Ich hab als Lösung evtl aber gefunden, dass ich die Ergebnisse in A3 lasse und die Formel in B3 schreibe. Er vergleicht die Daten in Spalte A und schreibt das Ergebniss in B. Die B-Spalte kann ich dann für meine Graphen verwenden. Die Formeln erstellen dauert natürlich, daher weiss ich noch nicht, ob es funktioniert.
Gruß
Fahne
Antwort 3 von CaroS
Hallo Fahne,
tut mir leid, ich würde ja gerne helfen, aber ich hab´s immer noch nicht verstanden.
Klar ist, dass die jeweils 3 Werte in =WENN((Daten!A8+Daten!A9+Daten!A10)/3 aus der Tabelle Daten kommen ... und die Vergleichswerte ... =A3 in der "Auswertungs"-Tabelle stehen und dass die Ergebnisse der WENN-Formel (entweder 0 oder der Durchschnitt) ebenfalls in der "Auswertungs"-Tabelle stehen. So kommen sich Ausgangsdaten (Daten!Ax) und Ergebnisse erstmal nicht in die Quere.
Zwischenfrage: in welchen Zellen, in welcher Spalte stehen die Ergebnisse, haben die Ergebnisse irgendwas mit A3, A4, A5, A6 zu tun? Ich rätsele außerdem immer noch über den ersten Teil. Aus:
ergibst sich, dass das, was hier beschrieben wird, sich in Zelle A4 abspielen muss, dass in Zelle A4 die Formel steht:
=WENN((Daten!A8+Daten!A9+Daten!A10)/3=A3;0;(Daten!A8+Daten!A9+Daten!A10)/3)
Ist das richtig? Das aus Deiner Beschreibung rauszulesen ist schwierig, ich kenne Deine Tabellen nicht! Wenn ja, hat nun die Zelle A4 entweder den Wert 0 oder einen Wert ungleich 0, falls Daten!A8+Daten!A9+Daten!A10)/3 ungleich 0 ist. (- Auch der Durchschnitt könnte ja zufällig mal 0 sein, oder?)
Jetzt zündet es so langsam bei mir. In der nächsten WENN-Formel (in A5 ?), komplett ausgeschrieben =WENN((Daten!A11+Daten!A12+Daten!A13)/3=A4;0;(Daten!A11+Daten!A12+Daten!A13)/3) wird mit A4 verglichen. A4 könnte 0 sein und das scheint dann ein Problem zu sein.
"Mit dem momentanen Wert" (mit was für einem momentanen Wert?) oder mit dem Durchschnitt (Daten!A11+Daten!A12+Daten!A13)/3 ? (Na gut, Du wirst wissen, warum Du nicht mit A4=0 vergleichen willst/kannst/darfst, sondern auf die Suche nach dem nächsthöheren Wert ungleich 0 gehen musst. Könnte aber sein, dass der nicht in A3 (=0), nicht in A2 (=0) und nicht in A1 (=0), sondern erst noch weiter oben zu finden ist. Weiß man´s?
Falls ich jetzt so weit auf der richtigen Fährte bin, dass Dein Hauptproblem darin besteht, für den Vergleich immer einen Wert ungleich 0 zu finden (und zwar den "nächsthöheren" - bezogen auf die Adresse der Zelle und nicht bezogen auf den Wert?), dann kannst Du das mit einer Hilfsspalte lösen.
Du schreibst Deine WENN-Formeln weiter in Spalte A wie bisher (A4, ...), vergleichst aber nicht mit A3, A4, A5, ... , sondern mit B3, B4, B5, ... . (Umgekehrt ginge es auch.)
Die Werte in Spalte B berechnest Du folgendermaßen:
1. den obersten Wert (in B1): =A1
2. alle weiteren Werte nach der Formel (in B2): =WENN(ODER(A2 = ""; A2 = 0); B1; A2). Beim Runterkopieren/runterziehen in B3, B4, ... passt sich die Formel entsprechend an.
Deine WENN-Formeln lauten nun (z. B.):
=WENN((Daten!A8+Daten!A9+Daten!A10)/3=B3;0;(Daten!A8+Daten!A9+Daten!A10)/3)
Ich denke mal, das war´s. War´s das?
Gruß,
CaroS
tut mir leid, ich würde ja gerne helfen, aber ich hab´s immer noch nicht verstanden.
Klar ist, dass die jeweils 3 Werte in =WENN((Daten!A8+Daten!A9+Daten!A10)/3 aus der Tabelle Daten kommen ... und die Vergleichswerte ... =A3 in der "Auswertungs"-Tabelle stehen und dass die Ergebnisse der WENN-Formel (entweder 0 oder der Durchschnitt) ebenfalls in der "Auswertungs"-Tabelle stehen. So kommen sich Ausgangsdaten (Daten!Ax) und Ergebnisse erstmal nicht in die Quere.
Zwischenfrage: in welchen Zellen, in welcher Spalte stehen die Ergebnisse, haben die Ergebnisse irgendwas mit A3, A4, A5, A6 zu tun? Ich rätsele außerdem immer noch über den ersten Teil. Aus:
Zitat:
Diesen Mittelwert vergleiche ich mit dem Wert des Feldes darüber. Ist dieser Wert gleich, soll das Feld den Wert 0 bekommen, wenn nicht soll es seinen ursprünglichen Wert behalten.
Diesen Mittelwert vergleiche ich mit dem Wert des Feldes darüber. Ist dieser Wert gleich, soll das Feld den Wert 0 bekommen, wenn nicht soll es seinen ursprünglichen Wert behalten.
ergibst sich, dass das, was hier beschrieben wird, sich in Zelle A4 abspielen muss, dass in Zelle A4 die Formel steht:
=WENN((Daten!A8+Daten!A9+Daten!A10)/3=A3;0;(Daten!A8+Daten!A9+Daten!A10)/3)
Ist das richtig? Das aus Deiner Beschreibung rauszulesen ist schwierig, ich kenne Deine Tabellen nicht! Wenn ja, hat nun die Zelle A4 entweder den Wert 0 oder einen Wert ungleich 0, falls Daten!A8+Daten!A9+Daten!A10)/3 ungleich 0 ist. (- Auch der Durchschnitt könnte ja zufällig mal 0 sein, oder?)
Jetzt zündet es so langsam bei mir. In der nächsten WENN-Formel (in A5 ?), komplett ausgeschrieben =WENN((Daten!A11+Daten!A12+Daten!A13)/3=A4;0;(Daten!A11+Daten!A12+Daten!A13)/3) wird mit A4 verglichen. A4 könnte 0 sein und das scheint dann ein Problem zu sein.
Zitat:
Das Problem ist aber, dass der vorherige Wert evtl. 0 ist. Jetzt müsste Excel solange nach oben gehen, bis es einen Wert ungleich 0 findet und den mit dem momentanen Wert vergleichen.
Das Problem ist aber, dass der vorherige Wert evtl. 0 ist. Jetzt müsste Excel solange nach oben gehen, bis es einen Wert ungleich 0 findet und den mit dem momentanen Wert vergleichen.
"Mit dem momentanen Wert" (mit was für einem momentanen Wert?) oder mit dem Durchschnitt (Daten!A11+Daten!A12+Daten!A13)/3 ? (Na gut, Du wirst wissen, warum Du nicht mit A4=0 vergleichen willst/kannst/darfst, sondern auf die Suche nach dem nächsthöheren Wert ungleich 0 gehen musst. Könnte aber sein, dass der nicht in A3 (=0), nicht in A2 (=0) und nicht in A1 (=0), sondern erst noch weiter oben zu finden ist. Weiß man´s?
Falls ich jetzt so weit auf der richtigen Fährte bin, dass Dein Hauptproblem darin besteht, für den Vergleich immer einen Wert ungleich 0 zu finden (und zwar den "nächsthöheren" - bezogen auf die Adresse der Zelle und nicht bezogen auf den Wert?), dann kannst Du das mit einer Hilfsspalte lösen.
Du schreibst Deine WENN-Formeln weiter in Spalte A wie bisher (A4, ...), vergleichst aber nicht mit A3, A4, A5, ... , sondern mit B3, B4, B5, ... . (Umgekehrt ginge es auch.)
Die Werte in Spalte B berechnest Du folgendermaßen:
1. den obersten Wert (in B1): =A1
2. alle weiteren Werte nach der Formel (in B2): =WENN(ODER(A2 = ""; A2 = 0); B1; A2). Beim Runterkopieren/runterziehen in B3, B4, ... passt sich die Formel entsprechend an.
Deine WENN-Formeln lauten nun (z. B.):
=WENN((Daten!A8+Daten!A9+Daten!A10)/3=B3;0;(Daten!A8+Daten!A9+Daten!A10)/3)
Ich denke mal, das war´s. War´s das?
Gruß,
CaroS
Antwort 4 von Fahne
Hallo CaroS,
danke Dir für Deine Hilfe. Ich habe vorhin etwas anderes ausprobiert.
In der einen Spalte steht:
=(Daten!A17+Daten!A18+Daten!A19)/3
In der zweiten Spalte habe ich die Formel:
=WENN((Daten!A17+Daten!A18+Daten!A19)/3)=A6;0;(Daten!A17+Daten!A18+Daten!A19)/3-A6)
In der Spalte A lässt er den Mittelwert und so hab ich dort keine 0.
In Spalte B schreibt er entweder eine 0, wenn es gleich ist, oder die Differenz zum vorherigen.
Diese Spalte benutze ich nun für die Auswertungen.
Ich muss jetzt nicht mehr, nach einer Spalte suchen, in der keine 0 steht, da der Mittelwert bleibt.
Eine 0 gibt es beim Durchschnitt nicht, da er den Zähler nicht zurücksetzt und sobald er einmal einen Wert hat, diesen behält, bzw erhöht.
Mein Problem war leider schriftlich etwas blöd zu erklären, weil Du ja auch nicht die Daten hast.
Mit den Daten oder mündlich wäre es einfacher zu erklären gewesen, aber zum Schluss hast Du es ja verstanden. Deine Formel habe ich auch etwas getestet und sie funktioniert.
Dein Verweis im ersten Post mit der benachbarten Spalte hat mir am meisten geholfen. Das war die eigentliche Lösung.
Danke Dir nochmal
Gruß
Fahne
danke Dir für Deine Hilfe. Ich habe vorhin etwas anderes ausprobiert.
In der einen Spalte steht:
=(Daten!A17+Daten!A18+Daten!A19)/3
In der zweiten Spalte habe ich die Formel:
=WENN((Daten!A17+Daten!A18+Daten!A19)/3)=A6;0;(Daten!A17+Daten!A18+Daten!A19)/3-A6)
In der Spalte A lässt er den Mittelwert und so hab ich dort keine 0.
In Spalte B schreibt er entweder eine 0, wenn es gleich ist, oder die Differenz zum vorherigen.
Diese Spalte benutze ich nun für die Auswertungen.
Ich muss jetzt nicht mehr, nach einer Spalte suchen, in der keine 0 steht, da der Mittelwert bleibt.
Eine 0 gibt es beim Durchschnitt nicht, da er den Zähler nicht zurücksetzt und sobald er einmal einen Wert hat, diesen behält, bzw erhöht.
Mein Problem war leider schriftlich etwas blöd zu erklären, weil Du ja auch nicht die Daten hast.
Mit den Daten oder mündlich wäre es einfacher zu erklären gewesen, aber zum Schluss hast Du es ja verstanden. Deine Formel habe ich auch etwas getestet und sie funktioniert.
Dein Verweis im ersten Post mit der benachbarten Spalte hat mir am meisten geholfen. Das war die eigentliche Lösung.
Danke Dir nochmal
Gruß
Fahne

