MOYENNE.SI (AVERAGEIF en anglais) calcule la moyenne uniquement des cellules qui remplissent une condition précise. Tu décris le critère une fois, et Excel fait la sélection tout seul sur toute la plage.
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 de la fonction MOYENNE.SI
=MOYENNE.SI(plage; critères; [plage_moyenne])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.
Astuce : Pour utiliser un opérateur avec une valeur de cellule, concatène-le avec & : ">"&B1. L'opérateur reste entre guillemets, la référence en dehors. C'est la syntaxe qui pose le plus souvent problème.
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.
Astuce : Tu peux utiliser uniquement deux paramètres quand tu testes et calcules la même colonne. Par exemple, =MOYENNE.SI(B:B; ">100") calcule la moyenne des valeurs de B qui dépassent 100.
Pas envie d'écrire la formule MOYENNE.SI à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
RH : calculer le salaire moyen d'un département
Tu travailles aux ressources humaines et tu dois analyser la masse salariale par département pour préparer les budgets. Tu veux connaître le salaire moyen des employés du département Commercial.
=MOYENNE.SI(B:B; "Commercial"; C:C) cherche "Commercial" dans la colonne Département et calcule la moyenne des salaires correspondants : (3 200 + 3 500 + 2 900) / 3 = 3 200 €. Si ton équipe s'agrandit, la formule s'ajuste automatiquement. Duplique-la pour analyser tous tes départements en changeant simplement le critère.
| A | B | C | |
|---|---|---|---|
| 1 | Employé | Département | Salaire |
| 2 | Marie | Commercial | 3 200 € |
| 3 | Pierre | RH | 2 800 € |
| 4 | Sophie | Commercial | 3 500 € |
| 5 | Lucas | IT | 3 800 € |
| 6 | Emma | Commercial | 2 900 € |
| 7 | Moy. Com: 3 200 € |
=MOYENNE.SI(B:B; "Commercial"; C:C)Commercial : analyser les performances par région
Tu gères plusieurs régions et tu veux savoir quelle est la moyenne des ventes pour la région Nord afin de comparer les performances et identifier les zones à fort potentiel.
=MOYENNE.SI(A:A; "Nord"; B:B) filtre uniquement les trois lignes Nord et calcule leur moyenne : (12 500 + 15 800 + 13 200) / 3 = 13 833 €. Crée un petit tableau de bord en dupliquant cette formule pour chaque région, en changeant simplement le critère. C'est beaucoup plus rapide que de filtrer manuellement.
| A | B | |
|---|---|---|
| 1 | Région | Ventes |
| 2 | Nord | 12 500 € |
| 3 | Sud | 18 200 € |
| 4 | Nord | 15 800 € |
| 5 | Est | 14 000 € |
| 6 | Nord | 13 200 € |
=MOYENNE.SI(A:A; "Nord"; B:B)Contrôleur de gestion : moyenne des dépenses supérieures à un seuil
Tu es contrôleur de gestion et tu analyses les dépenses de l'entreprise. Tu veux identifier la moyenne des grosses dépenses (supérieures à 5 000 €) pour mieux comprendre les postes de coûts importants.
=MOYENNE.SI(B:B; ">5000") n'additionne que 7 500 + 12 000 + 8 500, puis divise par 3, soit 9 333 €. Comme tu testes et calcules la même colonne, tu n'as pas besoin d'un troisième paramètre. Tu peux rendre le seuil dynamique en le stockant dans une cellule et en utilisant ">"&E1.
| A | B | |
|---|---|---|
| 1 | Poste | Montant |
| 2 | Marketing | 7 500 € |
| 3 | Fournitures | 850 € |
| 4 | Formation | 12 000 € |
| 5 | Logiciels | 3 200 € |
| 6 | Equipement | 8 500 € |
=MOYENNE.SI(B:B; ">5000")Astuce de pro : Quand tu utilises des opérateurs de comparaison (>, <, >=, <=, <>), mets-les toujours entre guillemets : ">5000" et non >5000. Seuls les nombres seuls peuvent être sans guillemets.
Analyste : moyenne des notes en excluant les zéros
Tu traites les résultats d'une enquête de satisfaction. Certains clients n'ont pas répondu (valeur 0 dans ton tableau), et tu veux calculer la moyenne uniquement des réponses réelles pour obtenir une vision juste.
=MOYENNE.SI(B:B; "<>0") exclut les zéros et ne calcule que sur (8 + 9 + 7 + 10) / 4 = 8,5. Si tu avais inclus les zéros, ta moyenne aurait été faussée à 5,67 au lieu de 8,5. Grosse différence sur l'interprétation de la satisfaction client.
| A | B | |
|---|---|---|
| 1 | Client | Note |
| 2 | Client A | 8 |
| 3 | Client B | 0 |
| 4 | Client C | 9 |
| 5 | Client D | 7 |
| 6 | Client E | 0 |
| 7 | Client F | 10 |
=MOYENNE.SI(B:B; "<>0")Astuce de pro : L'opérateur <> signifie "différent de". Tu peux l'utiliser pour exclure n'importe quelle valeur : "<>Paris" pour exclure Paris, "<>" pour exclure les cellules vides, etc.
Mets la fonction MOYENNE.SI en pratique avec un exercice corrigé
M'entraînerLes 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 sur la fonction MOYENNE.SI
Quelle est la différence entre MOYENNE.SI et MOYENNE.SI.ENS ?
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.
Comment utiliser les caractères jokers avec MOYENNE.SI ?
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.
MOYENNE.SI peut-elle exclure les zéros du calcul ?
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.
Pourquoi MOYENNE.SI retourne #DIV/0! ?
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.
Peut-on utiliser une cellule comme critère dans MOYENNE.SI ?
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
Les fonctions similaires : MOYENNE.SI.ENS, MOYENNE, SOMME.SI, NB.SI, MIN.SI.ENS
Découvre notre calculateur de moyenne de classe pour obtenir moyennes et rangs automatiquement
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois

