Objectifs de la leçon
- Rapatrier une information d'un autre tableau ;
- Gérer les valeurs introuvables ;
- Connaître l'alternative INDEX/EQUIV.
Le besoin
Votre tableau de ventes contient le code produit, mais pas la catégorie ni le coût d'achat, qui sont dans le tableau tblProduits. Il faut rechercher ces informations.
RECHERCHEX
=RECHERCHEX(valeur_cherchée; plage_de_recherche; plage_de_résultat; [si_non_trouvé]; [mode_correspondance])
=RECHERCHEX([@CodeProduit];tblProduits[Code];tblProduits[Catégorie];"Introuvable")
- Cherche le code produit de la vente dans la colonne Code des produits ;
- Renvoie la catégorie correspondante ;
- Affiche « Introuvable » si le code n'existe pas.
Atouts : recherche dans n'importe quelle direction, correspondance exacte par défaut, gestion intégrée des absences.
Recherche par tranche
Pour attribuer un taux de commission selon le montant (0 à 99 999 : 2 % ; 100 000 à 499 999 : 4 % ; 500 000 et plus : 6 %), on utilise un tableau des seuils et le mode « correspondance exacte ou élément inférieur » :
=RECHERCHEX([@Montant];tblTaux[Seuil];tblTaux[Taux];;-1)
INDEX et EQUIV
Dans les versions qui n'ont pas RECHERCHEX :
=INDEX(tblProduits[Catégorie];EQUIV([@CodeProduit];tblProduits[Code];0))
EQUIV trouve la position, INDEX renvoie la valeur à cette position. Le 0 impose la correspondance exacte. (L'ancienne RECHERCHEV fonctionne aussi, mais elle est plus fragile : elle ne cherche que vers la droite et dépend d'un numéro de colonne.)
À retenir
RECHERCHEX est la fonction de référence pour rapprocher deux tableaux ; prévoyez toujours le cas « introuvable ».
Mise en pratique
Ajoutez au tableau des ventes la catégorie, le coût unitaire et la zone du client par RECHERCHEX, puis calculez la marge de chaque vente.