萬盛學電腦網

 萬盛學電腦網 >> Excel教程 >> excel綜合 >> 如何在 Excel 中執行公式計算

如何在 Excel 中執行公式計算

  早於 Microsoft Excel 2002 的 Excel 版本

  在早於 Excel 2002 的版本的 Excel,公式計算基於工作表的工作表,從 Excel 工作簿的 Sheet1 開始執行。在工作表 Sheet1 上完成計算後,Excel 會計算 Sheet2 上的公式直到計算工作簿的所有工作表上所有公式。

  此進程工作正常,只要引用單元格和從屬單元格處於同一工作表。如果引用單元格和從屬單元格不同的工作表上,但跨工作表引用,這可能會導致一些問題。

  例如,如果工作表 Sheet1 中的公式!A1 是= Sheet3!A4 + 1,這兩個工作表 Sheet1!A1 和 Sheet3!A4 必須計算。工作表 Sheet1 的開頭。當您嘗試計算 A1 時,您可能會發現您不能因為 Sheet3!A4 不具有尚未計算。嘗試計算工作表 Sheet1 上您可以繼續進行。當您用完工作表 Sheet1、 計算 Sheet2。然後計算 Sheet3,最後更新 Sheet3!A4。

  此時,您點擊了所有的工作表。但是,工作表 Sheet1!A1 仍尚未計算,因此請返回並開始重新計算工作表 Sheet1。最後,工作表 Sheet1!可以計算 A1。將循環嘗試計算任意數量的時間,具體取決於有多少跨工作表依賴項的所有工作表和它們的布局方式。

  已確定此過程效率低下的方法用於計算工作簿中的公式。

  Excel 2002 和 Microsoft Office Excel 2003

  在 Excel 2002 和 Excel 2003 中,將保留計算公式引用的單元格的一個龐大的列表。也就是說,包含工作簿中的所有公式被都放入內存作為一個連續的列表中的公式。當您輸入一個新的公式並計算出它完全在第一次時,將它置於計算鏈中其正確的位置。

  Excel 啟動計算的公式從列表頂部的任務。如果尚未計算引用的公式,Excel 公式的列表中向下跳轉,並計算從屬公式。然後 Excel 返回的引用的公式,並完成計算。

  完成列表中的公式後,Excel 將移動到下一個公式,並將繼續直到計算列表中的所有公式計算公式。

  與此新過程中的計算公式,Excel 將只能進行一次工作簿中計算公式時。

  一些其他計算更改要注意如下所示:

  ·現在不允許可重入的計算。您無法進行調用range.calculate方法中 Microsoft Visual Basic for Applications (VBA) 如果您已經在計算中。單元格 A1 中包含用戶定義函數時,可以在用戶定義的函數range.calculate。您會收到運行時錯誤。

  ·不能在用戶定義函數中執行Name.Add方法或Name.Delete方法。

  ·如果您正在使用SUMIF()函數或countif ()函數其中任一條件都超過 255 個字符,將引發

  #VALUE

  立即錯誤消息。

  ·如果您要復制整張工作表中的單元格包含超過 255 個字符,請立即髒計算的整個表。

  ·當您有多個選中的工作表時,您無法執行range.calculate 。這也將引發運行時錯誤。

  ·在某些情況下,Excel 可能會非常緩慢比較到 Excel 2000 及更早版本的尤其是通過使用Ctrl + Alt + F9或執行完全重新計算時第一次從早期版本的 Excel 在 Excel 2002 中或在 Excel 2003 中打開文件時,將執行完全重新計算時計算。

  Microsoft Office Excel 2007 和 Excel 2010

  Excel 2007 中的一組函數以執行公式計算。若要優化性能,函數集聚集到盡可能少的查詢盡可能。其他 Excel 功能均處於空閒狀態時,通常是在後台執行這些聚合的查詢。

  在聚合查詢中,將保留計算公式引用的單元格的一個龐大的列表。作為一個連續的列表中的函數包含工作簿中的所有函數都放在內存中。

  當您在工作簿中輸入一個新的公式時,然後第一次計算新的公式。當第一次計算新的公式時,Excel 2007 將生成一組屬於新公式中,函數和集中函數的每個函數會計算鏈中所在的正確位置。

  根據處理計算鏈時,計算每個單元格。如果在另一個函數沒有依賴項的單元格,該單元格立即接收其值。如果單元格在另一個函數上有依賴項,單元格收到的#GETTING_DATA...,占位符錯誤值,然後計算傳遞到鏈中的下一個單元格。

  有一次計算的所有單元格之後,Excel 2007 會觸發聚合的查詢或查詢中檢索數據所需的。正在等待數據的單元格時處理的聚合的查詢後,繼續顯示占位符錯誤值#GETTING_DATA....

  聚合的查詢或查詢的處理完成後,重新計算包含占位符的#GETTING_DATA...錯誤值的單元格,並且單元格收到的值。

copyright © 萬盛學電腦網 all rights reserved