Productive— faster every day
For your professionTeachersStudentsManagersMarketingDevelopersFreelancersParents

Tips & tricks · Apps · Browser · ~20 min a week · 2 min read

IMPORTRANGE: connect two Google Sheets live

Last reviewed:

Illustration for: IMPORTRANGE: connect two Google Sheets live
In this article
  1. How to do it
  2. A typical scenario
  3. What you get out of it
  4. Pro tip

A team tracks attendance in one spreadsheet, budget in another, and a leadership overview in a third — and every week, someone manually copies numbers from one to the next. Google Sheets has a function built for exactly this: IMPORTRANGE. Type a reference to another spreadsheet and the range you want from it into a cell, and the data pulls in on its own. And crucially, it stays live — when the source changes, your overview changes with it, without a single copy-paste.

How to do it

  1. Open the source spreadsheet and copy its address from the browser bar.
  2. In the destination spreadsheet, type a formula into a cell: =IMPORTRANGE("spreadsheet-address"; "Sheet1!A1:D20") — the first part is the pasted address in quotes, the second the sheet name and range you want to pull. (If the formula throws an error, try a comma instead of a semicolon — the separator depends on your spreadsheet's locale settings.)
  3. The first time you use it, a Allow access prompt appears next to the cell — confirming it lets the destination sheet read from the source. You do this once per pair of spreadsheets.
  4. The imported range spills out from the formula cell to the right and down; the data is read-only and updates continuously to match the source.

Two things to keep in mind: the link reads data, so whoever has access to the destination sheet sees the imported slice — don't point IMPORTRANGE at sensitive sources if you share the destination file broadly. And for very large ranges, import only what you actually need; a smaller range means faster loading and less risk of the link recalculating slowly.

A typical scenario

A marketing team tracks campaign results in a working spreadsheet full of notes and intermediate calculations. Leadership wants to see just a summary overview — and definitely shouldn't get access to the whole working kitchen. Instead of copying numbers weekly, the team sets up a “Leadership Overview” spreadsheet that pulls in just the summary block from the source via IMPORTRANGE. Leadership always has fresh numbers, the team shares only what it wants to share, and the weekly copy-paste ritual disappears.

What you get out of it

Data stops going stale in copies: a number exists in one place, and everywhere else it's just displayed. That saves time with every update, and more importantly, it kills the classic shared-spreadsheet failure — three files, three different versions of the truth. Once you get used to linking spreadsheets this way, you start building them differently: source data separate, presentation layers separate.

Pro tip

You can build more nuanced sharing around IMPORTRANGE: the function pulls source data even when the recipient doesn't have the source file open at all — access is approved by whoever sets up the link. And if you filter the result further downstream, do it through a filter view so you don't disrupt what your colleagues see.