IMPORTRANGE in Google Sheets: Pull Other Files
By Szabó Gergő · Updated
IMPORTRANGE copies a range from another spreadsheet. The first use asks for access. After that, QUERY and FILTER can treat the import like a local table.
Syntax and arguments
=IMPORTRANGE(spreadsheet_url, range_string)- spreadsheet_url
- The full URL or spreadsheet ID of the source file.
- range_string
- A string such as "Sheet1!A1:D200" including the tab name.
IMPORTRANGE examples
Source file URL is in G1.
=IMPORTRANGE(G1, "Sales!A1:F")After you click Allow access, the Sales tab streams into this file.
Only Paid rows from the other file.
=QUERY(IMPORTRANGE(G1,"Sales!A1:F"),"select Col1, Col4 where Col3 = 'Paid'",1)Imported columns are Col1, Col2, ... inside QUERY, not A, B.
You only need A:D, not the whole tab.
=IMPORTRANGE(G1, "Sales!A1:D200")Smaller ranges calculate faster and are easier to reason about.
Common mistakes
Forgetting to allow access
The cell shows #REF! until someone with rights clicks the prompt.
Using A, B in QUERY on an import
QUERY on IMPORTRANGE requires Col1, Col2, not letter names.
Importing entire sheets into many tabs
Import once onto a staging tab, then QUERY that local range.
IMPORTRANGE FAQ
Who must grant access?
A user who can open both files. After that, the import works for viewers of the destination file according to sharing.
Does IMPORTRANGE update live?
It refreshes periodically, not on every keystroke. Recalculate if a report looks stale.
Is there an Excel equivalent?
Not as a single formula. Excel uses Power Query, linked workbooks, or an upload into a tool such as Updevly chat.