Plus de paramètres pour la fonction moyenne

Fermé
BoB Prog Messages postés 12 Date d'inscription samedi 25 août 2012 Statut Membre Dernière intervention 11 septembre 2013 - 7 nov. 2012 à 11:50
tontong Messages postés 2567 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 20 novembre 2024 - 7 nov. 2012 à 14:13
Bonjour à tous!
Après 2 h de recherches intensives sur google et sur différents forums... sans résultats, je me décide à poster mon problème sur ce forum:
J'ai une série statistique avec ses effectifs: voir http://img402.imageshack.us/img402/3971/capturebse.jpg

Actuellement, la moyenne est faite pour les 15 premières valeurs mais sans les effectifs
Mon but est que, d'une part, la moyenne prenne en compte les effectifs, et d'autre part, pouvoir, rien q'en changent la valeur dans la case de paramétrage, modifier l'étendue de la série et pouvoir sélectionner les 10, 13 ou même 20 premières valeurs.
Je me suis un peu aventuré dans les options VBA mais je ne m'y connait pas assez pour élaborer un macro capable de cela...
Le mieux serait une fonction qui marcherait comme ça:
Pouvoir rentrer plus de paramètres pour la fontion moyenne:
Tout d'abord l'étendue de ma série ensuite les effectifs correspondants et tout cela avec $Var représentant la valeur contenue dans la case de paramétrage:
=MAMoyenne(B4:$Var & E4:$Var)

Facile hein! ;P

A voir également:

2 réponses

Bruce Willix Messages postés 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018 2 590
7 nov. 2012 à 12:02
Plus simple: tu crées une colonne à côté de la colonne des valeurs que tu dois moyenner. Dans cette colonne, tu écris la condition suivante

=IF(ROW()-X<=Y;1;0)


Ou X est un le nombre de lignes avant ta première entrée. Si tes données sont dans la zone "A4:A1000", alors X=3

Et ou Y est la référence de la case dans laquelle tu précise l'étendue de la zone à moyenner.

Si les données sont en zone A4:A1000, que les formules de test sont en colonne B, alors dans une case libre, tu écris alors la formule suivante:

=SUM(A4:A1000*B4:B1000)/SUMBC4:B1000)


Et tu la valides en faisant CTRL+SHIFT+ENTREE


0
tontong Messages postés 2567 Date d'inscription mercredi 3 février 2010 Statut Membre Dernière intervention 20 novembre 2024 1 059
7 nov. 2012 à 14:13
Bonjour,
On peut utiliser Sommeprod pour faire une moyenne pondérée et Decaler pour définir un champ variable.
Avec des champs nommés la formule pour la série 1 s'écrit: =SOMMEPROD(valeur1;effectif1)/SOMME(effectif1)
Pour nommer les champs Insertion Nom Définir saisir en haut NOM: valeur1
en bas Fait référence à: =DECALER(Feuil1!$B$4;0;0;Feuil1!$G$5-4;1) Ajouter

NOM: effectif1
en bas Fait référence à: =DECALER(Feuil1!$E$4;0;0;Feuil1!$G$5-4;1) Ajouter

Faire une opération similaire pour la série2.

Vous obtiendrez des réponses plus adaptées et plus rapides si vous joignez un fichier plutôt qu'une image ;-)
0