Créer des résultats dynamiques en 2D dans Google Sheets avec les fonctions MAP et LAMBDA

Remarque : Cet article a été publié à l'origine dans notre forum communautaire.

Google Sheets offre un ensemble de fonctionnalités robustes qui permettent aux utilisateurs de traiter les données de manière dynamique et efficace. Avec l'ajout des fonctions LAMBDA et MAP, vous pouvez simplifier les opérations complexes en formules à cellule unique qui génèrent dynamiquement des résultats en deux dimensions (2D). Dans ce blog, nous verrons comment exploiter ces fonctions à l'aide d'un exemple pratique tiré d'un scénario de suivi de produit.

Aperçu du scénario

Imaginez que vous suiviez les prix de différents produits sur plusieurs mois. Votre ensemble de données enregistre les détails du produit et les mises à jour de prix à différents moments. Le défi consiste à résumer les mises à jour mensuelles des prix de chaque produit dans un seul tableau récapitulatif, affichant le dernier prix de chaque produit à la fin de chaque mois.

Structure des données

Notre jeu de données principal, nommé `Product`, est formaté comme suit :

Objectif

L'objectif est de créer un tableau "Résumé mensuel des produits" qui se met à jour dynamiquement pour afficher le dernier prix de chaque produit à la fin de chaque mois. Ce tableau doit s'adapter aux nouvelles données au fur et à mesure qu'elles sont ajoutées à l'onglet "Produit".

Mise en œuvre étape par étape

1. Mise en place des en-têtes de date

Tout d'abord, nous générons les en-têtes pour chaque mois dans le tableau récapitulatif :

Cellule B1 :

=ARRAYFORMULA(SI($B$2:$2="", "", TEXTE($B$2:$2,"yy")&"-"&TEXTE(MOIS($B$2:$2),"00")))

Cette formule utilise `ARRAYFORMULA` pour appliquer un formatage de texte à chaque date de la ligne 2, créant ainsi un format YY-MM pour les en-têtes de mois.

2. Génération de plages de dates mensuelles

Ensuite, nous préparons une liste de dates de fin de mois pour chaque mois compris dans la fourchette souhaitée :

Cellule C2 :

=ARRAYFORMULA(EOMONTH($B$2,SEQUENCE(1,15+12,1,1)))

Ici, `EOMONTH` et `SEQUENCE` génèrent des dates de fin de mois à partir de la date de `B2`, couvrant une plage de 27 mois potentiels (15 + 12 à titre d'exemple).

3. Lister des produits uniques

Nous identifions tous les produits uniques à partir de l'onglet "Produit" :

Cellule A4 :

=UNIQUE(Produit!$B$2:$B)

4. Cartographie dynamique des prix

La partie la plus complexe est la création d'un résumé dynamique des prix. Il s'agit de faire correspondre la liste des produits et, pour chaque produit, de faire correspondre la liste des mois afin d'obtenir le prix le plus récent à la fin de chaque mois :

Cellule B4 :

=MAP($A$4:$A, LAMBDA(produit,
  SI(produit="","", 
    MAP($B$1:$1, LAMBDA(mois, 
      SI(mois)="", "", IFNA(REQUÊTE(FILTRE(Produit!$B$2:$D, TEXTE(Produit!$D$2:$D,"YY-MM")=mois, Produit!$B$2:$B=produit),"SELECT Col2 ORDER BY Col3 DESC LIMIT 1"),)
      )
    ))
  )
))

Cette formule permet d'afficher chaque produit, puis chaque mois. Elle utilise `FILTER` pour réduire les enregistrements au produit et au mois spécifiques, puis `QUERY` pour obtenir le dernier prix pour ce mois en utilisant l'horodatage (`ORDER BY Col3 DESC LIMIT 1`).

Conclusion

En intégrant `MAP` et `LAMBDA` à d'autres fonctions de Google Sheets, nous avons créé un tableau récapitulatif dynamique et facilement actualisable qui s'adapte à mesure que de nouvelles données sont ajoutées. Cette approche minimise le besoin de mises à jour manuelles et permet une grande évolutivité dans la gestion des données produit au fil du temps. Ce n'est qu'un exemple de la puissance de ces fonctions pour transformer le traitement et l'analyse des données dans Google Sheets.

Vous pouvez aussi aimer...

Fonctionnalités et formules de google sheets

Comment calculer le taux d'intérêt nominal à l'aide de Google Sheets ?

Sarah est une jeune professionnelle qui doit prendre des décisions financières importantes. Des cartes de crédit aux hypothèques, en passant par les prêts étudiants et les...
Fonctionnalités et formules de google sheets

Extraire les données de Google Calendar dans Google Sheets à l'aide d'Apps Script

Cet article a été publié à l'origine dans notre forum communautaire. Objectif : Ce guide montre comment utiliser Google Apps Script pour extraire des données...
Fonctionnalités et formules de google sheets

Utilisation de la fonction PROPER pour mettre en majuscule la première lettre de chaque mot dans Google Sheets

Note : Cet article a été publié à l'origine dans notre forum communautaire. Vous avez déjà eu besoin de nettoyer une liste de noms, de titres ou d'autres...