4

Oracle データベースへのクエリにリンクされた Excel データ テーブルがあります。このデータ テーブルには、(1) データ テーブルに追加された追加の計算列 (一部は配列数式と MATCH を含む) (クエリされた値に基づく)、および (2) 他のタブ全体に広がる多くの従属数式の両方があります。

まったく新しい Excel ファイルにそのまま追加された場合、クエリ自体は高速に更新されますが、依存する数式は、計算を手動に設定しても更新が遅くなるようです。

私はいくつかのことを試しました:1)計算を手動に設定する2)画面の更新を無効にする3)イベントを無効にする4)データテーブルから計算された列を削除しました(通常の数式のみ)

何も役に立たないようです...何かアイデアはありますか?ありがとう。

4

1 に答える 1

2

このリンクはあなたにとって興味深いかもしれません。

Excel Recalculation http://msdn.microsoft.com/en-us/library/office/bb687891(v=office.12).aspx

Thread Safe Functions http://msdn.microsoft.com/en-us/library/office/bb687899(v=office.12).aspx#xl2007xllsdk_threadsafe

再計算イベントをトリガーできる多くのイベントがあり、VOLATILE関数でも読み取られます。揮発性関数とは、その引数が (引数があれば) 変更されていなくても、その値が次の瞬間まで同じであると想定できない関数です。

The following Excel functions are volatile.
NOW
TODAY
RAND
OFFSET
INDIRECT
INFO (depending on its arguments)
CELL (depending on its arguments)

データ テーブルの再計算は、若干異なる方法で処理されます。再計算は、通常のワークブックの再計算とは非同期で処理されるため、大きなテーブルでは、ワークブックの残りの部分よりも再計算に時間がかかる場合があります。

設定してみてくださいAutomatic Except for Data Tables。おそらく、手動計算に設定されている場合でも、イベントが手動をトリガーするたびに、影響を受けるセルが計算されることを意味します. おそらく、更新によってこれらすべてのイベントがトリガーされ、イベントがトリガーされると、より多くのイベントが発生して再度トリガーされるため、複数回計算されます。

あなたができる最も簡単なことは、できるだけ多くVOLATILEの公式を排除することです. ARRAY個人的な経験によると、RAND 関数と ARRAY 関数は最悪です。

于 2013-07-30T14:13:20.627 に答える