Excel虚拟内存问题

时间:2012-02-08 15:20:34

标签: excel

我正在使用Excel 2007和Win7 32bit。我已下载Process Explorer以获取有关正在运行的进程的更多信息。

如果我把公式放在A1 = sum(if(B:J = 0,1,0))中,那么ctl-shift-enter(对于一个数组)它可以工作但虚拟内存最多可以达到800左右+ MB。如果我尝试将相同的公式放入A2中,我会出现“资源不足”错误。当我收到错误时,我看到虚拟内存峰值高达1.2 GIG。我猜它超过2 GIG(因为这似乎是Excel 2007的限制)但是Process Explorer只是没有足够快地显示它。

如果删除公式,虚拟内存仍会保持在800 MB以上。我似乎无法减少使用的虚拟内存。如果那时再尝试将这个公式放入我的“资源中”,现在我甚至无法将这些公式中的一个放在我以前的地方。这就像它没有释放所使用的虚拟内存。

我知道Win 7 64位和Excel 2010 64位具有8 TB的虚拟内存,但如果虚拟内存没有被释放,则看起来像是内存泄漏。

该公式只是一个测试,以获得这个想法,即工作簿中的许多数组公式似乎都受此影响。

除了升级之外,在这种情况下我能做些什么呢?

1 个答案:

答案 0 :(得分:1)

如果您制作一个新的工作簿并在工作表上使用这些列公式会导致内存峰值?如果列中的任何/所有单元格已被“触摸”,则Excel会将它们视为空白单元格并在公式中使用它们。如果它们从未被触及过,那么它们就不存在了,Excel也不应该尝试将它们加载到内存中。

如果您的工作簿非常庞大,那么您可能会陷入困境,尽管可能会重构您的公式以处理较小的单元格区域,然后将这些结果运行到另一组公式上以获得最终结果。