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?
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)
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.
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!