Qu'est-ce que la fonction SI ?
SI (IF en anglais), c'est la reine des fonctions logiques. Elle t'évite de relire et d'annoter tes lignes une par une : tu poses la règle une seule fois, et elle s'applique à toute la colonne. Sans doute la fonction que tu utiliseras le plus souvent.
Concrètement, c'est elle qui attribue une mention selon une note, calcule une prime seulement si l'objectif est atteint, ou signale un stock passé sous le seuil critique. Elle transforme un tableau figé en véritable outil de décision.
Syntaxe
Clique sur un argument pour aller à son explication.

Comprendre chaque paramètre de la fonction SI
Les trois arguments de SI suivent un ordre strict : d'abord ce qu'on teste, puis ce qu'on affiche si c'est vrai, enfin ce qu'on affiche sinon. Seul ce dernier est facultatif, et c'est aussi celui qu'on oublie le plus souvent.
test_logique
: la condition à évaluerElle doit pouvoir être VRAIE ou FAUSSE. Tu peux utiliser les opérateurs de comparaison : =, <> (différent), >, <, >=, <=.
Ce test peut comparer des nombres (A1>100), des textes (B1="Paris"), des dates (C1>AUJOURDHUI()) ou même utiliser d'autres fonctions (GAUCHE(A1;2)="FR"). Tu peux aussi combiner plusieurs conditions avec ET() ou OU() pour des tests complexes.
valeur_si_vrai
: ce qu'Excel renvoie si la condition est VRAIEÇa peut être un texte entre guillemets ("Oui"), un nombre (100), une référence (B1), ou même une autre formule.
C'est ici que la puissance de SI se révèle : tu peux imbriquer d'autres fonctions. Par exemple, SI(A1>100; SOMME(B1:B10); 0) calcule une somme seulement si la condition est vraie. Tu peux même imbriquer un autre SI pour créer des conditions en cascade.
valeur_si_faux
: ce qu'Excel renvoie si la condition est FAUSSE(facultatif)Si tu omets ce paramètre, Excel renvoie FAUX (qui peut s'afficher comme 0 dans certains contextes). Utilise "" pour afficher une cellule vide.
Ce paramètre est optionnel mais il est recommandé de toujours le spécifier pour éviter les surprises. Une formule explicite comme =SI(A1>10; "Oui"; "Non") est plus claire qu'une formule qui laisse Excel décider quoi afficher quand la condition est fausse.

Exemples pratiques pas à pas
Comment écrire une fonction SI simple
La réunion mensuelle approche et tu dois annoncer qui a tenu son objectif de vente et qui est passé à côté. Tes vendeurs sont listés avec leur région, leurs ventes et leur objectif, et tu veux le verdict d'un coup d'œil sur toute la colonne. Plutôt que de vérifier chaque ligne à la main, tu laisses la fonction SI comparer les ventes à l'objectif et afficher le statut automatiquement.
- 1Dans une cellule, écris
=SI(. - 2En 1er argument : écris la comparaison qui départage les ventes et l'objectif,
C2>=D2. Elle ne peut répondre que vrai ou faux, ce qui est exactement ce dont la fonction a besoin pour trancher. - 3En 2ᵉ argument : écris le texte à afficher quand la condition est vraie,
"Objectif atteint". Les guillemets sont obligatoires pour qu'Excel affiche le texte brut : sans eux, il y voit un nom de plage qui n'existe pas et renvoie#NOM?. - 4En 3ᵉ argument : écris le texte à afficher quand elle est fausse,
"En dessous". La fonction choisit toujours entre ces deux sorties sans jamais en inventer une troisième. - 5Ferme la parenthèse et appuie sur Entrée.
=SI(C2>=D2; "Objectif atteint"; "En dessous")Comment tester une cellule vide avec la fonction SI
On te demande où en est le projet, et tu veux pouvoir répondre sans relire chaque ligne. Tes tâches sont listées avec une date de fin qui n'est remplie qu'une fois le travail bouclé, et tu veux qu'Excel traduise ça en « Terminé » ou « En cours » tout seul. La fonction SI repère une cellule vide avec le test B2="" (ou la fonction ESTVIDE) et affiche le bon statut, sans que tu aies à le saisir à la main.
- 1Dans une cellule, écris
=SI(. - 2En 1er argument : écris le test qui interroge la date de fin,
B2="". Les deux guillemets sans rien entre eux représentent le texte vide, et Excel ne répond vrai que si la cellule ne contient effectivement rien. - 3En 2ᵉ argument : écris le statut des tâches encore ouvertes,
"En cours". La date de fin ne se remplit qu'une fois le travail bouclé, donc une cellule vide signifie que la tâche n'est pas terminée. - 4En 3ᵉ argument : écris le statut des autres,
"Terminé". Dès queB2contient une date, le test devient faux et la fonction bascule sur cette sortie. - 5Ferme la parenthèse et appuie sur Entrée.
=SI(B2=""; "En cours"; "Terminé")B2="" (deux guillemets sans rien entre) : si la date de fin n'est pas renseignée, la tâche est « En cours », sinon « Terminé ». Tu peux obtenir le même résultat avec la fonction ESTVIDE : =SI(ESTVIDE(B2); "En cours"; "Terminé").Comment imbriquer plusieurs fonctions SI
Les copies sont corrigées et il te reste à transformer chaque note en mention avant de rendre les bulletins. Tu as une colonne de notes et tu veux attribuer automatiquement Très Bien (≥16), Bien (≥14), Assez Bien (≥12), Passable (≥10), ou Insuffisant, sans réfléchir palier par palier. En imbriquant plusieurs fonctions SI les unes dans les autres, tu enchaînes les tests et chaque note tombe dans la bonne case. Au-delà de 3-4 niveaux, préfère la fonction SI.CONDITIONS (Excel 2016+), bien plus lisible.
- 1Dans une cellule, écris
=SI(. - 2En 1er argument : écris le seuil le plus exigeant,
B2>=16. C'est le premier palier que la formule examine, et l'ordre décroissant est obligatoire : en testantB2>=10d'abord, la note 17 le vérifierait déjà et n'atteindrait jamais les seuils supérieurs. - 3En 2ᵉ argument : écris la mention accordée à ce palier,
"Très Bien". - 4En 3ᵉ argument : écris non pas un texte mais une nouvelle fonction SI,
SI(B2>=14; "Bien"; …), et ainsi de suite en descendant avecB2>=12pour « Assez Bien »,B2>=10pour « Passable », puis"Insuffisant"comme dernier sinon. Ce troisième argument accepte une formule entière, et c'est précisément ce qui permet d'enchaîner les paliers. - 5Ferme les quatre parenthèses, une par SI ouvert, et appuie sur Entrée.
=SI(B2>=16; "Très Bien"; SI(B2>=14; "Bien"; SI(B2>=12; "Assez Bien"; SI(B2>=10; "Passable"; "Insuffisant"))))≥16) et obtient « Très Bien ».Comment combiner la fonction SI avec les fonctions ET et OU
Les colis du jour attendent d'être préparés et tu veux traiter d'abord les commandes qui comptent vraiment. Tu as une liste de commandes avec leur montant et leur date, et tu veux marquer "Prioritaire" celles de plus de 1 000 € passées aujourd'hui. Ici la fonction SI s'appuie sur la fonction ET : les deux conditions doivent être vraies en même temps. Si une seule suffisait, tu remplacerais ET par la fonction OU : =SI(OU(B2>1000; C2=AUJOURDHUI()); "Prioritaire"; "Standard").
- 1Dans une cellule, écris
=SI(. - 2En 1er argument : écris non pas une comparaison simple mais la fonction ET,
ET(B2>1000; C2=AUJOURDHUI()). Elle exige que le montant dépasse1 000€ et que la date soit celle du jour, et il suffit qu'une des deux conditions soit fausse pour que l'ensemble bascule. - 3En 2ᵉ argument : écris la mention des commandes qui réunissent les deux conditions,
"Prioritaire". - 4En 3ᵉ argument : écris
"Standard", qui couvre tous les autres cas. Une commande qui remplit une seule des deux conditions atterrit ici, au même titre qu'une commande qui n'en remplit aucune. - 5Ferme la parenthèse et appuie sur Entrée.
=SI(ET(B2>1000; C2=AUJOURDHUI()); "Prioritaire"; "Standard")ET() : la commande n'est « Prioritaire » que si les deux conditions (montant supérieur à 1 000 € ET date du jour) sont vraies en même temps. ET() renvoie VRAI uniquement quand toutes les conditions le sont.Comment gérer une erreur avec les fonctions SI et SIERREUR
Tu prépares ton tableau de suivi des objectifs et une cellule affiche #DIV/0! en plein milieu, juste avant de l'envoyer. Chaque produit a ses ventes et son objectif, et tu veux un taux d'atteinte propre même quand un produit récent n'a pas encore d'objectif fixé (valeur 0), le cas où la division par zéro renvoie l'erreur #DIV/0!. En imbriquant ta fonction SI dans une fonction SIERREUR, tu remplaces automatiquement ces erreurs par un texte propre. Même principe pour sécuriser une fonction RECHERCHEV qui ne trouve rien : =SIERREUR(RECHERCHEV(...); "Introuvable").
- 1Dans une cellule, écris
=SIERREUR(, la fonction qui va encadrer tout le reste. - 2En 1er argument : écris le calcul à surveiller et referme-le,
SI(B2/C2>=1; "Atteint"; "En cours"). Son test divise les ventes par l'objectif et compare le taux obtenu à1, c'est-à-dire à 100 %. - 3En 2ᵉ argument : écris le texte qui remplacera l'erreur,
"N/A". Il ne sert que sur les lignes dont l'objectif vaut0: la division y devient impossible, la fonction SI renverrait#DIV/0!, et c'est ce texte qui s'affiche à la place. - 4Ferme la parenthèse et appuie sur Entrée.
=SIERREUR(SI(B2/C2>=1; "Atteint"; "En cours"); "N/A")0 €), la division devient impossible et renverrait #DIV/0!. La fonction SIERREUR affiche alors « N/A » à la place de l'erreur.
Les erreurs fréquentes avec la fonction SI
La plupart des erreurs avec SI tournent autour de deux oublis : les guillemets et les parenthèses.
Un texte tapé sans guillemets, Oui au lieu de "Oui", et Excel le cherche comme une plage nommée : d'où le #NOM?. Une parenthèse manquante dans un SI imbriqué, et la formule entière refuse de se valider.
Les trois pièges ci-dessous couvrent la grande majorité des cas.
Oublier les guillemets autour du texte
=SI(A1>10; Oui; Non) provoque une erreur #NOM? car Excel cherche des plages nommées « Oui » et « Non » au lieu de les traiter comme du texte.
Solution : Mets toujours le texte entre guillemets : =SI(A1>10; "Oui"; "Non").
Trop de parenthèses ou pas assez
Avec les SI imbriqués, il est facile de perdre le compte des parenthèses, ce qui provoque une erreur de syntaxe.
Solution : Chaque SI ouvert doit être fermé : compte tes parenthèses, autant de ( que de ). Excel colorie les parenthèses par paires pour t'aider.
Comparer du texte sans guillemets
=SI(A1=Paris; "France"; "Autre") ne fonctionne pas car Paris est interprété comme une plage nommée, pas comme du texte.
Solution : Mets le texte comparé entre guillemets : =SI(A1="Paris"; "France"; "Autre").

SI, SI.CONDITIONS, SI.MULTIPLE ou CHOISIR : laquelle utiliser ?
SI suffit tant que tu n'as qu'un seul test à faire, avec deux issues possibles. Quand les cas se multiplient, empiler des SI imbriqués devient vite illisible et pénible à corriger.
C'est là que trois alternatives prennent le relais : SI.CONDITIONS pour enchaîner des seuils, SI.MULTIPLE pour comparer une valeur à une liste de cas, CHOISIR pour piocher par un numéro de position.
Le tableau ci-dessous t'aide à trancher selon ta version d'Excel et le nombre de cas à gérer.
| Critère | SI | SI.CONDITIONS | SI.MULTIPLE | CHOISIR |
|---|---|---|---|---|
| Nb de conditions | 2 (vrai/faux) | Jusqu'à 127 | Jusqu'à 126 | Jusqu'à 254 |
| Lisibilité | ⭐⭐ (si imbriqué) | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ |
| Compatibilité | ✅ Toutes versions | ⚠️ Excel 2016+ | ⚠️ Excel 2019+ | ✅ Toutes versions |
| Cas d'usage | 1-2 conditions | 3+ conditions | Comparer une valeur à une liste | Index numérique |

Astuces avancées avec SI
Gère les erreurs proprement avec SIERREUR
Quand ta RECHERCHEV ne trouve pas le code, elle renvoie une erreur #N/A. Plutôt que d'empiler SI et ESTERREUR, utilise SIERREUR, qui gère tout en une fois : =SIERREUR(RECHERCHEV(A1; Tarifs; 2; FAUX); "Tarif inconnu") renvoie le tarif trouvé, ou ton message de secours si le code n'existe pas.
Ta feuille reste propre, sans erreur affichée.
Additionne sous condition avec SOMME.SI
Pour totaliser les ventes d'une seule région, n'écris pas un SI en matriciel : SOMME.SI est faite pour ça. =SOMME.SI(B:B; "Nord"; C:C) additionne le chiffre d'affaires du Nord en une ligne, et NB.SI fait le même travail pour compter.
Dès que tu dois croiser plusieurs critères (la région ET le mois), passe à SOMME.SI.ENS.
Localise l'erreur dans un SI imbriqué
Quand une cascade de SI renvoie un résultat inattendu, sélectionne le bout de formule qui pose problème dans la barre de formule et appuie sur F9 : Excel affiche la vraie valeur de ce morceau, ce qui localise tout de suite la condition fautive.
Appuie sur Échap pour ressortir sans valider la modification.
Questions fréquentes
Excel permet techniquement jusqu'à 64 niveaux de SI imbriqués, ce qui est largement suffisant pour tous les cas d'usage. Cependant, en pratique, au-delà de 3-4 niveaux d'imbrication, ta formule devient difficile à lire et à maintenir.
Si tu as besoin de tester plus de 4 conditions, préfère utiliser SI.CONDITIONS disponible depuis Excel 2016, ou CHOISIR qui est disponible dans toutes les versions. Ces alternatives rendent tes formules beaucoup plus claires.
SI teste une seule condition et renvoie deux résultats possibles (vrai ou faux). Pour tester plusieurs conditions avec SI, tu dois imbriquer les fonctions les unes dans les autres, ce qui devient rapidement complexe.
SI.CONDITIONS (disponible depuis Excel 2016) te permet de lister plusieurs paires condition/résultat à la suite, sans imbrication. Par exemple, =SI.CONDITIONS(A1>=16;"Très Bien";A1>=14;"Bien";A1>=12;"Assez Bien") est beaucoup plus lisible que des SI imbriqués.
Pour combiner plusieurs conditions dans un seul test, utilise les fonctions ET() ou OU() à l'intérieur de SI. ET() renvoie VRAI uniquement si toutes les conditions sont vraies : =SI(ET(A1>10; B1<5); "Oui"; "Non") ne renvoie "Oui" que si A1 est supérieur à 10 ET B1 est inférieur à 5.
OU() renvoie VRAI si au moins une condition est vraie : =SI(OU(A1>100; B1="VIP"); "Prioritaire"; "Standard") marque comme prioritaire si le montant dépasse 100 OU si le client est "VIP".
Quand tu omets le troisième argument (valeur_si_faux), Excel renvoie la valeur logique FAUX qui s'affiche comme 0 dans les cellules numériques. C'est un comportement par défaut qui surprend beaucoup d'utilisateurs.
Pour afficher une cellule visuellement vide quand la condition est fausse, utilise une chaîne vide "" comme troisième argument. Par exemple : =SI(A1>10; "OK"; "") affichera "OK" ou une cellule vide, jamais 0.
Absolument ! C'est l'une des grandes forces de SI. Tu peux imbriquer n'importe quelle formule Excel dans les arguments valeur_si_vrai ou valeur_si_faux.
Par exemple : =SI(A1>100; SOMME(B1:B10); MOYENNE(B1:B10)) calcule une somme si A1 dépasse 100, sinon une moyenne. Tu peux même imbriquer des fonctions de recherche comme RECHERCHEV, ou d'autres fonctions logiques. Cela permet de créer des formules très puissantes qui s'adaptent au contexte.
Pour aller plus loin
Continue sur ta lancée après la fonction SI : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir





