L'essentiel —
IFpose une seule question oui/non et renvoie l'une de deux valeurs :=IF(test_logique, valeur_si_vrai, valeur_si_faux). Deux pièges attrapent tout le monde. D'abord, si vous omettez le troisième argument, un test faux renvoie le motFALSE, pas une cellule vide — écrivez,"")quand vous voulez du vide. Ensuite, arrêtez d'imbriquer les IF au-delà de deux niveaux : une pyramide haute deIF(…IF(…IF(…)))est illisible et un cauchemar de comptage de parenthèses. Pour plus de deux ou trois branches, passez àIFS/SWITCHou à une table de recherche. Combinez les conditions avecAND()/OR()à l'intérieur du test — n'imbriquez pas. Fonctionne dans toutes les versions.
=IF(B2>=60, "Pass", "Fail")
=IF(AND(B2>=60, C2="Yes"), "Pass", "Fail")
IF est la première fonction que la plupart des gens apprennent après SUM, et
celle dont ils se défont le plus lentement. Elle paraît simple — et un IF isolé
l'est — mais les ennuis commencent à l'instant où vous avez un troisième ou un
quatrième résultat et où vous tendez la main vers un IF imbriqué plutôt que vers
le bon outil. Ce guide s'articule autour du modèle mental qui garde IF honnête,
puis de l'unique règle qui vous dit quand vous arrêter.
Remarque : dans une interface Excel en français, la fonction s'appelle SI (IF). Apparentées : IFS = SI.CONDITIONS, SWITCH = SI.MULTIPLE, IFERROR = SIERREUR, IFNA = SI.NON.DISP, AND = ET, OR = OU, EXACT = EXACT, XLOOKUP = RECHERCHEX, ISBLANK = ESTVIDE, COUNTA = NBVAL, NA = NA, LET = LET. Dans Excel en français, les codes d'erreur s'affichent #N/A, #REF!, #NOM?, #VALEUR!, #DIV/0!. Les formules ci-dessous utilisent les noms anglais — le comportement est identique.
Ce que vous allez apprendre
- Le modèle mental :
IFest une seule bifurcation sur la route, rien de plus - Pourquoi un
valeur_si_fauxmanquant renvoie le motFALSE(et comment obtenir une cellule vide) - La pyramide de IF imbriqués — pourquoi elle s'effondre au-delà de deux niveaux, et quoi utiliser à la place
- Combiner des conditions avec
AND/ORau lieu d'imbriquer - Une surprise derrière « mon IF ne se déclenche jamais » : la comparaison de texte de
IFignore la casse - Le réflexe moderne : un seul
IFqui se déverse sur toute une colonne
Le modèle mental : une bifurcation sur la route
Un IF est un embranchement unique. Il évalue un seul test logique — tout ce
qui se résout en TRUE ou FALSE — et envoie le résultat sur l'une de deux
voies :
' "Le score atteint-il au moins 60 ? Si oui, Pass ; si non, Fail."
=IF(B2>=60, "Pass", "Fail")
Voilà toute la fonction. test_logique est la question ; valeur_si_vrai et
valeur_si_faux sont les deux routes. Gardez cette image en tête et la plupart
des « problèmes de IF » se révèlent être des gens qui essaient de faire passer
trois, quatre ou sept résultats par un embranchement conçu pour deux. Une
bifurcation a deux sorties. À l'instant où il vous en faut une troisième, vous
n'avez pas besoin d'un IF plus gros — vous avez besoin d'une autre forme.
La règle qui vous sauve : n'imbriquez pas au-delà de deux niveaux
Vous pouvez placer un IF dans un IF pour obtenir un troisième résultat, puis
un quatrième, puis un cinquième. Excel autorise jusqu'à 64 niveaux. Presque
aucun d'eux n'est une bonne idée.
' Trois tranches de notes en IF imbriqué — déjà difficile à lire
=IF(B2>=90, "A", IF(B2>=80, "B", IF(B2>=70, "C", "F")))
Chaque nouvelle tranche ajoute un niveau d'imbrication et une parenthèse fermante tout à la fin. Quand vous en avez cinq ou six, vous comptez les parenthèses pour retrouver où vit une branche, chaque modification risque un déséquilibre de parenthèses, et un collègue qui vous relit doit dérouler toute la pile dans sa tête. L'information y est entièrement — mais la structure se retourne contre vous.
Le verdict est sans détour : deux niveaux d'imbrication, c'est la limite ;
au-delà, changez d'outil. Pour des tranches numériques ordonnées comme des
notes, IFS se lit de haut en bas, sans pyramide.
Pour associer des valeurs discrètes (un code à un libellé),
SWITCH ou — mieux encore pour tout ce qui grandit ou
change — une petite table de recherche avec
XLOOKUP est bien plus maintenable. Une longue chaîne
de IF imbriqués n'a rien d'astucieux ; c'est une facture de maintenance que vous
tendez à la prochaine personne qui ouvrira le fichier.
La surprise FALSE : le troisième argument n'est pas optionnel en pratique
valeur_si_faux est techniquement facultatif. Omettez-le et Excel ne renvoie pas
une cellule vide — il renvoie le booléen littéral FALSE :
=IF(B2>=60, "Pass") ' score 40 -> la cellule affiche FALSE
=IF(B2>=60, "Pass", "") ' score 40 -> la cellule est vide
C'est la question « pourquoi ma cellule affiche-t-elle FALSE ? » la plus
fréquente, et le remède est une habitude : fournissez toujours le troisième
argument. Si vous ne voulez rien, dites-le explicitement avec "". Attention au
piège de "" cependant — c'est une chaîne vide, pas une cellule réellement
vide, donc un ISBLANK en aval lit FALSE et COUNTA la compte quand même. Si
une formule ultérieure exige que la cellule soit véritablement numérique ou vide,
renvoyez NA() ou un nombre, pas "".
Combinez les conditions avec AND / OR — n'imbriquez pas pour ça
Une énorme part des IF imbriqués n'existent que parce que quelqu'un avait besoin
de deux conditions vraies en même temps et a tendu la main vers la mauvaise
forme. On n'imbrique pas pour ça — on combine les tests à l'intérieur de
test_logique avec AND ou OR :
' Imbriqué (ça marche, mais c'est plus dur à lire et à modifier)
=IF(B2>=60, IF(C2="Yes", "Pass", "Fail"), "Fail")
' AND — un seul test bien net
=IF(AND(B2>=60, C2="Yes"), "Pass", "Fail")
AND(…) est TRUE uniquement quand tous les tests passent ; OR(…) est TRUE
dès que l'un d'eux passe. Ils réduisent une imbrication à deux niveaux en un seul
embranchement lisible. Réservez l'imbrication à des questions en aval réellement
différentes, pas à « ces deux conditions doivent être vraies » — ça, c'est le
travail de AND, et c'est la même logique que vous utiliserez dans
SUMIFS et
FILTER.
La surprise de l'insensibilité à la casse : « mon IF ne se déclenche jamais »
La comparaison = de IF ignore la casse. "Yes" = "yes" est TRUE pour
Excel, ce qui est généralement ce que vous voulez — jusqu'à ce que ça ne le soit
plus :
=IF(A2="OK", 1, 0) ' correspond à "OK", "ok", "Ok" — tous
=IF(EXACT(A2,"OK"), 1, 0) ' correspond uniquement à "OK" exactement, casse comprise
Quand vous avez réellement besoin d'un test sensible à la casse — distinguer un
code comme ID de id, ou une somme de contrôle — enveloppez-le dans EXACT().
(C'est l'image inversée de VBA, où = est sensible à la casse par défaut ; voir
VBA UCase/LCase.) Savoir de quel côté Excel penche par
défaut vous épargne le déroutant « les valeurs ont l'air identiques mais mon IF
refuse de se déclencher ».
Le réflexe moderne : un seul IF qui se déverse sur une colonne
Dans Excel actuel, IF accepte une matrice comme test et déverse un résultat
pour chaque ligne — pas de glisser-déposer, pas de recopie de formule vers le
bas :
=IF(Score>=60, "Pass", "Fail") ' Score est une plage -> un résultat par ligne, déversé
Pointez le test vers une colonne entière (une colonne de Table ou une plage de
déversement #) et une seule cellule produit toute la liste de résultats, en se
recalculant à mesure que la source grandit. Pour des sous-expressions répétées
dans un long IF, nommez-les une fois avec LET afin
qu'Excel ne les calcule qu'une seule fois — plus lisible et plus rapide sur de
grandes feuilles.
Le jugement : IF vs IFS vs une table de recherche
Utilisez un IF simple pour un vrai binaire — une question, deux réponses. À
l'instant où vous avez des tranches ordonnées (notes, paliers, seuils),
passez à IFS : il se lit comme la table qu'il représente. Pour associer une
valeur à un libellé (code de statut → description, région → responsable),
utilisez SWITCH pour une courte liste fixe, ou un XLOOKUP sur une vraie table
de recherche dès que la liste s'allonge ou évolue dans le temps. Le savoir-faire,
ce n'est pas d'écrire des IF plus gros — c'est de reconnaître, tôt, laquelle de
ces trois formes votre problème prend réellement.
Comment ExcelMaster aide
La vraie logique se décrit généralement en termes métier — réussir quiconque
obtient au moins 60 et a aussi soumis, sinon échouer — pas en syntaxe de formule.
ExcelMaster transforme cette phrase en la bonne forme : un seul IF avec
AND quand c'est tout ce qu'il vous faut, ou un IFS/une recherche bien nets
quand le problème a dépassé la simple bifurcation. Vous décrivez la décision ; il
choisit la structure qui ne deviendra pas un cauchemar de comptage de parenthèses
dans six mois.
Questions fréquentes
Pourquoi ma formule IF affiche-t-elle FALSE ?
Vous avez omis le troisième argument. =IF(test, valeur_si_vrai) renvoie le
littéral FALSE quand le test échoue. Ajoutez un valeur_si_faux explicite :
utilisez ,"") pour une cellule vide ou , "No" pour un libellé.
Combien de IF puis-je imbriquer dans Excel ?
Jusqu'à 64 niveaux — mais la lisibilité s'effondre bien avant. Limitez
l'imbrication à deux niveaux au maximum ; pour davantage de branches, utilisez
IFS, SWITCH ou une table de recherche.
Comment écrire un IF avec plusieurs conditions ?
Combinez les tests avec AND ou OR à l'intérieur du test logique, n'imbriquez
pas : =IF(AND(B2>=60, C2="Yes"), "Pass", "Fail"). AND exige que tous les tests
soient vrais ; OR qu'au moins un le soit.
Le IF d'Excel est-il sensible à la casse ?
Non. IF(A2="ok", …) correspond aussi bien à « OK », « Ok » qu'à « ok ». Pour une
comparaison sensible à la casse, enveloppez-le dans EXACT :
=IF(EXACT(A2,"OK"), …).
Quand devrais-je utiliser IFS plutôt que IF ?
Quand vous avez trois résultats ordonnés ou plus (comme des tranches de notes).
IFS énumère chaque test et chaque résultat de haut en bas, sans imbrication ni
parenthèses finales, ce qui le rend bien plus facile à lire et à modifier.
Testé dans
Testé dans : Excel 365 (Windows 11) — dernière vérification le 25/06/2026.
Guides associés : Excel IFS & SWITCH · Excel IFERROR · Excel SUMIFS · Excel FILTER
