Utilisez la fonction MAP pour automatiser les tâches de données
Le handle de remplissage d'Excel convient pour quelques lignes, mais dans un grand ensemble de données, c'est une erreur qui attend de se produire. Pourquoi glisser-déposer quand vous pouvez automatiser ? La fonction MAP vous permet d'écrire une formule unique qui répartit la logique sur l'ensemble de votre feuille, gardant vos données propres et votre flux de travail rationalisé.
De nombreuses personnes s'appuient sur des tableaux Excel qui remplissent automatiquement les formules à mesure que vous tapez ou ajoutez des lignes. Bien qu'utile, cette méthode crée potentiellement des milliers de lignes de copies individuelles de votre logique, laissant vos données vulnérables aux modifications accidentelles. De plus, les formules traditionnelles échouent souvent lorsque vous avez besoin d'une logique complexe : Excel devient confus et essaie de regrouper les données d'une colonne entière au lieu de les traiter ligne par ligne. MAP résout ces deux problèmes en centralisant votre logique dans une seule cellule et en forçant Excel à examiner vos données une ligne à la fois.
La fonction MAP est disponible pour ceux qui utilisent Excel pour Microsoft 365, Excel pour le Web et les dernières versions des applications Excel pour mobile et tablette.
Sommaire
Comment fonctionne la fonction MAP
Contrairement aux formules Excel standard qui se trouvent dans chaque cellule d'une colonne, MAP se trouve dans une seule cellule et projette la logique vers le bas, en faisant passer chaque élément via une fonction LAMBDA d'assistance pour un traitement individuel.
La syntaxe MAP
La fonction MAP a les arguments suivants :
=MAP(array,LAMBDA(param,logic))
où:
- tableau est la plage de données que vous souhaitez traiter. Vous pouvez inclure plusieurs tableaux si votre logique doit comparer des colonnes (voir le scénario 2 ci-dessous).
- LAMBDA est la consigne. Sans cela, MAP ne sait pas quoi faire des données.
- paramètre est un surnom temporaire que vous créez dans le LAMBDA.
- logique est l'instruction spécifique que vous souhaitez exécuter sur ce pseudo.
Un exemple simple : ajouter 10 % aux prix
Pour voir ces arguments en action, laissez-moi vous montrer un exemple simple. Imaginez que vous souhaitiez augmenter chaque prix de la colonne A de 10 %.
La formule dans la cellule C2 ressemble à ceci :
=MAP(A2:A4,LAMBDA(price,price*1.1))
où:
-
Le tableau est A2:A4.
-
Le LAMBDA agit comme l’emballage des instructions.
-
Le paramètre est prix.
-
Le logique est prix*1.1.
Points importants à noter avant de commencer
Avant de commencer à créer une automatisation plus complexe, gardez ces trois règles structurelles à l’esprit :
- La règle sans table : Vous ne pouvez pas placer une formule MAP dans des tableaux Excel car ils sont conçus pour contenir une formule par ligne. Étant donné que la fonction MAP répartit le résultat sur une plage de cellules, si vous essayez de l'utiliser dans un tableau, vous verrez un #SPILL ! erreur.
- Éviter le piège de la table : Assurez-vous de toujours laisser au moins une colonne vide entre votre tableau et votre formule MAP pour vous assurer que le tableau n'accapare pas la colonne de calcul.
J'adore utiliser les tableaux Excel, mais j'aimerais que Microsoft résolve un problème majeur
Il existe des solutions, mais elles ne sont pas tout à fait idéales.
Scénario 1 : Nettoyage automatisé des données
La fonction MAP d'Excel peut forcer les fonctions d'agrégation (des outils qui tentent généralement de regrouper des colonnes entières) à travailler une ligne à la fois.
Supposons que vous ayez une liste de 700 lignes d'entrées Product_ID désordonnées dans une table nommée T_Inventory. Votre objectif est de réduire les espaces, de réparer le boîtier et d'ajouter une balise « (VALID) » à chaque entrée.
Toi pourrait utilisez une colonne calculée standard pour exécuter ceci dans le tableau :
=CONCAT(PROPER(TRIM((@(Product_ID))))," (VALID)")
Cependant, cela nécessite de disposer de 700 exemplaires de la formule. Si quelqu'un modifie la ligne 450, votre processus de nettoyage est compromis.
La meilleure façon de nettoyer vos données est d'utiliser la fonction MAP dehors le tableau :
=MAP(T_Inventory(Product_ID),
LAMBDA(id,
CONCAT(PROPER(TRIM(id))," (VALID)")
))
Voici comment fonctionne cette formule :
- La boucle : MAP parcourt la colonne Product_ID de la table T_Inventory.
- La variable : LAMBDA stocke la valeur de la ligne actuelle en utilisant le pseudo identifiant.
- L'exécution : PROPER et TRIM nettoient le texte et CONCAT ajoute la balise à la chaîne nettoyée.
- La sortie : Le résultat se répand vers le bas à partir de la cellule où la formule est saisie.
Lors de l'écriture d'une logique LAMBDA longue, appuyez sur Alt+Entrée dans la barre de formule pour démarrer une nouvelle ligne. Cela rend votre code beaucoup plus facile à lire.
Étant donné que le résultat est un tableau réparti, vous pouvez pointer un menu déroulant de validation des données vers la cellule supérieure suivi d'un hashtag (tel que =$H$2#), utiliser la liste dans un tableau de bord sur une feuille de calcul distincte, ou copier et coller les données en tant que valeurs sur la colonne existante si vous avez juste besoin d'un nettoyage automatisé unique.
L’avantage : l’intégrité dynamique des données
Il y a trois avantages principaux à utiliser cette fonction dans Excel :
- Mises à jour en direct ou nettoyage statique : Bien que des outils tels que Flash Fill ou la recherche et le remplacement manuels puissent nettoyer les données une seule fois, ce sont des instantanés morts. MAP crée une synchronisation en direct : si une faute de frappe est corrigée dans les données sources, le résultat est mis à jour instantanément sur toute la plage.
- Logique centralisée ou remplissage automatique des tables : La saisie automatique des tableaux crée 700 copies indépendantes d'une formule. Ainsi, si quelqu'un tape au-delà de la ligne 450, la logique de cette ligne est définitivement rompue. La logique de MAP est centralisée dans une seule cellule, ce qui signifie qu'il n'y a aucune formule à casser dans les lignes ci-dessous.
- Erreurs de contrôle au niveau des lignes et d’agrégation : Alors que de nombreuses fonctions Excel se diffusent automatiquement, les fonctions d'agrégation tentent de regrouper l'intégralité de votre plage dans une seule cellule. MAP est le moyen le plus efficace de forcer ces fonctions à rester dans leur voie et à traiter vos données ligne par ligne tout en vous offrant l'avantage d'une formule répartie sur une seule cellule.
4 façons de nettoyer les données Excel désordonnées à l'aide de Power Query
Ne perdez pas de temps à ranger manuellement votre feuille de calcul.
Scénario 2 : Logique multicolonne
La fonction MAP d'Excel peut effectuer une logique sur plusieurs colonnes simultanément sans traiter l'intégralité du tableau comme un seul bloc géant.
Cette fois, imaginez que vous deviez signaler les réapprovisionnements « urgents » pour votre inventaire de 700 lignes, mais uniquement pour les articles dont la colonne Catégorie contient le mot « Périssable » et la colonne Stock_Level est inférieure à 300.
Vous pourriez vous attendre à ce qu’une seule formule IF gère toute la colonne du tableau. Cependant, si vous tapez :
=IF(AND((Category)="Perishable",(Stock_Level)<300),"Urgent","OK")
il ne parvient pas à signaler les articles périssables avec un inventaire inférieur à 300, car la fonction AND examine simultanément chaque cellule des colonnes Catégorie et Stock_Level. S'il trouve ne serait-ce qu'une seule ligne qui ne répond pas aux critères, il renvoie « OK » pour l'ensemble du bloc de 700 lignes.
Vous pouvez résoudre ce problème en utilisant une formule au niveau des lignes, comme celle-ci :
=IF(AND((@Category)="Perishable",(@(Stock_Level))<300),"Urgent","OK")
Cependant, cette méthode repose sur une intersection implicite (les symboles @), qui indique à Excel de rechercher uniquement la ligne actuelle. Cela verrouille la logique à l'intérieur du tableau, vous obligeant à conserver 700 copies de la même formule. Si jamais vous souhaitez déplacer cette logique ailleurs, les symboles @ se comporteront de manière inattendue.
En utilisant MAP, vous transmettez les données à la fonction ET une ligne à la fois sans avoir besoin du symbole @ ou d'une formule liée à un tableau. Il en résulte une liste parfaitement répartie de statuts individuels et précis :
=MAP(T_Inventory(Category),T_Inventory(Stock_Level),
LAMBDA(cat,qty,
IF(AND(cat="Perishable",qty<300),"Urgent","OK")
)
)
Voici comment fonctionne cette formule :
- Plusieurs tableaux : MAP atteint simultanément les colonnes Category et Stock_Level.
- Surnoms LAMBDA : Il attribue le surnom chat à la catégorie de la ligne actuelle et quantité au niveau de stock de la ligne actuelle.
- La vérification au niveau de la ligne : La logique IF(AND(…)) évalue ces deux valeurs spécifiques pour cette ligne uniquement.
- Le résultat : MAP répartit le calcul dans la colonne, créant une plage d'alertes automatisée pour les 700 lignes.
Le guide du débutant sur la logique booléenne dans Microsoft Excel
Boostez votre avantage booléen.
L’avantage : la portabilité du tableau de bord
MAP remporte les batailles dans ce scénario pour trois raisons :
- Rapports en direct par rapport à la logique liée aux tables : Contrairement aux formules de tableau standard, un résultat MAP est portable. Vous pouvez placer cette formule dans un tableau de bord sur une feuille de calcul distincte, gardant ainsi votre rapport propre sans affecter vos données brutes.
- Intégrité structurelle et écrasements manuels : Dans un tableau standard, n’importe qui peut écraser une alerte dans n’importe quelle ligne. Avec MAP, la totalité de la plage de 700 lignes est générée à partir d'une seule cellule, donc Excel renvoie un #SPILL ! erreur si quelque chose gêne.
- Précision des lignes et erreurs d'agrégation : MAP est le meilleur moyen d'utiliser des fonctions « gourmandes » comme AND ou OR dans une formule unique et dynamique qui déborde. Cela oblige Excel à évaluer votre logique ligne par ligne, garantissant ainsi que vos alertes sont exactes pour chaque élément de la liste.
Dépannage MAP : les trois erreurs que vous pourriez voir
Voici les trois obstacles MAP les plus courants et comment les résoudre :
|
Erreur |
Causes probables |
Correctifs |
|---|---|---|
|
#VALEUR! |
1. Les en-têtes de tableau sont inclus dans votre sélection. 2. Il y a un nombre de surnoms incompatible dans votre LAMBDA. |
1. Assurez-vous que la formule fait référence uniquement aux lignes de données, car Excel ne peut pas effectuer de logique sur le texte d'en-tête. 2. Assurez-vous d'avoir un surnom pour chaque baie. |
|
#RÉPANDRE! |
1. Quelque chose gêne le résultat. 2. Vous avez saisi la formule dans un tableau Excel. 3. Vous avez saisi la formule directement à côté d'un tableau Excel, qui a récupéré le résultat renversé. |
1. Assurez-vous que la trajectoire de la piste est dégagée. 2. Tapez la formule dans une cellule normale. 3. Gardez un espace d'une colonne entre le tableau et la formule. |
|
#NOM? |
Vous utilisez probablement une ancienne version d'Excel qui ne reconnaît pas les fonctions MAP ou LAMBDA. |
Passez à Excel pour le Web ou abonnez-vous à Microsoft 365. |
En passant du calcul des cellules à la construction de systèmes, vous réduisez considérablement le risque d’erreur humaine et transformez vos feuilles de calcul en outils de qualité professionnelle. Maintenant que vous maîtrisez cette logique ligne par ligne, faites passer votre automatisation au niveau supérieur en nettoyant vos formules complexes à l'aide de la fonction Excel LET.
- Système d'exploitation
-
Windows, macOS, iPhone, iPad, Android
- Essai gratuit
-
1 mois
Microsoft 365 inclut l'accès aux applications Office telles que Word, Excel et PowerPoint sur jusqu'à cinq appareils, 1 To de stockage OneDrive et bien plus encore.
