共用方式為


如何清除 Excel 活頁簿,使其使用較少的記憶體

癥狀

升級至 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 活頁簿時發生記憶體不足以完成此動作的錯誤時,以下是詳細資訊。

原因

從 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. 在 [首頁] 功能區上,按兩下 [ 尋找並選取],然後按兩下 [ 選取窗格]。
  2. 按一下這張工作表上的圖形。 圖形會顯示在清單中。
  3. 拿掉任何不需要的圖形。 (眼睛圖示指出圖形是否可見。)
  4. 針對每個工作表重複步驟 1 到 3。

如果您在移除圖形後仍然持續遇到問題,可以考慮一些不涉及格式的因素。

方法 4:移除條件式格式設定

條件式格式設定可能會導致檔案成長。 當檔案中的條件式格式設定損毀時,就會發生這種情況。 您可以移除條件式格式設定,來測試問題是否因格式設定損壞。 若要移除條件式格式設定,請遵循下列步驟:

  1. 儲存檔案的備份。
  2. 在 [首頁] 功能區上,按兩下 [ 條件式格式設定]。
  3. 清除整個工作表中的規則。
  4. 請針對活頁簿中的每個工作表遵循步驟 2 和 3。
  5. 使用不同的名稱儲存活頁簿。
  6. 查看問題是否已解決。

如果移除條件式格式設定可解決此問題,您可以開啟原始活頁簿、移除條件式格式設定,然後重新套用。

問題仍然存在?

如果這些方法都無法運作,您可以考慮移至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。

Excel 的強大之處在於能夠引入來自其他試算表的即時數據。 清查檔案及其所連結的外部檔案。 雖然您可能會遇到數個問題,但 Excel 對可以連結的 Excel 活頁簿數目沒有限制。 測試沒有連結的檔案,以判斷問題是否在此檔案或其中一個鏈接的檔案中。

繼續

這些是導致 Excel 中掛斷和當機的最常見問題。 如果您仍然在 Excel 中遇到崩潰或卡住的問題,應該考慮向 Microsoft 提出支援請求。

詳細資訊

如果這些方法都沒有任何差異,您應該考慮移至 64 位版本的 Excel,或將您的問題活頁簿分成不同的活頁簿。

如何在 Excel 中針對「可用資源」錯誤進行疑難解答

Excel:如何針對 Excel 活頁簿中的當機和「未回應」問題進行疑難解答