This page is in Japanese version. The English version is in preparation.

テンプレート処理で結果表示範囲への書き出しに時間がかかる

Excel-Link Operation

質問

大量の計算式が入っているメイン計算シートと、テンプレート処理で値を取得するシートの 2 シートがある Excel があります。

テンプレート処理のみの Excel ブックだとデータ取得自体が短時間で終了するのですが、計算式の多いシートと一緒のブックだと、結果表示範囲への書き出し処理にとても時間がかかります。

再計算を手動に設定しても、同じ動作でした。 対策方法はありますか。

回答

メニューから シート処理要領の設定  テンプレート処理タブ にて「追加コピー対象」-「数式」オプションにチェックしていない場合は、チェックしお試しください。

テンプレート処理では再計算を手動に設定しても、「データ取得」処理中に再計算処理が実行されます。

こちらは「追加コピー対象」-「数式」にチェックされているかどうかによって内部の処理方式(計算式の再計算行う行わない等)が異なり、処理時間も変わってきます。
どちらが速いかはデータ取得セルの数、計算式の複雑度、データ件数によります。

「追加コピー対象」-「数式」にチェックがない場合は、一度、テンプレート範囲の各セルに値を代入して再計算し、その結果を結果表示範囲にコピーします。
これに対し、チェックがある場合は、テンプレート範囲への値代入を行わず、結果表示範囲に値を直接書き出します。

なお、内部の処理方式は仕様ではなく、現在の実装方法であり今後変更する可能性もございます。

(2022/3/30 追記)
===
テンプレート範囲のセルの書式設定で「配置タブ>文字の制御>折り返して全体を表示する」にチェックしている場合に、データ取得に時間がかかることがあります。
この場合、チェックを外してお試しください。
===

また、以下対策のお試しや運用をご検討ください。

  • Excel 計算式のチューニング

  • 1ブックに複数シート数が存在する場合、ファイルを分ける

関連記事: