Aller au contenu principal

Fonctions conditionnelles et logiques

MOS Excel (Microsoft 365)Fonctions de base et avancées

Fonctions conditionnelles et logiques

Définition

Les fonctions conditionnelles exécutent un calcul selon une ou plusieurs conditions : SI renvoie une valeur selon un test, SOMME.SI additionne une plage selon un critère. Les fonctions logiques ET, OU et NON combinent des tests. Ces fonctions sont centrales dans les examens MO-210 et MO-211, en particulier SOMME.SI.ENS et NB.SI.ENS.

Les fonctions logiques

Fonction Syntaxe Description
SI (IF) =SI(test;valeur_si_vrai;valeur_si_faux) Renvoie une valeur selon qu'un test est vrai ou faux
ET (AND) =ET(test1;test2) Renvoie VRAI si tous les tests sont vrais
OU (OR) =OU(test1;test2) Renvoie VRAI si au moins un test est vrai
NON (NOT) =NON(test) Inverse le résultat d'un test
SI.CONDITIONS (IFS) =SI.CONDITIONS(test1;v1;test2;v2;...) Évalue plusieurs tests dans l'ordre
SI.MULTIPLE (SWITCH) =SI.MULTIPLE(valeur;v1;r1;v2;r2;...) Compare une valeur à plusieurs cas
LET =LET(nom;valeur;calcul) Nomme des valeurs intermédiaires dans une formule

Le test d'une fonction SI se rédige avec les opérateurs >, <, >=, <=, = et <>. Le texte des critères se met entre guillemets : =SI(A1>10;"Oui";"Non").

SI, SI.CONDITIONS et SI.MULTIPLE

SI s'imbrique quand il y a plus de deux résultats possibles, mais les imbrications deviennent vite illisibles. SI.CONDITIONS les remplace : les paires test/valeur s'évaluent dans l'ordre, et la première condition vraie gagne. Si aucune condition n'est vraie, la fonction renvoie #N/A, sauf si un dernier test VRAI fournit le cas par défaut.

=SI.CONDITIONS(A1>=16;"Admis";A1>=10;"Rattrapage";VRAI;"Refusé")

SI.MULTIPLE convient quand on compare une même valeur à plusieurs cas exacts, comme un code produit. LET nomme des calculs intermédiaires pour alléger les formules longues : =LET(taux;0,2;prix;SOMME(B2:B10);prix*(1+taux)).

Exemples d'utilisation de SI avec ET, OU et NON pour évaluer des valeurs (Microsoft Support)

Les fonctions conditionnelles d'agrégation

Fonction Syntaxe Description
SOMME.SI (SUMIF) =SOMME.SI(plage_critere;critere;plage_somme) Additionne selon un critère
MOYENNE.SI (AVERAGEIF) =MOYENNE.SI(plage_critere;critere;plage_moyenne) Calcule une moyenne selon un critère
NB.SI (COUNTIF) =NB.SI(plage;critere) Compte selon un critère
SOMME.SI.ENS (SUMIFS) =SOMME.SI.ENS(plage_somme;plage_c1;c1;plage_c2;c2) Additionne selon plusieurs critères
MOYENNE.SI.ENS (AVERAGEIFS) =MOYENNE.SI.ENS(plage_moyenne;plage_c1;c1;...) Moyenne selon plusieurs critères
NB.SI.ENS (COUNTIFS) =NB.SI.ENS(plage1;critere1;plage2;critere2) Compte selon plusieurs critères
MAX.SI.ENS (MAXIFS) =MAX.SI.ENS(plage_max;plage_c1;c1) Maximum selon des critères
MIN.SI.ENS (MINIFS) =MIN.SI.ENS(plage_min;plage_c1;c1) Minimum selon des critères

Dans les variantes .ENS, la plage à agréger vient en premier, contrairement aux variantes simples. Toutes les plages de critères doivent avoir la même taille que la plage à agréger, sinon la formule renvoie #VALEUR!. Les critères acceptent les opérateurs entre guillemets, ">100", et les jokers * et ? : "Nord*" correspond à toute valeur commençant par Nord.

SOMME.SI.ENS : plage à additionner d'abord, puis couples plage de critères et critère

Exemple concret

Un tableau des ventes contient Région en A2:A4, Vendeur en B2:B4 et Montant en C2:C4.

Région Vendeur Montant
Nord Dupont 1200
Sud Martin 800
Nord Martin 950
=SOMME.SI.ENS(C2:C4;A2:A4;"Nord";B2:B4;"Martin")  renvoie 950
=NB.SI(A2:A4;"Nord")                               renvoie 2
=MAX.SI.ENS(C2:C4;A2:A4;"Nord")                    renvoie 1200