Moyenne des 4 dernières valeurs <> 0

Bonjour,

Je suis assez novice en matière de formules excel et je cherche sans succès depuis un moment, y compris sur les forums. J'ai une colonne de valeurs parmi lesquelles certaines sont égales à 0. J'ai besoin de faire la moyenne des 4 dernières valeurs (en partant du bas de ma colonne) qui sont <> 0.

Quelqu'un pourrait m'aider en ayant la patience de me décortiquer la formule proposée ?

Merci d'avance !!!

Bonjour,

merci de joindre un fichier exemple et mettre en couleur les valeurs à prendre en compte dans la moyenne.

Bonjour,

Tu peux déjà trouver ta dernière ligne en question:

Dim Counter
Counter = 1
While IsEmpty(Cells(Counter, 28)) = False
    Counter = Counter + 1
Wend

Derniere_ligne = Counter - 1

Ce code va te trouver la dernière cellule remplie de la colonne 28

Ensuite tu peux utiliser une formule type

.FormulaR1C1

pour faire ta moyenne

Re,

Salut Fondor28,

voir pourquoi j'ai demandé un fichier exemple.

puisque la question n'est pas concise.

26kinks.xlsx (10.87 Ko)

les formules sont des matricielles qui nécessitent une validation par la combinaison des 3 touches Ctrl+Shift+Enter.

Cordialement

Oui bien joué R@chid.

En plus j'étais a côté de la plaque car je pensais que Kings parlait en VBA.

Bonjour,

Merci déjà pour votre aide!!!

J'essaie de déchiffrer mais pas évident je pourrais abuser en vous demandant de me décortiquer un peu ?

Désolée si je n'ai pas été assez précise. A priori ce serait la formule correspondant à la réponse 5.25 qui serait ce que je recherche, à savoir :

=MOYENNE(SOUS.TOTAL(1;DECALER(A1;GRANDE.VALEUR(SI(Col_Vals<>0;LIGNE(INDIRECT("1:"&LIGNES(Col_Vals))));LIGNE(INDIRECT("1:"&MIN(4;NB.SI(Col_Vals;"<>0")))));)))


j'ai repris le fichier que vous m'avez envoyé et j'ai taper à droite mon petit tableau qui me pose problème. (en sachant que ce tableau va rechercher des données d'autres fichiers excel...) Ce que je cherche à calculer est la moyenne en Jaune. Je ne sais pas si c'est plus clair comme ça ?

12copie-de-kinks.xlsx (11.68 Ko)

Bonjour,

ton exemple n’était pas concret, il n'y avait que 3 valeurs supérieure à 0, mais j'ai pris en compte ce cas là en ajoutant la fonction MIN(4;NB.SI(Col_Vals2;"<>0")) dans mes premières formules.

Voir gestionnaire de noms pour les noms des champs dynamiques.

la formule est comme il est marqué en rouge sur le fichier est une formule matricielle, elle nécessite une validation spéciale par la combinaison des 3 touches Ctrl+Shift+Enter.

Continue à remplacer des valeurs >0 par des 0 jusqu’à qu'il ne reste qu'une seule valeur >0.

Voir fichier joint

20kinks-v2.xlsx (11.77 Ko)

@ + +


Re,

j'ai dit que ton exemple n’était pas concret car dans ton cas :

=ARRONDI(MOYENNE.SI(I2:I9;">0");1)

Suffira largement, on ne compte que les valeurs >0 que ce soit 10 valeurs, 20 valeurs, peu importe, mais pas les 4 dernières comme il est demandé dans ton premier msg.

Non, ça c'est mon ficher dans son état actuel parce que je n'ai pas encore eu le cas de personnes ayant déjà passé plus de 4 évaluations. Donc, le calcul est simple et jusqu'à présent, je l'adapte manuellement.

Mais j'aimerais systématiser ça pour que les prochaines années, il ne fasse que la moyenne des 4 derniers résultats différents de 0. (j'ai mis 0 quand il n'y a pas eu d'évaluation)

Re,

Mais malgré tut tu dois nous donner un fichier plus représentatif, parce que c'est pas pratique de faire une formule pour ce cas et continuer à la changer au fil des mois ou des années en essayant de l'adapter à nos besoin d'avenir.

Il faut faire une formule qui s'adapte avec tous les cas possibles.

La formule proposée fonctionne bel et bien.

Amicalement

Merci beaucoup !!!

Re,

As-tu bien essayé la formule sur plusieurs cas de figures ?

As-tu compris sont fonctionnement ?

Voilà les données nécessaires. J'ai retiré tous les liens avec autres onglets ou fichiers parce que c'est nominatif et c'est confidentiel.

Est-ce que vous avez assez de détails comme ça ?

6evaluations.xlsm (23.42 Ko)

Re,

tu veux pas me comprendre.

voir fichier

applique la formule comme je te l'ai donnée est essaie de la comprendre après.

5kinks-v3.xlsm (24.46 Ko)

@ + +

Bonjour, je n'ai pas su poursuivre depuis lors... j'ai refait un tableau en espérant que ce soit plus clair pour vous ???


Autant pour moi, je n'avais pas vu ta réponse avant de renvoyer le fichier qui est le même que le précédent...

Merci, au contraire, je cherche à comprendre mais pas évident de me mettre à ton niveau J'essaie de décortiquer ta formule mais ça coule pas de source pour moi...

Bonjour,

=ARRONDI(MOYENNE(SOUS.TOTAL(1;DECALER(C1;GRANDE.VALEUR(SI(Evaluations>0;LIGNE(INDIRECT("1:"&LIGNES(Evaluations))));LIGNE(INDIRECT("1:"&MIN(4;NB.SI(Evaluations;">0")))));)));1)

@ valider par Ctrl+Shift+Enter

5kinks-3.xlsx (12.56 Ko)

@ + +

Je sélectionne et je copie/colle, valide par CTRL+SHIFT+ENTER et ça me donne : #DIV/0!

Re,

laisse la formule comme elle est dans la cellule

met le curseur dans la cellule contenant la formule

tape la touche F2 pour mettre la formule en mode Édition

maintien les 2 touches Ctrl+Shift enfoncées et tape la touche Enter

après une validation réussie tu vas voir apparaitre des accolades entourant la formule { formule }

@ + +

Ca fonctionne merci! C'est le F2 qui me manquait apparemment...

Si je peux abuser, c'est quoi la traduction de : Ligne(indirect("1:"&Ligne(... ?

Re,

Kinks a écrit :

Si je peux abuser, c'est quoi la traduction de : Ligne(indirect("1:"&Ligne(... ?

c'est pour déterminer le nombre de valeurs à prendre en compte,

ça doit renvoyer une suite des entiers 1;2;3 et 4

le MIN() c'est pour ne prendre en compte que le nombre de valeurs supérieures à 0 si ce nombre est inférieur à 4.

@ + +

Super, merci pour ton aide !

Rechercher des sujets similaires à "moyenne dernieres valeurs"