Table des matières
Le tutoriel montre comment combiner V Vous apprendrez également comment utiliser les formules VLOOKUP IF ISNA pour remplacer les erreurs #N/A par votre propre texte, un zéro ou une cellule vide.
Si les fonctions VLOOKUP et IF sont utiles en elles-mêmes, ensemble, elles offrent des expériences encore plus précieuses. Ce tutoriel implique que vous vous souveniez bien de la syntaxe des deux fonctions, sinon vous pouvez rafraîchir vos connaissances en suivant les liens ci-dessus.
Vlookup avec l'instruction If : retourner Vrai/Faux, Oui/Non, etc.
L'un des scénarios les plus courants lorsque vous combinez If et Vlookup est de comparer la valeur renvoyée par Vlookup avec une valeur échantillon et de renvoyer Oui / Non ou Vrai / Faux comme résultat.
Dans la plupart des cas, la formule générique suivante conviendrait parfaitement :
Traduite en anglais simple, la formule demande à Excel de retourner Véritable si Vlookup est vrai (c'est-à-dire égal à la valeur spécifiée). Si Vlookup est faux (non égal à la valeur spécifiée), la formule retourne Faux .
Vous trouverez ci-dessous quelques utilisations réelles de cette formule IF Vlookup.
Exemple 1 : recherche d'une valeur spécifique
Disons que vous avez une liste d'articles dans la colonne A et la quantité dans la colonne B. Vous créez un tableau de bord pour vos utilisateurs et vous avez besoin d'une formule qui vérifierait la quantité pour un article dans E1 et informerait l'utilisateur si l'article est en stock ou épuisé.
Vous obtenez la quantité avec un Vlookup régulier avec une formule de correspondance exacte comme ceci :
=VLOOKUP(E1,$A$2:$B$10,2,FALSE)
Ensuite, écrivez une instruction IF qui compare le résultat de Vlookup à zéro, et renvoie "Non" s'il est égal à 0, "Oui" sinon :
=IF(VLOOKUP(E1,$A$2:$B$10,2,FALSE)=0, "Non", "Oui")
Au lieu de Oui/Non vous pouvez retourner VRAI/FAUX ou En stock/épuisé ou n'importe quels autres deux choix. Par exemple :
=IF(VLOOKUP(E1,$A$2:$B$10,2)=0, "Sold out", "In stock")
Vous pouvez également comparer la valeur renvoyée par Vlookup avec l'échantillon texte Dans ce cas, veillez à mettre une chaîne de texte entre guillemets, comme ceci :
=IF(VLOOKUP(E1,$A$2:$B$10,2)="texte échantillon",TRUE,FALSE)
Exemple 2 : Comparer le résultat de Vlookup avec une autre cellule
Un autre exemple typique de Vlookup avec condition If dans Excel est la comparaison de la sortie de Vlookup avec une valeur dans une autre cellule. Par exemple, nous pouvons vérifier si elle est supérieure ou égale à un nombre dans la cellule G2 :
=IF(VLOOKUP(E1,$A$2:$B$10,2)>=G2, "Oui !", "Non")
Et voici notre formule If avec Vlookup en action :
De la même manière, vous pouvez utiliser tout autre opérateur logique avec une référence de cellule dans votre formule Excel If Vlookup.
Exemple 3 : Valeurs Vlookup dans une liste plus courte
Pour comparer chaque cellule de la colonne cible avec une autre liste et retourner Véritable ou Oui si une correspondance est trouvée, Faux ou Non sinon, utilisez cette formule générique IF ISNA VLOOKUP :
IF(ISNA( VLOOKUP(...)), "Non", "Oui")Si Vlookup donne lieu à l'erreur #N/A, la formule renvoie "Non", ce qui signifie que la valeur recherchée ne se trouve pas dans la liste de recherche. Si la correspondance est trouvée, "Oui" est renvoyé. Par exemple :
=IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Non", "Oui")
Si votre logique commerciale exige des résultats opposés, il suffit d'intervertir "Oui" et "Non" pour inverser la logique de la formule :
=IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)), "Oui", "Non")
Excel Si la formule Vlookup permet d'effectuer différents calculs
Outre l'affichage de vos propres messages textuels, la fonction If avec Vlookup peut effectuer différents calculs sur la base des critères que vous spécifiez.
Pour aller plus loin dans notre exemple, calculons la commission d'un vendeur spécifique (F1) en fonction de son efficacité : 20 % de commission pour ceux qui ont gagné 200 $ et plus, 10 % pour tous les autres.
Pour cela, vous vérifiez si la valeur retournée par Vlookup est supérieure ou égale à 200, et si c'est le cas, vous la multipliez par 20%, sinon par 10% :
=IF(VLOOKUP(F1,$A$2:$C$10,3,FALSE )>=200, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*20%, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*10%)
Où A2:A10 sont les noms des vendeurs et C2:C10 sont les ventes.
IF ISNA VLOOKUP pour cacher les erreurs #N/A
Si la fonction VLOOKUP ne trouve pas une valeur spécifiée, elle génère une erreur #N/A. Pour corriger cette erreur et la remplacer par votre propre texte, intégrez une formule Vlookup dans le test logique de la fonction IF, comme ceci :
IF(ISNA(VLOOKUP(...)), "Not found", VLOOKUP(...))Naturellement, vous pouvez taper le texte de votre choix à la place de "Not found".
Supposons que vous ayez une liste de noms de vendeurs dans une colonne et les montants des ventes dans une autre colonne. Votre tâche est de tirer un numéro correspondant au nom que l'utilisateur entre dans F1. Si le nom n'est pas trouvé, affichez un message l'indiquant.
Avec les noms en A2:A10 et les montants C2:C10, la tâche peut être accomplie avec la formule If Vlookup suivante :
=IF(ISNA(VLOOKUP(F1,$A$2:$C$10,3,FALSE)), "Not found", VLOOKUP(F1,$A$2:$C$10,3,FALSE))
Si le nom est trouvé, un montant de vente correspondant est retourné :
Si la valeur recherchée n'est pas trouvée, la fonction Non trouvé apparaît au lieu de l'erreur #N/A :
Comment fonctionne cette formule
La logique de la formule est très simple : vous utilisez la fonction ISNA pour vérifier que Vlookup ne contient pas d'erreurs #N/A. Si une erreur se produit, ISNA renvoie VRAI, sinon FAUX. Les valeurs ci-dessus vont au test logique de la fonction IF, qui fait l'une des choses suivantes :
- Si le test logique est VRAI (erreur #N/A), votre message s'affiche.
- Si le test logique est FAUX (la valeur de la consultation est trouvée), Vlookup renvoie une correspondance normalement.
IFNA VLOOKUP dans les nouvelles versions d'Excel
À partir d'Excel 2013, vous pouvez utiliser la fonction IFNA au lieu de IF ISNA pour attraper et traiter les erreurs #N/A :
IFNA(VLOOKUP(...), " Non trouvé ")Dans notre exemple, la formule prendrait la forme suivante :
=IFNA(VLOOKUP(F1,$A$2:$C$10,3, FALSE), "Non trouvé")
Astuce : si vous souhaitez détecter toutes sortes d'erreurs, et pas seulement les #N/A, utilisez VLOOKUP en combinaison avec la fonction IFERROR. Vous trouverez plus de détails ici : IFERROR VLOOKUP dans Excel.
Excel Vlookup : si non trouvé retour 0
Lorsque vous travaillez avec des valeurs numériques, il se peut que vous souhaitiez renvoyer un zéro lorsque la valeur recherchée n'est pas trouvée. Pour ce faire, utilisez la formule IF ISNA VLOOKUP présentée ci-dessus avec une petite modification : au lieu d'un message texte, fournissez 0 dans le champ valeur_si_vrai de la fonction IF :
IF(ISNA(VLOOKUP(...)), 0, VLOOKUP(...))Dans notre exemple de tableau, la formule serait la suivante :
=IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), 0, VLOOKUP(F2,$A$2:$C$10,3,FALSE))
Dans les versions récentes d'Excel 2016 et 2013, vous pouvez à nouveau utiliser la combinaison Vlookup IFNA :
=IFNA(VLOOKUP(I2,$A$2:$C$10,3, FALSE), 0)
Excel Vlookup : si non trouvé, retourner une cellule vide
Il s'agit d'une autre variante de l'instruction " Vlookup if then " : ne rien renvoyer lorsque la valeur de la consultation est introuvable. Pour ce faire, demandez à votre formule de renvoyer une chaîne vide ("") au lieu de l'erreur #N/A :
IF(ISNA(VLOOKUP(...)), "", VLOOKUP(...))Vous trouverez ci-dessous quelques exemples de formules complètes :
Pour toutes les versions d'Excel :
=IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), "", VLOOKUP(F2,$A$2:$C$10,3,FALSE))
Pour Excel 2016 et Excel 2013 :
=IFNA(VLOOKUP(F2,$A$2:$C$10,3, FALSE), "")
If with Index Match - vlookup gauche avec condition If
Les utilisateurs expérimentés d'Excel savent que la fonction VLOOKUP n'est pas le seul moyen d'effectuer des recherches verticales dans Excel. La combinaison INDEX MATCH peut également être utilisée à cette fin et elle est encore plus puissante et polyvalente. La bonne nouvelle est que la correspondance d'index peut fonctionner avec IF exactement de la même manière que Vlookup.
Par exemple, vous avez des numéros de commande dans la colonne A et des noms de vendeurs dans la colonne B. Vous cherchez une formule pour extraire le numéro de commande d'un vendeur spécifique.
Vlookup ne peut pas être utilisé dans ce cas, car il ne peut pas effectuer de recherche de droite à gauche. Index Match fonctionne sans problème tant que la valeur de la recherche est trouvée dans la colonne de recherche. Si ce n'est pas le cas, une erreur #N/A s'affiche. Pour remplacer la notation d'erreur standard par votre propre texte, immergez Index Match dans IF ISNA :
=IF(ISNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Not found", INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)))
Dans Excel 2016 et 2016, vous pouvez utiliser IFNA au lieu de IF ISNA pour rendre la formule plus compacte :
=IFNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Non trouvé")
De la même manière, vous pouvez utiliser la correspondance d'index dans d'autres formules If.
C'est ainsi que vous utilisez Vlookup et l'instruction IF ensemble dans Excel. Pour voir de plus près les formules abordées dans ce tutoriel, nous vous invitons à télécharger notre classeur type ci-dessous. Je vous remercie de votre lecture et j'espère vous voir sur notre blog la semaine prochaine !
Cahier d'exercices à télécharger
Excel IF Vlookup - exemples de formules (fichier .xlsx)