| La fonction RechercheV Une formule alternative : Index(Equiv;Equiv) Gaëtan Mourmant (Polykromy) me signale les limites de la fonction RechercheV : -
la colonne sur laquelle porte la recherche (le "mot-clé" de liaison entre les deux fichiers) doit obligatoirement se situer dans la colonne la plus à gauche de la table de recherche ; -
On ne peut faire porter la recherche sur une colonne située à gauche de notre colonne de référence. -
notre formule risque de renvoyer un message d'erreur pour peu que nous ajoutions une colonne dans notre table de recherche ;
Pour ces raisons, Gaëtan recommande l'utilisation de la
formule Index(tableau;Equiv), plus
complexe mais qui contourne tous les problèmes évoqués
ci-dessus.
Vous trouverez un exemple de cette formule dans le fichier proposé en téléchargement, onglets "Index des Rues(2)" et "Fiche 5 Index(Equiv)". J'ai modifié la séquence des colonnes de l'onglet "Index des Rues(2)" pour que la recherche renvoie à présent le contenu de la colonne située à gauche des mots-clés (Quartier). Pour plus de lisibilité dans la formule, j'ai affecté un nom à chaque zone du tableau : quartier aux cellules A3:A15 (en vert); motclé aux cellules B3:B15 (en jaune) et rues aux cellules C3:C15 (en bleu) et, pour finir, tableau aux cellules A2:C15 (zone encadrée en rouge). Index(tableau;no_lig;no_col) La fonction Index renvoie la donnée située à l'intersection de la ligne et de la colonne du tableau de recherche. Par exemple, =INDEX(tableau;3;2) renvoie "Ravel". Le problème de cette formule en l'état est que nous devons indiquer les références de la cellule que nous souhaitons récupérer, références que nous ne connaissons pas. C'est la raison pour laquelle nous devons la combiner à la fonction Equiv qui se substituera aux arguments no_lig;no_col. Equiv(valeur_cherchée;tableau_recherche;type) Cette fonction se lit comme suit : la valeur_recherchée correspond à la cellule où nous saisissons notre mot-clé de liaison. Rappelez-vous, il s'agit de la cellule I2. Le tableau_recherche est en fait la zone de la feuille "Index des rues" qui contient ce même mot-clé. En l'occurrence la zone que j'ai nommée plus Haut"motclé". Le type peut prendre 3 valeurs : 1 qui renvoie la plus grande valeur immédiatement inférieure à la valeur recherchée ; 0 qui retourne la valeur exacte ; -1 renvoie la plus petite valeur immédiatement supérieure. Les arguments 1 et -1 impliquent que le tableau soit classé respectivement par ordre croissant et décroissant. En l'occurrence, c'est la valeur 0 qui s'applique dans notre exemple. Qu'il s'agisse de récupérer le nom complet de la rue ou le nom du quartier, cette portion de fonction reste identique : Equiv(I2;motclé;0). La synthèse Si nous combinons à présent nos deux fonctions, nous obtenons donc les formules suivantes : - pour récupérer le nom complet de la rue : Index(rues;Equiv(I2;motclé;0). - pour récupérer le nom du quartier : Index(quartier;Equiv(I2;motclé;0). Je rassure celles ou ceux que cette formule complexe rebuterait : la fonction rechercheV, plus simple, fonctionne dans une majorité de cas...
Haut
|