• ベストアンサー

【Excel】短時間で再計算をすませる方法

たくさんの計算式が入ったシートを保存しようとすると、再計算に入ってとても時間がかかることがあります。 設定で、手動で再計算にしちえるのですが少しでも計算を短くする方法があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.5

計算式を(もちろん結果は同じになるよう)変える、配列数式を使わない、代入で出来るところは同じような式は入れない、などは出来ても、実際問題として、式を組み変えることは、質問とは別問題でしょうね。 だから式を今のままにして、計算だけ、エクセルの設定などで、早めることは、できるはずが無い。シートの式が決まれば、エクセルの同じプログラムが一気に走るはず。 ーー ただその瞬間のそのパソコンの内部メモリやディスクの空き状態が影響するかもしれないというのは、ミクロで考えられるが、その場に即してのことを、我々がはっきりいえるだけの知識も持ってないでしょう。 ーー VBAでプログラムをやれるなら、関数ーー>プログラムに組み替えて、早くなるケースはあるように思う。 計算速度ではないが、このコーナーの質問で、関数では式が長く思いつきにくい式だが、VBAでやると素直なロジックでやれるものも多いと思う。これも計算速度に影響すると思う。 ただ関数とVBAで実行速度はどちらが速いかは前もって、計算できるようなものではないとおもう。 やってみるしかない。 ーーー VBAでは、ScreenUpdating=Falseという、画面更新について、計算の都度は、毎セルについて表示を行わないセルの設定も出来る。

r2san
質問者

お礼

わかりやすいご回答ありがとうございました。 大変参考になりました。 やっと、希望する結果ができるシートができましたが、徐々にスピードアップを図るにはどうすればよいか、考えていきます。

すると、全ての回答が全文表示されます。

その他の回答 (4)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんばんは。 まず、配列数式は、Excel2000より、論理的な限界はなくなりましたが、Excel2003 までは、参照セル約6500個までで、それ以上は、スワップが働いてしまいます。Excel 2007 は、そういう問題がなくなったといいますが、私個人は試験はしていません。 参照セルの内容は分かりませんが、7000行×15項目では、すでに限界値は越えているのだと思います。掲示板でよく書かれている配列数式は、小規模なものに限ります。 それと、通常、一般数式は、参照セル一つの変更に対して、その数式だけの値を返し、メモリの保護をしますが、配列数式は、一つのセルの変更が、すべての参照セルを読み直します。これでは、一気に、メモリを使ってしまいます。 一旦、補助列を使って、フラグを取るか、SUMIF やデータベース関数を使うことです。

r2san
質問者

お礼

ご回答ありがとうございました。どうしても、複数列を参照したいと思いましたが、投射したシートを作って配列数式を使わないように努力してみます。

すると、全ての回答が全文表示されます。
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

データのシートの構成を教えてください >一つの番号をキーに合計額を求める表を7000行×15項目作りました。 キー番号は昇順にならんでいるのかどうかなど データシートが  A  B  001 100  002 200  001 300 ・・・・・ 集計シート  001 400  002 200 とかでしたら、ピボットテーブルを試してみてください。 集計が必要なときだけ、更新かけて再計算させます。

r2san
質問者

補足

データを別のシステムから出力していて頻繁に更新(引用先を置換)しているため、キー番号などすべて法則性がありません。そのためSumproductでデータを拾っていっているのですが、めちゃくちゃ計算に時間かかります。(CoreDuo2の1.5Ghzで5分くらい)

すると、全ての回答が全文表示されます。
  • yko_
  • ベストアンサー率42% (29/68)
回答No.2

こんばんは。 ツール>オプション>計算方法>○手動の下の □保存前に再計算を外すと保存前に再計算をしないので 時間がかかりません。(ただし、再計算はされません) 「手動」設定の場合、「F9」を押すと再計算が可能なので 任意のタイミングで更新できます。いかがでしょうか。 #もし、質問の意図を取り違えた回答だったらすみません。

r2san
質問者

お礼

ご回答ありがとうございました。 大変参考になりました。

すると、全ての回答が全文表示されます。
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

>たくさんの計算式が入ったシート シートの構成と計算式を記述してもらわないと何とも回答が出来ないと思います。

r2san
質問者

補足

別の表からsumproduct関数を使って一つの番号をキーに合計額を求める表を7000行×15項目作りました。 毎回、データが変更になるわけではないので変更になったところだけ更新をかけられれば良いと思うのですが、そのような方法があればご教示ください。

すると、全ての回答が全文表示されます。

関連するQ&A