Excel – Neue Funktion LET am Beispiel eines Verweises

Aufbauend auf dem vorigen Artikel Excel – Vergleich der Möglichkeiten von Verweisen mit Fehler-Handling und Laufzeit-Analyse hier nun eine praktische Vorstellung der Funktion LET.

Egal, ob SVERWEISVVERWEISINDEX + VERGLEICH oder der neue XVERWEIS, alle diese Formeln geben einen Fehler aus, wenn sie keine Übereinstimmung mit dem Suchergebnis finden und sie alle geben eine 0 aus, wenn die Ergebnismatrix keinen Wert enthält. In vielen Auswertungen macht es aber einen großen Unterschied, ob in einer Zelle eine 0 steht oder diese leer ist. Die Verweise liefern jedoch in beiden Fällen als Ergebnis eine 0, was unerwünscht sein kann.

Daher die fiktive Aufgabe:

  • Wird der Suchbegriff nicht gefunden, soll das Wort Error ausgegeben werden
  • Enthält die Ergebnismatrix den Wert 0, soll auch eine 0 ausgegeben werden
  • Enthält die Ergebnismatrix keinen Wert, soll auch das Ergebnis ein leeres Feld sein

Wie im vorigen Artikel zeige ich nun einige Optionen auf, dieses Problem zu lösen. Jede der gezeigten Formeln liefert exakt das gleiche Ergebnis, benötigt aber unterschiedlich viele Schritte dafür. Teilweise muss der identische Verweis mehrfach ausgeführt werden, um zu einem Ergebnis zu gelangen, was natürlich zu Kosten der Gesamtberechnungsdauer geht und bei großen Dateien sehr starke Auswirkungen haben kann.

FormelAnzahl
Funktionen
Anzahl doppelte
Berechnungen
Kompatibilität
=WENN(ISTFEHLER(SVERWEIS(E1;A:B;2;0));"Error";WENN(SVERWEIS(E1;A:B;2;0)="";"";SVERWEIS(E1;A:B;2;0)))63alle Versionen
=WENNFEHLER(WENN(SVERWEIS(E1;A:B;2;0)="";"";SVERWEIS(E1;A:B;2;0));"Error")42ab Version 2007
=WENN(XVERWEIS(E1;A:A;B:B;"Error")="";"";XVERWEIS(E1;A:A;B:B;"Error"))32nur Office 365
=LET(x;XVERWEIS(E1;A:A;B:B;"Error");WENN(x="";"";x))31nur Office 365 ab Version 2102

Wie man sieht, nimmt die Gesamtmenge der einzusetzenden Funktionen ebenso wie die unnötigen Doppelberechnungen kontinuierlich ab. Je neuer die genutzen Funktionen, umso kürzer und effektiver wird auch die Gesamtformel, im Gegenzug sinkt aber auch die Kompatibilität zu älteren Excel-Versionen. Im Austausch mit externen Partnern sollte man das im Blick behalten.

Auf einen Performance-Vergleich verzichte ich an dieser Stelle, im vorigen Artikel hab ich ja bereits aufgezeigt, dass neuer und kürzer nicht zwingend auch mit schneller gleichzusetzen ist.

Die neue Funktion LET ist dabei schnell erklärt: Man definiert immer erst eine Variable und weißt der Variable anschließend einen Wert zu. Das kann man „beliebig“ oft machen (gibt sicher ein Limit), abschließend muss dann noch die eigentliche Formel angegeben werden, deren Ergebnis später auch in der Tabelle ausgegeben werden soll. Auf die bereits definierten Variablen kann man im weiteren Verlauf jederzeit Bezug nehmen.

Ein Beispiel steht schon oben, aber hier nochmal ein ganz einfaches zum besseren Verständnis:

=LET(x;1;y;2;x+y)
=LET(x;1;y;2;z;x+y;x+y+z)

Man kann man dieser neuen Funktion relativ übersichtlich Zwischenberechnungen anstellen, ohne dass ein völlig unleserlicher Formelwulst entsteht oder zig Extraspalten für die Zwischenergebnisse angelegt werden müssen.