Il y a quelque temps de cela j’ai lancé un sondage pour voir combien d’entre vous utilise les différentes fonction de recherche dans Excel.
Il s’avère que la plupart d’entre vous qui ont répondu au sondage utiliser la fonction rechercheV et ben dans cette vidéo je vais tenter de vous convaincre d’utiliser autre chose que la rechercheV.
Ce n’est pas tout car nous allons aussi optimiser au maximum la fonction rechercheV afin de la rendre la plus dynamique possible.
mise en place des données
Alors nous avons ici un tableau qui contient des données d’utilisateur que nous allons utiliser afin de récupérer le nom, prénom et code de l’utilisateur.
id | date | First name | Last name | Code |
1 | 13-04-22 | Arielle | Klein | 1000 |
2 | 14-04-22 | Cameron | Balistreri | 1010 |
3 | 15-04-22 | Clarinda | Miller | 1020 |
4 | 16-04-22 | Caitlyn | Hansen | 1030 |
5 | 17-04-22 | Donn | Bailey | 1040 |
6 | 18-04-22 | Enrique | Renner | 1050 |
7 | 19-04-22 | Thaddeus | Smitham | 1060 |
8 | 20-04-22 | Lawerence | O’Connell | 1070 |
9 | 21-04-22 | Regenia | Batz | 1080 |
10 | 22-04-22 | Lou | Armstrong | 1090 |
11 | 23-04-22 | Rosalyn | Kovacek | 1100 |
12 | 24-04-22 | Laura | Stark | 1110 |
13 | 25-04-22 | Mikki | Wolff | 1120 |
nous allons faire une recherche sur l’id afin de retrouver les informations de nos utilisateur qui se trouve dans la cellule H2
La rechercheV
nous allons utiliser la fonction de recherchV afin de récupérer le prénom d’un utilisateur. Pour cela nous allons devoir mentionner la formule suivante.
=SIERREUR(RECHERCHEV(H2;Tableau1;3;0); » »)
Comme on peut le voir ici c’est que la fonction est très facile à mettre en place et avec une gestion d’erreur on peut éviter d’avoir des messages d’erreur si la valeur n’est pas retrouvée.
Mais ici nous avons un petit souci c’est que si on tente d’ajouter une nouvelle donnée dans notre base de données alors la valeur recherchée n’est plus bonne et on doit impérativement modifier notre formule qui n’est pas vraiment géniale.
Cela nous pouvons le régler en ajoutant une autre fonction dans notre formule de recherche comme suite
=SIERREUR(RECHERCHEV(H2;Tableau1;EQUIV(« first name »;Tableau1[#En-têtes];0);0); » »)
Il nous reste encore un dernier problème avec notre forme que nous ne pouvons pas résourde avec la rechercheV. La fonction part toujours de gauche à droite, il n’est pas possible de changer de direction par exemple si on ne veut plus rechercher sur l’id mais sur le code de l’utilisateur, notre rechercheV ne fonctionne plus ici.
La fonction Index et Equiv
Pour résoudre le problème précédent nous pouvons utiliser une combinaison de la fonction index et equiv qui nous permet de rechercher des données n’importe où dans notre base de donnée. vous pouvez retrouver plus d’info sur cette formule ici https://www.youtube.com/watch?v=FiKVcAVmKw0
Nous pouvons rendre la formule très dynamique comme suite.
=SIERREUR(INDEX(Tableau1[Last name];EQUIV(H2;Tableau1[id];0)); » »)
Alors c’est une formule un peu plus longue que la rechercheV mais elle est plus robuste et permet de persister quand notre base de donnée changera.
La fonction rechercheX
Si on dispose de la version 2021 d’Excel ou plus on peut utiliser la fonction recherchX qui va faire la même chose que la combinaison d’index et equiv sauf qu’elle est plus facile à utiliser. vous pouvez retrouver des informations détaillées de la fonction dans l’article, Une formule de recherche qui surpasse toutes les autres.
Avec la fonction rechercheX on ne fait appelle qu’à une seule fonction et non pas une longue formule qui contient de multiple fonction ou une erreur n’est pas exclue.
=RECHERCHEX(H2;Tableau1[id];Tableau1[Code]; » »;0;1)
Faites-moi savoir dans les commentaires si je suis arrivé à vous convaincre d’utiliser autre chose que la fonction rechercheV pour vos projets excel.