早于 Microsoft Excel 2002 的 Excel 版本
在早于 Excel 2002 的版本的 Excel,公式計算基于工作表的工作表,從 Excel 工作簿的 Sheet1 開始執(zhí)行。在工作表 Sheet1 上完成計算后,Excel 會計算 Sheet2 上的公式直到計算工作簿的所有工作表上所有公式。
此進程工作正常,只要引用單元格和從屬單元格處于同一工作表。如果引用單元格和從屬單元格不同的工作表上,但跨工作表引用,這可能會導(dǎo)致一些問題。
例如,如果工作表 Sheet1 中的公式!A1 是= Sheet3!A4 + 1,這兩個工作表 Sheet1!A1 和 Sheet3!A4 必須計算。工作表 Sheet1 的開頭。當(dāng)您嘗試計算 A1 時,您可能會發(fā)現(xiàn)您不能因為 Sheet3!A4 不具有尚未計算。嘗試計算工作表 Sheet1 上您可以繼續(xù)進行。當(dāng)您用完工作表 Sheet1、 計算 Sheet2。然后計算 Sheet3,最后更新 Sheet3!A4。
此時,您點擊了所有的工作表。但是,工作表 Sheet1!A1 仍尚未計算,因此請返回并開始重新計算工作表 Sheet1。最后,工作表 Sheet1!可以計算 A1。將循環(huán)嘗試計算任意數(shù)量的時間,具體取決于有多少跨工作表依賴項的所有工作表和它們的布局方式。
已確定此過程效率低下的方法用于計算工作簿中的公式。
Excel 2002 和 Microsoft Office Excel 2003
在 Excel 2002 和 Excel 2003 中,將保留計算公式引用的單元格的一個龐大的列表。也就是說,包含工作簿中的所有公式被都放入內(nèi)存作為一個連續(xù)的列表中的公式。當(dāng)您輸入一個新的公式并計算出它完全在第一次時,將它置于計算鏈中其正確的位置。
Excel 啟動計算的公式從列表頂部的任務(wù)。如果尚未計算引用的公式,Excel 公式的列表中向下跳轉(zhuǎn),并計算從屬公式。然后 Excel 返回的引用的公式,并完成計算。
完成列表中的公式后,Excel 將移動到下一個公式,并將繼續(xù)直到計算列表中的所有公式計算公式。
與此新過程中的計算公式,Excel 將只能進行一次工作簿中計算公式時。
一些其他計算更改要注意如下所示:
·現(xiàn)在不允許可重入的計算。您無法進行調(diào)用range.calculate方法中 Microsoft Visual Basic for Applications (VBA) 如果您已經(jīng)在計算中。單元格 A1 中包含用戶定義函數(shù)時,可以在用戶定義的函數(shù)range.calculate。您會收到運行時錯誤。
·不能在用戶定義函數(shù)中執(zhí)行Name.Add方法或Name.Delete方法。
·如果您正在使用SUMIF()函數(shù)或countif ()函數(shù)其中任一條件都超過 255 個字符,將引發(fā)
#VALUE
立即錯誤消息。
·如果您要復(fù)制整張工作表中的單元格包含超過 255 個字符,請立即臟計算的整個表。
·當(dāng)您有多個選中的工作表時,您無法執(zhí)行range.calculate 。這也將引發(fā)運行時錯誤。
·在某些情況下,Excel 可能會非常緩慢比較到 Excel 2000 及更早版本的尤其是通過使用Ctrl + Alt + F9或執(zhí)行完全重新計算時第一次從早期版本的 Excel 在 Excel 2002 中或在 Excel 2003 中打開文件時,將執(zhí)行完全重新計算時計算。
Microsoft Office Excel 2007 和 Excel 2010
Excel 2007 中的一組函數(shù)以執(zhí)行公式計算。若要優(yōu)化性能,函數(shù)集聚集到盡可能少的查詢盡可能。其他 Excel 功能均處于空閑狀態(tài)時,通常是在后臺執(zhí)行這些聚合的查詢。
在聚合查詢中,將保留計算公式引用的單元格的一個龐大的列表。作為一個連續(xù)的列表中的函數(shù)包含工作簿中的所有函數(shù)都放在內(nèi)存中。
當(dāng)您在工作簿中輸入一個新的公式時,然后第一次計算新的公式。當(dāng)?shù)谝淮斡嬎阈碌墓綍r,Excel 2007 將生成一組屬于新公式中,函數(shù)和集中函數(shù)的每個函數(shù)會計算鏈中所在的正確位置。
根據(jù)處理計算鏈時,計算每個單元格。如果在另一個函數(shù)沒有依賴項的單元格,該單元格立即接收其值。如果單元格在另一個函數(shù)上有依賴項,單元格收到的#GETTING_DATA...,占位符錯誤值,然后計算傳遞到鏈中的下一個單元格。
有一次計算的所有單元格之后,Excel 2007 會觸發(fā)聚合的查詢或查詢中檢索數(shù)據(jù)所需的。正在等待數(shù)據(jù)的單元格時處理的聚合的查詢后,繼續(xù)顯示占位符錯誤值#GETTING_DATA....
聚合的查詢或查詢的處理完成后,重新計算包含占位符的#GETTING_DATA...錯誤值的單元格,并且單元格收到的值。
新聞熱點
疑難解答
圖片精選