Hilfe bei Excel - Wie verschachtelte =WENN-Funktion mit 3 Ergebnissen?
Moin zusammen,
ich habe aktuell folgendes Problem:
Ich möchte in einer Zelle eine Rechnung haben, welche wenn das Ergebnis innerhalb bestimmter werte ist, entweder das Ergebnis anzeigt, 0 anzeigt, oder die Zelle unbeschriftet lässt.
Folgenden Lösungsansatz habe ich ausprobiert:
=WENN(C18>1;WENN(C45-E45>Drucklayout!E21;(C45-E45);0);"")
Wenn C18 größer als 1, dann Wert anzeigen
(Wenn C18 kleiner/gleich 1, dann Zelle leer (""))
Verschachtelt mit folgenden Bedingungen:
Wenn C45-E45 größer als Zelle E21, dann C45-E45
(Wenn C45-E45 kleiner/gleich Zelle E21, dann 0)
Aktuell zeigt er mit dieser Formel leider nur 0 an oder lässt die Zelle Leer ("").
Vielen Dank für eure Hilfe.
Zur Erklärung:
!Drucklayout ist ein anderer Reiter in der Arbeitsmappe
Hier steht in der Zelle 0,10 (alles was unter 0,10 ausgerechnet wird soll als 0,00 angezeigt werden)
Was steht denn in Drucklayout!E21? Ist die Zelle als Zahl formatiert?
In der Zelle steht 0,10 und die Zelle ist als Zahl Formatiert.
4 Antworten
=WENN(C18>1;WENN(C45-E45>Drucklayout!E21;(C45-E45);0);"")
Wenn Du Zahlen/Summen vergleichen willst, ( und 0 oder "" als Ergegbnis haben willst) kannst Du folgendes machen

Ohne die Zellen visuell zu sehen ist es echt anstrengend zu verstehen was du meinst. Falls es wer anderer nicht löst schick mir per PN Screenshots.
Das Drucklayout was das ist keine Ahnung, kenn ich nicht.
Mein Haupttipp ist: Nutz mehrere Zellen für Zwischenberechnungen, versuch nicht alles in eine Formel zu quetschen, da passieren die meisten Fehler - tu es zuerst einzeln aufschreiben und erst danach in eine Formel umschreiben.
Wenn C45-E45 größer als Zelle E21
Ist C45-E45 eine Subtraktion zweier Zellen oder ein Bereich, der SUMME(C45:E45) geschrieben gehört? Ich würde sicherheitshalber auch nochmal eine Klammer darum herummachen oder noch sicherer: die Subtraktion in einer Zelle zuerst ausrechnen und dich dann auf diese Zwischenschritt-Zelle beziehen. Jedenfalls könnte hier ein Fehler stecken.
Troubleshooting
- Ob du dich richtig auf die andere Arbeitsmappe beziehst kannst du auch einzeln mal testen
- Du solltest auch überprüfen ob nicht der Wert einfach 0 ergibt und die Formel sogesehen eh stimmt
- Du kannst überall durch "test-nachtrichten" überprüfen ob eine Wennfunktion überhaupt funktioniert beispielsweise:
WENN(C18>1;"formel funktioniert und C18 ist größer als 1"; WENN(C18=0; "formel funktioniert und C18 entspricht null";"C18 nicht größer 1 oder null wenn das eingetragen dann ein formel fehler"))
- -> so kriegst du ein besseres Gefühl dafür was du eigentlich überhaupt programmierst und wo der Fehler steckt.
Vielen Dank für deine Hilfe.
Ich bin die einzelnen Formeln mal durchgegangen.
Tatsächlich funktioniert die innere Formel nicht:
=WENN((C45-E45)>Drucklayout!E21;(C45-E45);0)
(C45-E45)=0,35 wäre in diesem Fall größer als Drucklayout!E21 mit 0,10.
Leider zeigt er trotzdem 0,00 an.
- Überprüfe mal ob Drucklayout!E21 ansich funktioniert in einer Zelle
- Überprüfe ob der Computer rundet, indem du andere Werte ausprobierst oder indem du die Einstellungen der Zelle überprüfst
- Überprüfe ob alle Felder numerische Einstellungen haben
Die Verknüpfung =Drucklayout!E21 funktioniert.
Alle Zellen sind als Zahl formatiert mit festen Nachkommastellen
selbst wenn ich Drucklayout!E21 durch 0,1 ersetze funktioniert die Formel nicht...
=WENN((C45-E45)<0,1;(C45-E45);0)
Ergebnis 0,35
Angezeigt wird allerdings 0,00
Ist eine Subtraktion innerhalb einer Wenn-Funktion nicht möglich?
Doch die Subtraktion sollte möglich sein. Nimm doch jetzt mal endlich hohe Zahlen und nicht 0,1 wtf. Checkst du nicht dass 0,1 ebenso abgerundet werden würde. Nimm 5 oder 189257125 und schau was passiert. Ändere nicht die Formel, sondern den Zellenwert.
Prüfe es auch in den Einstellungen, ob es gerundet wird.
Sobald wir das ausschließen können, überlegen wir weiter was das Problem sein könnte.
Als ich die Verknüpfung durch 0,10 ersetzt habe hat es bereits funktioniert, ich hatte nur einen Denkfehler.
Das Format der Zelle Drucklayout!E21 stand zwar auf Zahl, war aber irgendwie trotzdem falsch formatiert. Dies wurde in der Formelauswertung deutlich.
Nun habe ich die Zelle neu formatiert und siehe da, es funktioniert :)
Vielen Dank für deine / eure Hilfe!
C45 - E45 = 0,5 - 0,15 = 0,35
Drucklayout!E21 ist 0,1
0,35 > 0,1
Es müsste 0,35 angezeigt werden.
Sind C45 und E45 auch als Zahl formatiert? Keine nichtnumerischen Zeichen in der Zelle vorhanden?
ja, alles als Zahlenformat mit festen Dezimalstellen.
Ich sehe da nichts von wegen C18 Kleiner als 1. Ich sehe nur 2x Größer.
Ich meine das im Sinne der Wenn Funktion:
Wenn C18 >1;(Lösung aus 2. Wenn-Funktion);""
Kann ich mir nicht erklären. Ersetz mal nach und nach die einzelnen Zellreferenzen in deiner Formel durch Konstanten, also statt C45 schreibst du im ersten Schritt 0,5 in die Formel. Dann schaust du, ob es klappt. Dann schreibst du statt E45 0,15 in die Formel.
Du musst dich an den Fehler herantasten. Es ist fast schon nichts anderes denkbar, als dass eine Zelle nicht korrekt als Zahl erkannt wird, weil logisch sehe ich keinen Fehler in der Formel.
Du kannst auch mal schauen, ob dir die Formelüberprüfung weiterhilft.
Formeln → Formelüberwachung → Formelauswertung
Ah cool, die Formelauswertung kannte ich nicht.
tatsächlich hat das den Fehler gezeigt.
Als ich die Verknüpfung durch 0,10 ersetzt habe hat es bereits funktioniert, ich hatte nur einen Denkfehler.
Das Format der Zelle Drucklayout!E21 stand zwar auf Zahl, war aber irgendwie trotzdem falsch formatiert. Dies wurde in der Formelauswertung deutlich.
Nun habe ich die Zelle neu formatiert und siehe da, es funktioniert :)
Vielen Dank für deine / eure Hilfe!
sorry, schwierig zu erklären manchmal wenn man von seinem Wissensstand ausgeht :D, ich habe den Screenshot mal hinzugefügt