Résumé
Pour vérifier si un RECHERCHEV est erroné, vous pouvez utiliser une formule avec la fonction SIERREUR et la fonction RECHERCHEV. Dans l’exemple ci-dessus, la formule en H4 est :
= SIERREUR( RECHERCHEV(D3;$B$3:$B$10;1;FAUX) ; "non" )
Cette formule vérifie si la valeur OD5894 est présente dans la liste des codes articles (plage B3:B10) et si tel est le cas, elle renvoie le code. Dans le cas contraire, elle renvoie « non ».
Formule Excel – Si erreur RECHERCHEV
= SIERREUR( RECHERCHEV(valeur;plage_recherche;no_index_col;FAUX) ; "non" )
Explications
Dans notre exemple, nous voulons vérifier si la fonction RECHERCHEV retourne une erreur. Si tel est le cas, nous voulons que soit renvoyée la valeur « non ». Pour cela, nous allons utiliser la fonction SIERREUR.
Si vous voulez contrer l’erreur #N/A, préférez la fonction SI.NON.DISP ou la fonction SI associée à la fonction ESTNA.
Fonction RECHERCHEV
La fonction RECHERCHEV permet de rechercher verticalement une valeur et de renvoyer une des valeurs située dans les cellules à sa droite. Dans notre cas, nous souhaitons juste vérifier la présence de la valeur dans la plage de cellules. Nous renvoyons comme résultat la valeur cherchée. Si la valeur est trouvée, elle sera renvoyée. Dans le cas contraire, ce sera l’erreur #N/A qui sera renvoyée.
= RECHERCHEV(D3;$B$3:$B$10;1;FAUX)
--> Résultat: "OD5894"
= RECHERCHEV(D4;$B$3:$B$10;1;FAUX)
--> Résultat: #N/A
Fonction SIERREUR
La fonction SIERREUR vérifie si la valeur renvoyée par une formule est une erreur (#N/A, #NOM?, #NOMBRE!, #NUL!, #REF!, #DIV/0!, #VALEUR!, #CALC!). Si c’est le cas, on peut renvoyer la valeur souhaitée. Dans le cas contraire, elle renverra la valeur de la formule.
= SIERREUR( RECHERCHEV(D3;$B$3:$B$10;1;FAUX) ; "non" )
--> Résultat: "OD5894"
= SIERREUR( RECHERCHEV(D4;$B$3:$B$10;1;FAUX) ; "non" )
--> Résultat: "non"
La majorité du temps, la fonction RECHERCHEV renverra une erreur banale comme #N/A. Cela signifie que la valeur n’a pas été trouvée dans la plage de recherche. Utiliser la fonction SIERREUR pour masquer des #N/A c’est prendre le risque de masquer des erreurs utiles (erreur de syntaxe sur le nom, références des cellules supprimées). Préférez alors les solutions suivantes.
Fonction SI.NON.DISP
La fonction SI.NON.DISP (disponible sur les versions récentes d’Excel) vérifie si la formule renvoie l’erreur #N/A et permet d’afficher une autre valeur (ex: renvoyer une valeur nulle).
= SI.NON.DISP( RECHERCHEV(D3;$B$3:$B$10;1;FAUX) ; "" )
Elle aura l’avantage de ne pas masquer les autres erreurs (#NOM, #VALEUR,…).
Fonction SI + Fonction ESTNA
La fonction ESTNA vérifie si une fonction renvoie l’erreur #N/A et si tel est le cas, elle renvoie la valeur VRAI. Dans le cas contraire, elle renvoie la valeur FAUX.
= ESTNA( RECHERCHEV(D3;$B$3:$B$10;1;FAUX) )
--> Résultat : FAUX
Associée à la fonction SI, elle permet d’afficher une valeur si la fonction RECHERCHEV est #N/A et une autre si la fonction ne retourne pas cette erreur.
= SI( ESTNA( RECHERCHEV(D3;$B$3:$B$10;1;FAUX) ; "erreur" ; "pas d'erreur" )
--> Résultat : "pas d'erreur"
Formules en lien
- RECHERCHEV avec plusieurs critères
- RECHERCHEV avec plusieurs résultats
- SOMME de RECHERCHEV
- Combiner INDEX et EQUIV
- INDEX EQUIV avec plusieurs critères
- Corriger l’erreur #N/A
- RECHERCHEX plusieurs critères
- SI ESTNA RECHERCHEV
- Inverser colonnes et lignes