Excel: WENN-Funktion geht nicht?


24.09.2021, 10:52

SORRY Falsches Bild!!!!!

DAS HIER ist das gemeinte Bild:

9 Antworten

Du solltest bedenken, dass ISTLEER eine Funktion ist und dementsprechend benutzt wird, indem man die zu überprüfende Zelle einsetzt. Also wenn man prüfen möchte, ob C4 leer ist, sollte man ISTLEER(C4) verwenden, nicht C4 = ISTLEER. Stattdessen könntest du auch C4 = "" prüfen. Ein logisches Und macht man auch nicht mit & sondern mit der UND-Funktion.

Evtl. würde ich aber eher mit ANZAHL (oder ANZAHL2) arbeiten.

Wenn B4*C4 nur dann berechnet werden soll, wenn B4 nicht-leer und C4 nicht-leer ist, könnte man beispielsweise verwenden:

=WENN(UND(NICHT(ISTLEER(B4)); NICHT(ISTLEER(C4))); B4*C4;"")
=WENN(NICHT(ODER(ISTLEER(B4); ISTLEER(C4))); B4*C4;"")
=WENN(ODER(ISTLEER(B4); ISTLEER(C4)); ""; B4*C4)
=WENN(ODER(B4=""; C4=""); ""; B4*C4)
=WENN(UND(B4<>""; C4<>""); B4*C4; "")
=WENN(ANZAHL(B4:C4)=2;B4*C4;"")

Bild zum Beitrag

 - (Computer, Mathematik, Microsoft)
Es geht um eine Liste, wo ein Name einer Ware (unrelevant), der Stückpreis und die Anzahl eingegeben werden muss. Der Gesamtpreis soll dann berechnet werden.
Wenn ich einfach nur zB B3*C3 hinschreiben würde, ständen überall Nullen.
Deshalb habe ich gedacht ich nehme die WENN-Funktion.
Wenn die Felder von Stückpreis und Anzahl leer sind, soll auch nichts beim Gesamtpreis stehen.
Allerdings meldet mir Excel einen Syntaxfehler. Kann mir bitte jmd. sagen wie es richtig geht.

Erst einmal brauchst Du hier kein "UND" sondern ein "ODER". Denn Du willst ja das Du kein Ergebnis bekommst, wenn C4 leer ist ODER B4 leer ist. Denn Du kannst das Ergebnis nur berechnen, wenn beide Felder auch gefüllt sind.

Bei "UND" müssen so wie Du es verwendest aber beide Zellen (C4 und B4) leer sein, damit kein Ergebnis berechnet wird.

Da hast Du also einen Logikfehler (UND und ODER verwechselt).

Und dann ist Deine Formel falsch aufgebaut, Excel kann mit der Formulierung "B4 <> C4 = ISTLEER" nichts anfangen. Die macht so einfach keinen Sinn.

Dazu kommt, das sowohl UND als auch ODER Funktionen sind, die etwas ausrechnen was dahinter in Klammern steht. So wie auch die WENN-Funktion.

Und ob die Zelle leer ist, das kannst Du auch ermitteln indem Du schreibst Zelle="" bzw. Zelle<>"". Dafür brauchst Du kein ISTLEER. Das macht es einfacher.

Das bedeutet zusammengefasst:

Aussen brauchst Du eine WENN-Funktion. Und in der Berechnung des Wahrheitswertes (dem ersten Teil in der Klammer der WENN-Funktion) musst du dann eine ODER-Funktion (wieder mit Klammern dahinter und darin die beiden Vergleiche) verwenden.

=WENN(ODER(erster-Vergleich; zweiter-Vergleich); dann-mache-dies; sonst-mache-das)

In Deinem konkreten Fall wäre das dann:

=WENN(ODER(B4="";C4="");"";B4*C4)

Wenn B4 leer ist oder C4 leer ist, dann schreibe "nichts" in das Ergebnisfeld, sonst schreibe das Ergebnis aus B4*C4 in das Ergebnisfeld.

Woher ich das weiß:Studium / Ausbildung – Ich bin seit über 30 Jahren in der IT tätig.

Wenn ich einfach nur zB B3*C3 hinschreiben würde, ständen überall Nullen.

Du darfst das Gleichheitszeichen nicht vergessen und musst =B3*C3 schreiben.

Wenn die Felder von Stückpreis und Anzahl leer sind, soll auch nichts beim Gesamtpreis stehen.

Wenn ein Feld oder beide Felder leer sind, kommt einfach 0 bzw. 0,00 heraus. Das wäre ja nicht schlimm. Du könntest aber mit einer WENN-Funktion das Ergebnis auf 0 prüfen und wenn ja, dann Leerstelle (" ") ausgeben:

=WENN(B3*C3=0;" ";B3*C3)

=WENN(ODER(B4<>"";C4<>"");B4*C4;"")