Exceller

Danger: attention aux valeurs par défaut de RECHERCHEV

Danger Beware Vlookup Defaults

Par défaut, RECHERCHEV effectuera une correspondance approximative. Il s'agit d'une valeur par défaut dangereuse car RECHERCHEV peut renvoyer discrètement 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 VLOOKUP 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 ce même comportement - le type de correspondance est facultatif et correspond par défaut à une correspondance approximative.



Lorsque RECHERCHEV est en mode de correspondance approximative, il suppose que votre table est triée par ordre croissant et effectue une recherche binaire. Par conséquent, lorsque VLOOKUP trouve une valeur supérieur à la valeur de recherche , il se repliera 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 VLOOKUP 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 la recherche binaire fonctionne vraiment dans Excel .



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

Mauvaise correspondance - exemple n ° 1

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

comment écrire vba dans excel

VLOOKUP correspondance approximative mauvais résultat 1 - valeur manquante



Mauvaise correspondance - exemple n ° 2

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

VLOOKUP correspondance approximative 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. Fournissez simplement le 4e argument ( range_lookup ) comme FALSE ou 0. En mode de correspondance exacte, VLOOKUP 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


^