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.

How To Sheets
How To Sheets Team
·5 min read
Quick AnswerFact

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:

Excel Formula
=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:

Excel Formula
=IMPORTRANGE(B2, "Sheet1!A1:C50")

Key takeaways: centralize data with import; avoid manual duplication; layer with QUERY for focused results.

Excel Formula
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/EX_SOURCE/edit","Sheet1!A1:D100")
Excel Formula
=IMPORTRANGE(B2, "Sheet1!A1:C50")

Steps

Estimated time: 20-40 minutes

  1. 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. 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. 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. 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. 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. 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.
Pro Tip: Wrap importrange in IFERROR to gracefully handle access issues or bad URLs.
Warning: Initial permission prompts can delay dashboards; plan testing time accordingly, especially for new sources.
Note: Limit the imported range to only what you need to reduce load and improve performance.
Pro Tip: Use named ranges in the source workbook for easier range management.

Prerequisites

Required

  • Google account with access to Google Sheets
    Required
  • URL of the source spreadsheet you want to import from
    Required
  • Source spreadsheet shared with you (view or edit as needed)
    Required
  • Basic familiarity with Google Sheets formulas
    Required
  • Stable internet connection
    Required

Optional

  • Optional: a dedicated sheet for testing imports before production dashboards
    Optional

Keyboard Shortcuts

ActionShortcut
Copy formulaCopy the importrange formula from a cellCtrl+C
Paste formulaPaste into destination cellsCtrl+V
Edit formula in cellQuickly modify the importrange callF2
Auto-fill down/rightExtend the import to adjacent cellsCtrl+D / Ctrl+R
Apply and confirmCommit changes to multiple selected cellsCtrl+

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

Related Articles