Importrange in Google Sheets: Step-by-Step Guide
Learn importrange in Google Sheets with clear syntax, practical examples, error handling, and best practices for safely importing data across spreadsheets. Ideal for students, professionals, and small business owners.
IMPORTRANGE is a Google Sheets function that pulls data from another spreadsheet using its URL and a range string. The syntax is =IMPORTRANGE("spreadsheet_url","range"). After you grant access, the function returns the requested data. This quick answer introduces the basics and how to get started.
What importrange does and when to use it
Importrange in Google Sheets is a powerful function that lets you import data from a separate spreadsheet into your current sheet. This is ideal for dashboards and reports where a single source of truth is preferred over duplicating data across files. The function maintains a live link, so changes in the source sheet propagate to the destination, helping teams stay aligned. A common pattern is to combine importrange with QUERY or FILTER to extract exactly what you need for analysis. The fundamental syntax is simple: =IMPORTRANGE("spreadsheet_url","range"). The URL identifies the source workbook, and the range selects the sheet and cells to import. For example:
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/EX_SOURCE/edit","Sheet1!A1:D100")You can also reference the URL from a cell to keep the formula dynamic:
=IMPORTRANGE(B2, "Sheet1!A1:C50")Key takeaways: centralize data with import; avoid manual duplication; layer with QUERY for focused results.
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/EX_SOURCE/edit","Sheet1!A1:D100")=IMPORTRANGE(B2, "Sheet1!A1:C50")Steps
Estimated time: 20-40 minutes
- 1
Identify source and destination
Decide which source workbook will feed your data and where it will appear in the destination sheet. This helps you plan range strings and permissions. Make a note of the exact range you need.
Tip: Start with a small range to test the link before expanding. - 2
Copy the source URL
Open the source spreadsheet, copy its URL, and keep it handy. If you store the URL in a cell, you can create dynamic imports using a cell reference.
Tip: Avoid sharing the URL in public docs to protect data. - 3
Enter the importrange formula
In your destination sheet, enter =IMPORTRANGE("source_url","SheetName!A1:D100"). Replace with a cell reference if you want to be dynamic.
Tip: Try a small example first (A1:D10) to verify access. - 4
Grant access when prompted
The first time you reference a new source, Google Sheets will ask you to grant access. Click Allow to establish the live link.
Tip: If you don’t see the prompt, double-check the URL and share settings. - 5
Validate data import
Check the destination area for expected values. If data is missing, ensure proper range syntax and that the source is accessible.
Tip: Use =ISBLANK(C2) or a simple test to confirm data presence. - 6
Combine with QUERY for analysis
Use QUERY to filter or reshape the imported data for dashboards. This keeps your sheet lean and focused on insights.
Tip: Remember, QUERY uses Col1, Col2 syntax when applied to imported data.
Prerequisites
Required
- Google account with access to Google SheetsRequired
- URL of the source spreadsheet you want to import fromRequired
- Source spreadsheet shared with you (view or edit as needed)Required
- Basic familiarity with Google Sheets formulasRequired
- Stable internet connectionRequired
Optional
- Optional: a dedicated sheet for testing imports before production dashboardsOptional
Keyboard Shortcuts
| Action | Shortcut |
|---|---|
| Copy formulaCopy the importrange formula from a cell | Ctrl+C |
| Paste formulaPaste into destination cells | Ctrl+V |
| Edit formula in cellQuickly modify the importrange call | F2 |
| Auto-fill down/rightExtend the import to adjacent cells | Ctrl+D / Ctrl+R |
| Apply and confirmCommit changes to multiple selected cells | Ctrl+↵ |
FAQ
What is importrange in Google Sheets?
Importrange lets you pull data from a different Google Sheets file by specifying the source URL and a range. It creates a live connection so updates in the source reflect in the destination once access is granted.
Importrange pulls data from another sheet using a URL and range, and updates automatically after access is granted.
How do I grant access to the source spreadsheet?
The first time you reference a new source, Google Sheets prompts you to allow access. Click Allow to establish the link. If you don’t see the prompt, verify the URL and sharing permissions.
You grant access the first time you open a new source; if you don’t see it, check the URL and sharing settings.
Why do I see #REF! after using importrange?
A #REF! typically means access hasn’t been granted or the range URL is invalid. Ensure the source is shared with you and the range syntax is correct.
A #REF! usually means access isn’t granted yet or the range is invalid; check sharing and syntax.
Can importrange pull multiple ranges or sheets?
Importrange imports data from a single range per formula. To aggregate multiple sources, use separate importrange calls and combine results with ARRAYFORMULA, QUERY, or FILTER.
You import one range per formula, but you can combine several imports with other functions.
Is importrange faster than copying data manually?
Importrange avoids manual duplication and keeps data live, but performance depends on the size of the source range and network latency. For large datasets, consider selective ranges.
It’s live and avoids copying, but performance depends on range size and network speed.
What are common alternatives to importrange?
Alternatives include using the Sheets API with Apps Script, exporting and importing CSVs, or using Google Data Studio/Looker with live connections for dashboards.
You can use the Sheets API or Apps Script for more control, or dashboards with live connections.
Can I use importrange with named ranges in the source file?
Yes. You can reference a named range by name (e.g., Sheet1!MyRange) in the range parameter. This is handy for stable imports across edits.
Yes, you can import named ranges just like regular ranges.
The Essentials
- Understand importrange syntax and required permissions
- Test with small ranges before expanding to dashboards
- Combine importrange with QUERY for targeted insights
- Handle errors with IFERROR and proper sharing settings
