
Formule générique
=IF(VLOOKUP(A1,data,col,0)="","",VLOOKUP(A1,data,col,0))
Sommaire
Pour vérifier les cellules vides dans les résultats RECHERCHEV, vous pouvez combiner la fonction RECHERCHEV avec la fonction IF. Dans l'exemple illustré, la formule dans G5, copiée vers le bas, est:
=IF(VLOOKUP(E5,data,2,0)="","",VLOOKUP(E5,data,2,0))
où "données" est la plage nommée B5: C11.
Le contexte
Lorsque VLOOKUP ne trouve pas de valeur dans une table de recherche, il renvoie l'erreur # N / A. Vous pouvez utiliser la fonction IFNA ou la fonction IFERROR pour intercepter cette erreur. Cependant, lorsque le résultat dans une table de recherche est une cellule vide, aucune erreur n'est générée, RECHERCHEV renvoie simplement un zéro.
Cela peut entraîner des problèmes lorsque la table de recherche contient des valeurs nulles réelles, car cela suggère que les cellules vides de la table de recherche contiennent également des zéros, alors qu'elles sont en fait vides. Pour contourner ce problème, vous pouvez tester le résultat de VLOOKUP explicitement avec la fonction IF, puis renvoyer un résultat personnalisé si vous trouvez une chaîne vide.
Explication
Pour tester directement le résultat de RECHERCHEV, nous utilisons la fonction IF comme ceci:
=IF(VLOOKUP(E5,data,2,0)="",""
Traduit: si le résultat de RECHERCHEV est une chaîne vide (""), renvoie une chaîne vide.
Si le résultat de RECHERCHEV n'est pas une chaîne vide, exécutez à nouveau RECHERCHEV et renvoyez un résultat normal:
VLOOKUP(E5,data,2,0)
Notez que dans les deux cas, le quatrième argument de RECHERCHEV est mis à zéro pour forcer une correspondance exacte.
Alternative avec LEN ou ISNUMBER
En fonction de vos besoins, vous pouvez développer l'idée ci-dessus pour exécuter des tests plus spécifiques. Par exemple, pour tester les cellules qui ont littéralement zéro caractère (c'est-à-dire une longueur de zéro), vous pouvez utiliser la fonction LEN comme ceci:
=IF(LEN(VLOOKUP(E5,data,2,0))=0,"",VLOOKUP(E5,data,2,0))
Pour tester uniquement les résultats numériques, vous pouvez utiliser la fonction ISNUMBER et réorganiser la logique comme suit:
=IF(ISNUMBER(VLOOKUP(E5,data,2,0)),VLOOKUP(E5,data,2,0),"")
Traduit: si le résultat de RECHERCHEV est un nombre, retourne une recherche normale. Sinon, retournez une chaîne vide ("").