Google Sheets Functions in Excel: The Equivalents Guide

By the XLsheetAI Team · Updated October 15, 2026 · 14 min read

Machine translation, opens on Google’s site.
TL;DR

The short answer

The Excel equivalent of IMPORTRANGE is a linked workbook reference or a Power Query connection, and almost every other Google Sheets function has a direct Excel replacement, often with the same name. The table below maps each one. The catch is that Excel splits the work differently: Google Sheets does a lot inside formulas (pulling data from the web, running a query, drawing a sparkline), while Excel hands those jobs to features like Power Query, data types and the Insert tab. So a few functions do not translate into a formula at all. They translate into a feature.

Everything below assumes Excel for Microsoft 365. Several replacements (TEXTSPLIT, REGEXTEST, GROUPBY, CHOOSECOLS, TRANSLATE) are not in older one-time purchase versions like Excel 2019, so check the "Applies to" line on Microsoft's page for each function if your team is on an older copy.

The complete Google Sheets to Excel translation table

Each row gives the Sheets function, what to use in Excel, and the one difference most likely to trip you up.

Google SheetsExcel equivalentWatch out for
IMPORTRANGEExternal reference ='[Book.xlsx]Sheet1'!A1:D500, or Power Query From Excel WorkbookNeeds a file Excel can open, not a Google URL
QUERYFILTER + SORT + CHOOSECOLS, GROUPBY / PIVOTBY, or a PivotTableNo query string; each clause is its own function
ARRAYFORMULANothing. Write the formula and it spillsA blocked spill range shows #SPILL!
GOOGLEFINANCE (current price)Stocks data type, then =A2.PriceData is delayed and needs a Microsoft account
GOOGLEFINANCE (history)STOCKHISTORYInterval is a number: 0 daily, 1 weekly, 2 monthly
SPLITTEXTSPLITDifferent defaults for empty values and multi-character delimiters
JOINTEXTJOINExtra argument to skip blanks
REGEXMATCHREGEXTESTCase flag is an argument, not (?i)
REGEXEXTRACTREGEXEXTRACTCapture groups need return_mode 2
REGEXREPLACEREGEXREPLACEReplaces every match by default, same as Sheets
IMPORTHTMLPower Query: Data > From Web, pick the tableA one-time setup, then Refresh
IMPORTXMLPower Query From Web, or FILTERXML(WEBSERVICE(url), xpath)FILTERXML is Windows only and needs valid XML
IMPORTDATAPower Query From Text/CSV or From WebSame refresh model as above
UNIQUE / FILTER / SORTUNIQUE / FILTER / SORTFILTER conditions combine with *; SORT uses 1 and -1, not TRUE and FALSE
SORTNTAKE(SORT(range, col, -1), n)Ties are not handled the way SORTN's tie modes do
COUNTUNIQUECOUNTA(UNIQUE(range))Blank cells count as one unique value
FLATTENTOCOLSecond argument can drop blanks and errors
GOOGLETRANSLATETRANSLATEMicrosoft 365 only, with a daily quota
SPARKLINEInsert > Sparklines on the ribbonNot a formula, so it cannot sit inside IF
ISEMAIL / ISURLNo function. Use a REGEXTEST patternWrite a pattern that matches your own rules
Google Sheet =QUERY(...) Same name, works as is UNIQUE · FILTER · SORT · REGEXEXTRACT · REGEXREPLACE Different function, same job SPLIT → TEXTSPLIT · REGEXMATCH → REGEXTEST · QUERY → FILTER Becomes a feature, not a formula IMPORTRANGE, IMPORTXML → Power Query · SPARKLINE → ribbon
Most Sheets functions land in the first two groups. The third group is where a migration takes real work, because the logic moves out of the cell.

IMPORTRANGE in Excel: three ways to pull data from another file

In Google Sheets, IMPORTRANGE takes a spreadsheet URL and a range string and pulls those cells into your sheet. Excel has no function that does this, but it has three tools that cover the same need. Which one fits depends on how much data you are pulling and where the source lives.

1. An external reference, for a handful of cells. With both workbooks open, type = in the destination cell, switch to the source workbook and click the cell or select the range. Excel writes the reference for you:

='[Sales 2026.xlsx]Data'!$A$1:$D$500

When the source is closed, Excel stores the full path instead, like ='C:\Reports\[Sales 2026.xlsx]Data'!A1:D500. In Excel 365 a range reference like this spills, so it behaves a lot like IMPORTRANGE. The downside is that it breaks when someone renames or moves the source file, and Excel asks before it refreshes links from a closed workbook. You manage them from the Data tab under Workbook Links (called Edit Links in older versions).

2. Power Query, for a whole table. Go to Data > Get Data > From File > From Excel Workbook, choose the file, pick the sheet or table in the Navigator, and click Load (or Transform Data to filter it first). The result lands as an Excel table and updates with Data > Refresh All. This is the better choice when the source has hundreds of rows, when you only want some columns, or when you want to stack several files together. It also does not break on a row insert the way a fixed range can.

3. Publish the Google Sheet as CSV, if the data has to stay in Google. In Google Sheets, use File > Share > Publish to web, choose the sheet and the CSV format, and copy the link. In Excel, go to Data > From Web, paste that link, and load it. Excel now pulls the live Google data on every refresh. Be careful with this one: a published link can be opened by anyone who has it, so never use it for salaries, customer lists or anything private.

QUERY in Excel: rebuild it clause by clause

QUERY is the function people miss most after the switch, because it does filtering, column picking, sorting and grouping in one string. Excel has no single replacement, but in Excel for Microsoft 365 each clause maps to one function, and they nest cleanly.

Say the Sheets formula is:

=QUERY(A1:D100, "select A, D where C > 100 order by D desc", 1)

The Excel 365 version:

=SORT(FILTER(CHOOSECOLS(A2:D100, 1, 4), C2:C100 > 100), 2, -1)

Read it from the inside out. CHOOSECOLS is the select (columns 1 and 4). FILTER is the where; its condition still points at column C even though C is not in the output. SORT is the order by: sort by the second output column, and -1 means descending.

For a group by, such as =QUERY(A1:E500, "select B, sum(E) where C = 'East' group by B order by sum(E) desc", 1), use GROUPBY:

=GROUPBY(B2:B500, E2:E500, SUM, 0, 0, -2, C2:C500 = "East")

The arguments after SUM are: 0 for no headers, 0 for no total row, -2 to sort by the second output column descending, and the last one is the filter. Microsoft documents every argument on its GROUPBY page. When you need categories across the top as well, PIVOTBY works the same way with a second field.

If nobody on the team wants to maintain nested formulas, a PivotTable (Insert > PivotTable) gives the same grouped totals with drag and drop, and Power Query handles the filter and sort as steps you can see and edit. For bigger jobs, our guide to Power Query vs formulas walks through when each one is the right call.

Is there a Power Query equivalent in Google Sheets?

Not a built-in one, and that gap is often why people move to Excel in the first place. Google Sheets spreads the job across several tools: QUERY reshapes data, IMPORTRANGE, IMPORTDATA, IMPORTHTML and IMPORTXML pull it in, and Apps Script handles cleanup you want to repeat. Each piece lives in a different place, so a long cleanup turns into a chain of helper tabs and scripts.

Power Query does all of it as one list of recorded steps: connect to a source, remove columns, split text, fix dates, merge another table, then load. Next month you press Refresh and every step runs again on the new data. When you migrate, the IMPORT functions and any helper tabs that only exist to clean data are the best candidates to move into Power Query instead of rewriting them as Excel formulas.

ARRAYFORMULA: you do not need it in Excel

In Google Sheets, =ARRAYFORMULA(B2:B100 * C2:C100) tells Sheets to run the formula on every row. In Excel 365 you just write =B2:B100 * C2:C100. Excel calls these dynamic arrays: any formula that returns more than one value spills down into the cells below. If something is in the way, you get #SPILL! until you clear those cells.

Two habits from Sheets need changing. First, open-ended ranges like A2:A are a Sheets feature; in Excel use a fixed range or, better, turn the data into a table (Ctrl+T) and write =[@Qty] * [@Price], which grows with the data. Second, the common Sheets pattern =ARRAYFORMULA(IF(A2:A = "", "", B2:B * C2:C)) to hide blank rows is not needed in a table, since a table has no blank rows to hide. Our guide to dynamic arrays in Excel covers spilling in more depth.

GOOGLEFINANCE: the Stocks data type and STOCKHISTORY

For a current price, Sheets uses =GOOGLEFINANCE("NASDAQ:MSFT", "price"). In Excel, type the ticker (MSFT) in a cell, select it, and click Data > Stocks. The cell turns into a linked record with a small icon, and =A2.Price pulls the price from it. Other fields like market cap are in the Add Column button that appears next to the cell. Microsoft notes in its stock quote guide that the data is delayed and not meant for trading, and that you need Microsoft 365 or a free Microsoft account.

For history, =GOOGLEFINANCE("NASDAQ:MSFT", "close", DATE(2026,1,1), DATE(2026,6,30), "DAILY") becomes:

=STOCKHISTORY("MSFT", DATE(2026,1,1), DATE(2026,6,30), 0, 1, 0, 1)

The arguments after the dates are the interval (0 daily, 1 weekly, 2 monthly), headers (1 shows them), and then the columns you want: 0 is the date and 1 is the close. 2 to 5 add open, high, low and volume. STOCKHISTORY needs a Microsoft 365 Personal, Family, Business Standard or Business Premium subscription.

SPLIT, REGEX and the text functions

SPLIT to TEXTSPLIT. =SPLIT(A2, ",") becomes =TEXTSPLIT(A2, ","), but the defaults are different. Google's SPLIT treats each character of the delimiter as its own split point and drops empty pieces. TEXTSPLIT treats the delimiter as one whole string and keeps empty pieces. To get the Sheets behavior for =SPLIT(A2, ", "), list each character in an array and set ignore_empty to TRUE:

=TEXTSPLIT(A2, {",", " "}, , TRUE)

REGEXMATCH to REGEXTEST. Excel for Microsoft 365 now has three regex functions. Two keep their Sheets names, and the match test is renamed:

Google SheetsExcel 365
=REGEXMATCH(A2, "^\d{5}$")=REGEXTEST(A2, "^\d{5}$")
=REGEXEXTRACT(A2, "\d+")=REGEXEXTRACT(A2, "\d+")
=REGEXEXTRACT(A2, "(\w+)@(\w+)")=REGEXEXTRACT(A2, "(\w+)@(\w+)", 2)
=REGEXREPLACE(A2, "\s+", " ")=REGEXREPLACE(A2, "\s+", " ")
=REGEXMATCH(A2, "(?i)invoice")=REGEXTEST(A2, "invoice", 1)

The two differences that matter. When a pattern has capture groups, Sheets returns the groups, but Excel returns the whole match unless you set return_mode to 2, as in the third row. For case, Excel has a case_sensitivity argument at the end (1 means ignore case) instead of the inline flag. Under the hood, Excel uses the PCRE2 flavor of regex, while Google Sheets uses RE2. PCRE2 accepts more syntax, such as lookaheads, so patterns that work in Sheets will almost always work in Excel, but not always the other way around.

JOIN, FLATTEN and COUNTUNIQUE. =JOIN(", ", A2:A10) becomes =TEXTJOIN(", ", TRUE, A2:A10), where TRUE skips blank cells. =FLATTEN(A2:C10) becomes =TOCOL(A2:C10). =COUNTUNIQUE(A2:A100) becomes =COUNTA(UNIQUE(A2:A100)).

IMPORTXML and IMPORTHTML: use Power Query From Web

For =IMPORTHTML(url, "table", 1), go to Data > From Web in Excel, paste the page address, and Power Query shows every table it found on the page in the Navigator. Pick the one you want and click Load. Microsoft's web import guide covers the steps, including Add Table Using Examples for data that is not in a real HTML table.

IMPORTXML is harder, because Power Query From Web does not take an XPath. If the source is a proper XML feed, Excel for Windows can do it in a formula: =FILTERXML(WEBSERVICE("https://example.com/feed.xml"), "//item/title"). Microsoft notes that FILTERXML does not work in Excel for the web or on a Mac, and it fails on most ordinary web pages because HTML is rarely valid XML. For those pages, use From Web with Add Table Using Examples instead.

The big change from Sheets is when the data updates. IMPORTHTML recalculates on its own schedule. Power Query only updates when you refresh, or on a timer you set by right-clicking the query in Data > Queries & Connections and choosing Properties. That is usually a good thing, since your numbers stop changing under you in the middle of a meeting.

UNIQUE, FILTER and SORT: same names, small differences

These three exist in both apps and do the same thing, but the arguments are not identical, so a straight copy and paste can fail.

What has no real equivalent

A few things do not survive the move as formulas. Plan for these before you start, since they are where a migration takes real time.

What breaks when you open a Google Sheet export as .xlsx

First, a file ending in .gsheet is not the spreadsheet. It is a small shortcut file that Google Drive for desktop creates, and Excel cannot open it. To get a real Excel file, open the sheet in Google Sheets and use File > Download > Microsoft Excel (.xlsx).

That download keeps your data, formatting and any formula Excel understands. Formulas Excel does not have are handled in a way that is easy to miss: Google wraps each one in a placeholder that looks like this:

=IFERROR(__xludf.DUMMYFUNCTION("QUERY(A1:D100,""select A"")"), "Region")

The value at the end is whatever the cell showed in Google Sheets when you downloaded it. So the sheet opens with every number in place, and it looks fine. But those cells are now fixed text and numbers. They will not recalculate when the data changes, and nothing warns you.

To find them all, press Ctrl+F, open Options, set Look in to Formulas, and search for DUMMYFUNCTION. Find All lists every cell that needs rewriting. Work through them with the translation table above, starting with the ones other formulas depend on. Our article on XLSX vs Google Sheets explains why the two file formats store formulas differently in the first place.

Rewriting a sheet full of Google formulas?

Paste the Google Sheets formula or describe what it does, and XLsheetAI writes the Excel version for you and explains each part, so you can check it before it goes into the workbook.

Download on the App StoreGet it on Google Play

Still deciding whether to move at all? Read our Excel vs Google Sheets comparison first. If you are already in Excel, Power Query vs formulas helps you decide where each translated piece should live, and FILTER, SORT and UNIQUE in Excel covers the functions you will use most.

FAQ

What is the Excel equivalent of IMPORTRANGE?

There is no single function. To pull a few cells from another workbook, use an external reference such as ='[Sales 2026.xlsx]Data'!A1:D500. To pull a whole table you can filter and refresh, use Power Query: Data > Get Data > From File > From Excel Workbook. Both need the source file somewhere Excel can open it, not a Google Sheets URL.

Does Excel have a QUERY function like Google Sheets?

No. Excel has no function that takes a SQL-style query string. In Excel for Microsoft 365 you rebuild it from FILTER for the where clause, SORT for order by, CHOOSECOLS for select, and GROUPBY or PIVOTBY for group by. A PivotTable or Power Query does the same job without formulas.

Is there a Power Query equivalent in Google Sheets?

Not a built-in one. Google Sheets covers parts of the job with QUERY for reshaping data, IMPORTRANGE, IMPORTDATA, IMPORTHTML and IMPORTXML for pulling it in, and Apps Script for repeatable cleanup. Power Query in Excel does all of that as one list of recorded steps you refresh with a click.

Does Excel have REGEXMATCH?

Excel for Microsoft 365 has REGEXTEST, which does the same thing and returns TRUE or FALSE, plus REGEXEXTRACT and REGEXREPLACE with the same names as in Google Sheets. Excel uses the PCRE2 flavor of regex while Google Sheets uses RE2, so most patterns carry over as written.

Why do my formulas show __xludf.DUMMYFUNCTION after downloading a Google Sheet as Excel?

Google Sheets wraps any formula Excel cannot run, such as QUERY, IMPORTRANGE or GOOGLEFINANCE, in a placeholder called __xludf.DUMMYFUNCTION inside an IFERROR, with the last value it calculated as the fallback. The numbers look right but never update. Rewrite each one with an Excel equivalent from the table in this guide.