Remplacement rapide # N / A par 0 lorsque vlookup

21

J'utilise vlookupbeaucoup en excel.

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

Dans ce cas, nous le remplaçons 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 rend la formule moche et factice pour moi.

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

Nam G VU
la source

Réponses:

32

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

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

barry houdini
la source
correctomundo +1
Raystafarian
@Raystafarian Impossible d'obtenir ce que vous voulez dire :)
Nam G VU
@barry houdini Horay!
Nam G VU
@NamGiVU J'étais juste d'accord avec la réponse de barry :)
Raystafarian
5

Vous pouvez également l'utiliser IFNAsi vous souhaitez uniquement détecter les erreurs # N / A.

=IFNA(Formula,0)

Cela s'affichera à la 0place de l'erreur # N / A.

Matt le Wiz
la source
1

C'est en fait assez puissant, et j'ai parcouru le Web pendant un certain temps pour obtenir une réponse à cette question. Dans mon cas, cependant, je ne veux pas remplacer le #N/Apar un 0, mais à la place, je veux utiliser des informations alternatives. Dans mon cas, si le VLOOKUPne trouve rien, je veux qu'il utilise le contenu d'une autre cellule. (J'utilise Excel 2010, mais cela ne devrait pas d' ailleurs) Supposons que ma formule dans la cellule E3sur Sheet1, et les données que je veux tirer est quelque part Sheet2. S'il n'y a pas de données sur Sheet2, je veux 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!

Michael
la source