Cette fonction méconnue dans Excel fait travailler chaque cellule individuellement (et sans VBA)

Guide « 108 astuces pour grands débutants sur Excel ! » Offert
Booster votre productivité en téléchargeant gratuitement votre ebook PDF des meilleures astuces pour les débutants et les pros d'Excel
Excel formation - 00 Astuces - 100
 

Vous avez déjà eu l'impression qu'Excel ne pouvait tout simplement pas faire ce que vous lui demandiez — que la seule solution, c'était de tout faire à la main ou de passer par une macro VBA que vous ne compreniez pas ?

Alors ce qui suit va changer votre façon de travailler.

En effet, dans ce tutoriel je vais vous montrer comment utiliser la fonction MAP dans Excel 365 — une fonction dont la grande majorité des utilisateurs n'a jamais entendu parler, et qui permet pourtant de faire des choses qu'aucune autre formule ne peut accomplir seule.

Nous allons partir d'un tableau de ventes simple, et étape par étape, nous allons construire des formules qui traitent chaque cellule individuellement : un compteur progressif par vendeur, une liste de produits par catégorie assemblée en une seule cellule, un calcul du deuxième meilleur CA par commercial, et même une moyenne glissante automatique — le tout sans une seule ligne de VBA.

Restez jusqu'à la fin : le dernier exemple va vous montrer quelque chose que vous n'auriez pas cru possible avec une formule Excel standard.

 

Téléchargement

Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
 

 

Tutoriel Vidéo

 

 

1. Présentation

 

Pour illustrer ce tutoriel, nous allons pouvoir utiliser le tableau suivant dans lequel nous retrouvons le suivi des ventes d'une petite entreprise spécialisée dans la distribution de matériel informatique.

Chaque ligne représente une transaction réalisée par l'un de ses trois vendeurs : Sophie, Marc et Julien.

Excel formation - 0102-fonctionMAPExcel - 01

Ces données sont présentées sous la forme d’un tableau structuré, ce qui nous permettra d'utiliser des noms de colonnes dans nos formules plutôt que des plages comme « $E$6:$E$15 », ce qui est bien plus lisible.

Il porte le nom de « Ventes ».

Excel formation - 0102-fonctionMAPExcel - 02

 

2. Comprendre la fonction MAP : syntaxe et principe de base

 

Avant de nous lancer dans des formules avancées, prenons le temps de comprendre ce que fait MAP, et surtout dans quels cas elle devient indispensable.

Sa syntaxe est la suivante :

  =MAP(tableau1; [tableau2; …]; lambda) 

Excel formation - 0102-fonctionMAPExcel - 03

MAP prend chaque élément d'un tableau un par un, et lui applique une fonction LAMBDA que nous définissons nous-mêmes.

Elle retourne un résultat de même taille que le tableau d'entrée : si nous lui passons 10 cellules, elle nous rend 10 résultats.

Pour bien comprendre, partons d'un exemple très simple. Imaginons que nous souhaitions simuler une hausse de 20 % sur chaque chiffre d'affaires. Nous nous plaçons dans une cellule vide, par exemple G7, et nous saisissons :

  =MAP(Ventes[CA (€)]; LAMBDA(x; x*1,2)) 

Dans cette fonction Lambda, nous attribuons à x la valeur de chaque cellule de la colonne Ventes[CA (€)] l’une après l’autre. La fonction renvoie alors x * 1,2 pour chaque élément, ce qui donne une augmentation de 20 % appliquée à l’ensemble des chiffres d’affaires.

Excel formation - 0102-fonctionMAPExcel - 04

Nous appuyons sur [Entrée] et Excel affiche automatiquement les 10 résultats en dessous de notre cellule.

Ce comportement s'appelle le « déversement » : c'est propre aux tableaux dynamiques d'Excel 365.

Nous devons donc toujours nous assurer que les cellules situées en dessous sont vides, sans quoi Excel affichera l'erreur « #PROPAGATION! ».

Excel formation - 0102-fonctionMAPExcel - 05

Maintenant, la vraie question est : pourquoi utiliser MAP ici, alors qu'on pourrait simplement écrire =Ventes[CA (€)]*1,2 ?

Pour être honnête, l’exemple que nous venons de voir ici est volontairement simplifié pour comprendre le fonctionnement de la fonction, et donc MAP n'est effectivement pas nécessaire.

En revanche, MAP devient indispensable lorsque la formule que l'on veut appliquer ne peut pas s'étendre naturellement sur une plage — c'est-à-dire lorsqu'elle nécessite de traiter une cellule à la fois pour produire un résultat unique.

Nous allons voir cela concrètement dans les parties suivantes.

 

3. Compteur progressif par vendeur

 

Voici notre premier cas où MAP devient vraiment utile : pour chaque ligne du tableau, nous voulons afficher le numéro de la vente pour ce vendeur spécifique.

Autrement dit, 1 pour sa première vente, 2 pour sa deuxième, etc.

Ce type de numérotation par groupe est souvent demandé pour classer les commandes, les interventions ou les incidents par interlocuteur.

Le problème, c'est qu'un NB.SI classique compte tous les éléments en une fois.

Il ne peut pas créer une plage qui s'étend progressivement au fur et à mesure que l'on descend dans le tableau.

Et c'est là que MAP entre en jeu.

Nous nous plaçons dans la cellule G7 et nous saisissons :

  =MAP(Ventes[Vendeur]; LAMBDA(vendeur; NB.SI(Ventes[Vendeur]; vendeur)))  

 

Excel formation - 0102-fonctionMAPExcel - 06

Le résultat peut sembler surprenant au premier abord : on obtient 4 pour Sophie à chaque ligne où elle apparaît.

C'est parce que NB.SI compte le total sur la colonne entière.

Ce n'est pas encore ce que nous voulons.

Pour obtenir un compteur progressif (1, 2, 3…), nous devons faire en sorte que la plage de comptage s'étende ligne après ligne.

Et c'est là qu'intervient une propriété peu connue de MAP : elle ne passe pas seulement la valeur à LAMBDA, elle transmet aussi la référence de la cellule.

Ainsi, lorsque MAP évalue la ligne 6, l'argument « vendeur » pointe sur A6 ; lorsqu'il évalue la ligne 7, il pointe sur A7, etc. Nous pouvons exploiter cela pour créer une plage dynamique avec DECALER :

  =MAP(Ventes[Vendeur];LAMBDA(vendeur;NB.SI(A7:vendeur;vendeur))) 

Excel formation - 0102-fonctionMAPExcel - 07

Cette fois, le compteur est correct : 1 pour la première vente de Sophie, 2 pour la deuxième, 1 pour Marc, 1 pour Julien, 2 pour Marc, etc.

En effet, ici nous avons construit une plage dynamique qui commence toujours à la première ligne du tableau et se termine à la ligne courante — exactement ce dont NB.SI a besoin pour compter progressivement.

Nous aurions également pu utiliser une fonction bien plus simple, comme :

  =NB.SI(A$7:A7;A7) 

Excel formation - 0102-fonctionMAPExcel - 08

 

Le résultat est en apparence le même, mais la logique est différente.

Avec cette formule classique nous sommes dans une approche “ancienne génération” : nous écrivons une formule sur une ligne, puis nous la recopions vers le bas.

Excel adapte progressivement la plage grâce au mélange entre référence absolue et référence relative : A$7 reste bloqué sur la première ligne, tandis que A7 devient A8, puis A9, etc.

C’est efficace, très simple, et dans beaucoup de cas, c’est même la meilleure solution.

Mais avec MAP, nous travaillons différemment : nous écrivons une seule formule, dans une seule cellule, et Excel génère automatiquement toute la colonne de résultats.

C’est exactement l’esprit des formules dynamiques modernes : une formule unique, plus facile à maintenir, qui se déverse automatiquement sur plusieurs lignes.

C’est là que MAP devient vraiment intéressant : on peut raisonner ligne par ligne, tout en gardant une formule centralisée.

Si l’objectif est simplement de créer un compteur dans une colonne classique, la formule avec NB.SI(A$7:A7;A7) reste plus facile à comprendre pour un utilisateur débutant.

En revanche, si nous construisons un tableau de bord, une formule dynamique, une sortie automatisée ou un résultat qui doit s’adapter sans recopie manuelle, MAP devient beaucoup plus confortable.

Et c’est exactement le genre de cas où MAP prend tout son sens : lorsque nous voulons appliquer une logique personnalisée à chaque élément d’une colonne, sans écrire dix, vingt ou cent formules différentes.

 

4. Combiner FILTRE et JOINDRE.TEXTE dans MAP

 

Passons maintenant à un cas très courant : nous souhaitons obtenir, pour chaque catégorie de produit, la liste de tous les produits vendus dans cette catégorie, séparés par une virgule.

C'est le genre de synthèse que l'on prépare pour un rapport de direction ou un e-mail récapitulatif.

 

   4.1. La formule pour une seule catégorie

 

Pour la catégorie « Ordinateur » seule, nous pouvons écrire dans une cellule vide :

  =JOINDRE.TEXTE(", "; VRAI; FILTRE(Ventes[Produit];  Ventes[Catégorie]="Ordinateur")) 

Excel formation - 0102-fonctionMAPExcel - 09

Nous validons et nous obtenons bien la liste des produits de la catégorie Ordinateur.

FILTRE extrait toutes les lignes correspondantes, et JOINDRE.TEXTE les assemble en une seule chaîne séparée par des virgules. L'argument « VRAI » permet d'ignorer les cellules vides éventuelles.

 

   4.2. Étendre à toutes les catégories avec MAP

 

Le problème survient dès que nous voulons faire ce calcul pour plusieurs catégories d'un coup. Si nous remplaçons "Ordinateur" par une plage contenant plusieurs valeurs, la formule échoue — FILTRE ne sait pas gérer plusieurs critères de recherche indépendants en parallèle.

C'est exactement là que MAP s'impose. Nous saisissons d'abord notre liste unique de catégories dans les cellules I6 à I7 : « Ordinateur » en I6, « Accessoire » en I7. Puis nous nous plaçons en J6 et nous saisissons :

  =MAP(I6:I7; LAMBDA(cat; JOINDRE.TEXTE(", "; VRAI;  FILTRE(Ventes[Produit]; Ventes[Catégorie]=cat)))) 

Nous validons avec [Entrée]. MAP passe chaque catégorie une par une à LAMBDA sous le nom « cat », FILTRE extrait les produits correspondants, et JOINDRE.TEXTE les assemble. Deux cellules de résultat s'affichent automatiquement — une par catégorie. Si demain une troisième catégorie est ajoutée à notre liste I6:I8, il suffit d'étendre la plage dans la formule.

Règle fondamentale à retenir : quelle que soit la complexité du traitement à l'intérieur de LAMBDA — filtrage, concaténation, calcul — MAP n'attend qu'une seule valeur de retour par élément.

Tant que cette règle est respectée, nous pouvons faire ce que nous voulons dans LAMBDA.

 

5. Extraire la 2e meilleure vente par vendeur

 

Ce cas est très parlant pour les managers : pour chaque vendeur, nous voulons connaître son deuxième meilleur chiffre d'affaires, c'est-à-dire la vente « presque excellente ».

Cela permet d'identifier le potentiel de progression de chaque commercial.

 

   5.1. La logique pour un seul vendeur

 

Pour Sophie uniquement, nous pouvons écrire :

  =GRANDE.VALEUR(FILTRE(Ventes[CA (€)]; Ventes[Vendeur]="Sophie"); 2)  

FILTRE isole tous les CA de Sophie, et GRANDE.VALEUR extrait le 2e plus élevé.

Le résultat est immédiat, mais impossible d'étendre directement cette formule à tous les vendeurs.

 

   5.2. Généralisation avec MAP et protection contre les erreurs

 

Nous saisissons notre liste unique de vendeurs dans les cellules K6:K8 (Sophie, Marc, Julien), puis en L6 :

  =MAP(K6:K8; LAMBDA(personne; SIERREUR(GRANDE.VALEUR(FILTRE(Ventes[CA (€)];  Ventes[Vendeur]=personne); 2); "—"))) 

Nous avons encapsulé la formule dans SIERREUR pour gérer le cas d'un vendeur n'ayant qu'une seule vente : GRANDE.VALEUR retournerait alors une erreur, que SIERREUR remplace proprement par un tiret.

C'est une bonne habitude à prendre dès que l'on travaille avec des données susceptibles d'être incomplètes.

 

6. Calcul d'une moyenne glissante sur 3 ventes

 

Pour terminer, voici un exemple qui illustre parfaitement pourquoi MAP est unique : calculer une moyenne glissante sur les 3 dernières transactions, en laissant vide les deux premières lignes pour lesquelles on ne dispose pas encore de 3 valeurs.

Nous nous plaçons en M6 et nous saisissons :

  =MAP(Ventes[CA (€)]; LAMBDA(x; SI(LIGNE(x)-LIGNE(Ventes[CA (€)])+1 < 3;  ""; MOYENNE(DECALER(x; -2; 0; 3; 1))))) 

Décortiquons cette formule.

L'expression LIGNE(x)-LIGNE(Ventes[CA (€)])+1 calcule le numéro de ligne courant à l'intérieur du tableau (1 pour la première ligne, 2 pour la deuxième, etc.).

Si ce numéro est inférieur à 3, nous affichons une cellule vide. Sinon, DECALER(x; -2; 0; 3; 1) construit une plage de 3 lignes qui remonte de 2 lignes depuis la cellule courante — soit exactement les 3 dernières transactions — et MOYENNE calcule la moyenne sur cette plage.

Ce qui rend ceci possible, c'est à nouveau la transmission de la référence de cellule par MAP. Sans MAP, DECALER ne pourrait pas se positionner dynamiquement sur chaque ligne l'une après l'autre.

 

7. Conclusion

 

La fonction MAP change profondément la façon d’aborder certains problèmes dans Excel.

Mais il faut bien comprendre une chose importante : MAP n’est pas une fonction qui sert à inventer de nouveaux calculs.

Elle ne remplace pas SOMME, MOYENNE, NB.SI, FILTRE, GRANDE.VALEUR ou JOINDRE.TEXTE.

Elle ne fait pas, à elle seule, quelque chose de mathématiquement nouveau.

Son rôle est différent.

MAP permet surtout de changer la manière dont nous appliquons nos calculs.

Au lieu de construire une formule ligne par ligne, puis de la recopier vers le bas, nous pouvons écrire une seule formule qui parcourt automatiquement chaque élément d’une plage.

Au lieu de multiplier les formules dans un tableau, avec le risque d’en modifier une par erreur ou d’oublier d’en recopier une autre, nous centralisons toute la logique dans une seule cellule.

Et au lieu de passer par une macro VBA pour traiter les données une par une, nous restons dans l’univers des formules Excel classiques, visibles, modifiables et compréhensibles.

C’est là que MAP devient réellement intéressante.

Elle ne fait pas forcément des calculs plus puissants.

Elle permet de faire les choses autrement : de manière plus moderne, plus propre, plus dynamique et souvent plus sécurisée.

Plus moderne, parce qu’elle s’inscrit pleinement dans la logique d’Excel 365 et des tableaux dynamiques.

Nous écrivons une formule, et Excel génère automatiquement toute la zone de résultat.

Plus propre, parce que la logique est regroupée à un seul endroit.

Lorsque nous voulons modifier la règle de calcul, nous n’avons pas besoin de vérifier cinquante cellules différentes : nous modifions une seule formule.

Plus sécurisée, parce que nous limitons les erreurs de recopie, les formules écrasées par erreur, les lignes oubliées, ou les plages mal étendues après l’ajout de nouvelles données.

Plus maintenable, parce que MAP permet de construire des formules structurées, notamment avec LAMBDA, dans lesquelles chaque variable a un rôle clair.

Dans nos exemples, nous avons utilisé des noms comme vendeur, cat, personne ou x.

Ce sont de petits détails, mais ils rendent les formules beaucoup plus lisibles qu’une accumulation de références de cellules difficiles à interpréter.

Et surtout, MAP permet de résoudre élégamment des situations où Excel doit raisonner élément par élément.

C’est exactement ce que nous avons vu dans ce tutoriel :

  • un compteur progressif par vendeur ;
  • une liste de produits regroupée par catégorie ;
  • le deuxième meilleur chiffre d’affaires par commercial ;
  • une moyenne glissante calculée ligne après ligne.

Dans chacun de ces cas, le calcul final repose sur des fonctions que nous connaissons déjà : NB.SI, FILTRE, JOINDRE.TEXTE, GRANDE.VALEUR, MOYENNE, DECALER…

La vraie différence, c’est que MAP nous permet de les appliquer individuellement à chaque élément d’une plage, sans recopie manuelle et sans VBA.

C’est pour cela qu’il ne faut pas voir MAP comme une fonction “magique” qui remplace toutes les autres.

Il faut plutôt la voir comme une fonction d’orchestration.

Elle prend une liste d’éléments, les envoie un par un dans une logique personnalisée, puis rassemble automatiquement les résultats.

En résumé, MAP est particulièrement utile lorsque nous avons besoin de dire à Excel : « Pour chaque élément de cette plage, applique cette règle précise, puis renvoie-moi le résultat correspondant. »

C’est une approche très différente des formules Excel traditionnelles, mais c’est aussi une approche beaucoup plus adaptée aux fichiers modernes : tableaux dynamiques, tableaux de bord automatisés, extractions personnalisées, synthèses évolutives, modèles sans macros, et fichiers plus faciles à partager.

Alors évidemment, MAP n’est pas à utiliser partout.

Pour une simple multiplication, une addition ou une formule classique recopiée sur quelques lignes, elle serait souvent inutilement complexe.

Mais dès que nous voulons appliquer une logique spécifique à chaque cellule, tout en gardant une formule unique, dynamique et robuste, MAP devient une solution extrêmement puissante.

Et c’est probablement ce qu’il faut retenir de ce tutoriel :

MAP ne sert pas forcément à faire de nouveaux calculs.
Elle sert à mieux organiser les calculs que nous savons déjà faire.

Elle nous aide à passer d’un Excel où l’on recopie des formules ligne par ligne, à un Excel où l’on construit des logiques dynamiques, centralisées et plus fiables.

Et à mesure que les fichiers deviennent plus automatisés, plus connectés et plus complexes, ce type de fonction devient de plus en plus précieux.



Articles qui pourraient vous intéresser

Fonction INDEX : les techniques secrètes et sous-estimées qui rendent vos tableaux Excel vraiment dynamiques
Filtrer les données avec des cases à cocher Excel : la technique MAGIQUE que 95% des utilisateurs ne connaissent pas encore !
Comment créer une fonction personnalisée pour les Moyennes Mobiles sur Excel (et sans VBA !) ?
Comment automatiser vos Tableaux Excel grâce aux plages nommées dynamiques ?
Découvrez l’astuce Excel qui va RÉVOLUTIONNER vos Tableaux (opérateur # Dièse)
Ces fonctions cachées d’Excel ont révolutionné ma façon de travailler !
Découvrez comment déchiffrer n’importe quelle formule Excel en 5 minutes (même les plus complexes) !
Comment CONCATENER des données dans Excel (toutes versions !)
Créez vos propres fonctions personnalisées sans VBA dans Excel (nouvelle fonction LAMBDA)
Comment analyser la dispersion de vos données avec l'écart-type dans Excel ?
Remplacer les TCD avec une fonction Excel c'est maintenant possible (et même plutôt facile !) : la fonction GROUPER.PAR
Comment résoudre les erreurs de la fonction RECHERCHEV sur Excel

Contact - Plan du site - À propos - Contact

© Excelformation.fr 2018-2026 - Excel, simplement

Haut de la page

Excelformation.fr propose de nombreuses formations pratiques et gratuites sur Microsoft Excel : des cours pour apprendre à structurer et analyser les données, des tutos sur les fonctions avancées, les formules et les formules avancées d'Excel, les formules matricielles, les mise-en-formes conditionnelles, les graphiques Excel (xls, xlsx, xlsm,…). Des tutoriels pour apprendre à automatiser les tâches répétitives (via des macro-commandes en VBA) de vos classeurs Excel.