Table des matières
Dans cet article, vous apprendrez à construire une instruction IF Excel pour différents types de valeurs, ainsi qu'à créer plusieurs instructions IF.
En général, vous utilisez une instruction IF pour tester une condition et renvoyer une valeur si la condition est remplie, et une autre valeur si elle ne l'est pas.
Dans ce tutoriel, nous allons apprendre la syntaxe et les utilisations courantes de la fonction IF d'Excel, puis nous examinerons de plus près des exemples de formules qui, nous l'espérons, seront utiles aux débutants comme aux utilisateurs expérimentés.
Fonction IF dans Excel
IF est une des fonctions logiques qui évalue une certaine condition et renvoie une valeur si la condition est VRAIE, et une autre valeur si la condition est FAUX.
La syntaxe de la fonction IF est la suivante :
IF(test_logique, [valeur_si_vrai], [valeur_si_faux])Comme vous le voyez, IF prend un total de 3 arguments, mais seul le premier est obligatoire, les deux autres sont facultatifs.
Test logique (obligatoire) - la condition à tester, qui peut être évaluée comme VRAIE ou FAUX.
Valeur_si_vrai (facultatif) - valeur à renvoyer lorsque le test logique donne VRAI, c'est-à-dire lorsque la condition est remplie. Si elle est omise, l'option valeur_si_false doit être défini.
Valeur_si_false (facultatif) - valeur à renvoyer lorsque le test logique donne la valeur FALSE, c'est-à-dire que la condition n'est pas remplie. Si elle est omise, l'option valeur_si_vrai doit être défini.
Formule IF de base dans Excel
Pour créer un simple Si alors dans Excel, voici ce que vous devez faire :
- Pour Test logique Pour écrire une expression qui renvoie soit VRAI soit FAUX, vous utilisez normalement l'un des opérateurs logiques.
- Pour valeur_si_vrai spécifie ce qui doit être retourné lorsque le test logique est évalué à VRAI.
- Pour valeur_si_false Bien que cet argument soit facultatif, nous recommandons de toujours le configurer pour éviter des résultats inattendus. Pour une explication détaillée, veuillez consulter Excel IF : things to know.
À titre d'exemple, écrivons une formule IF très simple qui vérifie une valeur dans la cellule A2 et renvoie "Bon" si la valeur est supérieure à 80, "Mauvais" sinon :
=IF(B2>80, "Bon", "Mauvais")
Cette formule va jusqu'à C2, puis est copiée jusqu'à C7 :
Si vous souhaitez renvoyer une valeur uniquement lorsque la condition est remplie (ou non), sinon - rien, utilisez une chaîne vide ("") pour l'argument "undefined". Par exemple :
=IF(B2>80, "Bon", "")
Cette formule renverra "Bon" si la valeur dans A2 est supérieure à 80, une cellule vide sinon :
Formule Excel Si puis : ce qu'il faut savoir
Bien que les deux derniers paramètres de la fonction IF soient facultatifs, votre formule peut produire des résultats inattendus si vous ne connaissez pas la logique sous-jacente.
Si valeur_if_true est omis
Si le deuxième argument de votre formule Excel IF est omis (c'est-à-dire qu'il y a deux virgules consécutives après le test logique), vous obtiendrez zéro (0) lorsque la condition est remplie, ce qui n'a aucun sens dans la plupart des cas. Voici un exemple d'une telle formule :
=IF(B2>80, , "Mauvais")
Pour renvoyer une cellule vide à la place, fournissez une chaîne vide ("") pour le deuxième paramètre, comme ceci :
=IF(B2>80, "", "Mauvais")
La capture d'écran ci-dessous montre la différence :
Si valeur_if_false est omis
Si vous omettez le troisième paramètre de IF, vous obtiendrez les résultats suivants lorsque le test logique donne la valeur FALSE.
S'il n'y a qu'un crochet fermant après valeur_si_vrai la fonction IF renvoie la valeur logique FALSE. C'est assez inattendu, n'est-ce pas ? Voici un exemple d'une telle formule :
=IF(B2>80, "Bon")
En tapant une virgule après le valeur_si_vrai obligera Excel à retourner 0, ce qui n'a pas beaucoup de sens non plus :
=IF(B2>80, "Bon",)
L'approche la plus raisonnable consiste à utiliser une chaîne de longueur nulle ("") pour obtenir une cellule vide lorsque la condition n'est pas remplie :
=IF(B2>80, "Bon", "")
Conseil : pour renvoyer une valeur logique lorsque la condition spécifiée est remplie ou non, fournissez VRAI pour le paramètre valeur_si_vrai et FALSE pour valeur_si_false Pour que les résultats soient des valeurs booléennes que les autres fonctions Excel peuvent reconnaître, ne mettez pas VRAI et FAUX entre guillemets, car cela les transformerait en valeurs textuelles normales.
Utilisation de la fonction IF dans Excel - exemples de formules
Maintenant que vous êtes familiarisé avec la syntaxe de la fonction IF, examinons quelques exemples de formules et apprenons à utiliser les éléments suivants Si alors dans des scénarios de la vie réelle.
Fonction IF d'Excel avec des chiffres
Pour construire une instruction IF pour les nombres, utilisez des opérateurs logiques tels que :
- Égal à (=)
- Non égal à ()
- Plus grand que (> ;)
- Supérieur ou égal à (>=)
- Moins que (<;)
- Inférieur ou égal à (<=)
Ci-dessus, vous avez déjà vu un exemple d'une telle formule qui vérifie si un nombre est supérieur à un nombre donné.
Et voici une formule qui vérifie si une cellule contient un élément de type nombre négatif :
=IF(B2<0, "Invalide", "")
Pour les nombres négatifs (qui sont inférieurs à 0), la formule renvoie "Invalide" ; pour les zéros et les nombres positifs - une cellule vide.
Fonction IF d'Excel avec du texte
En général, vous écrivez une instruction IF pour les valeurs de texte en utilisant l'opérateur "égal à" ou "non égal à".
Par exemple, la formule suivante vérifie le État de la livraison en B2 pour déterminer si une action est nécessaire ou non :
=IF(B2="livré", "Non", "Oui")
Traduite en anglais simple, la formule dit : retourner "Non" si B2 est égal à "livré", "Oui" sinon.
Une autre façon d'obtenir le même résultat est d'utiliser l'opérateur "non égal à" et d'intervertir l'élément valeur_si_vrai et valeur_si_false valeurs :
=IF(C2 "livré", "Oui", "Non")
Notes :
- Lorsque vous utilisez des valeurs textuelles pour les paramètres de IF, n'oubliez pas de toujours les enfermer dans un cadre guillemets .
- Comme la plupart des autres fonctions Excel, IF est insensible à la casse par défaut Dans l'exemple ci-dessus, il ne fait pas de différence entre "delivered", "Delivered" et "DELIVERED".
Instruction IF sensible à la casse pour les valeurs de texte
Pour traiter les lettres majuscules et minuscules comme des caractères différents, utilisez IF en combinaison avec la fonction EXACT sensible à la casse.
Par exemple, pour renvoyer "Non" uniquement lorsque B2 contient "DELIVERED" (la majuscule), vous utiliserez cette formule :
=IF(EXACT(B2, "DELIVERED"), "Non", "Oui")
Si la cellule contient un texte partiel
Dans la situation où vous voulez baser la condition sur correspondance partielle plutôt qu'une correspondance exacte, une solution immédiate qui vient à l'esprit est l'utilisation de caractères génériques dans le test logique. Cependant, cette approche simple et évidente ne fonctionnera pas. De nombreuses fonctions acceptent les caractères génériques, mais malheureusement, IF n'en fait pas partie.
Une solution efficace consiste à utiliser IF en combinaison avec ISNUMBER et SEARCH (insensible à la casse) ou FIND (sensible à la casse).
Par exemple, si une action "Non" est requise à la fois pour les éléments "Livré" et "En attente de livraison", la formule suivante fonctionnera à merveille :
=IF(ISNUMBER(SEARCH("deliv", B2)), "Non", "Oui")
Pour plus d'informations, veuillez consulter :
- Instruction Excel IF pour une correspondance partielle de texte
- Si la cellule contient alors
Déclaration IF Excel avec dates
À première vue, il peut sembler que les formules IF pour les dates sont semblables aux instructions IF pour les valeurs numériques et textuelles. Malheureusement, ce n'est pas le cas. Contrairement à de nombreuses autres fonctions, IF reconnaît les dates dans les tests logiques et les interprète comme de simples chaînes de texte. En d'autres termes, vous ne pouvez pas fournir une date sous la forme "1/1/2020" ou ">1/1/2020". Pour que la fonction IF reconnaisse une date, vous devez l'entourer dela fonction DATEVALUE.
Par exemple, voici comment vous pouvez vérifier si une date donnée est supérieure à une autre date :
=IF(B2>DATEVALUE("7/18/2022"), "A venir", "Achevé")
Cette formule évalue les dates de la colonne B et renvoie "Coming soon" si un jeu est prévu pour le 18 juillet 2022 ou plus tard, "Completed" pour une date antérieure.
Bien entendu, rien ne vous empêche de saisir la date cible dans une cellule prédéfinie (par exemple E2) et de vous référer à cette cellule. N'oubliez pas de verrouiller l'adresse de la cellule avec le signe $ pour en faire une référence absolue. Par exemple :
=IF(B2>$E$2, "Coming soon", "Completed")
Pour comparer une date avec le date actuelle Utilisez la fonction TODAY(), par exemple :
=IF(B2>TODAY(), "Coming soon", "Completed")
Instruction Excel IF pour les blancs et les non-blancs
Si vous cherchez à marquer vos données en fonction de la présence ou de l'absence de certaines cellules, vous pouvez soit.. :
- Utilisez la fonction IF conjointement avec ISBLANK, ou
- Utilisez les expressions logiques (égal à blanc) ou "" (non égal à blanc).
Le tableau ci-dessous explique la différence entre ces deux approches à l'aide d'exemples de formules.
Test logique | Description | Exemple de formule | |
Cellules vides | ="" | Évalue à VRAI si une cellule est visuellement vide, même si elle contient un objet chaîne de longueur zéro . Sinon, la valeur est FALSE. | =IF(A1="", 0, 1) |
Renvoie 0 si A1 est visuellement vide, sinon renvoie 1.
Si A1 contient une chaîne vide (""), la formule renvoie 0.
Évalue à VRAI si une cellule contient absolument rien - pas de formule, pas d'espace, pas de chaîne vide.
Sinon, la valeur est FALSE.
Renvoie 0 si A1 est absolument vide, 1 sinon.
Si A1 contient une chaîne vide (""), la formule renvoie 1.
Cellules avec chaînes de longueur nulle sont considérés vierge .
Renvoie 1 si A1 est non-blanche ; 0 sinon.
Si A1 contient une chaîne vide, la formule renvoie 0.
Cellules avec chaînes de longueur nulle sont considérés non vierge .
Fonctionne de la même manière que la formule ci-dessus, mais renvoie 1 si A1 contient une chaîne vide.
Et maintenant, voyons les instructions IF vides et non vides en action. Supposons que vous ayez une date dans la colonne B uniquement si une partie a déjà été jouée. Pour étiqueter les parties terminées, utilisez l'une de ces formules :
=IF(B2="", "", "Complété")
=IF(ISBLANK(B2), "", "Completed")
=IF($B2"", "Complété", "")
=IF(ISBLANK($B2)=FALSE, "Completed", "")
Si les cellules testées ne comportent pas de chaînes de longueur nulle, toutes les formules renverront exactement les mêmes résultats :
Vérifier si deux cellules sont identiques
Pour créer une formule qui vérifie si deux cellules correspondent, comparez les cellules en utilisant le signe égal (=) dans le test logique de IF. Par exemple :
=IF(B2=C2, "Même score", "")
Pour vérifier si les deux cellules contiennent le même texte, y compris la casse des lettres, rendez votre formule IF sensible à la casse à l'aide de la fonction EXACT.
Par exemple, pour comparer les mots de passe dans A2 et B2, et retourner "Match" si les deux chaînes sont exactement les mêmes, "Do not match" sinon, la formule est :
=IF(EXACT(A2, B2), "Correspond", "Ne correspond pas")
IF puis formule pour exécuter une autre formule
Dans tous les exemples précédents, une instruction IF d'Excel renvoyait des valeurs. Mais elle peut également effectuer un certain calcul ou exécuter une autre formule lorsqu'une condition spécifique est remplie ou non. Pour cela, intégrez une autre fonction ou expression arithmétique dans l'instruction IF. valeur_si_vrai et/ou valeur_si_false arguments.
Par exemple, si B2 est supérieur à 80, nous le ferons multiplier par 7%, sinon par 3% :
=IF(B2>80, B2*7%, B2*3%)
Instructions IF multiples dans Excel
En fait, il existe deux façons d'écrire plusieurs instructions IF dans Excel :
- Emboîtement de plusieurs fonctions IF les unes dans les autres
- Utilisation de la fonction ET ou OU dans le test logique
Instruction IF imbriquée
Les fonctions IF imbriquées vous permettent de placer plusieurs instructions IF dans la même cellule, c'est-à-dire de tester plusieurs conditions dans une formule et de renvoyer différentes valeurs en fonction des résultats de ces tests.
Supposons que votre objectif soit d'attribuer différents bonus en fonction du score :
- Plus de 90 ans - 10 %.
- 90 à 81 - 7
- 80 à 70 - 5
- Moins de 70 ans - 3
Pour accomplir cette tâche, vous écrivez 3 fonctions IF distinctes et les imbriquez les unes dans les autres comme ceci :
=IF(B2>90, 10%, IF(B2>=81, 7%, IF(B2>=70, 5%, 3%))))
Pour d'autres exemples de formules, veuillez consulter :
- Formule IF imbriquée dans Excel
- Fonction IF imbriquée : exemples, meilleures pratiques et alternatives
Instruction IF d'Excel avec plusieurs conditions
Pour évaluer plusieurs conditions avec la logique ET ou OU, intégrez la fonction correspondante dans le test logique :
- AND - renvoie VRAI si tous les conditions sont remplies.
- OR - renvoie VRAI si tout l'une des conditions est remplie.
Par exemple, pour obtenir la mention "Pass" si les deux notes en B2 et C2 sont supérieures à 80, la formule est la suivante :
=IF(AND(B2>80, C2>80), "Pass", "Fail")
Pour obtenir le "Pass" si l'un des deux scores est supérieur à 80, la formule est la suivante :
=IF(OR(B2>80, C2>80), "Pass", "Fail")
Pour plus de détails, veuillez consulter le site :
- Formule IF AND dans Excel
- Fonction IF OR d'Excel avec exemples de formules
Si erreur dans Excel
À partir d'Excel 2007, nous disposons d'une fonction spéciale, appelée IFERROR, qui permet de vérifier que les formules ne contiennent pas d'erreurs. Dans Excel 2013 et les versions ultérieures, il existe également la fonction IFNA qui permet de traiter les erreurs #N/A.
Et pourtant, dans certaines circonstances, l'utilisation de la fonction IF en combinaison avec ISERROR ou ISNA est une meilleure solution. Fondamentalement, IF ISERROR est la formule à utiliser lorsque vous souhaitez renvoyer quelque chose en cas d'erreur et autre chose en cas de non-erreur. La fonction IFERROR est incapable de le faire car elle renvoie toujours le résultat de la formule principale s'il ne s'agit pas d'une erreur.
Par exemple, pour comparer chaque score de la colonne B aux trois meilleurs scores de E2:E4, et renvoyer "Oui" si une correspondance est trouvée, "Non" sinon, vous entrez cette formule dans C2, puis vous la copiez dans C7 :
=IF(ISERROR(MATCH(B2, $E$2:$E$4, 0)), "Non", "Oui" )
Pour plus d'informations, veuillez consulter la formule IF ISERROR dans Excel.
J'espère que nos exemples vous ont permis de vous familiariser avec les bases de l'IF d'Excel. Je vous remercie de votre lecture et j'espère vous voir sur notre blog la semaine prochaine !
Cahier d'exercices
Instruction IF d'Excel - exemples de formules (fichier .xlsx)