How to Use IMPORTRANGE in Google Sheets

Pull a range of cells from one Google Sheets file into another with IMPORTRANGE, grant access on first use, and keep the imported data updating automatically.

Your team keeps a master list in one spreadsheet and you want part of it to appear in another file without copying and pasting. IMPORTRANGE links the two so the second file updates when the first changes.

Copy the source spreadsheet URL

Open the spreadsheet you want to import from and copy the URL from the address bar. The long string between /d/ and /edit is the spreadsheet ID, and either the full URL or just the ID works in the formula.

Type the formula in the destination sheet

Click the cell where the top-left corner of the imported data should land, then type:

=IMPORTRANGE("https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit", "Sheet1!A1:D100")
  • spreadsheet_url is the URL or ID of the source file, in double quotes.
  • range_string is the sheet name, an exclamation mark, and the range, in double quotes.

If the source tab has a space in its name, wrap the name in single quotes: "'Q3 Sales'!A1:D100".

Click Allow access

The first time a given source is linked to this destination, the cell shows #REF! and hovering over it shows a message that you need to connect the sheets. Click Allow access. The data fills in below and to the right of the formula cell. This step happens once per pair of files.

Leave room for the data

IMPORTRANGE spills into as many cells as the range covers. If any of those cells already has content, the formula shows a #REF! error saying the result was not expanded. Clear the cells or move the formula somewhere with space.

Confirm it updates

Change a value in the source spreadsheet and switch back to the destination. The imported cell refreshes on its own, usually within a minute, with no manual step.

About access and speed. The person whose account owns the formula must have at least view access to the source file, and the link breaks if that access is removed. Large ranges load slowly and can time out, so wrap the import in QUERY or FILTER to bring in only the rows you need, for example =QUERY(IMPORTRANGE("SPREADSHEET_ID", "Sheet1!A1:D1000"), "select Col1, Col3 where Col4 = 'Open'").

More Google Sheets how-tos