La fonction MAP applique une fonction LAMBDA à chaque valeur du tableau entré.

Prérequis : comprendre la fonction LAMBDA.

Utilisation :

=MAP(tableau; LAMBDA)

ou

=MAP(tableau1; tableau2; ...; LAMBDA)


Exemple d'utilisation

L'objectif ici sera de diviser les données en 3 colonnes :

google sheets diviser en colonnes png map

Si vous n'êtes pas sûr, vous pouvez commencer par écrire la formule (sans MAP et LAMBDA) pour une seule donnée et vous assurer qu'elle fonctionne correctement.

Dans ce cas, c'est la fonction SPLIT qui sera utilisée pour diviser les données (dont les 3 parties sont séparées par des ";") :

=SPLIT(A2;";")

google sheets diviser en colonnes fonction split png map

La fonction SPLIT retourne bien les données divisées.

Entrez maintenant la fonction MAP suivi du tableau qui contient les données à traiter :

=MAP(A2:A21

Entrez ensuite la fonction LAMBDA et choisissez un nom de variable (par exemple "donnees") :

=MAP(A2:A21;LAMBDA(donnees

Et pour terminer, ajoutez votre fonction SPLIT et remplacez A2 par la variable "donnees" :

=MAP(A2:A21;LAMBDA(donnees;SPLIT(donnees;";")))

La fonction MAP va alors parcourir le tableau entré (A2:A21) et appliquer la formule de division à chaque valeur du tableau :

google sheets fonctions map lambda split png

Bien sûr, vous auriez aussi pu recopier la première fonction SPLIT vers le bas pour les autres cellules si c'était le résultat final que vous souhaitiez obtenir, et cela aurait été plus simple.

Mais pour aller plus loin, cela vous aurait limité car la fonction MAP retourne un tableau (comme bien d'autres fonctions de Google Sheets) et ce tableau peut être utilisé avec d'autres fonctions.

Pour mieux comprendre, imaginez que vous souhaitez maintenant trier par ordre alphabétique les données générées, entrez simplement la formule avec MAP dans une fonction SORT :

=SORT(MAP(A2:A21;LAMBDA(donnees;SPLIT(donnees;";"))))

google sheets fonctions sort map lambda split png

Vous pourriez même aller encore plus loin et utiliser la fonction QUERY pour obtenir les données pour les entreprises qui se terminent par "LLP" :

=QUERY(SORT(MAP(A2:A21;LAMBDA(donnees;SPLIT(donnees;";"))));"SELECT * WHERE Col3 LIKE '%LLP'")

google sheets fonctions sort map lambda split query png

Et juste pour l'exemple, sachez que vous pouvez appliquer une nouvelle fois la fonction MAP si nécessaire ... Dans ce cas, maintenant que qu'il ne reste que les entreprises avec "LLP", retirons l'information "LLP" en appliquant une nouvelle fonction MAP.

Le tableau à entrer dans la fonction MAP sera celui retourné par la fonction QUERY, suivi d'une nouvelle fonction LAMBDA qui va retirer " LLP" aux données à l'aide de SUBSTITUE :

=MAP(QUERY(SORT(MAP(A2:A21;LAMBDA(donnees;SPLIT(donnees;";"))));"SELECT * WHERE Col3 LIKE '%LLP'");LAMBDA(texte;SUBSTITUE(texte;" LLP";"")))

google sheets fonctions sort map lambda split query substitue png