Cette fonction mappe chaque valeur des tableaux fournis à une nouvelle valeur en appliquant une fonction LAMBDA
à chaque valeur.
Exemple d'utilisation
MAP(A1:A5; LAMBDA(cellule; cellule*2))
: fonction MAP
avec plage en entrée.
MAP(A1:A5; B1:B5; LAMBDA(cellule1; cellule2; MAX(cellule1; cellule2)))
: fonction MAP
avec plusieurs plages en entrée.
MAP(UNIQUE(A1:A10); LAMBDA(nombre; nombre+1))
: fonction MAP
avec un tableau en entrée.
Syntaxe
MAP(tableau1; [tableau2; ...]; LAMBDA)
tableau1
: tableau ou plage à mapper.tableau2; …
: [FACULTATIF] tableaux ou plages supplémentaires à mapper.LAMBDA
: fonctionLAMBDA
mappée à chaque valeur des tableaux donnés pour obtenir une nouvelle valeur mappée.- Syntaxe :
LAMBDA(nom1; [nom2; …]; expression_de_formule)
- Conditions requises :
- Le
LAMBDA
doit comporter exactement 1 argumentnom
pour chaque tableau transmis, ainsi qu'uneexpression_de_formule
utilisant ces noms. LorsqueLAMBDA
est appliqué, les noms sont résolus avec les valeurs actuelles mappées dans les tableaux transmis.
- Le
- Syntaxe :
Notes
-
La fonction
LAMBDA
transmise doit accepter exactement le même nombre d'argumentsnom
que le nombre de tableaux d'entrée transmis àMAP
, sinon une erreur#N/A
s'affiche. Ces arguments correspondent aux valeurs des tableaux d'entrée qui sont mappés avec une nouvelle valeur. -
Les valeurs des tableaux d'entrée doivent correspondre à une seule valeur. Les résultats en tableaux de valeurs mappées ne sont pas acceptés.
- Une
fonction nommée
peut être transmise pour le paramètreLAMBDA
et se comporte comme unLAMBDA
dans ce cas. En savoir plus sur les fonctions nommées- Le nombre d'espaces réservés pour des arguments définis doit correspondre au nombre de tableaux d'entrée transmis à
MAP
. - La
fonction nommée
ne doit pas être suivie de parenthèses.
- Le nombre d'espaces réservés pour des arguments définis doit correspondre au nombre de tableaux d'entrée transmis à
Exemples
Multiplication par deux simple avec MAP
Exemples de données :
A |
B |
C |
D |
|
---|---|---|---|---|
1 |
1 |
2 |
||
2 |
3 |
4 |
||
3 |
2 |
4 |
||
4 |
6 |
8 |
Exemple : saisissez cette formule dans C3
:=MAP(A1:B2; LAMBDA(cellule; cellule*2))
.
Mapper les valeurs séparées par une virgule avec des codes SKU avec trait d'union
Exemples de données :
A |
B |
|
---|---|---|
1 |
Jeans,Noir,XL |
Jeans-Noir-XL |
2 |
Shorts,Marron,S |
Shorts-Marron-S |
3 |
Tshirt,Rouge,L |
Tshirt-Rouge-L |
4 |
Jupe,Rose,M |
Jupe-Rose-M |
Exemple : saisissez cette formule dans B1:
=MAP(A1:A4; LAMBDA(article; JOIN("-"; SPLIT(article; ","))))
Mapper plusieurs plages d'entrée avec la valeur maximale de chaque ensemble de données
Exemples de données :
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 |
Exemple : =MAP(A1:B3; D1:E3; G1:H3; LAMBDA(valA; valB; valC; MAX(valA; valB; valC))
Résultat :
A |
B |
|
---|---|---|
1 |
42 |
21,2 |
2 |
39,2 |
21,2 |
3 |
41,1 |
18,1 |
Utiliser une fonction nommée en tant que LAMBDA pour compter les cellules contenant des nombres
Exemples de données :
A |
B |
C |
|
---|---|---|---|
1 |
30 ans sinon rien |
2 Fast 2 Furious |
12 hommes en colère |
2 |
Eternal Sunshine of the Spotless Mind |
Miracle sur la 34ᵉ rue |
Le Fabuleux Destin d'Amélie Poulain |
Fonction nommée : CONTIENT_NOMBRE
est une fonction nommée
qui vérifie si la valeur de chaîne donnée contient un nombre.
Définition de la formule : =ARRAYFORMULA(OU(ESTNUM(SPLIT(cellule; " "))))
, où la cellule est un espace réservé pour un argument défini pour CONTIENT_NOMBRE
.
Exemple : =NB.SI(MAP(A1:C2; CONTIENT_NOMBRE), true)
Résultat
3 |
Erreurs courantes
Les dimensions des tableaux d'entrée ne correspondent pas.Si les dimensions des tableaux d'entrée ne correspondent pas, cette erreur se produit :
"Les arguments de tableau de la fonction MAP ne sont pas de la même taille."
Exemple : =MAP(C1:C4; D1:D2; LAMBDA(x; x+1))
Dans cet exemple, le tableau C1:C4
ne correspond pas à la taille du tableau D1:D2
.
Si l'argument LAMBDA
transmis n'a pas exactement le même nombre d'arguments nom
que le nombre de tableaux d'entrée transmis à MAP
, cette erreur se produit :
"Nombre d'arguments incorrect pour appeler la fonction LAMBDA suivante. Elle nécessite 3 arguments, mais vous en avez indiqué 2.
Exemple : =MAP(C1:C4; D1:D4; LAMBDA(cellule; cellule+1))
Dans cet exemple, LAMBDA
n'a reçu qu'une seule cellule d'argument nom
, même si nous avons transmis 2 tableaux à MAP
.
Si le dernier paramètre de MAP
n'était pas un LAMBDA
, cette erreur se produit :
"L'argument doit être un LAMBDA."
Exemple : =MAP(C1:C3; 3)
Si un ou plusieurs arguments nom
ne sont pas valides, l'erreur suivante se produit :
"Le nom de l'argument 1 de la fonction LAMBDA n'est pas valide."
Exemple : =MAP(C1:C3; LAMBDA(C1; C1+1))
Dans cet exemple, C1
n'est pas un nom
valide, car il entre en conflit avec une plage.
Si l'application de LAMBDA
aux tableaux d'entrée mappe chaque valeur avec plusieurs valeurs ou un autre tableau, cette erreur se produit :
"Valeur unique attendue. Les résultats en tableaux imbriqués ne sont pas compatibles."
Exemple : =MAP(E1; LAMBDA(mot; SPLIT(mot; " "))
Dans cet exemple, nous essayons de mapper le texte de la cellule avec un tableau de mots.
Fonctions associées
- Fonction LAMBDA : cette fonction permet de créer et de renvoyer une fonction personnalisée avec un ensemble de
noms
et uneexpression_de_formule
qui les utilise. - Fonction REDUCE : cette fonction réduit un tableau à un résultat cumulé.
- Fonction BYROW : cette fonction regroupe un tableau par lignes.
- Fonction BYCOL : cette fonction regroupe un tableau par colonnes.
- Fonction SCAN : cette fonction analyse un tableau et génère des valeurs intermédiaires.
- Fonction MAKEARRAY : cette fonction crée un tableau calculé aux dimensions spécifiées.
- Créer et utiliser des fonctions nommées : cette fonction permet aux utilisateurs de créer et de stocker des fonctions personnalisées, semblables à
LAMBDA
.