Avant de commencer : noms de fonctions et séparateurs
Dans un fichier Google Sheets réglé sur la France (Fichier > Paramètres > Paramètres régionaux), les
fonctions portent leur nom français (SI, ET, OU…) et les arguments sont séparés
par un point-virgule. Avec des paramètres régionaux anglais, les mêmes formules s’écrivent
IF, AND, OR, IFS, IFERROR, COUNTIFS,
avec des virgules (et SUMIFS pour SOMME.SI.ENS). La logique ne change pas.
Tous les exemples ci-dessous s’appuient sur un petit tableau de commandes fictif :
| A : Client | B : Région | C : Montant (€) | D : Statut | |
|---|---|---|---|---|
| 2 | Dupont | Nord | 1 200 | Payé |
| 3 | Martin | Sud | 450 | En attente |
| 4 | Leroy | Nord | 3 800 | En attente |
| 5 | Petit | Est | 90 | Payé |
Rappel : la fonction SI
SI(condition; valeur_si_vrai; valeur_si_faux) renvoie une valeur ou une autre selon que la condition est
vraie ou fausse :
=SI(C2>=1000; "Gros client"; "Standard")
Le texte se met entre guillemets droits, les nombres sans guillemets. Si vous omettez le troisième argument, la formule
renvoie FAUX quand la condition n’est pas remplie : mettez plutôt "" pour laisser la cellule
vide.
SI + ET : toutes les conditions doivent être vraies
ET() renvoie VRAI uniquement si toutes les conditions sont vraies. On
l’utilise comme condition de SI() :
=SI(ET(B2="Nord"; C2>=1000); "Relance prioritaire"; "")
Ici, les lignes Dupont (Nord, 1 200 €) et Leroy (Nord, 3 800 €) sont marquées ; Martin et Petit ne le sont pas. Vous pouvez enchaîner autant
de conditions que nécessaire dans ET(), séparées par des points-virgules :
=SI(ET(B2="Nord"; C2>=1000; D2="En attente"); "À relancer"; "")
Cette fois, seule la ligne Leroy répond aux trois critères.
SI + OU : au moins une condition doit être vraie
OU() renvoie VRAI dès qu’une des conditions est vraie :
=SI(OU(B2="Nord"; B2="Est"); "Secteur Emmanuel"; "Secteur Julie")
On peut combiner les deux. Pour « montant supérieur ou égal à 1 000 € et région Nord ou Est » :
=SI(ET(C2>=1000; OU(B2="Nord"; B2="Est")); "Oui"; "Non")
Pour inverser une condition, utilisez NON() ou l’opérateur <> (différent de) :
=SI(D2<>"Payé"; "Impayé"; "").
Plusieurs résultats possibles : SI imbriqués ou SI.CONDITIONS
Pour classer les commandes en trois tranches, la méthode historique consiste à imbriquer des SI :
=SI(C2>=3000; "A"; SI(C2>=1000; "B"; "C"))
Cela fonctionne, mais devient vite illisible au-delà de trois niveaux (et les parenthèses se comptent à la main).
SI.CONDITIONS() est plus clair : on liste des paires condition ; résultat, évaluées dans
l’ordre, et la première condition vraie l’emporte.
=SI.CONDITIONS(C2>=3000; "A"; C2>=1000; "B"; C2>=100; "C"; VRAI; "D")
Deux points d’attention :
-
L’ordre compte. Si vous testez
C2>=100en premier, toutes les commandes au-dessus de 100 € tomberont en « C ». -
Aucune condition vraie = erreur
#N/A. D’où le dernier coupleVRAI; "D", qui joue le rôle de « sinon ».
Gérer les erreurs : SIERREUR
Une formule qui divise par une cellule vide ou qui recherche une valeur absente renvoie une erreur
(#DIV/0!, #N/A…). SIERREUR(valeur; valeur_si_erreur) remplace l’erreur par ce
que vous voulez :
=SIERREUR(C2/E2; 0)
À utiliser avec discernement : masquer toutes les erreurs peut cacher un vrai problème de données. Préférez un message
explicite ("Taux manquant") plutôt qu’un zéro silencieux quand l’erreur doit être corrigée.
Somme si 2 conditions : SOMME.SI.ENS (et NB.SI.ENS pour compter)
Beaucoup de formules « SI à plusieurs conditions » servent en réalité à additionner ou à
compter. Dans ce cas, inutile d’ajouter une colonne de SI : SOMME.SI.ENS
(SUMIFS en anglais) additionne une plage en ne gardant que les lignes qui remplissent
toutes les conditions (logique ET) :
SOMME.SI.ENS(plage_somme; plage_critère1; critère1; [plage_critère2; critère2; …])
Somme des montants de la région Nord encore en attente, soit deux conditions :
=SOMME.SI.ENS(C2:C5; B2:B5; "Nord"; D2:D5; "En attente")
Résultat : 3 800 (seule la commande Leroy remplit les deux conditions). On ajoute une troisième condition en ajoutant simplement un couple plage ; critère. Les mêmes fonctions existent pour compter et faire une moyenne :
| Besoin | Formule | Résultat |
|---|---|---|
| Nombre de commandes Nord en attente | =NB.SI.ENS(B2:B5; "Nord"; D2:D5; "En attente") |
1 |
| Montant total payé (une seule condition) | =SOMME.SI.ENS(C2:C5; D2:D5; "Payé") |
1 290 |
| Montant Nord d’au moins 1 000 € | =SOMME.SI.ENS(C2:C5; B2:B5; "Nord"; C2:C5; ">=1000") |
5 000 |
| Montant hors commandes payées | =SOMME.SI.ENS(C2:C5; D2:D5; "<>Payé") |
4 250 |
| Montant moyen des commandes en attente | =MOYENNE.SI.ENS(C2:C5; D2:D5; "En attente") |
2 125 |
Trois règles évitent la plupart des erreurs :
-
La plage à additionner vient en premier dans
SOMME.SI.ENS(c’est l’inverse deSOMME.SI, où elle vient en dernier). -
Toutes les plages ont la même taille :
C2:C5avecB2:B5, pasB2:B10. -
Les comparaisons s’écrivent entre guillemets (
">=1000") ; pour utiliser une cellule, concaténez :">="&F1. Un critère texte placé dans une cellule s’utilise tel quel :=SOMME.SI.ENS(C2:C; B2:B; G1; D2:D; G2).
Somme entre deux dates
Cas très fréquent : deux conditions sur la même colonne. Si votre tableau a une colonne E de dates, le total de janvier 2026 s’écrit :
=SOMME.SI.ENS(C2:C; E2:E; ">="&DATE(2026; 1; 1); E2:E; "<"&DATE(2026; 2; 1))
Somme avec une condition OU
SOMME.SI.ENS ne sait faire que du ET. Pour « région Nord ou Est », le plus lisible est
d’additionner deux formules :
=SOMME.SI.ENS(C2:C5; B2:B5; "Nord") + SOMME.SI.ENS(C2:C5; B2:B5; "Est") (résultat : 5 090). Même
principe pour compter : =NB.SI(B2:B5; "Nord") + NB.SI(B2:B5; "Est"). Quand les conditions se
multiplient, SOMMEPROD (SUMPRODUCT) accepte n’importe quelle combinaison, avec
* pour ET et + pour OU :
=SOMMEPROD(((B2:B5="Nord")+(B2:B5="Est"))*(D2:D5="En attente")*C2:C5)
Ici : 3 800, seule commande Nord ou Est encore en attente.
Appliquer la formule à toute une colonne
Plutôt que de recopier la formule sur des milliers de lignes, on peut la calculer une seule fois pour toute la colonne
avec ARRAYFORMULA. Dans ce cas, ET() et OU() ne fonctionnent pas ligne par
ligne (ils renvoient une seule valeur pour toute la plage). On les remplace par des opérations :
- ET devient une multiplication :
(B2:B="Nord")*(C2:C>=1000) - OU devient une addition :
(B2:B="Nord")+(B2:B="Est")
=ARRAYFORMULA(SI(A2:A=""; ""; SI((B2:B="Nord")*(C2:C>=1000); "À relancer"; "")))
Le premier test (A2:A="") évite d’afficher des résultats sur les lignes vides en bas du tableau. Si vous
préférez garder ET() et OU(), la fonction MAP applique la formule cellule par
cellule : tout est expliqué dans le guide
ARRAYFORMULA, MAP et MAKEARRAY.
Les erreurs les plus fréquentes
- Virgule au lieu de point-virgule (ou l’inverse) : le séparateur dépend des paramètres régionaux du fichier, pas de votre ordinateur.
-
Nombre stocké comme texte :
C2>=1000est faux si la cellule contient le texte « 1 200 € » saisi à la main. Vérifiez le format (aligné à droite = nombre). - Guillemets typographiques (« » ou “ ”) copiés depuis un document : Sheets attend des guillemets droits.
-
Espaces invisibles : « Nord » et « Nord » ne sont pas égaux.
SUPPRESPACE()nettoie les données importées. -
SI imbriqués à rallonge : au-delà de trois ou quatre niveaux, passez à
SI.CONDITIONSou à une petite table de correspondance avecRECHERCHEVouRECHERCHEX(voir le guide RECHERCHEV et RECHERCHEX).
FAQ
Combien de conditions peut-on mettre dans ET ou OU ?
Suffisamment pour tous les usages courants. Au-delà de cinq ou six conditions, la formule devient difficile à relire : une colonne intermédiaire ou une table de paramètres est souvent plus maintenable.
Comment faire une somme si 2 conditions dans Google Sheets ?
Avec SOMME.SI.ENS (SUMIFS) : la plage à additionner d’abord, puis un couple
plage ; critère par condition, par exemple =SOMME.SI.ENS(C2:C; B2:B; "Nord"; D2:D; "En attente").
Pour une condition OU, additionnez deux SOMME.SI.ENS.
SI.CONDITIONS existe-t-il dans Excel ?
Oui, sous le même nom dans les versions récentes d’Excel (IFS en anglais). Les formules de cet article se transposent donc presque telles quelles.
Comment tester si une cellule contient un mot ?
Combinez SI avec ESTNUM(CHERCHE("mot"; A2)) : CHERCHE renvoie la position du
mot (sans tenir compte de la casse) ou une erreur s’il est absent.
Ces formules font partie du programme de la formation Google Sheets (niveaux N1 « fondamentaux » et N2 « avancé »), travaillées directement sur les fichiers de votre équipe. Pour aller plus loin dans l’analyse, lisez aussi le guide de la fonction QUERY ; pour aller chercher une valeur dans une autre table, celui de RECHERCHEV et RECHERCHEX.