我使用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