0

我为分析纽约市的交通定价而创建的一个大型 Excel 电子表格(60 个选项卡,每个选项卡范围为 1,000 x 68 个单元格),当我在一个特定单元格中输入超出狭窄范围的值时会崩溃。我所说的“崩溃”是指大量单元格(可能是数万个)返回“#NUM!” 同时。

正如您已经猜到的那样,电子表格是递归的,因为有数百个(数千个?)数据在不同单元格之间来回传递的实例......这在处理旅行选择时必须发生(例如,提高道路通行费会减少汽车出行,但由此带来的交通流量改善吸引了汽车出行,从而使交通流量恶化......)。

有没有一种方法可以让我“减慢”计算速度,以便查看#NUM!结果最先出现?由于缺乏这一点,我花了很多时间试图找出导致初始 #NUM 的公式或算法,但徒劳无功!结果,然后感染所有其他人,使诊断变得不可能。

该电子表格大约 4 MB,可通过以下链接下载:http ://www.nnyn.org/kheelplan/BTA_1.1.xls 。导致折叠值的单元格是“出租车”工作表中的 F444。它的当前(保存的)值是统一的(1.0)。将其提高到 4.0 甚至一些较小的值将使电子表格崩溃……无法重建。

我应该说我是一个数学家,而不是一个程序员。事实上,我更像是一个“数字专家”而不是数学家。

提前致谢。我是这个网站的新手,对它印象深刻。

4

1 回答 1

1

在 Excel 2010 中(但可能在 2007 年之后都具有此功能)在公式选项卡上的公式审核组中有一个评估公式按钮。您选择#NUM!字段,并使用它,您可以进入公式,并评估公式(计算公式的一部分)。此外,您在该组中有一些辅助功能,例如跟踪依赖项/先例。

EDIT1:哦,如果出现以下错误(#NUM!):

  1. 您在某个字段中计算出的数字太大了 ~ 1E+308 或更大
  2. 你想做这样的事情:0^0
  3. 您会在某个地方(在前一个字段中)出现此错误 #NUM!你想用的

EDIT2:现在,我发现了你的问题(也许),你想在某个地方用迭代计算太大的数字。如果将最大迭代次数设置为 1,则没有 #NUM!错误。(您可以在 Excel 选项 - 公式选项卡中找到它)

于 2012-12-24T16:26:10.680 回答