癥狀
升級至 Office 2013/2016/Microsoft 365 之後,您會遇到下列一或多個徵兆:
當您開啟多個 Microsoft Excel 2013 活頁簿、儲存 Excel 活頁簿,或在 Excel 活頁簿中計算時,計算機會使用更多的記憶體。
升級至 Excel 2013/2016 後,您無法再像升級前一樣,在同一個實例中開啟那麼多的 Excel 活頁簿。
當您在 Excel 活頁簿中插入欄時,您會收到記憶體不足的錯誤。
當您使用 Excel 電子表格時,會收到下列錯誤訊息:
There isn't enough memory to complete this action. Try using less data or closing other applications. To increase memory availability, consider: - Using a 64-bit version of Microsoft Excel. - Adding memory to your device.
原因
從 Excel 2013 開始,由於改進功能,所需的系統資源比舊版更多。 本文會識別使用大量記憶體的 Excel 活頁簿區域,並說明如何讓您的活頁簿檔案更有效率地運作。
如需我們在 Excel 2013 中所做的變更詳細資訊,請參閱 32 位版本的 Excel 2013 中的記憶體使用量。
解決辦法
若要解決此問題,請使用下列方法,依呈現它們的順序。 如果其中一個方法沒有説明,請移至下一個方法。
備註
許多 Excel 活頁簿有幾個問題可能會引發麻煩。 在您排除這些問題之後,您的活頁簿將會更順暢地運行。
格式考慮
格式化可能會導致 Excel 活頁簿變大,無法正常運作。 Excel 經常因為格式問題而停止回應或當機。
方法 1:消除過度格式化
Excel 活頁簿中的格式過多可能會導致檔案成長,而且可能會導致效能不佳。 如果您將整個欄位或列以色彩或框線格式化,那麼這樣的格式設定會被視為過度。 當格式化需要從網頁或資料庫複製或匯入數據時,也會發生此問題。 若要消除多餘的格式設定,請使用在 工作表上清除多餘的儲存格格式中可用的格式清理附加元件。
如果您在消除多餘的格式設定之後繼續遇到問題,請移至 方法 2。
方法 2:移除未使用的樣式
您可以使用樣式來標準化您在活頁簿中使用的格式。 當儲存格從一個活頁簿複製到另一個活頁簿時,也會複製其樣式。 這些樣式會繼續讓檔案成長,而且在您儲存回舊版檔案時,最終可能會在 Excel 中造成「太多不同的單元格格式」錯誤訊息。
有許多公用程式可用來移除未使用的樣式。 只要您使用 XML 型 Excel 活頁簿(也就是 .xlsx 檔案或 xlsm 檔案),您就可以使用樣式更簡潔的工具。 您可以 在這裡找到此工具。
如果您在移除任何未使用的樣式之後繼續遇到問題,請移至方法 3。
方法 3:移除圖形
在電子表格中新增許多圖形也需要大量的記憶體。 圖形會定義為位於 Excel 方格上的任何物件。 一些範例如下所示:
- 圖表
- 繪製形狀
- 評論
- 剪貼畫
- SmartArt
- 圖片
- 文字藝術師
這些物件經常會從網頁或其他工作表複製,而且會隱藏或重疊在一起。 用戶經常不會察覺到他們存在。
若要檢查圖形,請遵循下列步驟:
- 在 [首頁] 功能區上,按兩下 [ 尋找並選取],然後按兩下 [ 選取窗格]。
- 按一下這張工作表上的圖形。 圖形會顯示在清單中。
- 拿掉任何不需要的圖形。 (眼睛圖示指出圖形是否可見。)
- 針對每個工作表重複步驟 1 到 3。
如果您在移除圖形後仍然持續遇到問題,可以考慮一些不涉及格式的因素。
方法 4:移除條件式格式設定
條件式格式設定可能會導致檔案成長。 當檔案中的條件式格式設定損毀時,就會發生這種情況。 您可以移除條件式格式設定,來測試問題是否因格式設定損壞。 若要移除條件式格式設定,請遵循下列步驟:
- 儲存檔案的備份。
- 在 [首頁] 功能區上,按兩下 [ 條件式格式設定]。
- 清除整個工作表中的規則。
- 請針對活頁簿中的每個工作表遵循步驟 2 和 3。
- 使用不同的名稱儲存活頁簿。
- 查看問題是否已解決。
如果移除條件式格式設定可解決此問題,您可以開啟原始活頁簿、移除條件式格式設定,然後重新套用。
問題仍然存在?
如果這些方法都無法運作,您可以考慮移至64位版本的Excel、將您的問題活頁簿分成不同的活頁簿,或連絡支持人員以取得其他疑難解答。
計算時的考量
除了格式化之外,計算也會在 Excel 中導致當機和不回應。
方法 1:在最新版本的 Excel 中開啟活頁簿
如果活頁簿包含大量計算,在新版本的 Excel 中第一次開啟 Excel 活頁簿可能需要很長的時間。 若要第一次開啟活頁簿,Excel 必須重新計算活頁簿,並確認活頁簿中的值。 如需詳細資訊,請參閱 活頁簿第一次在 Excel 中開啟時載入速度緩慢。
如果 Excel 完全重新計算整個檔案並儲存檔案後,檔案仍然開啟緩慢,請移至方法 2。
方法 2:公式
查看您的活頁簿,並檢查您使用的公式種類。 有些公式需要大量的記憶體。 這些公式包括下列陣列公式:
- 查找
- 間接
- 抵銷
- 索引
- 比賽
使用它們很好。 不過,請注意您參考的範圍。
參考整個數據行的公式可能會導致 .xlsx 檔案的效能不佳。 網格線大小從 65,536 個數據列增加到 1,048,576 個數據列,從 256 個 (IV) 數據行增加到 16,384 個 (XFD) 數據行。 建立公式的流行方式,雖然不是最佳做法,是參考整欄。 如果您只參考舊版中的一個數據行,則只包含65,536個儲存格。 在新版本中,您參考的欄位超過100萬個。
假設您有下列 VLOOKUP:
=VLOOKUP(A1,$D:$M,2,FALSE)
在 Excel 2003 和舊版中,此 VLOOKUP 參考了僅包含 655,560 個單元格的整個數據列(10 個數據行 x 65,536 個數據列)。 不過,有了新的較大方格,相同的公式會參考近 1050 萬個儲存格(10 個欄 x 1,048,576 個列 = 10,485,760 個)。
這是在 Office 2016/365 1708 16.0.8431.2079 和更新版本中修正的。 如需如何更新 Office 的資訊,請參閱 安裝 Office 更新。
針對舊版 Office,您可能需要重新建構公式,只參考公式所需的單元格。
備註
請檢查您定義的名稱,以確保沒有其他公式引用整個欄或列。
備註
如果您使用整個數據列,也會發生此案例。
如果您在將公式改為僅參照使用中的單元格後仍然遇到問題,請接著嘗試方法 3。
方法 3:跨活頁簿計算
限制在活頁簿間執行計算的公式。 這很重要,原因有兩個:
- 您正嘗試透過網路開啟檔案。
- Excel 正嘗試計算大量數據。
不要跨網路執行計算,而是在一個活頁簿中包含公式,然後從一個活頁簿建立簡單的連結到另一個活頁簿。
如果您將公式變更為僅參照單元格而不是跨活頁簿計算後,問題仍然存在,請移至方法 4。
方法 4:揮發性函式
限制活頁簿中揮發函式的使用。 您不必有數百個使用 TODAY 或 NOW 函數的儲存格。 如果您需要在電子表格中使用目前的日期和時間,只需使用函數一次,然後透過連結的已定義名稱來引用函數。
如果您在限制揮發性公式之後繼續遇到問題,請繼續進行方法 5。
方法 5:陣列公式
陣列公式功能強大。 但必須正確使用它們。 請務必不要將超過所需的儲存格新增至陣列。 當陣列中的儲存格有需要計算的公式時,就會針對該公式中參考的所有儲存格進行計算。
如需了解陣列的運作方式,請參閱 Excel 2010效能:優化效能瓶頸的秘訣。
如果您在更新陣列公式之後繼續遇到問題,請嘗試方法 6。
方法 6:已定義的名稱
定義的名稱可用來參考活頁簿中的儲存格和公式,以將「易記名稱」新增至公式。 您應該檢查連結至其他活頁簿或暫存因特網檔案的任何已定義名稱。 一般而言,這些連結是不必要的,而且會減緩Excel活頁簿的開啟速度。
您可以使用 [名稱管理員] 工具來 檢視 Excel 介面中看不到的隱藏定義名稱。 此工具可讓您檢視和刪除您不需要的已定義名稱。
如果 Excel 在您移除任何不必要的定義名稱之後繼續當機並停止回應,請繼續移至 方法 7。
方法 7:連結和超連結
Excel 的強大之處在於能夠引入來自其他試算表的即時數據。 清查檔案及其所連結的外部檔案。 雖然您可能會遇到數個問題,但 Excel 對可以連結的 Excel 活頁簿數目沒有限制。 測試沒有連結的檔案,以判斷問題是否在此檔案或其中一個鏈接的檔案中。
繼續
這些是導致 Excel 中掛斷和當機的最常見問題。 如果您仍然在 Excel 中遇到崩潰或卡住的問題,應該考慮向 Microsoft 提出支援請求。
詳細資訊
如果這些方法都沒有任何差異,您應該考慮移至 64 位版本的 Excel,或將您的問題活頁簿分成不同的活頁簿。