Fonction SI Excel
La fonction SI (IF en anglais) est la reine des fonctions logiques d'Excel : elle prend une décision à ta place. Si la condition que tu poses est vraie, elle renvoie un premier résultat ; sinon, elle en renvoie un autre. C'est le point de départ de presque toute l'automatisation dans Excel, et sans doute la fonction que tu utiliseras le plus souvent.
Concrètement, c'est elle qui classe tes clients en VIP ou Standard, 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 de la fonction SI
La fonction SI évalue une condition logique et renvoie une valeur si elle est VRAIE, une autre si elle est FAUSSE. C'est la base de toute logique conditionnelle dans Excel.
=SI(test_logique; valeur_si_vrai; [valeur_si_faux])Comprendre chaque paramètre de la fonction SI
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.
Astuce : Le test logique peut contenir du texte : =SI(A1="Paris"; "France"; "Autre") fonctionne parfaitement. N'oublie pas les guillemets autour du texte.
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.
Astuce : Mets "" comme valeur_si_faux pour afficher une cellule vide plutôt que 0 ou FAUX quand la condition n'est pas remplie : =SI(A1>10; "OK"; "").
Pas envie d'écrire la formule SI à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Exemple 1 – Commercial : afficher si l'objectif est atteint
Tu es commercial ou responsable des ventes et tu dois suivre les performances de ton équipe. Chaque vendeur a un objectif mensuel de 10 000 € et tu veux voir immédiatement qui l'a atteint et qui est en retard. Plutôt que de vérifier manuellement chaque ligne, tu laisses SI faire le travail automatiquement.
La formule =SI(B1>=10000; "Objectif atteint ✓"; "En dessous") analyse la valeur de la cellule B1. Si elle est supérieure ou égale à 10 000, Excel affiche "Objectif atteint ✓". Sinon, il affiche "En dessous". Tu peux ensuite appliquer une mise en forme conditionnelle pour colorer les cellules en vert ou rouge selon le résultat.
| A | B | C | |
|---|---|---|---|
| 1 | Vendeur | Ventes | Statut |
| 2 | Marie | 12 500 € | Objectif atteint ✓ |
| 3 | Pierre | 8 200 € | En dessous |
| 4 | Sophie | 10 000 € | Objectif atteint ✓ |
| 5 | Lucas | 9 800 € | En dessous |
=SI(B1>=10000; "Objectif atteint ✓"; "En dessous")Exemple 2 – RH : calculer une prime conditionnelle
Tu travailles aux ressources humaines et tu dois préparer le calcul des primes de fin d'année. La règle est simple : les employés avec plus de 5 ans d'ancienneté reçoivent une prime de fidélité de 500 €, les autres n'en reçoivent pas. Avec SI, tu peux calculer automatiquement ce montant pour chaque employé.
Ici, SI retourne directement un nombre (500 ou 0) plutôt que du texte. Tu peux ensuite utiliser SOMME sur la colonne Prime pour calculer le budget total des primes. Cette approche est plus pratique que d'écrire "500 €" car Excel peut faire des calculs sur les nombres.
| A | B | C | |
|---|---|---|---|
| 1 | Employé | Ancienneté | Prime |
| 2 | Alice | 7 ans | 500 € |
| 3 | Bob | 3 ans | 0 € |
| 4 | Claire | 12 ans | 500 € |
=SI(B1>5; 500; 0)Exemple 3 – Prof : attribuer une mention selon la note
Tu es enseignant et tu veux attribuer automatiquement une mention : Très Bien (≥16), Bien (≥14), Assez Bien (≥12), Passable (≥10), ou Insuffisant. Avec 4+ conditions, préfère SI.CONDITIONS (Excel 2016+) qui est beaucoup plus lisible.
| A | B | C | |
|---|---|---|---|
| 1 | Élève | Note | Mention |
| 2 | Emma | 17 | Très Bien |
| 3 | Hugo | 14 | Bien |
| 4 | Léa | 11 | Assez Bien |
| 5 | Tom | 8 | Insuffisant |
=SI(B1>=16; "Très Bien"; SI(B1>=14; "Bien"; SI(B1>=12; "Assez Bien"; SI(B1>=10; "Passable"; "Insuffisant"))))Astuce de pro : Au-delà de 3-4 niveaux, les SI imbriqués deviennent illisibles. Range tes seuils dans une table à côté et laisse RECHERCHEV en mode approximatif faire le tri, comme ça : =RECHERCHEV(B1; $E$1:$F$5; 2; VRAI). Et si un jour tu veux changer un seuil, par exemple passer la mention Bien de 14 à 15, tu modifies juste la table, sans toucher à la formule.
Exemple 4 – Logistique : vérifier deux conditions avec ET
Tu gères les expéditions et tu veux marquer "Prioritaire" les commandes de plus de 1 000 € passées aujourd'hui. ET() renvoie VRAI uniquement si toutes les conditions listées sont vraies simultanément.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Commande | Montant | Date | Priorité |
| 2 | #001 | 1 500 € | Aujourd'hui | Prioritaire |
| 3 | #002 | 800 € | Aujourd'hui | Standard |
| 4 | #003 | 2 000 € | Hier | Standard |
=SI(ET(B1>1000; C1=AUJOURDHUI()); "Prioritaire"; "Standard")Exemple 5 – Service client : identifier les clients VIP
Tu travailles au service client et tu veux marquer comme VIP les clients qui ont plus de 50 000 € d'achats OU plus de 10 commandes. OU() renvoie VRAI si au moins une condition est vraie.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Client | Total achats | Nb commandes | Statut |
| 2 | Entreprise A | 60 000 € | 8 | VIP |
| 3 | Société B | 30 000 € | 15 | VIP |
| 4 | Client C | 20 000 € | 5 | Standard |
=SI(OU(B1>50000; C1>10); "VIP"; "Standard")Les erreurs fréquentes avec la fonction SI
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 vs SI.CONDITIONS vs SI.MULTIPLE vs CHOISIR
| 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 sur la fonction SI
Combien de SI imbriqués peut-on utiliser dans Excel ?
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.
Quelle est la différence entre SI et SI.CONDITIONS ?
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.
Comment faire un SI avec plusieurs conditions (ET/OU) ?
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".
Pourquoi ma fonction SI renvoie 0 au lieu de rien ?
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.
SI peut-elle renvoyer une autre formule ?
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.
Les fonctions similaires à SI
Deviens un pro d'Excel
Rejoins Le Dojo Club pour maîtriser toutes les fonctions Excel, avec des lives hebdomadaires et une communauté qui t'aide.
Essayer pendant 30 jours