0Pricing
Excel Formulas Academy · Leçon

Répéter avec MAP et REDUCE

Appliquer un LAMBDA à un tableau pour transformer ou accumuler des valeurs

Répéter avec MAP et REDUCE est une leçon Excel Formulas Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Excel Formulas Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Excel Formulas Academy comprend 4 leçons au total.

Boucler sans code

Vous souhaitez parfois appliquer la même calculation à chaque valeur d'une plage, ou réduire toute une plage à un seul nombre. En programmation, on parle de boucle. Dans les tableurs modernes, MAP et REDUCE s'en chargent pour vous grâce à LAMBDA.

  • MAP transforme chaque élément d'un tableau en un nouvel élément
  • REDUCE combine tous les éléments en un résultat cumulé unique

Les deux fonctions prennent une LAMBDA qui décrit l'opération à effectuer sur chaque valeur. Elles sont disponibles dans Microsoft 365 et Google Sheets.

Fonctionnement de MAP

MAP parcourt un tableau et applique une LAMBDA à chaque élément, produisant un nouveau tableau de même taille. Le paramètre de la LAMBDA reçoit un élément à la fois.

La structure est la suivante : fournissez le tableau à MAP, puis une LAMBDA dont le paramètre représente chaque valeur. MAP déverse automatiquement les résultats transformés dans les cellules.

=MAP(array, LAMBDA(value, calculation))

Premier exemple avec MAP

Supposons que A2:A6 contienne cinq prix et que vous souhaitiez augmenter chacun de 10 %. MAP applique la majoration à toutes les valeurs en une seule fois.

Le paramètre p de la LAMBDA représente chaque prix tour à tour. MAP renvoie cinq résultats, un par cellule d'entrée, qui se déversent dans la colonne.

Pas besoin de faire glisser la poignée de recopie ni de copier la formule. Une seule formule gère toute la plage.

=MAP(A2:A6, LAMBDA(p, p*1.1))

MAP avec deux tableaux

MAP peut parcourir deux tableaux en parallèle. La LAMBDA prend alors deux paramètres, un provenant de chaque tableau, associés position par position.

Ici, nous multiplions les quantités de A2:A6 par les prix de B2:B6 pour obtenir les totaux de ligne. Le paramètre q est associé à chaque quantité et pr à chaque prix.

Les deux tableaux doivent avoir la même taille, sinon une erreur se produira.

=MAP(A2:A6, B2:B6, LAMBDA(q, pr, q*pr))

Fonctionnement de REDUCE

REDUCE réduit un tableau à une valeur unique. Il conserve un accumulateur qui est mis à jour avec chaque élément.

Il prend trois éléments : une valeur de départ pour l'accumulateur, le tableau et une LAMBDA avec deux paramètres, acc (le total courant) et value (l'élément actuel). À chaque étape, la LAMBDA renvoie le nouvel accumulateur.

=REDUCE(start, array, LAMBDA(acc, value, new_accumulator))

Premier exemple avec REDUCE

Faisons la somme d'une plage avec REDUCE (oui, SUM fait également cela, mais cet exemple montre clairement le mécanisme).

Nous initialisons l'accumulateur à 0. Pour chaque valeur de A2:A6, la LAMBDA l'ajoute à acc. Après le dernier élément, acc contient le total.

Si les valeurs étaient 10, 20 et 30, l'accumulateur passerait par 0, 10, 30 et 60, pour finir à 60.

=REDUCE(0, A2:A6, LAMBDA(acc, v, acc + v))

REDUCE pour un produit cumulatif

Modifiez l'opération et REDUCE effectue une nouvelle tâche. Pour multiplier toutes les valeurs entre elles, initialisez l'accumulateur à 1 et multipliez-le à chaque étape.

Cela calcule un produit, utile notamment pour les facteurs de croissance composée. La valeur de départ est importante : utilisez 0 pour les sommes et 1 pour les produits, car ce sont leurs éléments neutres.

=REDUCE(1, A2:A6, LAMBDA(acc, v, acc * v))

Combiner MAP et REDUCE

Vous pouvez transformer avec MAP et résumer avec REDUCE dans une seule formule. Une tâche courante consiste à additionner les carrés d'une plage.

Ici, MAP élève chaque valeur au carré, puis REDUCE les additionne en partant de 0. Le résultat de MAP devient le tableau que REDUCE traite.

=REDUCE(0, MAP(A2:A6, LAMBDA(x, x^2)), LAMBDA(acc, v, acc + v))

MAP et REDUCE dans Google Sheets

Les deux fonctions existent dans Google Sheets avec une syntaxe identique. MAP applique une LAMBDA à chaque élément ; REDUCE cumule les valeurs à partir d'une valeur de départ, d'un tableau et d'une LAMBDA à deux paramètres.

Sheets propose également des fonctions auxiliaires associées, comme SCAN, qui ressemble à REDUCE mais renvoie chaque accumulateur intermédiaire au lieu du seul résultat final. Excel propose également SCAN.

=SCAN(0, A2:A6, LAMBDA(acc, v, acc + v))

Conseils et pièges à éviter

Voici quelques points à retenir :

  • Dans MAP, la LAMBDA doit renvoyer une valeur par élément
  • Dans REDUCE, la LAMBDA doit toujours renvoyer le nouvel accumulateur ; n'oubliez jamais de le faire
  • Choisissez la bonne valeur de départ : 0 pour les sommes, 1 pour les produits, une chaîne vide pour les concaténations de texte
  • Les tableaux transmis ensemble doivent avoir les mêmes dimensions

En cas de doute, testez d'abord votre LAMBDA en ligne avec une seule valeur.

Quand utiliser chaque fonction

Choisissez MAP lorsque vous voulez un résultat pour chaque entrée, par exemple pour appliquer une majoration ou un formatage à chaque valeur.

Choisissez REDUCE lorsque vous voulez regrouper plusieurs valeurs en une seule, par exemple pour calculer un total personnalisé, effectuer une concaténation ou trouver un maximum selon votre propre logique.

Ensemble, ces fonctions vous permettent d'exprimer des boucles que les anciens tableurs ne pouvaient tout simplement pas réaliser dans une seule formule.

Vérification rapide

Vérifiez votre compréhension de REDUCE.

Récapitulatif : boucler avec MAP et REDUCE

Vous avez appris à parcourir des tableaux avec des fonctions utilisant LAMBDA.

  • MAP transforme chaque élément en un nouvel élément et renvoie un tableau
  • REDUCE réduit un tableau à une valeur à l'aide d'un accumulateur
  • Choisissez une valeur de départ adaptée : 0 pour les sommes, 1 pour les produits
  • MAP peut associer plusieurs tableaux ; combinez MAP et REDUCE pour créer de puissants résumés en une seule ligne
  • SCAN affiche chaque étape intermédiaire

Vous allez ensuite enregistrer vos LAMBDA comme fonctions nommées afin de créer des formules claires et réutilisables dans tout le classeur.

=REDUCE(0, MAP(A2:A6, LAMBDA(x, x^2)), LAMBDA(acc, v, acc + v))

Questions Fréquemment Posées

La leçon « Répéter avec MAP et REDUCE » est-elle gratuite ?

Oui — le texte complet de « Répéter avec MAP et REDUCE » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Excel Formulas Academy, passe à CoddyKit PRO. Le cours Excel Formulas Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Répéter avec MAP et REDUCE » ?

Appliquer un LAMBDA à un tableau pour transformer ou accumuler des valeurs Tu pratiques Excel Formulas Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Excel Formulas Academy ?

Aucune expérience préalable n'est requise. Excel Formulas Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Répéter avec MAP et REDUCE » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Excel Formulas Academy ?

Oui. Chaque leçon Excel Formulas Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Nommer les étapes avec LET
  2. Définir des fonctions personnalisées avec LAMBDA
  3. Répéter avec MAP et REDUCE
  4. Des formules plus claires avec des LAMBDA nommés
← Retour à Excel Formulas Academy