Monsieur Excel
Pour tout savoir faire sur Excel !

24 mars 2006

Les fonctions Recherche H et V

Dans les messages du 16 et du 18 mars, nous avons vu comment fonctionnait la fonction Recherche(), avec ses deux syntaxes.

Une des difficultés de la fonction Recherche(), pour certains utilisateurs, tient à ce qu’elle fonctionne en colonne ou en ligne selon la forme de la matrice.

Pour résoudre ce problème, après la création de la fonction Recherche(), qui était d’ailleurs présente dans le premier Visicalc sur Apple II en 1979, Microsoft a créé deux nouvelles fonctions, RechercheV() et RechercheH() qui – comme leur nom l’indique – pratiquent exclusivement des recherches verticales et horizontales.

Il a été décidé, par la même occasion, de résoudre une autre difficulté pour certains utilisateurs, le fait que la recherche verticale ramenait le contenu de la cellule la plus à droite dans la matrice pour la ligne sélectionnée.

C’est pourquoi la syntaxe de la fonction est : =recherchev(valeur;matrice;n°col)n°col est le numéro de la colonne dont on doit ramener la valeur, sachant que ce numéro de colonne est relatif à la matrice.

Pour la recherche horizontale, il suffit de remplacer n°col par n°lig

Dans l’exemple ci-dessus, nous cherchons à récupérer le nom de famille et le salaire d’une personne à partir de son prénom. Les formules utilisées sont :

En F15 : =recherchev(F14;E3:F11;2)

En F16 : =recherchev(F14;E3:G11;3)

Remarque 1 – Une seule matrice

Puisque nous indiquons le numéro de la colonne à ramener, nous aurions pu utiliser le même second argument E3:G11 (ou, mieux encore, le nom de ce bloc) dans les deux formules.

Remarque 2 – Et Gilles, alors ?

Vous avez probablement noté la présence de deux Gilles. Lequel sera retenu par nos deux formules ? Le dernier, évidemment, si vous avez bien compris l’algorithme présenté le 18 mars : on descend jusqu’à trouver le premier prénom plus grand, Hervé, puis l’on remonte d’une ligne, ce qui nous fait immanquablement arriver au dernier Gilles.

Remarque 3 – Une erreur possible

Une grosse erreur aurait été d’utiliser la formule =recherchev(F15;F3:G11;2) en cherchant le salaire à partir du nom. En effet, les noms ne sont pas en ordre alphabétique et vous obtenez alors n’importe un résultat souvent – mais pas toujours – faux, vu la façon dont marche l’algorithme de recherche.

5 Commentaire(s):

  • Bonjour,

    Merci pour ce site utile.

    Par rapport a votre remarque 2, il me semble que faire une recherche V (avec argument FAUX)sur une cellule de Type "=Prenon&nom" rendrait toute erreur impossible... evidement il faut connaitre le nom et le prenom de la personne recherchee...mais ds la pratique ca doit etre le cas

    Cordialement

    By Anonymous Stephane, sur 11:53 AM  

  • Bonjour,

    En fait, dans la pratique, on fait plutôt la recherche à partir d'un code unique comme un code produit ou un n° de SS.

    Ceci dit, on a le droit de faire une recherche de "Prénom"&" "&Nom dans une table où l'on aurait concaténé les prénoms et noms...

    By Blogger Hervé Thiriez, sur 2:00 PM  

  • salut,

    que veux dire le '2' et '3' dans

    En F15 : =recherchev(F14;E2:F10;2)En F16 : =recherchev(F14;E2:G10;3)

    merci
    a plus

    By Blogger redonenet, sur 7:56 PM  

  • La réponse se trouve dans l'article.

    Les dernier argument est le n° de la colonne où l'on va chercher la réponse...

    By Blogger Hervé Thiriez, sur 4:49 PM  

  • Bonjour,
    Comment faire alors lorsqu'on veut qu'Excel puisse nous extraire les 2 "Gilles" ? Y a-t-il une solution?
    Merci par avance de votre aide

    Myriam

    By Anonymous Anonyme, sur 6:06 PM  

Enregistrer un commentaire

<< Accueil