Traiter les résultats #N/D et #VALEUR dans une formule LibreOffice Calc
Après avoir réussi à écrire une magnifique formule qui fait exactement ce que vous souhaitez, il est particulièrement pénible d’avoir des résultats du type #N/D.
Pour ma part j’utilise énormément la fonction RECHERCHEV() et forcément quand la valeur n’est pas trouvée, c’est #N/D qui s’affiche.
J’ai fini par découvrir la fonction ESTNA() et peu de temps après la fonction ESTERR() qui permettent de prendre en compte ces résultats. En rédigeant cet article, je vois qu’il existe aussi d’autres fonctions permettant de prendre en compte les valeurs d’erreur dans les formules.
#N/D ou #N/A
Dans ma configuration (Ubuntu + LibreOffice Calc) le message d’erreur affiché est #N/D. Cependant dans la littérature, on parle toujours de l’erreur #N/A. Je suppose donc qu’avec Windows et/ou Microsoft Office, c’est ainsi que le résultat « non trouvé » s’affiche. Dans cet article #N/D peut être remplacé par #N/A selon votre cas.
La fonction SINA()
Cette fonction renvoie la valeur si la cellule ne contient pas l’erreur #N/D (valeur non disponible) ou la valeur alternative dans le cas contraire.
Syntaxe
SINA(valeur;valeur_alternative)
- valeur est la valeur ou l’expression renvoyée si elle n’est pas une erreur #N/D.
- valeur_alternative est la valeur ou l’expression renvoyée si elle est une erreur #N/D.
Exemple
Dans un classeur, la feuille « Inscriptions » comporte dans la colonne A les noms et dans la colonne B une date d’inscription (un export d’un formulaire par exemple). Dans une autre feuille de ce même classeur, on veut récupérer cette information, sachant que la colonne A contient les noms.
La formule suivante permettra d’afficher par exemple dans la cellule F2 soit la date d’inscription si le nom de la personne est trouvé dans la colonne A de la feuille « Inscriptions », soit « non inscrit » ou rien du tout ou toute autre expression de votre choix si le nom n’est pas trouvé.
=SINA(RECHERCHEV(A2;$Inscriptions.$A$2:$B$100;2;0);"non inscrit")
ou pour ne rien afficher
=SINA(RECHERCHEV(A2;$Inscriptions.$A$2:$B$100;2;0);"")
Autres fonctions de tests d’erreur
ESTNA()
Cette fonction renvoie « VRAI » si elle trouve la valeur d’erreur #N/D.
ESTERR()
Cette fonction renvoie « VRAI » si elle trouve une valeur d’erreur autre que #N/D comme #VALEUR par exemple.
ESTERREUR()
Cette fonction renvoie « VRAI » si elle trouve une valeur d’erreur quelle qu’elle soit.
SIERREUR()
Cette fonction renvoie la valeur si la cellule ne contient pas une valeur d’erreur, ou la valeur alternative dans le cas contraire.
Syntaxe
SIERREUR(valeur;valeur_alternative)
- valeur est la valeur ou l’expression à retourner si elle n’est pas une erreur.
- valeur_alternative est la valeur ou l’expression à retourner si elle est une erreur.