Moyenne variable
Résolu
Julie011277
-
jub01 -
jub01 -
Bonjour,
je cherche à faire une moyenne variable dans excel.
Exemple:
heure Valeur
14:00 5
14:10 10
14:20 7
14:30 6.5
14:40 8
14:50 11
et j'aimerai rentrer une heur de départ et une heure d'arrivée et le système me calcule la moyenne des valeurs entre les 2.
Heure de départ: 14:20
Heure d'arrivée: 14:40
Résultat: 7.16666666
D'avance un grand merci!!!
Julie
je cherche à faire une moyenne variable dans excel.
Exemple:
heure Valeur
14:00 5
14:10 10
14:20 7
14:30 6.5
14:40 8
14:50 11
et j'aimerai rentrer une heur de départ et une heure d'arrivée et le système me calcule la moyenne des valeurs entre les 2.
Heure de départ: 14:20
Heure d'arrivée: 14:40
Résultat: 7.16666666
D'avance un grand merci!!!
Julie
4 réponses
-
Bonjour,
Un petit problème matexcelmatiques pour débuter la journée.
Supposons tes horaires situés en colonne A, de A1 à A1000 et les valeurs correspondantes de B1 à B1000. En C1 : placer la borne inférieure en C2 la borne supérieure.
Problème :
Moyenne = SOMME/Nombre de valeurs
Somme des valeurs de la col B en fonction des valeurs contenues en A et des deux critères C1 et C2 :
=SOMMEPROD((A1:A1000>=C1)*(A1:A1000<=C2)*B1:B1000)
Nbre de valeurs en colonne A comprises entre les bornes C1 et C2 :
=SOMMEPROD((A1:A1000>=C1)*(A1:A1000<=C2))
La Moyenne :
=SOMMEPROD((A1:A1000>=C1)*(A1:A1000<=C2)*B1:B1000)/SOMMEPROD((A1:A1000>=C1)*(A1:A1000<=C2))
Il y a certainement d'autres méthodes, je t'en ai livré une qui fonctionne pas trop mal...
En prime :
1- Un classeur exemple
2- Une formule qui prends en compte une plage variable de calcul non définie. Attention il doit y avoir en A et B le même nombre de valeurs...
=SOMMEPROD((A1:DECALER(A1;;;NBVAL(A:A))>=C1)*(A1:DECALER(A1;;;NBVAL(A:A))<=C2)*B1:DECALER(B1;;;NBVAL(B:B)))/SOMMEPROD((A1:DECALER(A1;;;NBVAL(A:A))>=C1)*(A1:DECALER(A1;;;NBVAL(A:A))<=C2))
ps : je l'aime bien cette SOMMEPROD + DECALER... -
et bon, comme d'hab, une solution VBA !!
Sub Moyenne() Dim Moy As Double, Lig As Long, OK As Boolean, C As Integer ' en C1 > heure départ ' En C2 > heure arrivée ' En C4 > résultat For Lig = 1 To Range("A65536").End(xlUp).Row If Cells(Lig, 1) = Cells(1, 3) Then OK = True: Moy = Cells(Lig, 2): C = 1 ElseIf Cells(Lig, 1) = [C2] Then Moy = Moy + Cells(Lig, 2): C = C + 1 [C4] = Moy / C: Exit For ElseIf OK Then Moy = Moy + Cells(Lig, 2): C = C + 1 End If Next Lig End Sub
Pourrait en faire une fonction pour un résultat immédiat dans cellule C4
A+ -
Bonjour à tous
et une petite matricielle pour compléter l'éventail de solutions !!
=MOYENNE(SI((A2:A100>=C1)*(A2:A100<=C2)*(A2:A100<>"");B2:B100))
a valiser par Ctrl+maj+entree (et non par entree comme d'hab) le curseur clignotant dans la barre de formules -
Bonjour,
Comment tu arrive à 7.16666666 ?
la moyenne c'est 14:30
et si tu divise pat 2 ça fait 7:15
si tu veux avoir le résultat en base 100 au lieu de 60 ça fait 7,25
??
A+-
-
Bonjour pijaku,
1°) ton poste n'était pas visible quand j'ai posté !!
Suis peut-être pas encore bien réveillé mais ce que tu dis ne correspond pas non plus.
Si je reprend sont exemple et tes déductuons,14:20 7 14:40 6.5
Je vois pas comment trouver 7.16666
j'aimerai rentrer une heur de départ et une heure d'arrivée et le système me calcule la moyenne des valeurs entre les 2. -
-
-
-