Verwendung der Excel LAMBDA-Funktion -

Inhaltsverzeichnis

Zusammenfassung

Die Excel LAMBDA-Funktion bietet eine Möglichkeit, benutzerdefinierte Funktionen zu erstellen, die in einer Arbeitsmappe ohne VBA oder Makros wiederverwendet werden können.

Zweck

Erstellen Sie eine benutzerdefinierte Funktion

Rückgabewert

Wie durch die Formel definiert

Syntax

= LAMBDA (Parameter,…, Berechnung)

Argumente

  • Parameter - Ein Eingabewert für die Funktion.
  • Berechnung - Die Berechnung, die als Ergebnis der Funktion ausgeführt werden soll. Muss das letzte Argument sein.

Ausführung

Excel 365

Verwendungshinweise

In der Computerprogrammierung bezieht sich LAMBDA auf eine anonyme Funktion oder einen anonymen Ausdruck. Eine anonyme Funktion ist eine Funktion, die ohne Namen definiert ist. In Excel bietet die LAMBDA-Funktion eine Möglichkeit, bestimmte Formelfunktionen zu definieren und zu kapseln, ähnlich wie eine Excel-Funktion. Nach der Definition kann eine LAMBDA-Funktion benannt und an anderer Stelle in einer Arbeitsmappe wiederverwendet werden. Mit anderen Worten, die LAMBDA-Funktion ist eine Möglichkeit, benutzerdefinierte Funktionen zu erstellen.

Einer der Hauptvorteile einer benutzerdefinierten LAMBDA-Funktion besteht darin, dass die in der Formel enthaltene Logik nur an einer Stelle vorhanden ist. Dies bedeutet, dass nur eine Kopie des Codes aktualisiert werden muss, wenn Probleme behoben oder Funktionen aktualisiert werden. Änderungen werden automatisch an alle Instanzen der LAMBDA-Funktion in einer Arbeitsmappe weitergegeben. Eine LAMBDA-Funktion erfordert weder VBA noch Makros.

Beispiel 1 | Beispiel 2 | Beispiel 3

Erstellen einer LAMBDA-Funktion

LAMBDA-Funktionen werden normalerweise in der Formelleiste eines Arbeitsblatts erstellt und debuggt und dann in den Namensmanager verschoben, um einen Namen zuzuweisen, der an einer beliebigen Stelle in einer Arbeitsmappe verwendet werden kann.

Es gibt vier grundlegende Schritte zum Erstellen und Verwenden einer benutzerdefinierten Formel basierend auf der LAMBDA-Funktion:

  1. Überprüfen Sie die zu verwendende Logik mit einer Standardformel
  2. Erstellen und testen Sie eine generische (unbenannte) LAMBDA-Version der Formel
  3. Benennen und definieren Sie die LAMBDA-Formel mit dem Namensmanager
  4. Testen Sie die neue benutzerdefinierte Funktion unter Verwendung des definierten Namens

In den folgenden Beispielen werden diese Schritte ausführlicher erläutert.

Beispiel 1

Um zu veranschaulichen, wie LAMBDA funktioniert, beginnen wir mit einer sehr einfachen Formel:

=x*y // multiple x and y

In Excel werden für diese Formel normalerweise folgende Zellreferenzen verwendet:

=B5*C5 // with cell references

Wie Sie sehen können, funktioniert die Formel einwandfrei. Daher können wir mit der Erstellung einer generischen LAMBDA-Formel (unbenannte Version) fortfahren. Das erste, was zu berücksichtigen ist, ist, ob die Formel Eingaben (Parameter) erfordert. In diesem Fall lautet die Antwort "Ja" - die Formel erfordert einen Wert für x und einen Wert für y. Nachdem dies festgelegt wurde, beginnen wir mit der LAMBDA-Funktion und fügen die erforderlichen Parameter für Benutzereingaben hinzu:

=LAMBDA(x,y // begin with input parameters

Als nächstes müssen wir die tatsächliche Berechnung x * y hinzufügen:

=LAMBDA(x,y,x*y)

Wenn Sie an dieser Stelle die Formel eingeben, erhalten Sie eine #CALC! Error. Dies liegt daran, dass die Formel keine Eingabewerte enthält, mit denen gearbeitet werden kann, da keine Zellreferenzen mehr vorhanden sind. Um die Formel zu testen, müssen wir eine spezielle Syntax wie diese verwenden:

=LAMBDA(x,y,x*y)(B5,C5) // testing syntax

Diese Syntax, bei der Parameter am Ende einer LAMBDA-Funktion in einem separaten Satz von Klammern angegeben werden, gilt nur für LAMBDA-Funktionen. Dadurch kann die Formel direkt auf dem Arbeitsblatt getestet werden, bevor der LAMBDA benannt wird. Auf dem Bildschirm unten sehen Sie, dass die generische LAMBDA-Funktion in F5 genau das gleiche Ergebnis wie die ursprüngliche Formel in E5 zurückgibt:

Wir sind jetzt bereit, die LAMBDA-Funktion mit dem Namensmanager zu benennen. Wählen Sie zuerst die Formel aus, * ohne * die Testparameter am Ende. Öffnen Sie als Nächstes den Namensmanager mit der Tastenkombination Strg + F3 und klicken Sie auf Neu.

Geben Sie im Dialogfeld "Neuer Name" den Namen "XBYY" ein, belassen Sie den Bereich auf Arbeitsmappe und fügen Sie die kopierte Formel in den Eingabebereich "Bezieht sich auf" ein.

Stellen Sie sicher, dass die Formel mit einem Gleichheitszeichen (=) beginnt. Nachdem die LAMBDA-Formel einen Namen hat, kann sie wie jede andere Funktion in der Arbeitsmappe verwendet werden. Auf dem Bildschirm unten lautet die heruntergeschriebene Formel in G5:

Die neue benutzerdefinierte Funktion gibt das gleiche Ergebnis wie die beiden anderen Formeln zurück.

Beispiel 2

In diesem Beispiel konvertieren wir eine Formel zur Berechnung des Volumens einer Kugel in eine benutzerdefinierte LAMBDA-Funktion. Die allgemeine Excel-Formel zur Berechnung des Volumens einer Kugel lautet:

=4/3*PI()*A1^3 // volume of sphere

wobei A1 den Radius darstellt. Der folgende Bildschirm zeigt diese Formel in Aktion:

Beachten Sie, dass für diese Formel nur eine Eingabe (Radius) zur Berechnung des Volumens erforderlich ist. Daher benötigt unsere LAMBDA-Funktion nur einen Parameter (r), der als erstes Argument angezeigt wird. Hier ist die in LAMBDA konvertierte Formel:

=LAMBDA(r,4/3*PI()*r^3) // generic lambda

Zurück im Arbeitsblatt haben wir die ursprüngliche Formel durch die generische LAMBDA-Version ersetzt. Beachten Sie, dass wir die Testsyntax verwenden, mit der wir B5 für den Radius einstecken können:

Die Ergebnisse der generischen LAMBDA-Formel sind genau die gleichen wie die ursprüngliche Formel. Im nächsten Schritt müssen Sie diese LAMBDA-Formel wie oben erläutert mit dem Namensmanager definieren und benennen. Der für eine LAMBDA-Funktion verwendete Name kann ein beliebiger gültiger Excel-Name sein. In diesem Fall nennen wir die Formel "SphereVolume".

Zurück im Arbeitsblatt haben wir die generische (unbenannte) LAMBDA-Formel durch die benannte LAMBDA-Version ersetzt und B5 für r eingegeben. Beachten Sie, dass die von der benutzerdefinierten SphereVolume-Funktion zurückgegebenen Ergebnisse genau den vorherigen Ergebnissen entsprechen.

Beispiel 3

In diesem Beispiel erstellen wir eine LAMBDA-Funktion zum Zählen von Wörtern. Excel verfügt zu diesem Zweck nicht über eine Funktion. Sie können jedoch Wörter mit einer Zelle mit einer benutzerdefinierten Formel zählen, die auf den folgenden Funktionen basiert: LEN und SUBSTITUTE:

=LEN(TRIM(A1))-LEN(SUBSTITUTE(A1," ",""))+1

Lesen Sie hier die ausführliche Erklärung. Hier ist die Formel in Aktion in einem Arbeitsblatt:

Beachten Sie, dass wir eine falsche Zählung von 1 erhalten, wenn die Formel eine leere Zelle (B10) erhält. Wir werden dieses Problem unten ansprechen.

Diese Formel erfordert nur eine Eingabe, dh den Text, der Wörter enthält. In unserer LAMBDA-Funktion nennen wir dieses Argument "Text". Hier ist die in LAMBDA konvertierte Formel:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)

Beachten Sie, dass "Text" als erstes Argument angezeigt wird und die Berechnung das zweite und letzte Argument ist. Im folgenden Bildschirm haben wir die ursprüngliche Formel durch die generische LAMBDA-Version ersetzt. Beachten Sie, dass wir die Testsyntax verwenden, mit der wir B5 für Text einfügen können:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)(B5)

Die Ergebnisse der generischen LAMBDA-Formel stimmen mit der ursprünglichen Formel überein. Der nächste Schritt besteht darin, diese LAMBDA-Formel wie zuvor erläutert mit dem Namensmanager zu definieren und zu benennen. Wir werden diese Formel "CountWords" nennen.

Unten haben wir die generische (unbenannte) LAMBDA-Formel durch die benannte LAMBDA-Version ersetzt und B5 als Text eingegeben. Beachten Sie, dass wir genau die gleichen Ergebnisse erhalten.

Die Formel, die im Namensmanager zum Definieren von CountWords verwendet wird, ist dieselbe wie oben, ohne die Testsyntax:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+1)

Behebung des Problems mit leeren Zellen

Wie oben erwähnt, gibt die obige Formel eine falsche Anzahl von 1 zurück, wenn eine Zelle leer ist. Dieses Problem kann behoben werden, indem +1 durch den folgenden Code ersetzt wird:

=LEN(TRIM(B5))-LEN(SUBSTITUTE(B5," ",""))+(LEN(TRIM(B5))>0)

Vollständige Erklärung hier. Um die vorhandene benannte LAMDA-Formel zu aktualisieren, müssen wir erneut den Namensmanager verwenden:

  1. Öffnen Sie den Namensmanager
  2. Wählen Sie den Namen "CountWords" und klicken Sie auf "Bearbeiten"
  3. Ersetzen Sie den Code "Verweist auf" durch diese Formel:

=LAMBDA(text,LEN(TRIM(text))-LEN(SUBSTITUTE(text," ",""))+(LEN(TRIM(text))>0))

Sobald der Namensmanager geschlossen ist, funktionieren die CountWords in leeren Zellen ordnungsgemäß (siehe unten):

Hinweis: Durch einmaliges Aktualisieren des Codes im Namensmanager werden alle Instanzen der CountWords-Formel gleichzeitig aktualisiert. Dies ist ein wesentlicher Vorteil von benutzerdefinierten Funktionen, die mit LAMBDA-Formel-Updates erstellt wurden und an einem Ort verwaltet werden können.

Interessante Beiträge...