Excel で大きな領域に数式をコピーする場合の "メモリ不足"

現象

数式をワークシートの大きな領域に入力またはコピーしたり、大きなワークシートに数式を追加したりすると、次のようなエラー メッセージが表示されます。

  • メモリが不足しています。
  • 完全に表示するのに十分なシステム リソースがありません。

原因

Microsoft Excel 2007、Excel 2010、Excel 2013 32 ビットの各インスタンスは、2 ギガバイト (GB) のメモリ (内部ヒープ領域) に制限されています。 また、スマートフィル操作を実行する場合、各インスタンスは 32,760 個のソース セルに制限されます。 ワークシートの大きなセクションをコピーまたは塗りつぶすと、これらの制限の一方または両方が結果に影響する可能性があります。

回避策

ソース セルの制限を回避するには、次の手順に従います。

  1. 入力する必要がある範囲の部分のみを入力します。
  2. 塗りつぶされた範囲の最後の行または最後の 2 行のみを選択し、シートの下に塗りつぶします。
  3. 入力する必要がある範囲全体を入力するまで、手順 2 を繰り返します。
    メモリ制限を回避するには、作業をより小さなブックに分割し、Excel の個別のインスタンスで開きます。

詳細情報

Excel では、次のようなさまざまな種類の操作に内部ヒープ領域が使用されます。

  • セルと数式を追跡します。
  • コピーと貼り付けの機能を提供します。
  • オブジェクトへのポインターを追跡します。

Microsoft Excel 2002 より前のバージョンの Excel では、メモリ制限は 64 MB です。 Excel 2002 では、制限は 128 MB に増やされます。 Microsoft Office Excel 2003 では、制限は 1 ギガバイト (GB) に増やされます。

これはインスタンスごとの制限であるため、2 つまたは 3 つの大きなブックが開いている場合、または 1 つの非常に大きなブックがある場合に、この問題が発生する可能性があります。 複数のブックを操作している場合は、Excel の個別のインスタンスでブックを開いてみてください。

スマートフィル機能を使用すると、相対参照と塗りつぶしリストをインクリメントできます。 任意のコピーまたはフィル操作でコピー範囲を縮小することで、32,760 個のソース セルの制限を回避できます。