在處理 Google 試算表時,有時我們的資料可能分散在很多的試算表中,而這時如果需要從另一份試算表中擷取資料並做統整,可以使用 IMPORTRANGE 這個函式,這樣就能在不用去複製原本的資料到新的資料表,甚至可以即時更新資料,是一個值得去認識的方便工具。

一、IMPORTRANGE 是什麼?

IMPORTRANGE 是 Google Sheets 內建的函式,用來從其他 Google 試算表匯入資料。它可以跨檔案抓取整張工作表,或指定範圍的資料,並且在來源檔案更新時,自動同步。

 

二、函式語法

IMPORTRANGE(spreadsheet_url, range_string)

參數說明:

  1. spreadsheet_url

    • 來源試算表的完整網址(需用引號包起來)。

    • 也可以是該試算表的 ID(網址中 /d//edit 之間的那一串字)。

  2. range_string

    • 要匯入的資料範圍(同樣需用引號包起來)。

    • 格式為 "工作表名稱!範圍",例如 "Sheet1!A1:C10"

 

三、基本範例

1. 匯入整張工作表

=IMPORTRANGE("目標 google sheets 網址", "Sheet1!A:Z")

2. 匯入特定範圍

=IMPORTRANGE("1abc123xyz456", "工作表1!A1:D20")

只匯入來源表格中 A1D20 的資料。

成功的話就會像這樣,你可以一次匯入很多個試算表,每個都可以跟原始資料做同步。

 

四、首次使用時的「允許存取」

第一次在新的試算表中使用 IMPORTRANGE 抓取某份來源檔案時,會出現「#REF!」錯誤*,並附上「允許存取」按鈕。
只要按下「允許存取」,兩份檔案就會建立連結,以後就會自動更新。

 

五、IMPORTRANGE 搭配其他函式的進階應用

1. 搭配 QUERY 篩選資料

=QUERY(IMPORTRANGE("1abc123xyz456", "資料表!A1:F100"), "select Col1, Col3 where Col2='台北'", 1)

2. 搭配 FILTER 條件篩選

=FILTER(IMPORTRANGE("1abc123xyz456", "資料!A2:C"), IMPORTRANGE("1abc123xyz456", "資料!B2:B")="完成")

只顯示狀態為「完成」的列。

 

六、使用注意事項

  1. 權限問題:來源試算表必須對使用者有可檢視的權限。

  2. 效能影響:過多的 IMPORTRANGE 會拖慢表格運算速度。

  3. 動態更新:來源資料更新後,匯入的資料會在短時間內同步(通常 30 秒內)。

  4. 範圍固定:指定的範圍不會自動擴展,若來源資料變多,需手動調整範圍或使用整欄/整列引用。

 

七、結論

IMPORTRANGE 是 Google Sheets 中跨表格整合資料的的一個很方便的工具,利用它來做報表整合、跨團隊資料匯總,或是建立儀表板,都能大幅提升效率。
如果再搭配 QUERYFILTER 等函式,更能進一步實現自動化篩選與分析,讓資料管理更簡單,是一個絕對值得認識的好工具。