Каково динамическое решение для линейной интерполяции данных в строке с пропущенными значениями с неопределенным числом последовательностей пропущенных значений?

У меня есть эти данные

Date        Data
8/25/2017   980
8/24/2017   64
8/23/2017   593   
8/22/2017   595
8/21/2017   
8/20/2017   
8/19/2017   794
8/18/2017   437
8/17/2017   
8/16/2017   
8/15/2017   
8/14/2017   629

Что если бы я хотел (794-595)/3 в камере 21 августа и 2*(794-595)/3 в камере 22 августа и аналогичным образом (629-437)/4 17 августа, 2*(629-437)/4 в 16 августа и т.д...

И во всем наборе данных есть только 2 недостающие последовательности данных. Но я хочу быть в состоянии сделать все это, не зная заранее количество пропущенных последовательностей.

Как сделать это динамически, без учета количества пропущенных значений между ними?

1 ответ

Решение

Для маршрута формулы вам понадобится вспомогательный столбец:

В строке 2 этого вспомогательного столбца укажите:

=IF(B2="",INDEX(B:B,MATCH(1E+99,$B$1:B1))+((ROW() - MATCH(1E+99,$B$1:B1))*(INDEX(B2:INDEX(B:B,MATCH(1E+99,B:B)),MATCH(TRUE,INDEX((B2:INDEX(B:B,MATCH(1E+99,B:B))<>""),),0))-INDEX(B:B,MATCH(1E+99,$B$1:B1)))/(MATCH(TRUE,INDEX((B2:INDEX(B:B,MATCH(1E+99,B:B))<>""),),0)+ROW()-1-MATCH(1E+99,$B$1:B1))),B2)

И скопировать вниз диапазон

Затем, если вы хотите, вы можете скопировать и вставить значения обратно на исходные данные.

Другие вопросы по тегам