Exceller

Danger : méfiez-vous des valeurs par défaut de RECHERCHEV

Danger Beware Vlookup Defaults

Par défaut, RECHERCHEV fera une correspondance approximative. Il s'agit d'une valeur par défaut dangereuse car RECHERCHEV peut renvoyer un résultat incorrect lorsqu'il ne trouve pas votre valeur de recherche. Lisez ci-dessous pour voir quelques exemples de la façon dont RECHERCHEV peut causer des problèmes lorsque vous ne gérez pas le comportement de correspondance.





excel vba convertir le numéro de colonne en lettre

Noter la Fonction MATCH a le même comportement - le type de correspondance est facultatif et est par défaut une correspondance approximative.

Lorsque RECHERCHEV est en mode de correspondance approximative, il suppose que votre tableau est trié par ordre croissant et effectue une recherche binaire. Par conséquent, lorsque RECHERCHEV trouve une valeur qui est supérieure à la valeur de recherche , il retombera et correspondra à une valeur précédente. En d'autres termes, il renvoie le dernier nombre qui est inférieur ou égal à la valeur de recherche .





Tout va bien lorsque vos données sont bien triées, mais cela peut être un désastre avec des données non triées, car RECHERCHEV peut vous donner un résultat totalement incorrect. Pire encore, le résultat peut sembler tout à fait normal.

Vidéo : Superbe vidéo d'Oz du Soleil sur comment fonctionne vraiment la recherche binaire dans Excel .



Pour illustrer, voici deux exemples ci-dessous, qui affichent tous deux des résultats incorrects avec RECHERCHEV en mode de correspondance approximative.

Correspondance incorrecte - exemple n° 1

Dans cet exemple, il n'y a pas de facture 100235, mais comme RECHERCHEV est par défaut une correspondance approximative, il trouve quand même un résultat.

comment écrire vba dans excel

RECHERCHEV Correspondance approximative résultat erroné 1 - valeur manquante

Mauvaise correspondance - exemple n°2

Dans le deuxième exemple, RECHERCHEV est à nouveau par défaut une correspondance approximative, car aucun quatrième argument n'est fourni. RECHERCHEV nécessite que la table soit triée lors d'une correspondance approximative, sinon les résultats sont imprévisibles. Dans ce cas,le tableau n'est pas trié et nous obtenons simplement le mauvais résultat (mais notez qu'il n'y a pas d'erreur) :

VLOOKUP match approximatif mauvais résultat 2 - non trié

Le correctif

Les deux problèmes ci-dessus peuvent être résolus en forçant RECHERCHEV à faire une correspondance exacte. Il suffit de fournir le 4ème argument ( range_lookup ) comme FALSE ou 0. En mode de correspondance exacte, RECHERCHEV renverra le résultat correct si la valeur de recherche est trouvée et #N/A sinon.

convertir des livres en kilogrammes en excel
 
= VLOOKUP (value,table,column) // danger, approximate match = VLOOKUP (value,table,column,0) // exact match

Emporter

Laisser RECHERCHEV dans son mode par défaut peut être dangereux. Pour éviter ce problème, je vous recommande de toujours définir le mode de correspondance explicitement pour vous rappeler ce que vous attendez. De plus, lorsque vous souhaitez utiliser une correspondance approximative, assurez-vous que votre table est triée .

Auteur Dave Bruns


^