Retour aux fonctions

AVERAGEIF

Renvoie la moyenne d'une plage selon un critère.

StatisticalAVERAGEIF(criteria_range, criterion, [average_range])

AVERAGEIF (MOYENNE.SI dans un Google Sheets en français) renvoie la moyenne des valeurs d'une plage qui remplissent une condition. C'est ainsi que l'on trouve le panier moyen d'une région, la note moyenne d'une classe ou la moyenne de tout ce qui dépasse un seuil.

Syntaxe

=AVERAGEIF(criteria_range, criterion, [average_range])
  • criteria_range : Les cellules à comparer au critère.
  • criterion : La condition qu'une cellule doit remplir.
  • average_range [Facultatif] : Les cellules dont on calcule la moyenne. Si omis, AVERAGEIF fait la moyenne des cellules de criteria_range elles-mêmes.

Notez l'ordre des arguments : la plage de test vient en premier, puis le critère, puis la plage à moyenner, dans le même ordre que SUMIF.

Exemples de base

Avec les régions en A2:A100 et les ventes en B2:B100 :

=AVERAGEIF(A2:A100, "Nord", B2:B100)

Renvoie la vente moyenne de la région Nord.

=AVERAGEIF(B2:B100, ">0")

Ne fait la moyenne que des nombres positifs. Comme il n'y a pas d'average_range, les mêmes cellules sont testées et moyennées. C'est un moyen pratique d'ignorer les zéros.

=AVERAGEIF(B2:B100, ">=" & E1)

Fait la moyenne des valeurs supérieures ou égales au nombre de E1.

Écrire les critères

  • Texte ou nombre exact : "Nord", 5 ou "=5"
  • Comparaison : ">100", "<=50", "<>0"
  • Caractères génériques : "Gad*", "*corp", "?adget"
  • Vide / non vide : "" et "<>"
  • Opérateur plus une cellule : ">" & E1

La comparaison de texte ne tient pas compte de la casse.

Ce qui est ignoré

AVERAGEIF ne fait la moyenne que des nombres parmi les cellules correspondantes. Le texte et les cellules vides de average_range sont ignorés, et non comptés comme des zéros. C'est différent de saisir 0 : une cellule contenant 0 est un nombre et fait baisser la moyenne.

L'erreur #DIV/0!

Si aucune cellule ne remplit la condition, il n'y a rien à moyenner et AVERAGEIF renvoie #DIV/0!. Gérez-la avec IFERROR :

=IFERROR(AVERAGEIF(A2:A100, E1, B2:B100), "Pas de données")

Plusieurs conditions : AVERAGEIFS

AVERAGEIF n'accepte qu'une seule condition. Pour en avoir plusieurs, utilisez AVERAGEIFS, où la plage à moyenner vient en premier :

=AVERAGEIFS(B2:B100, A2:A100, "Nord", C2:C100, ">=" & DATE(2026, 1, 1))

Cette formule fait la moyenne des ventes de la région Nord à partir du 1er janvier 2026. Notez que l'ordre des arguments diffère de AVERAGEIF, tout comme SUMIFS diffère de SUMIF.

Formules pratiques

Moyenne par catégorie dans un tableau de synthèse

Avec les noms de catégories en E2:E6 :

=AVERAGEIF($A$2:$A$100, E2, $B$2:$B$100)

Étirez-la vers le bas pour obtenir une moyenne par catégorie.

Moyenne hors d'une catégorie

=AVERAGEIF(A2:A100, "<>Interne", B2:B100)

Moyenne des valeurs supérieures ou inférieures à la moyenne générale

=AVERAGEIF(B2:B100, ">" & AVERAGE(B2:B100))

Problèmes courants

  • #DIV/0!. Aucune cellule numérique correspondante. Vérifiez l'orthographe du critère, les espaces en fin de texte et si les cellules à moyenner sont bien des nombres et non du texte.
  • Le résultat semble faux. Les zéros sont inclus dans la moyenne. Utilisez ">0" comme second critère avec AVERAGEIFS si vous voulez les exclure.
  • Plages décalées. criteria_range et average_range doivent avoir la même taille et commencer sur la même ligne. Un décalage fausse la correspondance.
  • Nombres stockés comme du texte. Les valeurs de texte dans average_range sont ignorées : la moyenne peut donc porter sur moins de cellules que vous ne le pensez. Convertissez les données en nombres.
  • Moyennes pondérées. AVERAGEIF traite toutes les lignes de la même façon. Pour une moyenne pondérée, utilisez SUMPRODUCT(valeurs, poids) / SUM(poids).

AVERAGEIF, AVERAGE, QUERY ou tableau croisé dynamique ?

Utilisez AVERAGE pour une moyenne sans condition et AVERAGEIF pour une seule condition. Pour des moyennes sur de nombreuses catégories à la fois, un tableau croisé dynamique ou une QUERY avec group by et avg() est plus simple qu'une colonne de formules AVERAGEIF.

Questions fréquentes

AVERAGEIF tient-elle compte de la casse ? Non.

AVERAGEIF compte-t-elle les cellules vides comme zéro ? Non. Les cellules vides et le texte de la plage à moyenner sont ignorés.

Peut-on utiliser AVERAGEIF avec des dates ? Oui : =AVERAGEIF(A2:A100, ">=" & DATE(2026, 1, 1), B2:B100).

Quelle différence entre AVERAGEIF et AVERAGEIFS ? Une seule condition contre plusieurs, et AVERAGEIFS prend la plage à moyenner en premier.

Fonctions associées

  • AVERAGE : Calcule la moyenne d'un ensemble de nombres.
  • SUMIF : Additionne les cellules qui remplissent une condition.
  • COUNTIF : Compte les cellules qui remplissent une condition.
  • SUMIFS : Additionner avec plusieurs conditions.
  • QUERY : Regrouper et moyenner des données avec une syntaxe de type SQL.

Articles associés

Newsletter

Plus d'exemples sur AVERAGEIF arrivent bientôt.

Nous préparons des mises à jour courtes et pratiques pour les utilisateurs avancés de Sheets.