---
title: "IMPORTRANGE in Google Sheets: formula, examples and errors"
canonical: "https://www.owox.com/blog/articles/importrange-google-sheets"
updated: "2026-10-11"
---

# IMPORTRANGE in Google Sheets: formula, multiple ranges, examples and errors

IMPORTRANGE brings a range of cells from another Google Sheets file into the current one and keeps it linked. This guide covers the formula, the access permission, importing several ranges at once, IMPORTRANGE with QUERY, VLOOKUP and SUM, how often the data refreshes, the limits Google documents and the errors you will meet.

[Google Sheets Tips](/blog/topics/google-sheets-tips) · Updated October 2, 2026 · [Vadym Kramarenko](/team/vadym-kramarenko) · 12 min read

![IMPORTRANGE in Google Sheets: formula, multiple ranges, examples and errors](https://cdn.owox.ai/www/webflow/69f0a243346c64015e9f6377_GUIDE-TO-USING-IMPORTRANGE-IN-GOOGLE-SHEETS.png/public)

IMPORTRANGE brings a range of cells from another Google Sheets file into the current one and keeps the two linked:

> `=IMPORTRANGE("spreadsheet_url", "Sheet1!A1:C10")`

The first argument is the address of the source spreadsheet, the second the tab and range to import, both in quotes. The first time a file reads from a new source, the cell shows #REF! until you click it and choose **Allow access**.

| You need | Formula |
| --- | --- |
| A range from another file | `=IMPORTRANGE("url", "Sales2024!B2:D14")` |
| Several ranges stacked under each other | `={IMPORTRANGE("url", "Finance2024!B2:D14"); IMPORTRANGE("url", "Sales2024!B2:D14")}` |
| Only some rows or columns | `=QUERY(IMPORTRANGE("url", "Data!B2:G22"), "select Col1, Col2 where Col6 > 10000")` |
| A lookup in another file | `=VLOOKUP(B3, IMPORTRANGE("url", "Data!B2:G22"), 2, FALSE)` |
| A total from another file | `=SUM(IMPORTRANGE("url", "DeptA Expenses!C3:C22"))` |

The examples below use a public [source spreadsheet](https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit) with sample data, so you can paste the formulas into a sheet of your own and see them work.

## IMPORTRANGE syntax

> `=IMPORTRANGE(spreadsheet_url, range_string)`

*   **spreadsheet\_url:** the URL of the source spreadsheet, in quotes, or a reference to a cell that contains it.
*   **range\_string:** the range to import, in quotes, written as “sheet\_name!range”, for example “Sales\_Data!A1:C10”. The tab name is optional; without it the range is taken from the first tab. A named range or a table reference works here too.

Inside range\_string everything is plain text, so dollar signs are not needed and the reference does not shift when the formula is copied.

## Import a range step by step

1\. Open the source spreadsheet and copy its URL from the address bar.

2\. In the destination file, select the cell where the data should start and enter the formula. The imported range fills the cells below and to the right of it:

> `=IMPORTRANGE("https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit", "ClassData!B2:G22")`

![Google Sheets with the formula =IMPORTRANGE with the source spreadsheet URL and the range ClassData!B2:G22 entered in a cell of the destination file](https://cdn.owox.ai/www/webflow/67897e324add1c786b83875f_53872.png/public)

3\. The cell shows #REF!. Click it and choose **Allow access**.

![Google Sheets cell with #REF! and the message You need to connect these sheets, with an Allow access button](https://cdn.owox.ai/www/webflow/67897e311ea65cc302d1cd6b_53874.png/public)

The data appears, starting in the cell with the formula. The area below and to the right of it has to be empty.

Permission is asked once for each pair of files. After that, any editor of the destination file can import any range of the source, not only the one in your formula. Keep that in mind before you connect a file that holds data some editors should not see.

## The Turning Point

OWOX Data Marts

See your first report built in real time. _15 minutes._

1.  Connect your data warehouse
2.  Pick your metrics
3.  Get a live Google Sheets report

In the time it takes to write a ticket. Then imagine never writing that ticket again.

[Book a Demo](/book-a-call)

We'll use your actual use case

## Examples of IMPORTRANGE

### One tab of another file

The source file has a tab for finance and a tab for sales:

> `=IMPORTRANGE("https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit", "Finance2024!B2:D14")`

![Google Sheets with the formula =IMPORTRANGE for the range Finance2024!B2:D14 returning the imported finance table](https://cdn.owox.ai/www/webflow/6786dfbede459d0f8b9311ac_61459.png/public)

> `=IMPORTRANGE("https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit", "Sales2024!C2:D14")`

![Google Sheets with the formula =IMPORTRANGE for the range Sales2024!C2:D14 returning the imported sales columns](https://cdn.owox.ai/www/webflow/67897e3172cfc2bc287b5182_53882.png/public)

Each formula imports one range. Put them in different places of the destination file, or on different tabs.

### Part of a table

The range decides what is imported, so narrow it to the columns and rows you need. To take only the first two columns of the annual sales tab:

> `=IMPORTRANGE("https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit", "AnnualSales!B2:C16")`

![Google Sheets with the formula =IMPORTRANGE for the range AnnualSales!B2:C16 returning two columns of the annual sales table](https://cdn.owox.ai/www/webflow/67897e306abfd60d76cf4b45_53886.png/public)

### Several ranges in one formula

One IMPORTRANGE imports one range. To combine several, put the functions into curly braces. A semicolon stacks the results under each other:

```
={IMPORTRANGE("https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit", "Finance2024!B2:D14");
  IMPORTRANGE("https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit", "Sales2024!B2:D14")}
```

Both ranges start at their header row, so the header appears a second time in the middle of the result. Start the second range one row lower, at B3, to avoid that: in our test the two ranges then stacked into 25 rows, one header and twice twelve months.

![Google Sheets with two IMPORTRANGE functions in curly braces separated by a semicolon, returning the finance rows followed by the sales rows in one table](https://cdn.owox.ai/www/webflow/67897e3156f1730c6f178f73_53896.png/public)

A comma puts them side by side. (In spreadsheets set to a locale with a decimal comma, the separators inside curly braces differ.)

```
={IMPORTRANGE("https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit", "Finance2024!B2:D14"),
  IMPORTRANGE("https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit", "Sales2024!B2:D14")}
```

![Google Sheets with two IMPORTRANGE functions in curly braces separated by a comma, returning the finance columns next to the sales columns](https://cdn.owox.ai/www/webflow/67897e31736b3c095a517819_53898.png/public)

Ranges stacked with a semicolon need the same number of columns, and ranges joined with a comma need the same number of rows. Otherwise the formula returns an error. The same works for ranges from different files: use a different URL in each function, and allow access for each source.

### Keep two files in sync

An imported range is a live link. When the source changes, the destination follows:

> `=IMPORTRANGE("https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit", "InventoryList!B2:F50")`

![Google Sheets with the formula =IMPORTRANGE for the range InventoryList!B2:F50 returning the inventory list from the source file](https://cdn.owox.ai/www/webflow/67897e3191fc2b99e4ead61a_53902.png/public)

The range B2:F50 is larger than the list on purpose. When new products are added to the source, they appear in the destination without a change to the formula.

![Google Sheets with the imported inventory list showing new products after rows were added in the source file](https://cdn.owox.ai/www/webflow/67897e3191fc2b99e4ead61f_53904.png/public)

## How often IMPORTRANGE refreshes

According to [Google’s documentation](https://support.google.com/docs/answer/3093340) (checked in October 2026):

*   A change in the source makes every open destination file refresh. There is a delay between the change and the update.
*   While the destination file is open, IMPORTRANGE also checks for updates every hour. Google’s [calculation settings page](https://support.google.com/docs/answer/58515) gives 30 minutes for the same function; plan on up to an hour.
*   Chains slow things down. If file B imports from file A and file C imports from file B, a change in A has to travel through both links.

A change usually reaches one open destination file after a short delay, and takes noticeably longer through a chain.

## IMPORTRANGE with other functions

### QUERY: filter and reorder imported data

[QUERY](/blog/articles/query-function-google-sheets) can take the imported range as its data. Because the data does not come from the sheet, columns are called Col1, Col2 and so on, counted from the first column of the imported range. To return ID, name and actual sales for employees who sold more than 10,000:

> `=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit", "SalesEmployeeData!B2:G22"), "SELECT Col1, Col2, Col6 WHERE Col6 > 10000")`

![Google Sheets with a QUERY around IMPORTRANGE selecting Col1, Col2 and Col6 where Col6 is greater than 10000, returning employees with actual sales above 10000](https://cdn.owox.ai/www/webflow/67897e32ac8fe3ae1707ab08_53890.png/public)

The select clause also sets the column order. This formula returns the region first, then the ID and the name:

> `=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit", "SalesEmployeeData!B2:G22"), "select Col4, Col1, Col2")`

![Google Sheets with the source employee table on the left and a QUERY around IMPORTRANGE on the right returning Region, Employee ID and Employee Name in that order](https://cdn.owox.ai/www/webflow/67a387eb2ec3bb7d233a3d20_AD_4nXcxgCTaNRP0LhKV4Z34kuVzIzxUbLg59FmZLx39BE_JKdWp2Fr9yoQghNc34ia7kwvtyhKLkoyCw0G2AGVaVFyYlNwsE0I51TrmN2eLVS9U0BhDCWOFiXYrV__3E29wRYcIABhx.png/public)

A date condition needs the date written as `date 'yyyy-mm-dd'`. To return the tasks that are due on or before a date seven days from today, overdue ones included:

> `=QUERY(IMPORTRANGE("https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit", "TaskList!B2:D22"), "select Col2, Col3 where Col3 <= date '" & TEXT(TODAY()+7, "yyyy-mm-dd") & "'", 1)`

![Google Sheets with the source task list on the left and a QUERY around IMPORTRANGE on the right returning task names and due dates up to seven days from today](https://cdn.owox.ai/www/webflow/67897e31fe4628bd5cf6bf84_53920.png/public)

The sample tab holds dates from July 2024, so today the formula returns all twenty tasks. For a real window, add a lower bound: `where Col3 >= date '2024-07-08' and Col3 <= date '2024-07-15'` returned eight tasks in our test.

More on this pattern in the guides to [QUERY with IMPORTRANGE](/blog/articles/query-with-importrange-google-sheets) and [date filtering with QUERY](/blog/articles/date-filtering-with-query-google-sheets).

### VLOOKUP: look up a value in another file

Use the imported range as the table of [VLOOKUP](/blog/articles/vlookup-in-google-sheets):

> `=VLOOKUP(B3, IMPORTRANGE("https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit", "SalesEmployeeData!B2:G22"), 2, FALSE)`

*   **B3:** the employee ID to look for.
*   **IMPORTRANGE(…):** the employee table in the other file, with the IDs in its first column.
*   **2:** the second column of that range, the name.
*   **FALSE:** exact match.

![Google Sheets with the source employee table on the left and a VLOOKUP over IMPORTRANGE on the right returning the employee name for each ID](https://cdn.owox.ai/www/webflow/67897e3248ab50f51e97191b_53922.png/public)

Copied down a long column, this formula asks for the same range in every row. It is faster to import the table once to a helper tab and point the lookups at that tab.

### FILTER: rows that meet a condition

Import the range first, then filter the imported cells. In the screenshots the import formula sits in B3, so the header lands in row 3 and the data in B4:D7:

> `=IMPORTRANGE("https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit", "RegionalSalesData!B2:D6")`

![Google Sheets with the formula =IMPORTRANGE for the range RegionalSalesData!B2:D6 returning regions with monthly sales target and actual sales](https://cdn.owox.ai/www/webflow/67a388c1850e01948eafb61f_13.1-Enhancing-Data-Filtering-with-IMPORTRANGE-and-FILTER.png/public)

> `=FILTER(B4:D7, D4:D7 > C4:C7)`

![Google Sheets with the formula =FILTER(B4:D7, D4:D7 > C4:C7) returning the regions whose actual sales are above the monthly sales target](https://cdn.owox.ai/www/webflow/67a388eaaf64c3267587fd7c_13.2-Enhancing-Data-Filtering-with-IMPORTRANGE-and-FILTER.png/public)

[FILTER](/blog/articles/google-sheets-filter-function) returns the regions where the actual sales are higher than the target: North and South in the sample data. The same in one formula, with QUERY: `=QUERY(IMPORTRANGE("url", "RegionalSalesData!B2:D6"), "select * where Col3 > Col2", 1)`.

### SUM: a total across files

Aggregate functions accept the imported range directly. To add up the expenses of two departments kept on two tabs:

> `=SUM(IMPORTRANGE("https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit", "DeptA Expenses!C3:C22"), IMPORTRANGE("https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit", "DeptB Expenses!C3:C22"))`

![Google Sheets with a SUM of two IMPORTRANGE functions for the ranges DeptA Expenses!C3:C22 and DeptB Expenses!C3:C22 returning 29450](https://cdn.owox.ai/www/webflow/67a388f983dff97f8032e4c8_14.-Summarizing-Data-with-IMPORTRANGE-and-SUM.png/public)

SUMIF and COUNTIF are different: they need a real range in the sheet and do not accept the result of IMPORTRANGE. Use QUERY with a where clause, or import the data to a tab first. When the total is all you need, Google’s advice is to calculate it in the source file and import the single cell: less data travels between the files.

## Limits of IMPORTRANGE

The same [documentation](https://support.google.com/docs/answer/3093340) lists the first four of these limits; the fifth is how the function behaves:

*   **10 MB per request.** A range that returns more data fails with #ERROR! and “Result too large”.
*   **Too many import requests are throttled.** The cell shows “Loading…” with a note that loading may take a while. The quota belongs to the creator of the file and covers all import functions in all their open files.
*   **No volatile functions.** IMPORTRANGE cannot refer, directly or through other cells, to a cell with NOW, RAND or RANDBETWEEN. TODAY is allowed.
*   **Access counts as a share.** Each connected destination file counts toward the limit of 600 users a source file can be shared with.
*   **Values only.** Formatting, formulas, comments and validation rules of the source are not imported.

For large tables and scheduled loads, Google itself points to other tools in that article, among them Connected Sheets.

## IMPORTRANGE errors

### #REF!: you need to connect these sheets

**⚠️ Error:** #REF! with a prompt to allow access.

![Google Sheets cell with #REF! and the note You need to connect these sheets, shown before access to the source file is allowed](https://cdn.owox.ai/www/webflow/67897e310d4db02d0897d554_53910.png/public)

✅ **Solution:** Click the cell and choose **Allow access**. If there is no button, you do not have access to the source file: open its URL in the browser and request access from the owner.

### #REF!: cannot find range or sheet

**⚠️ Error:** #REF! with “Cannot find range or sheet for imported range”.

> `=IMPORTRANGE("https://docs.google.com/spreadsheets/d/16puodzCJMaUJuTjoYa-nDZ38N3sIWYMlt-OKznrkvGs/edit", "Sheet3!A1:B2")`

![Google Sheets with an IMPORTRANGE formula that refers to a tab named Sheet3, returning #REF! because the source file has no such tab](https://cdn.owox.ai/www/webflow/67897e30e0124ae24c52c3aa_53914.png/public)

✅ **Solution:** The tab name or the range in the second argument does not exist in the source. Copy the tab name exactly, including spaces. Capitals do not matter: in our test “regionalsalesdata” found the tab RegionalSalesData.

### #REF!: the result has no room

**⚠️ Error:** #REF! with “Array result was not expanded because it would overwrite data”.

✅ **Solution:** Something is already in the cells where the import should land. Clear them or move the formula.

### #ERROR!: formula parse error

**⚠️ Error:** #ERROR! right after typing or pasting the formula.

![Google Sheets with an IMPORTRANGE formula typed with curly quotation marks, returning #ERROR! and the message Formula parse error](https://cdn.owox.ai/www/webflow/67897e3089c3cff0ff60991d_53906.png/public)

✅ **Solution:** Most often the quotation marks are typographic ones (“ ”), which arrive with a formula copied from a document or a web page. Retype them as straight quotes. Also check the comma between the two arguments and the closing parenthesis.

### #ERROR!: result too large

**⚠️ Error:** #ERROR! with “Result too large”.

![Google Sheets with an IMPORTRANGE formula for an open-ended range of twenty columns, returning an error that the result is too large](https://cdn.owox.ai/www/webflow/67897e30983ef278c7a3ff1f_53912.png/public)

✅ **Solution:** The range returns more than 10 MB. Import fewer columns or rows, split the range into several formulas, or summarize the data in the source file and import the summary.

### The data stopped updating

**⚠️ Error:** The destination shows old values or stays on “Loading…”.

✅ **Solution:** Check that the person who allowed access still has access to the source: the link lasts only as long as that person does. Then cut the formula out of the cell and paste it back, which makes IMPORTRANGE load again. Reloading the page is not a reliable way to force it.

## Related Google Sheets functions

Functions that are often used next to IMPORTRANGE, each with its own guide:

*   [QUERY with IMPORTRANGE](/blog/articles/query-with-importrange-google-sheets): Filtering and aggregating imported data in detail.
*   [Linking data across sheets](/blog/articles/linking-data-across-multiple-google-sheets): References between tabs and files.
*   [IMPORTDATA](/blog/articles/importdata-google-sheets): Imports a CSV or TSV file from a URL.
*   [IMPORTXML](/blog/articles/importxml-function-google-sheets), [IMPORTHTML](/blog/articles/importhtml-function-google-sheets) and [IMPORTFEED](/blog/articles/importfeed-function-google-sheets): Import data from web pages and feeds.
*   [FILTER](/blog/articles/google-sheets-filter-function): Returns the rows that meet a condition.
*   [XLOOKUP](/blog/articles/key-differences-of-xlookup-vs-vlookup): A lookup that searches in any direction.
*   [UNIQUE](/blog/articles/unique-function-google-sheets): Returns the distinct values of a range.
*   [Pivot tables](/blog/articles/pivot-tables-google-sheets): Summarize the imported table by category.

## IMPORTRANGE links spreadsheets; the data still has to get into one of them

IMPORTRANGE moves data between Google Sheets files. It does not solve the step before that: getting the orders, the ad spend or the CRM records into a spreadsheet at all. If the data in the source file was itself exported and pasted in, IMPORTRANGE only passes that copy on.

The [OWOX Data Marts extension for Google Sheets](https://workspace.google.com/marketplace/app/owox_data_marts/94902851409) covers that half. A data analyst publishes a data mart (a table or an SQL query in your data warehouse) and makes it available for reports. In Sheets you open the extension, pick the data mart, tick the columns you want and run it. The rows land in a tab, ready for your formulas.

![Google Sheets with the OWOX Data Marts extension open beside an ad spend table: the Unified Ad Spend data mart, nine of fourteen columns ticked and a Save & Run button – the rows in the sheet come from a governed data mart, not a pasted export](https://cdn.owox.ai/www/content-marketing-article/importrange-google-sheets/screens/1.png/public)

What changes for the person who maintains the sheet:

*   **Refresh replaces re-export.** _Refresh current report_ in the extension menu re-runs the same pull, and a scheduled refresh keeps the tab current without anyone touching it. Which cells that refresh rewrites, and where your own formulas are safe, is in [our guide to refreshes and formulas](/blog/articles/refresh-sql-google-sheets-formulas).
*   **The source is written on the sheet.** The header cell of an imported tab carries a note with the data mart it came from, the time of the import and a link to the report.
*   **No SQL and no warehouse access needed.** The analyst decides which data marts and columns are available. You choose from that list.

The extension does not write or change the analyst’s SQL. Each report reads the data mart it needs directly, so there is no master spreadsheet to keep alive and no chain of imports behind the numbers. The extension comes with the OWOX Cloud plans of [OWOX Data Marts](https://www.owox.com/app-signup); [spreadsheet reporting](/features/spreadsheet-reporting) describes both ways data reaches a sheet.

## Your New Normal

Turn your data into decisions.

Governed data marts give you the clean foundation ML needs to actually work.

*   No AI hallucinations
*   Analyst-governed definitions
*   Every number traces to SQL

[Get started free](https://www.owox.com/app-signup)

## FAQ

## Frequently Asked Questions

Can you use IMPORTRANGE in the same sheet?

IMPORTRANGE is meant for another spreadsheet file. For a range on another tab of the same file, a plain reference such as =Sheet2!A1:C10, or ={Sheet2!A1:C10} for the whole range, is simpler, needs no permission and updates instantly.

Can IMPORTRANGE include formatting?

No. IMPORTRANGE imports values only. Number formats, colours, conditional formatting, data validation rules and the formulas behind the values stay in the source file; format the imported range in the destination file.

What are the limitations of IMPORTRANGE?

Google documents several: one request returns at most 10 MB of data; too many import requests are throttled and show Loading; the function cannot refer to cells with NOW, RAND or RANDBETWEEN; each connected file counts toward the 600-user sharing limit of the source; and only values are imported, without formatting. Updates arrive with a delay, and the function checks for changes every hour while the file is open.

What is the difference between IMPORTRANGE and query in Google Sheets?

IMPORTRANGE imports data from another Google Sheet, while query allows you to perform SQL-like queries within your sheet to manipulate and filter your data. Query works on data already in your sheet or imported via IMPORTRANGE, providing more control over data analysis.

How does IMPORTRANGE work in Google Sheets?

IMPORTRANGE lets you import data from one Google Sheet into another. By specifying the source sheet's URL and the range of cells you want to import, you can seamlessly integrate data across multiple sheets, facilitating centralized data management and analysis.

What is the difference between IMPORTRANGE and IMPORTDATA in Google Sheets?

IMPORTRANGE allows you to bring data from one Google Sheet into another, while IMPORTDATA is used to import data from a web URL, typically in CSV or TSV format. IMPORTRANGE is for sheet-to-sheet data transfer, and IMPORTDATA fetches data from the web.

## Who wrote this

![Vadym Kramarenko](https://cdn.owox.ai/www/webflow/6798e703afdf787334941cde_Vadym-Kramarenko.png/public)

[Vadym Kramarenko](/team/vadym-kramarenko) · Growth Marketing Manager

Vadym Kramarenko is a Growth Marketing Manager at OWOX, where he drives user acquisition and product-led growth strategies. He hosts the OWOX podcast, interviewing analytics professionals about data-driven marketing, attribution, and reporting best practices. Vadym specializes in turning complex analytics concepts into practical, actionable marketing frameworks.

[LinkedIn](https://www.linkedin.com/in/vadim-kramarenko/) · [All articles](/team/vadym-kramarenko)

[Google Sheets Tips](/blog/topics/google-sheets-tips)

## Related articles

[Google Sheets Tips · Pivot tables in Google Sheets: how to create and use them · October 2, 2026](/blog/articles/pivot-tables-google-sheets)

[Google Sheets Tips · FILTER function in Google Sheets: formula and examples · October 2, 2026](/blog/articles/google-sheets-filter-function)

[Google Sheets Tips · XLOOKUP vs VLOOKUP in Google Sheets: the key differences · October 2, 2026](/blog/articles/key-differences-of-xlookup-vs-vlookup)

[See all articles →](/blog/articles)

## Book a call

You are booked. The invitation is on its way to , with the calendar invite and the meeting link.

[Reschedule](#)

[Cancel](#)

## Links

Pages this page links to, on this site and on docs.owox.com. Where the page has a Markdown twin, its address follows the link.

- [Google Sheets Tips](https://www.owox.com/blog/topics/google-sheets-tips) — /blog/topics/google-sheets-tips.md
- [Vadym Kramarenko](https://www.owox.com/team/vadym-kramarenko) — /team/vadym-kramarenko.md
- [Book a Demo](https://www.owox.com/book-a-call) — /book-a-call.md
- [QUERY](https://www.owox.com/blog/articles/query-function-google-sheets) — /blog/articles/query-function-google-sheets.md
- [QUERY with IMPORTRANGE](https://www.owox.com/blog/articles/query-with-importrange-google-sheets) — /blog/articles/query-with-importrange-google-sheets.md
- [date filtering with QUERY](https://www.owox.com/blog/articles/date-filtering-with-query-google-sheets) — /blog/articles/date-filtering-with-query-google-sheets.md
- [VLOOKUP](https://www.owox.com/blog/articles/vlookup-in-google-sheets) — /blog/articles/vlookup-in-google-sheets.md
- [FILTER](https://www.owox.com/blog/articles/google-sheets-filter-function) — /blog/articles/google-sheets-filter-function.md
- [Linking data across sheets](https://www.owox.com/blog/articles/linking-data-across-multiple-google-sheets) — /blog/articles/linking-data-across-multiple-google-sheets.md
- [IMPORTDATA](https://www.owox.com/blog/articles/importdata-google-sheets) — /blog/articles/importdata-google-sheets.md
- [IMPORTXML](https://www.owox.com/blog/articles/importxml-function-google-sheets) — /blog/articles/importxml-function-google-sheets.md
- [IMPORTHTML](https://www.owox.com/blog/articles/importhtml-function-google-sheets) — /blog/articles/importhtml-function-google-sheets.md
- [IMPORTFEED](https://www.owox.com/blog/articles/importfeed-function-google-sheets) — /blog/articles/importfeed-function-google-sheets.md
- [XLOOKUP](https://www.owox.com/blog/articles/key-differences-of-xlookup-vs-vlookup) — /blog/articles/key-differences-of-xlookup-vs-vlookup.md
- [UNIQUE](https://www.owox.com/blog/articles/unique-function-google-sheets) — /blog/articles/unique-function-google-sheets.md
- [Pivot tables](https://www.owox.com/blog/articles/pivot-tables-google-sheets) — /blog/articles/pivot-tables-google-sheets.md
- [our guide to refreshes and formulas](https://www.owox.com/blog/articles/refresh-sql-google-sheets-formulas) — /blog/articles/refresh-sql-google-sheets-formulas.md
- [OWOX Data Marts](https://www.owox.com/app-signup)
- [spreadsheet reporting](https://www.owox.com/features/spreadsheet-reporting) — /features/spreadsheet-reporting.md
- [See all articles →](https://www.owox.com/blog/articles) — /blog/articles.md
