Aller au contenu principal

Qu'est-ce que la fonction MOYENNE.SI ?

Définition
La fonction MOYENNE.SI calcule la moyenne des cellules d'une plage qui répondent à un seul critère (texte, nombre ou opérateur de comparaison). C'est la version conditionnelle de MOYENNE, et la version simple de MOYENNE.SI.ENS qui en gère plusieurs.

Tu sors MOYENNE.SI (AVERAGEIF en anglais) dès que tu veux une moyenne sur une seule partie de tes données, sans filtrer le tableau à la main : le salaire moyen d'un département, le panier moyen au-dessus d'un seuil, ou la note moyenne des seuls clients qui ont répondu.

Concrètement, c'est elle qui te donne le salaire moyen d'un seul département, la moyenne des ventes d'une région, le panier moyen des commandes au-dessus d'un certain seuil, ou la note moyenne des clients qui ont répondu à une enquête. Plus besoin de filtrer manuellement avant de faire ta moyenne, la formule s'en charge et se recalcule automatiquement.

Syntaxe

Clique sur un argument pour aller à son explication.

Si tu omets plage_moyenne, Excel calcule la moyenne directement sur les cellules de plage qui correspondent au critère.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction MOYENNE.SI

1

plage

: la plage de cellules sur laquelle tu veux appliquer le critère

Si tu cherches toutes les ventes de "Paris", la plage contiendrait la colonne des villes. Excel examine chaque cellule de cette plage pour vérifier si elle correspond au critère.

Ça peut être une colonne entière comme A:A ou une plage précise comme A1:A100. Les deux approches fonctionnent, mais référencer des colonnes entières rend la formule plus robuste quand ton tableau s'agrandit.

2

critères

: la condition que les cellules doivent remplir pour entrer dans le calcul

Ça peut être un nombre (100), du texte entre guillemets ("Paris"), une comparaison (">50"), ou une référence de cellule (D1).

Quelques critères valides : "Paris" (texte exact), ">1000" (supérieur à 1000), "<>0" (différent de zéro), "*formation*" (contient le mot formation), ou ">="&B1 (supérieur ou égal à la valeur en B1). Tu peux aussi utiliser les jokers * et ? pour des recherches flexibles.

3

plage_moyenne

: la plage de cellules à partir de laquelle calculer la moyenne(facultatif)

Si tu l'omets, Excel calcule la moyenne sur la plage du critère elle-même. Tu en as besoin dès que tu testes une colonne (les villes) mais que tu veux la moyenne d'une autre (les montants).

plage et plage_moyenne doivent couvrir exactement le même nombre de lignes, sinon Excel calcule sur les mauvaises valeurs sans prévenir.

L’erreur fatale
Si aucune cellule ne colle à ton critère, MOYENNE.SI renvoie #DIV/0! : impossible de faire une moyenne sur zéro valeur. Enrobe-la de SIERREUR(MOYENNE.SI(...); 0) pour afficher 0 au lieu de l'erreur.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment calculer une moyenne sous condition avec la fonction MOYENNE.SI

Les grilles de salaires sont revues avant la campagne d'augmentations, et on te demande combien gagne en moyenne un commercial dans l'entreprise. Ton tableau liste dix-huit employés avec leur ville, leur département et leur salaire, et tu veux la moyenne du seul département Commercial, sans toucher aux autres lignes. La fonction MOYENNE.SI repère toute seule les lignes concernées et calcule la moyenne de leurs salaires.

Les étapes
  1. 1
    Dans une cellule, écris =MOYENNE.SI(.
  2. 2
    En 1er argument : sélectionne la plage des départements, C2:C19. C'est sur elle que la fonction MOYENNE.SI teste chaque ligne pour savoir laquelle retenir.
  3. 3
    En 2ᵉ argument : saisis le critère à respecter, entre guillemets puisque c'est du texte, "Commercial". Seules les lignes dont le département vaut exactement ce mot entrent dans le calcul.
  4. 4
    En 3ᵉ argument : sélectionne la plage des salaires à moyenner, D2:D19. Ce troisième argument est indispensable ici, parce que tu testes la colonne des départements mais que tu veux la moyenne d'une autre, celle des salaires.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Au final, ta formule devrait ressembler à ça :=MOYENNE.SI(C2:C19; "Commercial"; D2:D19)
Explication
La fonction ne retient que les sept lignes dont le département vaut « Commercial », additionne leurs salaires et divise par sept. Les onze autres employés (RH et IT) restent dans la plage mais ne pèsent pas d'un centime dans la moyenne.
Exemple 2

Comment calculer la moyenne des valeurs supérieures à un seuil avec la fonction MOYENNE.SI

Le budget de l'année prochaine se prépare et tu veux savoir ce que pèsent vraiment les grosses lignes de dépenses. Ton tableau liste chaque poste avec son montant, et tu cherches la moyenne des seules dépenses au-dessus de 5 000 €, sans trier ni filtrer quoi que ce soit. La fonction MOYENNE.SI applique le seuil directement sur la colonne des montants et te sort la moyenne.

Les étapes
  1. 1
    Dans une cellule, écris =MOYENNE.SI(.
  2. 2
    En 1er argument : sélectionne la plage des montants, B2:B7. C'est à la fois la colonne que la fonction teste et celle dont elle calcule la moyenne, puisqu'il n'y a pas de troisième argument.
  3. 3
    En 2ᵉ argument : saisis le critère de comparaison, ">5000". Les guillemets sont obligatoires autour d'un opérateur, sinon Excel ne reconnaît pas la condition et refuse la formule.
  4. 4
    Ferme la parenthèse et appuie sur Entrée.
Voici la formule que tu obtiens à la fin :=MOYENNE.SI(B2:B7; ">5000")
Explication
Seuls les quatre montants qui dépassent 5 000 € sont retenus (7 500, 12 000, 8 500 et 6 200), puis additionnés et divisés par quatre. Les 850 € de fournitures et les 3 200 € de logiciels sont écartés avant même le calcul.
Exemple 3

Comment utiliser un critère dynamique avec la fonction MOYENNE.SI

Ton tableau de bord doit répondre à la question du jour sans que tu réécrives une formule à chaque fois qu'on déplace la barre. Tu as les ventes et la commission de chaque vendeur, et tu veux la commission moyenne de ceux qui dépassent un seuil de ventes posé dans la cellule E1 (ici 10 000 €). La fonction MOYENNE.SI va lire ce seuil dans la cellule, donc il te suffit de changer E1 pour que tout le calcul suive.

Les étapes
  1. 1
    Dans une cellule, écris =MOYENNE.SI(.
  2. 2
    En 1er argument : sélectionne la plage des ventes, B2:B7. C'est elle qui décide quels vendeurs sont retenus selon le seuil.
  3. 3
    En 2ᵉ argument : saisis le critère dynamique, ">="&E1. L'opérateur de comparaison reste entre guillemets et l'esperluette le raccorde à la valeur lue dans E1, ce qui donne « supérieur ou égal à 10 000 ». Écrire ">=E1" d'un bloc ne marcherait pas, car la fonction chercherait alors le texte « E1 » au lieu de lire la cellule.
  4. 4
    En 3ᵉ argument : sélectionne la plage des commissions, C2:C7. Tu testes les ventes mais tu veux la moyenne des commissions, donc ce troisième argument reste obligatoire.
  5. 5
    Ferme la parenthèse et appuie sur Entrée.
Une fois les morceaux assemblés, ta formule donne ça :=MOYENNE.SI(B2:B7; ">="&E1; C2:C7)
Explication
Le critère est reconstruit à partir de E1 à chaque recalcul : la fonction MOYENNE.SI garde les trois vendeurs au-dessus de 10 000 € de ventes et fait la moyenne de leurs commissions. Baisse le seuil à 8 000 dans E1 et la moyenne s'ajuste sans que tu touches à la formule.
Exemple 4

Comment éviter l'erreur #DIV/0! avec les fonctions MOYENNE.SI et SIERREUR

Ton suivi de satisfaction se remplit canal par canal et il doit rester présentable même quand un canal n'a encore reçu aucune réponse. Ici tu demandes la note moyenne des retours arrivés par courrier, alors qu'aucune ligne du tableau ne vient de ce canal. Seule, la fonction MOYENNE.SI afficherait une erreur #DIV/0! en pleine page, donc tu l'enrobes dans SIERREUR pour montrer un message lisible à la place.

Les étapes
  1. 1
    Dans une cellule, écris =SIERREUR(.
  2. 2
    En 1er argument : écris le calcul à surveiller et referme-le, MOYENNE.SI(A2:A7; "Courrier"; B2:B7). Cette moyenne cherche les notes des retours par courrier, mais aucune ligne du tableau ne porte ce canal, donc sa sélection est vide et elle renvoie #DIV/0!.
  3. 3
    En 2ᵉ argument : saisis le texte de secours à afficher, "Aucune réponse". C'est ce que la cellule montre à la place de l'erreur tant que la fonction MOYENNE.SI ne trouve aucun retour par courrier.
  4. 4
    Ferme la parenthèse et appuie sur Entrée.
En mettant tout bout à bout, tu écris :=SIERREUR(MOYENNE.SI(A2:A7; "Courrier"; B2:B7); "Aucune réponse")
Explication
La fonction MOYENNE.SI ne trouve aucun retour par courrier, sa sélection est vide et la division n'a plus de dénominateur, d'où le #DIV/0!. SIERREUR intercepte l'erreur et affiche le texte de secours à la place. Dès qu'une première réponse par courrier arrive, la vraie moyenne reprend sa place toute seule.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction MOYENNE.SI

Erreur #DIV/0! : aucune correspondance trouvée

Tu obtiens #DIV/0! quand aucune cellule de ta plage ne correspond au critère. Excel ne peut pas calculer une moyenne sur zéro valeur, d'où l'erreur de division par zéro.

Solution : Vérifie que ton critère est bien écrit. Si tu cherches "Paris" mais que les cellules contiennent "paris" (minuscule) ou " Paris " (avec un espace), Excel ne trouvera rien. Encadre ta formule avec =SIERREUR(MOYENNE.SI(...); 0) pour afficher 0 au lieu de l'erreur.

Les plages n'ont pas la même taille

Si ta plage de critères et ta plage_moyenne n'ont pas le même nombre de lignes, Excel peut retourner des résultats inattendus. Par exemple, si A:A va jusqu'à la ligne 100 mais B:B seulement jusqu'à la ligne 50.

Solution : Assure-toi que les deux plages couvrent exactement les mêmes lignes : A1:A100 et B1:B100. Ou utilise des colonnes entières pour les deux si tes données peuvent s'étendre.

Critère avec opérateur sans guillemets

Écrire =MOYENNE.SI(A:A; >100; B:B) provoque une erreur car l'opérateur de comparaison doit être entre guillemets.

Solution : Mets toujours les opérateurs de comparaison entre guillemets : =MOYENNE.SI(A:A; ">100"; B:B). Seuls les nombres seuls peuvent être écrits sans guillemets.

Espaces invisibles dans les données qui empêchent les correspondances

Tes données contiennent "Paris " (avec un espace à la fin) mais ton critère cherche "Paris". Excel ne trouve aucune correspondance car il compare caractère par caractère.

Solution : Nettoie tes données avec SUPPRESPACE : =SUPPRESPACE(A1). Ou utilise le joker * : "Paris*" trouvera "Paris", "Paris " et "Paris Nord".

Lucas, la mascotte du Dojo, compare deux fonctions Excel

MOYENNE.SI vs MOYENNE vs MOYENNE.SI.ENS vs NB.SI

Utilise MOYENNE pour une moyenne simple sur toutes les valeurs. MOYENNE.SI dès que tu as un seul critère. MOYENNE.SI.ENS quand tu dois croiser plusieurs conditions (région ET période ET produit). NB.SI si tu veux compter les occurrences plutôt que calculer une moyenne.

CritèreMOYENNEMOYENNE.SIMOYENNE.SI.ENSNB.SI
Nombre de critèresAucun1 critèreMultiple1 critère
FonctionMoyenne simpleMoyenne conditionnelleMoyenne multi-conditionsCompte les valeurs
SyntaxeMOYENNE(plage)MOYENNE.SI(plage; critère; [moy])MOYENNE.SI.ENS(moy; plage1; crit1...)NB.SI(plage; critère)
Cas d'usageToutes les valeursRégion = "Nord"Nord ET > 1000 €Combien de "Nord" ?
NiveauDébutantIntermédiaireAvancéIntermédiaire
Le conseil du pro
Quand tu testes et calcules la même colonne, laisse tomber le troisième argument : MOYENNE.SI(B:B; « >100 ») fait directement la moyenne des valeurs de B qui dépassent 100.
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec MOYENNE.SI

1Astuce

Critère dynamique via référence de cellule

Au lieu d'écrire le critère en dur dans la formule, référence une cellule : =MOYENNE.SI(A:A; E1; B:B). Si E1 contient "Paris", la formule cherche Paris. Change E1 en "Lyon", et la formule s'adapte instantanément.
Cette approche est parfaite pour des tableaux de bord interactifs où l'utilisateur choisit la région ou le département dans une liste déroulante.

2Astuce

Utiliser MOYENNE.SI avec des dates

MOYENNE.SI fonctionne avec les dates comme avec n'importe quelle valeur numérique. Pour la moyenne des ventes après le 1er janvier : =MOYENNE.SI(A:A; ">="&DATE(2025;1;1); B:B).
Tu peux aussi utiliser ">="&AUJOURDHUI()-30 pour la moyenne glissante des 30 derniers jours, sans jamais toucher à la formule.

3Astuce

Imbriquer MOYENNE.SI dans SI pour des seuils conditionnels

=SI(MOYENNE.SI(A:A; "Paris"; B:B) > 5000; "Bon"; "Faible") affiche "Bon" si la moyenne des ventes de Paris dépasse 5 000 €. Imbriquée dans SI, MOYENNE.SI devient un indicateur de performance binaire.
Tu peux ensuite appliquer une mise en forme conditionnelle sur la cellule pour visualiser le résultat en vert ou en rouge.

4Astuce

Jokers pour des correspondances partielles

=MOYENNE.SI(A:A; "Paris*"; B:B) trouvera "Paris", "Paris Nord", "Paris 15ème", etc. Le ? remplace un seul caractère : "A?C" trouve "ABC", "AZC", "A1C".
Cette flexibilité est essentielle quand tes données de référence ont des libellés légèrement différents selon les sources.

FAQ

Questions fréquentes

MOYENNE.SI n'accepte qu'un seul critère, tandis que MOYENNE.SI.ENS te permet d'appliquer plusieurs critères simultanés. Par exemple, si tu veux la moyenne des ventes pour Paris ET supérieures à 1 000 €, tu dois utiliser MOYENNE.SI.ENS. Dès que tu as besoin de croiser au moins deux conditions, passe directement à MOYENNE.SI.ENS : c'est plus lisible et plus fiable.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction MOYENNE.SI : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir