WENN
Die Funktion WENN liefert einen von zwei Ergebniswerten, je nachdem, ob ein bestimmter Ausdruck den Booleschen Wert WAHR oder FALSCH ergibt.
WENN(wenn_Ausdruck; wenn_WAHR; wenn_FALSCH)
wenn_Ausdruck: Ein logischer Ausdruck. Das Argument wenn_Ausdruck kann beliebige Werte enthalten, sofern der Ausdruck einen Booleschen Wert liefert. Liefert der Ausdruck als Ergebnis eine Zahl, wird 0 als FALSCH interpretiert und alle anderen Zahlen als WAHR.
wenn_WAHR: Der als Ergebnis ermittelte Wert, wenn das Argument wenn_Ausdruck WAHR ist. Das Argument wenn_WAHR kann einen beliebigen Wert enthalten. Wenn das Argument wenn_WAHR nicht angegeben wird (Semikolon, aber kein Wert) und wenn_Ausdruck den Wert WAHR ermittelt, liefert WENN den Ergebniswert 0.
wenn_FALSCH: Ein optionales Argument, das den Wert angibt, der als Ergebnis ermittelt wird, wenn das Argument wenn_Ausdruck FALSCH ist. Das Argument wenn_FALSCH kann einen beliebigen Wert enthalten. Wenn das Argument wenn_FALSCH nicht angegeben wird (Semikolon, aber kein Wert) und wenn_Ausdruck den Wert FALSCH ermittelt, liefert WENN den Ergebniswert 0. Wird das Argument wenn_FALSCH gar nicht angegeben (kein Semikolon nach wenn_WAHR) und hat das Argument wenn_Ausdruck als Ergebnis den Wert FALSCH, liefert die Funktion WENN den Ergebniswert FALSCH.
Hinweise
Eines der Argumente wenn_WAHR und wenn_FALSCH (oder beide) kann weitere WENN-Funktionen enthalten (dies nennt man verschachtelte WENN-Funktionen).
Beispiele |
---|
=WENN(A5>=0; "Nicht negativ"; "Negativ") hat das Ergebnis „Nicht negativ“, wenn Zelle A5 einen Wert enthält, der gleich 0 (Null) oder größer als 0 (Null) oder nicht numerisch ist. Enthält Zelle A5 einen Wert kleiner als 0, liefert die Funktion den Ergebniswert „Negativ“. =WENN(A5<>0; "Nicht null"; "Null") liefert den Ergebniswert „Nicht null“, wenn Zelle A5 einen Wert enthält, der nicht gleich null (0) ist. Enthält Zelle A5 den Wert 0, liefert die Funktion den Ergebniswert „Null“. =WENN(WENNFEHLER(ODER (ISTGERADE(B4+B5); ISTUNGERADE(B4+B5)); FALSCH); "Nur Zahlen"; "Nicht nur Zahlen") zeigt den Text „Nur Zahlen“ an, wenn die beiden Zellen B4 und B5 Zahlen enthalten; andernfalls wird der Text „Nicht nur Zahlen“ angezeigt. Es wird also geprüft, ob die Summe der beiden Zellen gerade oder ungerade ist. Enthält eine der Zellen keine Zahl, liefern die Funktionen ISTGERADE und ISTUNGERADE einen Fehler und die Funktion WENNFEHLER liefert den Ergebniswert FALSCH. Andernfalls ist das Ergebnis WAHR, da entweder für ISTGERADE oder ISTUNGERADE der Ergebniswert WAHR lautet. Enthält also eine der beiden Zellen B4 oder B5 keine Zahl bzw. keinen Booleschen Wert, liefert die Funktion WENN den für das Argument wenn_FALSCH festgelegten Ausdruck „Nicht nur Zahlen“ und andernfalls den für das Argument wenn_WAHR festgelegten Ausdruck „Nur Zahlen“. |
Beispiele: Vermeiden von Fehlern aufgrund einer Division durch null |
---|
Es kann vorkommen, dass eine Tabelle nicht so eingerichtet werden kann, dass eine Division durch null vermieden wird. Wenn jedoch eine Division durch null erfolgt, wird in der Zelle ein Fehlerwert angezeigt, bei dem es sich in der Regel nicht um das gewünschte Ergebnis handelt. In diesem Beispiel werden drei Methoden beschrieben, wie dieser Fehler vermieden werden kann. Angenommen, die Zellen D2 und E2 enthalten jeweils eine Zahl. Für die Zelle E2 ist auch 0 (Null) zulässig. Du möchtest nun den Wert der Zelle D2 durch den Wert der Zelle E2 dividieren, aber verhindern, dass es dabei zu einer Division durch null kommt. Jede der drei folgenden Methoden ermittelt 0, wenn in der Zelle E2 der Wert 0 enthalten ist. Andernfalls wird das Ergebnis der Division von D2/E2 ermittelt. =WENN(E2=0; 0; D2/E2) analysiert direkt, ob Zelle E2 den Wert 0 enthält. =WENNFEHLER(D2/E2; 0) liefert den Ergebniswert 0, wenn ein Fehler auftritt. Eine Division durch null ist ein Fehler. =WENN(ISTFEHLER(D2/E2); 0; D2/E2) führt eine logische Operation aus, um zu prüfen, ob für D2/E2 der Wert WAHR ermittelt wird. |
Beispiel mit REGEX |
---|
Annahme: Zelle A1 enthält "marina@example.com" =WENN(A1 = REGEX("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2;4})"), "E-Mail-Adresse vorhanden"; "Keine E-Mail-Adresse") liefert das Ergebnis „E-Mail-Adresse vorhanden“. |