Excel 的自动填充算法究竟是什么?

Seç*_*gay 50 algorithm microsoft-excel

Excel中的自动填充使用的算法是什么?

例如,当我将数字 3,4,5,7,8 输入一列然后使用自动填充时,我得到以下结果:

 3
 4
 5
 7
 8
 9.3
10.6
11.9
13.2
14.5
15.8
17.1
18.4
Run Code Online (Sandbox Code Playgroud)

rob*_*CTS 66

自动填充时,Excel 使用其线性趋势方法。这采用最小二乘法算法。

这与函数使用的算法相同,TREND()如下所示:

工作表截图

输入以下公式C6并按 ctrl-enter/copy-paste/fill-down 到列的其余部分:

=TREND($C$1:$C$5,$B$1:$B$5,B6)
Run Code Online (Sandbox Code Playgroud)

下面的图表显示了新值所在的趋势线。

最小二乘法为原始数据点创建一条“最佳拟合”线。新数据点基本上是从这条线上提取的。

图表截图

  • 并不是说我怀疑您的答案,只是好奇您是如何知道他们使用最小二乘法的。(或者,更广泛地说,您是否对“幕后”进行了一些调查?或者此类应用程序使用这种方法是否常见?) (12认同)
  • @BruceWayne 不需要在幕后进行调查;-) 网络上的几个地方都提到了这一点。另外,Excel 自己的文档指出`TREND()` 函数使用“最小二乘法”,正如您所看到的,我确认产生与自动填充相同的结果。所以,只要你能相信 Micro$oft 自己的文档(我们现在都知道它有多准确),我会说这使它相当确定。加上 0xFEE1DEAD 所说的。 (10认同)
  • @BruceWayne 是的,这是 [简单线性回归] 中的常用方法(https://en.wikipedia.org/wiki/Simple_linear_regression) (7认同)
  • Excel 文档确认 [拖动填充手柄将使用线性最佳拟合趋势插入值](https://support.office.com/en-us/article/project-values-in-a-series-5311f5cf-149e- 4d06-81dd-5aaad87e5400) (7认同)