This page is in Japanese version. The English version is in preparation.
|
テンプレート処理で結果表示範囲への書き出しに時間がかかる
質問
大量の計算式が入っているメイン計算シートと、テンプレート処理で値を取得するシートの 2 シートがある Excel があります。
テンプレート処理のみの Excel ブックだとデータ取得自体が短時間で終了するのですが、計算式の多いシートと一緒のブックだと、結果表示範囲への書き出し処理にとても時間がかかります。
再計算を手動に設定しても、同じ動作でした。 対策方法はありますか。
回答
メニューから
にて「追加コピー対象」-「数式」オプションにチェックしていない場合は、チェックしお試しください。テンプレート処理では再計算を手動に設定しても、「データ取得」処理中に再計算処理が実行されます。
こちらは「追加コピー対象」-「数式」にチェックされているかどうかによって内部の処理方式(計算式の再計算行う行わない等)が異なり、処理時間も変わってきます。
どちらが速いかはデータ取得セルの数、計算式の複雑度、データ件数によります。
「追加コピー対象」-「数式」にチェックがない場合は、一度、テンプレート範囲の各セルに値を代入して再計算し、その結果を結果表示範囲にコピーします。
これに対し、チェックがある場合は、テンプレート範囲への値代入を行わず、結果表示範囲に値を直接書き出します。
なお、内部の処理方式は仕様ではなく、現在の実装方法であり今後変更する可能性もございます。
(2022/3/30 追記)
===
テンプレート範囲のセルの書式設定で「配置タブ>文字の制御>折り返して全体を表示する」にチェックしている場合に、データ取得に時間がかかることがあります。
この場合、チェックを外してお試しください。
===
また、以下対策のお試しや運用をご検討ください。
-
Excel 計算式のチューニング
-
1ブックに複数シート数が存在する場合、ファイルを分ける
関連記事: