Résumé
L’erreur #N/A n’est pas réellement une erreur. Il s’agit de la façon qu’à Excel de vous indiquer que la valeur cherchée n’est pas disponible dans la matrice (plage de cellules) que vous avez sélectionnée. C’est un cas fréquent et parfaitement normal.
Si vous constatez que votre valeur est présente dans la matrice mais qu’Excel ne la reconnaît pas, il peut s’agir de :
- La présence de caractères invisibles tels des espaces avant ou après votre texte ;
- Une erreur entre le format texte et le format nombre ;
- Une mauvaise sélection de la matrice.
Formules pour corriger #N/A
Présentation des solutions
= SI.NON.DISP( RECHERCHEV(...) ; valeur_si_na )
= SIERREUR( RECHERCHEV(...) ; valeur_si_erreur )
= SI( ESTNA( RECHERCHEV(...) ) ; valeur_si_na ; valeur_si_trouvé )
Avantages et inconvénients des formules
Solution | Commentaire |
---|---|
SI.NON.DISP | Avantages Corrige uniquement l'erreur N/A Permet la saisie d'une valeur de remplacement en cas d'erreur Inconvénients Ne permet pas la saisie d'une valeur de remplacement en cas de succès |
SIERREUR | Avantages Permet la saisie d'une valeur de remplacement en cas d'erreur Inconvénients Corrige tous types d'erreurs et masque des erreurs importantes |
SI + ESTNA | Avantages Permet la saisie d'une valeur de remplacement en cas de succès ou d'échec Inconvénients La valeur de remplacement en cas de succès est inutile si l'on souhaite uniquement récupérer le résultat de la recherche |
Explications
Pourquoi Excel affiche l’erreur #N/A ?
L’erreur #N/A vient indiquer que la valeur cherchée n’est pas présente dans les cellules sélectionnées. Dans la majorité des cas, il s’agit d’un élément tout à fait normal. Il peut s’agir du matricule d’un salarié absent, d’une référence pas encore disponible, d’un nom mal orthographié,…
Dans certains cas, cette erreur est plus problématique et plus compliquée à comprendre.
Identifier et corriger les erreurs complexes
De manière générale, pour résoudre des #N/A, je vous conseille de faire une recherche (ctrl+F) et taper la valeur souhaitée et non retrouvée par votre fonction de recherche. De là, il existe plusieurs erreurs courantes :
- Présence d’espaces avant ou après les textes : à corriger avec la fonction SUPPRESPACE ou avec la fonctionnalité recherche et remplace.
= SUPPRESPACE( cellule )
- La valeur cherchée est au format texte et la valeur dans la matrice est au format nombre (ou inversement) : mettez toutes les valeurs dans le même type de format ou forcez l’interprétation du format par Excel.
= RECHERCHEV( valeur_cherchée ;
CNUM( matrice ) ;
index_col ;
[valeur_proche] )
- La matrice n’a pas été correctement sélectionnée : vérifiez l’utilisation des dollars.
Enlever les #N/A avec la fonction SI.NON.DISP
La fonction SI.NON.DISP permet d’encapsuler la fonction de recherche et d’indiquer une valeur de remplacement si cette dernière renvoie l’erreur #N/A. Si la fonction ne renvoie pas de #N/A, c’est le résultat de la recherche qui sera affiché.
= SI.NON.DISP( RECHERCHEV(...) ; valeur_si_na )
Enlever les #N/A avec la fonction SIERREUR
La fonction SIERREUR fonctionne comme la fonction SI.NON.DISP. Cependant, elle va apporter une valeur de remplacement pour toutes les erreurs potentiellement renvoyée par la fonction imbriquée. De fait, elle peut neutraliser des erreurs importantes. Dans l’exemple ci-dessous, j’ai mal orthographié la fonction RECHERCHEV. L’erreur renvoyée est alors #NOM. La fonction SIERREUR va m’afficher la valeur de remplacement et je risque de passer à côté d’une erreur nécessitant d’être corrigée.
= SIERREUR( RECHERCHEVVVVVV(...) ; valeur_si_erreur )
Enlever les #N/A avec la fonction SI et la fonction ESTNA
Cette dernière solution est intéressante pour les cas où l’on veut simplement vérifier la présence ou l’absence d’une valeur dans une plage de cellules. La fonction ESTNA renvoie VRAI
si la fonction de recherche indique #N/A et FAUX
dans le cas contraire. Associée à la fonction SI elle permet d’afficher une valeur si la recherche est fructueuse et une autre valeur si ça n’est pas le cas.
= SI( ESTNA( RECHERCHEV(...) ) ; "valeur absente" ; "valeur présente" )
Renvoyer une valeur vide
Dans la majorité des cas, on souhaite simplement afficher une cellule vide à la place de #N/A. Pour cela, il suffit d’indiquer en tant que valeur de remplacement les doubles guillemets. La cellule apparaîtra vide.
= SI.NON.DISP( RECHERCHEV(...) ; "" )
Formules en lien
- RECHERCHEV avec plusieurs critères
- Combiner INDEX et EQUIV
- SOMME de RECHERCHEV
- RECHERCHEV avec plusieurs résultats
- Corriger l’erreur #NOM?
- Corriger l’erreur #NOMBRE!
- Corriger l’erreur #NUL!
- Corriger l’erreur #REF!
- Corriger l’erreur #DIV/0!
- Corriger l’erreur #VALEUR!
- Corriger l’erreur #CALC!
- RECHERCHEV inversé
- Si RECHERCHEV est vrai alors
- Si erreur RECHERCHEV
- SI ESTNA RECHERCHEV
- Inverser colonnes et lignes
- Identifier des doublons avec RECHERCHEV
- Rechercher une valeur dans un tableau