Par défaut, la fonction RECHERCHEV d’Excel ne permet de retrouver qu’un seul résultat.
Mais en biaisant cette fonction, nous pouvons faire une recherche de plusieurs résultats. Tout cela en modifiant l’argument valeur_cherchée et la base de données.
Situation initiale
Comme la valeur_cherchée de la fonction RECHERCHEV est unique, Excel va chercher 1 occurrence, celle qui est en valeur_cherchée.
Prenons un exemple : je souhaite faire les frais kilométriques des différents associés de la société.
Si j’utilise une RECHERCHEV normale, quoiqu’il arrive, mon tableau de résultats ressortira toujours le 1er trajet de l’associé sélectionné.
Modification de la base
Pour pouvoir ressortir plusieurs résultats pour ma recherche, il faut une valeur_cherchée unique pour chaque trajet.
Cela nécessite une petite modification de la base. En fait, en plus du nom, je vais attribuer un chiffre pour incrémenter chaque occurrence.
Calcul du n° occurrence
Pour cela, je vais utiliser la fonction NB.SI.
Je crée une nouvelle colonne qui doit être la première du tableau soit la colonne A.
Sur ma cellule A2, je saisis la formule suivante :
=NB.SI(B$2:B2;B2)
Explications:
Je veux compter le nombre de fois où le prénom sur la ligne où je suis apparaît depuis le début du tableau jusqu’à la ligne où je me trouve.
C’est pour cela que mon début de plage possède un $ pour figer la première cellule.
Par contre, il faut que la fin de la page soit relative pour qu’elle change au fil des lignes.

Valeur unique pour la recherchev
Maintenant, il faut qu’on aie un identifiant unique pour chaque occurrence afin que notre recherche fonctionne.
C’est ainsi qu’on va concaténer l’associé et le numéro d’occurrence.
Vous pouvez utiliser la fonction CONCATENER mais je préfère utiliser l’esperluette & car la formule est plus facile à lire et réduit le nombre de parenthèses utilisées.
Cela donne :
=B2&"-"&NB.SI(B$2:B2;B2)
Formule RECHERCHEV
On a fini de modifier notre base, passons au formulaire de recherche.
La seule chose qui change de d’habitude est la valeur_cherchée de la fonction. Au lieu de mettre le nom de l’associé comme critère de recherche, on va mettre le numéro d’occurrence d’un associé (ce qu’on vient de créer dans la base).
On obtient comme arguments de la fonction :
- valeur cherchée : J$1& »-« &I4 (on met un dollar à J1 car quelque soit la ligne de résultat, la cellule où se trouve le nom de l’associé est J1)
- table matrice : $A$2:$F$8 (quelque soit la ligne de résultat, la base est A2 à F8)
- no index col : 6 (les kms sont la 6e colonne de notre tableau)
- valeur proche : 0 (nous voulons des correspondances exactes)
Ce qui donne :
=RECHERCHEV($J$1&"-"&I4;$A$2:$F$8;6;0)
Certaines lignes font apparaître le message d’erreur #N/A ce qui signifie qu’il n’y a aucune donnée. Pour cacher ce message, on peut rajouter la fonction SIERREUR :
=SIERREUR(RECHERCHEV($J$1&"-"&I4;$A$2:$F$8;6;0);"")

