Skip to content
Excel

Excel

Function reference

499 Excel functions grouped by category. Open one to see its syntax, an example and when to use it.

  • 499 Functions
  • 13 Categories
  • 49 Frequently used

Lookup and reference36

ADDRESSBuilds a cell address as text from a row number and a column number.

ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])

=ADDRESS(2,3)→ "$C$2"
AREASReturns the number of areas in a reference, where an area is a contiguous range or a single cell.

AREAS(reference)

=AREAS((A1:B2,C3:D4))→ 2
CHOOSEReturns a value from a list of arguments based on an index number.

CHOOSE(index_num, value1, [value2], ...)

=CHOOSE(2,"A","B","C")→ "B"

Use it for: Turn a month number into a quarter, or a weekday number into a day name.

CHOOSECOLSReturns the specified columns from an array or range.Microsoft 365

CHOOSECOLS(array, col_num1, [col_num2], ...)

=CHOOSECOLS(A1:E10,1,3)
CHOOSEROWSReturns the specified rows from an array or range.Microsoft 365

CHOOSEROWS(array, row_num1, [row_num2], ...)

=CHOOSEROWS(A1:E10,1,5)
COLUMNReturns the column number of a cell reference.

COLUMN([reference])

=COLUMN(C5)→ 3
COLUMNSReturns the number of columns in a range or array.

COLUMNS(array)

=COLUMNS(A1:E10)→ 5
DROPReturns an array after removing a set number of rows or columns from its start or end.Microsoft 365

DROP(array, rows, [columns])

=DROP(A1:E10,2)
EXPANDExpands an array to the given number of rows and columns and fills the new cells with a padding value (#N/A by default).Microsoft 365

EXPAND(array, rows, [columns], [pad_with])

=EXPAND(A1:B2,3,3,0)
FILTERFilters a range by a condition and returns the matching rows as a dynamic array.Microsoft 365

FILTER(array, include, [if_empty])

=FILTER(A:C,B:B>1000)→ Rows where column B is greater than 1000

Use it for: Show a list of sales over 1,000 that updates itself when the data changes.

FORMULATEXTReturns the formula in the referenced cell as text.Excel 2013

FORMULATEXT(reference)

=FORMULATEXT(B2)

Use it for: Display a formula next to its result for workbook documentation or teaching material.

GETPIVOTDATAReturns data shown in a PivotTable based on the fields and items you name.

GETPIVOTDATA(data_field, pivot_table, ...)

=GETPIVOTDATA("Sales",A3,"Region","KL")
HLOOKUPSearches the first row of a table and returns a value from the row you specify in the same column; in Microsoft 365, XLOOKUP is more flexible.

HLOOKUP(lookup_value, table_array, row_index, [range_lookup])

=HLOOKUP("Jan",A1:M5,3,FALSE)
HSTACKStacks arrays side by side horizontally into a single array.Microsoft 365

HSTACK(array1, [array2], ...)

=HSTACK(A1:A5,B1:B5)
IMAGEInserts an image from a URL into a cell.Microsoft 365

IMAGE(source, [alt_text], [sizing], [height], [width])

=IMAGE("https://example.com/logo.png")
INDEXReturns the value or reference at the intersection of a given row and column in a range.

INDEX(array, row_num, [column_num])

=INDEX(A:C,5,2)

Use it for: Combine with MATCH for two-way lookups or lookups to the left.

INDIRECTConverts a text string into a cell or range reference.

INDIRECT(ref_text, [a1])

=INDIRECT("A"&B1)

Use it for: Pull data from a sheet whose name is typed in a cell, such as a monthly report sheet.

LOOKUPSearches a single row or column sorted in ascending order and returns the value in the same position from a second row or column.

LOOKUP(lookup_value, lookup_vector, [result_vector])

=LOOKUP("Apple",A:A,B:B)
MATCHReturns the relative position of a value in a range.

MATCH(lookup_value, lookup_array, [match_type])

=MATCH("Apple",A:A,0)

Use it for: Pair with INDEX to find a row or column number dynamically.

OFFSETReturns a reference shifted a given number of rows and columns from a starting cell, with an optional height and width.

OFFSET(reference, rows, cols, [height], [width])

=OFFSET(A1,5,2)

Use it for: Build a dynamic range, such as a rolling 12-month total that moves as new data is added.

ROWReturns the row number of a cell reference.

ROW([reference])

=ROW(B5)→ 5
ROWSReturns the number of rows in a range or array.

ROWS(array)

=ROWS(A1:A10)→ 10
SORTSorts the contents of a range or array, and the result updates when the source data changes.Microsoft 365

SORT(array, [sort_index], [sort_order], [by_col])

=SORT(A2:B10,2,-1)→ The range sorted by column 2, descending
SORTBYSorts a range or array based on the values in a corresponding range.Microsoft 365

SORTBY(array, by_array1, [sort_order1], ...)

=SORTBY(A2:A10,B2:B10,-1)
TAKEReturns a set number of rows or columns from the start or end of an array.Microsoft 365

TAKE(array, rows, [columns])

=TAKE(A:C,5)→ First 5 rows
TOCOLReturns an array as a single column.Microsoft 365

TOCOL(array, [ignore], [scan_by_column])

=TOCOL(A1:C3)
TOROWReturns an array as a single row.Microsoft 365

TOROW(array, [ignore], [scan_by_column])

=TOROW(A1:C3)
TRANSPOSESwitches rows to columns and columns to rows.

TRANSPOSE(array)

=TRANSPOSE(A1:E1)→ A horizontal row becomes a vertical column
UNIQUEReturns a list of unique values from a range or array.Microsoft 365

UNIQUE(array, [by_col], [exactly_once])

=UNIQUE(A:A)→ List of unique values in column A
VLOOKUPSearches the first column of a table and returns a value from the column you specify in the same row; set the last argument to FALSE or 0 for an exact match.

VLOOKUP(lookup_value, table, col_index, [exact])

=VLOOKUP(A2,Products,3,FALSE)→ Value from column 3 of Products for an exact match on A2

Use it for: Look up a product's price or name from its product code.

VSTACKStacks arrays vertically, one below the other, into a single array.Microsoft 365

VSTACK(array1, [array2], ...)

=VSTACK(A1:A5,B1:B5)
WRAPCOLSRearranges a single row or column of values into a two-dimensional array, column by column, after a set number of values.Microsoft 365

WRAPCOLS(vector, wrap_count, [pad_with])

=WRAPCOLS(A1:A12,3)
WRAPROWSRearranges a single row or column of values into a two-dimensional array, row by row, after a set number of values.Microsoft 365

WRAPROWS(vector, wrap_count, [pad_with])

=WRAPROWS(A1:A12,4)
XLOOKUPSearches a range and returns the item at the matching position in another range, with exact match by default, lookups to the left, and a fallback value when nothing is found.Microsoft 365

XLOOKUP(lookup, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])

=XLOOKUP(A2,Codes,Prices,"NA")

Use it for: Replace VLOOKUP in new workbooks, for example to find a price from a product code.

XMATCHReturns the relative position of a value in a range, with exact match by default plus wildcard matching and searching from the end.Microsoft 365

XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])

=XMATCH("Apple",A:A)

Logical19

ANDReturns TRUE if all arguments are TRUE, and FALSE if any argument is FALSE.

AND(logical1, [logical2], ...)

=IF(AND(B2>500,C2<100),"OK","No")

Use it for: Checking that a record meets several conditions at once, such as sales above target and complaints below a limit.

BYCOLApplies a LAMBDA to each column of an array and returns one result per column.Microsoft 365

BYCOL(array, lambda)

=BYCOL(A1:C10,LAMBDA(c,SUM(c)))
BYROWApplies a LAMBDA to each row of an array and returns one result per row.Microsoft 365

BYROW(array, lambda)

=BYROW(A1:C10,LAMBDA(r,SUM(r)))
FALSEReturns the logical value FALSE.

FALSE()

=FALSE()
IFTests a condition and returns one value if it is true and another value if it is false.

IF(logical_test, value_if_true, value_if_false)

=IF(B2>1000,"High","Low")

Use it for: Marking each student as Pass or Fail based on a minimum score.

IFERRORReturns a value you specify if a formula produces an error, and the result of the formula otherwise.

IFERROR(value, value_if_error)

=IFERROR(A2/B2,0)→ 0 if A2/B2 returns an error such as #DIV/0!

Use it for: Showing 0 or a blank on a dashboard instead of #DIV/0! or #N/A.

IFNAReturns a value you specify only when a formula results in the #N/A error, and the result of the formula otherwise.Excel 2013

IFNA(value, value_if_na)

=IFNA(VLOOKUP(A2,D,2,0),"Not Found")
IFSChecks several conditions in order and returns the value for the first one that is true, without nesting IF functions.Excel 2019

IFS(condition1, value1, [condition2, value2], ...)

=IFS(B2>=80,"A",B2>=60,"B",TRUE,"C")

Use it for: Converting exam scores into A, B, or C grades.

LAMBDACreates a reusable custom function with its own parameters and calculation, without VBA.Microsoft 365

LAMBDA([parameter1, parameter2, ...], calculation)

=LAMBDA(x,x*2)(5)→ 10
LETAssigns names to values or intermediate calculations inside a formula so they can be reused and the formula is easier to read.Microsoft 365

LET(name1, value1, [name2, value2], ..., calculation)

=LET(x,B2,x*0.06)

Use it for: Shortening a long formula that repeats the same lookup several times.

MAKEARRAYReturns an array with the number of rows and columns you specify, with each value calculated by a LAMBDA.Microsoft 365

MAKEARRAY(rows, cols, lambda)

=MAKEARRAY(3,3,LAMBDA(r,c,r*c))
MAPApplies a LAMBDA to each value in one or more arrays and returns an array of results of the same size.Microsoft 365

MAP(array1, [array2], ..., lambda)

=MAP(A1:A5,LAMBDA(x,x*2))
NOTReverses the logical value of its argument, turning TRUE into FALSE and FALSE into TRUE.

NOT(logical)

=NOT(B2=0)
ORReturns TRUE if at least one argument is TRUE, and FALSE if all arguments are FALSE.

OR(logical1, [logical2], ...)

=IF(OR(B2="VIP",C2>10000),"Priority","Normal")
REDUCEReduces an array to a single accumulated value by applying a LAMBDA to each value together with an accumulator.Microsoft 365

REDUCE([initial_value], array, lambda)

=REDUCE(0,A1:A5,LAMBDA(acc,x,acc+x))
SCANApplies a LAMBDA to each value in an array and returns an array of every intermediate accumulator value, such as a running total.Microsoft 365

SCAN([initial_value], array, lambda)

=SCAN(0,A1:A5,LAMBDA(a,x,a+x))→ Running total of A1:A5
SWITCHCompares an expression against a list of values and returns the result for the first match, or a default value if nothing matches.Excel 2019

SWITCH(expression, value1, result1, [value2, result2], ..., [default])

=SWITCH(A2,"Jan",1,"Feb",2,"Mar",3,0)
TRUEReturns the logical value TRUE.

TRUE()

=TRUE()
XORReturns TRUE when an odd number of arguments are TRUE, and FALSE when an even number are.Excel 2013

XOR(logical1, [logical2], ...)

=XOR(TRUE,FALSE)→ TRUE

Math and trigonometry80

ABSReturns the absolute value of a number, which is the number without its sign.

ABS(number)

=ABS(-15)→ 15

Use it for: Measuring how far actual spending differs from the budget, regardless of whether it is over or under.

ACOSReturns the arccosine of a number between -1 and 1 as an angle in radians from 0 to π.

ACOS(number)

=ACOS(0.5)→ ≈ 1.047 (60°)
ACOSHReturns the inverse hyperbolic cosine of a number greater than or equal to 1.

ACOSH(number)

=ACOSH(1)
ACOTReturns the arccotangent of a number as an angle in radians between 0 and π.Excel 2013

ACOT(number)

=ACOT(2)
ACOTHReturns the inverse hyperbolic cotangent of a number whose absolute value is greater than 1.Excel 2013

ACOTH(number)

=ACOTH(6)
AGGREGATEApplies one of 19 aggregate calculations, such as SUM or AVERAGE, with options to ignore errors, hidden rows, or nested SUBTOTAL results.Excel 2010

AGGREGATE(function_num, options, ref1, ...)

=AGGREGATE(9,6,B2:B10)→ Sum of B2:B10, ignoring errors

Use it for: Totaling a sales column on a dashboard even when some cells contain errors such as #N/A.

ARABICConverts a Roman numeral written as text into an Arabic number.Excel 2013

ARABIC(text)

=ARABIC("MCMXC")→ 1990
ASINReturns the arcsine of a number between -1 and 1 as an angle in radians from -π/2 to π/2.

ASIN(number)

=ASIN(1)→ ≈ 1.571 (90°)
ASINHReturns the inverse hyperbolic sine of a number.

ASINH(number)

=ASINH(1)
ATANReturns the arctangent of a number as an angle in radians between -π/2 and π/2.

ATAN(number)

=ATAN(1)→ ≈ 0.785 (45°)
ATAN2Returns the arctangent of the given x and y coordinates as an angle in radians between -π and π.

ATAN2(x_num, y_num)

=ATAN2(1,1)→ ≈ 0.785 (45°)
ATANHReturns the inverse hyperbolic tangent of a number between -1 and 1.

ATANH(number)

=ATANH(0.5)
BASEConverts a number into its text representation in the given base (radix), such as base 2 for binary.Excel 2013

BASE(number, radix, [min_length])

=BASE(15,2)→ "1111" (binary)
CEILINGRounds a number up to the nearest multiple of significance and has been superseded by CEILING.MATH.

CEILING(number, significance)

=CEILING(2.5,1)→ 3
CEILING.MATHRounds a number up to the nearest integer or to the nearest multiple of significance.Excel 2013

CEILING.MATH(number, [significance], [mode])

=CEILING.MATH(4.3)→ 5
CEILING.PRECISERounds a number toward positive infinity to the nearest integer or multiple, regardless of the sign of the number.Excel 2010

CEILING.PRECISE(number, [significance])

=CEILING.PRECISE(-4.3)→ -4
COMBINReturns the number of ways to choose a given number of items from a set without repetition, where order does not matter (nCr).

COMBIN(number, number_chosen)

=COMBIN(8,2)→ 28

Use it for: Counting how many matches are needed when 8 teams each play every other team once.

COMBINAReturns the number of combinations, with repetition allowed, for choosing a given number of items from a set.Excel 2013

COMBINA(number, number_chosen)

=COMBINA(4,3)→ 20
COSReturns the cosine of an angle given in radians.

COS(number)

=COS(0)→ 1
COSHReturns the hyperbolic cosine of a number.

COSH(number)

=COSH(1)
COTReturns the cotangent of an angle given in radians, equal to 1/TAN(number).Excel 2013

COT(number)

=COT(1)
COTHReturns the hyperbolic cotangent of a number.Excel 2013

COTH(number)

=COTH(1)
CSCReturns the cosecant of an angle given in radians, equal to 1/SIN(number).Excel 2013

CSC(number)

=CSC(1)
CSCHReturns the hyperbolic cosecant of a number.Excel 2013

CSCH(number)

=CSCH(1)
DECIMALConverts a text representation of a number in a given base into a decimal (base 10) number.Excel 2013

DECIMAL(text, radix)

=DECIMAL("FF",16)→ 255
DEGREESConverts an angle from radians to degrees.

DEGREES(angle)

=DEGREES(PI())→ 180
EVENRounds a number away from zero to the nearest even integer.

EVEN(number)

=EVEN(3)→ 4
EXPReturns the constant e (about 2.71828) raised to the given exponent.

EXP(number)

=EXP(1)→ ≈ 2.718 (e)
FACTReturns the factorial of a number, which is the product 1 × 2 × … × n.

FACT(number)

=FACT(5)→ 120

Use it for: Counting the ways to order 5 speakers in a presentation lineup.

FACTDOUBLEReturns the double factorial of a number, the product of that number and every smaller positive integer of the same parity, such as 7 × 5 × 3 × 1.

FACTDOUBLE(number)

=FACTDOUBLE(7)→ 105 (7×5×3×1)
FLOORRounds a number down to the nearest multiple of significance and has been superseded by FLOOR.MATH.

FLOOR(number, significance)

=FLOOR(2.7,1)→ 2
FLOOR.MATHRounds a number down to the nearest integer or to the nearest multiple of significance.Excel 2013

FLOOR.MATH(number, [significance], [mode])

=FLOOR.MATH(4.7)→ 4
FLOOR.PRECISERounds a number toward negative infinity to the nearest integer or multiple, regardless of the sign of the number.Excel 2010

FLOOR.PRECISE(number, [significance])

=FLOOR.PRECISE(-4.3)→ -5
GCDReturns the greatest common divisor, the largest integer that divides all the given numbers with no remainder.

GCD(number1, [number2], ...)

=GCD(12,18)→ 6
INTRounds a number down to the nearest integer, toward negative infinity.

INT(number)

=INT(8.9)→ 8

Use it for: Finding how many full cartons a stock quantity fills when divided by the carton size.

ISO.CEILINGRounds a number up to the nearest integer or multiple regardless of sign, the same as CEILING.PRECISE.Excel 2013

ISO.CEILING(number, [significance])

=ISO.CEILING(4.3)→ 5
LCMReturns the least common multiple, the smallest positive integer that is divisible by all the given numbers.

LCM(number1, [number2], ...)

=LCM(4,6)→ 12
LNReturns the natural logarithm (base e) of a number.

LN(number)

=LN(EXP(1))→ 1
LOGReturns the logarithm of a number in the base you specify, or base 10 if the base is omitted.

LOG(number, [base])

=LOG(100,10)→ 2
LOG10Returns the base-10 logarithm of a number.

LOG10(number)

=LOG10(1000)→ 3
MDETERMReturns the determinant of a square matrix.

MDETERM(array)

=MDETERM(A1:B2)
MINVERSEReturns the inverse of a square matrix.

MINVERSE(array)

=MINVERSE(A1:B2)
MMULTReturns the matrix product of two arrays, where the column count of the first must equal the row count of the second.

MMULT(array1, array2)

=MMULT(A1:B2,C1:D2)
MODReturns the remainder after a number is divided by a divisor, with the same sign as the divisor.

MOD(number, divisor)

=MOD(10,3)→ 1 (remainder)

Use it for: Shading every other row through Conditional Formatting with =MOD(ROW(),2)=0.

MROUNDRounds a number to the nearest multiple of the value you specify.

MROUND(number, multiple)

=MROUND(7,5)→ 5
MULTINOMIALReturns the ratio of the factorial of the sum of the given values to the product of their individual factorials.

MULTINOMIAL(number1, [number2], ...)

=MULTINOMIAL(2,3,4)→ 1260
MUNITReturns the unit (identity) matrix for the given dimension.Excel 2013

MUNIT(dimension)

=MUNIT(3)→ 3×3 identity matrix
ODDRounds a number away from zero to the nearest odd integer.

ODD(number)

=ODD(2)→ 3
PIReturns the constant π, 3.14159265358979, accurate to 15 digits.

PI()

=PI()
POWERReturns a number raised to an exponent, the same as the ^ operator.

POWER(number, power)

=POWER(2,10)→ 1024

Use it for: Calculating the value of savings after several years of compound interest, for example =B2*POWER(1+B3,B4).

PRODUCTMultiplies all the given numbers and returns the product.

PRODUCT(number1, [number2], ...)

=PRODUCT(2,3,4)→ 24
QUOTIENTReturns the integer portion of a division and discards the remainder.

QUOTIENT(numerator, denominator)

=QUOTIENT(10,3)→ 3
RADIANSConverts an angle from degrees to radians.

RADIANS(angle)

=RADIANS(180)→ π ≈ 3.14159
RANDReturns a random number greater than or equal to 0 and less than 1 that changes each time the worksheet recalculates.

RAND()

=RAND()→ Example: 0.7384 (changes on every recalculation)

Use it for: Generating sample data to test formulas before the real data is available.

RANDARRAYReturns an array of random numbers with the row count, column count, minimum, maximum, and type (whole or decimal) you specify.Microsoft 365

RANDARRAY([rows], [cols], [min], [max], [integer])

=RANDARRAY(5,2,1,100,TRUE)→ 5×2 array of random integers from 1 to 100
RANDBETWEENReturns a random integer between the two numbers you specify, inclusive, and changes each time the worksheet recalculates.

RANDBETWEEN(bottom, top)

=RANDBETWEEN(1,100)→ Random integer from 1 to 100

Use it for: Filling a column with sample scores between 1 and 100 for a training exercise.

ROMANConverts an Arabic number to a Roman numeral as text.

ROMAN(number, [form])

=ROMAN(2024)→ "MMXXIV"
ROUNDRounds a number to a specified number of digits, with halves rounded away from zero.

ROUND(number, num_digits)

=ROUND(3.14159,2)→ 3.14

Use it for: Showing currency totals to two decimal places in a financial report.

ROUNDDOWNRounds a number down, toward zero, to a specified number of digits.

ROUNDDOWN(number, num_digits)

=ROUNDDOWN(3.9,0)→ 3
ROUNDUPRounds a number up, away from zero, to a specified number of digits.

ROUNDUP(number, num_digits)

=ROUNDUP(3.1,0)→ 4
SECReturns the secant of an angle given in radians, equal to 1/COS(number).Excel 2013

SEC(number)

=SEC(0)→ 1
SECHReturns the hyperbolic secant of a number.Excel 2013

SECH(number)

=SECH(0)→ 1
SERIESSUMReturns the sum of a series in which each coefficient is multiplied by x raised to an exponent that starts at n and increases by m.

SERIESSUM(x, n, m, coefficients)

=SERIESSUM(2,1,1,{1,2,3})
SIGNReturns 1 if the number is positive, 0 if it is zero, and -1 if it is negative.

SIGN(number)

=SIGN(-50)→ -1

Use it for: Flagging whether each month's profit rose, held steady, or fell compared with the previous month.

SINReturns the sine of an angle given in radians.

SIN(number)

=SIN(PI()/2)→ 1
SINHReturns the hyperbolic sine of a number.

SINH(number)

=SINH(0)
SQRTReturns the positive square root of a number.

SQRT(number)

=SQRT(144)→ 12
SQRTPIReturns the square root of a number multiplied by π.

SQRTPI(number)

=SQRTPI(1)→ ≈ 1.7725
SUBTOTALReturns a subtotal using a chosen function, such as SUM, AVERAGE, or COUNT, and ignores rows hidden by a filter (codes 101 to 111 also ignore rows hidden manually).

SUBTOTAL(function_num, ref1, ...)

=SUBTOTAL(9,B2:B100)→ Sum of B2:B100, excluding rows hidden by a filter

Use it for: Showing a sales total that changes to match the visible rows after a table is filtered.

SUMAdds all the numbers in the given ranges, cell references, or values.

SUM(number1, [number2], ...)

=SUM(B2:B10)→ Total of the values in B2:B10

Use it for: Totaling sales, expenses, or quantities for a period.

SUMIFAdds the values in a range that meet a single criterion.

SUMIF(range, criteria, [sum_range])

=SUMIF(A:A,"Food",B:B)→ Total of column B for rows with "Food" in column A

Use it for: Totaling the expenses for one category, such as food.

SUMIFSAdds the values that meet multiple criteria, with the sum range as the first argument (unlike SUMIF).

SUMIFS(sum_range, criteria_range1, criteria1, ...)

=SUMIFS(C:C,A:A,"2026",B:B,"Sales")→ Total of column C for rows with 2026 in column A and "Sales" in column B

Use it for: Totaling sales by month and category on a dashboard.

SUMPRODUCTMultiplies corresponding values in the given arrays and returns the sum of those products.

SUMPRODUCT(array1, [array2], ...)

=SUMPRODUCT(qty,price)→ Sum of qty × price across all rows

Use it for: Calculating a weighted average, or total revenue from quantity and unit price columns.

SUMSQReturns the sum of the squares of the given numbers.

SUMSQ(number1, [number2], ...)

=SUMSQ(2,3,4)→ 29 (4+9+16)
SUMX2MY2Returns the sum of the differences of squares (x² - y²) for corresponding values in two arrays.

SUMX2MY2(array_x, array_y)

=SUMX2MY2(A:A,B:B)
SUMX2PY2Returns the sum of the sums of squares (x² + y²) for corresponding values in two arrays.

SUMX2PY2(array_x, array_y)

=SUMX2PY2(A:A,B:B)
SUMXMY2Returns the sum of the squared differences, (x - y)², for corresponding values in two arrays.

SUMXMY2(array_x, array_y)

=SUMXMY2(actual,forecast)

Use it for: Measuring forecast accuracy by comparing forecast values with actual results.

TANReturns the tangent of an angle given in radians.

TAN(number)

=TAN(0)
TANHReturns the hyperbolic tangent of a number.

TANH(number)

=TANH(0)
TRUNCTruncates a number to a specified number of decimal places without rounding.

TRUNC(number, [num_digits])

=TRUNC(3.789,1)→ 3.7

Statistical110

AVEDEVReturns the average of the absolute deviations of data points from their mean.

AVEDEV(number1, [number2], ...)

=AVEDEV(B2:B10)
AVERAGEReturns the arithmetic mean of the numbers in a range; text, logical values, and empty cells in the range are ignored.

AVERAGE(number1, [number2], ...)

=AVERAGE(B2:B13)→ Average of the 12 monthly values in B2:B13

Use it for: Find the average monthly sales across 12 months in column B.

AVERAGEAReturns the mean of all non-empty values, counting TRUE as 1 and both FALSE and text as 0.

AVERAGEA(value1, [value2], ...)

=AVERAGEA(A2:A10)
AVERAGEIFReturns the average of the cells that meet a single criterion.

AVERAGEIF(range, criteria, [average_range])

=AVERAGEIF(B:B,"VIP",C:C)→ Average of column C for rows with "VIP" in column B
AVERAGEIFSReturns the average of the cells that meet all of the specified criteria.

AVERAGEIFS(avg_range, criteria_range1, criteria1, ...)

=AVERAGEIFS(C:C,A:A,"2026",B:B,"Q1")

Use it for: Calculate average Q1 2026 sales as a benchmark for the following quarters.

BETA.DISTReturns the beta distribution for x, as either a density or a cumulative probability.Excel 2010

BETA.DIST(x, alpha, beta, cumulative, [A], [B])

=BETA.DIST(2,8,10,TRUE,1,3)
BETA.INVReturns the value of x that corresponds to a given cumulative probability in the beta distribution.Excel 2010

BETA.INV(probability, alpha, beta, [A], [B])

=BETA.INV(0.685,8,10,1,3)
BINOM.DISTReturns the binomial probability of a given number of successes in a fixed number of trials.Excel 2010

BINOM.DIST(number_s, trials, prob_s, cumulative)

=BINOM.DIST(6,10,0.5,FALSE)
BINOM.DIST.RANGEReturns the probability that the number of successes in a set of trials equals one value or falls between two values.Excel 2013

BINOM.DIST.RANGE(trials, prob_s, num_s, [num_s2])

=BINOM.DIST.RANGE(60,0.75,48)
BINOM.INVReturns the smallest number of successes for which the cumulative binomial distribution is greater than or equal to alpha.Excel 2010

BINOM.INV(trials, probability_s, alpha)

=BINOM.INV(6,0.5,0.75)
CHISQ.DISTReturns the left-tailed chi-squared distribution, as either a density or a cumulative probability.Excel 2010

CHISQ.DIST(x, deg_freedom, cumulative)

=CHISQ.DIST(0.5,1,TRUE)
CHISQ.DIST.RTReturns the right-tailed probability of the chi-squared distribution.Excel 2010

CHISQ.DIST.RT(x, deg_freedom)

=CHISQ.DIST.RT(18.307,10)
CHISQ.INVReturns the inverse of the left-tailed probability of the chi-squared distribution.Excel 2010

CHISQ.INV(probability, deg_freedom)

=CHISQ.INV(0.93,1)
CHISQ.INV.RTReturns the inverse of the right-tailed probability of the chi-squared distribution.Excel 2010

CHISQ.INV.RT(probability, deg_freedom)

=CHISQ.INV.RT(0.05,10)
CHISQ.TESTReturns the p-value of a chi-squared test of independence by comparing a range of observed values with a range of expected values.Excel 2010

CHISQ.TEST(actual_range, expected_range)

=CHISQ.TEST(A1:B3,D1:E3)
CONFIDENCE.NORMReturns the margin of error for a confidence interval around a population mean, based on the normal distribution.Excel 2010

CONFIDENCE.NORM(alpha, std_dev, size)

=CONFIDENCE.NORM(0.05,2.5,50)
CONFIDENCE.TReturns the margin of error for a confidence interval around a population mean, based on Student's t distribution.Excel 2010

CONFIDENCE.T(alpha, std_dev, size)

=CONFIDENCE.T(0.05,1,50)
CORRELReturns the correlation coefficient of two ranges, a value between -1 and 1.

CORREL(array1, array2)

=CORREL(A:A,B:B)

Use it for: Measure how closely monthly ad spend moves with monthly sales.

COUNTCounts the cells that contain numbers; text and empty cells are not counted.

COUNT(value1, [value2], ...)

=COUNT(B2:B100)

Use it for: Count how many students already have a score in the marks column.

COUNTACounts the cells that are not empty, regardless of data type.

COUNTA(value1, [value2], ...)

=COUNTA(A2:A100)

Use it for: Count the participants who have registered in a name list.

COUNTBLANKCounts the empty cells in a range.

COUNTBLANK(range)

=COUNTBLANK(B2:B100)

Use it for: Check how many fields are still blank in a customer data sheet.

COUNTIFCounts the cells in a range that meet a single criterion.

COUNTIF(range, criteria)

=COUNTIF(B:B,">1000")→ Number of cells in column B greater than 1000

Use it for: Count the transactions above RM1,000.

COUNTIFSCounts the number of times all criteria are met across several ranges.

COUNTIFS(range1, criteria1, ...)

=COUNTIFS(A:A,"KL",B:B,">5000")

Use it for: Count customers in Kuala Lumpur who spent more than RM5,000.

COVARIANCE.PReturns the population covariance, the average of the products of deviations for each data pair.Excel 2010

COVARIANCE.P(array1, array2)

=COVARIANCE.P(A:A,B:B)
COVARIANCE.SReturns the sample covariance of two data sets, using n-1 as the divisor.Excel 2010

COVARIANCE.S(array1, array2)

=COVARIANCE.S(A:A,B:B)
DEVSQReturns the sum of the squared deviations of data points from their sample mean.

DEVSQ(number1, ...)

=DEVSQ(B2:B10)
EXPON.DISTReturns the exponential distribution, as either a density or a cumulative probability.Excel 2010

EXPON.DIST(x, lambda, cumulative)

=EXPON.DIST(0.2,10,TRUE)
F.DISTReturns the left-tailed F probability distribution, as either a density or a cumulative probability.Excel 2010

F.DIST(x, deg_freedom1, deg_freedom2, cumulative)

=F.DIST(15.2069,6,4,TRUE)
F.DIST.RTReturns the right-tailed F probability distribution.Excel 2010

F.DIST.RT(x, deg_freedom1, deg_freedom2)

=F.DIST.RT(15.2069,6,4)
F.INVReturns the inverse of the left-tailed F probability distribution for a given probability.Excel 2010

F.INV(probability, deg_freedom1, deg_freedom2)

=F.INV(0.01,6,4)
F.INV.RTReturns the inverse of the right-tailed F probability distribution for a given probability.Excel 2010

F.INV.RT(probability, deg_freedom1, deg_freedom2)

=F.INV.RT(0.01,6,4)
F.TESTReturns the two-tailed probability that the variances of two data sets are not significantly different.Excel 2010

F.TEST(array1, array2)

=F.TEST(A:A,B:B)
FISHERReturns the Fisher transformation of x, commonly used when testing correlation coefficients.

FISHER(x)

=FISHER(0.75)
FISHERINVReturns the inverse of the Fisher transformation, converting y back to a correlation coefficient.

FISHERINV(y)

=FISHERINV(0.9729)
FORECAST.ETSPredicts a future value from historical data using the AAA version of the exponential triple smoothing (ETS) algorithm.Excel 2016

FORECAST.ETS(target_date, values, timeline, ...)

=FORECAST.ETS(A50,B2:B49,A2:A49)

Use it for: Forecast next month's sales from monthly sales history that has a seasonal pattern.

FORECAST.ETS.CONFINTReturns the confidence interval for an ETS forecast value at a specified target date.Excel 2016

FORECAST.ETS.CONFINT(target_date, values, timeline, ...)

=FORECAST.ETS.CONFINT(A50,B2:B49,A2:A49)
FORECAST.ETS.SEASONALITYReturns the length of the repeating seasonal pattern that Excel detects in a time series.Excel 2016

FORECAST.ETS.SEASONALITY(values, timeline, ...)

=FORECAST.ETS.SEASONALITY(B2:B49,A2:A49)
FORECAST.ETS.STATReturns a statistic from an ETS forecast, such as a smoothing parameter or a forecast error measure.Excel 2016

FORECAST.ETS.STAT(values, timeline, statistic_type, ...)

=FORECAST.ETS.STAT(B2:B49,A2:A49,1)
FORECAST.LINEARPredicts a y-value for a given x based on a linear regression of existing data.Excel 2016

FORECAST.LINEAR(x, known_ys, known_xs)

=FORECAST.LINEAR(30,B:B,A:A)
FREQUENCYReturns a vertical array that counts how many values fall into each bin.

FREQUENCY(data_array, bins_array)

=FREQUENCY(A1:A20,B1:B5)

Use it for: Count students in each score band to build a histogram.

GAMMAReturns the value of the gamma function for a number.Excel 2013

GAMMA(number)

=GAMMA(2.5)
GAMMA.DISTReturns the gamma distribution, as either a density or a cumulative probability.Excel 2010

GAMMA.DIST(x, alpha, beta, cumulative)

=GAMMA.DIST(10.00001131,9,2,TRUE)
GAMMA.INVReturns the inverse of the cumulative gamma distribution for a given probability.Excel 2010

GAMMA.INV(probability, alpha, beta)

=GAMMA.INV(0.068094,9,2)
GAMMALNReturns the natural logarithm of the gamma function.

GAMMALN(x)

=GAMMALN(4.5)
GAMMALN.PRECISEReturns the natural logarithm of the gamma function; it is the version of GAMMALN introduced in Excel 2010.Excel 2010

GAMMALN.PRECISE(x)

=GAMMALN.PRECISE(4)
GAUSSReturns the probability that a standard normal value falls between the mean and x standard deviations from it, which is 0.5 less than NORM.S.DIST(x,TRUE).Excel 2013

GAUSS(x)

=GAUSS(2)
GEOMEANReturns the geometric mean, the nth root of the product of n positive numbers.

GEOMEAN(number1, ...)

=GEOMEAN(B2:B10)

Use it for: Calculate the average annual growth rate from each year's growth factor.

GROWTHPredicts values along an exponential growth curve fitted to existing data.

GROWTH(known_ys, [known_xs], [new_xs], [const])

=GROWTH(B2:B10)
HARMEANReturns the harmonic mean, the reciprocal of the average of the reciprocals of the values.

HARMEAN(number1, ...)

=HARMEAN(B2:B10)
HYPGEOM.DISTReturns the hypergeometric probability of a number of successes in a sample drawn without replacement.Excel 2010

HYPGEOM.DIST(sample_s, number_sample, population_s, number_pop, cumulative)

=HYPGEOM.DIST(1,4,8,20,TRUE)
INTERCEPTReturns the point where the linear regression line crosses the y-axis.

INTERCEPT(known_ys, known_xs)

=INTERCEPT(B:B,A:A)
KURTReturns the kurtosis of a data set, which measures how heavy or light its tails are compared with a normal distribution.

KURT(number1, ...)

=KURT(B2:B10)
LARGEReturns the k-th largest value in a range.

LARGE(array, k)

=LARGE(B:B,2)→ Second-largest value in column B

Use it for: Show the second-highest sale in a top-five list on a dashboard.

LINESTReturns an array of statistics for the least-squares straight line through the data, including the slope and intercept.

LINEST(known_ys, [known_xs], [const], [stats])

=LINEST(B:B,A:A)
LOGESTReturns an array of statistics for an exponential curve fitted to the data.

LOGEST(known_ys, [known_xs], [const], [stats])

=LOGEST(B:B,A:A)
LOGNORM.DISTReturns the lognormal distribution of x, as either a density or a cumulative probability.Excel 2010

LOGNORM.DIST(x, mean, standard_dev, cumulative)

=LOGNORM.DIST(4,3.5,1.2,TRUE)
LOGNORM.INVReturns the inverse of the cumulative lognormal distribution for a given probability.Excel 2010

LOGNORM.INV(probability, mean, standard_dev)

=LOGNORM.INV(0.0390835,3.5,1.2)
MAXReturns the largest value in a range.

MAX(number1, [number2], ...)

=MAX(B2:B13)→ Largest value in B2:B13

Use it for: Find the month with the highest revenue or the largest expense in a year.

MAXAReturns the largest value, counting TRUE as 1 and both FALSE and text as 0.

MAXA(value1, [value2], ...)

=MAXA(A:A)
MAXIFSReturns the largest value among cells that meet all of the specified criteria.Excel 2019

MAXIFS(max_range, criteria_range1, criteria1, ...)

=MAXIFS(C:C,A:A,"KL",B:B,"2026")

Use it for: Find the highest sale in the Kuala Lumpur region for 2026.

MEDIANReturns the middle value of a set of numbers once they are sorted.

MEDIAN(number1, [number2], ...)

=MEDIAN(B:B)

Use it for: Report a typical employee salary without distortion from a few very high salaries.

MINReturns the smallest value in a range.

MIN(number1, [number2], ...)

=MIN(B2:B13)→ Smallest value in B2:B13

Use it for: Find the lowest share price over a period.

MINAReturns the smallest value, counting TRUE as 1 and both FALSE and text as 0.

MINA(value1, [value2], ...)

=MINA(A:A)
MINIFSReturns the smallest value among cells that meet all of the specified criteria.Excel 2019

MINIFS(min_range, criteria_range1, criteria1, ...)

=MINIFS(C:C,A:A,"KL")
MODE.MULTReturns a vertical array of the most frequently occurring values, including more than one mode when there are several.Excel 2010

MODE.MULT(number1, ...)

=MODE.MULT(B:B)
MODE.SNGLReturns the single most frequently occurring value in a data set.Excel 2010

MODE.SNGL(number1, ...)

=MODE.SNGL(B:B)
NEGBINOM.DISTReturns the negative binomial distribution, the probability of a given number of failures before a set number of successes.Excel 2010

NEGBINOM.DIST(number_f, number_s, probability_s, cumulative)

=NEGBINOM.DIST(10,5,0.25,TRUE)
NORM.DISTReturns the normal distribution for a given mean and standard deviation, as either a density or a cumulative probability.Excel 2010

NORM.DIST(x, mean, standard_dev, cumulative)

=NORM.DIST(42,40,1.5,TRUE)
NORM.INVReturns the inverse of the cumulative normal distribution for a given mean and standard deviation.Excel 2010

NORM.INV(probability, mean, standard_dev)

=NORM.INV(0.908789,40,1.5)
NORM.S.DISTReturns the standard normal distribution (mean 0, standard deviation 1) for a z-score.Excel 2010

NORM.S.DIST(z, cumulative)

=NORM.S.DIST(1.333333,TRUE)
NORM.S.INVReturns the z-score that corresponds to a given cumulative probability in the standard normal distribution.Excel 2010

NORM.S.INV(probability)

=NORM.S.INV(0.908789)
PEARSONReturns the Pearson correlation coefficient of two ranges, the same result as CORREL.

PEARSON(array1, array2)

=PEARSON(A:A,B:B)
PERCENTILE.EXCReturns the k-th percentile, where k is between 0 and 1, exclusive.Excel 2010

PERCENTILE.EXC(array, k)

=PERCENTILE.EXC(B:B,0.25)
PERCENTILE.INCReturns the k-th percentile, where k is between 0 and 1, inclusive.Excel 2010

PERCENTILE.INC(array, k)

=PERCENTILE.INC(B:B,0.5)→ Median of column B (50th percentile)
PERCENTRANK.EXCReturns the rank of a value as a percentage of the data set, from 0 to 1, exclusive.Excel 2010

PERCENTRANK.EXC(array, x, [significance])

=PERCENTRANK.EXC(A:A,A2)
PERCENTRANK.INCReturns the rank of a value as a percentage of the data set, from 0 to 1, inclusive.Excel 2010

PERCENTRANK.INC(array, x, [significance])

=PERCENTRANK.INC(A:A,A2)
PERMUTReturns the number of permutations for a given number of objects chosen from a set, without repetition.

PERMUT(number, number_chosen)

=PERMUT(100,3)
PERMUTATIONAReturns the number of permutations for a given number of objects chosen from a set, with repetition allowed.Excel 2013

PERMUTATIONA(number, number_chosen)

=PERMUTATIONA(3,2)→ 9
PHIReturns the value of the density function of the standard normal distribution at x.Excel 2013

PHI(x)

=PHI(0.75)
POISSON.DISTReturns the Poisson distribution, the probability of a number of events in a fixed interval, either exact or cumulative.Excel 2010

POISSON.DIST(x, mean, cumulative)

=POISSON.DIST(2,5,TRUE)
PROBReturns the probability that values in a range fall between a lower and an upper limit.

PROB(x_range, prob_range, [lower_limit], [upper_limit])

=PROB(A:A,B:B,1,3)
QUARTILE.EXCReturns a quartile of a data set based on percentile values from 0 to 1, exclusive.Excel 2010

QUARTILE.EXC(array, quart)

=QUARTILE.EXC(A:A,1)
QUARTILE.INCReturns a quartile of a data set based on percentile values from 0 to 1, inclusive.Excel 2010

QUARTILE.INC(array, quart)

=QUARTILE.INC(A:A,2)→ Median of column A (second quartile)
RANK.AVGReturns the rank of a number in a list, giving tied values the average of their ranks.Excel 2010

RANK.AVG(number, ref, [order])

=RANK.AVG(B2,B:B,0)
RANK.EQReturns the rank of a number in a list, giving tied values the same top rank.Excel 2010

RANK.EQ(number, ref, [order])

=RANK.EQ(B2,B:B,0)

Use it for: Rank salespeople on a monthly sales leaderboard.

RSQReturns the square of the Pearson correlation coefficient (R-squared) for a regression line.

RSQ(known_ys, known_xs)

=RSQ(B:B,A:A)
SKEWReturns the sample skewness, a measure of how asymmetric a distribution is around its mean.

SKEW(number1, ...)

=SKEW(B:B)
SKEW.PReturns the population skewness, a measure of how asymmetric the distribution of an entire population is.Excel 2013

SKEW.P(number1, ...)

=SKEW.P(B:B)
SLOPEReturns the slope of the linear regression line.

SLOPE(known_ys, known_xs)

=SLOPE(B:B,A:A)
SMALLReturns the k-th smallest value in a range.

SMALL(array, k)

=SMALL(B:B,2)→ Second-smallest value in column B
STANDARDIZEReturns the z-score of x based on a given mean and standard deviation.

STANDARDIZE(x, mean, standard_dev)

=STANDARDIZE(42,40,1.5)
STDEV.PReturns the standard deviation of an entire population, dividing by n.Excel 2010

STDEV.P(number1, ...)

=STDEV.P(B:B)
STDEV.SEstimates the standard deviation from a sample, dividing by n-1.Excel 2010

STDEV.S(number1, ...)

=STDEV.S(B:B)

Use it for: Measure how much daily delivery times vary around their average.

STDEVAEstimates the standard deviation from a sample, counting TRUE as 1 and both FALSE and text as 0.

STDEVA(value1, ...)

=STDEVA(A:A)
STDEVPAReturns the standard deviation of an entire population, counting TRUE as 1 and both FALSE and text as 0.

STDEVPA(value1, ...)

=STDEVPA(A:A)
STEYXReturns the standard error of the predicted y-value for each x in a linear regression.

STEYX(known_ys, known_xs)

=STEYX(B:B,A:A)
T.DISTReturns the left-tailed Student's t distribution, as either a density or a cumulative probability.Excel 2010

T.DIST(x, deg_freedom, cumulative)

=T.DIST(60,1,TRUE)
T.DIST.2TReturns the two-tailed probability of Student's t distribution.Excel 2010

T.DIST.2T(x, deg_freedom)

=T.DIST.2T(1.96,60)
T.DIST.RTReturns the right-tailed probability of Student's t distribution.Excel 2010

T.DIST.RT(x, deg_freedom)

=T.DIST.RT(1.96,60)
T.INVReturns the left-tailed inverse of Student's t distribution.Excel 2010

T.INV(probability, deg_freedom)

=T.INV(0.75,2)
T.INV.2TReturns the two-tailed inverse of Student's t distribution.Excel 2010

T.INV.2T(probability, deg_freedom)

=T.INV.2T(0.546449,60)
T.TESTReturns the p-value of a Student's t-test, used to judge whether the means of two samples differ significantly.Excel 2010

T.TEST(array1, array2, tails, type)

=T.TEST(A:A,B:B,2,1)
TRENDPredicts values along a linear regression line fitted to existing data.

TREND(known_ys, [known_xs], [new_xs], [const])

=TREND(B2:B10,A2:A10)
TRIMMEANReturns the mean after excluding a given percentage of values from the top and bottom of a data set.

TRIMMEAN(array, percent)

=TRIMMEAN(A:A,0.2)

Use it for: Average judges' scores after dropping the extreme high and low marks.

VAR.PReturns the variance of an entire population, dividing by n.Excel 2010

VAR.P(number1, ...)

=VAR.P(B:B)
VAR.SEstimates the variance from a sample, dividing by n-1.Excel 2010

VAR.S(number1, ...)

=VAR.S(B:B)
VARAEstimates the variance from a sample, counting TRUE as 1 and both FALSE and text as 0.

VARA(value1, ...)

=VARA(A:A)
VARPAReturns the variance of an entire population, counting TRUE as 1 and both FALSE and text as 0.

VARPA(value1, ...)

=VARPA(A:A)
WEIBULL.DISTReturns the Weibull distribution, often used in reliability analysis.Excel 2010

WEIBULL.DIST(x, alpha, beta, cumulative)

=WEIBULL.DIST(105,20,100,TRUE)
Z.TESTReturns the one-tailed p-value of a z-test against a hypothesized mean.Excel 2010

Z.TEST(array, x, [sigma])

=Z.TEST(A:A,4)

Text36

ARRAYTOTEXTReturns an array or range as a single text string, in either a concise format or a strict format that can be entered back as a formula.Microsoft 365

ARRAYTOTEXT(array, [format])

=ARRAYTOTEXT(A1:B2)
ASCChanges full-width (double-byte) characters to half-width (single-byte) characters for languages that use double-byte character sets.

ASC(text)

=ASC("ABC")
BAHTTEXTConverts a number to Thai text and adds the word "Baht".

BAHTTEXT(number)

=BAHTTEXT(1234)
CHARReturns the character for a code number from 1 to 255 in your computer's character set.

CHAR(number)

=CHAR(65)→ "A"
CLEANRemoves nonprintable characters (codes 0 to 31) from text.

CLEAN(text)

=CLEAN(A2)

Use it for: Cleaning text imported from another system before analysis.

CODEReturns the code number of the first character in a text string.

CODE(text)

=CODE("A")→ 65
CONCATJoins text from multiple values or ranges into one string and replaces CONCATENATE.Excel 2019

CONCAT(text1, [text2], ...)

=CONCAT(A1:A10)

Use it for: Combining a branch code, year, and serial number into a single reference number.

CONCATENATEJoins several text values into one string and has been superseded by CONCAT or the & operator.

CONCATENATE(text1, [text2], ...)

=CONCATENATE(A2," ",B2)
DBCSChanges half-width (single-byte) characters to full-width (double-byte) characters.Excel 2013

DBCS(text)

=DBCS("ABC")
DOLLARConverts a number to text in currency format, using the currency symbol from your system's regional settings.

DOLLAR(number, [decimals])

=DOLLAR(1234.567,2)→ "$1,234.57"
EXACTCompares two text strings, taking letter case into account, and returns TRUE only if they are exactly the same.

EXACT(text1, text2)

=EXACT("ABC","abc")→ FALSE
FINDReturns the starting position of one text string within another, matching letter case and without wildcard support.

FIND(find_text, within_text, [start_num])

=FIND("@","ali@gmail.com")→ 4
FIXEDRounds a number to a specified number of decimal places and returns it as text, with or without thousands separators.

FIXED(number, [decimals], [no_commas])

=FIXED(1234.567,1)→ "1,234.6"
LEFTReturns a specified number of characters from the start (left) of a text string.

LEFT(text, [num_chars])

=LEFT(A2,3)→ First 3 characters of A2

Use it for: Extracting a three-letter prefix from a product code.

LENReturns the number of characters in a text string, including spaces.

LEN(text)

=LEN(A2)

Use it for: Checking that every ID number in a list has exactly 12 digits.

LOWERConverts all letters in a text string to lowercase.

LOWER(text)

=LOWER(A2)

Use it for: Standardizing email addresses before comparing them or removing duplicates.

MIDReturns a specified number of characters from the middle of a text string, starting at the position you give.

MID(text, start_num, num_chars)

=MID(A2,4,3)

Use it for: Extracting a fixed segment, such as a region code, from a structured ID or account number.

NUMBERVALUEConverts text to a number using the decimal and group separators you specify, independent of regional settings.Excel 2013

NUMBERVALUE(text, [decimal_separator], [group_separator])

=NUMBERVALUE("1.234,56",",",".")
PROPERCapitalizes the first letter of each word and converts the remaining letters to lowercase.

PROPER(text)

=PROPER("ali baba")→ "Ali Baba"

Use it for: Tidying customer names that were typed in all capitals or all lowercase.

REPLACEReplaces part of a text string, identified by position and number of characters, with new text.

REPLACE(old_text, start_num, num_chars, new_text)

=REPLACE(A2,1,3,"XXX")
REPTRepeats text a specified number of times.

REPT(text, number_times)

=REPT("|",B2/1000)→ "|||||" when B2 is 5000

Use it for: Drawing a simple bar chart inside a cell, e.g. one bar for every RM1,000 of sales.

RIGHTReturns a specified number of characters from the end (right) of a text string.

RIGHT(text, [num_chars])

=RIGHT(A2,4)→ Last 4 characters of A2
SUBSTITUTEReplaces specific text with new text, either every occurrence or only the occurrence you specify.

SUBSTITUTE(text, old_text, new_text, [instance_num])

=SUBSTITUTE(A2,"-","")

Use it for: Removing dashes from phone numbers.

TReturns the value if it is text, and empty text if it is not.

T(value)

=T(A2)
TEXTConverts a value to text in a number format you specify, such as currency, percentage, or date.

TEXT(value, format_text)

=TEXT(0.25,"0.0%")→ "25.0%"

Use it for: Showing a KPI inside a sentence on a dashboard, such as "Sales up 25.0%".

TEXTAFTERReturns the text that appears after a given delimiter.Microsoft 365

TEXTAFTER(text, delimiter, [instance_num], ...)

=TEXTAFTER("ali@gmail.com","@")→ "gmail.com"
TEXTBEFOREReturns the text that appears before a given delimiter.Microsoft 365

TEXTBEFORE(text, delimiter, [instance_num], ...)

=TEXTBEFORE("ali@gmail.com","@")→ "ali"
TEXTJOINJoins text from multiple values or ranges with a delimiter between them and can skip empty cells.Excel 2019

TEXTJOIN(delimiter, ignore_empty, text1, ...)

=TEXTJOIN(",",TRUE,A:A)

Use it for: Combining a column of names into a single comma-separated line.

TEXTSPLITSplits text into columns, rows, or both, using the delimiters you specify.Microsoft 365

TEXTSPLIT(text, col_delimiter, [row_delimiter], ...)

=TEXTSPLIT("a,b,c",",")
TRIMRemoves spaces from the start and end of text and reduces repeated spaces between words to a single space.

TRIM(text)

=TRIM(A2)

Use it for: Cleaning imported CSV data before a VLOOKUP so that hidden spaces do not cause failed matches.

UNICHARReturns the Unicode character for a given code number.Excel 2013

UNICHAR(number)

=UNICHAR(8364)→ "€"
UNICODEReturns the Unicode code number of the first character in a text string.Excel 2013

UNICODE(text)

=UNICODE("€")→ 8364
UPPERConverts all letters in a text string to uppercase.

UPPER(text)

=UPPER(A2)

Use it for: Standardizing product or branch codes so they are all in capitals.

VALUEConverts text that represents a number into a numeric value.

VALUE(text)

=VALUE("1234")→ 1234

Use it for: Fixing numbers stored as text so they can be added up.

VALUETOTEXTReturns any value as text, in either a concise or a strict format.Microsoft 365

VALUETOTEXT(value, [format])

=VALUETOTEXT(A2)

Date and time25

DATEReturns the serial number of a date built from separate year, month, and day values.

DATE(year, month, day)

=DATE(2026,5,15)→ 15/05/2026

Use it for: Building a full date from separate year, month, and day columns.

DATEDIFReturns the difference between two dates in years, months, or days, based on the unit you choose (Y, M, D, MD, YM, or YD).

DATEDIF(start_date, end_date, unit)

=DATEDIF(A2,TODAY(),"Y")→ Age in completed years

Use it for: Calculating an employee's age or length of service in complete years.

DATEVALUEConverts a date stored as text into a date serial number.

DATEVALUE(date_text)

=DATEVALUE("15/5/2026")
DAYReturns the day of the month (1 to 31) for a date.

DAY(serial_number)

=DAY(A2)
DAYSReturns the number of days between two dates, with the end date as the first argument.Excel 2013

DAYS(end_date, start_date)

=DAYS(B2,A2)

Use it for: Counting how many days an invoice has been outstanding.

DAYS360Returns the number of days between two dates based on a 360-day year (12 months of 30 days), as used in some accounting calculations.

DAYS360(start_date, end_date, [method])

=DAYS360(A2,B2)
EDATEReturns the serial number of the date that falls a given number of months before or after a start date.

EDATE(start_date, months)

=EDATE(TODAY(),3)→ The date three months after today

Use it for: Calculating the end date of a subscription or contract from its length in months.

EOMONTHReturns the last day of the month that is a given number of months before or after a start date.

EOMONTH(start_date, months)

=EOMONTH(TODAY(),0)→ Last day of the current month

Use it for: Finding the month-end closing date for monthly reports.

HOURReturns the hour (0 to 23) of a time value.

HOUR(serial_number)

=HOUR(NOW())
ISOWEEKNUMReturns the ISO 8601 week number of a date, with weeks starting on Monday.Excel 2013

ISOWEEKNUM(date)

=ISOWEEKNUM(TODAY())
MINUTEReturns the minute (0 to 59) of a time value.

MINUTE(serial_number)

=MINUTE(NOW())
MONTHReturns the month (1 to 12) of a date.

MONTH(serial_number)

=MONTH(A2)

Use it for: Grouping transactions by month for a monthly sales summary.

NETWORKDAYSReturns the number of working days between two dates, excluding Saturdays, Sundays, and any listed holidays.

NETWORKDAYS(start_date, end_date, [holidays])

=NETWORKDAYS(A2,B2)

Use it for: Counting the working days available to complete a project.

NETWORKDAYS.INTLReturns the number of working days between two dates using the weekend days you specify, excluding any listed holidays.Excel 2010

NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])

=NETWORKDAYS.INTL(A2,B2,11)
NOWReturns the current date and time, which updates each time the worksheet recalculates.

NOW()

=NOW()→ 15/5/2026 14:30

Use it for: Showing the current date and time on a printed report.

SECONDReturns the second (0 to 59) of a time value.

SECOND(serial_number)

=SECOND(NOW())
TIMEReturns the decimal number for a time built from hour, minute, and second values.

TIME(hour, minute, second)

=TIME(14,30,0)→ 2:30 PM
TIMEVALUEConverts a time stored as text into the decimal number that represents it.

TIMEVALUE(time_text)

=TIMEVALUE("2:30 PM")
TODAYReturns today's date, which updates whenever the workbook is opened or recalculated.

TODAY()

=TODAY()

Use it for: Calculating how many days a payment is overdue as of today.

WEEKDAYReturns the day of the week for a date as a number, with the numbering scheme set by return_type.

WEEKDAY(serial_number, [return_type])

=WEEKDAY(TODAY(),2)→ 1 = Monday through 7 = Sunday

Use it for: Checking whether a booking date falls on a weekday or a weekend.

WEEKNUMReturns the week number of the year (1 to 54) for a date.

WEEKNUM(serial_number, [return_type])

=WEEKNUM(TODAY())
WORKDAYReturns the date that falls a given number of working days before or after a start date, excluding weekends and any listed holidays.

WORKDAY(start_date, days, [holidays])

=WORKDAY(TODAY(),10)

Use it for: Setting a project deadline 10 working days from today.

WORKDAY.INTLReturns the date that falls a given number of working days before or after a start date, using the weekend days you specify and excluding any listed holidays.Excel 2010

WORKDAY.INTL(start_date, days, [weekend], [holidays])

=WORKDAY.INTL(A2,10,11)
YEARReturns the year of a date.

YEAR(serial_number)

=YEAR(A2)

Use it for: Grouping sales data by year.

YEARFRACReturns the fraction of a year represented by the days between two dates, using the day-count basis you choose.

YEARFRAC(start_date, end_date, [basis])

=YEARFRAC(A2,TODAY())

Use it for: Prorating a bonus or annual leave for an employee who has served less than a full year.

Financial56

ACCRINTReturns the accrued interest for a security that pays periodic interest.

ACCRINT(issue, first_interest, settlement, rate, par, frequency, [basis], [calc_method])

=ACCRINT(...)
ACCRINTMReturns the accrued interest for a security that pays all of its interest at maturity.

ACCRINTM(issue, settlement, rate, par, [basis])

=ACCRINTM(...)
AMORDEGRCReturns the depreciation for each accounting period using a depreciation coefficient, as used in the French accounting system.

AMORDEGRC(cost, date_purchased, first_period, salvage, period, rate, [basis])

=AMORDEGRC(...)
AMORLINCReturns the prorated straight-line depreciation for each accounting period, as used in the French accounting system.

AMORLINC(cost, date_purchased, first_period, salvage, period, rate, [basis])

=AMORLINC(...)
COUPDAYBSReturns the number of days from the start of the coupon period to the settlement date.

COUPDAYBS(settlement, maturity, frequency, [basis])

=COUPDAYBS(...)
COUPDAYSReturns the number of days in the coupon period that contains the settlement date.

COUPDAYS(settlement, maturity, frequency, [basis])

=COUPDAYS(...)
COUPDAYSNCReturns the number of days from the settlement date to the next coupon date.

COUPDAYSNC(settlement, maturity, frequency, [basis])

=COUPDAYSNC(...)
COUPNCDReturns the first coupon date after the settlement date.

COUPNCD(settlement, maturity, frequency, [basis])

=COUPNCD(...)
COUPNUMReturns the number of coupons payable between the settlement date and the maturity date.

COUPNUM(settlement, maturity, frequency, [basis])

=COUPNUM(...)
COUPPCDReturns the last coupon date before the settlement date.

COUPPCD(settlement, maturity, frequency, [basis])

=COUPPCD(...)
CUMIPMTReturns the total interest paid on a loan between a start period and an end period.

CUMIPMT(rate, nper, pv, start_period, end_period, type)

=CUMIPMT(0.05/12,360,200000,1,12,0)
CUMPRINCReturns the total principal repaid on a loan between a start period and an end period.

CUMPRINC(rate, nper, pv, start_period, end_period, type)

=CUMPRINC(0.05/12,360,200000,1,12,0)
DBReturns the depreciation of an asset for a given period using the fixed-declining balance method.

DB(cost, salvage, life, period, [month])

=DB(10000,1000,5,1)
DDBReturns the depreciation of an asset for a given period using the double-declining balance method or another factor you specify.

DDB(cost, salvage, life, period, [factor])

=DDB(10000,1000,5,1)
DISCReturns the discount rate for a security.

DISC(settlement, maturity, pr, redemption, [basis])

=DISC(...)
DOLLARDEConverts a price written in fractional notation (for example, 1.02 with a fraction of 16 means 1 and 2/16) into a decimal number.

DOLLARDE(fractional_dollar, fraction)

=DOLLARDE(1.02,16)
DOLLARFRConverts a decimal price into fractional notation, for example 1.125 becomes 1.02 with a fraction of 16.

DOLLARFR(decimal_dollar, fraction)

=DOLLARFR(1.125,16)
DURATIONReturns the Macaulay duration of a security that pays periodic interest, assuming a face value of 100.

DURATION(settlement, maturity, coupon, yld, frequency, [basis])

=DURATION(...)
EFFECTReturns the effective annual interest rate from a nominal rate and the number of compounding periods per year.

EFFECT(nominal_rate, npery)

=EFFECT(0.0525,4)→ ≈ 5.35%
FVReturns the future value of an investment based on constant periodic payments and a constant interest rate.

FV(rate, nper, pmt, [pv], [type])

=FV(6%/12,240,-500)→ ≈ 231,020 (saving 500 a month for 20 years at 6% a year)

Use it for: Estimate a retirement savings balance after putting away the same amount every month.

FVSCHEDULEReturns the future value of an initial principal after applying a series of compound interest rates.

FVSCHEDULE(principal, schedule)

=FVSCHEDULE(1000,{0.03,0.04,0.05})
INTRATEReturns the interest rate for a fully invested security.

INTRATE(settlement, maturity, investment, redemption, [basis])

=INTRATE(...)
IPMTReturns the interest portion of a loan payment for a given period.

IPMT(rate, per, nper, pv, [fv], [type])

=IPMT(5%/12,1,360,200000)
IRRReturns the internal rate of return for a series of cash flows that occur at regular intervals.

IRR(values, [guess])

=IRR(A1:A6)

Use it for: Compare the returns of several investment projects from their yearly cash flows.

ISPMTReturns the interest paid in a specific period of a loan that is repaid in equal principal installments.

ISPMT(rate, per, nper, pv)

=ISPMT(5%/12,1,360,200000)
MDURATIONReturns the modified Macaulay duration of a security, assuming a face value of 100.

MDURATION(settlement, maturity, coupon, yld, frequency, [basis])

=MDURATION(...)
MIRRReturns the modified internal rate of return, which accounts for both the cost of financing and the rate earned on reinvested cash.

MIRR(values, finance_rate, reinvest_rate)

=MIRR(A1:A6,5%,3%)
NOMINALReturns the nominal annual interest rate from an effective rate and the number of compounding periods per year.

NOMINAL(effect_rate, npery)

=NOMINAL(0.053543,4)→ ≈ 5.25%
NPERReturns the number of periods for an investment or loan based on constant periodic payments and a constant interest rate.

NPER(rate, pmt, pv, [fv], [type])

=NPER(5%/12,-500,200000)

Use it for: Work out how many months it takes to pay off a loan with a fixed monthly installment.

NPVReturns the net present value of an investment from a discount rate and a series of future cash flows.

NPV(rate, value1, [value2], ...)

=NPV(10%,-10000,3000,4500,6000)

Use it for: Check whether a capital project returns more than its cost of capital before approving it.

ODDFPRICEReturns the price per 100 of face value for a security with an odd (short or long) first period.

ODDFPRICE(...)

=ODDFPRICE(...)
ODDFYIELDReturns the yield of a security with an odd (short or long) first period.

ODDFYIELD(...)

=ODDFYIELD(...)
ODDLPRICEReturns the price per 100 of face value for a security with an odd (short or long) last period.

ODDLPRICE(...)

=ODDLPRICE(...)
ODDLYIELDReturns the yield of a security with an odd (short or long) last period.

ODDLYIELD(...)

=ODDLYIELD(...)
PDURATIONReturns the number of periods an investment needs to reach a target value.Excel 2013

PDURATION(rate, pv, fv)

=PDURATION(0.025,2000,2200)
PMTReturns the periodic payment for a loan based on constant payments and a constant interest rate; divide an annual rate by 12 for monthly payments.

PMT(rate, nper, pv, [fv], [type])

=PMT(5%/12,36,50000)→ ≈ -1,498.54 (monthly payment on a 50,000 loan over 3 years at 5% a year)

Use it for: Calculate the monthly installment on a car loan or home loan.

PPMTReturns the principal portion of a loan payment for a given period.

PPMT(rate, per, nper, pv, [fv], [type])

=PPMT(5%/12,1,360,200000)
PRICEReturns the price per 100 of face value for a security that pays periodic interest.

PRICE(settlement, maturity, rate, yld, redemption, frequency, [basis])

=PRICE(...)
PRICEDISCReturns the price per 100 of face value for a discounted security.

PRICEDISC(settlement, maturity, discount, redemption, [basis])

=PRICEDISC(...)
PRICEMATReturns the price per 100 of face value for a security that pays interest at maturity.

PRICEMAT(settlement, maturity, issue, rate, yld, [basis])

=PRICEMAT(...)
PVReturns the present value of an investment, which is what a series of future payments is worth today.

PV(rate, nper, pmt, [fv], [type])

=PV(5%/12,60,-1000)

Use it for: Find what an annuity that pays a fixed monthly amount is worth today.

RATEReturns the interest rate per period of an annuity or loan.

RATE(nper, pmt, pv, [fv], [type], [guess])

=RATE(48,-200,8000)*12

Use it for: Find the actual annual rate of a loan when you only know the monthly installment and the amount borrowed.

RECEIVEDReturns the amount received at maturity for a fully invested security.

RECEIVED(settlement, maturity, investment, discount, [basis])

=RECEIVED(...)
RRIReturns an equivalent interest rate for the growth of an investment from a present value to a future value.Excel 2013

RRI(nper, pv, fv)

=RRI(8,10000,11000)
SLNReturns the straight-line depreciation of an asset for one period.

SLN(cost, salvage, life)

=SLN(30000,7500,10)→ 2,250 per year
STOCKHISTORYReturns historical price data for a stock or other financial instrument from a Microsoft data source.Microsoft 365

STOCKHISTORY(stock, start_date, [end_date], [interval], [headers], [properties]...)

=STOCKHISTORY("MSFT","1/1/2024")
SYDReturns the sum-of-years' digits depreciation of an asset for a given period.

SYD(cost, salvage, life, per)

=SYD(30000,7500,10,1)
TBILLEQReturns the bond-equivalent yield for a Treasury bill.

TBILLEQ(settlement, maturity, discount)

=TBILLEQ(...)
TBILLPRICEReturns the price per 100 of face value for a Treasury bill.

TBILLPRICE(settlement, maturity, discount)

=TBILLPRICE(...)
TBILLYIELDReturns the yield for a Treasury bill.

TBILLYIELD(settlement, maturity, pr)

=TBILLYIELD(...)
VDBReturns the depreciation of an asset for any period you specify, including partial periods, using the double-declining balance method or another factor.

VDB(cost, salvage, life, start_period, end_period, [factor], [no_switch])

=VDB(2400,300,3650,0,1)
XIRRReturns the internal rate of return for cash flows that occur on irregular dates.

XIRR(values, dates, [guess])

=XIRR(A1:A5,B1:B5)

Use it for: Measure the actual return on an investment with deposits and withdrawals on different dates.

XNPVReturns the net present value of cash flows that occur on irregular dates.

XNPV(rate, values, dates)

=XNPV(0.09,A1:A5,B1:B5)
YIELDReturns the yield of a security that pays periodic interest.

YIELD(settlement, maturity, rate, pr, redemption, frequency, [basis])

=YIELD(...)
YIELDDISCReturns the annual yield of a discounted security.

YIELDDISC(settlement, maturity, pr, redemption, [basis])

=YIELDDISC(...)
YIELDMATReturns the annual yield of a security that pays interest at maturity.

YIELDMAT(settlement, maturity, issue, rate, pr, [basis])

=YIELDMAT(...)

Information21

CELLReturns information about a cell's formatting, location, or contents, depending on the info type requested.

CELL(info_type, [reference])

=CELL("address",A1)→ "$A$1"
ERROR.TYPEReturns a number that identifies the error type (1 = #NULL!, 2 = #DIV/0!, and so on), or #N/A if there is no error.

ERROR.TYPE(error_val)

=ERROR.TYPE(A1)
INFOReturns information about the current operating environment, such as the operating system or the number of active worksheets.

INFO(type_text)

=INFO("system")→ "pcdos"/"mac"
ISBLANKReturns TRUE if a cell is empty.

ISBLANK(value)

=ISBLANK(A1)

Use it for: Check whether the required fields in a registration form have been filled in.

ISERRReturns TRUE if a value is any error except #N/A.

ISERR(value)

=ISERR(A1/B1)
ISERRORReturns TRUE if a value is any type of error, including #N/A.

ISERROR(value)

=ISERROR(VLOOKUP(...))

Use it for: Detect failing formulas so you can show a clear message instead of an error.

ISEVENReturns TRUE if a number is even.

ISEVEN(number)

=ISEVEN(4)→ TRUE
ISFORMULAReturns TRUE if the referenced cell contains a formula.Excel 2013

ISFORMULA(reference)

=ISFORMULA(B2)
ISLOGICALReturns TRUE if a value is a logical value (TRUE or FALSE).

ISLOGICAL(value)

=ISLOGICAL(A1)
ISNAReturns TRUE if a value is the #N/A error.

ISNA(value)

=ISNA(VLOOKUP(...))
ISNONTEXTReturns TRUE if a value is not text, including an empty cell.

ISNONTEXT(value)

=ISNONTEXT(A1)
ISNUMBERReturns TRUE if a value is a number.

ISNUMBER(value)

=ISNUMBER(A1)

Use it for: Make sure a price column contains only numbers before you total it.

ISODDReturns TRUE if a number is odd.

ISODD(number)

=ISODD(7)→ TRUE
ISOMITTEDReturns TRUE if an argument in a LAMBDA function was omitted.Microsoft 365

ISOMITTED(argument)

=LAMBDA(x,IF(ISOMITTED(x),0,x))
ISREFReturns TRUE if a value is a cell or range reference.

ISREF(value)

=ISREF(A1)
ISTEXTReturns TRUE if a value is text.

ISTEXT(value)

=ISTEXT(A1)
NConverts a value to a number: numbers stay as they are, dates become serial numbers, TRUE becomes 1, errors are returned unchanged, and anything else becomes 0.

N(value)

=N("text")
NAReturns the #N/A error on purpose, for example to mark data that is not yet available.

NA()

=NA()
SHEETReturns the sheet number of the referenced sheet, or of the current sheet if no argument is given.Excel 2013

SHEET([value])

=SHEET()
SHEETSReturns the number of sheets in a reference, or in the whole workbook if no argument is given.Excel 2013

SHEETS([reference])

=SHEETS()
TYPEReturns a code for the type of a value: 1 number, 2 text, 4 logical value, 16 error, 64 array, 128 compound data.

TYPE(value)

=TYPE(A1)

Engineering54

BESSELIReturns the modified Bessel function In(x).

BESSELI(x, n)

=BESSELI(1.5,1)
BESSELJReturns the Bessel function Jn(x).

BESSELJ(x, n)

=BESSELJ(1.9,2)
BESSELKReturns the modified Bessel function Kn(x).

BESSELK(x, n)

=BESSELK(1.5,1)
BESSELYReturns the Bessel function Yn(x), also known as the Weber or Neumann function.

BESSELY(x, n)

=BESSELY(2.5,1)
BIN2DECConverts a binary number to decimal.

BIN2DEC(number)

=BIN2DEC("1010")→ 10
BIN2HEXConverts a binary number to hexadecimal.

BIN2HEX(number, [places])

=BIN2HEX("11111011")→ "FB"
BIN2OCTConverts a binary number to octal.

BIN2OCT(number, [places])

=BIN2OCT("1001")→ "11"
BITANDReturns the bitwise AND of two numbers.Excel 2013

BITAND(number1, number2)

=BITAND(13,25)→ 9
BITLSHIFTReturns a number with its bits shifted left by the given number of positions.Excel 2013

BITLSHIFT(number, shift_amount)

=BITLSHIFT(4,2)→ 16
BITORReturns the bitwise OR of two numbers.Excel 2013

BITOR(number1, number2)

=BITOR(23,10)→ 31
BITRSHIFTReturns a number with its bits shifted right by the given number of positions.Excel 2013

BITRSHIFT(number, shift_amount)

=BITRSHIFT(13,2)→ 3
BITXORReturns the bitwise XOR (exclusive OR) of two numbers.Excel 2013

BITXOR(number1, number2)

=BITXOR(5,3)→ 6
COMPLEXConverts real and imaginary coefficients into a complex number as text in the form x+yi or x+yj.

COMPLEX(real_num, i_num, [suffix])

=COMPLEX(3,4)→ "3+4i"
CONVERTConverts a number from one unit of measurement to another.

CONVERT(number, from_unit, to_unit)

=CONVERT(100,"km","mi")→ ≈ 62.14 miles
DEC2BINConverts a decimal number to binary.

DEC2BIN(number, [places])

=DEC2BIN(10)→ "1010"
DEC2HEXConverts a decimal number to hexadecimal.

DEC2HEX(number, [places])

=DEC2HEX(255)→ "FF"
DEC2OCTConverts a decimal number to octal.

DEC2OCT(number, [places])

=DEC2OCT(8)→ "10"
DELTATests whether two values are equal and returns 1 if they are or 0 if they are not.

DELTA(number1, [number2])

=DELTA(5,5)→ 1
ERFReturns the error function integrated between the lower and upper limits, or between 0 and the lower limit when the upper limit is omitted.

ERF(lower_limit, [upper_limit])

=ERF(0.74500)
ERF.PRECISEReturns the error function integrated between 0 and x.Excel 2010

ERF.PRECISE(x)

=ERF.PRECISE(0.74500)
ERFCReturns the complementary error function integrated between x and infinity.

ERFC(x)

=ERFC(1)
ERFC.PRECISEReturns the complementary error function integrated between x and infinity.Excel 2010

ERFC.PRECISE(x)

=ERFC.PRECISE(1)
GESTEPReturns 1 if a number is greater than or equal to the step value, otherwise 0.

GESTEP(number, [step])

=GESTEP(5,4)→ 1
HEX2BINConverts a hexadecimal number to binary.

HEX2BIN(number, [places])

=HEX2BIN("F",8)→ "00001111"
HEX2DECConverts a hexadecimal number to decimal.

HEX2DEC(number)

=HEX2DEC("A5")→ 165
HEX2OCTConverts a hexadecimal number to octal.

HEX2OCT(number, [places])

=HEX2OCT("F",3)→ "017"
IMABSReturns the absolute value (modulus) of a complex number.

IMABS(inumber)

=IMABS("5+12i")→ 13
IMAGINARYReturns the imaginary coefficient of a complex number.

IMAGINARY(inumber)

=IMAGINARY("3+4i")→ 4
IMARGUMENTReturns the argument theta of a complex number, an angle in radians.

IMARGUMENT(inumber)

=IMARGUMENT("3+4i")
IMCONJUGATEReturns the conjugate of a complex number.

IMCONJUGATE(inumber)

=IMCONJUGATE("3+4i")→ "3-4i"
IMCOSReturns the cosine of a complex number.

IMCOS(inumber)

=IMCOS("1+i")
IMCOSHReturns the hyperbolic cosine of a complex number.Excel 2013

IMCOSH(inumber)

=IMCOSH("4+3i")
IMCOTReturns the cotangent of a complex number.Excel 2013

IMCOT(inumber)

=IMCOT("4+3i")
IMCSCReturns the cosecant of a complex number.Excel 2013

IMCSC(inumber)

=IMCSC("4+3i")
IMCSCHReturns the hyperbolic cosecant of a complex number.Excel 2013

IMCSCH(inumber)

=IMCSCH("4+3i")
IMDIVReturns the quotient of two complex numbers.

IMDIV(inumber1, inumber2)

=IMDIV("-238+240i","10+24i")
IMEXPReturns the exponential of a complex number.

IMEXP(inumber)

=IMEXP("1+i")
IMLNReturns the natural logarithm of a complex number.

IMLN(inumber)

=IMLN("3+4i")
IMLOG10Returns the base-10 logarithm of a complex number.

IMLOG10(inumber)

=IMLOG10("3+4i")
IMLOG2Returns the base-2 logarithm of a complex number.

IMLOG2(inumber)

=IMLOG2("3+4i")
IMPOWERReturns a complex number raised to a given exponent, which can be an integer, a fraction, or a negative number.

IMPOWER(inumber, number)

=IMPOWER("2+3i",3)
IMPRODUCTReturns the product of complex numbers.

IMPRODUCT(inumber1, ...)

=IMPRODUCT("3+4i","5-3i")
IMREALReturns the real coefficient of a complex number.

IMREAL(inumber)

=IMREAL("6-9i")→ 6
IMSECReturns the secant of a complex number.Excel 2013

IMSEC(inumber)

=IMSEC("4+3i")
IMSECHReturns the hyperbolic secant of a complex number.Excel 2013

IMSECH(inumber)

=IMSECH("4+3i")
IMSINReturns the sine of a complex number.

IMSIN(inumber)

=IMSIN("3+4i")
IMSINHReturns the hyperbolic sine of a complex number.Excel 2013

IMSINH(inumber)

=IMSINH("4+3i")
IMSQRTReturns the square root of a complex number.

IMSQRT(inumber)

=IMSQRT("1+i")
IMSUBReturns the difference between two complex numbers.

IMSUB(inumber1, inumber2)

=IMSUB("13+4i","5+3i")
IMSUMReturns the sum of complex numbers.

IMSUM(inumber1, ...)

=IMSUM("3+4i","5-3i")
IMTANReturns the tangent of a complex number.Excel 2013

IMTAN(inumber)

=IMTAN("4+3i")
OCT2BINConverts a octal number to binary.

OCT2BIN(number, [places])

=OCT2BIN("3",3)→ "011"
OCT2DECConverts a octal number to decimal.

OCT2DEC(number)

=OCT2DEC("54")→ 44
OCT2HEXConverts a octal number to hexadecimal.

OCT2HEX(number, [places])

=OCT2HEX("100",4)→ "0040"

Database12

DAVERAGEReturns the average of the values in a field for database records that match the criteria.

DAVERAGE(database, field, criteria)

=DAVERAGE(A1:E20,"Sales",G1:G2)
DCOUNTCounts the cells that contain numbers in a field for database records that match the criteria.

DCOUNT(database, field, criteria)

=DCOUNT(A1:E20,"Sales",G1:G2)
DCOUNTACounts the non-empty cells in a field for database records that match the criteria.

DCOUNTA(database, field, criteria)

=DCOUNTA(A1:E20,"Name",G1:G2)
DGETReturns a single value from a field for the one record that matches the criteria, or an error if no record or more than one record matches.

DGET(database, field, criteria)

=DGET(A1:E20,"Email",G1:G2)
DMAXReturns the largest value in a field for database records that match the criteria.

DMAX(database, field, criteria)

=DMAX(A1:E20,"Sales",G1:G2)
DMINReturns the smallest value in a field for database records that match the criteria.

DMIN(database, field, criteria)

=DMIN(A1:E20,"Sales",G1:G2)
DPRODUCTMultiplies the values in a field for database records that match the criteria.

DPRODUCT(database, field, criteria)

=DPRODUCT(A1:E20,"Qty",G1:G2)
DSTDEVEstimates the standard deviation from a sample, using the values in a field for records that match the criteria.

DSTDEV(database, field, criteria)

=DSTDEV(A1:E20,"Score",G1:G2)
DSTDEVPReturns the population standard deviation of the values in a field for records that match the criteria.

DSTDEVP(database, field, criteria)

=DSTDEVP(A1:E20,"Score",G1:G2)
DSUMReturns the sum of the values in a field for database records that match the criteria.

DSUM(database, field, criteria)

=DSUM(A1:E20,"Sales",G1:G2)
DVAREstimates the variance from a sample, using the values in a field for records that match the criteria.

DVAR(database, field, criteria)

=DVAR(A1:E20,"Score",G1:G2)
DVARPReturns the population variance of the values in a field for records that match the criteria.

DVARP(database, field, criteria)

=DVARP(A1:E20,"Score",G1:G2)

Cube7

CUBEKPIMEMBERReturns a KPI property, such as value, goal, or status, from a cube and displays the KPI name in the cell.

CUBEKPIMEMBER(connection, kpi_name, kpi_property, [caption])

=CUBEKPIMEMBER("Sales","KPI",1)
CUBEMEMBERReturns a member or tuple from a cube hierarchy, if it exists.

CUBEMEMBER(connection, member_expression, [caption])

=CUBEMEMBER("Sales","[Product].[All]")
CUBEMEMBERPROPERTYReturns the value of a property for a member in a cube.

CUBEMEMBERPROPERTY(connection, member_expression, property)

=CUBEMEMBERPROPERTY("Sales","[Product]","Color")
CUBERANKEDMEMBERReturns the nth member of a cube set by rank, such as the top-selling product.

CUBERANKEDMEMBER(connection, set_expression, rank, [caption])

=CUBERANKEDMEMBER("Sales","[Top10Products]",1)
CUBESETDefines a set of members or tuples by sending a set expression to the cube, for use by other cube functions.

CUBESET(connection, set_expression, [caption], [sort_order], [sort_by])

=CUBESET("Sales","[Product].MEMBERS")
CUBESETCOUNTReturns the number of items in a set defined by CUBESET.

CUBESETCOUNT(set)

=CUBESETCOUNT(A1)
CUBEVALUEReturns an aggregated value from a cube for the specified combination of members.

CUBEVALUE(connection, [member_expression1], ...)

=CUBEVALUE("Sales","[Measures].[Sales]")

Web3

ENCODEURLReturns text as a URL-encoded string, replacing special characters such as spaces with percent codes.Excel 2013

ENCODEURL(text)

=ENCODEURL("hello world")→ "hello%20world"
FILTERXMLReturns specific data from XML content using an XPath expression; not available in Excel for the web or Mac.Excel 2013

FILTERXML(xml, xpath)

=FILTERXML(A1,"//item/name")
WEBSERVICEReturns data from a web service at the specified URL; works only in Excel for Windows.Excel 2013

WEBSERVICE(url)

=WEBSERVICE("https://api.example.com/data")

Compatibility40

BETADISTReturns the cumulative beta distribution; use BETA.DIST in new workbooks.Legacy compatibility

BETADIST(x, alpha, beta, [A], [B])

=BETADIST(2,8,10,1,3)
BETAINVReturns the inverse of the cumulative beta distribution; use BETA.INV in new workbooks.Legacy compatibility

BETAINV(probability, alpha, beta, [A], [B])

=BETAINV(0.685,8,10,1,3)
BINOMDISTReturns the individual term binomial distribution probability; use BINOM.DIST in new workbooks.Legacy compatibility

BINOMDIST(number_s, trials, prob_s, cumulative)

=BINOMDIST(6,10,0.5,FALSE)
CHIDISTReturns the right-tailed probability of the chi-squared distribution; use CHISQ.DIST.RT in new workbooks.Legacy compatibility

CHIDIST(x, deg_freedom)

=CHIDIST(18.307,10)
CHIINVReturns the inverse of the right-tailed probability of the chi-squared distribution; use CHISQ.INV.RT in new workbooks.Legacy compatibility

CHIINV(probability, deg_freedom)

=CHIINV(0.05,10)
CHITESTReturns the p-value of a chi-squared test for independence; use CHISQ.TEST in new workbooks.Legacy compatibility

CHITEST(actual_range, expected_range)

=CHITEST(A1:B3,D1:E3)
CONFIDENCEReturns the margin of a confidence interval for a population mean using a normal distribution; use CONFIDENCE.NORM in new workbooks.Legacy compatibility

CONFIDENCE(alpha, standard_dev, size)

=CONFIDENCE(0.05,2.5,50)
COVARReturns the population covariance, the average of the products of deviations for each data pair; use COVARIANCE.P in new workbooks.Legacy compatibility

COVAR(array1, array2)

=COVAR(A:A,B:B)
CRITBINOMReturns the smallest value for which the cumulative binomial distribution is greater than or equal to a criterion value; use BINOM.INV in new workbooks.Legacy compatibility

CRITBINOM(trials, probability_s, alpha)

=CRITBINOM(6,0.5,0.75)
EXPONDISTReturns the exponential distribution; use EXPON.DIST in new workbooks.Legacy compatibility

EXPONDIST(x, lambda, cumulative)

=EXPONDIST(0.2,10,TRUE)
FDISTReturns the right-tailed F probability distribution; use F.DIST.RT in new workbooks.Legacy compatibility

FDIST(x, deg_freedom1, deg_freedom2)

=FDIST(15.2069,6,4)
FINVReturns the inverse of the right-tailed F probability distribution; use F.INV.RT in new workbooks.Legacy compatibility

FINV(probability, deg_freedom1, deg_freedom2)

=FINV(0.01,6,4)
FORECASTReturns a predicted value along a linear trend; use FORECAST.LINEAR in new workbooks.Legacy compatibility

FORECAST(x, known_ys, known_xs)

=FORECAST(30,B:B,A:A)
FTESTReturns the result of an F-test, the two-tailed probability that the variances of two arrays are not significantly different; use F.TEST in new workbooks.Legacy compatibility

FTEST(array1, array2)

=FTEST(A:A,B:B)
GAMMADISTReturns the gamma distribution; use GAMMA.DIST in new workbooks.Legacy compatibility

GAMMADIST(x, alpha, beta, cumulative)

=GAMMADIST(10,9,2,TRUE)
GAMMAINVReturns the inverse of the cumulative gamma distribution; use GAMMA.INV in new workbooks.Legacy compatibility

GAMMAINV(probability, alpha, beta)

=GAMMAINV(0.068,9,2)
HYPGEOMDISTReturns the hypergeometric distribution; use HYPGEOM.DIST in new workbooks.Legacy compatibility

HYPGEOMDIST(sample_s, number_sample, population_s, number_pop)

=HYPGEOMDIST(1,4,8,20)
LOGINVReturns the inverse of the cumulative lognormal distribution; use LOGNORM.INV in new workbooks.Legacy compatibility

LOGINV(probability, mean, standard_dev)

=LOGINV(0.039,3.5,1.2)
LOGNORMDISTReturns the cumulative lognormal distribution; use LOGNORM.DIST in new workbooks.Legacy compatibility

LOGNORMDIST(x, mean, standard_dev)

=LOGNORMDIST(4,3.5,1.2)
MODEReturns the most frequently occurring value in a data set; use MODE.SNGL in new workbooks.Legacy compatibility

MODE(number1, ...)

=MODE(B:B)
NEGBINOMDISTReturns the negative binomial distribution; use NEGBINOM.DIST in new workbooks.Legacy compatibility

NEGBINOMDIST(number_f, number_s, probability_s)

=NEGBINOMDIST(10,5,0.25)
NORMDISTReturns the normal distribution for a given mean and standard deviation; use NORM.DIST in new workbooks.Legacy compatibility

NORMDIST(x, mean, standard_dev, cumulative)

=NORMDIST(42,40,1.5,TRUE)
NORMINVReturns the inverse of the normal cumulative distribution; use NORM.INV in new workbooks.Legacy compatibility

NORMINV(probability, mean, standard_dev)

=NORMINV(0.908,40,1.5)
NORMSDISTReturns the standard normal cumulative distribution; use NORM.S.DIST in new workbooks.Legacy compatibility

NORMSDIST(z)

=NORMSDIST(1.33)
NORMSINVReturns the inverse of the standard normal cumulative distribution; use NORM.S.INV in new workbooks.Legacy compatibility

NORMSINV(probability)

=NORMSINV(0.908)
PERCENTILEReturns the k-th percentile of values in a range; use PERCENTILE.INC in new workbooks.Legacy compatibility

PERCENTILE(array, k)

=PERCENTILE(B:B,0.5)
PERCENTRANKReturns the rank of a value as a percentage of a data set; use PERCENTRANK.INC in new workbooks.Legacy compatibility

PERCENTRANK(array, x, [significance])

=PERCENTRANK(A:A,A2)
POISSONReturns the Poisson distribution; use POISSON.DIST in new workbooks.Legacy compatibility

POISSON(x, mean, cumulative)

=POISSON(2,5,TRUE)
QUARTILEReturns the quartile of a data set; use QUARTILE.INC in new workbooks.Legacy compatibility

QUARTILE(array, quart)

=QUARTILE(A:A,1)
RANKReturns the rank of a number in a list of numbers; use RANK.EQ or RANK.AVG in new workbooks.Legacy compatibility

RANK(number, ref, [order])

=RANK(B2,B:B,0)
STDEVReturns the standard deviation based on a sample; use STDEV.S in new workbooks.Legacy compatibility

STDEV(number1, ...)

=STDEV(B:B)
STDEVPReturns the standard deviation based on the entire population; use STDEV.P in new workbooks.Legacy compatibility

STDEVP(number1, ...)

=STDEVP(B:B)
TDISTReturns the probability for Student's t-distribution (one-tailed or two-tailed); use T.DIST.2T or T.DIST.RT in new workbooks.Legacy compatibility

TDIST(x, deg_freedom, tails)

=TDIST(1.96,60,2)
TINVReturns the two-tailed inverse of Student's t-distribution; use T.INV.2T in new workbooks.Legacy compatibility

TINV(probability, deg_freedom)

=TINV(0.0546,60)
TTESTReturns the probability associated with a Student's t-test; use T.TEST in new workbooks.Legacy compatibility

TTEST(array1, array2, tails, type)

=TTEST(A:A,B:B,2,1)
VARReturns the variance based on a sample; use VAR.S in new workbooks.Legacy compatibility

VAR(number1, ...)

=VAR(B:B)
VARPReturns the variance based on the entire population; use VAR.P in new workbooks.Legacy compatibility

VARP(number1, ...)

=VARP(B:B)
WEIBULLReturns the Weibull distribution; use WEIBULL.DIST in new workbooks.Legacy compatibility

WEIBULL(x, alpha, beta, cumulative)

=WEIBULL(105,20,100,TRUE)
ZTESTReturns the one-tailed p-value of a z-test; use Z.TEST in new workbooks.Legacy compatibility

ZTEST(array, x, [sigma])

=ZTEST(A:A,4)
FLOOR.PRECISE.LEGACYRounds a number down to the nearest integer or nearest multiple of significance; the result is the same as FLOOR.PRECISE.Legacy compatibility

FLOOR.PRECISE(number)

=FLOOR.PRECISE(4.3)

Have a specific question?

The AI tutor answers questions about Excel in English or Malay.

Ask the tutor