Comment faire une moyenne glissante sur une rangée de dates et de valeurs?


0

Comment ferais-je une moyenne mobile sur une rangée de dates et de valeurs?

Les données ressemblent fondamentalement à ce qui suit:

9/15/2010   199.8
9/14/2010   202
9/13/2010   200.8
9/12/2010   202.8
9/11/2010   201.4
9/10/2010   201.6
9/9/2010    201.8
9/8/2010    202.2
9/7/2010    202.2
9/6/2010    202.6
9/5/2010    205.8
9/4/2010    204.2
9/3/2010    205
9/2/2010    206.6
9/1/2010    208
8/31/2010   209.8
8/30/2010   210.2
8/29/2010   209.6
8/28/2010   209.6
8/27/2010   209.4
8/26/2010   209.8
8/25/2010   209.2
8/24/2010   210.8

1
recherchez-vous une moyenne à côté de chaque ligne ou une moyenne quelque part qui s'ajuste automatiquement lorsque vous ajoutez / supprimez / modifiez des données?
JNK

Réponses:


4

En supposant que votre première donnée soit en B1, vous pouvez copier et coller la formule suivante sur la longueur de votre colonne de données. Mettez ceci en C2:

=AVERAGE($B$1:B2)

Le dollar signe "ancrer" la première cellule, en faisant une référence absolue qui ne bouge pas lorsque vous copiez / collez la formule, tandis que la deuxième cellule est une référence relative qui continuera à mettre à jour la moyenne à chaque entrée.


Hrm, j'espérais sincèrement quelque chose de plus simple qu'un copier-coller de la formule sur toute la ligne. (pas que ce n'est pas ce que j'ai demandé, c'est)
cgp

@alt Vous n'obtenez pas beaucoup plus simple que un formule que vous venez de copier la colonne entière, c'est la façon dont je le ferais. +1 @ Michael.
DMA57361

Vous ne devriez pas copier et coller cela. Entrez le premier, sélectionnez la colonne entière, puis sélectionnez Edition & Remplir & Remplir.
Stephen Jennings

Utiliser la fonction de remplissage est ce que j’ai appelé un "copier / coller". Chaque cellule est évaluée individuellement et pourrait éventuellement être différente. (bien que ce ne soit pas le cas) ...
cgp

2

Par "Rolling Average", je pense que vous parlez de la moyenne des n derniers jours (disons 5 jours).

(Base sur les données que vous avez fournies, en supposant qu'il s'agisse des colonnes A et B)

Entrer =AVERAGE(OFFSET(B1,0,0,5)) dans C1, puis copiez et collez-le vers le bas (si nécessaire).

C1 devrait produire 201.36 qui est la moyenne des 5 derniers jours; C2 est 201.72, etc.


Explication:

OFFSET() délivre une plage à partir de B1 avec hauteur de 5 (vers le bas, y compris B1 lui-même).
(Remplacer 5 avec le nombre de jours que vous voulez.)

Ensuite, AVERAGE() est utilisé pour calculer la moyenne de la plage.


1
=AVERAGE($B$1:INDEX($B$1:$B$100,COUNTA($B$1:$B$100)))

Cela mettra à jour que vous ajoutez des données. Mais notez que cela ne concerne que les 100 premières lignes, alors ajustez-le s'il y en aura plus. De plus, si vous insérez des lignes en haut, les références seront rétrogradées.


0

Avoir revu ma propre réponse des années plus tard, je voudrais suggérer une formule plus simple.

  1. Entrée en C1 =average(B1:B5) (supposons une moyenne mobile sur 5 jours)
  2. Copier et coller vers le bas dans la colonne C

Remarque: pour l'enregistrement le plus ancien (24/08/2010), la moyenne mobile (colonne C) indique la valeur de ce jour. Pour le deuxième enregistrement (25/08/2010), il affichera la moyenne des deux premiers jours, et ainsi de suite.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.