Excel - 自动递增数字直到找到解决方案(使用无 VBA 且无数据 Table)

Excel - Auto Increment Number until Finding Solution (Using No VBA and No Data Table)

我精通Excel用户,但我不想使用VBA或数据Table来解决以下问题。

最好,我想使用 Goal Seek 或 Solver 或任何其他不需要宏(循环)且不需要大数据 table 跨越许多的简单方法行。

问题如下:在单元格 B1 中,解是 15,621(也有其他解超过这个数字)

但是我想从1开始查找,每次加1,或者每次加5(可能的话,1、6、11等),直到D17单元格等于1,最终等于1 在一百万以下说很多次。

我可能想从 20,000 开始更改起点等

这可能吗? Goal Seek 找不到它,因为公式使用 Mod、Min、Max.. 因此不会线性收敛。

有没有其他方法可以用 Goal Seek 或 Excel Solver 来重写这道题。

这是一道著名的数学题(http://mathcentral.uregina.ca/QQ/database/QQ.02.06/meadow4.html),但我想用Excel。

我知道我可以使用 vba 循环和数据 table 来解决。但是,我想要一个使用目标搜索或求解器或其他未知的更简单的解决方案。

Excel 的“迭代计算”或许可以解决问题。 如此处所示:ablebits.com: "Circular reference in Excel - how to check, find, enable, or remove"

迭代计算允许公式的循环依赖。在 Excel 2010 中,您可以在“Excel 选项”->“公式”->“计算选项”->“启用迭代计算”中找到它。 注:32767是Excel2010

的最大迭代次数

在您的示例中,您可以在(比方说)B2 中有一个变量最初设置为您的最小值。只要未找到解决方案,B1 就会设置为类似于 B2。如果找到解决方案,则将其设置为 B2 减去增量。 现在,如果您将 B2 更改为 B1 加上增量,Excel 的迭代计算应该在您的解决方案处停止。

示例:

B2 =   1
B1 =   =IF(D17<>1, B2, B2-1)
B2 =   =B1+1

更新 (基于@ihightower 的评论):

当值变化小于定义的阈值“最大变化”(默认值:0.001)或“最大迭代”已执行时,迭代计算停止。 在每个 运行 的末尾, B2 已经包含下一个的初始值。要调用下一个迭代计算,请转到结果的单元格 D17,按 [F2],然后按 [Ctrl]+[Enter]。

要跳转到新的初始值,请将 B2 设置为新的最小值,然后设置为 =B1+1。