Retour aux fonctions

IFERROR

Renvoie le premier argument s'il ne s'agit pas d'une valeur d'erreur, sinon renvoie le second argument s'il est présent, ou une valeur vide si le second argument est absent.

LogicalIFERROR(value, [value_if_error])

IFERROR (SIERREUR dans un Google Sheets en français) renvoie une valeur de votre choix quand une formule produit une erreur, et le résultat normal de la formule sinon. Elle garde vos rapports propres en remplaçant #N/A, #DIV/0! et leurs semblables par une cellule vide, un zéro ou un message clair.

Syntaxe

=IFERROR(value, [value_if_error])
  • value : La formule ou la valeur à évaluer.
  • value_if_error [Facultatif] : Ce qu'il faut renvoyer si value est une erreur. Si omis, IFERROR renvoie une cellule vide.

Exemples de base

=IFERROR(A1 / B1, 0)

Renvoie 0 au lieu de #DIV/0! quand B1 vaut zéro ou est vide.

=IFERROR(VLOOKUP(E2, A2:C100, 3, FALSE), "Introuvable")

Affiche Introuvable quand la clé de recherche n'existe pas, au lieu de #N/A.

=IFERROR(A1 / B1)

Sans deuxième argument, la cellule reste vide en cas d'erreur.

Quelles erreurs intercepte-t-elle ?

IFERROR intercepte tous les types d'erreur :

  • #N/A : une recherche qui n'a rien trouvé
  • #DIV/0! : division par zéro
  • #VALUE! : mauvais type d'argument
  • #REF! : référence invalide
  • #NAME? : fonction ou texte non reconnu
  • #NUM! : nombre invalide
  • #ERROR! : erreur d'analyse de la formule

Le risque : masquer de vrais problèmes

Comme elle intercepte tout, IFERROR peut enterrer de vraies erreurs. Une faute de frappe dans un nom de fonction, une colonne supprimée ou une plage cassée deviennent votre valeur de repli, et la feuille a l'air correcte tout en donnant de mauvais chiffres.

Bonnes habitudes :

  • Construisez et testez la formule sans IFERROR, et ajoutez-la seulement à la fin.
  • Utilisez un repli visible. "À vérifier" ou "n/d" se repère plus facilement que 0 ou une cellule vide.
  • N'entourez que la partie qui peut légitimement échouer, pas toute la formule :
=A1 * IFERROR(VLOOKUP(E2, Taux!A:B, 2, FALSE), 1)

IFNA : un choix plus sûr pour les recherches

IFNA n'intercepte que #N/A, l'erreur obtenue quand une recherche ne trouve aucune correspondance. Les autres erreurs restent visibles, donc les vrais bugs ne sont pas masqués :

=IFNA(VLOOKUP(E2, A2:C100, 3, FALSE), "Introuvable")

Préférez IFNA quand le seul échec attendu est « introuvable ». Utilisez IFERROR quand plusieurs types d'erreur sont acceptables, comme la division par zéro et les recherches sans résultat réunies.

Formules pratiques

Remplir une colonne de recherches

=ARRAYFORMULA(IFERROR(VLOOKUP(A2:A, Prix!A:B, 2, FALSE), ""))

Moyennes et pourcentages sûrs

=IFERROR(SUM(B2:B10) / COUNT(B2:B10), 0)
=IFERROR(C2 / B2, "")

Se rabattre sur une autre source

Enchaînez des IFERROR pour tenter une deuxième recherche quand la première échoue :

=IFERROR(VLOOKUP(A2, Feuille1!A:B, 2, FALSE), IFERROR(VLOOKUP(A2, Feuille2!A:B, 2, FALSE), "Dans aucune des deux"))

Convertir du texte en toute sécurité

=IFERROR(VALUE(A2), A2)

Convertit le texte en nombre quand c'est possible, et conserve l'original sinon.

Compter ou additionner malgré les erreurs

Si une plage contient des erreurs, SUM échoue aussi. Nettoyez la plage avec IFERROR dans une ARRAYFORMULA :

=SUM(ARRAYFORMULA(IFERROR(A2:A100, 0)))

Erreurs fréquentes

  • Un repli qui ressemble à une vraie donnée. Renvoyer 0 pour un prix manquant donne l'impression que les totaux sont justes alors qu'ils ne le sont pas.
  • Tout entourer. =IFERROR(énorme formule, "") masque tous les bugs de la formule.
  • S'attendre à ce qu'elle corrige la cause. IFERROR ne change que l'affichage. Si vous voyez beaucoup de valeurs de repli, examinez les données : espaces en fin de texte, différences texte/nombre et clés manquantes sont les causes habituelles.
  • L'utiliser pour des vérifications logiques. Pour bifurquer selon une condition, utilisez IF. IFERROR ne sert qu'aux erreurs.

IFERROR, IF(ISERROR()) ou IFNA ?

IFERROR(x, y) est une forme plus courte de IF(ISERROR(x), y, x) qui n'évalue x qu'une seule fois. IFNA est la version plus étroite, limitée à #N/A.

Questions fréquentes

IFERROR ralentit-elle la feuille ? Non, pas de façon notable.

Peut-on renvoyer une formule en repli ? Oui. Le deuxième argument peut être n'importe quelle expression.

Que renvoie-t-elle si j'omets le deuxième argument ? Une cellule vide.

Fonctionne-t-elle dans ARRAYFORMULA ? Oui, et elle traite chaque ligne séparément.

Fonctions associées

  • IF : Renvoie des valeurs différentes selon une condition.
  • IFS : Teste plusieurs conditions dans l'ordre.
  • VLOOKUP : Source fréquente d'erreurs #N/A.
  • XLOOKUP : Une recherche avec valeur « introuvable » intégrée.
  • ARRAYFORMULA : Applique une formule à toute une plage.

Articles associés

Newsletter

Plus d'exemples sur IFERROR arrivent bientôt.

Nous préparons des mises à jour courtes et pratiques pour les utilisateurs avancés de Sheets.