我有带有以下数据的Google电子表格

   A           B       D
1  Date        Weight  Computation
2  2015/12/09          =B2*2
3  2015/12/10  65      =B3*2
4  2015/12/11          =B4*2
5  2015/12/12          =B5*2
6  2015/12/14  62      =B6*2
7  2015/12/15          =B7*2
8  2015/12/16  61      =B8*2
9  2015/12/17          =B9*2

我想绘制重量w.r.t.日期,和/或与其他按重量计算其他数量的列一起使用。但是,您会注意到缺少一些条目。我想要的是另一列,该列的数据基于“权重”列,其中插值并填写了缺失值。例如:
   A           B       C       D
1  Date        Weight  WeightI Computation
2  2015/12/09          65      =C2*2          # use first known value
3  2015/12/10  65      65      =C3*2
4  2015/12/11          64      =C4*2          # =(62-65)/3*(1)+65
5  2015/12/12          63      =C5*2          # =(62-65)/3*(2)+65
6  2015/12/14  62      62      =C6*2
7  2015/12/15          61.5    =C7*2          # =(61-62)/2*(1)+62
8  2015/12/16  61      61      =C8*2
9  2015/12/17          61      =C9*2          # use the last known value

当我必须找到两个已知点之间的缺失数据时,在C列中使用线性插值填充值。

我相信这是一个非常简单且常见的用例,因此我确信这是一件微不足道的事情,但是我无法使用内置函数找到解决方案。我在电子表格方面也没有太多经验。我花了几个小时尝试= INDEX,= MATCH,= VLOOKUP,= LINEST,= TREND等,但是我无法从示例中得出一些信息。我唯一可以使用的解决方案是使用Google Apps脚本创建自定义函数。尽管我的解决方案可行,但执行起来似乎非常缓慢。我的电子表格也很大。

有任何指针,解决方案吗?

最佳答案

您可能想使用forecast,首先将其读数与不读的日期分开(稍后再重新排列)可能更方便。因此,只有三个读数说:

       A        B
1 10/12/2015    65
2 14/12/2015    62
3 16/12/2015    61

左下方需要提供值的日期:
 6 09/12/2015   65.6
 7 11/12/2015   64.3
 8 12/12/2015   63.6
 9 15/12/2015   61.5
10 17/12/2015   60.2

在B6中产生65.6的公式(并从那里向下复制以适合):
=forecast(A6,$B$1:$B$3,$A$1:$A$3)

这不是按照您所显示的方式计算的,而是可以认为稍微更准确,尤其是通过推断缺失的最终值,而不仅仅是重复其最接近的可用值。

计算完值之后,您可能希望按日期顺序重新组合数据。因此,我建议复制B6:B10并仅在顶部编辑,粘贴特殊,粘贴,然后进行排序以适合需要。

下表比较了上面的结果(蓝色)和OP中的结果(绿色),并标记了给定的数据点:

google-sheets - 在Google Spreadsheet中通过插值填充丢失的数据-LMLPHP

09-16 09:46
查看更多