將資料參照最佳化以改善試算表的效能

在試算表中處理大型資料集時,你可以利用資料參照來改善效能。本文的建議做法可改善下列效能:

  • 運算速度
  • 穩定性
  • CPU 使用率

盡可能參照同一份試算表中的資料

請參照你所使用的同一份試算表中的資料,這比使用以下各種 Import 函式更快:

  • IMPORTRANGE
  • IMPORTDATA
  • IMPORTXML
  • IMPORTHTML

如果使用 IMPORTRANGE() 擷取其他試算表的資料,即使符合下列條件,Import 函式仍然需要透過網際網路在各試算表之間往返參照資料:

  • 你是試算表擁有者。
  • 在同一個瀏覽器中開啟試算表。
  • 試算表位於同一個雲端硬碟中。

無論是要求資料或擷取資料,系統都需往返操作。你可能還會遇到網路延遲和連線不穩的情況,造成載入速度變慢。

如果將其他試算表中的資料手動移到自己的試算表,然後參照位於自己試算表中的資料 (包括同一份試算表中的不同分頁),則資料擷取程序就會在本機進行,無需透過網際網路。這樣做雖然可以節省時間,但只適用於處理相對靜態而確定且不會隨時變動的資料 (例如庫存記錄或歷來資料)。

如要手動移動資料,請將其他試算表中現有的資料複製到你的試算表:

  1. 按一下底部工作表名稱旁邊的「向下箭頭」圖示 向下箭頭 接下來「複製到」接下來「現有試算表」。
  2. 選取要貼上這張工作表的試算表。

提示:如果在雲端硬碟檢視畫面中找不到目標試算表,請在底部網址列中貼上該試算表的網址。

使用封閉式範圍參照,不要使用開放式範圍參照

開放式範圍參照代表未指定特定列或欄做為範圍的起始和結束。例如:A:B 這個範圍代表包含了 A 欄和 B 欄在內的所有儲存格。

封閉式範圍參照則是有指定特定列或欄做為範圍的起始和結束。
例如:A1:B6A1:C100

開放式範圍:A:B

封閉式範圍:A1:B6

範例:假設你要計算 A 欄的總和,但 A 欄全部 10,000 列中只有前 10 列包含值。

  • 如果在 SUM 函式中使用開放式範圍參照 SUM(A:A),即使該開放式範圍參照中含有空白儲存格,電腦仍會讀取全部 10,000 列內容。Google 試算表會逐一檢查範圍中所有儲存格,確保沒有遺漏任何資料。
  • 如果使用封閉式參照 SUM(A1:A10),電腦就只會讀取 A1 到 A10 資料列,這樣 Google 試算表的運算速度會比較快。

有效率地參照易變函式

TODAY()RAND()RANDBETWEEN()NOW() 是易變函式,因為這些函式經常變動及更新以隨時反映最新資料。這些函式本質上並非靜態資料,舉例來說,TODAY() 會每天更新。

範例:B 欄的每一列在計算結果時都會讀取 A 欄中每一列的資料。這表示當 B 欄計算結果時,A 欄就會更新所有儲存格。

當你參照會傳回相同結果的易變函式時 (例如 NOW()TODAY()),請務必使用絕對參照,這樣就只需參照一次。在這個範例中,B 欄會依據 A2 儲存格的資料來計算結果。當你移除不必要的相依資料後,試算表的執行速度就會比較快。

盡量避免使用冗長的參照鏈

參照鏈會使試算表的執行速度變慢。例如,在以下範例中,A2 會讀取 A1 的資料;A3 會讀取 A2 的資料;依此類推。由於資料都鏈結在一起,為了計算 A10 的值,Google 試算表就必須等候前面所有的值 (A1 到 A9) 都計算完畢後,才能傳回 A10 的值。

如要避免環環相扣的計算方式,請在填入儲存格資料時使用絕對參照。在這個範例中,A2 會從 A1 讀取資料,A3 也會從 A1 讀取資料,依此類推。由於 A1 內含已完成計算的現有值,A2 到 A10 即可直接擷取 A1 的值。結果相同,但計算速度更快。

相關資源

true
造訪學習中心

您有在公司或學校使用 Google 文件等 Google 產品嗎?快來試試實用的秘訣、教學課程和範本,瞭解如何在不安裝 Office 的情況下處理 Office 檔案、建立動態專案計劃和小組日曆、自動整理收件匣及進行其他作業。

搜尋
清除搜尋內容
關閉搜尋
主選單
16044137102484064037
true
搜尋說明中心
true
true
true
true
true
35
false
false