MS Excel: Komplexe Wenn()-Formeln durch Vergleich ersetzen
Vor kurzem hatte ich eine kleine Herausforderung in Excel: Beträge in Spalte C mussten mit negativem Vorzeichen versehen werden, in Abhängigkeit einer Zahl in Spalte B (gelb markiert im Bild). Lösen lässt sich dies per verschachtelter WENN()
Funktion, bei vielen Verschachtelungen wird die Formel aber schnell unübersichtlich und fehleranfällig. Deutlich einfacher und übersichtlicher geht es über eine Mischung aus VERGLEICH()
und ISTNV()
, die ich bei stackexchange gefunden hatte.
=WENN(ISTNV(VERGLEICH([@Unterkonto];unterkonten;0));[@Amount];-1*[@Amount])
- für die Zahlen, die den Vorzeichenwechsel auslösen, habe ich einen benannten Bereich ‚unterkonten‘ festgelegt
VERGLEICH()
schaut, ob ein Wert (der erste Parameter) in einer Liste (zweiter Parameter) vorhanden ist. Wird ein Wert nicht gefunden, wird#NV
zurückgeliefert. Der zweite Parameter kann auch ein benannter Bereich sein.- Um die
#NV
Werte zu behandeln, prüfen wir mitISTNV()
die Rückgabe derVERGLEICH()
Funktion - Die Rückgabe von
ISTNV()
wird dann perWENN()
geprüft. WennISTNV()
WAHR zurückliefert, dann hatVERGLEICH()
das Konto nicht in der Liste gefunden, sonst ist der Werte aus Spalte „Amount“ mit -1 zu multiplizieren.