Formule Excel: RECHERCHEV avec des nombres et du texte -

Formule générique

=VLOOKUP(val&"",table,col,0)

Sommaire

Pour utiliser la fonction RECHERCHEV pour récupérer des informations à partir d'une table dans laquelle les valeurs de clé sont des nombres stockés sous forme de texte, vous pouvez utiliser une formule qui concatène une chaîne vide ("") à la valeur de recherche numérique, la contraignant en texte. Dans l'exemple illustré, la formule en H3 est:

=VLOOKUP(id&"",planets,2,0) // returns "Earth"

id (H2) et planètes (B3: B11) sont des plages nommées.

Remarque: l'exemple est une solution de contournement au problème des nombres et du texte incompatibles, qui provoquent une erreur # N / A. S'il n'y a aucune incompatibilité, la solution de contournement n'est pas nécessaire et vous pouvez utiliser une formule VLOOKUP normale.

Explication

Une erreur courante de RECHERCHEV est une incompatibilité entre les nombres et le texte. Le plus souvent, la colonne de recherche de la table contient des valeurs numériques qui ressemblent à des nombres, mais qui sont en fait des nombres stockés sous forme de texte. Lorsqu'un nombre authentique est passé dans RECHERCHEV comme premier argument, la formule renvoie une erreur # N / A, même s'il semble y avoir une correspondance. L'écran ci-dessous montre un exemple de ce problème:

Les nombres de la colonne B sont en fait du texte, donc la valeur de recherche numérique, 3, échoue, même s'il semble que RECHERCHEV devrait correspondre à B5 et renvoyer "Earth". Vous pouvez saisir un nombre sous forme de valeur de texte en faisant précéder le nombre d'un guillemet simple (').

La meilleure solution est de s'assurer que les valeurs de recherche dans la table sont bien des nombres. Cependant, si vous ne contrôlez pas la table, vous pouvez modifier la formule RECHERCHEV pour forcer la valeur de recherche à correspondre au type de la table. Dans l'exemple illustré, nous contraignons la valeur de recherche numérique à du texte en concaténant une chaîne vide:

=VLOOKUP(id,planets,2,0) // original =VLOOKUP(id&"",planets,2,0) // revised

Et la formule révisée prend en charge l'erreur:

Vous pouvez également faire la même chose avec une formule plus longue qui utilise la fonction TEXT pour convertir le nombre en texte:

=VLOOKUP(TEXT(id,"@"),planets,2,0)

Chiffres et texte

Si vous ne pouvez pas être certain quand vous aurez des nombres et quand vous aurez du texte, vous pouvez répondre aux deux options en encapsulant RECHERCHEV dans la fonction IFERROR et en utilisant une formule qui gère les deux cas:

=IFERROR(VLOOKUP(id,planets,3,0),VLOOKUP(id&"",planets,3,0))

Ici, nous essayons d'abord une formule VLOOKUP normale qui suppose à la fois la valeur de recherche et la première colonne des tableaux sont des nombres. Si cela génère une erreur, nous réessayons avec la formule révisée. Si cette formule échoue également, VLOOKUP renverra une erreur # N / A comme toujours.

Articles intéressants...