Dans ce tutoriel, nous allons voir comment utiliser les fonctions IFERROR et VLOOKUP ensemble pour piéger et traiter différentes erreurs. En outre, vous allez apprendre à faire des vlookups séquentiels dans Excel en imbriquant plusieurs fonctions IFERROR les unes sur les autres.

Excel VLOOKUP et IFERROR – ces deux fonctions peuvent être assez difficiles à comprendre séparément, et encore moins lorsqu’elles sont combinées. Dans cet article, vous trouverez quelques exemples faciles à suivre qui traitent des utilisations courantes et illustrent clairement la logique des formules.

Si vous n’avez pas beaucoup d’expérience avec les fonctions IFERROR et VLOOKUP, il peut être judicieux de réviser d’abord leurs bases en suivant les liens ci-dessus.

  • IFERROR avec VLOOKUP pour gérer les erreurs
    • VLOOKUP et renvoyer votre propre texte au lieu de N/A error
    • VLOOKUP et renvoyer une cellule vide ou zéro si rien n’est trouvé
  • Nid IFERROR. dans VLOOKUP pour toujours trouver quelque chose
  • Vlookups séquentiels avec IFERRORs imbriqués

IFERROR Formule VLOOKUP pour gérer #N/A et autres erreurs

Quand Excel Vlookup ne parvient pas à trouver une valeur de consultation, il jette une erreur #N/A, comme ceci :

Selon les besoins de votre entreprise, vous pouvez vouloir déguiser l’erreur avec votre propre texte, un zéro ou une cellule vide.

Exemple 1. Formule Vlookup Iferror pour remplacer toutes les erreurs par votre propre texte

Si vous souhaitez remplacer la notation d’erreur standard par votre texte personnalisé, enveloppez votre formule VLOOKUP dans IFERROR, et tapez le texte que vous voulez dans le 2e argument (valeur_if_error), par exemple « Not found » :

IFERROR(VLOOKUP(…), « Not found »)

Avec la valeur de recherche en B2 dans la table principale et la plage de recherche A2:B4 dans la table de recherche, la formule prend la forme suivante :

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

La capture d’écran ci-dessous montre notre formule Excel IFERROR VLOOKUP en action :

Le résultat semble beaucoup plus compréhensible et beaucoup moins intimidant, n’est-ce pas ?

De manière similaire, vous pouvez utiliser INDEX MATCH avec IFERROR:

=IFERROR(INDEX('Lookup table'!$B:$B,MATCH(B2,'Lookup table'!$A:$A,0)), "Not found")

La formule IFERROR INDEX MATCH est particulièrement utile lorsque vous voulez tirer des valeurs d’une colonne qui se trouve à gauche de la colonne de recherche (left lookup), et retourner votre propre texte lorsque rien n’est trouvé.

Exemple 2. IFERROR avec VLOOKUP pour renvoyer un blanc ou 0 si rien n’est trouvé

Si vous ne voulez rien afficher lorsque la valeur de lookup n’est pas trouvée, faites en sorte que IFERROR affiche une chaîne vide («  ») :

IFERROR(VLOOKUP(…), » »)

Dans notre exemple, la formule se présente comme suit :

=IFERROR(VLOOKUP(B2,'Lookup table'!$A:$B, 2, FALSE), "")

Comme vous pouvez le voir, elle ne renvoie rien lorsque la valeur de recherche n’est pas dans la liste de recherche.

Si vous souhaitez remplacer l’erreur par la valeur zéro, mettez 0 dans le dernier argument:

=IFERROR(VLOOKUP(B2,'Lookup table'!$A:$B, 2, FALSE), 0)

Mot de prudence ! La fonction IFERROR d’Excel attrape toutes sortes d’erreurs, pas seulement #N/A. Est-ce une bonne ou une mauvaise chose ? Tout dépend de votre objectif. Si vous voulez masquer toutes les erreurs possibles, le Vlookup IFERROR est la solution. Mais il peut s’agir d’une technique peu judicieuse dans de nombreuses situations.

Par exemple, si vous avez créé une plage nommée pour les données de votre table, et que vous avez mal orthographié ce nom dans votre formule Vlookup, IFERROR attrapera une erreur #NAME ? et la remplacera par « Not found » ou tout autre texte que vous fournirez. Par conséquent, il se peut que vous ne sachiez jamais que votre formule produit des résultats erronés, à moins que vous ne repériez vous-même la faute de frappe. Dans ce cas, une approche plus raisonnable consisterait à ne piéger que les erreurs #N/A. Pour cela, utilisez la formule Vlookup IFNA dans Excel pour Office 365, Excel 209, Excel 2016 et Excel 2013, IF ISNA VLOOKUP dans toutes les versions d’Excel.

La ligne de fond est : soyez très prudent lorsque vous choisissez un compagnon pour votre formule VLOOKUP 🙂

Nicher IFERROR dans VLOOKUP pour toujours trouver quelque chose

Imaginez la situation suivante : vous recherchez une valeur spécifique dans une liste et ne la trouvez pas. Quels choix s’offrent à vous ? Soit vous obtenez une erreur N/A, soit vous affichez votre propre message. En fait, il y a une troisième option – si votre vlookup primaire trébuche, alors cherchez quelque chose d’autre qui est certainement là !

En poussant notre exemple plus loin, créons une sorte de tableau de bord pour nos utilisateurs qui leur montrera un numéro de poste d’un bureau spécifique. Quelque chose comme ceci:

Donc, comment tirer le poste de la colonne B en fonction du numéro de bureau en D2 ? Avec cette formule Vlookup ordinaire:

=VLOOKUP($D,$A:$B,2,FALSE)

Et cela fonctionnera bien tant que vos utilisateurs entreront un numéro valide dans D2. Mais que se passe-t-il si un utilisateur saisit un nombre qui n’existe pas ? Dans ce cas, laissez-les appeler le bureau central ! Pour cela, vous intégrez la formule ci-dessus dans l’argument valeur de IFERROR, et mettez un autre Vlookup dans l’argument valeur_if_error.

La formule complète est un peu longue, mais elle fonctionne parfaitement:

=IFERROR(VLOOKUP("office "&$D,$A:$B,2,FALSE),VLOOKUP("central office",$A:$B,2,FALSE))

Si le numéro du bureau est trouvé, l’utilisateur obtient le numéro de poste correspondant:

Si le numéro du bureau n’est pas trouvé, le poste du bureau central est affiché :

Pour rendre la formule un peu plus compacte, vous pouvez utiliser une approche différente:

D’abord, vérifiez si le numéro dans D2 est présent dans la colonne de recherche (veuillez noter que nous avons mis col_index_num à 1 pour que la formule recherche et renvoie la valeur de la colonne A) : VLOOKUP(D2,$A$2:$B$7,1,FALSE)

Si le numéro de bureau spécifié n’est pas trouvé, alors nous cherchons la chaîne de caractères « bureau central », qui est certainement dans la liste de recherche. Pour cela, on enveloppe le premier VLOOKUP dans IFERROR et on emboîte toute cette combinaison à l’intérieur d’une autre fonction VLOOKUP:

=VLOOKUP(IFERROR(VLOOKUP(D2,$A:$B,1,FALSE),"central office"),$A:$B,2)

Bien, une formule légèrement différente, le même résultat:

Mais quelle est la raison de rechercher « bureau central », me direz-vous. Pourquoi ne pas fournir le numéro de poste directement dans IFERROR ? Parce que l’extension peut changer à un moment donné dans le futur. Si cela se produit, vous devrez mettre à jour vos données une seule fois dans la table source, sans vous soucier de mettre à jour chacune de vos formules VLOOKUP.

Comment faire des VLOOKUP séquentiels dans Excel

Dans les situations où vous devez effectuer les Vlookups dits séquentiels ou enchaînés dans Excel selon qu’une consultation antérieure a réussi ou échoué, imbriquez deux ou plusieurs fonctions IFERROR pour exécuter vos Vlookups un par un :

IFERROR(VLOOKUP(…), IFERROR(VLOOKUP(…), IFERROR(VLOOKUP(…), « Not found »)))

La formule fonctionne selon la logique suivante :

Si la première VLOOKUP ne trouve rien, le premier IFERROR piège une erreur et exécute une autre VLOOKUP. Si le deuxième VLOOKUP échoue, le deuxième IFERROR capte une erreur et exécute le troisième VLOOKUP, et ainsi de suite. Si toutes les Vlookups trébuchent, le dernier IFERROR renvoie votre message.

Cette formule IFERROR imbriquée est particulièrement utile lorsque vous devez effectuer un Vlookup sur plusieurs feuilles comme le montre l’exemple ci-dessous.

Disons que vous avez trois listes de données homogènes dans trois feuilles de calcul différentes (numéros de bureau dans cet exemple), et que vous voulez obtenir un poste pour un certain numéro.

En supposant que la valeur de recherche se trouve dans la cellule A2 de la feuille actuelle, et que la plage de recherche est A2:B5 dans 3 feuilles de calcul différentes (Nord, Sud et Ouest), la formule suivante fonctionne à merveille :

=IFERROR(VLOOKUP(A2,North!$A:$B,2,FALSE), IFERROR(VLOOKUP(A2,South!$A:$B,2,FALSE), IFERROR(VLOOKUP(A2,West!$A:$B,2,FALSE),"Not found")))

Donc, notre formule de « Vlookups enchaînés » recherche dans les trois feuilles dans l’ordre où nous les avons imbriquées dans la formule, et apporte la première correspondance qu’elle trouve:

C’est ainsi que vous utilisez IFERROR avec VLOOKUP dans Excel. Je vous remercie de votre lecture et j’espère vous voir sur notre blog la semaine prochaine !

Téléchargements disponibles

Excel IFERROR VLOOKUP exemples de formule

Vous pouvez également être intéressé par

  • Fonction IFERROR d’Excel avec exemples de formule
  • Utiliser IF avec VLOOKUP dans Excel
  • Tutoriel VLOOKUP d’Excel pour les débutants

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.