Guillermoには、製品の価格設定と原価計算のための大きなワークシートがあります。ワークシートは正常に計算されていましたが、突然、集計ページの一部のセルが計算を停止しました。彼がセルをクリックしてEnterキーを押すと、セルが再計算されます。 Guillermoは、セルが参照するすべての形式をチェックし、それらはすべてアカウンティングまたは数値に設定され、さらに自動計算が選択されています。彼は何が問題を引き起こしているのか途方に暮れている。

この問題の原因となっている可能性のあることがいくつかあります。

まず、原因はワークシートのレイアウトである可能性があります。ワークブックのワークシートが非常に大きい場合は、Excelが計算を実行する順序を覚えておくことが重要です。 「集約ページ」について言及します。これは、最初に「大きなワークシート」についてのみ言及している場合でも、ここで複数のワークシートが使用されていることを意味します。 Excelは、すべての計算の順序付け(計算チェーンの構築)を試みてワークシートを再計算し、他のセルへの依存度が最も低いセルがシーケンスの最初にスタックされ、他のセルへの依存度が最も高いセルが最後に配置されるようにします。シーケンスの。 Excelが、セルが計算チェーンの下位にある別のセルに依存していることを検出すると、シーケンスが再配置されて、そのセルがチェーンのさらに下位に移動します。

したがって、多くの計算を含む大きなワークシート(特に、他のワークシートやワークブックの値や結果に依存する計算)がある場合、Excelが混乱し、すべての計算で最終的な正しい結果が得られない可能性があります。また、最初の回避策では、集計情報が適切に再計算されない場合があります。

とはいえ、最新バージョンのExcelでは、これが当てはまる可能性は低いことを指摘しておく必要があります。 Excelは、古いバージョンのプログラムで計算するよりも、新しいバージョンの方がはるかに優れています。したがって、犯人は他の場所にいる可能性があります。

このことを念頭に置いて、誤った数式セルに実際に数式が含まれているかどうかを確認することもできます。代わりに、Excelによってテキストとして解析されると、明らかに間違った結果が得られます。セルを選択し、F2キーを押して(編集モードに入る)、Enterキーを押すことができます。そのようなセルがたくさんある場合は、これを試してください:

。 Ctrl + Hを押します。 Excelは、[検索と置換]ダイアログボックスの[置換]タブを表示します。

。 [検索する文字列]ボックスに等号(=)を入力します。

。 [置換]ボックスに等号(=)を入力します。

。 [すべて置換]をクリックします。

3番目に確認できるのは、ワークシートがユーザー定義関数(UDF)を使用しているかどうかです。集計の合計がUDFによって返される値に何らかの形で依存している場合は、UDFが正しい値を返していることを確認する必要があります。期待したときに再計算されない場合があるため、(状況によっては)誤った結果が得られる場合があります。これが当てはまると思われる場合は、マクロコーディングを変更して、先頭にApplication.Volatileステートメントがあるようにします。

また、マクロについて言えば、どのマクロも計算プロセスに影響を与えたり、自動計算をオフにしたりしていないことを確認することをお勧めします。

チェックするもう1つのことは、Excel用のサードパーティのアドインが原因である可能性があるかどうかです。ある_ExcelTips_リーダーは、多数のセルがアドインからのUDFを使用している場合、Excelの再計算にはるかに長い時間がかかることを示唆しました。 F9キーを押すと、再計算プロセスが高速化される場合がありますが、一部のアドインの無効化を開始して、問題が解決するかどうかを確認することもできます。

最後に、ワークシートに循環参照を誤って作成していないかどうかを確認する必要があります。これらは、1つのセル内の数式が、何らかの方法で、数式が存在するセルを参照している場合に発生します。

したがって、セルC1にセルD7とE7に依存する数式が含まれ、それらのセルの1つにセルC1に依存する数式が含まれている場合、循環参照が存在します。循環参照が適切に処理されない限り(_ExcelTips_の他の問題で説明されているように)、予期しない結果または誤った結果が生成される可能性があります。ワークシートに循環参照がある場合は、ステータスバーの左側にそのようなインジケーターがあるはずです。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(13014)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。