La Fonction MAP dans Google Sheets – Fonction LAMBDA

La fonction MAP dans Google Sheets crée un tableau de données à partir d’une plage d’entrée, où chaque valeur est « mappée » sur une nouvelle valeur basée sur une fonction LAMBDA personnalisée.

MAP prend une plage d’entrée de données de votre feuille, puis effectue une opération sur chaque valeur de cette plage, et place les résultats dans un tableau de sortie de mêmes dimensions que le tableau d’origine.

Voyons un exemple simple pour comprendre comment la fonction MAP fonctionne.

Nous allons transformer un tableau de données en pouces levés pour les valeurs de 5 et plus, et en tête de mort pour les valeurs inférieures à 5. Restez avec moi 😉

Voici le tableau d’entrée :

input Array Google Sheets

Auquel nous appliquons cette formule MAP :

MAP passe chaque valeur à la LAMBDA, qui utilise une fonction IF régulière pour tester si la valeur est supérieure ou égale à 5, et renvoie un pouce levé ou une tête de mort. 

Pour obtenir un tableau de sortie comme celui-ci :

output Array Google Sheets

Si je mets en évidence les valeurs, vous pouvez voir comment MAP évalue chaque valeur par rapport au test et la transforme en pouce levé ou en tête de mort.

Le 9 a été transformé en pouce levé et le 2 en tête de mort.

Bon, ce n’est pas un exemple particulièrement utile, mais c’est une belle illustration de la façon dont fonctionne la fonction MAP.

Il y a d’autres exemples pratiques plus loin dans cet article.

🔗 Retrouvez cet exemple et d’autres dans le modèle en bas de cet article.

Syntaxe de la fonction MAP

Elle prend 2 arguments ou plus :

  • array1 : Il s’agit du premier tableau d’entrée que vous souhaitez mapper dans un nouveau tableau.
  • [array2, …] : Ce sont des tableaux d’entrée supplémentaires facultatifs à utiliser dans l’opération de mappage.
  • lambda : Il s’agit de l’opération de fonction qui sera effectuée sur chaque élément du tableau d’entrée. La fonction LAMBDA doit avoir une variable de substitution pour chaque tableau d’entrée.

Notes sur la fonction MAP

  • La position des éléments dans le tableau n’est pas modifiée par la fonction MAP. Ainsi, l’élément à la position (1,1) sera mappé à la position (1,1).
  • MAP fonctionne également avec des tableaux littéraux. Voyez l’exemple simple qui suit.
  • La fonction MAP dans Google Sheets accepte plusieurs tableaux d’entrée. Les tableaux d’entrée doivent avoir les mêmes dimensions. Chaque tableau d’entrée nécessite une variable dans l’expression lambda.

MAP avec des tableaux littéraux

La fonction MAP accepte des tableaux littéraux, qui sont des tableaux créés avec des accolades { … }.

Par exemple, cette formule utilise une simple fonction LAMBDA pour doubler chaque nombre dans le tableau littéral d’entrée. La sortie dans ce cas est un autre tableau : 2, 4, 6

=MAP({1,2,3},LAMBDA(x, x*2))

La fonction MAP passe chaque nombre dans la fonction LAMBDA à tour de rôle, donc 1 est doublé en 2, 2 est doublé en 4, et 3 est doublé en 6. Les résultats forment un nouveau tableau de même dimension.

Exemple de formule MAP pour la température

Supposons que vous ayez cet ensemble de données, qui affiche les températures moyennes annuelles maximales et minimales pour des endroits en Angleterre :

array in google Sheets

Utilisons MAP pour les convertir en un tableau de températures en Fahrenheit.

Vous pourriez le faire avec des formules régulières ou des formules de tableau, mais ce genre de transformation de tableau est idéal pour la fonction MAP. Vous pouvez effectuer la transformation avec une seule formule, sans avoir besoin d’une formule de tableau.

Voyons comment faire.

Pour commencer, nous utiliserons une fonction REGEXEXTRACT pour extraire les chiffres (et supprimer le °C), où t est la variable de substitution représentant la température d’entrée :

Ensuite, nous convertirons la température en Celsius en une température en Fahrenheit avec la fonction CONVERT :

Ensuite, nous arrondirons cela avec la fonction ROUND et ajouterons °F pour indiquer Fahrenheit :

C’est la base de notre fonction LAMBDA :

Enfin, nous pouvons compléter la formule MAP :

Cette seule formule MAP crée un nouveau tableau en transformant chaque élément du tableau d’origine.

La sortie ressemble à ceci :

temp Array Output in Google Sheets

Et voici une explication visuelle de son fonctionnement :

Map Function In Google Sheets

Multiples tableaux d’entrée

MAP accepte également plusieurs tableaux d’entrée.

Par exemple, cette formule calcule la valeur maximale à une position donnée à partir de deux tableaux d’entrée.

Ici, dans la fonction LAMBDA, « a » représente la valeur du premier tableau d’entrée, et « b » représente la valeur de cette même position (par exemple, 1,1) du deuxième tableau d’entrée.

Si j’avais un troisième tableau d’entrée, j’aurais besoin d’une autre variable (par exemple, « c ») dans mon expression lambda.

Le tableau renvoyé est composé de toutes les valeurs maximales.

Modèle de fonction MAP

Cliquez ici pour ouvrir une copie en lecture seule >>

N’hésitez pas à en faire une copie : Fichier > Faire une copie…

Si vous ne pouvez pas accéder au modèle, cela peut être dû aux paramètres de votre Google Workspace.

Dans ce cas, faites un clic droit sur le lien pour l’ouvrir dans une fenêtre de navigation privée afin de le visualiser.

Voir aussi

Voir la fonction LAMBDA et les autres fonctions d’aide MAP, REDUCE, MAKEARRAY, etc. ici :

Fonctions nommées et nouvelles fonctions dans Google Sheets pour 2022

Articles en lien