Domaines
RH
Juridique
Compta
Administratif/Moyens Généraux
Communication
Bureautique
Conseils aux débutants
Word
Excel
PowerPoint
Outlook
Access
Publisher
Windows/système
Applications pas à pas
Tests logiciels
Macros VBA
Leçons
Macros Word
Macros Excel
Astuces
Orthographe
Rédaction
Organisation
 
Outils
Ouvrages
Modèles
Macros
 
Anglais
Grammaire avec AnglaisFacile
Leçon gratuite avec AnglaisFacile
Carrière
Gestion de carrière
Fiches métier
Témoignages / vécu
 
 

Echanger

Forums

© Nadège Guilbert
Le contenu de ce site
est régulièrement déposé auprès de la SGDL
Reproduction interdite
sans le consentement
écrit de l'auteur


Imprimer la page

Bureautique > Excel

21-Jui-2003

 

 

La problématique
Le fichier de référence
La fiche principale
Etablir la liaison
La valeur approchée

Une formule alternative : Index(Equiv;Equiv)

 

 

 

 


Télécharger l'exemple

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

Niveau

Pré-requis :

  • Aucun

 

Pour plus d'infos :

Polykromy - Fonction Index et Equiv