← Alle FunktionenDynamische Arrays
MAP mit LAMBDA in Excel
LAMBDA in Excel: eigene Funktionen ohne VBA definieren, Parameter einsetzen, Formeln wiederverwenden und typische Fehler beheben.
Syntax
LAMBDA(parameter1, …, calculation)Beispiel: =MAP(A2:A6,LAMBDA(x,x*2))
Verfügbar in: Excel 2024, Microsoft 365
LAMBDA erstellt aus Parametern und einer Berechnung eine benutzerdefinierte Funktion, die Sie innerhalb einer Formel oder über einen Namen wiederverwenden können. Die Syntax lautet =LAMBDA([parameter1, …], calculation). Bereitgestellt wird sie in Excel 2024 und Microsoft 365.
Wann Sie die Funktion einsetzen
- Über MAP dieselbe Berechnung auf jede Zelle eines Bereichs anwenden, ohne eine Formel nach unten zu kopieren.
- Eine an vielen Stellen wiederholte lange Formel vermeiden, indem Sie sie im Namens-Manager benennen und wie eine integrierte Funktion aufrufen.
- Eine Liste mit einer Logik, die Standardfunktionen nicht bieten, zu einem Ergebnis zusammenfassen, wie REDUCE und SCAN es tun.
Argumente
- parameter1, …. Optionale Namen für die Eingaben, beispielsweise price oder x. Bis zu 253 sind zulässig; jeder wird innerhalb der Berechnung verwendet.
- calculation. Das letzte Argument: die Formel, die die Parameter verwendet und das Funktionsergebnis liefert.
Erklärte Beispiele
Jeden Preis um 20 % erhöhen
| A | B | C |
|---|
| 1 | Price | Qty | Item |
|---|
| 2 | 20 | 3 | Pen |
|---|
| 3 | 15 | 2 | Ink |
|---|
| 4 | 8 | 5 | Pad |
|---|
Formel: E2: =MAP(A2:A4,LAMBDA(p,ROUND(p*1.2,2)))
Ergebnis: wird nach 24, 18, 9.6 ausgegeben
Der Parameter p steht nacheinander für jeden Preis, und MAP gibt pro Preis ein Ergebnis aus.
Eine Regel mit IF
| A | B | C |
|---|
| 1 | Price | Qty | Item |
|---|
| 2 | 20 | 3 | Pen |
|---|
| 3 | 15 | 2 | Ink |
|---|
| 4 | 8 | 5 | Pad |
|---|
Formel: E2: =MAP(A2:A4,LAMBDA(p,IF(p>=15,"High","Low")))
Ergebnis: wird nach High, High, Low ausgegeben
Dieselbe LAMBDA kann eine Entscheidung enthalten; hier kennzeichnet sie Preise ab 15.
Eine Textliste aufbauen
| A | B | C |
|---|
| 1 | Price | Qty | Item |
|---|
| 2 | 20 | 3 | Pen |
|---|
| 3 | 15 | 2 | Ink |
|---|
| 4 | 8 | 5 | Pad |
|---|
Formel: E2: =REDUCE("",C2:C4,LAMBDA(acc,w,acc&IF(acc="","",", ")&w))
Ergebnis: Pen, Ink, Pad
Der Akkumulator acc wächst mit jedem Wort w; ab dem zweiten Wort wird ein Komma ergänzt.
Jetzt ausprobieren
Ändern Sie eine Formel oder einen Wert in der Beispieltabelle und prüfen Sie das Ergebnis.
Formel in F2: =MAP(C2:C4,LAMBDA(x,x*2))
Ergebnis in F2: 240
Fehler und Prüfungen
- #CALC!. Eine allein eingegebene LAMBDA besitzt keine Werte, mit denen sie arbeiten kann. Rufen Sie sie mit Argumenten auf oder übergeben Sie sie an MAP, REDUCE, SCAN, BYROW oder BYCOL.
- #VALUE!. Die Anzahl der Parameter stimmt nicht mit den vom Aufrufer übergebenen Argumenten überein.
- Parametername wird abgelehnt. Ein Parameter darf nicht wie eine Zelle heißen, etwa A1 oder R2C3. Wählen Sie einen aussagekräftigen Namen wie price.
- #NAME?. LAMBDA ist in Excel 2021 und älteren Versionen nicht verfügbar.
- Benannte Version nicht gefunden. Im Namens-Manager angelegte Namen gehören zur jeweiligen Arbeitsmappe; wenn Sie die Formel in eine andere Datei einfügen, sind sie dort nicht vorhanden.
Verwandte Funktionen
Häufige Fragen
- Benötigt LAMBDA VBA?
- Nein. Sie wird vollständig mit Formeln geschrieben; ein Name im Namens-Manager macht sie wie =MYFUNCTION(A2) aufrufbar.
- Was ist der Unterschied zwischen LAMBDA und LET?
- LET benennt Werte innerhalb einer Formel; LAMBDA definiert eine wiederverwendbare Funktion mit eigenen Eingaben.
- Kann eine LAMBDA sich selbst aufrufen?
- Eine benannte LAMBDA kann ihren eigenen Namen aufrufen und damit innerhalb der Rekursionstiefengrenze von Excel rekursiv arbeiten.
Weitere Funktionen aus Dynamische Arrays