La fonction MAP dans Excel

Dernière mise à jour le 07/09/2024
Temps de lecture : 4 minutes

La fonction MAP d'Excel est une nouvelle fonction propagée d'Excel 365 qui s'adresse avant tout à des développeurs ou des scientifiques. Son intérêt principal c'est d'optimiser la mémoire pour des calculs longs ou complexes. En une seule formule, vous allez pouvoir remplir plusieurs lignes de votre tableau. C'est grâce à cette fonction que nous avons construit notre simulateur de prêt dynamique.

Cet article a pour but de vous montrer au travers de plusieurs exemples comment se construit une fonction MAP dans Excel et son utilisation.

Construction de la fonction MAP

La fonction MAP a besoin de une ou plusieurs matrices (ou plus simplement de plage de cellules) et opère une opération mathématique sur ces matrices. La fonction s'écrit de la façon suivante :

  1. Matrice 1. C'est soit une plage de données ou le résultat d'une fonction. Obligatoire
  2. Matrice 2. Facultative
  3. Matrice 3. Facultative
  4. ...........
  5. Fonction Lambda pour faire le calcul attendu.

=MAP(Matrice 1; Matrice 2; ...... ; LAMBDA())

La fonction MAP dans un exemple très simpliste

Comme premier exemple, nous allons faire un extrêmement simple, voir sans intérêt. Mais cela va avoir l'avantage de comprendre la construction de la fonction.

Nous allons ajouter la valeur 10 à notre première série de valeurs en colonne B. Certes, dans une situation normale d'utilisation d'Excel, nous écrirons la fonction =B2+10 puis nous recopierons la formule.

Formule classique addition entre une colonne et une valeur

La même situation avec la fonction MAP s'écrit de la façon suivante (les explications sont données plus bas)

=MAP(B2:B11;LAMBDA(x;x+10))

Fonction MAP pour additionner la valeur 10

Nombre à la puissance 2

Si maintenant, au lieu de faire une addition nous voulons faire une suite de valeurs élévées à la puissance 2, rien de plus facile. Il suffit de remplacer dans la fonction LAMBDA l'opération x+10 par PUISSANCE(x;2)

Formule avec la fonction MAP pour retourner une suite a la puissance 2

Optimisation de la fonction MAP

Maintenant, allons une étape plus loin. En fait, grâce à la fonction SEQUENCE, nous pouvons remplacer le premier argument de la fonction. En effet, dans ce cas de figure, nous avons simplement une série de valeur de 1 à 10. Ce qui s'écrit =SEQUENCE(10). Appliqué à notre exemple, nous pouvons écrire la fonction suivante pour le même résultat

Suite puissance 2 avec une seule fonction MAP

L'optimisation n'est peut-être pas très visible mais elle est fondamentale. En fait, plutôt que de créer une liste de valeur dans des cellules, nous construisons la liste en mémoire. Revenez au tout début de l'article et vous verrez que nous pouvons, soit utliser une plage de cellules ou une fonction comme matrice.

L'avantage d'utiliser une fonction comme argument permet de moins utiliser la mémoire. En effet, une plage de cellules sollicite plus la mémoire à cause du coté "visuel". Si la conception de la série de nombre est en mémoire, la fonction MAP est plus "rapide".

Cas pratique de l'utilisation de la fonction MAP

Prenons le cas où vous voulez appliquer une augmentation de salaire à vos employés. Vous avez en colonne A les salaires actuels et en colonne B l'augmentation.

Avec la fonction MAP, nous allons multiplier les 2 colonnes.

  • La première colonne sera identifiée par la lettre x dans la fonction LAMBDA
  • La seconde colonne sera identifiée par la lettre y.
  • Ensuite, nous procédons à la multiplication des valeurs dans les 2 colonnes.
Fonction MAP sur 2 colonnes

Mais nous pouvons également intégrer ce résultat dans une fonction SOMME pour obtenir le résultat de la multiplication de chaque ligne. De cette façon, nous obtenons un résultat similaire à la fonction SOMMEPRODUIT

Somme du resultat de la fonction MAP

Mais si nous voulons faire la moyenne des hausses, alors la combinaison de la fonction MOYENNE et MAP va pouvoir nous retourner le résultat.

Moyenne des hausses de salaire

Conclusion

Les exemples proposées sont très simple et l'utilisation de la fonction MAP n'est pas nécessaire (sauf pour le dernier exemple). Mais ces exemples vont vous permettre de comprendre comment construire des tableaux en mémoire pour des fonctions complexes.

Articles liés

2 Comments

  1. Clément
    23/08/2024 @ 14:17

    Bonjour,

    Dans le dernier exemple est-ce que l'utilisation de la fonction MAP a fondamentalement plus d'intérêt que faire SOMMEPROD()/NB() pour calculer la moyenne ?

    A-t-on un moyen d'évaluer le gain en performance vs d'autres formules ?

    Peut-on intégrer des connecteurs logiques dans les opérations mises en mémoire via la fonction LAMBDA ?

    Merci

    Reply

    • Frédéric LE GUEN
      23/08/2024 @ 15:31

      Je ne m'attendais pas à avoir si vite un retour (juste 2H après avoir publié l'article 😁😉)
      Je vais être honnête, ... Je n'en sais rien.
      La fonction MAP s'adresse à une communauté très réduites d'utilisateurs avancés d'expert en data. Je vais me renseigner et je reviens vers vous dès que j'ai la réponse.

      Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Microsoft MVP 2024

Newsletter

1 fois par mois :
Astuces et quiz

    Nous ne vous enverrons pas de spam. Vous pouvez vous désabonner à tout moment.

    La fonction MAP dans Excel

    Reading time: 4 minutes
    Dernière mise à jour le 07/09/2024

    La fonction MAP d'Excel est une nouvelle fonction propagée d'Excel 365 qui s'adresse avant tout à des développeurs ou des scientifiques. Son intérêt principal c'est d'optimiser la mémoire pour des calculs longs ou complexes. En une seule formule, vous allez pouvoir remplir plusieurs lignes de votre tableau. C'est grâce à cette fonction que nous avons construit notre simulateur de prêt dynamique.

    Cet article a pour but de vous montrer au travers de plusieurs exemples comment se construit une fonction MAP dans Excel et son utilisation.

    Construction de la fonction MAP

    La fonction MAP a besoin de une ou plusieurs matrices (ou plus simplement de plage de cellules) et opère une opération mathématique sur ces matrices. La fonction s'écrit de la façon suivante :

    1. Matrice 1. C'est soit une plage de données ou le résultat d'une fonction. Obligatoire
    2. Matrice 2. Facultative
    3. Matrice 3. Facultative
    4. ...........
    5. Fonction Lambda pour faire le calcul attendu.

    =MAP(Matrice 1; Matrice 2; ...... ; LAMBDA())

    La fonction MAP dans un exemple très simpliste

    Comme premier exemple, nous allons faire un extrêmement simple, voir sans intérêt. Mais cela va avoir l'avantage de comprendre la construction de la fonction.

    Nous allons ajouter la valeur 10 à notre première série de valeurs en colonne B. Certes, dans une situation normale d'utilisation d'Excel, nous écrirons la fonction =B2+10 puis nous recopierons la formule.

    Formule classique addition entre une colonne et une valeur

    La même situation avec la fonction MAP s'écrit de la façon suivante (les explications sont données plus bas)

    =MAP(B2:B11;LAMBDA(x;x+10))

    Fonction MAP pour additionner la valeur 10

    Nombre à la puissance 2

    Si maintenant, au lieu de faire une addition nous voulons faire une suite de valeurs élévées à la puissance 2, rien de plus facile. Il suffit de remplacer dans la fonction LAMBDA l'opération x+10 par PUISSANCE(x;2)

    Formule avec la fonction MAP pour retourner une suite a la puissance 2

    Optimisation de la fonction MAP

    Maintenant, allons une étape plus loin. En fait, grâce à la fonction SEQUENCE, nous pouvons remplacer le premier argument de la fonction. En effet, dans ce cas de figure, nous avons simplement une série de valeur de 1 à 10. Ce qui s'écrit =SEQUENCE(10). Appliqué à notre exemple, nous pouvons écrire la fonction suivante pour le même résultat

    Suite puissance 2 avec une seule fonction MAP

    L'optimisation n'est peut-être pas très visible mais elle est fondamentale. En fait, plutôt que de créer une liste de valeur dans des cellules, nous construisons la liste en mémoire. Revenez au tout début de l'article et vous verrez que nous pouvons, soit utliser une plage de cellules ou une fonction comme matrice.

    L'avantage d'utiliser une fonction comme argument permet de moins utiliser la mémoire. En effet, une plage de cellules sollicite plus la mémoire à cause du coté "visuel". Si la conception de la série de nombre est en mémoire, la fonction MAP est plus "rapide".

    Cas pratique de l'utilisation de la fonction MAP

    Prenons le cas où vous voulez appliquer une augmentation de salaire à vos employés. Vous avez en colonne A les salaires actuels et en colonne B l'augmentation.

    Avec la fonction MAP, nous allons multiplier les 2 colonnes.

    • La première colonne sera identifiée par la lettre x dans la fonction LAMBDA
    • La seconde colonne sera identifiée par la lettre y.
    • Ensuite, nous procédons à la multiplication des valeurs dans les 2 colonnes.
    Fonction MAP sur 2 colonnes

    Mais nous pouvons également intégrer ce résultat dans une fonction SOMME pour obtenir le résultat de la multiplication de chaque ligne. De cette façon, nous obtenons un résultat similaire à la fonction SOMMEPRODUIT

    Somme du resultat de la fonction MAP

    Mais si nous voulons faire la moyenne des hausses, alors la combinaison de la fonction MOYENNE et MAP va pouvoir nous retourner le résultat.

    Moyenne des hausses de salaire

    Conclusion

    Les exemples proposées sont très simple et l'utilisation de la fonction MAP n'est pas nécessaire (sauf pour le dernier exemple). Mais ces exemples vont vous permettre de comprendre comment construire des tableaux en mémoire pour des fonctions complexes.

    Articles liés

    Newsletter

    1 fois par mois :
    Astuces et quiz

      Nous ne vous enverrons pas de spam. Vous pouvez vous désabonner à tout moment.

      2 Comments

      1. Clément
        23/08/2024 @ 14:17

        Bonjour,

        Dans le dernier exemple est-ce que l'utilisation de la fonction MAP a fondamentalement plus d'intérêt que faire SOMMEPROD()/NB() pour calculer la moyenne ?

        A-t-on un moyen d'évaluer le gain en performance vs d'autres formules ?

        Peut-on intégrer des connecteurs logiques dans les opérations mises en mémoire via la fonction LAMBDA ?

        Merci

        Reply

        • Frédéric LE GUEN
          23/08/2024 @ 15:31

          Je ne m'attendais pas à avoir si vite un retour (juste 2H après avoir publié l'article 😁😉)
          Je vais être honnête, ... Je n'en sais rien.
          La fonction MAP s'adresse à une communauté très réduites d'utilisateurs avancés d'expert en data. Je vais me renseigner et je reviens vers vous dès que j'ai la réponse.

          Reply

      Laisser un commentaire

      Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

      Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.