Table des matières
Le tutoriel montre comment créer plusieurs instructions IF dans Excel avec la logique AND et OR. Vous apprendrez également comment utiliser IF avec d'autres fonctions Excel.
Dans la première partie de notre tutoriel Excel IF, nous avons vu comment construire une simple instruction IF avec une condition pour le texte, les nombres, les dates, les blancs et les non-blancs. Cependant, pour une analyse de données puissante, vous pouvez souvent avoir besoin d'évaluer plusieurs conditions à la fois. Les exemples de formules ci-dessous vous montreront les façons les plus efficaces de le faire.
Comment utiliser la fonction IF avec plusieurs conditions
En substance, il existe deux types de Formule IF avec plusieurs critères basés sur la logique AND / OR Par conséquent, dans le test logique de votre formule IF, vous devez utiliser l'une de ces fonctions :
- Fonction AND - renvoie VRAI si toutes les conditions sont satisfaites ; FAUX sinon.
- Fonction OR - renvoie VRAI si toute condition unique est respecté ; FAUX sinon.
Pour mieux illustrer ce point, examinons quelques exemples de formules de la vie réelle.
Instruction IF d'Excel avec plusieurs conditions (logique AND)
La formule générique d'Excel IF avec deux ou plusieurs conditions est la suivante :
SI(AND( condition1 , condition2 ...), value_if_true, value_if_false)Traduite en langage humain, la formule dit : Si la condition 1 est vraie ET que la condition 2 est vraie, retournez... valeur_si_vrai ; sinon, retour valeur_si_false .
Supposons que vous disposiez d'un tableau répertoriant les scores de deux tests dans les colonnes B et C. Pour réussir l'examen final, un étudiant doit avoir les deux scores supérieurs à 50.
Pour le test logique, vous utilisez l'instruction AND suivante : AND(B2>50, C2>50)
Si les deux conditions sont vraies, la formule renvoie "Réussite" ; si l'une des conditions est fausse - "Échec".
=IF(AND(B2>50, B2>50), "Pass", "Fail")
La capture d'écran ci-dessous prouve que notre formule Excel IF /AND fonctionne correctement :
De la même manière, vous pouvez utiliser la fonction IF d'Excel avec de multiples conditions du texte .
Par exemple, pour afficher "Bon" si B2 et C2 sont tous deux supérieurs à 50, et "Mauvais" dans le cas contraire, la formule est la suivante :
=IF(AND(B2="pass", C2="pass"), "Bon !", "Mauvais")
Remarque importante : la fonction AND vérifie toutes les conditions Un tel comportement est un peu inhabituel puisque dans la plupart des langages de programmation, les conditions suivantes ne sont pas testées si l'un des tests précédents a retourné FALSE.
En pratique, une instruction IF apparemment correcte peut donner lieu à une erreur en raison de cette spécificité. Par exemple, la formule ci-dessous renverrait #DIV/0 ! (erreur de "division par zéro") si la cellule A2 est égale à 0 :
=IF(AND(A20, (1/A2)>0.5), "Bon", "Mauvais")
Pour éviter cela, vous devez utiliser une fonction IF imbriquée :
=IF(A20, IF((1/A2)>0.5, "Bon", "Mauvais"), "Mauvais")
Pour plus d'informations, veuillez consulter la formule IF AND dans Excel.
Fonction IF d'Excel avec plusieurs conditions (logique OR)
Pour faire une chose si toute condition est satisfaite, sinon faites autre chose, utilisez cette combinaison des fonctions IF et OR :
IF(OR( condition1 , condition2 ...), value_if_true, value_if_false)La différence avec la formule IF / AND présentée ci-dessus est qu'Excel renvoie VRAI si l'une des conditions spécifiées est vraie.
Ainsi, si dans la formule précédente, nous utilisons OR au lieu de AND :
=IF(OR(B2>50, B2>50), "Pass", "Fail")
Ensuite, toute personne ayant obtenu plus de 50 points dans l'un ou l'autre des examens obtiendra la mention "Pass" dans la colonne D. Avec de telles conditions, nos étudiants ont plus de chances de réussir l'examen final (Yvette étant particulièrement malchanceuse en échouant d'un seul point :).
Conseil : si vous créez un instruction IF multiple avec texte et en testant une valeur dans une cellule avec la logique OR (c'est-à-dire qu'une cellule peut être "ceci" ou "cela"), vous pouvez alors construire une formule plus compacte en utilisant une constante de tableau.
Par exemple, pour marquer une vente comme "clôturée" si la cellule B2 indique soit "livré" soit "payé", la formule est la suivante :
=IF(OR(B2={"delivered", "paid"}), "Closed", "")
Vous trouverez d'autres exemples de formules dans la fonction IF OR d'Excel.
IF avec plusieurs instructions AND & ; OR
Si votre tâche nécessite l'évaluation de plusieurs ensembles de conditions multiples, vous devrez utiliser les fonctions AND & ; OR à la fois.
Dans notre exemple de tableau, supposons que vous ayez les critères suivants pour vérifier les résultats des examens :
- Condition 1 : exam1>50 et exam2>50
- Condition 2 : examen1>40 et examen2>60
Si l'une ou l'autre de ces conditions est remplie, l'examen final est considéré comme réussi.
Il suffit d'exprimer chacune des conditions ci-dessus sous la forme d'une instruction ET et de les imbriquer dans la fonction OU (comme il n'est pas nécessaire de remplir les deux conditions, l'une ou l'autre suffira) :
OR(AND(B2>50, C2>50), AND(B2>40, C2>60)
Ensuite, utilisez la fonction OR pour le test logique de IF et fournissez l'information souhaitée. valeur_si_vrai et valeur_si_false En conséquence, vous obtenez la formule IF suivante avec plusieurs conditions AND / OR :
=IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")
La capture d'écran ci-dessous indique que nous avons bien fait la formule :
Naturellement, vous n'êtes pas limité à l'utilisation de deux fonctions ET/OU dans vos formules IF. Vous pouvez en utiliser autant que votre logique d'entreprise l'exige, à condition que.. :
- Dans Excel 2007 et les versions ultérieures, vous ne disposez pas de plus de 255 arguments, et la longueur totale de la formule IF ne dépasse pas 8 192 caractères.
- Dans Excel 2003 et inférieur, il n'y a pas plus de 30 arguments, et la longueur totale de votre formule IF ne dépasse pas 1 024 caractères.
Instruction IF imbriquée pour vérifier plusieurs tests logiques
Si vous souhaitez évaluer plusieurs tests logiques dans une seule formule, vous pouvez imbriquer plusieurs fonctions l'une dans l'autre. fonctions IF imbriquées Ils s'avèrent particulièrement utiles lorsque vous souhaitez renvoyer des valeurs différentes en fonction des résultats des tests logiques.
Voici un exemple typique : supposons que vous souhaitiez qualifier les réalisations des élèves de " Bon ", " Satisfaisant " et " Pauvre " sur la base des notes suivantes :
- Bon : 60 ou plus (>=60)
- Satisfaisant : entre 40 et 60 (>40 et <60)
- Pauvre : 40 ou moins (<=40)
Avant d'écrire une formule, réfléchissez à l'ordre des fonctions que vous allez imbriquer. Excel évalue les tests logiques dans l'ordre où ils apparaissent dans la formule. Lorsqu'une condition est évaluée à VRAI, les conditions suivantes ne sont pas testées, ce qui signifie que la formule s'arrête après le premier résultat VRAI.
Dans notre cas, les fonctions sont classées de la plus grande à la plus petite :
=IF(B2>=60, "Bon", IF(B2>40, "Satisfaisant", "Mauvais"))
Naturellement, vous pouvez imbriquer davantage de fonctions si nécessaire (jusqu'à 64 dans les versions modernes).
Pour plus d'informations, veuillez consulter la section Comment utiliser plusieurs instructions IF imbriquées dans Excel.
Formule Excel IF array avec plusieurs conditions
Une autre façon de faire en sorte qu'un IF Excel teste plusieurs conditions est d'utiliser une formule de tableau.
Pour évaluer les conditions avec la logique ET, utilisez l'astérisque :
IF( condition1 ) * ( condition2 ) * ..., valeur_if_true, valeur_if_false)Pour tester des conditions avec la logique OU, utilisez le signe plus :
IF( condition1 ) + ( condition2 ) + ..., valeur_if_true, valeur_if_false)Pour compléter correctement une formule de tableau, appuyez simultanément sur les touches Ctrl + Shift + Enter. Dans Excel 365 et Excel 2021, cette formule fonctionne également comme une formule ordinaire grâce à la prise en charge des tableaux dynamiques.
Par exemple, pour obtenir la mention "Pass" si B2 et C2 sont tous deux supérieurs à 50, la formule est la suivante :
=IF((B2>50) * (C2>50), "Pass", "Fail")
Dans mon Excel 365, une formule normale fonctionne très bien (comme vous pouvez le voir dans les captures d'écran ci-dessus). Dans Excel 2019 et inférieur, pensez à en faire une formule de tableau en utilisant le raccourci Ctrl + Shift + Enter.
Pour évaluer plusieurs conditions avec la logique OR, la formule est la suivante :
=IF((B2>50) + (C2>50), "Pass", "Fail")
Utilisation de IF avec d'autres fonctions
Cette section explique comment utiliser IF en combinaison avec d'autres fonctions Excel et quels avantages vous en retirez.
Exemple 1 : Si #N/A erreur dans VLOOKUP
Lorsque VLOOKUP ou une autre fonction de recherche ne trouve pas quelque chose, il renvoie une erreur #N/A. Pour rendre vos tableaux plus agréables, vous pouvez renvoyer zéro, un blanc ou un texte spécifique si #N/A. Pour cela, utilisez cette formule générique :
SI(ISNA(VLOOKUP(...)), valeur_si_na , VLOOKUP(...))Par exemple :
Si #N/A, retournez 0 :
Si la valeur de référence dans E1 n'est pas trouvée, la formule renvoie zéro.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))
Si #N/A, retournez en blanc :
Si la valeur de référence n'est pas trouvée, la formule ne renvoie rien (une chaîne vide).
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))
Si #N/A, retournez un certain texte :
Si la valeur recherchée n'est pas trouvée, la formule renvoie un texte spécifique.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Not found", VLOOKUP(E1, A2:B10, 2, FALSE))
Pour plus d'exemples de formules, veuillez consulter VLOOKUP avec l'instruction IF dans Excel.
Exemple 2 : IF avec les fonctions SUM, AVERAGE, MIN et MAX
Pour additionner les valeurs des cellules en fonction de certains critères, Excel propose les fonctions SUMIF et SUMIFS.
Dans certaines situations, votre logique d'entreprise peut nécessiter l'inclusion de la fonction SUM dans le test logique de IF. Par exemple, pour renvoyer des étiquettes de texte différentes en fonction de la somme des valeurs de B2 et C2, la formule est la suivante :
=IF(SUM(B2:C2)>130, "Bon", IF(SUM(B2:C2)>110, "Satisfaisant", "Mauvais"))
Si la somme est supérieure à 130, le résultat est "bon" ; si elle est supérieure à 110 - "satisfaisant", si elle est égale ou inférieure à 110 - "mauvais".
De la même manière, vous pouvez intégrer la fonction AVERAGE dans le test logique de IF et renvoyer différentes étiquettes en fonction du score moyen :
=IF(AVERAGE(B2:C2)>65, "Bon", IF(AVERAGE(B2:C2)>55, "Satisfaisant", "Mauvais"))
En supposant que le score total se trouve dans la colonne D, vous pouvez identifier les valeurs les plus élevées et les plus basses à l'aide des fonctions MAX et MIN :
=IF(D2=MAX($D$2:$D$10), "Meilleur résultat", "")
=IF(D2=MAX($D$2:$D$10), "Meilleur résultat", "")
Pour avoir les deux étiquettes dans une colonne, imbriquez les fonctions ci-dessus l'une dans l'autre :
=IF(D2=MAX($D$2:$D$10), "Best result", IF(D2=MIN($D$2:$D$10), "Worst result", ""))
De même, vous pouvez utiliser IF avec vos fonctions personnalisées. Par exemple, vous pouvez le combiner avec GetCellColor ou GetCellFontColor pour renvoyer différents résultats en fonction de la couleur d'une cellule.
En outre, Excel fournit un certain nombre de fonctions permettant de calculer des données sur la base de conditions. Pour des exemples détaillés de formules, veuillez consulter les didacticiels suivants :
- COUNTIF - compte les cellules qui remplissent une condition
- COUNTIFS - compter les cellules avec des critères multiples
- SUMIF - additionne les cellules de manière conditionnelle
- SUMIFS - additionne les cellules avec plusieurs critères
Exemple 3 : IF avec ISNUMBER, ISTEXT et ISBLANK
Pour identifier du texte, des chiffres et des cellules vides, Microsoft Excel fournit des fonctions spéciales telles que ISTEXT, ISNUMBER et ISBLANK. En les plaçant dans les tests logiques de trois instructions IF imbriquées, vous pouvez identifier tous les différents types de données en une seule fois :
=IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", "")))
Exemple 4 : IF et CONCATENATE
Pour afficher le résultat de la fonction IF et un texte dans une cellule, utilisez les fonctions CONCATENATE ou CONCAT (dans Excel 2016 - 365) et IF ensemble. Par exemple :
=CONCATENATE("Vous avez réalisé ", IF(B1>100, "fantastique !", IF(B1>50, "bien", "médiocre")))
=CONCAT("Vous avez réalisé ", IF(B1>100, "fantastique !", IF(B1>50, "bien", "médiocre")))
En regardant la capture d'écran ci-dessous, vous n'aurez guère besoin d'explication sur ce que fait la formule :
Formule IF ISERROR / ISNA dans Excel
Les versions modernes d'Excel disposent de fonctions spéciales permettant de détecter les erreurs et de les remplacer par un autre calcul ou une valeur prédéfinie : IFERROR (dans Excel 2007 et ultérieur) et IFNA (dans Excel 2013 et ultérieur). Dans les versions antérieures d'Excel, vous pouvez utiliser les combinaisons IF ISERROR et IF ISNA à la place.
La différence est que IFERROR et ISERROR traitent toutes les erreurs Excel possibles, y compris #VALUE !, #N/A, #NAME ?, #REF !, #NUM !, #DIV/0 ! et #NULL ! alors que IFNA et ISNA sont spécialisés uniquement dans les erreurs #N/A.
Par exemple, pour remplacer l'erreur "diviser par zéro" (#DIV/0 !) par votre texte personnalisé, vous pouvez utiliser la formule suivante :
=IF(ISERROR(A2/B2), "N/A", A2/B2)
Et c'est tout ce que j'ai à dire sur l'utilisation de la fonction IF dans Excel. 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 critères multiples - exemples (fichier .xlsx)