How to use IMPORTRANGE in Google Sheets
Learn how to use IMPORTRANGE to pull live data between Google Sheets files, grant access permissions, and fix common import errors.

Quick answer
Use IMPORTRANGE by typing =IMPORTRANGE("source-spreadsheet-URL", "Sheet1!A1:C10") into a destination spreadsheet cell, then click Allow access when the permission prompt appears. This pulls a live range of cells from another Google Sheets file into your current spreadsheet, automatically updating the imported data whenever the source sheet changes.
Steps at a glance
- Copy the URL of the source spreadsheet you want to pull data from.
- Click the destination cell in the target spreadsheet.
- Type =IMPORTRANGE("URL", "Sheet1!A1:C10") and press Enter.
- Click Allow access in the permission dialog that appears.
- Verify the imported data appears and updates automatically.
- Adjust the range string to import different sheets or cells.
Summary
IMPORTRANGE connects two separate Google Sheets files so a range of cells from one spreadsheet appears live inside another, updating automatically as the source changes. It's the go-to function for combining data from multiple team spreadsheets without manual copy-pasting.
Step-by-step guide
Step 1
Open the source spreadsheet and copy its URL
Open the Google Sheets file that contains the data you want to import and copy the full URL from your browser's address bar. You only need the URL itself — IMPORTRANGE extracts the spreadsheet ID automatically, so there's no need to trim it down.
Step 2
Confirm you have access to the source file
IMPORTRANGE only works if your Google account has at least view access to the source spreadsheet. If you manage the source file yourself, check its sharing settings the same way you would when you /guides/google-sheets/share-edit-access with teammates, so the destination sheet doesn't get blocked later.
Step 3
Enter the IMPORTRANGE formula in the destination sheet
Click the cell in your destination spreadsheet where you want the imported data to start, then type =IMPORTRANGE("spreadsheet_url", "range_string"). For example: =IMPORTRANGE("https://docs.google.com/spreadsheets/d/abcd123abcd123", "Sheet1!A1:C10"). Press Enter to run the formula.
Step 4
Grant access when prompted
The first time you link two spreadsheets, the destination cell shows #REF! with a message reading 'You need to connect these sheets.' Click the cell, then click Allow access in the dialog box that appears — this only needs to happen once per spreadsheet pair.
Step 5
Verify the data pulled in correctly
After granting access, the formula recalculates and the imported range fills the destination cells. Check that row and column counts match what you expected; if a whole table looks shifted, double-check the sheet name and cell range inside the quotation marks.
Step 6
Combine or filter multiple imports if needed
To pull data from several source sheets into one place, use a separate IMPORTRANGE formula for each source and stack them in different rows, or wrap IMPORTRANGE inside QUERY or FILTER to pull only matching rows. This works well alongside a /guides/google-sheets/create-a-filter setup when you only want specific records visible.
Step 7
Keep the connection updating automatically
Once set up, IMPORTRANGE refreshes automatically whenever the source spreadsheet changes and the destination file is open or recalculates. If you add new source rows regularly, extend the range string (for example, A1:C1000) so future entries are captured without editing the formula again.
Why this matters
You need this when sales, inventory, or survey data lives in separate spreadsheets but you want one master file that stays current without copying and pasting every day. Setting up IMPORTRANGE once saves hours of manual updates and keeps every collaborator looking at the same live numbers.
Frequently asked questions
Does IMPORTRANGE update automatically when the source data changes?
Yes, as long as the destination spreadsheet is open or being recalculated. Google Sheets refreshes IMPORTRANGE formulas periodically, though very large imports may take a moment to reflect the latest changes.
Can I use IMPORTRANGE with a spreadsheet I don't own?
Yes, but the owner must share the source spreadsheet with your Google account first. You need at least view access, and you'll still need to click Allow access the first time you connect the two files.
Is there a limit to how much data IMPORTRANGE can pull?
IMPORTRANGE can handle large ranges, but performance slows with very large imports across many formulas. If you're combining data from several sheets, consider narrowing each range to only the rows and columns you actually need.
Can IMPORTRANGE pull from named ranges or tables instead of a cell range?
Yes. Instead of a cell reference like Sheet1!A1:C10, you can use a named range or a table reference as the range_string argument, and IMPORTRANGE will pull whatever cells that name or table covers.
Create interactive demos like this one — free, no coding required.
Start for free →