Cursus
Si vous avez déjà essayé de construire une formule logique complexe dans Excel, vous savez à quel point cela peut être compliqué. Le plus difficile avec les déclarations IF()
imbriquées est d'essayer de déterminer quelle condition doit être placée à quel endroit.
C'est pourquoi Excel a introduit une nouvelle fonction appelée IFS()
. Il s'agit d'un moyen plus propre et plus simple de vérifier plusieurs conditions sans vous encombrer de nœuds. Je vous expliquerai le fonctionnement de IFS()
, avec des exemples et des conseils pour vous aider à l'utiliser en toute confiance.
Qu'est-ce que la fonction IFS() dans Excel ?
La fonction IFS()
nous permet de vérifier plusieurs conditions simultanément. Il examine chaque condition dans l'ordre où vous les écrivez et vous donne le résultat de la première qui est TRUE
.
Il s'agit donc d'un moyen plus simple d'écrire ce qui était auparavant un ensemble désordonné de formules imbriquées IF()
. Au lieu d'empiler plusieurs fonctions IF()
les unes dans les autres, IFS()
répertorie toutes vos conditions en un seul endroit. Au total, vous pouvez ajouter jusqu'à 127 paires condition-résultat, bien que je doute que vous ayez jamais besoin d'autant de conditions.
Fonctionnement de la fonction IFS()
Sa syntaxe est la suivante :
=IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2]…)
Ici :
-
logical_test1
(obligatoire) est la première condition. -
value_if_true1
(obligatoire) renvoie les résultats si logical_test1 estTRUE
. -
Les 126 autres arguments
logical_test
etvalue_if_true
sont facultatifs.
Comment utiliser Excel IFS()
La fonction IFS()
renvoie des résultats différents en fonction des conditions. Vous pouvez utiliser des opérateurs logiques tels que =
, <
, >
, <=
, et >=
pour construire votre logique. Voici comment commencer.
Option 1 : Utiliser l'assistant de formule
Pour utiliser un assistant de formule:
-
Cliquez sur la cellule où vous voulez placer votre formule.
-
Allez dans l'onglet Formules et choisissez Insérer une fonction.
-
Dans la boîte de recherche, tapez
IFS
et cliquez sur Go. -
Sélectionnez
IFS
, cliquez sur OK, puis entrez vos conditions et vos résultats. -
Cliquez à nouveau sur OK pour appliquer la formule.
Il s'agit d'un moyen rapide d'élaborer une formule sans avoir à la taper vous-même.
Utilisez l'assistant de formule pour appliquer la fonction IFS(). Image par l'auteur.
Option 2 : Rédigez-le manuellement
Vous pouvez également écrire la formule manuellement. C'est probablement ce que font la plupart des gens. Il vous suffit de taper =IFS(
dans la cellule et de construire votre logique étape par étape. Supposons que vous affectiez des méthodes d'expédition en fonction du délai de livraison :
-
Si c'est 2 jours ou moins, ce serait
Express
-
S'il s'agit de 3 à 5 jours, ce serait
Standard
Pour cela, voici la formule :
=IFS(B2<=2, "Express", B2<=5, "Standard")
Appliquez la formule IFS() dans une cellule. Image par l'auteur.
Vous pouvez également copier votre formule dans d'autres cellules. Pour ce faire, faites glisser le petit carré situé dans le coin inférieur de la cellule (la poignée de remplissage). Cette opération permet d'appliquer la formule au bas de la colonne. Vous pouvez également double-cliquer sur le champ pour qu'il se remplisse automatiquement en fonction de vos données.
Conseil de pro : Excel met automatiquement à jour les références des cellules lorsque vous copiez une formule. Si vous voulez garder une référence fixe, transformez-la en référence absolue en appuyant sur F4
( A1
devient $A$1
).
Copiez la formule à l'aide d'une poignée de fichier. Image par l'auteur
Mais une erreur #N/A
apparaît dans une cellule car aucune des conditions n'est remplie. Pour y remédier, ajoutez une condition finale en utilisant TRUE
à la fin de la formule. Il s'agit d'un plan de secours qui permet d'attraper tout ce qui n'a pas correspondu précédemment et de vous donner un résultat par défaut à la place.
=IFS(B2<=2, "Express", B2<=5, "Standard", TRUE, "Economy")
Cette opération supprime l'erreur #N/A
et rétablit la valeur par défaut.
Traiter l'erreur #N/A en utilisant la condition finale ELSE. Image par l'auteur.
Exemples de l'IFS() en action
Voyons maintenant quelques exemples concrets, où la plupart des gens utilisent cette fonction.
Attribution d'une note
Vous pouvez utiliser IFS()
pour convertir les résultats des élèves en notes alphabétiques. Supposons que vous disposiez d'une liste d'étudiants et de leurs résultats aux tests. Vous pouvez utiliser cette formule pour transformer ces chiffres en notes :
=IFS(C5<60,"F", C5<70,"D", C5<80,"C", C5<90,"B", C5>=90,"A")
Voici ce qu'il fait :
-
Si le score est inférieur à 60, il donne un
F
. -
S'il est inférieur à 70, il donne un
D
. -
Si elle est inférieure à 80, il s'agit d'une
C
. -
S'il est inférieur à 90, vous obtenez un
B
. -
Si elle est de 90 ou plus, il s'agit d'une
A
.
Excel vérifie chaque condition dans l'ordre et s'arrête dès qu'il en trouve une qui est TRUE
. Même si plusieurs conditions peuvent s'appliquer, seule la première est prise en compte.
Attribuez des notes aux étudiants en utilisant IFS(). Image par l'auteur.
Gestion des erreurs avec TRUE
Vous pouvez également utiliser IFS()
pour afficher un message personnalisé basé sur différents codes d'état au lieu de laisser Excel afficher une erreur #N/A
. Par exemple, si vous disposez d'une liste de codes et que vous souhaitez afficher un message en fonction de chacun d'entre eux, voici une formule que vous pouvez utiliser :
=IFS(A2=100,"OK", A2=200,"Warning", A2=300,"Error", TRUE,"Invalid")
Voici comment cela fonctionne :
-
Si le code est 100, l'écran affiche
OK
. -
S'il s'agit de 200, il s'agit de
Warning
. -
S'il s'agit de 300, il s'agit de
Error
. -
S'il ne correspond à aucun d'entre eux, il est indiqué
Invalid
.
Cette dernière partie est importante. Il affichera le message en fonction du code. Si aucune correspondance exacte n'est trouvée, la dernière condition TRUE
agit comme une solution de repli et renvoie Invalid
.
Affichez un message basé sur le code à l'aide de la fonction IFS(). Image par l'auteur.
Étiquettes de texte conditionnelles
Vous pouvez également utiliser le site IFS()
pour classer les articles dans des catégories telles que les fruits, les légumes ou les boissons, afin de garder une trace au fur et à mesure que de nouveaux articles sont ajoutés.
Voici une formule simple pour y parvenir :
=IFS(A2="Grapes","Fruit", A2="Broccoli","Green Vegetable", A2="Tea","Beverage", TRUE,"Misc")
Voici ce qu'il fait :
-
Si l'article est
Grapes
, il est affichéFruit
. -
S'il s'agit de
Broccoli
, il s'agit deGreen Vegetable
. -
S'il s'agit de
Tea
, il s'agit deBeverage
. -
S'il ne correspond à aucun d'entre eux, il est indiqué
Misc
.
La dernière ligne (avec TRUE
) est votre option de secours. Il attrape tout ce qui n'entre pas dans les autres catégories.
Classez l'article à l'aide de la fonction IFS(). Image par l'auteur.
Modélisation financière
Nous pouvons également utiliser IFS()
à des fins de modélisation financière. Prenons deux exemples courants :
Appliquer des paliers de réduction
Vous pouvez utiliser IFS()
pour attribuer une remise basée sur le montant total de l'achat d'un client.
=IFS(B2>=500,"20% Discount", B2>=300,"10% Discount", B2>=100,"5% Discount", TRUE,"No Discount")
Voici comment cela fonctionne :
-
Si le montant est égal ou supérieur à
500
, il renvoie l'information suivante20% Discount
-
Si le montant est égal ou supérieur à
300
, il renvoie10% Discount
. -
Si le montant est égal ou supérieur à
100
, il renvoie5% Discount
. -
Si le montant est inférieur à
100
, la condition finaleTRUE
renvoieNo Discount
.
Appliquez des remises en utilisant IFS(). Image par l'auteur.
Calculer les jours de congé
Vous pouvez également calculer le nombre de jours de congé auxquels un employé a droit, en fonction de son ancienneté dans l'entreprise. Pour ce faire, utilisez la formule suivante :
=IFS(B2>=10,"30 Days", B2>=5,"20 Days", B2>=1,"10 Days", TRUE,"No Leave")
Voici comment cela se passe :
-
10
ou plus signifie30 Days
. -
5
9
ans signifie20 Days
. -
1
4
ans signifie10 Days
. -
Less than 1
année signifieNo Leave
.
Attribuez des jours de congé en fonction des années de service à l'aide de la fonction IFS(). Image par l'auteur.
Conversion des données
Vous pouvez également utiliser IFS()
pour convertir la taille des fichiers en octets en unités plus lisibles telles que KB, MB ou GB :
=IFS(B2<1024, B2 & " Bytes", B2<1048576, ROUND(B2/1024,1) & " KB", B2<1073741824, ROUND(B2/1048576,1) & " MB", TRUE, ROUND(B2/1073741824,1) & " GB")
Cette formule montre :
-
Bytes
pour les valeurs inférieures à1024
-
KB
pour les valeurs inférieures à1
MB -
MB
pour les valeurs inférieures à1
GB -
GB
pour tout ce qui est plus grand
Convertissez la taille des fichiers d'octets en KB, MB, GB à l'aide de IFS(). Image par l'auteur.
IFS() vs. IF() vs. IF() imbriqué
Lorsque vous travaillez avec des conditions multiples dans Excel, vous avez trois options : IF()
IF(), IF() imbriqué, ou la fonction IFS()
. Chacun d'entre eux fonctionne différemment, voici comment choisir le bon.
Comparaison de la lisibilité
Si vous ne vérifiez qu'une ou deux conditions, la fonction de base IF()
est parfaite. C'est rapide, simple et efficace. Mais les choses se compliquent lorsque vous essayez de vérifier plusieurs conditions. C'est alors que nous commençons à empiler les fonctions IF()
les unes dans les autres, ce qui rend la formule plus difficile à lire et encore plus difficile à modifier par la suite.
En voici un exemple :
=IF(A1<60,"F",IF(A1<70,"D",IF(A1<80,"C",IF(A1<90,"B","A"))))
Cela fonctionne, mais ce n'est pas facile à suivre. Toutes ces parenthèses rendent la lecture et la mise à jour difficiles.
Les IF() imbriqués sont difficiles à lire et à comprendre. Image par l'auteur.
Examinez maintenant la même logique en utilisant IFS()
à la place :
=IFS(A1<60,"F", A1<70,"D", A1<80,"C", A1<90,"B", A1>=90,"A")
Celui-ci semble beaucoup plus simple. Chaque condition est associée directement à un résultat sans imbrication ni surcharge de crochets. Par conséquent, si vous souhaitez une formule facile à lire, à comprendre et à corriger par la suite, IFS()
est un excellent choix.
IFS() est beaucoup plus facile à lire et à comprendre. Image par l'auteur.
Considérations sur les performances
La fonction IFS()
vérifie toutes les conditions que vous lui indiquez, même si elle a déjà trouvé une correspondance. Ainsi, si vous énoncez cinq conditions, Excel les évalue toutes.
Mais les fonctions imbriquées de IF()
sont un peu plus intelligentes. Ils utilisent le "court-circuitage", ce qui signifie qu'ils arrêtent le contrôle dès qu'ils trouvent la première condition TRUE
. Cela permet de gagner un peu de temps dans les feuilles de calcul volumineuses contenant de nombreuses formules.
Comparaison rapide : Quand utiliser quoi ?
Voici une comparaison rapide sous forme de tableau pour vous aider à comprendre quand utiliser IF()
, nested IF()
, et IFS()
:
Fonctionnalité |
IF() |
IF() imbriqué |
IFS() |
Meilleur pour |
1-2 conditions simples |
Logique complexe (axée sur la performance) |
Conditions multiples (en mettant l'accent sur la lisibilité) |
Lisibilité |
Très facile |
Plus difficile à suivre (beaucoup de parenthèses) |
Propre et facile à scanner |
Édition ultérieure |
Simple |
Peut être difficile (des parenthèses partout) |
Facile à mettre à jour |
Performance |
Rapide |
Légèrement plus rapide (utilise un court-circuit) |
Légèrement plus lent (vérifie toutes les conditions) |
Exemple d'utilisation |
Contrôles de base oui/non |
Tarification échelonnée dans les feuilles massives |
Notation, catégories, messages de repli |
IFS vs. SWITCH()
IFS()
et SWITCH()
vérifient tous deux plusieurs conditions dans une seule formule autonome, mais ils fonctionnent de manière différente. Voici une comparaison détaillée entre les deux :
Fonctionnalité |
IFS() |
SWITCH() |
Meilleur pour |
Différentes conditions utilisant la logique (>, <, =) |
Une valeur par rapport à plusieurs correspondances exactes |
Prend-il en charge les opérateurs logiques ? |
Oui, c'est un excellent outil pour les plages ou les inégalités. |
Non, il ne fonctionne qu'avec des valeurs exactes |
Style syntaxique |
Répéter la condition complète à chaque fois |
Cleaner parce qu'il utilise une expression vérifiée par rapport à des valeurs |
Exemple d'utilisation |
Classez les élèves par score (par exemple 90+, 75-89...) |
Associez les codes aux catégories (par exemple, 1 = Nord, 2 = Sud...). |
Option de repli/par défaut |
Utilisez TRUE à la fin pour un cas fourre-tout |
Ajouter une valeur finale (sans condition) comme valeur par défaut |
Lisibilité |
Peut devenir long en cas de conditions multiples |
Plus concis lors de la comparaison d'une même expression |
Flexibilité |
Très flexible car il peut traiter différentes expressions |
Flexibilité limitée car il ne donne que des correspondances exactes avec une expression. |
Éléments à prendre en compte
Vous devez garder à l'esprit certaines choses lorsque vous utilisez la fonction IFS()
dans Excel.
Erreurs courantes et comment les corriger
Tout d'abord, voyons les erreurs les plus courantes que vous pouvez rencontrer.
Trop peu d'arguments
Si nous ajoutons une condition mais que nous oublions d'indiquer ce qui doit se passer si elle est vraie (value_if_true
). Excel affiche une fenêtre contextuelle : "Vous avez saisi trop peu d'arguments pour cette fonction.
#N/A erreur
#N/A
se produira si aucune des conditions de la formule n'est TRUE
. Excel a besoin d'au moins une correspondance, sinon il est bloqué. Si vous ne souhaitez pas afficher #N/A
, ajoutez TRUE
à la fin avec une valeur de repli.
#VALEUR ! Erreur
#VALUE!
apparaît lorsqu'un argument logical_test
ne renvoie pas un TRUE
ou FALSE
clair. Il s'agit peut-être d'une faute de frappe ou d'une condition qui n'est pas tout à fait correcte. Dans tous les cas, Excel ne saura pas quoi en faire, alors vérifiez votre logique.
Conseils et bonnes pratiques
Voici quelques bonnes pratiques pour améliorer et simplifier vos formules :
-
Essayez de garder les choses simples. Dix conditions ou moins suffisent généralement.
-
Ajoutez une condition de repli en utilisant
TRUE
comme dernière condition. Il couvre tous les cas qui ne répondent pas à vos conditions principales. -
Assurez-vous que chaque condition a un résultat et que vos tests donnent
TRUE
ouFALSE
. -
Testez votre formule avec des cas limites tels que 0, 100 ou même des cellules vierges pour vous assurer qu'elle traite tout comme vous le souhaitez.
Avantages et inconvénients
IFS()
présente de réels avantages, mais il y a aussi quelques points à surveiller.
Pour |
Cons |
Plus propre et plus facile à lire que l'imbrication |
N'utilise pas de court-circuit - il vérifie chaque condition, même après une correspondance. |
Prend en charge jusqu'à 127 conditions |
Vous devez ajouter manuellement une solution de rechange à |
Plus facile à déboguer et à suivre une logique complexe |
Ne fonctionne qu'avec Excel 2016 ou une version ultérieure |
Réflexions finales
La fonction IFS()
est un moyen pratique de vérifier un grand nombre de conditions sans que votre formule ne devienne désordonnée. C'est plus facile à lire que plusieurs déclarations IF()
empilées les unes dans les autres et cela rend votre logique beaucoup plus claire. Veillez à énumérer vos conditions dans le bon ordre et ajoutez toujours une solution de repli finale à l'aide de TRUE
. Ainsi, votre formule ne sera pas interrompue si rien ne correspond.
Si votre logique est prévisible et suit des règles claires, IFS()
est un excellent moyen de garder votre feuille de calcul propre et facile à gérer.
Je suis un stratège du contenu qui aime simplifier les sujets complexes. J'ai aidé des entreprises comme Splunk, Hackernoon et Tiiny Host à créer un contenu attrayant et informatif pour leur public.
FAQ d'Excel IFS()
Puis-je combiner IFS() avec d'autres fonctions telles que AND() ou OR() ?
Oui, vous pouvez utiliser les fonctions AND()
et OR()
à l'intérieur d'une formule IFS()
pour rendre vos conditions plus spécifiques ou plus souples.
Par exemple, un nombre dans la cellule A1
peut être classé comme Low
, Medium
ou High
en fonction de sa plage de valeurs.
=IFS(AND(A1 > 0, A1 <= 10), "Low", AND(A1 > 10, A1 <= 20), "Medium", TRUE, "High")
La fonction IFS() prend-elle en charge les comparaisons de dates ?
Oui, vous pouvez comparer des valeurs de date à l'aide d'opérateurs logiques, tout comme les nombres :
=IFS(A1TODAY(), "Future")