web-dev-qa-db-fra.com

Remplacer rapidement # N/A par quand vlookup

J'utilise beaucoup vlookup dans Excel.

Le problème est avec la valeur #N/A lorsque la valeur de recherche n'est pas trouvée.

Dans ce cas, on le remplace souvent par 0 en utilisant

if(isna(vlookup(what,range,column,false));0; vlookup(what,range,column;false))

qui répète vlookup (quoi, plage, colonne, faux) deux fois et donne à la formule un aspect moche & factice.

Avez-vous d'autres solutions pour ce problème?

19
Nam G VU

Quelle version d'Excel? Dans Excel 2007 ou version ultérieure, vous pouvez utiliser la fonction IFERROR comme ceci

=IFERROR(VLOOKUP(A1,B2:E3,4,0),0)

30
barry houdini

Vous pouvez également utiliser IFNA si vous souhaitez uniquement détecter les erreurs # N/A.

=IFNA(Formula,0)

Cela affichera 0 au lieu de l'erreur # N/A.

5
Matt the Wiz

C'est en fait assez puissant, et cela fait un moment que je parcours le Web pour obtenir une réponse à cette question. Dans mon cas, cependant, je ne veux pas remplacer le #N/A par un 0, mais plutôt utiliser d'autres informations. Dans mon cas, si la VLOOKUP ne trouve rien, je veux qu’elle utilise le contenu d’une autre cellule. (J'utilise Excel 2010, mais cela ne devrait pas avoir d'importance.) Supposons que ma formule soit dans la cellule E3 sur Sheet1 et que les données que je veux extraire se trouvent quelque part sur Sheet2. S'il n'y a pas de données sur Sheet2, je souhaite que ma cellule utilise les données de Sheet1.

=IFERROR(VLOOKUP(A3,Sheet2!B2:E3,4,FALSE),Sheet1!D3)

Au répondant d'origine, MERCI. Tu m'as rendu la vie un peu plus facile ce soir. J'espère que mon expansion décousue sur votre réponse aidera aussi quelqu'un!

1
Michael