Calcul d'une moyenne géométrique pondérée

anthony.unac

XLDnaute Occasionnel
Bonjour,
Existe t il un moyen simple de calculer une moyenne géométrique pondérée ?
J'ai repéré la fonction Moyenne.Geometrique() mais pas de pondération hélas ?!
 

Dranreb

XLDnaute Barbatruc
Bonjour.
J'ignore si on peut simplifier, mais sur un exemple en A1:B3 cette formule validé par Ctrl+Maj+Entrée :
Code:
=EXP(SOMME(LN(A$1:A$3)*$B$1:$B$3)/SOMME(B1:B3))
…donne le même résultat que celle ci :
Code:
=(A$1^$B$1*A$2^$B$2*A$3^$B$3)^(1/SOMME($B$1:$B$3))
 

anthony.unac

XLDnaute Occasionnel
Effectivement, il y a cette définition analogue à base de logarithme et d'exponentielle. Mais l'un dans l'autre, on est obligé de se cogner la formule entière en suivant formellement la définition. Je m'attendais à un truc simple et prédéfinie du style une fonction Moyenne.Geometrique.Pond(valeurs,poids) ou pour reprendre votre exemple Moyenne.Geometrique.Pond(A1:A3,B1:B3) mais ceci ne semble pas exister ;(
 

Dranreb

XLDnaute Barbatruc
Suggestion: écrivez vous la :
VB:
Function MoyGéoPond(ByVal Valeurs, ByVal Poids) As Double
   Dim L As Long, SP As Double
   If TypeOf Valeurs Is Range Then Valeurs = Valeurs.Value
   If TypeOf Poids Is Range Then Poids = Poids.Value
   For L = 1 To UBound(Valeurs, 1)
      MoyGéoPond = MoyGéoPond + Log(Valeurs(L, 1)) * Poids(L, 1)
      SP = SP + Poids(L, 1): Next L
   MoyGéoPond = Exp(MoyGéoPond / SP)
   End Function
Code:
=MoyGéoPond(A1:A3;B1:B3)
 

job75

XLDnaute Barbatruc
Re,

Formule pour moyenne (normale) pondérée => =SOMMEPROD(A1:A3*B1:B3)/SOMME(B1:B3)

Formule pour moyenne géométrique pondérée => =PRODUIT(A1:A3^B1:B3)^(1/SOMME(B1:B3))

Cette dernière est matricielle et donc à valider par Ctrl+Maj+Entrée.

A+
 

Discussions similaires

Réponses
16
Affichages
671

Statistiques des forums

Discussions
312 177
Messages
2 085 976
Membres
103 077
dernier inscrit
kamel26asus