Diese Funktion ordnet jeden Wert in den gegebenen Arrays einem neuen Wert zu. Dazu wird auf jeden Wert eine LAMBDA
-Funktion angewendet.
Verwendungsbeispiel
MAP(A1:A5; LAMBDA(Zelle, Zelle*2))
: MAP
Funktion mit einem Bereich als Eingabe
MAP(A1:A5; B1:B5; LAMBDA(Zelle1; Zelle2; MAX(Zelle1; Zelle2)))
: MAP
-Funktion mit mehreren Bereichen als Eingabe
MAP(UNIQUE(A1:A10); LAMBDA(Zahl; Zahl + 1))
: MAP
-Funktion mit Array als Eingabe
Syntax
MAP(Array1; [Array2; ...], LAMBDA)
Array1
: Ein Array oder Bereich, das bzw. der zugeordnet werden soll.Array2; …
: [OPTIONAL] Zusätzliche Arrays oder Bereiche, die zugeordnet werden sollen.LAMBDA
: EineLAMBDA
-Funktion, die jedem Wert in den gegebenen Arrays zugeordnet ist, um einen neuen zugeordneten Wert zu erhalten.- Syntax:
LAMBDA(Name1; [Name2; …]; Formelausdruck)
- Voraussetzungen:
- Die
LAMBDA
-Funktion muss für jedes übergebene Array genau einName
-Argument sowie einenFormelausdruck
enthalten, in dem diese Namen verwendet werden. Beim Anwenden derLAMBDA
-Funktion werden die Namen in die aktuellen Werte aufgelöst, die in den übergebenen Arrays zugeordnet werden.
- Die
- Syntax:
Hinweise
-
Die übergebene
LAMBDA
-Funktion sollte genau so vieleName
-Argumente akzeptieren wie die Anzahl der an dieMAP
-Funktion übergebenen Eingabearrays. Andernfalls wird ein#N/A
-Fehler zurückgegeben. Diese Argumente entsprechen den Werten in den Eingabearrays, die einem neuen Wert zugeordnet werden. -
Die Werte in den Eingabearrays sollten einem einzelnen Wert zugeordnet werden. Array-Ergebnisse für zugeordnete Werte werden nicht unterstützt.
- Für den
LAMBDA
-Parameter kann einebenannte Funktion
übergeben werden, die sich in diesem Fall wie eineLAMBDA
-Funktion verhält. Weitere Informationen- Es müssen genau so viele Argumentplatzhalter definiert werden, wie Eingabearrays an die
MAP
-Funktion übergeben werden. - Nach der
benannten Funktion
sollte keine Klammer folgen.
- Es müssen genau so viele Argumentplatzhalter definiert werden, wie Eingabearrays an die
Beispiele
Einfache Verdoppelung mit MAP
Beispieldaten:
A |
B |
C |
D |
|
---|---|---|---|---|
1 |
1 |
2 |
||
2 |
3 |
4 |
||
3 |
2 |
4 |
||
4 |
6 |
8 |
Beispiel: Geben Sie die Formel =MAP(A1:B2; LAMBDA(Zelle; Zelle*2))
in C3
ein.
Kommagetrennte SKU-Codes zuordnen
Beispieldaten:
A |
B |
|
---|---|---|
1 |
Jeans,Schwarz,XL |
Jeans-Schwarz-XL |
2 |
Shorts,Braun,S |
Shorts-Braun-S |
3 |
T-Shirt,Rot,L |
T-Shirt-Rot-L |
4 |
Rock,Rosa,M |
Rock-Rosa-M |
Beispiel: Geben Sie die Formel =MAP(A1:A4; LAMBDA(Element; JOIN("-"; SPLIT(Element; ","))))
in B1
ein.
Dem Maximalwert in jedem Datensatz mehrere Eingabebereiche zuordnen
Beispieldaten:
A |
B |
C |
D |
E |
F |
G |
H |
|
---|---|---|---|---|---|---|---|---|
1 |
38,9 |
17,8 |
42 |
20,2 |
38,6 |
21,2 |
||
2 |
39,2 |
19,6 |
37,8 |
17,1 |
34,6 |
21,2 |
||
3 |
34,1 |
18,1 |
41,1 |
17,6 |
36,6 |
17,8 |
Beispiel: =MAP(A1:B3; D1:E3; G1:H3; LAMBDA(WertA; WertB; WertC; MAX(WertA; WertB; WertC)))
Ergebnis:
A |
B |
|
---|---|---|
1 |
42 |
21,2 |
2 |
39,2 |
21,2 |
3 |
41,1 |
18,1 |
Benannte Funktion als LAMBDA verwenden, um Zellen mit Zahlen zu zählen
Beispieldaten:
A |
B |
C |
|
---|---|---|---|
1 |
30 über Nacht |
2 Fast 2 Furious |
Die zwölf Geschworenen |
2 |
Vergiss mein nicht! |
Freitag der 13. |
No Country for Old Men |
Benannte Funktion: ENTHÄLT_ZAHL
ist eine benannte Funktion
, die prüft, ob der gegebene Stringwert eine Zahl enthält.
Formeldefinition: =ARRAYFORMULA(ODER(ISTZAHL(SPLIT(Zelle; " "))))
, wobei „Zelle“ ein Argumentplatzhalter für ENTHÄLT_ZAHL
ist.
Beispiel: =ZÄHLENWENN(MAP(A1:C2; ENTHÄLT_ZAHL); true)
Ergebnis:
3 |
Häufig auftretende Fehler
Die Dimensionen der Eingabearrays stimmen nicht übereinWenn die Dimensionen der Eingabearrays nicht übereinstimmen, tritt dieser Fehler auf:
„Die Array-Argumente von MAP sind unterschiedlich groß.“
Beispiel: =MAP(C1:C4; D1:D2; LAMBDA(x; x+1))
In diesem Beispiel stimmt das Array C1:C4
nicht mit der Größe des Arrays D1:D2
überein.
Wenn die Anzahl der Name
-Argumente der übergebenen LAMBDA
-Funktion nicht genau mit der Anzahl der Eingabearrays der MAP
-Funktion übereinstimmt, tritt dieser Fehler auf:
„Falsche Anzahl von Argumenten für die LAMBDA-Funktion. 3 Argumente wurden erwartet, aber nur 2 übergeben.“
Beispiel: =MAP(C1:C4; D1:D4; LAMBDA(Zelle, Zelle+1))
In diesem Beispiel wurde für LAMBDA
nur eine Name
-Argumentzelle angegeben, obwohl zwei Arrays an MAP
übergeben wurden.
Wenn der letzte Parameter von MAP
kein LAMBDA
war, tritt dieser Fehler auf:
„Argument muss LAMBDA sein.“
Beispiel: =MAP(C1:C3; 3)
Wenn ein Name
-Argument ungültig ist, tritt dieser Fehler auf:
„Das Argument X der Funktion LAMBDA ist kein gültiger Name.“
Beispiel: =MAP(C1:C3; LAMBDA(C1; C1+1))
In diesem Beispiel ist C1
ein ungültiger Name
, da er mit einem Bereich in Konflikt steht.
Wenn die Anwendung von LAMBDA
auf das/die Eingabearray(s) jeden Wert mehreren Werten oder einem anderen Array zuordnet, tritt dieser Fehler auf:
„Einzelner Wert erwartet. Ergebnisse mit geschachtelten Arrays werden nicht unterstützt.“
Beispiel: =MAP(E1; LAMBDA(Wort; SPLIT(Wort; " ")))
In diesem Beispiel soll der Text in der Zelle einem Array von Wörtern zugeordnet werden.
Ähnliche Funktionen
- LAMBDA-Funktion: Mit dieser Funktion können Sie eine benutzerdefinierte Funktion mit einer Reihe von
Name
-Argumenten und einemFormelausdruck
, der sie verwendet, erstellen und zurückgeben. - REDUCE-Funktion: Diese Funktion reduziert ein Array auf ein kumuliertes Ergebnis.
- BYROW-Funktion: Diese Funktion gruppiert ein Array nach Zeilen.
- BYCOL-Funktion: Diese Funktion gruppiert ein Array nach Spalten.
- SCAN-Funktion: Diese Funktion durchsucht ein Array und generiert Zwischenwerte.
- MAKEARRAY-Funktion: Diese Funktion erstellt ein berechnetes Array mit angegebenen Dimensionen.
- Benannte Funktionen erstellen und verwenden: Mit dieser Funktion können Nutzer benutzerdefinierte Funktionen erstellen und speichern, ähnlich wie
LAMBDA
.