Comment utiliser IFERROR dans Excel avec des exemples de formule

  • Partage Ça
Michael Brown

Ce tutoriel montre comment utiliser la fonction IFERROR dans Excel pour détecter les erreurs et les remplacer par une cellule vide, une autre valeur ou un message personnalisé. Vous apprendrez à utiliser la fonction IFERROR avec Vlookup et Index Match, et comment elle se compare à IF ISERROR et IFNA.

"Donnez-moi un endroit où me tenir, et je déplacerai la terre", a dit un jour Archimède. Donnez-moi une formule, et je lui ferai renvoyer une erreur", dirait un utilisateur d'Excel. Dans ce tutoriel, nous ne chercherons pas à savoir comment renvoyer des erreurs dans Excel, mais plutôt comment les prévenir afin de garder vos feuilles de travail propres et vos formules transparentes.

    Fonction IFERROR d'Excel - syntaxe et utilisations de base

    La fonction IFERROR d'Excel est conçue pour détecter et gérer les erreurs dans les formules et les calculs. Plus précisément, IFERROR vérifie une formule et, en cas d'erreur, renvoie une autre valeur que vous avez spécifiée ; sinon, elle renvoie le résultat de la formule.

    La syntaxe de la fonction IFERROR d'Excel est la suivante :

    IFERROR(valeur, valeur_if_error)

    Où :

    • Valeur (obligatoire) - ce qui doit être vérifié pour les erreurs. Cela peut être une formule, une expression, une valeur ou une référence de cellule.
    • Valeur_si_erreur (obligatoire) - ce qui doit être renvoyé en cas d'erreur. Il peut s'agir d'une chaîne vide (cellule vide), d'un message texte, d'une valeur numérique, d'une autre formule ou d'un autre calcul.

    Par exemple, lorsque vous divisez deux colonnes de chiffres, vous pouvez obtenir un tas d'erreurs différentes si l'une des colonnes contient des cellules vides, des zéros ou du texte.

    Pour éviter que cela ne se produise, utilisez la fonction IFERROR pour attraper et traiter les erreurs comme vous le souhaitez.

    Si erreur, alors blanc

    Fournir une chaîne vide (") à la valeur_si_erreur pour retourner une cellule vide si une erreur est trouvée :

    =IFERROR(A2/B2, "")

    En cas d'erreur, afficher un message

    Vous pouvez également afficher votre propre message au lieu de la notation d'erreur standard d'Excel :

    =IFERROR(A2/B2, "Erreur de calcul")

    5 choses à savoir sur la fonction IFERROR d'Excel

    1. La fonction IFERROR d'Excel traite tous les types d'erreur, y compris #DIV/0 !, #N/A, #NAME ?, #NULL !, #NUM !, #REF ! et #VALUE !
    2. En fonction du contenu du valeur_si_erreur IFERROR peut remplacer les erreurs par un message texte personnalisé, un nombre, une date ou une valeur logique, le résultat d'une autre formule ou une chaîne vide (cellule vierge).
    3. Si le valeur est une cellule vide, il est traité comme une chaîne vide (''') mais pas comme une erreur.
    4. IFERROR a été introduit dans Excel 2007 et est disponible dans toutes les versions ultérieures d'Excel 2010, Excel 2013, Excel 2016, Excel 2019, Excel 2021 et Excel 365.
    5. Pour piéger les erreurs dans Excel 2003 et les versions antérieures, utilisez la fonction ISERROR en combinaison avec IF, comme le montre cet exemple.

    Exemples de formules IFERROR

    Les exemples suivants montrent comment utiliser IFERROR dans Excel en combinaison avec d'autres fonctions pour accomplir des tâches plus complexes.

    Excel IFERROR avec Vlookup

    L'une des utilisations les plus courantes de la fonction IFERROR consiste à indiquer aux utilisateurs que la valeur qu'ils recherchent n'existe pas dans l'ensemble de données. Pour cela, il faut envelopper une formule VLOOKUP dans IFERROR comme ceci :

    IFERROR(VLOOKUP( ... ), "Non trouvé")

    Si la valeur de la consultation ne se trouve pas dans la table que vous recherchez, une formule Vlookup normale renverrait l'erreur #N/A :

    Pour la tranquillité d'esprit de vos utilisateurs, enveloppez VLOOKUP dans IFERROR et affichez un message plus informatif et plus convivial :

    =IFERROR(VLOOKUP(A2, 'Lookup table'!$A$2:$B$4, 2,FALSE), "Not found")

    La capture d'écran ci-dessous montre cette formule Iferror dans Excel :

    Si vous souhaitez capturer uniquement les erreurs #N/A mais pas toutes les erreurs, utilisez la fonction IFNA au lieu de IFERROR.

    Pour d'autres exemples de formules Excel IFERROR VLOOKUP, veuillez consulter ces didacticiels :

    • Iferror avec Vlookup pour piéger et traiter les erreurs
    • Comment obtenir la Nième occurrence d'une valeur de référence ?
    • Comment obtenir toutes les occurrences d'une valeur de recherche ?

    Fonctions IFERROR imbriquées pour effectuer des Vlookups séquentiels dans Excel

    Lorsque vous devez exécuter plusieurs Vlookups en fonction de la réussite ou de l'échec de la Vlookup précédente, vous pouvez imbriquer deux ou plusieurs fonctions IFERROR l'une dans l'autre.

    Supposons que vous disposiez d'un certain nombre de rapports de ventes provenant des succursales régionales de votre entreprise et que vous souhaitiez obtenir un montant pour un certain ID de commande. Avec A2 comme valeur de référence dans la feuille actuelle et A2:B5 comme plage de référence dans 3 feuilles de référence (Rapport 1, Rapport 2 et Rapport 3), la formule est la suivante :

    =IFERROR(VLOOKUP(A2,'Report 1'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 2'!A2:B5,2,0),IFERROR(VLOOKUP(A2,'Report 3'!A2:B5,2,0), "not found")))

    Le résultat ressemblera à ceci :

    Pour une explication détaillée de la logique de la formule, veuillez consulter la rubrique Comment effectuer des Vlookups séquentiels dans Excel.

    IFERROR dans les formules de tableaux

    Comme vous le savez probablement, les formules de tableau dans Excel sont destinées à effectuer plusieurs calculs dans une seule formule. Si vous fournissez une formule de tableau ou une expression qui donne lieu à un tableau dans le champ valeur de la fonction IFERROR, elle renvoie un tableau de valeurs pour chaque cellule de la plage spécifiée. L'exemple ci-dessous montre les détails.

    Disons que vous avez Total dans la colonne B et Prix dans la colonne C, et vous voulez calculer Quantité totale Cela peut être fait en utilisant les éléments suivants la formule du tableau, qui divise chaque cellule de la plage B2:B4 par la cellule correspondante de la plage C2:C4, puis additionne les résultats :

    =SOMME($B$2:$B$4/$C$2:$C$4)

    La formule fonctionne bien tant que la plage de diviseurs ne comporte pas de zéros ou de cellules vides. S'il y a au moins une valeur 0 ou une cellule vide, l'erreur #DIV/0 ! est renvoyée :

    Pour corriger cette erreur, il suffit d'effectuer la division dans la fonction IFERROR :

    =SOMME(IFERROR($B$2:$B$4/$C$2:$C$4,0))

    La formule divise une valeur de la colonne B par une valeur de la colonne C dans chaque ligne (100/2, 200/5 et 0/0) et renvoie le tableau de résultats {50 ; 40 ; #DIV/0!}. La fonction IFERROR détecte toutes les erreurs #DIV/0 ! et les remplace par des zéros. Ensuite, la fonction SUM additionne les valeurs du tableau résultant {50 ; 40 ; 0} et renvoie le résultat final (50+40=90).

    Remarque : n'oubliez pas que les formules de tableau doivent être complétées en appuyant sur le raccourci Ctrl + Shift + Enter.

    IFERROR vs. IF ISERROR

    Maintenant que vous savez à quel point il est facile d'utiliser la fonction IFERROR dans Excel, vous vous demandez peut-être pourquoi certaines personnes préfèrent encore utiliser la combinaison IF ISERROR. Cette dernière présente-t-elle des avantages par rapport à IFERROR ? Aucun. Dans le mauvais vieux temps d'Excel 2003 et des versions inférieures, lorsque IFERROR n'existait pas, IF ISERROR était le seul moyen possible de détecter les erreurs. Dans Excel 2007 et les versions ultérieures, il s'agit simplement d'un moyen un peu plus complexe d'éviter les erreurs.obtenir le même résultat.

    Par exemple, pour détecter les erreurs de Vlookup, vous pouvez utiliser l'une des formules suivantes.

    Dans Excel 2007 - Excel 2016 :

    IFERROR(VLOOKUP( ... ), "Non trouvé")

    Dans toutes les versions d'Excel :

    IF(ISERROR(VLOOKUP(...)), "Not found", VLOOKUP(...))

    Remarquez que dans la formule IF ISERROR VLOOKUP, vous devez effectuer deux fois la Vlookup. En clair, la formule peut être lue comme suit : si la Vlookup donne lieu à une erreur, renvoyer "Not found", sinon, afficher le résultat de la Vlookup.

    Et voici un exemple concret d'une formule Excel If Iserror Vlookup :

    =IF(ISERROR(VLOOKUP(D2, A2:B5,2,FALSE)), "Not found", VLOOKUP(D2, A2:B5,2,FALSE ))

    Pour plus d'informations, veuillez consulter la section Utilisation de la fonction ISERROR dans Excel.

    IFERROR vs. IFNA

    Introduite dans Excel 2013, IFNA est une fonction supplémentaire permettant de vérifier la présence d'erreurs dans une formule. Sa syntaxe est similaire à celle de IFERROR :

    IFNA(valeur, valeur_if_na)

    En quoi la fonction IFNA diffère-t-elle de la fonction IFERROR ? La fonction IFNA permet d'attraper uniquement les erreurs #N/A tandis que IFERROR traite tous les types d'erreur.

    Dans quelles situations pouvez-vous utiliser l'IFNA ? Lorsqu'il n'est pas judicieux de dissimuler toutes les erreurs. Par exemple, lorsque vous travaillez avec des données importantes ou sensibles, vous pouvez vouloir être alerté des défauts possibles dans votre ensemble de données, et les messages d'erreur standard d'Excel avec le symbole "#" pourraient être des indicateurs visuels vivants.

    Voyons comment créer une formule qui affiche le message "Non trouvé" au lieu de l'erreur N/A, qui apparaît lorsque la valeur de référence n'est pas présente dans l'ensemble de données, mais qui attire l'attention sur d'autres erreurs Excel.

    Supposons que vous souhaitiez faire passer Qté de la table de consultation au tableau récapitulatif, comme le montre la capture d'écran ci-dessous. L'utilisation de la formule Excel Iferror Vlookup produirait un résultat esthétiquement agréable, mais techniquement incorrect, car Citrons existent dans la table de consultation :

    Pour attraper #N/A mais afficher l'erreur #DIV/0, utilisez la fonction IFNA dans Excel 2013 et Excel 2016 :

    =IFNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE), "Non trouvé")

    Ou, la combinaison IF ISNA dans Excel 2010 et les versions antérieures :

    =IF(ISNA(VLOOKUP(F3,$A$3:$D$6,4,FALSE)), "Not found", VLOOKUP(F3,$A$3:$D$6,4,FALSE))

    La syntaxe des formules IFNA VLOOKUP et IF ISNA VLOOKUP est similaire à celle des formules IFERROR VLOOKUP et IF ISERROR VLOOKUP présentées précédemment.

    Comme le montre la capture d'écran ci-dessous, la formule Ifna Vlookup renvoie la mention "Non trouvé" uniquement pour l'élément qui n'est pas présent dans la table de recherche ( Pêches ). pour Citrons il affiche #DIV/0 ! indiquant que notre table de conversion contient une erreur de division par zéro :

    Pour plus de détails, veuillez consulter la section Utilisation de la fonction IFNA dans Excel.

    Meilleures pratiques pour l'utilisation de IFERROR dans Excel

    Vous savez déjà que la fonction IFERROR est le moyen le plus simple de détecter les erreurs dans Excel et de les masquer par des cellules vides, des valeurs nulles ou des messages personnalisés. Toutefois, cela ne signifie pas que vous devez intégrer la gestion des erreurs dans chaque formule. Les recommandations simples suivantes peuvent vous aider à maintenir l'équilibre.

    1. Ne bloquez pas les erreurs sans raison.
    2. Enveloppe la plus petite partie possible d'une formule dans IFERROR.
    3. Pour ne traiter que des erreurs spécifiques, utilisez une fonction de gestion des erreurs de portée plus réduite :
      • IFNA ou IF ISNA pour ne retenir que les erreurs #N/A.
      • ISERR pour attraper toutes les erreurs sauf #N/A.

    C'est ainsi que vous utilisez la fonction IFERROR dans Excel pour détecter et traiter les erreurs. Pour voir de plus près les formules abordées dans ce tutoriel, nous vous invitons à télécharger notre exemple de classeur Excel IFERROR. Je vous remercie de votre lecture et j'espère vous voir sur notre blog la semaine prochaine.

    Michael Brown est un passionné de technologie passionné par la simplification de processus complexes à l'aide d'outils logiciels. Avec plus d'une décennie d'expérience dans l'industrie de la technologie, il a perfectionné ses compétences dans Microsoft Excel et Outlook, ainsi que dans Google Sheets et Docs. Le blog de Michael est dédié au partage de ses connaissances et de son expertise avec les autres, en fournissant des conseils et des tutoriels faciles à suivre pour améliorer la productivité et l'efficacité. Que vous soyez un professionnel chevronné ou un débutant, le blog de Michael offre des informations précieuses et des conseils pratiques pour tirer le meilleur parti de ces outils logiciels essentiels.