2012-03-05 15:21:17 +0000 2012-03-05 15:21:17 +0000
21
21

Remplacer rapidement #N/A par 0 quand vlookup

J'utilise beaucoup vlookup dans excel.

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

Dans ce cas, nous la remplaçons souvent par 0 en utilisant

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

qui répètent vlookup(what,range,column,false) deux fois et font que la formule me semble laide & factice.

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

Réponses (3)

32
32
32
2012-03-05 15:46:58 +0000

Quelle version d'Excel ? Dans Excel 2007 ou plus tard, vous pouvez utiliser la fonction IFERROR comme ceci

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

5
5
5
2016-04-28 13:54:54 +0000

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.

1
1
1
2014-06-27 04:29:18 +0000

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/A par un 0, mais je veux plutôt utiliser des informations alternatives. Dans mon cas, si le VLOOKUP ne trouve rien, je veux qu'il utilise le contenu d'une autre cellule. (J'utilise Excel 2010, mais cela ne devrait pas avoir d'importance) Supposons que ma formule dans la cellule E3 sur Sheet1, et les données que je veux tirer se trouvent quelque part sur Sheet2. Si aucune donnée ne se trouve sur Sheet2, alors je veux que ma cellule utilise les données de Sheet1.

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

_Au premier répondant, MERCI. Vous m'avez rendu la vie un peu plus facile ce soir. J'espère que mon développement incohérent de votre réponse aidera quelqu'un aussi !