Bonjour à tous,
Pour faire suite à une discussion sur facebook avec Dominique et d'autres, voici 6 raisons pour lesquelles, il vaut mieux abandonner recherchev, au profit d'index/equiv.
Si vous ne connaissez pas l'utilisation d'index/equiv, vous pouvez lire ces articles ici, ici et là.
Pour les inconditionnels de recherchev, nous sommes d'accord, vous économisez l'écriture de quelques caractères. Par exemple, ces deux formules sont équivalentes, la première vous fait économiser...ex...ac...t...e...m...ent 6 caractères 🙂
Si on transforme la plage en tableau (une bonne pratique), on arrive à des différences plus importantes, mais c'est simplement que la référence des plages est plus longue :
Voici donc 6 raisons pour lesquelles vous devriez abandonner Recherchev
Raison 1 à 3 : C'est dangereux
Ainsi, dans la zone de recherche, vous ne pourrez pas :
- ajouter des colonnes.
RechercheV ne fonctionnera plus, pire, il renverra un résultat pouvant induire en erreur.
- supprimer une colonne.
RechercheV ne fonctionnera plus. Dans cet exemple, j'avais remplacé la colonne de recherchev par la valeur 3.
- déplacer une colonne.
RechercheV ne fonctionnera plus.
Donc, comme le disait Dominique, si vous n'avez ne serait-ce qu'un seul recherchev, il devient dangereux - théoriquement - d'ajouter, de supprimer ou de déplacer une colonne dans votre fichier...
Raison 4 & 5 : C'est moins puissant
- avec recherchev, vous devez retourner des valeurs devant se trouver dans les colonnes de droite. Il est impossible de retourner des valeurs se trouvant à gauche.
- avec recherchev, vous ne pouvez pas retourner des valeurs se trouvant à l'intersection d'une ligne et d'une colonne. Ceci est tout à fait possible avec Index/Equiv :
Raison 6 : C'est moins lisible.
Si vous comparez ces deux formules, il est difficile de savoir ce que la recherchev retourne, c'est à dire, la valeur de la deuxième colonne.
=RECHERCHEV(G1;SitesWebs;2;0) - le 2 correspond à la deuxième colonne dans le tableau SitesWebs
Par contre, avec Index/Equiv on identifie clairement l'information : SitesWebs[Site web].
=INDEX(SitesWebs[Site web];EQUIV(G1;SitesWebs[No];0))
Voilà, j'espère que tout ceci vous aura convaincu. Si vous voulez lancer le débat, n'hésitez pas !
A bientôt.
Gaetan