Calculer une moyenne pondérée dans Google Sheets
Google Sheets possède une fonction dédiée aux moyennes pondérées ainsi qu’une formule classique qui fonctionne dans tout tableur. Ce guide montre les deux façons d’obtenir une moyenne pondérée dans Google Sheets, comment ne pondérer que les lignes qui remplissent une condition, comment corriger les erreurs courantes et comment faire de même en Python.
Préparer les données
Écrivez les valeurs dans une colonne et leurs coefficients dans la suivante. Pour une note de bulletin :
| A : Élément | B : Note | C : Coefficient | |
|---|---|---|---|
| 2 | Participation | 90 | 20 |
| 3 | Interrogations | 80 | 30 |
| 4 | Devoirs surveillés | 70 | 50 |
Méthode 1 : AVERAGE.WEIGHTED
Google Sheets accepte toujours les noms anglais des fonctions ; avec les paramètres régionaux français, séparez les arguments par un point-virgule :
=AVERAGE.WEIGHTED(B2:B4;C2:C4)
La première plage contient les valeurs, la seconde les coefficients. Le résultat vaut 77. Les coefficients n’ont pas besoin de totaliser 100, la fonction divise elle-même par leur somme. Vous pouvez ajouter d’autres paires de valeurs et de coefficients : =AVERAGE.WEIGHTED(B2:B4;C2:C4;E2:E4;F2:F4).
Méthode 2 : SOMMEPROD divisé par SOMME
=SOMMEPROD(B2:B4;C2:C4)/SOMME(C2:C4)
SOMMEPROD multiplie chaque note par son coefficient et additionne les produits, ici 7700, SOMME additionne les coefficients, ici 100. Le résultat vaut encore 77. En anglais, ces fonctions s’appellent SUMPRODUCT et SUM, et Google Sheets accepte les deux écritures. Cette forme fonctionne aussi dans Excel, qui ne connaît pas de fonction AVERAGE.WEIGHTED. D’autres formules de tableur pas à pas figurent dans le guide calculer le délai de récupération dans Excel.
Moyenne pondérée pour une seule catégorie
Pour ne faire la moyenne que des lignes où la colonne A contient « Maths » :
=SOMMEPROD((A2:A20=”Maths”)*B2:B20*C2:C20)/SOMME.SI(A2:A20;”Maths”;C2:C20)
Le test (A2:A20=”Maths”) donne 1 pour les lignes concernées et 0 pour les autres, si bien que seules les lignes de maths entrent dans la somme. En anglais, SOMME.SI s’appelle SUMIF.
Moyenne pondérée dans Google Sheets avec des coefficients en pourcentage
Si les coefficients sont stockés comme 20 %, 30 % et 50 %, les deux méthodes fonctionnent quand même, car Sheets traite 20 % comme 0,2. Gardez simplement tous les coefficients dans le même format.
Corriger les erreurs courantes
- #DIV/0! signifie que les coefficients totalisent zéro. Cherchez des cellules de coefficient vides.
- #VALUE! avec SOMMEPROD signifie des plages de tailles différentes. Alignez exactement les lignes.
- Un résultat trop bas vient souvent d’une valeur stockée comme texte. Formatez la colonne en nombre ; avec les paramètres français, le séparateur décimal doit être une virgule.
- Les valeurs vides comptent comme zéro dans SOMMEPROD. Supprimez ces lignes, sinon leur coefficient compte quand même.
Calculer la moyenne en Python
Pour de plus gros jeux de données, Python fait la même chose en une ou deux lignes :
- Moyenne simple : statistics.mean([90, 80, 70]) donne 80.
- Moyenne pondérée : numpy.average([90, 80, 70], weights=[20, 30, 50]) donne 77.0.
- pandas : df[“score”].mean() donne la moyenne simple ; (df[“score”] * df[“weight”]).sum() / df[“weight”].sum() la moyenne pondérée.
Vérifier le résultat à la main
0,20 × 90 + 0,30 × 80 + 0,50 × 70 = 18 + 24 + 35 = 77. Si le tableur s’écarte d’une telle vérification, contrôlez d’abord les plages. Le calcul de moyenne donne rapidement un second avis sans tableur.
Des cas entièrement calculés sur les notes, les prix et les prévisions figurent dans les exemples de moyenne pondérée.
Pour les enquêtes et les données de Likert, le guide sur la moyenne pondérée en recherche explique comment interpréter le résultat.
Résumé
=AVERAGE.WEIGHTED(valeurs;coefficients) ou =SOMMEPROD(valeurs;coefficients)/SOMME(coefficients). Pour des vérifications rapides sans tableur, utilisez les calculateurs gratuits de CalculateGuide.
