我使用Excel 2007和Win7 32位。我已經下載了Process Explorer以獲取有關正在運行的進程的更多信息。Excel虛擬內存問題
如果我在A1 = sum(if(B:J = 0,1,0))中輸入公式,那麼ctl-shift-enter(對於一個數組)就可以工作,但虛擬內存會一直髮送800+ MB。如果我嘗試將同一個公式放入A2中,則會出現「資源不足」錯誤。當我發現錯誤時,我發現虛擬內存達到了大約1.2GIG。我猜它已經超過了2 GIG(因爲這似乎是Excel 2007的限制),但Process Explorer並沒有顯示出足夠快的速度。
如果我刪除公式,虛擬內存仍然保持在800+ MB左右。我似乎無法減少使用的虛擬內存。如果再次嘗試將這個公式放在「我沒有資源」的位置,現在我甚至不能把這些公式中的一個放在我以前的位置。這就像它沒有釋放所用的虛擬內存。
我知道Win 7 64位和Excel 2010 64位具有8 TB的虛擬內存,但是如果虛擬內存沒有被取消分配,這看起來像是內存泄漏。
該公式只是一個測試,以獲得這樣的想法,即工作簿中的許多數組公式都受此影響。
任何想法,除了升級,我可以在這種情況下做什麼?
導致虛擬內存的陣列仍將位於撤消堆棧中。我懷疑這就是爲什麼內存不能清理。 – Jesse 2012-02-08 18:09:36
我建議你停止在數組公式中使用整列引用(如果(B:J = 0,1,0)創建超過900萬個需要被引用的單元並與包含零的900萬個虛擬單元進行比較以創建9個虛擬百萬單元包含0或1,所以我很驚訝,內存只能達到800 MB) – 2012-02-08 23:38:51