Skip to content
Data and Excel

Google Sheets for teams: sharing, QUERY, IMPORTRANGE and protections

Set up shared Google Sheets that stay reliable: sensible sharing, QUERY summaries, IMPORTRANGE between files, and protected ranges, with the limits Google warns about.

maximum data received per IMPORTRANGE request
10 MB
standard sharing roles below owner: viewer, commenter, editor
3

Google Sheets is where many small teams keep the numbers that run the business: the sales pipeline, the content calendar, stock levels, the weekly KPIs. Its strength is that everyone can work in the same file at once. Its weakness is the same thing. Without some structure, a shared sheet fills up with broken formulas, overwritten totals and copies of copies.

This guide covers four features that turn a shared sheet into a dependable team tool: sharing settings, the QUERY function, IMPORTRANGE for pulling data between files, and protected ranges. It relies on Google’s own help pages for the details.

Share with the least access people need

Google’s help page on sharing files sets out the roles. A viewer can view and, unless the owner turns it off, download. A commenter can also comment. An editor can change content and, by default, share the file and change permissions. The owner has full control.

For a team sheet, three settings matter most:

  • General access. “Restricted” means only people you have added can open the file. “Anyone with the link” means exactly that, with no sign-in needed. Use Restricted for anything with customer, staff or financial data.
  • Editor permissions. In the share settings, the owner can stop editors from changing permissions and sharing. Turn this on for sheets that hold sensitive data, so access stays under one person’s control.
  • Download, print and copy. The owner can stop viewers and commenters from downloading, printing or copying.

Folder sharing carries over to the files inside, and you cannot give someone less access to a file than they have to its folder. If a file needs tighter access than its folder, Google suggests putting it in a subfolder with restricted sharing. Give most people view or comment access, and keep editors to those who need to change the data.

QUERY: SQL-style summaries inside a sheet

The QUERY function runs a query written in the Google Visualization API Query Language over a range. If you know a little SQL, it will feel familiar.

=QUERY(data, query, [headers])

The query text uses clauses such as select, where, group by, pivot and order by, and refers to columns by letter (A, B, C) or by position (Col1, Col2). The optional headers argument says how many header rows the data has; if you leave it out, Sheets guesses.

A few examples on a sheet of orders with Date in A, Region in B, Rep in C and Value in D:

  • =QUERY(A1:D, "select B, sum(D) where D > 0 group by B order by sum(D) desc", 1) totals sales by region, largest first.
  • =QUERY(A1:D, "select A, C, D where B = 'North'", 1) lists North orders.

One rule causes most surprises. Google says each column should hold one data type. If a column mixes numbers and text, the majority type wins and the minority values are treated as null, so they vanish from results without any error. Clean mixed columns before you query them.

IMPORTRANGE: one source, many views

IMPORTRANGE pulls a range from one spreadsheet into another:

=IMPORTRANGE("spreadsheet_url", "Sheet1!A1:D500")

The first time you connect two files, you see a #REF! error and must click Allow access. If you do not own the source, you need to request access. Google notes some details teams should know:

  • Once access is granted, any editor of the destination file can pull from any part of the source, not just the range you chose. Treat granting access as sharing the whole source file.
  • Access ends if the person who granted it is removed from the source.
  • If the source has downloading, printing and copying turned off, new IMPORTRANGE formulas cannot export data from it.
  • Each request is limited to 10 MB of received data, so summarise in the source where you can.
  • Long chains of files importing from each other update with delays and can loop, so keep chains short.

A common pattern combines the two functions: =QUERY(IMPORTRANGE(url, "Orders!A1:D"), "select Col2, sum(Col4) group by Col2", 1). Note that imported data is referred to by Col number, not by letter.

Protect what people should not change

Google’s help page on protecting ranges and sheets explains the options under Data, Protect sheets and ranges. You can protect a range or a whole sheet and then choose who can edit it: only you, people in your domain on work accounts, a custom list, or anyone with a warning. The warning option does not block changes; it asks people to confirm.

Use protection for formulas, lookup tables and summary tabs, and leave input areas open. Google is explicit about one limit: protection “shouldn’t be used as a security measure”. People with access can still print, copy, paste, import or export a copy of protected content, and viewers can make their own copy of the file. Protection prevents accidents. It does not keep data secret. For that, control who has access in the first place.

A worked example (illustration only)

A five-person agency tracks client work in one master sheet. Account managers enter hours; the founder wants a margin dashboard that only she can edit.

  1. The master sheet is shared as Restricted. Account managers are editors, and editors are blocked from changing permissions.
  2. The Rates tab and every formula column are protected so only the founder can edit them. The Hours tab stays open.
  3. A separate dashboard file, shared with the founder only, uses IMPORTRANGE to bring in the Hours tab and QUERY to total hours and revenue by client.
  4. Each Friday, the founder checks that the dashboard total matches a simple SUM on the master sheet.

The account managers can work freely, the formulas stay intact, and the margin view sits in its own file. The founder also knows that because she granted IMPORTRANGE access, anyone who becomes an editor of the dashboard could read the whole master sheet, so she keeps the dashboard to herself.

Common mistakes and when to move beyond Sheets

  • Sharing sensitive sheets with “Anyone with the link”.
  • Treating protected ranges as a security control.
  • Querying columns that mix numbers and text, then wondering why rows are missing.
  • Building long chains of IMPORTRANGE between files.
  • Letting editors reshare a file nobody is responsible for.

Google Sheets suits teams that need shared, lightweight tracking and reporting. When data grows large, when several systems must feed the same numbers, or when access needs proper audit and row-level control, it is time to move the source data into a database or a dedicated tool and keep Sheets for analysis and views.

Framework

Setting up a team sheet

  1. RestrictSet general access to Restricted for any sensitive data.
  2. AssignGive view or comment access by default and edit access only where needed.
  3. LockStop editors resharing and protect formulas and reference tabs.
  4. SeparateKeep dashboards in their own files and pull data with IMPORTRANGE.
  5. SummariseUse QUERY for totals and filtered views.
  6. ReconcileCheck dashboard totals against the source regularly.

Checklist

Put it to work

0 of 7

Quick quiz

Check what stuck

  1. What happens to minority data types in a mixed column used by QUERY?

  2. After IMPORTRANGE access is granted, what can editors of the destination file do?

  3. What does Google say about protected ranges?

Recap cards

Tap a card to check yourself.

Sources and credits

Sarang

Business analyst and co-founder with e-commerce, marketing and operations experience since 2021. I co-founded three e-commerce businesses, including Earra, and I design and build products and websites end to end.

Read my story

Cookie settings

Choose which optional cookies this site may use. Essential ones stay on because the site cannot work without them.

Under UK GDPR you can ask what personal data is held about you, and have it corrected or deleted. Make a privacy request