电子表格如何正确更新单元格/知道要更新的内容?

use*_*138 4 spreadsheet

电子表格太漂亮了!单元格可以相互链接,如果任何公式/值/其中一个单元格中的任何更改,一切都正确更新!

有谁知道电子表格如何做到这一点的一般概念?我所说的是A1 = 1,A2 = 2,A3 = A1 + A2.然后我改变A1或A2,A3知道更新并正确完成.当然,在这个例子中它无法更新错误,但在更复杂的例子中,它必须首先更新"低"单元格,然后再更新构建在它之上的东西.

在编写自己编程时,我在基础数据更改后正在更新所有内容时遇到了麻烦.有时不是所有东西都必须更新,所以我不想更新所有内容.这只是一团糟.

我希望我的标签是正确的,并允许这样的讨论.谢谢!

Ank*_*ush 5

我不知道电子表格在实践中如何做到这一点.但我的想法来自于图表上的拓扑排序.考虑公式A3 = A1+A2.单元格将成为图形的节点.公式将控制边缘.边表示依赖.例如A3取决于A1.因此,我们有两条边从A3到A1和A3到A2.现在,上面的拓扑图将为您提供准确的评估顺序.即A1 A2和A3.

另请注意,如果使用此算法,此图需要是有向无环图(DAG).即它不包含任何循环.据我所知,excel确实检测到它的公式中的循环依赖.

topo-sort的基础算法使用DFS(深度优先搜索),它也可以检测周期.因此,可以报告这样的周期.