Monsieur Excel
Pour tout savoir faire sur Excel !

12 novembre 2012

La fonction sierreur()


La fonction sierreur() est une des nouvelles fonctions d’Excel 2007. Elle teste une expression et, si cette expression aboutit à une erreur, affiche à sa place le résultat que vous voulez.

La syntaxe de la fonction est =sierreur(valeur;valeur_si_erreur)

L’aide d’Excel souligne le fait que le premier argument peut être une formule matricielle, mais en fournissant un exemple totalement ridicule où l’on ne voit pas ce que la formule matricielle apporte par rapport à la simple recopie vers le bas d’une formule simple, non matricielle. Pourquoi faire simple quand on peut faire compliqué !

Dans l’exemple ci-dessus, nous avons entré en C2 la formule =sierreur(A2/B2; ""). Cette formule nous a servi à filtrer les erreurs #DIV/0! en C4 et #NA! en C8.

La fonction sierreur() est très pratique pour éviter – comme on le voit souvent dans des modèles professionnels – le doublement des expressions dans le style :
=si(estna(index(G:G;equiv(A3;B:B;0)));"";index(G:G;equiv(A3;B:B;0)))

En effet, avec de tells formules, l’expression index(G:G;equiv(A3;B:B;0)) sera calculée en général deux fois, la première pour vérifier s’il y a erreur, la seconde pour engendrer le résultat.

Cette fonction est très utile et permet donc d’alléger vos modèles, en taille comme en temps de calcul. Elle comporte cependant deux écueils :

  • elle ne permet pas de filtrer selon le type d’erreur, comme on peut le faire une fonction comme estna() qui permet de ne filtrer que les erreurs de type #NA!
  • elle aboutira à une erreur  #NOM! quand votre modèle sera ouvert avec une version d’Excel antérieure à la version 2007.