0

ニューヨーク市の交通料金を分析するために作成した大規模な Excel スプレッドシート (60 個のタブ、それぞれ 1,000 x 68 セルの範囲) は、ある特定のセルに狭い範囲外の値を入力するとクラッシュします。「クラッシュ」とは、膨大な数のセル (おそらく数万) が「#NUM!」を返すことを意味します。同時に。

ご想像のとおり、スプレッドシートは再帰的で、データが異なるセル間を行き来する数百 (数千?) のインスタンスが存在します。これは、移動の選択を処理する際に発生する必要があります (たとえば、道路通行料の値上げにより自動車が減少するなど)。しかし、結果として生じる交通の流れの改善は、自動車のトリップを引き付け、交通の流れを悪化させます...)。

#NUM! 結果が最初に表示されますか?それがなかったため、最初の #NUM! の原因となる数式またはアルゴリズムを突き止めようとして、無駄に多くの時間を費やしました。その結果、他のすべてに感染し、診断が不可能になります。

約 4 MB のスプレッドシートは、次のリンクからダウンロードできます: http://www.nnyn.org/kheelplan/BTA_1.1.xls . 値の崩壊につながるセルは、「Taxis」ワークシートの F444 です。その現在の (保存された) 値は unity (1.0) です。それを 4.0 またはそれ以下の値に上げると、スプレッドシートが崩壊し、そこから再構築できなくなります。

私は数学者であり、プログラマーではありません。確かに、私は数学者というよりも「数の専門家」です。

前もって感謝します。私はこのサイトを初めて知り、感銘を受けました。

4

1 に答える 1

1

Excel 2010では(2007年以降はすべてこの機能があります)、[数式]タブの[数式監査]グループに[数式の評価]ボタンがあります。#NUMを選択します!フィールドに入力して使用すると、数式に移動して数式を評価できます(数式のセグメントを計算します)。また、そのグループには、トレースの依存関係/判例など、いくつかのヘルパー関数があります。

編集1:ああ、次の場合はこのエラー(#NUM!)が発生します。

  1. フィールドで1E+308以上の大きすぎる数を計算しました
  2. あなたはこのようなことをしたい:0 ^ 0
  3. どこかで(前の1つのフィールドで)このエラー#NUMが発生します!使いたい

EDIT2:さて、私はあなたの問題を見つけました(多分)、あなたはどこかでイタレーションで大きすぎる数を計算したいです。Maximum Itarationsを1に設定した場合、#NUMを取得していません。エラー。(これはExcelオプション-[数式]タブで見つけることができます)

于 2012-12-24T16:26:10.680 に答える