Как бы я сделал скользящее среднее по ряду дат и значений?

Данные в основном выглядят следующим образом:

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

4 ответа4

4

Предполагая, что ваш первый фрагмент данных находится в B1, вы можете скопировать и вставить следующую формулу по длине столбца данных. Поместите это в C2:

=AVERAGE($B$1:B2)

Знак доллара "привязывает" первую ячейку, делая ее абсолютной ссылкой, которая не перемещается при копировании / вставке формулы, тогда как вторая ячейка является относительной ссылкой, которая будет продолжать обновлять среднее значение с каждой записью.

2

Под "скользящим средним" я полагаю, что вы говорите о среднем за последние n дней (скажем, 5 дней).

(Основываясь на предоставленных вами данных, предполагая, что это столбцы A и B)

Введите =AVERAGE(OFFSET(B1,0,0,5)) в C1 , затем скопируйте и вставьте его вниз (при необходимости).

C1 должен вывести 201.36 что является средним значением за последние 5 дней; C2 составляет 201.72 и так далее.


Explaination:

OFFSET() выводит диапазон, начиная с B1 с высотой 5 (вниз, включая сам B1 ).
(Замените 5 на количество дней, которое вы хотите.)

Затем AVERAGE() используется для вычисления среднего значения диапазона.

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

Это будет обновляться по мере добавления данных. Но обратите внимание, что он смотрит только на первые 100 строк, поэтому отрегулируйте, если будет больше. Кроме того, если вы вставите строки вверху, ссылки будут смещаться вниз.

0

Проанализировав свой собственный ответ спустя годы, я хотел бы предложить более простую формулу.

  1. Ввод в C1 =average(B1:B5) (допустим скользящее среднее за 5 дней)
  2. Скопируйте и вставьте вниз в столбце C

Примечание. Для самой ранней записи (24.08.2010) скользящее среднее (столбец C) будет показывать значение этого дня. Для второй записи (25.08.2010) будет показано среднее значение за первые 2 дня и т.д.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .