Moyenne des trois dernières valeurs dès qu'il y a 3 valeurs
MS
-
MS -
MS -
Bonjour,
Je pense que mon soucis est assez simple mais je n'y arrive pas.
J'ai plusieurs colonne de valeurs de 1 à 1000 par exemple, avec entre chaque valeur une ou plusieurs cellules vides.
J'aimerais créer une fonction qui me permet de calculer systématiquement, dès que j'ai 3 cellules non vide, la moyenne des 3 dernières valeurs.
Par exemple si j'ai :
1
cellule vide (1 ou plusieurs)
2
cellule vide (1 ou plusieurs)
3 -> moyenne des trois dernières valeurs = 2
4 -> moyenne des trois dernières valeurs = 3
Je reprécise qu'entre chaque valeurs j'ai un nombre aléatoires de cellules vides.
J'espère que j'ai été assez clair ... N'hésitez pas à me l'indiquer si ce n'est pas le cas.
En vous remerciant par avance.
MS.
Je pense que mon soucis est assez simple mais je n'y arrive pas.
J'ai plusieurs colonne de valeurs de 1 à 1000 par exemple, avec entre chaque valeur une ou plusieurs cellules vides.
J'aimerais créer une fonction qui me permet de calculer systématiquement, dès que j'ai 3 cellules non vide, la moyenne des 3 dernières valeurs.
Par exemple si j'ai :
1
cellule vide (1 ou plusieurs)
2
cellule vide (1 ou plusieurs)
3 -> moyenne des trois dernières valeurs = 2
4 -> moyenne des trois dernières valeurs = 3
Je reprécise qu'entre chaque valeurs j'ai un nombre aléatoires de cellules vides.
J'espère que j'ai été assez clair ... N'hésitez pas à me l'indiquer si ce n'est pas le cas.
En vous remerciant par avance.
MS.
A voir également:
- Moyenne des trois dernières valeurs dès qu'il y a 3 valeurs
- Excel moyenne - Guide
- Ai suite 3 - Télécharger - Optimisation
- Excel liste de valeurs - Guide
- Picasa 3 - Télécharger - Albums photo
- Photorecit 3 - Télécharger - Visionnage & Diaporama
10 réponses
Bonjour
le plus simple serait de déposer un modèle avec quelques explications sur:
https://www.cjoint.com/
créer le lien (en bas de page ), le copier (en haut de page)
et revenir ici coller ce lien dans un prochain message
à vous lire
crdlmnt
le plus simple serait de déposer un modèle avec quelques explications sur:
https://www.cjoint.com/
créer le lien (en bas de page ), le copier (en haut de page)
et revenir ici coller ce lien dans un prochain message
à vous lire
crdlmnt
Vi... mais la moyenne en colonne H quand il y a trois valeurs dans A , c'est la moyenne de quoi.
et faut il faire constamment la moyenne des trois dernières valeurs, en reprenant deux des précédentes déjà utilisées, ou faut il prendre seulement par groupe de trois?
exemple
moyenne de ??? sur lignes 4,6,8
ensuite sur ligne 6, 8,11n ect>..
ou alors moyenne de ??? sur 4,6,8
et ensuite 11, 13,15 etc..
à vous lire
et faut il faire constamment la moyenne des trois dernières valeurs, en reprenant deux des précédentes déjà utilisées, ou faut il prendre seulement par groupe de trois?
exemple
moyenne de ??? sur lignes 4,6,8
ensuite sur ligne 6, 8,11n ect>..
ou alors moyenne de ??? sur 4,6,8
et ensuite 11, 13,15 etc..
à vous lire
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Une solution par macro à adapter au classeur réel:
http://www.cjoint.com/c/ELrhhZvheTE
le code:
Michel
Une solution par macro à adapter au classeur réel:
http://www.cjoint.com/c/ELrhhZvheTE
le code:
Option Explicit
Const Cellule As String = "A2" ' 1° cellule à adapter au contexte
Sub moyenne3()
Dim Derlig As Integer
Dim Col As Byte, Deblig As Byte, Nbre As Integer
Dim Lig As Integer, Cptr As Integer, LIg2 As Integer, Cptr2 As Byte, Somme As Double
Application.ScreenUpdating = False
Col = Range(Cellule).Column
Deblig = Range(Cellule).Row
Derlig = Columns(Col).Find(what:="*", searchdirection:=xlPrevious).Row
Nbre = Application.CountIf(Range(Cells(Deblig, Col), Cells(Derlig, Col)), "<>" & "")
Range(Cells(Deblig, Col + 1), Cells(Derlig, Col + 1)).ClearContents
Lig = Derlig + 1
For Cptr = 1 To Nbre
If Lig - Deblig < 3 Then Exit For
Lig = Columns(Col).Find(what:="*", after:=Cells(Lig, Col), searchdirection:=xlPrevious).Row
LIg2 = Lig
For Cptr2 = 1 To 3
Somme = Somme + Cells(LIg2, Col)
LIg2 = Columns(Col).Find(what:="*", after:=Cells(LIg2, Col), searchdirection:=xlPrevious).Row
Next
Cells(Lig, Col + 1) = Somme / 3
Somme = 0
Next
End Sub
Michel
Re Bonjour,
Je viens d'essayer et ne maitrisant que très peu les macros, je ne sais pas bien comment adapter le code à ma feuille.
Peux-tu me dire quelles sont les fonctions dans lesquelles il faut renseigner des cellules ?
Par ailleurs je ne parviens pas à lire le fichier présent sur le lien : http://www.cjoint.com/c/ELrhhZvheTE
Merci par avance.
Je viens d'essayer et ne maitrisant que très peu les macros, je ne sais pas bien comment adapter le code à ma feuille.
Peux-tu me dire quelles sont les fonctions dans lesquelles il faut renseigner des cellules ?
Par ailleurs je ne parviens pas à lire le fichier présent sur le lien : http://www.cjoint.com/c/ELrhhZvheTE
Merci par avance.
re,
Compte- tenu du délai avec lequel tu réponds à ma proposition, j'avais supprimé ma maquette de W
le lien donné précédemment n'était valable que 4 jours
dis toi bien aussi qu'il peut nous être difficile de nous replonger dans un problème passé quelques jours surtout si nous en avons d'autres à traiter...
Michel
Compte- tenu du délai avec lequel tu réponds à ma proposition, j'avais supprimé ma maquette de W
le lien donné précédemment n'était valable que 4 jours
dis toi bien aussi qu'il peut nous être difficile de nous replonger dans un problème passé quelques jours surtout si nous en avons d'autres à traiter...
Michel
Bonjour,
en H4, tu saisis la formule matricielle :
(tu valides par CTRL+MAJ+ENTER)
tu recopies vers le bas.
cordialement
en H4, tu saisis la formule matricielle :
=SI((C4<>"")*(NBVAL($C$4:C4)>=3);SOMME(DECALER(C4;-MAX(LIGNE()-GRANDE.VALEUR(SI($C$4:C4<>"";LIGNE($C$4:C4));3));;MAX(1+LIGNE()-GRANDE.VALEUR(SI($C$4:C4<>"";LIGNE($C$4:C4));3));1))/3;"")
(tu valides par CTRL+MAJ+ENTER)
tu recopies vers le bas.
cordialement