Qu'est-ce que la fonction MOYENNE. SI ?
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
=MOYENNE.SI(plage; critères; [plage_moyenne])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.

Comprendre chaque paramètre de la fonction MOYENNE.SI
plage
: la plage de cellules sur laquelle tu veux appliquer le critèreSi 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.
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.
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.

Exemples pratiques pas à pas
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.
- 1Dans une cellule, écris
=MOYENNE.SI(. - 2En 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. - 3En 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. - 4En 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. - 5Ferme la parenthèse et appuie sur Entrée.
=MOYENNE.SI(C2:C19; "Commercial"; D2:D19)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.
- 1Dans une cellule, écris
=MOYENNE.SI(. - 2En 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. - 3En 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. - 4Ferme la parenthèse et appuie sur Entrée.
=MOYENNE.SI(B2:B7; ">5000")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.
- 1Dans une cellule, écris
=MOYENNE.SI(. - 2En 1er argument : sélectionne la plage des ventes,
B2:B7. C'est elle qui décide quels vendeurs sont retenus selon le seuil. - 3En 2ᵉ argument : saisis le critère dynamique,
">="&E1. L'opérateur de comparaison reste entre guillemets et l'esperluette le raccorde à la valeur lue dansE1, 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. - 4En 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. - 5Ferme la parenthèse et appuie sur Entrée.
=MOYENNE.SI(B2:B7; ">="&E1; C2:C7)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.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.
- 1Dans une cellule, écris
=SIERREUR(. - 2En 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!. - 3En 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. - 4Ferme la parenthèse et appuie sur Entrée.
=SIERREUR(MOYENNE.SI(A2:A7; "Courrier"; B2:B7); "Aucune réponse")#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.
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".

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ère | MOYENNE | MOYENNE.SI | MOYENNE.SI.ENS | NB.SI |
|---|---|---|---|---|
| Nombre de critères | Aucun | 1 critère | Multiple | 1 critère |
| Fonction | Moyenne simple | Moyenne conditionnelle | Moyenne multi-conditions | Compte les valeurs |
| Syntaxe | MOYENNE(plage) | MOYENNE.SI(plage; critère; [moy]) | MOYENNE.SI.ENS(moy; plage1; crit1...) | NB.SI(plage; critère) |
| Cas d'usage | Toutes les valeurs | Région = "Nord" | Nord ET > 1000 € | Combien de "Nord" ? |
| Niveau | Débutant | Intermédiaire | Avancé | Intermédiaire |

Astuces avancées avec MOYENNE.SI
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.
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.
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.
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.
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.
Utilise * pour plusieurs caractères et ? pour un seul caractère. Par exemple, "Paris*" trouve tous les noms commençant par Paris (Paris Nord, Paris Sud...), et "A?C" trouve ABC, AZC, etc.
Pratique pour les recherches flexibles quand tes données ont des libellés légèrement variés.
Oui. Utilise le critère "<>0" : =MOYENNE.SI(plage; "<>0") calcule la moyenne sans les zéros.
Très utile quand tu as des cellules vides représentées par 0 et que tu veux la vraie moyenne des valeurs renseignées, comme dans une enquête de satisfaction.
Cette erreur apparaît quand aucune cellule ne correspond à ton critère. Excel ne peut pas calculer une moyenne sur zéro valeur.
Vérifie que ton critère est bien écrit et qu'il existe au moins une correspondance dans ta plage. Encadre la formule avec =SIERREUR(MOYENNE.SI(...); 0) pour afficher 0 au lieu de l'erreur.
Oui. Au lieu d'écrire le critère en dur, tu peux référencer une cellule : =MOYENNE.SI(A:A; D1; B:B). Si D1 contient "Paris", la formule cherche Paris.
Ca rend ton fichier plus flexible : tu peux changer le critère en modifiant une seule cellule, sans toucher aux formules.
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 voirLes formules conditionnelles dans Excel

Le modèle Excel « Calcul de moyenne de classe »

Le guide complet pour bien démarrer sur Excel




