Menu

MOYENNE.SI et MOYENNE.SI.ENS Excel : moyenne sous condition

=MOYENNE.SI(A2:A7;"North";C2:C7) fait la moyenne des valeurs de C2:C7 sur les lignes où la colonne A vaut North. MOYENNE.SI.ENS pour plusieurs conditions, moyenne sans les zéros, la correction de #DIV/0!, MAX.SI.ENS et MIN.SI.ENS.

Chaque feuille de cette page est interactive : modifiez un nombre ou une formule et elle se recalcule.

=MOYENNE.SI(A2:A7;"North";C2:C7) fait la moyenne des ventes de C2:C7 sur les lignes où la colonne A vaut North. MOYENNE.SI (AVERAGEIF en anglais) fonctionne comme SOMME.SI, sauf qu'elle divise le total par le nombre de lignes correspondantes. Le tableau affiche les formules sous leur forme anglaise, avec des virgules, mais vous pouvez aussi les taper comme dans un Excel français, avec des points-virgules : =MOYENNE.SI(A2:A7;"North";C2:C7).

Moyenne selon une condition
F2
ABCDEF
1RegionProductSalesConditionAverage
2NorthApple120North90
3SouthPear45North, Apple80
4NorthPear110Over 50120
5EastApple55
6SouthApple195
7NorthApple40
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =MOYENNE.SI(A2:A7;"North";C2:C7)

F2 fait la moyenne des trois lignes North, 120, 110 et 40, et affiche 90. F3 demande deux conditions, North et Apple, et utilise donc MOYENNE.SI.ENS (AVERAGEIFS) : (120 + 40) / 2 = 80. F4 n'a pas de plage de moyenne séparée : elle fait la moyenne des ventes correspondantes elles-mêmes.

Syntaxe de MOYENNE.SI et MOYENNE.SI.ENS

=AVERAGEIF(range, criteria, [average_range])
=AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)

L'ordre des arguments est le même piège qu'avec SOMME.SI et SOMME.SI.ENS : MOYENNE.SI place la plage à moyenner en dernier (et permet de l'omettre), MOYENNE.SI.ENS la place en premier. Les critères s'écrivent de la même façon dans les deux : "North", ">50", "<>0", "*apple*", ou un opérateur relié à une cellule, ">"&F5. Les cellules vides et le texte de la plage à moyenner sont ignorés.

Moyenne sans les zéros

MOYENNE (AVERAGE) compte un 0 comme une valeur : deux élèves absents notés 0 font baisser la moyenne de la classe. Les cellules vides, elles, sont ignorées par MOYENNE. =MOYENNE.SI(B2:B7;"<>0") ignore aussi les zéros.

Moyenne sans les zéros
E3
ABCDE
1StudentScoreMethodResult
2Ana80AVERAGE48
3Ben0Ignore zeros80
4Cara90Count of zeros2
5DanCount of numbers5
6Eva70
7Finn0
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =MOYENNE.SI(B2:B7;"<>0")

MOYENNE divise 240 par 5, car la cellule vide de Dan est ignorée mais les deux zéros sont comptés, et affiche 48. MOYENNE.SI avec "<>0" divise 240 par 3 et affiche 80. Tapez 60 en B5 et les deux changent ; tapez 0 en B5 et seule MOYENNE bouge. Pour ignorer aussi les nombres négatifs, utilisez ">0".

Pourquoi MOYENNE.SI renvoie #DIV/0!

Quand rien ne correspond, MOYENNE.SI n'a rien par quoi diviser et renvoie #DIV/0! (l'erreur porte le même nom en français et en anglais). Entourez-la de SIERREUR (IFERROR) pour afficher un tiret, un message ou une cellule vide à la place.

Aucune correspondance, MAX.SI.ENS et MIN.SI.ENS
F2
ABCDEF
1RegionProductSalesFormulaResult
2NorthApple120West average#DIV/0!
3SouthPear45With IFERRORNo sales
4NorthPear110North max120
5EastApple55North min40
6SouthApple195Apple max195
7NorthApple40
#DIV/0! La formule divise par zéro ou par une cellule vide.Dans Excel en français : =MOYENNE.SI(A2:A7;"West";C2:C7)

Il n'y a pas de ligne West, donc F2 affiche #DIV/0! et F3 affiche le message. Mettez West en A3 et les deux affichent 45.

MAX.SI.ENS et MIN.SI.ENS

F4 à F6 dans le tableau ci-dessus trouvent la plus grande et la plus petite valeur sous condition. MAX.SI.ENS (MAXIFS en anglais) et MIN.SI.ENS (MINIFS) suivent l'ordre de MOYENNE.SI.ENS, la plage où chercher en premier : =MAX.SI.ENS(C2:C7;A2:A7;"North") renvoie 120 et =MIN.SI.ENS(C2:C7;A2:A7;"North") renvoie 40. Contrairement à MOYENNE.SI, elles renvoient 0 quand rien ne correspond, pas une erreur.

MAX.SI.ENS et MIN.SI.ENS demandent Excel 2019 ou une version ultérieure, ou Microsoft 365. Dans Excel 2016 et les versions antérieures, =MAX(SI(A2:A7="North";C2:C7)) fait la même chose ; dans ces versions, validez-la avec Ctrl+Maj+Entrée (Cmd+Maj+Entrée sur Mac).

Exercice : moyenne avec deux conditions

À vous : moyenne de la classe sans les absences
F2
ABCDEF
1StudentClassScoreConditionAverage
2AnaA80Class A, no zeros
3BenB75
4CaraA0
5DanB60
6EvaA90
7FinnB0
8GusA70
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.

À vous : Faites la moyenne des notes de la classe A, sans les zéros (élèves absents). Écrivez la formule en F2.

Moyenne de moyennes : une erreur fréquente

Faire la moyenne des moyennes de groupes de tailles différentes donne une mauvaise moyenne générale. North a trois lignes et South deux : dans la moyenne des deux moyennes, chaque ligne South pèse plus qu'elle ne le devrait.

Moyenne de moyennes
E4
ABCDE
1RegionSalesFormulaResult
2North120North90
3South45South120
4North110Average of the two105
5South195All rows102
6North40
Cliquez sur une cellule pour voir sa formule. Modifiez un nombre ou une formule et la feuille se recalcule.Dans Excel en français : =MOYENNE(E2:E3)

E4 affiche 105, E5 la vraie moyenne des cinq lignes, 102. Quand les groupes n'ont pas la même taille, faites la moyenne des lignes elles-mêmes avec une seule MOYENNE.SI.ENS, ou divisez une SOMME.SI.ENS par une NB.SI.ENS sur les mêmes conditions :

=SUMIFS(B2:B6,A2:A6,"North")/COUNTIFS(A2:A6,"North")

Dans un Excel français : =SOMME.SI.ENS(B2:B6;A2:A6;"North")/NB.SI.ENS(A2:A6;"North").

Une note pondérée par des crédits ou par des quantités est encore un autre calcul : c'est une moyenne pondérée.

Questions fréquentes

Quelle est la différence entre MOYENNE.SI et MOYENNE.SI.ENS ?

MOYENNE.SI prend une seule condition et place la plage à moyenner en dernier : =MOYENNE.SI(A2:A7;"North";C2:C7). MOYENNE.SI.ENS prend plusieurs conditions et place la plage à moyenner en premier : =MOYENNE.SI.ENS(C2:C7;A2:A7;"North";B2:B7;"Apple").

Comment faire une moyenne dans Excel sans tenir compte des zéros ?

Utilisez =MOYENNE.SI(B2:B7;"<>0"). Seules les cellules différentes de 0 entrent dans la moyenne. MOYENNE et MOYENNE.SI ignorent déjà les cellules vides, donc seuls les vrais zéros demandent la condition.

Pourquoi MOYENNE.SI renvoie-t-elle #DIV/0! ?

Aucune cellule ne remplit la condition : Excel divise une somme de 0 par un nombre de 0. Entourez la formule pour afficher autre chose : =SIERREUR(MOYENNE.SI(A2:A7;"West";C2:C7);"No data").

Comment trouver la valeur maximale avec une condition ?

Utilisez MAX.SI.ENS, avec la plage où chercher en premier : =MAX.SI.ENS(C2:C7;A2:A7;"North") renvoie la plus grande valeur North. MIN.SI.ENS fonctionne de la même façon pour la plus petite. Les deux demandent Excel 2019 ou une version ultérieure, ou Microsoft 365.

Illustration des langages de programmation de Coddy

Apprendre à coder avec Coddy

COMMENCER