Excel Functions: Complete List by Category

Excel ships with more than 450 built-in functions. Most people only ever use 10 or 15. The rest sit there, quietly capable of saving you hours, if you know they exist.

This page lists current Excel functions and the older ones we cover.

Every function is grouped by category, with a one-line description so you can scan, find what you need, and jump to the full tutorial.

New to Excel functions? Start with the short primer below. Already know the basics? Skip to whichever category you need.

What is an Excel function?

A function is a built-in formula that takes one or more inputs and returns a result. You type an equals sign, the function name, and the inputs in parentheses.

=SUM(A1:A10)
=IF(B2>100, "High", "Low")
=VLOOKUP("Apple", A:C, 3, FALSE)

Functions are the core of what makes Excel a spreadsheet rather than a glorified table.

Once you start combining them, you can pull data from another sheet, clean a messy text column, calculate a loan payment, or build a forecast. All without writing a single line of code.

How to use this page

The functions are organized by purpose, the same way Microsoft groups them in the Formulas tab:

  • Logical: if-this-then-that decisions
  • Lookup & Reference: finding values across tables
  • Text: cleaning, splitting, joining, reformatting text
  • Date & Time: date math and calendar calculations
  • Math & Trig: arithmetic, rounding, trigonometry
  • Statistical: averages, counts, ranks, regressions
  • Financial: loans, investments, depreciation
  • Information: checking what a cell contains
  • Database: query-style aggregates over a structured range
  • Engineering: number-base conversion, complex numbers, bitwise math
  • Web: pulling data from the web
  • Cube: pulling values from a data model
  • Compatibility: older functions kept for existing workbooks

Each section starts with a short note on when you would reach for that family. After that, a table with the function name and a one-line description.

Logical Functions

Use these when your formula needs to make a decision. The most common pattern is “if this condition is true, do A, otherwise do B”. Almost everything more advanced is a variation on that idea.

FunctionDescription
ANDReturns TRUE only if every argument is TRUE
BYCOLApplies a LAMBDA to each column of an array
BYROWApplies a LAMBDA to each row of an array
FALSEReturns the logical value FALSE
IFReturns one value if a condition is TRUE and another if it is FALSE
IFERRORReturns a custom result if a formula errors, otherwise returns the formula’s result
IFNAReturns a custom result if a formula returns #N/A, otherwise returns the formula’s result
IFSTests multiple conditions in order and returns the value for the first one that is TRUE
LAMBDACreates a custom, reusable function from a formula
LETAssigns names to calculation results so a formula can reuse them
MAKEARRAYBuilds an array of a given size from a LAMBDA
MAPApplies a LAMBDA to each value of one or more arrays
NOTReverses the logic of its argument (TRUE becomes FALSE, FALSE becomes TRUE)
ORReturns TRUE if at least one argument is TRUE
REDUCEReduces an array to a single value with a LAMBDA
SCANReturns the running totals of applying a LAMBDA to an array
SWITCHEvaluates an expression against a list of values and returns the matching result
TRUEReturns the logical value TRUE
XORReturns TRUE if an odd number of its arguments are TRUE

Lookup & Reference Functions

Use these when the value you need is in another row, another sheet, or another file, and you want Excel to fetch it for you. VLOOKUP is the famous one, but XLOOKUP has largely replaced it for new work.

FunctionDescription
ADDRESSBuilds a cell reference string from row and column numbers
AREASReturns the number of areas in a reference
CHOOSEReturns one of a list of values based on an index number
CHOOSECOLSReturns the specified columns from an array
CHOOSEROWSReturns the specified rows from an array
COLUMNReturns the column number of a reference
COLUMNSReturns the number of columns in a reference
DROPDrops a specified number of rows or columns from an array
EXPANDPads an array with a given value to a target size
FILTERReturns the rows of a range that meet a condition
FORMULATEXTReturns the formula in a referenced cell as text
GETPIVOTDATAPulls a specific value from a pivot table
GROUPBYGroups rows of data and aggregates each group
HLOOKUPLike VLOOKUP but searches across the first row of a range instead of the first column
HSTACKStacks arrays horizontally
HYPERLINKCreates a clickable link in a cell
IMAGEDisplays an image from an HTTPS URL inside a cell
INDEXReturns the value at a given row and column position inside a range
INDIRECTConverts a text string into a real cell reference
LOOKUPOlder, simpler lookup function that searches a single row or column
MATCHReturns the position of a value within a row or column
OFFSETReturns a reference shifted by a given number of rows and columns from a starting cell
PIVOTBYBuilds a pivot-table-style result inside a formula
ROWReturns the row number of a reference
ROWSReturns the number of rows in a reference
RTDRetrieves real-time data from a server program
SORTSorts a range by one or more columns
SORTBYSorts a range by the values in another range
TAKEReturns a specified number of rows or columns from the start or end of an array
TOCOLReshapes an array into a single column
TOROWReshapes an array into a single row
TRANSPOSEFlips a vertical range to horizontal or vice versa
TRIMRANGERemoves blank outer rows and columns from a range or array
UNIQUEReturns the unique values from a range
VLOOKUPLooks up a value in the first column of a range and returns a value from another column in the same row
VSTACKStacks arrays vertically
WRAPCOLSWraps a 1D array into columns of a given length
WRAPROWSWraps a 1D array into rows of a given length
XLOOKUPModern replacement for VLOOKUP and HLOOKUP. Searches in any direction and handles errors built-in
XMATCHModern replacement for MATCH with wildcard and reverse-search support

Text Functions

Use these when you need to clean, parse, combine, or reformat text. Almost every “the data is messy and I need to fix it” problem ends here.

FunctionDescription
ARRAYTOTEXTReturns an array of values as a single text string
ASCConverts full-width characters to half-width
BAHTTEXTConverts a number to Thai text with a baht suffix
CHARReturns the character that matches a given ASCII number
CLEANRemoves non-printable characters from text
CODEReturns the ASCII number of the first character in a string
CONCATJoins multiple text strings or ranges into one string
CONCATENATEOlder version of CONCAT, kept for backward compatibility
DBCSConverts half-width English letters to full-width
DETECTLANGUAGEIdentifies the language used in a text value
DOLLARFormats a number as currency and returns it as text
EXACTReturns TRUE if two text strings are identical (case-sensitive)
FINDReturns the position of one text string inside another (case-sensitive)
FINDBFinds case-sensitive text by byte position in double-byte languages
FIXEDFormats a number with fixed decimals and returns it as text
JISConverts half-width characters to full-width
LEFTReturns the leftmost N characters of a text string
LEFTBReturns characters from the left, counting bytes for double-byte languages
LENReturns the number of characters in a text string
LENBCounts bytes in text when working with double-byte languages
LOWERConverts text to lowercase
MIDReturns N characters from the middle of a text string starting at a given position
MIDBReturns text from a byte position in double-byte languages
NUMBERVALUEConverts text to a number with locale-aware decimal and group separators
PHONETICExtracts the phonetic characters from a Japanese text string
PROPERCapitalizes the first letter of each word
REGEXEXTRACTExtracts text that matches a regular expression pattern
REGEXREPLACEReplaces text that matches a regular expression pattern
REGEXTESTReturns TRUE if text matches a regular expression pattern
REPLACEReplaces part of a text string with new text, by position
REPLACEBReplaces text by byte position when using double-byte languages
REPTRepeats a text string a given number of times
RIGHTReturns the rightmost N characters of a text string
RIGHTBReturns characters from the right, measured by bytes in double-byte languages
SEARCHReturns the position of one text string inside another (not case-sensitive, supports wildcards)
SEARCHBFinds text without case sensitivity using byte positions for double-byte languages
SUBSTITUTEReplaces specific text inside a string with new text
TReturns the text value of an argument, or empty if it is not text
TEXTConverts a number to text using a chosen format string
TEXTAFTERReturns the text after a given delimiter
TEXTBEFOREReturns the text before a given delimiter
TEXTJOINJoins text values with a chosen delimiter, with the option to skip empty cells
TEXTSPLITSplits text into rows or columns by a delimiter
TRANSLATEConverts text from one language to another using language codes
TRIMRemoves extra spaces from text, leaving single spaces between words
UNICHARReturns the character that matches a given Unicode number
UNICODEReturns the Unicode number of the first character in a string
UPPERConverts text to uppercase
VALUEConverts a text string that looks like a number into a real number
VALUETOTEXTReturns the text representation of any value

Date & Time Functions

Use these for any calendar math: aging, deadlines, business-day calculations, age from a birthdate, date differences, day-of-week logic.

FunctionDescription
DATEBuilds a date from a year, month, and day
DATEDIFReturns the difference between two dates in years, months, or days
DATEVALUEConverts a date stored as text into a real date serial number
DAYReturns the day of the month from a date
DAYSReturns the number of days between two dates
DAYS360Returns the number of days between two dates assuming a 360-day year
EDATEReturns the date N months before or after a given date
EOMONTHReturns the last day of the month, N months before or after a date
HOURReturns the hour from a time value
ISOWEEKNUMReturns the ISO week number of a date
MINUTEReturns the minute from a time value
MONTHReturns the month from a date
NETWORKDAYSReturns the number of working days between two dates
NETWORKDAYS.INTLLike NETWORKDAYS but lets you customize which days count as weekends
NOWReturns the current date and time
SECONDReturns the second from a time value
TIMEBuilds a time from an hour, minute, and second
TIMEVALUEConverts a time stored as text into a real time serial number
TODAYReturns the current date
WEEKDAYReturns the day of the week as a number from 1 to 7
WEEKNUMReturns the week number of a date in the year
WORKDAYReturns the date N working days before or after a given date
WORKDAY.INTLLike WORKDAY with custom weekend definitions
YEARReturns the year from a date
YEARFRACReturns the fraction of a year between two dates

Math & Trig Functions

Use these for arithmetic, rounding, randomization, and trigonometry. SUM is the famous one, but there are dozens of rounding and randomization helpers most people never discover.

FunctionDescription
ABSReturns the absolute value of a number
ACOSReturns the arccosine of a number
ACOSHReturns the inverse hyperbolic cosine of a number
ACOTReturns the inverse cotangent of a number
ACOTHReturns the inverse hyperbolic cotangent of a number
AGGREGATELike SUBTOTAL but with more functions and the ability to ignore errors
ARABICConverts a Roman numeral string to an Arabic number
ASINReturns the arcsine of a number
ASINHReturns the inverse hyperbolic sine of a number
ATANReturns the arctangent of a number
ATAN2Returns the arctangent from x and y coordinates
ATANHReturns the inverse hyperbolic tangent of a number
BASEConverts a number to text in a given numeric base
CEILINGRounds a number up to the nearest multiple
CEILING.MATHRounds up with control over how negatives are handled
CEILING.PRECISERounds up to a multiple, even when the number is negative
COMBINReturns the number of combinations of a given size
COMBINAReturns combinations with repetitions allowed
COSReturns the cosine of an angle
COSHReturns the hyperbolic cosine of a number
COTReturns the cotangent of an angle in radians
COTHReturns the hyperbolic cotangent of a number
CSCReturns the cosecant of an angle in radians
CSCHReturns the hyperbolic cosecant of a number
DECIMALConverts text in a given base to a decimal number
DEGREESConverts radians to degrees
EVENRounds a number up to the nearest even integer
EXPReturns e raised to a given power
FACTReturns the factorial of a number
FACTDOUBLEReturns the double factorial of a number
FLOORRounds a number down to the nearest multiple
FLOOR.MATHRounds down with control over how negatives are handled
FLOOR.PRECISERounds down to a multiple, even when the number is negative
GCDReturns the greatest common divisor of a set of numbers
INTRounds a number down to the nearest integer
ISO.CEILINGMatches CEILING.PRECISE for compatibility with the ISO standard
LCMReturns the least common multiple of a set of numbers
LNReturns the natural logarithm of a number
LOGReturns the logarithm of a number to a given base
LOG10Returns the base-10 logarithm of a number
MDETERMReturns the matrix determinant of an array
MINVERSEReturns the matrix inverse of an array
MMULTReturns the matrix product of two arrays
MODReturns the remainder after a division
MROUNDRounds a number to the nearest multiple of another number
MULTINOMIALReturns the multinomial value for a group of numbers
MUNITReturns an identity matrix of a given size
ODDRounds a number up to the nearest odd integer
PERCENTOFReturns each value as a percent of the total
PIReturns the value of pi
POWERRaises a number to a given power
PRODUCTMultiplies its arguments together
QUOTIENTReturns the integer portion of a division
RADIANSConverts degrees to radians
RANDReturns a random number between 0 and 1
RANDARRAYReturns an array of random numbers
RANDBETWEENReturns a random integer between two bounds
ROMANConverts an Arabic numeral to Roman numerals as text
ROUNDRounds a number to a given number of decimal places
ROUNDDOWNRounds a number down, toward zero
ROUNDUPRounds a number up, away from zero
SECReturns the secant of an angle in radians
SECHReturns the hyperbolic secant of a number
SEQUENCEReturns an array of sequential numbers
SERIESSUMReturns the sum of a power series
SIGNReturns 1, 0, or -1 depending on the sign of the number
SINReturns the sine of an angle
SINHReturns the hyperbolic sine of a number
SQRTReturns the square root of a number
SQRTPIReturns the square root of a number multiplied by pi
SUBTOTALReturns a subtotal of a range, ignoring other subtotals
SUMAdds up numbers in a range
SUMIFAdds numbers that meet a single condition
SUMIFSAdds numbers that meet multiple conditions
SUMPRODUCTMultiplies arrays element by element and returns the sum of the products
SUMSQReturns the sum of the squares of its arguments
SUMX2MY2Returns the sum of the difference of squares of two arrays
SUMX2PY2Returns the sum of the sum of squares of two arrays
SUMXMY2Returns the sum of squares of differences of two arrays
TANReturns the tangent of an angle
TANHReturns the hyperbolic tangent of a number
TRUNCRemoves the decimal portion of a number

Statistical Functions

Use these whenever you need to summarize a column of numbers. Averages, counts, ranks, percentiles, regressions, distributions. The IF and IFS variants like COUNTIF and AVERAGEIFS are the everyday workhorses.

FunctionDescription
AVEDEVReturns the average of absolute deviations from the mean
AVERAGEReturns the arithmetic mean of a range
AVERAGEALike AVERAGE but counts text and logical values as zero
AVERAGEIFReturns the average of cells that meet a single condition
AVERAGEIFSReturns the average of cells that meet multiple conditions
BETA.DISTReturns the beta distribution probability
BETA.INVReturns the beta distribution value for a given cumulative probability
BINOM.DISTReturns the binomial distribution probability
BINOM.DIST.RANGEReturns the probability of successes falling within a specified range
BINOM.INVReturns the fewest successes whose cumulative binomial probability meets a threshold
CHISQ.DISTReturns the chi-square distribution
CHISQ.DIST.RTReturns the right-tailed probability for a chi-square distribution
CHISQ.INVReturns the inverse of the chi-square distribution
CHISQ.INV.RTReturns the chi-square value for a given right-tailed probability
CHISQ.TESTReturns the probability from a chi-square test for independence
CONFIDENCE.NORMReturns the confidence interval for a normal distribution
CONFIDENCE.TReturns a confidence interval margin using Student’s t distribution
CORRELReturns the correlation coefficient between two ranges
COUNTCounts the cells in a range that contain numbers
COUNTACounts non-empty cells in a range
COUNTBLANKCounts empty cells in a range
COUNTIFCounts cells that meet a single condition
COUNTIFSCounts cells that meet multiple conditions
COVARIANCE.PReturns the population covariance of two ranges
COVARIANCE.SReturns the sample covariance of two ranges
DEVSQReturns the sum of squared deviations from the mean
EXPON.DISTReturns the exponential distribution probability
F.DISTReturns the F probability distribution
F.DIST.RTReturns the right-tailed probability for an F distribution
F.INVReturns the inverse of the F distribution
F.INV.RTReturns the F value for a given right-tailed probability
F.TESTReturns the probability that two data sets have equal variances
FISHERReturns the Fisher transformation of a correlation value
FISHERINVReturns the inverse Fisher transformation of a value
FORECASTLegacy function that predicts a value using linear regression; replaced by FORECAST.LINEAR
FORECAST.ETSPredicts a future value using exponential smoothing
FORECAST.ETS.CONFINTReturns the confidence interval for an ETS forecast value
FORECAST.ETS.SEASONALITYReturns the repeating pattern length detected in a time series
FORECAST.ETS.STATReturns a requested statistic from an ETS time-series forecast
FORECAST.LINEARPredicts a future value using linear regression
FREQUENCYReturns a frequency distribution as an array
GAMMAReturns the gamma function value for a number
GAMMA.DISTReturns the gamma distribution probability
GAMMA.INVReturns the gamma distribution value for a given cumulative probability
GAMMALNReturns the natural logarithm of a number’s gamma function
GAMMALN.PRECISEReturns a more precise natural logarithm of a number’s gamma function
GAUSSReturns the standard normal cumulative probability minus 0.5
GEOMEANReturns the geometric mean of a range
GROWTHReturns predicted values along an exponential trend
HARMEANReturns the harmonic mean of a range
HYPGEOM.DISTReturns the hypergeometric distribution probability
INTERCEPTReturns the y-intercept of a linear regression line
KURTReturns the kurtosis of a distribution
LARGEReturns the Nth largest value in a range
LINESTReturns the parameters of a linear best-fit line
LOGESTReturns the parameters of an exponential best-fit curve
LOGNORM.DISTReturns the cumulative or density probability for a lognormal distribution
LOGNORM.INVReturns the lognormal value for a given cumulative probability
MAXReturns the largest number in a range
MAXALike MAX but counts text and logical values
MAXIFSReturns the maximum of cells that meet multiple conditions
MEDIANReturns the middle value in a range
MINReturns the smallest number in a range
MINALike MIN but counts text and logical values
MINIFSReturns the minimum of cells that meet multiple conditions
MODE.MULTReturns an array of the most common values in a range
MODE.SNGLReturns the single most common value in a range
NEGBINOM.DISTReturns the probability of failures before a specified number of successes
NORM.DISTReturns the normal distribution probability
NORM.INVReturns the inverse of the normal distribution
NORM.S.DISTReturns the standard normal distribution
NORM.S.INVReturns the inverse of the standard normal distribution
PEARSONReturns the Pearson correlation coefficient
PERCENTILE.EXCReturns the Nth percentile of a range, exclusive
PERCENTILE.INCReturns the Nth percentile of a range, inclusive
PERCENTRANK.EXCReturns the percentile rank of a value, exclusive
PERCENTRANK.INCReturns the percentile rank of a value, inclusive
PERMUTReturns the number of permutations of a given size
PERMUTATIONAReturns permutations with repetitions allowed
PHIReturns the density value for the standard normal distribution
POISSON.DISTReturns the Poisson distribution probability
PROBReturns the probability that values fall within a given range
QUARTILE.EXCReturns the quartile of a range, exclusive
QUARTILE.INCReturns the quartile of a range, inclusive
RANK.AVGReturns the average rank of a number when there are ties
RANK.EQReturns the rank of a number in a list, with ties getting the same rank
RSQReturns the squared Pearson correlation coefficient
SKEWReturns the skewness of a distribution
SKEW.PReturns the skewness of a population
SLOPEReturns the slope of a linear regression line
SMALLReturns the Nth smallest value in a range
STANDARDIZEReturns a normalized z-score
STDEV.PReturns the population standard deviation
STDEV.SReturns the sample standard deviation
STDEVALike STDEV.S but counts text and logical values
STDEVPALike STDEV.P but counts text and logical values
STEYXReturns the standard error of predicted y-values in a regression
T.DISTReturns the Student t distribution
T.DIST.2TReturns the two-tailed probability for Student’s t distribution
T.DIST.RTReturns the right-tailed probability for Student’s t distribution
T.INVReturns the inverse of the Student t distribution
T.INV.2TReturns the t value for a given two-tailed probability
T.TESTReturns the probability associated with a Student’s t-Test
TRENDReturns predicted values along a linear trend
TRIMMEANReturns the mean of a range with the top and bottom percentages excluded
VAR.PReturns the population variance
VAR.SReturns the sample variance
VARALike VAR.S but counts text and logical values
VARPALike VAR.P but counts text and logical values
WEIBULL.DISTReturns the cumulative or density probability for a Weibull distribution
Z.TESTReturns the one-tailed probability from a z-test

Financial Functions

Use these for loans, savings, investments, depreciation, and bond pricing. PMT is the most-used; the rest cover the long tail of finance work.

FunctionDescription
ACCRINTReturns the accrued interest on a security that pays periodic interest
ACCRINTMReturns the accrued interest on a security that pays at maturity
AMORDEGRCReturns accounting-period depreciation using a coefficient based on asset life
AMORLINCReturns straight-line depreciation for each accounting period
COUPDAYBSReturns the days from the start of the coupon period to the settlement date
COUPDAYSReturns the days in the coupon period containing the settlement date
COUPDAYSNCReturns the days from settlement to the next coupon date
COUPNCDReturns the next coupon date after settlement
COUPNUMReturns the number of coupons payable between settlement and maturity
COUPPCDReturns the previous coupon date before settlement
CUMIPMTReturns the cumulative interest paid between two periods
CUMPRINCReturns the cumulative principal paid between two periods
DBReturns the depreciation of an asset using the fixed-declining-balance method
DDBReturns the depreciation using the double-declining-balance method
DISCReturns the discount rate for a security
DOLLARDEConverts a dollar price expressed as a fraction to a decimal
DOLLARFRConverts a dollar price expressed as a decimal to a fraction
DURATIONReturns the Macaulay duration of a security
EFFECTReturns the effective annual interest rate
FVReturns the future value of an investment
FVSCHEDULEReturns the future value with a series of variable interest rates
INTRATEReturns the interest rate for a fully invested security
IPMTReturns the interest portion of a loan payment for a given period
IRRReturns the internal rate of return for a series of cash flows
ISPMTReturns interest paid during a specific investment period
MDURATIONReturns the modified Macaulay duration of a security
MIRRReturns the modified internal rate of return
NOMINALReturns the nominal annual interest rate
NPERReturns the number of periods in a loan or annuity
NPVReturns the net present value of a series of cash flows
ODDFPRICEReturns the price per $100 face value of a security with an odd first period
ODDFYIELDReturns the yield of a security with an odd first period
ODDLPRICEReturns the price per $100 face value of a security with an odd last period
ODDLYIELDReturns the yield of a security with an odd last period
PDURATIONReturns the number of periods required for an investment to reach a target value
PMTReturns the periodic payment for a loan or annuity
PPMTReturns the principal portion of a loan payment for a given period
PRICEReturns the price per $100 face value of a security with periodic interest
PRICEDISCReturns the price per $100 face value of a discounted security
PRICEMATReturns the price per $100 face value of a security that pays interest at maturity
PVReturns the present value of an investment
RATEReturns the interest rate per period of a loan or annuity
RECEIVEDReturns the amount received at maturity for a fully invested security
RRIReturns the equivalent interest rate for the growth of an investment
SLNReturns the straight-line depreciation of an asset
SYDReturns the sum-of-years depreciation of an asset
TBILLEQReturns the bond-equivalent yield for a Treasury bill
TBILLPRICEReturns the price per $100 face value for a Treasury bill
TBILLYIELDReturns the yield for a Treasury bill
VDBReturns the depreciation using a variable declining-balance method
XIRRReturns the IRR for cash flows on irregular dates
XNPVReturns the net present value for cash flows on irregular dates
YIELDReturns the yield on a security that pays periodic interest
YIELDDISCReturns the annual yield for a discounted security
YIELDMATReturns the annual yield of a security that pays interest at maturity

Information Functions

Use these to check what is in a cell before doing something with it. The IS-prefixed family is the bread and butter. Almost always paired with IF.

FunctionDescription
CELLReturns information about a cell’s formatting, location, or contents
ERROR.TYPEReturns a number indicating which error a value is
INFOReturns information about the current operating environment
ISBLANKReturns TRUE if the cell is empty
ISERRReturns TRUE if the value is any error except #N/A
ISERRORReturns TRUE if the value is any error
ISEVENReturns TRUE if the number is even
ISFORMULAReturns TRUE if the cell contains a formula
ISLOGICALReturns TRUE if the value is a logical value
ISNAReturns TRUE if the value is the #N/A error
ISNONTEXTReturns TRUE if the value is not text
ISNUMBERReturns TRUE if the value is a number
ISODDReturns TRUE if the number is odd
ISOMITTEDIn LAMBDA, returns TRUE if the argument is missing
ISREFReturns TRUE if the value is a reference
ISTEXTReturns TRUE if the value is text
NConverts a value to a number
NAReturns the #N/A error
SHEETReturns the sheet number of a referenced sheet
SHEETSReturns the number of sheets in a reference
STOCKHISTORYReturns historical price data for a financial instrument over a date range
TYPEReturns a number indicating the data type of a value

Database Functions

Use these when you have a table with field headers and need to run a quick query against it. They are not commonly used today. Pivot tables and FILTER have largely replaced them, but they remain in Excel for backward compatibility.

FunctionDescription
DAVERAGEAverages values in a database column that match given criteria
DCOUNTCounts numeric values in a database column that match given criteria
DCOUNTACounts non-empty cells in a database column that match given criteria
DGETReturns a single value from a database column that matches the criteria
DMAXReturns the maximum value in a database column that matches the criteria
DMINReturns the minimum value in a database column that matches the criteria
DPRODUCTMultiplies values in a database column that match the criteria
DSTDEVReturns the sample standard deviation of matching values
DSTDEVPReturns the population standard deviation of matching values
DSUMSums values in a database column that match given criteria
DVARReturns the sample variance of matching values
DVARPReturns the population variance of matching values

Engineering Functions

Use these for number-base conversion, complex numbers, bitwise math, and unit conversion. Most spreadsheets never need them, but if you work in engineering or hardware, they save real time.

FunctionDescription
BESSELIReturns the modified Bessel function I for a number and order
BESSELJReturns the Bessel function J for a number and order
BESSELKReturns the modified Bessel function K for a number and order
BESSELYReturns the Bessel function Y for a number and order
BIN2DECConverts a binary number to decimal
BIN2HEXConverts a binary number to hexadecimal
BIN2OCTConverts a binary number to octal
BITANDBitwise AND of two numbers
BITLSHIFTShifts a number left by a given number of bits
BITORBitwise OR of two numbers
BITRSHIFTShifts a number right by a given number of bits
BITXORBitwise exclusive OR of two numbers
COMPLEXBuilds a complex number from real and imaginary parts
CONVERTConverts a number from one unit of measure to another
DEC2BINConverts a decimal number to binary
DEC2HEXConverts a decimal number to hexadecimal
DEC2OCTConverts a decimal number to octal
DELTAReturns 1 if two numbers are equal, 0 otherwise
ERFReturns the error function
ERF.PRECISEReturns the error function (more precise)
ERFCReturns the complementary error function
ERFC.PRECISEReturns the complementary error function (more precise)
GESTEPReturns 1 if a number is greater than or equal to a step, 0 otherwise
HEX2BINConverts a hexadecimal number to binary
HEX2DECConverts a hexadecimal number to decimal
HEX2OCTConverts a hexadecimal number to octal
IMABSReturns the absolute value of a complex number
IMAGINARYReturns the imaginary part of a complex number
IMARGUMENTReturns the angle of a complex number in radians
IMCONJUGATEReturns the complex conjugate of a complex number
IMCOSReturns the cosine of a complex number
IMCOSHReturns the hyperbolic cosine of a complex number
IMCOTReturns the cotangent of a complex number
IMCSCReturns the cosecant of a complex number
IMCSCHReturns the hyperbolic cosecant of a complex number
IMDIVDivides complex numbers
IMEXPReturns the exponential of a complex number
IMLNReturns the natural log of a complex number
IMLOG10Returns the base-10 log of a complex number
IMLOG2Returns the base-2 log of a complex number
IMPOWERRaises a complex number to a power
IMPRODUCTMultiplies complex numbers
IMREALReturns the real part of a complex number
IMSECReturns the secant of a complex number
IMSECHReturns the hyperbolic secant of a complex number
IMSINReturns the sine of a complex number
IMSINHReturns the hyperbolic sine of a complex number
IMSQRTReturns the square root of a complex number
IMSUBSubtracts complex numbers
IMSUMSums complex numbers
IMTANReturns the tangent of a complex number
OCT2BINConverts an octal number to binary
OCT2DECConverts an octal number to decimal
OCT2HEXConverts an octal number to hexadecimal

Web Functions

Use these to pull live data from the internet directly into a worksheet. WEBSERVICE is the most flexible; FILTERXML pairs with it to parse the response.

FunctionDescription
ENCODEURLReturns a URL-encoded string
FILTERXMLReturns specific data from XML content using XPath
WEBSERVICEReturns data from a web service

Cube Functions

Use these to retrieve values and details from Analysis Services or Power Pivot. You only need them when your workbook connects to one of those sources.

FunctionDescription
CUBEKPIMEMBERReturns a KPI property and displays its name from a data model
CUBEMEMBERReturns a member or tuple from a data model
CUBEMEMBERPROPERTYReturns a specified property for a data model member
CUBERANKEDMEMBERReturns the member at a specified rank within a data model set
CUBESETCreates a set of members or tuples from a data model
CUBESETCOUNTCounts the items in a data model set
CUBEVALUEReturns an aggregated value from a data model

Compatibility Functions

These older functions still work, but Microsoft has replaced them with newer versions. You will find the replacements in their regular categories above. Other replaced functions are left off this page because we do not have tutorials for them.

FunctionDescription
PERCENTILELegacy function that returns a percentile value; replaced by PERCENTILE.INC
RANKLegacy function that returns a number’s rank in a list; replaced by RANK.EQ
STDEVLegacy function that returns the sample standard deviation; replaced by STDEV.S
VARLegacy function that returns the sample variance; replaced by VAR.S

Frequently asked questions

How many functions does Excel have? There are over 450 built-in functions in Excel, depending on which version you have. Excel 365 has the most because Microsoft keeps adding dynamic-array and lambda-related functions. Older versions like Excel 2016 and 2019 are missing the dynamic-array family.

Which Excel functions should I learn first? Start with SUM, AVERAGE, COUNT, IF, VLOOKUP (or XLOOKUP), CONCATENATE (or CONCAT), LEFT, RIGHT, MID, and TODAY. These ten cover most everyday spreadsheet work. After that, learn SUMIF, COUNTIF, INDEX/MATCH, and the IS-family of information functions.

What is the difference between a function and a formula in Excel? A formula is anything that starts with an equals sign and produces a result. A function is a built-in operation Excel provides, like SUM or VLOOKUP. So =A1+B1 is a formula but not a function. =SUM(A1:B1) is a formula that uses a function.

Are some Excel functions only available in newer versions? Yes. Dynamic-array functions like FILTER, SORT, UNIQUE, SEQUENCE, and the LAMBDA-related family are only available in Excel 365 and Excel 2021. If you open a workbook that uses these in older Excel, you will see the result locked in place but you cannot edit the formula.

What is the most useful Excel function? For most people, IF or VLOOKUP. IF lets you build conditional logic, and VLOOKUP (or its modern replacement XLOOKUP) lets you pull data from other tables. Together they cover an enormous percentage of practical spreadsheet work.

How do I know which function to use? Open the Formulas tab in the ribbon and browse by category. Each category lists the functions and Excel shows a tooltip describing what each one does. The list on this page is grouped the same way, so once you find the category, you can scan for the function you need.