Fonction MAPTransforme chaque élément d'un tableau avec LAMBDA – Guide 2026
MAP applique une fonction LAMBDA personnalisée à chaque valeur d'un ou plusieurs tableaux, retournant un nouveau tableau de résultats. Cette fonction permet des transformations complexes de données sans formules répétitives.
Syntaxe
MAP(tableau1; [tableau2]; ...;lambda)Comment fonctionne MAP
MAP parcourt chaque élément des tableaux fournis et applique la fonction LAMBDA à ces valeurs. Pour chaque position dans le tableau, LAMBDA reçoit les valeurs correspondantes de tous les tableaux en paramètres.
Le résultat est un nouveau tableau de même dimension que les tableaux d'entrée, où chaque cellule contient le résultat du calcul LAMBDA pour les valeurs à cette position.
Cette approche élimine le besoin de copier des formules sur de grandes plages, rendant les feuilles de calcul plus maintenables et performantes. MAP est particulièrement puissant combiné avec d'autres fonctions de tableau comme FILTER, SORT ou UNIQUE.
Exemples pratiques
Exemple 1 : Augmentation de prix de 20%
Supposons que vous ayez une liste de prix en A2:A5 et que vous souhaitiez appliquer une augmentation de 20% à tous les prix en une seule formule.
MAP applique la majoration de 20% à chaque prix du tableau.
| A | B | |
|---|---|---|
| 1 | Prix original | Prix après +20% |
| 2 | 100 | 120 |
| 3 | 250 | 300 |
| 4 | 75 | 90 |
| 5 | 320 | 384 |
=MAP(A2:A5; LAMBDA(prix; prix*1.2))La fonction LAMBDA reçoit chaque prix dans le paramètre "prix" et retourne ce prix multiplié par 1,2. MAP construit automatiquement un tableau avec tous les résultats.
Exemple 2 : Calcul de totaux avec deux tableaux
Vous avez des quantités en A2:A4 et des prix unitaires en B2:B4. MAP peut calculer le total pour chaque ligne en multipliant quantité par prix.
MAP traite deux tableaux simultanément, élément par élément.
| A | B | C | |
|---|---|---|---|
| 1 | Quantité | Prix unitaire | Total |
| 2 | 5 | 10 | 50 |
| 3 | 12 | 8.5 | 102 |
| 4 | 3 | 25 | 75 |
=MAP(A2:A4; B2:B4; LAMBDA(qte; prix; qte*prix))Ici LAMBDA reçoit deux paramètres (qte et prix) car MAP traite deux tableaux. Pour chaque ligne, la quantité est multipliée par le prix unitaire correspondant.
Exemple 3 : Formattage conditionnel avec texte
Vous pouvez utiliser MAP avec des conditions pour créer des messages personnalisés. Ici, on ajoute "Élevé" ou "Normal" selon la valeur.
MAP peut contenir des conditions SI pour créer des classifications.
| A | B | |
|---|---|---|
| 1 | Score | Catégorie |
| 2 | 85 | Élevé |
| 3 | 45 | Normal |
| 4 | 92 | Élevé |
| 5 | 67 | Normal |
=MAP(A2:A5; LAMBDA(score; SI(score≥80; "Élevé"; "Normal")))La fonction LAMBDA évalue chaque score avec une condition SI. Les scores supérieurs ou égaux à 80 reçoivent la mention "Élevé", les autres "Normal".
Exemple 4 : Calculs complexes avec fonctions imbriquées
MAP permet d'utiliser n'importe quelle fonction Excel dans LAMBDA. Ici, on calcule la racine carrée arrondie de chaque valeur.
Combinaison de fonctions mathématiques dans MAP.
| A | B | |
|---|---|---|
| 1 | Nombre | Racine arrondie |
| 2 | 50 | 7 |
| 3 | 100 | 10 |
| 4 | 23 | 5 |
| 5 | 200 | 14 |
=MAP(A2:A5; LAMBDA(n; ARRONDI(RACINE(n); 0)))Cette formule montre comment imbriquer plusieurs fonctions dans LAMBDA. Pour chaque nombre, on calcule la racine carrée puis on l'arrondit à l'entier le plus proche.
Exemple 5 : Concaténation avancée avec trois tableaux
MAP peut combiner trois tableaux ou plus. Créons des phrases complètes à partir de prénoms, verbes et compléments.
MAP avec trois tableaux pour générer du texte structuré.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Prénom | Verbe | Complément | Phrase |
| 2 | Marie | mange | une pomme | Marie mange une pomme |
| 3 | Paul | lit | un livre | Paul lit un livre |
| 4 | Sophie | écrit | une lettre | Sophie écrit une lettre |
=MAP(A2:A4; B2:B4; C2:C4; LAMBDA(nom; action; objet; nom&" "&action&" "&objet))LAMBDA reçoit trois paramètres et les concatène avec des espaces. Cette technique est utile pour générer des rapports, des emails ou des libellés automatisés.
Cas d'usage avancés
Conversion d'unités en masse
Convertissez des températures Celsius en Fahrenheit pour toute une colonne : =MAP(A2:A10; LAMBDA(c; c*9/5+32))
Remplacez simplement la plage et la formule de conversion pour d'autres unités (kg vers lbs, km vers miles, etc.).
Nettoyage de données textuelles
Supprimez les espaces superflus et mettez en majuscule : =MAP(A2:A50; LAMBDA(txt; MAJUSCULE(SUPPRESPACE(txt))))
Cette approche nettoie l'ensemble du tableau d'un coup, garantissant une cohérence parfaite des données.
Calculs financiers sur séries temporelles
Calculez les variations en pourcentage entre périodes successives en combinant MAP avec INDEX pour accéder aux valeurs précédentes.
Particulièrement utile pour analyser l'évolution des ventes, des stocks ou des indicateurs mensuels.
Erreurs fréquentes
#CALC! - Nombre de paramètres LAMBDA incorrect
L'erreur #CALC! survient quand le nombre de paramètres dans LAMBDA ne correspond pas au nombre de tableaux fournis à MAP.
Solution : Si vous passez 2 tableaux à MAP, LAMBDA doit avoir exactement 2 paramètres. =MAP(A1:A5; B1:B5; LAMBDA(x; y; x+y)) est correct.
#VALEUR! - Type de données incompatible
Cette erreur apparaît quand votre fonction LAMBDA tente une opération mathématique sur du texte non numérique.
Solution : Ajoutez des vérifications avec ESTNUM() ou SIERREUR() dans LAMBDA : =MAP(A1:A5; LAMBDA(x; SI(ESTNUM(x); x*2; 0)))
#NOM? - LAMBDA ou MAP non disponible
MAP nécessite Microsoft 365 avec les fonctions LAMBDA activées. Les versions Excel 2019 et antérieures ne supportent pas cette fonction.
Solution : Vérifiez votre version d'Excel. Si MAP n'est pas disponible, utilisez des formules matricielles classiques avec CTRL+MAJ+ENTRÉE.
Résultats inattendus avec tableaux de tailles différentes
Quand les tableaux n'ont pas les mêmes dimensions, MAP étend le plus petit en répétant ses dernières valeurs.
Solution : Assurez-vous que tous vos tableaux ont les bonnes dimensions, ou utilisez SEQUENCE pour créer des tableaux de même taille.
Performance dégradée sur très grands tableaux
MAP sur des milliers de lignes avec LAMBDA complexe peut ralentir Excel, surtout si la formule recalcule fréquemment.
Solution : Pour de très grandes données, envisagez de simplifier LAMBDA, d'utiliser Power Query, ou de désactiver le calcul automatique temporairement.
Questions fréquentes
Quelle différence entre MAP et MAKEARRAY ?
MAP applique une fonction LAMBDA aux éléments de tableaux existants, tandis que MAKEARRAY crée un nouveau tableau en générant chaque valeur avec LAMBDA selon les coordonnées ligne/colonne.
Peut-on utiliser MAP avec plusieurs tableaux simultanément ?
Oui, MAP accepte jusqu'à plusieurs tableaux. La fonction LAMBDA reçoit alors autant de paramètres qu'il y a de tableaux, permettant des opérations combinées élément par élément.
Comment MAP gère les tableaux de tailles différentes ?
MAP étend automatiquement les tableaux plus petits pour correspondre au plus grand tableau. Les valeurs manquantes sont étendues en répétant la dernière valeur disponible dans chaque direction.
MAP fonctionne-t-il avec les plages nommées ?
Oui, vous pouvez utiliser des plages nommées comme arguments de MAP. Par exemple, =MAP(MesVentes; LAMBDA(x; x*1.2)) si MesVentes est une plage nommée.
Bonnes pratiques
Nommez vos paramètres LAMBDA explicitement
Utilisez des noms descriptifs comme "prix", "quantite", "taux" plutôt que "x", "y", "z". Cela rend vos formules beaucoup plus lisibles et maintenables.
Testez LAMBDA séparément d'abord
Avant d'utiliser MAP sur un grand tableau, testez votre fonction LAMBDA avec =LAMBDA(x; votre_calcul)(valeur_test) pour vérifier qu'elle fonctionne correctement.
Documentez les formules MAP complexes
Ajoutez un commentaire dans la cellule expliquant ce que fait votre MAP, surtout si LAMBDA contient une logique métier importante.
Combinez avec d'autres fonctions de tableau
MAP s'intègre parfaitement avec FILTER, SORT, UNIQUE. Par exemple : =SORT(MAP(données; LAMBDA(x; calcul))) pour transformer puis trier.
Fonctions similaires
Deviens un expert des fonctions avancées Excel
Rejoins Le Dojo Club pour maîtriser MAP, LAMBDA et toutes les fonctions de tableau dynamique.
Essayer pendant 30 jours