3

在 Excel 中,有一个很好的功能,如果您在三个连续的单元格中输入 1、2、3,然后选择单元格并向下拖动,它会自动将其余单元格填充为 4、5、6、7 等。它还能够匹配更多的模式。例如,如果我做了 2、4、6、8,它会识别出我正在添加 2,然后建议 10、12、14 等。

Excel如何知道哪些数字?他们是否对不同的情况进行硬编码(即添加一些常数,减去一些常数,乘以一些常数),或者是否有一些算法可以自动为您预测?(这个问题应该与语言无关,但如果有帮助,我想在 jQuery 中执行此操作)

谢谢!

4

3 回答 3

3

我很确定这是一件简单的事情。当用户输入三个数字时,Excel 可能会检查每个连续数字之间的增量。如果它们两次都相同,它将使用该增量来预测下一个数字。

于 2011-07-24T17:16:04.193 回答
1

如果您想比 Excel 更通用地执行此操作(仅添加或减去常量值),请从数值方法的角度查看一些插值算法。这篇 wikibook 文章是一个不错的教程。

于 2011-07-28T07:32:09.580 回答
0

在 Excel 中,它仅适用于加法和减法(据我所知,我只是尝试了乘法,结果与原始模式不同)。

知道了这一点,我认为计算前两个单元格之间的差异很容易,然后检查单元格 2 和单元格 3 之间的差异是否相同。然后,您可以将该转换应用于要预测的单元格。

*Example*

Cell1: 2
Cell2: 5
Cell3: 8

if(cell2 - cell1 == cell3 - cell2)
    cell4 = cell3 + (cell2-cell1); //Cell4 will now be 11 since it increments by steps of 3

然后,您可以使用 for 循环将您想要的值复制到所有选定的单元格(如果您想让接下来的十个单元格遵循该模式,请使用 for 或 while 循环来更新这 10 个单元格的值)

于 2011-07-24T17:20:29.540 回答