Formula reference: Excel vs Google Sheets

Every function you'll actually use, with syntax, a copy-ready example, and whether it works in Excel, Excel 365 or Google Sheets.

FunctionWhat it doesExampleExcelSheets
SUMAdds numbers.
SUM(value1, [value2], …)
=SUM(B2:B10)βœ…βœ…
SUMIFAdds cells that meet one condition.
SUMIF(range, criteria, [sum_range])
=SUMIF(A2:A10,"North",C2:C10)βœ…βœ…
SUMIFSAdds cells that meet several conditions.
SUMIFS(sum_range, range1, criteria1, …)
=SUMIFS(C2:C10,A2:A10,"North",B2:B10,">100")βœ…βœ…
SUMPRODUCTMultiplies arrays element-wise and sums the results.
SUMPRODUCT(array1, [array2], …)
=SUMPRODUCT(B2:B10,C2:C10)βœ…βœ…
ROUNDRounds to a number of digits.
ROUND(number, digits)
=ROUND(A2,2)βœ…βœ…
ROUNDUP / ROUNDDOWNRounds away from / toward zero.
ROUNDUP(number, digits)
=ROUNDUP(A2,0)βœ…βœ…
MODRemainder after division.
MOD(number, divisor)
=MOD(A2,2)=0βœ…βœ…
ABSAbsolute value.
ABS(number)
=ABS(B2-C2)βœ…βœ…
RAND / RANDBETWEENRandom number (recalculates on every change).
RANDBETWEEN(low, high)
=RANDBETWEEN(1,100)βœ…βœ…
AVERAGEArithmetic mean.
AVERAGE(value1, …)
=AVERAGE(B2:B10)βœ…βœ…
AVERAGEIFSAverage of cells meeting conditions.
AVERAGEIFS(avg_range, range1, criteria1, …)
=AVERAGEIFS(C2:C10,A2:A10,"North")βœ…βœ…
COUNTCounts numeric cells.
COUNT(value1, …)
=COUNT(B2:B10)βœ…βœ…
COUNTACounts non-empty cells.
COUNTA(value1, …)
=COUNTA(A2:A100)βœ…βœ…
COUNTBLANKCounts empty cells.
COUNTBLANK(range)
=COUNTBLANK(A2:A100)βœ…βœ…
COUNTIFCounts cells meeting a condition.
COUNTIF(range, criteria)
=COUNTIF(A2:A10,"Paid")βœ…βœ…
COUNTIFSCounts rows meeting several conditions.
COUNTIFS(range1, criteria1, …)
=COUNTIFS(A2:A10,"North",C2:C10,">=100")βœ…βœ…
COUNTUNIQUECounts distinct values.
COUNTUNIQUE(value1, …)
=COUNTUNIQUE(A2:A100)β€”βœ…
MAX / MINLargest / smallest value.
MAX(value1, …)
=MAX(B2:B10)βœ…βœ…
MAXIFS / MINIFSLargest / smallest value meeting conditions.
MAXIFS(max_range, range1, criteria1, …)
=MAXIFS(C2:C10,A2:A10,"North")βœ…βœ…
MEDIANMiddle value.
MEDIAN(value1, …)
=MEDIAN(B2:B10)βœ…βœ…
LARGE / SMALLk-th largest / smallest value.
LARGE(range, k)
=LARGE(B2:B10,2)βœ…βœ…
RANK.EQRank of a number in a list.
RANK.EQ(number, ref, [order])
=RANK.EQ(B2,$B$2:$B$10)βœ…βœ…
IFReturns one value if true, another if false.
IF(test, value_if_true, [value_if_false])
=IF(B2>=60,"Pass","Fail")βœ…βœ…
IFSChecks several conditions in order.
IFS(test1, value1, [test2, value2], …)
=IFS(B2>=90,"A",B2>=80,"B",TRUE,"C")βœ…βœ…
AND / OR / NOTCombine or invert conditions.
AND(logical1, …)
=AND(B2>0,C2="Open")βœ…βœ…
IFERRORReplaces any error with a value.
IFERROR(value, value_if_error)
=IFERROR(A2/B2,0)βœ…βœ…
IFNAReplaces only #N/A.
IFNA(value, value_if_na)
=IFNA(VLOOKUP(A2,D:E,2,0),"Missing")βœ…βœ…
SWITCHMatches an expression against cases.
SWITCH(expr, case1, value1, …, [default])
=SWITCH(A2,1,"Low",2,"Mid","High")βœ…βœ…
LETNames intermediate results inside a formula.
LET(name1, value1, …, calculation)
=LET(t,SUM(B2:B10),t*1.2)πŸ†•βœ…
LAMBDACreates a custom reusable function.
LAMBDA(param1, …, calculation)
=MAP(A2:A10,LAMBDA(x,x*2))πŸ†•βœ…
VLOOKUPLooks down the first column and returns a value from another column.
VLOOKUP(key, table, col_index, [is_sorted])
=VLOOKUP(A2,Products!A:C,3,FALSE)βœ…βœ…
HLOOKUPHorizontal version of VLOOKUP.
HLOOKUP(key, table, row_index, [is_sorted])
=HLOOKUP("Q2",A1:E5,3,FALSE)βœ…βœ…
XLOOKUPModern lookup in any direction with a default value.
XLOOKUP(key, lookup_array, return_array, [if_not_found], …)
=XLOOKUP(A2,Products!A:A,Products!C:C,"Not found")πŸ†•βœ…
INDEXReturns the value at a position.
INDEX(range, row, [column])
=INDEX(C2:C10,3)βœ…βœ…
MATCHReturns the position of a value. Use 0 for exact.
MATCH(key, range, [match_type])
=MATCH("Bob",A2:A10,0)βœ…βœ…
XMATCHModern MATCH with exact match by default.
XMATCH(key, lookup_array, [match_mode], [search_mode])
=XMATCH("Bob",A2:A10)πŸ†•βœ…
CHOOSEPicks a value by position.
CHOOSE(index, value1, value2, …)
=CHOOSE(WEEKDAY(A2),"Sun","Mon","Tue","Wed","Thu","Fri","Sat")βœ…βœ…
INDIRECTTurns text into a reference.
INDIRECT(ref_text)
=SUM(INDIRECT("'"&A1&"'!B:B"))βœ…βœ…
FILTERReturns rows that meet conditions. (Excel: 3rd arg is if_empty)
FILTER(range, condition1, [condition2…])
=FILTER(A2:D100,C2:C100="Open")πŸ†•βœ…
SORTSorts a range. Excel uses 1/-1, Sheets TRUE/FALSE.
SORT(range, [sort_column], [ascending])
=SORT(A2:C100,3,FALSE)πŸ†•βœ…
SORTBYSorts by another range.
SORTBY(array, by_array1, [order1], …)
=SORTBY(A2:A10,B2:B10,-1)πŸ†•β€”
SORTNTop N rows after sorting.
SORTN(range, [n], [ties_mode], [sort_column], [ascending])
=SORTN(A2:C100,5,0,3,FALSE)β€”βœ…
UNIQUERemoves duplicates.
UNIQUE(range)
=UNIQUE(A2:A100)πŸ†•βœ…
SEQUENCEGenerates a list of numbers.
SEQUENCE(rows, [columns], [start], [step])
=SEQUENCE(12)πŸ†•βœ…
TRANSPOSESwaps rows and columns.
TRANSPOSE(range)
=TRANSPOSE(A1:E1)βœ…βœ…
ARRAYFORMULAApplies a formula to whole ranges.
ARRAYFORMULA(formula)
=ARRAYFORMULA(B2:B*C2:C)β€”βœ…
VSTACK / HSTACKStacks ranges vertically / horizontally.
VSTACK(array1, array2, …)
=VSTACK(Jan!A2:C50,Feb!A2:C50)πŸ†•βœ…
MAP / BYROW / SCAN / REDUCELAMBDA helper functions for array calculations.
BYROW(range, LAMBDA(row, …))
=SCAN(0,B2:B10,LAMBDA(a,x,a+x))πŸ†•βœ…
QUERYSQL-like select, filter, group and sort.
QUERY(range, query, [headers])
=QUERY(A1:D100,"select A, sum(D) group by A")β€”βœ…
GROUPBY / PIVOTBYFormula-based summaries and pivots.
GROUPBY(row_fields, values, function)
=GROUPBY(A2:A100,D2:D100,SUM)πŸ†•β€”
CONCAT / &Joins text.
CONCAT(text1, …)
=A2&" "&B2βœ…βœ…
TEXTJOINJoins text with a delimiter.
TEXTJOIN(delimiter, ignore_empty, text1, …)
=TEXTJOIN(", ",TRUE,A2:A10)βœ…βœ…
LEFT / RIGHT / MIDExtracts part of a text string.
MID(text, start, length)
=LEFT(A2,3)βœ…βœ…
LENNumber of characters.
LEN(text)
=LEN(A2)βœ…βœ…
FIND / SEARCHPosition of text (FIND is case-sensitive).
SEARCH(find, within, [start])
=SEARCH("@",B2)βœ…βœ…
SUBSTITUTEReplaces text.
SUBSTITUTE(text, old, new, [instance])
=SUBSTITUTE(A2,"-","")βœ…βœ…
TRIMRemoves extra spaces.
TRIM(text)
=TRIM(A2)βœ…βœ…
CLEANRemoves non-printable characters.
CLEAN(text)
=CLEAN(A2)βœ…βœ…
UPPER / LOWER / PROPERChanges letter case.
PROPER(text)
=PROPER(A2)βœ…βœ…
TEXTFormats a number or date as text.
TEXT(value, format)
=TEXT(A2,"yyyy-mm-dd")βœ…βœ…
VALUEConverts text to a number.
VALUE(text)
=VALUE(A2)βœ…βœ…
SPLITSplits text into columns.
SPLIT(text, delimiter)
=SPLIT(A2,",")β€”βœ…
TEXTSPLITSplits text into columns/rows.
TEXTSPLIT(text, col_delimiter, [row_delimiter])
=TEXTSPLIT(A2,",")πŸ†•β€”
TEXTBEFORE / TEXTAFTERText before / after a delimiter.
TEXTBEFORE(text, delimiter)
=TEXTAFTER(B2,"@")πŸ†•β€”
REGEXMATCHTRUE if the text matches a pattern.
REGEXMATCH(text, regex)
=REGEXMATCH(B2,"^\S+@\S+\.\S+quot;)β€”βœ…
REGEXEXTRACTExtracts the matching part.
REGEXEXTRACT(text, regex)
=REGEXEXTRACT(A2,"\d+")πŸ†•βœ…
REGEXREPLACEReplaces matches.
REGEXREPLACE(text, regex, replacement)
=REGEXREPLACE(A2,"[^0-9]","")πŸ†•βœ…
TODAY / NOWCurrent date / date-time.
TODAY()
=TODAY()-A2βœ…βœ…
DATEBuilds a date.
DATE(year, month, day)
=DATE(2026,1,31)βœ…βœ…
YEAR / MONTH / DAYExtracts part of a date.
MONTH(date)
=YEAR(A2)βœ…βœ…
EDATE / EOMONTHShift by months / end of month.
EOMONTH(start, months)
=EOMONTH(A2,0)βœ…βœ…
DATEDIFDifference in "Y", "M" or "D".
DATEDIF(start, end, unit)
=DATEDIF(A2,TODAY(),"Y")βœ…βœ…
NETWORKDAYSWorking days between dates.
NETWORKDAYS(start, end, [holidays])
=NETWORKDAYS(A2,B2)βœ…βœ…
WORKDAYDate after N working days.
WORKDAY(start, days, [holidays])
=WORKDAY(A2,10)βœ…βœ…
WEEKDAY / WEEKNUMDay of week / week number.
WEEKDAY(date, [type])
=WEEKDAY(A2,2)βœ…βœ…
PMTLoan payment per period.
PMT(rate, periods, present_value)
=PMT(5%/12,60,-20000)βœ…βœ…
FV / PVFuture / present value.
FV(rate, periods, payment, [pv])
=FV(4%/12,120,-200)βœ…βœ…
NPV / IRRNet present value / internal rate of return.
NPV(rate, value1, …)
=IRR(B2:B8)βœ…βœ…
ISBLANK / ISNUMBER / ISTEXTTests a value's type.
ISNUMBER(value)
=ISNUMBER(SEARCH("x",A2))βœ…βœ…
IMPORTRANGEImports a range from another spreadsheet.
IMPORTRANGE(url, range_string)
=IMPORTRANGE("URL","Sheet1!A1:D100")β€”βœ…
IMPORTHTML / IMPORTXMLImports a table or data from a web page.
IMPORTHTML(url, "table", index)
=IMPORTHTML("URL","table",1)β€”βœ…
GOOGLEFINANCEStock and currency data.
GOOGLEFINANCE(ticker, [attribute])
=GOOGLEFINANCE("CURRENCY:EURUSD")β€”βœ…
GOOGLETRANSLATETranslates text.
GOOGLETRANSLATE(text, [source], [target])
=GOOGLETRANSLATE(A2,"en","es")β€”βœ…
SPARKLINETiny chart inside a cell.
SPARKLINE(data, [options])
=SPARKLINE(B2:M2)β€”βœ…
IMAGEDisplays an image in a cell.
IMAGE(url, …)
=IMAGE("https://…/logo.png")πŸ†•βœ…
HYPERLINKClickable link.
HYPERLINK(url, [label])
=HYPERLINK("https://example.com","Open")βœ…βœ…

86 of 86 functions