Wie im letzten Artikel zu den verschiedenen Bedingungsfunktionen schon angekündigt, geht es heute um ein weiteres „Schmankerl“ in Excel beim Einsatz von Bedingungen.
Es geht um die neue Funktion WENNS.
Auch auf die Gefahr hin, dass sich jetzt gleich viele Leser ärgern:
Diese Funktion ist erst ab Excel-Version 2019 bzw. Microsoft 365 verfügbar. Excel 2016 und Vorgängerversionen können damit leider nichts anfangen.
Das soll uns aber nicht daran hindern, trotzdem einen Blick auf diese interessante Funktion zu werfen.
Die klassische WENN-Funktion und ihre Nachteile
Die seit jeher bekannte WENN-Funktion ermöglicht es, Bedingungen zu definieren und abhängig davon unterschiedliche Werte auszugeben oder Berechnungen anzustellen:
=WENN(Bedingung; Dann-Wert; Ansonsten-Wert)
Im einfachsten Fall also eine klassische Wenn-Dann-Abfrage:
- WENN die Bedingung zutrifft,
- DANN tue dieses,
- ANSONSTEN tue etwas anderes.
Das wahre Leben ist aber nicht immer so einfach. Oftmals muss in einer Formel/Zelle nacheinander eine ganze Reihe von Bedingungen geprüft werden. In der Excel-Praxis werden dazu häufig mehrere WENN-Funktionen ineinander verschachtelt:
- WENN die Bedingung 1 zutrifft,
- DANN tue dieses,
- WENN die Bedingung 2 zutrifft,
- DANN tue jenes,
- WENN die Bedingung 3 zutrifft
- DANN tue …
- ANSONSTEN tue etwas anderes.
Folgende kleine Tabelle zur Berechnung von Kfz-Versicherungsbeiträgen soll das verdeutlichen:
Theoretisch sind seit Excel 2007 Verschachtelungen bis zu 64 Ebenen möglich. Dass dabei schon deutlich früher die Übersicht verloren geht, liegt auf der Hand.
Die zunächst naheliegend erscheinende Lösung per SVERWEIS funktioniert leider nicht und liefert stattdessen sogar ein falsches Ergebnis, wenn die Daten wie in meinem Beispiel absteigend sortiert sind:
Und genau hier schlägt die Stunde von WENNS.
Das Ende der Verschachtelung mit WENNS
Der oben gezeigte Klammerverhau lässt sich in manchen Fällen durch Verweis-Funktionen oder durch eine Kombination mit UND- bzw. ODER-Funktionen (oder durch die WAHL-Funktion) vermeiden oder zumindest etwas eindämmen.
Wesentlich eleganter geht es mit der neuen WENNS-Funktion. Hier lassen sich auf einen Rutsch und ohne unübersichtliche Verschachtelungen nacheinander Bedingungen prüfen:
=WENNS(Bedingung1; Wert falls Bedingung1; Bedingung2; Wert falls Bedingung2;....)
Vorsicht Falle!
Achte unbedingt darauf, dass die Bedingungen in der richtigen Reihenfolge angegeben werden. Die Prüfung erfolgt immer der Reihe nach und endet bei der ersten Bedingung, die wahr ist. Insbesondere, wenn mit Vergleichsoperatoren gearbeitet wird (größer, kleiner, größer/gleich, kleiner/gleich), kann es hier sonst schnell zu unerwünschten Ergebnissen kommen.
Ein Standardergebnis definieren
Anders als bei der normalen WENN-Funktion gibt es bei WENNS kein Standardergebnis, das für alle anderen Prüfungen ausgegeben wird. Falls also keine der angegebenen Bedingungen wahr ist, gibt Excel den Fehler #NV! aus.
Um das zu vermeiden, gibt man als letzte Bedingung eine Prüfung ein, die immer wahr ist: Also z.B. „1=1“ oder ein logisches WAHR. Und danach den Wert, der ausgegeben werden soll, also z.B. „“ für ein Leerzeichen oder einfach eine Null.
Der im Screenshot gezeigte Wert von 5 schadenfreien Jahren existiert in der Tabelle nicht und somit kommt WENNS ins Stottern. Mit einer zusätzlichen letzten WAHR-Bedingung fangen wir den Fehler ab und geben hingegen den Wert Null aus (auch wenn das im Beispiel sicherlich wenig Sinn macht):
Diese Variante ist immer noch etwas kürzer als verschachtelte WENN-Funktionen und definitiv leichter zu lesen.
FAZIT
Um komplexe Verschachtelungen zu vermeiden, führen – wie so häufig in Excel – viele Wege nach Rom. Wer Office 365 im Einsatz hat, findet mit der hier vorgestellten WENNS-Funktion eine sehr elegante Möglichkeit. Für alle anderen Anwender bleiben neben der normalen WENN-Funktion trotzdem Alternativen, die im Einzelfall aber genau zu prüfen sind (siehe SVERWEIS)
P.S. Die Lösung ist immer einfach. Man muss sie nur finden.
(Alexander Solschenizyn)
P.P.S. Das Problem sitzt meistens vor dem Computer.
Hallo Martin,
wieder mal sehr anschaulich erklärt. Vielen Dank!
Ins Stocken bin ich allerdings doch an einer Stelle gekommen, und zwar bei der Syntax der WENNS-Funktion. Das Wort „falls“ hat mich – gerade im Zusammenhang mit einer WENN-Fkt. – etwas verwirrt. Es liest sich für mich holprig.
Statt „Wert falls Bedingung 1;“ würde ich schreiben „Wert_statt_Bedingung_1;“ Mir wäre dann klarer, dass es sich um EIN Argument in der Funktion handelt, nicht um mehrere. Auch wenn ich weiß, dass die Argumente mit „;“ getrennt werden.
(Meckern auf hohem Niveau – ganz klar)
LG Elke
Schreibfehler!!!
„Wert_falls_Bedingung_1“ natürlich
Hallo Elke,
ja, Du hast Recht, mit dem Unterstrich wird es noch deutlicher, dass es sich immer nur um ein einzelnes Argument handelt. Danke für den Hinweis.
Schöne Grüße,
Martin