Excel 如何动态地对丢失值的行中的数据进行线性插值?

Excel 如何动态地对丢失值的行中的数据进行线性插值?,excel,excel-formula,Excel,Excel Formula,我有这些数据 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在8月21号牢房,2*(794-595)/3在8月22号牢房,同样的

我有这些数据

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在8月21号牢房,2*(794-595)/3在8月22号牢房,同样的(629-437)/4在8月17号牢房,2*(629-437)/4在8月16号牢房等等


如何动态执行此操作,而不考虑其间缺少的值的数量下面的代码提供了一种解决方案,动画gif显示了解决问题的代码。当然,有很多方法可以解决这个问题,但这很简单。至少这会告诉你需要什么样的输入。它假定x值增加1(如数据中所示)。否则,您需要使用类似于slope&intercept函数的功能


谢谢,但你认为只有这两个空白组。事实是,我可能有更多的空格(4个空格序列,5个空格,1个空格等等),我不知道数据中会有多少这样的序列。所需的解决方案将是一个动态解决方案,它将在每个空白序列中插入数据,而不考虑空白的数量。我不想将自己局限于测试数据中的两个空白序列,而是手动对每个序列进行操作。我试图提供一个解决方案来回答原始问题,并承认它可能无法涵盖所有可能性。但话说回来,这个想法只是让你朝着一个可以让你解决问题的方向前进。尽管如此,我相信上述解决方案确实可以处理“更多的空格(4个空格顺序、5个空格、1个空格等)”以及“不考虑空格数量”。如果你想自动完成所有这些序列,可以从顶部开始,向下搜索每个空白序列,然后应用我使用的公式,没有办法自动完成吗?有些算法通过一个列,找出所有的空序列并填入空白空间?基本上在列中找到空格,然后应用公式。但它应该是自动的。
Option Explicit
Sub interpolate()
Dim r As Range, cell As Range
Set r = Application.InputBox("select interpolation range", , , Type:=8)
For Each cell In r
  If cell = "" Then
    cell = r(1) + (r(r.Rows.Count) - r(1)) * (cell.row - r.row) / (r(r.Rows.Count).row - r(1).row)
  End If
Next
End Sub