Formula Functions

Methodox Formula computes 462 worksheet functions: 458 that Excel has, under the same names and with the same arguments, and 4 of its own. The list below is generated from the function table the calculation engine itself uses, so a function listed here is one Formula computes and one missing from it is one it does not. Insert Function (the fx button beside the formula bar) searches the same table.

Function names are written in English in the file and in the cell, as in Excel. In the syntax, an argument in square brackets may be left out and ... means the argument before it may repeat. Functions marked volatile recalculate on every recalculation, and everything that depends on them recalculates with them; functions marked can spill may return an array that fills the cells below and to the right of the formula (see Dynamic arrays).

A workbook can add functions of its own, written in Lua, C# or as Divooka graphs, which appear as LUA.NAME, CS.NAME and DVK.NAME; see Worksheet Functions. They are not listed here because each workbook has its own.

Categories

Math and trigonometry

Function Syntax What it does
ABS ABS(number) The absolute value of a number.
ACOS ACOS(number) The arccosine of a number, in radians.
ACOSH ACOSH(number) The inverse hyperbolic cosine of a number.
ACOT ACOT(number) The arccotangent of a number, in radians.
ACOTH ACOTH(number) The inverse hyperbolic cotangent of a number.
AGGREGATE AGGREGATE(function_num, options, ref1, [ref2], ...) An aggregate (sum, average, count and 16 others) that can ignore hidden rows and errors.
ARABIC ARABIC(text) Converts a Roman numeral to a number.
ASIN ASIN(number) The arcsine of a number, in radians.
ASINH ASINH(number) The inverse hyperbolic sine of a number.
ATAN ATAN(number) The arctangent of a number, in radians.
ATAN2 ATAN2(x_num, y_num) The arctangent of x and y coordinates, in radians.
ATANH ATANH(number) The inverse hyperbolic tangent of a number.
BASE BASE(number, radix, [min_length]) A number as text in another base.
CEILING.MATH CEILING.MATH(number, [significance], [mode]) Rounds a number up to the nearest integer or multiple of significance.
CEILING.PRECISE CEILING.PRECISE(number, [significance]) Rounds a number up, whatever its sign, to the nearest multiple of significance.
COMBIN COMBIN(number, number_chosen) The number of combinations of a number of items.
COMBINA COMBINA(number, number_chosen) The number of combinations with repetitions.
COS COS(number) The cosine of an angle in radians.
COSH COSH(number) The hyperbolic cosine of a number.
COT COT(number) The cotangent of an angle in radians.
COTH COTH(number) The hyperbolic cotangent of a number.
CSC CSC(number) The cosecant of an angle in radians.
CSCH CSCH(number) The hyperbolic cosecant of an angle.
DECIMAL DECIMAL(text, radix) Converts text in a given base to a decimal number.
DEGREES DEGREES(angle) Converts radians to degrees.
EVEN EVEN(number) Rounds a number up to the nearest even integer.
EXP EXP(number) e raised to a power.
FACT FACT(number) The factorial of a number.
FACTDOUBLE FACTDOUBLE(number) The double factorial of a number.
FLOOR.MATH FLOOR.MATH(number, [significance], [mode]) Rounds a number down to the nearest integer or multiple of significance.
FLOOR.PRECISE FLOOR.PRECISE(number, [significance]) Rounds a number down, whatever its sign, to the nearest multiple of significance.
GCD GCD(number1, [number2], ...) The greatest common divisor.
INT INT(number) Rounds a number down to the nearest integer.
ISO.CEILING ISO.CEILING(number, [significance]) Rounds a number up to the nearest integer or multiple of significance.
LCM LCM(number1, [number2], ...) The least common multiple.
LN LN(number) The natural logarithm.
LOG LOG(number, [base]) The logarithm in a given base (10 when left out).
LOG10 LOG10(number) The base-10 logarithm.
MDETERM MDETERM(array) The determinant of a matrix.
MINVERSE MINVERSE(array) The inverse of a matrix. can spill
MMULT MMULT(array1, array2) The matrix product of two arrays. can spill
MOD MOD(number, divisor) The remainder after division.
MROUND MROUND(number, multiple) A number rounded to the nearest multiple.
MULTINOMIAL MULTINOMIAL(number1, [number2], ...) The multinomial of a set of numbers.
MUNIT MUNIT(dimension) The identity matrix of a size. can spill
ODD ODD(number) Rounds a number up to the nearest odd integer.
PERCENTOF PERCENTOF(data_subset, data_all) The share of a subset in a total, as a fraction.
PI PI() The value of pi.
POWER POWER(number, power) A number raised to a power.
PRODUCT PRODUCT(number1, [number2], ...) Multiplies its arguments.
QUOTIENT QUOTIENT(numerator, denominator) The integer part of a division.
RADIANS RADIANS(angle) Converts degrees to radians.
RAND RAND() A random number from 0 to 1, new on every recalculation. volatile
RANDARRAY RANDARRAY([rows], [columns], [min], [max], [integer]) An array of random numbers, spilled. volatile, can spill
RANDBETWEEN RANDBETWEEN(bottom, top) A random integer between two numbers. volatile
ROMAN ROMAN(number, [form]) A number as a Roman numeral.
ROUND ROUND(number, [num_digits]) A number rounded to a number of digits.
ROUNDDOWN ROUNDDOWN(number, [num_digits]) A number rounded towards zero.
ROUNDUP ROUNDUP(number, [num_digits]) A number rounded away from zero.
SEC SEC(number) The secant of an angle in radians.
SECH SECH(number) The hyperbolic secant of an angle.
SEQUENCE SEQUENCE(rows, [columns], [start], [step]) A sequence of numbers, spilled. can spill
SERIESSUM SERIESSUM(x, n, m, coefficients) The sum of a power series.
SIGN SIGN(number) The sign of a number: 1, 0 or -1.
SIN SIN(number) The sine of an angle in radians.
SINH SINH(number) The hyperbolic sine of a number.
SQRT SQRT(number) The positive square root.
SQRTPI SQRTPI(number) The square root of a number times pi.
SUBTOTAL SUBTOTAL(function_num, ref1, [ref2], ...) A subtotal that can leave out hidden rows.
SUM SUM(number1, [number2], ...) Adds its arguments.
SUMIF SUMIF(range, criteria, [sum_range]) Adds the cells that meet one criterion.
SUMIFS SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) Adds the cells that meet several criteria.
SUMPRODUCT SUMPRODUCT(array1, [array2], ...) The sum of the products of corresponding array entries.
SUMSQ SUMSQ(number1, [number2], ...) The sum of the squares of its arguments.
SUMX2MY2 SUMX2MY2(array_x, array_y) The sum of the differences of squares of corresponding values.
SUMX2PY2 SUMX2PY2(array_x, array_y) The sum of the sums of squares of corresponding values.
SUMXMY2 SUMXMY2(array_x, array_y) The sum of squares of the differences of corresponding values.
TAN TAN(number) The tangent of an angle in radians.
TANH TANH(number) The hyperbolic tangent of a number.
TRUNC TRUNC(number, [num_digits]) A number truncated to a number of digits.

Statistical

Function Syntax What it does
AVEDEV AVEDEV(number1, [number2], ...) The average of the absolute deviations of values from their mean.
AVERAGE AVERAGE(number1, [number2], ...) The arithmetic mean of its arguments.
AVERAGEA AVERAGEA(value1, [value2], ...) The mean of its arguments, counting text as 0 and logical values as 1 or 0.
AVERAGEIF AVERAGEIF(range, criteria, [average_range]) The mean of the cells that meet one criterion.
AVERAGEIFS AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) The mean of the cells that meet several criteria.
BETA.DIST BETA.DIST(x, alpha, beta, cumulative, [A], [B]) The beta distribution.
BETA.INV BETA.INV(probability, alpha, beta, [A], [B]) The inverse of the cumulative beta distribution.
BINOM.DIST BINOM.DIST(number_s, trials, probability_s, cumulative) The binomial distribution probability.
BINOM.DIST.RANGE BINOM.DIST.RANGE(trials, probability_s, number_s, [number_s2]) The probability of a number of successes, or a range of them, in a binomial trial.
BINOM.INV BINOM.INV(trials, probability_s, alpha) The smallest value whose cumulative binomial distribution reaches a criterion.
CHISQ.DIST CHISQ.DIST(x, deg_freedom, cumulative) The left-tailed chi-squared distribution.
CHISQ.DIST.RT CHISQ.DIST.RT(x, deg_freedom) The right-tailed chi-squared distribution.
CHISQ.INV CHISQ.INV(probability, deg_freedom) The inverse of the left-tailed chi-squared distribution.
CHISQ.INV.RT CHISQ.INV.RT(probability, deg_freedom) The inverse of the right-tailed chi-squared distribution.
CHISQ.TEST CHISQ.TEST(actual_range, expected_range) The chi-squared test for independence.
CONFIDENCE.NORM CONFIDENCE.NORM(alpha, standard_dev, size) The confidence interval for a population mean, using the normal distribution.
CONFIDENCE.T CONFIDENCE.T(alpha, standard_dev, size) The confidence interval for a population mean, using Student's t distribution.
CORREL CORREL(array1, array2) The correlation coefficient of two data sets.
COUNT COUNT(value1, [value2], ...) Counts the numbers among its arguments.
COUNTA COUNTA(value1, [value2], ...) Counts the values that are not empty.
COUNTBLANK COUNTBLANK(range) Counts the empty cells in a range.
COUNTIF COUNTIF(range, criteria) Counts the cells that meet one criterion.
COUNTIFS COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2], ...) Counts the cells that meet several criteria.
COVARIANCE.P COVARIANCE.P(array1, array2) The population covariance of two data sets.
COVARIANCE.S COVARIANCE.S(array1, array2) The sample covariance of two data sets.
DEVSQ DEVSQ(number1, [number2], ...) The sum of squared deviations from the mean.
EXPON.DIST EXPON.DIST(x, lambda, cumulative) The exponential distribution.
F.DIST F.DIST(x, deg_freedom1, deg_freedom2, cumulative) The left-tailed F probability distribution.
F.DIST.RT F.DIST.RT(x, deg_freedom1, deg_freedom2) The right-tailed F probability distribution.
F.INV F.INV(probability, deg_freedom1, deg_freedom2) The inverse of the left-tailed F distribution.
F.INV.RT F.INV.RT(probability, deg_freedom1, deg_freedom2) The inverse of the right-tailed F distribution.
F.TEST F.TEST(array1, array2) The result of an F-test.
FISHER FISHER(x) The Fisher transformation.
FISHERINV FISHERINV(y) The inverse of the Fisher transformation.
FORECAST.LINEAR FORECAST.LINEAR(x, known_y's, known_x's) A future value along a linear trend.
FREQUENCY FREQUENCY(data_array, bins_array) How often values occur within ranges, as a vertical array. can spill
GAMMA GAMMA(x) The gamma function value.
GAMMA.DIST GAMMA.DIST(x, alpha, beta, cumulative) The gamma distribution.
GAMMA.INV GAMMA.INV(probability, alpha, beta) The inverse of the cumulative gamma distribution.
GAMMALN GAMMALN(x) The natural logarithm of the gamma function.
GAMMALN.PRECISE GAMMALN.PRECISE(x) The natural logarithm of the gamma function.
GAUSS GAUSS(x) 0.5 less than the standard normal cumulative distribution.
GEOMEAN GEOMEAN(number1, [number2], ...) The geometric mean.
HARMEAN HARMEAN(number1, [number2], ...) The harmonic mean.
HYPGEOM.DIST HYPGEOM.DIST(sample_s, number_sample, population_s, number_pop, [cumulative]) The hypergeometric distribution.
INTERCEPT INTERCEPT(known_y's, known_x's) The intercept of the linear regression line.
KURT KURT(number1, [number2], ...) The kurtosis of a data set.
LARGE LARGE(array, k) The k-th largest value.
LINEST LINEST(known_y's, [known_x's], [const], [stats]) The statistics of a least-squares linear fit. can spill
LOGNORM.DIST LOGNORM.DIST(x, mean, standard_dev, cumulative) The lognormal distribution.
LOGNORM.INV LOGNORM.INV(probability, mean, standard_dev) The inverse of the lognormal cumulative distribution.
MAX MAX(number1, [number2], ...) The largest value.
MAXA MAXA(value1, [value2], ...) The largest value, counting text as 0 and logical values.
MAXIFS MAXIFS(max_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) The largest value among cells that meet criteria.
MEDIAN MEDIAN(number1, [number2], ...) The median.
MIN MIN(number1, [number2], ...) The smallest value.
MINA MINA(value1, [value2], ...) The smallest value, counting text as 0 and logical values.
MINIFS MINIFS(min_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) The smallest value among cells that meet criteria.
MODE.MULT MODE.MULT(number1, [number2], ...) The most common values, as a vertical array. can spill
MODE.SNGL MODE.SNGL(number1, [number2], ...) The most common value.
NEGBINOM.DIST NEGBINOM.DIST(number_f, number_s, probability_s, cumulative) The negative binomial distribution.
NORM.DIST NORM.DIST(x, mean, standard_dev, cumulative) The normal distribution.
NORM.INV NORM.INV(probability, mean, standard_dev) The inverse of the normal cumulative distribution.
NORM.S.DIST NORM.S.DIST(z, [cumulative]) The standard normal distribution.
NORM.S.INV NORM.S.INV(probability) The inverse of the standard normal cumulative distribution.
PEARSON PEARSON(array1, array2) The Pearson product moment correlation coefficient.
PERCENTILE.EXC PERCENTILE.EXC(array, k) The k-th percentile, k strictly between 0 and 1.
PERCENTILE.INC PERCENTILE.INC(array, k) The k-th percentile, k from 0 to 1 inclusive.
PERCENTRANK.EXC PERCENTRANK.EXC(array, x, [significance]) The rank of a value as a percentage, exclusive.
PERCENTRANK.INC PERCENTRANK.INC(array, x, [significance]) The rank of a value as a percentage, inclusive.
PERMUT PERMUT(number, number_chosen) The number of permutations.
PERMUTATIONA PERMUTATIONA(number, number_chosen) The number of permutations with repetitions.
PHI PHI(x) The density of the standard normal distribution.
POISSON.DIST POISSON.DIST(x, mean, cumulative) The Poisson distribution.
PROB PROB(x_range, prob_range, lower_limit, [upper_limit]) The probability that values fall between two limits.
QUARTILE.EXC QUARTILE.EXC(array, quart) A quartile, from percentiles strictly between 0 and 1.
QUARTILE.INC QUARTILE.INC(array, quart) A quartile, from percentiles 0 to 1 inclusive.
RANK.AVG RANK.AVG(number, ref, [order]) The rank of a number, averaged over ties.
RANK.EQ RANK.EQ(number, ref, [order]) The rank of a number, the top rank for ties.
RSQ RSQ(known_y's, known_x's) The square of the Pearson correlation coefficient.
SKEW SKEW(number1, [number2], ...) The skewness of a distribution.
SKEW.P SKEW.P(number1, [number2], ...) The skewness of a population.
SLOPE SLOPE(known_y's, known_x's) The slope of the linear regression line.
SMALL SMALL(array, k) The k-th smallest value.
STANDARDIZE STANDARDIZE(x, mean, standard_dev) A normalised value.
STDEV.P STDEV.P(number1, [number2], ...) The standard deviation of a whole population.
STDEV.S STDEV.S(number1, [number2], ...) The standard deviation of a sample.
STDEVA STDEVA(value1, [value2], ...) The sample standard deviation, counting text and logical values.
STDEVPA STDEVPA(value1, [value2], ...) The population standard deviation, counting text and logical values.
STEYX STEYX(known_y's, known_x's) The standard error of the predicted y for each x in a regression.
T.DIST T.DIST(x, deg_freedom, cumulative) The left-tailed Student's t distribution.
T.DIST.2T T.DIST.2T(x, deg_freedom) The two-tailed Student's t distribution.
T.DIST.RT T.DIST.RT(x, deg_freedom) The right-tailed Student's t distribution.
T.INV T.INV(probability, deg_freedom) The left-tailed inverse of Student's t distribution.
T.INV.2T T.INV.2T(probability, deg_freedom) The two-tailed inverse of Student's t distribution.
T.TEST T.TEST(array1, array2, tails, type) The probability from a Student's t-test.
TREND TREND(known_y's, [known_x's], [new_x's], [const]) Values along a linear trend. can spill
TRIMMEAN TRIMMEAN(array, percent) The mean of the interior of a data set.
VAR.P VAR.P(number1, [number2], ...) The variance of a whole population.
VAR.S VAR.S(number1, [number2], ...) The variance of a sample.
VARA VARA(value1, [value2], ...) The sample variance, counting text and logical values.
VARPA VARPA(value1, [value2], ...) The population variance, counting text and logical values.
WEIBULL.DIST WEIBULL.DIST(x, alpha, beta, cumulative) The Weibull distribution.
Z.TEST Z.TEST(array, x, [sigma]) The one-tailed P-value of a z-test.

Lookup and reference

Function Syntax What it does
ADDRESS ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text]) A cell address as text, from a row and column number.
AREAS AREAS(reference) The number of areas in a reference.
CHOOSE CHOOSE(index_num, value1, [value2], ...) Picks one value from a list by its position.
CHOOSECOLS CHOOSECOLS(array, col_num1, [col_num2], ...) The given columns of an array. can spill
CHOOSEROWS CHOOSEROWS(array, row_num1, [row_num2], ...) The given rows of an array. can spill
COLUMN COLUMN([reference]) The column number of a reference.
COLUMNS COLUMNS(array) The number of columns in a reference or array.
DROP DROP(array, rows, [columns]) An array without a number of rows or columns from its start or end. can spill
EXPAND EXPAND(array, rows, [columns], [pad_with]) An array padded out to the given size. can spill
FILTER FILTER(array, include, [if_empty]) The rows or columns of an array that meet a condition, spilled. can spill
GETPIVOTDATA GETPIVOTDATA(data_field, pivot_table, [field1, item1], ...) A value from a pivot table's last refresh. volatile
GROUPBY GROUPBY(row_fields, values, function, [field_headers], [total_depth], [sort_order], [filter_array], [field_relationship]) Groups rows by one or more fields and aggregates the values, spilled. can spill
HLOOKUP HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup]) Looks along the top row of a table and returns a value from a row below.
HSTACK HSTACK(array1, [array2], ...) Arrays placed side by side in one array. can spill
HYPERLINK HYPERLINK(link_location, [friendly_name]) A link to a document or web address, shown as its name.
INDEX INDEX(array, row_num, [column_num]) The value or reference at a row and column of a range or array.
INDIRECT INDIRECT(ref_text, [a1]) The reference named by a text. volatile
LOOKUP LOOKUP(lookup_value, lookup_vector, [result_vector]) Looks a value up in one row or column and returns the matching value from another.
MATCH MATCH(lookup_value, lookup_array, [match_type]) The position of a value in a row or column.
OFFSET OFFSET(reference, rows, cols, [height], [width]) A reference offset from a given reference. volatile
PIVOTBY PIVOTBY(row_fields, col_fields, values, function, [field_headers], [row_total_depth], [row_sort_order], [col_total_depth], [col_sort_order], [filter_array], [relative_to]) Groups by row and column fields and aggregates the values into a spilled cross-tab. can spill
ROW ROW([reference]) The row number of a reference.
ROWS ROWS(array) The number of rows in a reference or array.
SORT SORT(array, [sort_index], [sort_order], [by_col]) The contents of an array sorted, spilled. can spill
SORTBY SORTBY(array, by_array1, [sort_order1], ...) An array sorted by the values of other arrays, spilled. can spill
TAKE TAKE(array, rows, [columns]) A number of rows or columns from the start or end of an array. can spill
TOCOL TOCOL(array, [ignore], [scan_by_column]) An array as one column. can spill
TOROW TOROW(array, [ignore], [scan_by_column]) An array as one row. can spill
TRANSPOSE TRANSPOSE(array) An array with rows and columns swapped. can spill
TRIMRANGE TRIMRANGE(range, [trim_rows], [trim_cols]) A range with its empty outer rows and columns removed. can spill
UNIQUE UNIQUE(array, [by_col], [exactly_once]) The distinct rows or columns of an array, spilled. can spill
VLOOKUP VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) Looks down the first column of a table and returns a value from a column to the right.
VSTACK VSTACK(array1, [array2], ...) Arrays stacked one above another in one array. can spill
WRAPCOLS WRAPCOLS(vector, wrap_count, [pad_with]) A row or column wrapped into columns. can spill
WRAPROWS WRAPROWS(vector, wrap_count, [pad_with]) A row or column wrapped into rows. can spill
XLOOKUP XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode]) Looks a value up in a range and returns the matching item from another. can spill
XMATCH XMATCH(lookup_value, lookup_array, [match_mode], [search_mode]) The position of a value in a range, with exact, approximate, wildcard and reverse search.

Logical

Function Syntax What it does
AND AND(logical1, [logical2], ...) TRUE when every argument is TRUE.
BYCOL BYCOL(array, lambda) Applies a LAMBDA to each column and returns an array of the results. can spill
BYROW BYROW(array, lambda) Applies a LAMBDA to each row and returns an array of the results. can spill
FALSE FALSE() The logical value FALSE.
IF IF(logical_test, value_if_true, [value_if_false]) One value when a condition is TRUE and another when it is FALSE.
IFERROR IFERROR(value, value_if_error) A value, or an alternative when the value is an error.
IFNA IFNA(value, value_if_na) A value, or an alternative when the value is #N/A.
IFS IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2], ...) The value of the first condition that is TRUE.
LAMBDA LAMBDA([parameter1, ...], calculation) A function of your own, callable by name or as an argument. can spill
LET LET(name1, value1, [name2, value2], ..., calculation) Names intermediate results inside one formula. can spill
MAKEARRAY MAKEARRAY(rows, columns, lambda) An array of a given size whose values a LAMBDA computes. can spill
MAP MAP(array1, [array2], ..., lambda) Each value of the arrays mapped through a LAMBDA. can spill
NOT NOT(logical) Reverses a logical value.
OR OR(logical1, [logical2], ...) TRUE when any argument is TRUE.
REDUCE REDUCE([initial_value], array, lambda) Accumulates an array to one value through a LAMBDA. can spill
SCAN SCAN([initial_value], array, lambda) Every intermediate value of accumulating an array through a LAMBDA. can spill
SWITCH SWITCH(expression, value1, result1, [default_or_value2, result2], ...) Compares a value with a list and returns the result of the first match.
TRUE TRUE() The logical value TRUE.
XOR XOR(logical1, [logical2], ...) TRUE when an odd number of arguments are TRUE.

Text

Function Syntax What it does
ARRAYTOTEXT ARRAYTOTEXT(array, [format]) An array's values as one piece of text.
CHAR CHAR(number) The character with a given code.
CLEAN CLEAN(text) Removes non-printable characters from text.
CODE CODE(text) The numeric code of the first character of text.
CONCAT CONCAT(text1, [text2], ...) Joins text from values and ranges.
CONCATENATE CONCATENATE(text1, [text2], ...) Joins several text items into one.
DOLLAR DOLLAR(number, [decimals]) A number as currency text.
EXACT EXACT(text1, text2) TRUE when two texts are exactly the same, case included.
FIND FIND(find_text, within_text, [start_num]) The position of one text inside another, case-sensitive.
FINDB FINDB(find_text, within_text, [start_num]) FIND counting bytes for double-byte characters.
FIXED FIXED(number, [decimals], [no_commas]) A number as text with a fixed number of decimals.
LEFT LEFT(text, [num_chars]) The first characters of a text.
LEFTB LEFTB(text, [num_bytes]) LEFT counting bytes for double-byte characters.
LEN LEN(text) The number of characters in a text.
LENB LENB(text) LEN counting bytes for double-byte characters.
LOWER LOWER(text) Text in lower case.
MID MID(text, start_num, num_chars) Characters from the middle of a text.
MIDB MIDB(text, start_num, num_bytes) MID counting bytes for double-byte characters.
NUMBERVALUE NUMBERVALUE(text, [decimal_separator], [group_separator]) Converts text to a number whatever the locale.
PROPER PROPER(text) Capitalises the first letter of each word.
REGEXEXTRACT REGEXEXTRACT(text, pattern, [return_mode], [case_sensitivity]) The text matching a regular expression. can spill
REGEXREPLACE REGEXREPLACE(text, pattern, replacement, [occurrence], [case_sensitivity]) Replaces the text matching a regular expression.
REGEXTEST REGEXTEST(text, pattern, [case_sensitivity]) TRUE when text matches a regular expression.
REPLACE REPLACE(old_text, start_num, num_chars, new_text) Replaces characters at a position in a text.
REPLACEB REPLACEB(old_text, start_num, num_bytes, new_text) REPLACE counting bytes for double-byte characters.
REPT REPT(text, number_times) Repeats text a number of times.
RIGHT RIGHT(text, [num_chars]) The last characters of a text.
RIGHTB RIGHTB(text, [num_bytes]) RIGHT counting bytes for double-byte characters.
SEARCH SEARCH(find_text, within_text, [start_num]) The position of one text inside another, ignoring case, with wildcards.
SEARCHB SEARCHB(find_text, within_text, [start_num]) SEARCH counting bytes for double-byte characters.
SUBSTITUTE SUBSTITUTE(text, old_text, new_text, [instance_num]) Replaces occurrences of one text with another.
T T(value) A value if it is text, otherwise empty text.
TEXT TEXT(value, format_text) A value formatted as text with a number format.
TEXTAFTER TEXTAFTER(text, delimiter, [instance_num], [match_mode], [match_end], [if_not_found]) The text after a delimiter. can spill
TEXTBEFORE TEXTBEFORE(text, delimiter, [instance_num], [match_mode], [match_end], [if_not_found]) The text before a delimiter. can spill
TEXTJOIN TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...) Joins texts with a delimiter.
TEXTSPLIT TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with]) Splits text into rows and columns, spilled. can spill
TRIM TRIM(text) Removes extra spaces from text.
UNICHAR UNICHAR(number) The Unicode character with a code point.
UNICODE UNICODE(text) The code point of the first character of text.
UPPER UPPER(text) Text in upper case.
VALUE VALUE(text) Converts text that looks like a number to a number.
VALUETOTEXT VALUETOTEXT(value, [format]) A value as text.

Date and time

Function Syntax What it does
DATE DATE(year, month, day) The serial number of a date.
DATEDIF DATEDIF(start_date, end_date, unit) The days, months or years between two dates.
DATEVALUE DATEVALUE(date_text) Converts a date written as text to a serial number.
DAY DAY(serial_number) The day of the month of a date.
DAYS DAYS(end_date, start_date) The number of days between two dates.
DAYS360 DAYS360(start_date, end_date, [method]) The days between two dates on a 360-day year.
EDATE EDATE(start_date, months) The date a number of months before or after a date.
EOMONTH EOMONTH(start_date, months) The last day of the month a number of months away.
HOUR HOUR(serial_number) The hour of a time.
ISOWEEKNUM ISOWEEKNUM(date) The ISO week number of a date.
MINUTE MINUTE(serial_number) The minute of a time.
MONTH MONTH(serial_number) The month of a date.
NETWORKDAYS NETWORKDAYS(start_date, end_date, [holidays]) The number of whole working days between two dates.
NETWORKDAYS.INTL NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays]) Working days between two dates, with a choice of weekend days.
NOW NOW() The current date and time. volatile
SECOND SECOND(serial_number) The second of a time.
TIME TIME(hour, minute, second) The serial number of a time.
TIMEVALUE TIMEVALUE(time_text) Converts a time written as text to a serial number.
TODAY TODAY() Today's date. volatile
WEEKDAY WEEKDAY(serial_number, [return_type]) The day of the week of a date.
WEEKNUM WEEKNUM(serial_number, [return_type]) The week number of a date in its year.
WORKDAY WORKDAY(start_date, days, [holidays]) The date a number of working days away.
WORKDAY.INTL WORKDAY.INTL(start_date, days, [weekend], [holidays]) The date a number of working days away, with a choice of weekend days.
YEAR YEAR(serial_number) The year of a date.
YEARFRAC YEARFRAC(start_date, end_date, [basis]) The fraction of a year between two dates.

Financial

Function Syntax What it does
ACCRINT ACCRINT(issue, first_interest, settlement, rate, par, frequency, [basis], [calc_method]) Accrued interest of a security that pays periodic interest.
ACCRINTM ACCRINTM(issue, settlement, rate, par, [basis]) Accrued interest of a security that pays interest at maturity.
AMORDEGRC AMORDEGRC(cost, date_purchased, first_period, salvage, period, rate, [basis]) French-system depreciation for a period, with a depreciation coefficient.
AMORLINC AMORLINC(cost, date_purchased, first_period, salvage, period, rate, [basis]) French-system linear depreciation for a period.
COUPDAYBS COUPDAYBS(settlement, maturity, frequency, [basis]) Days from the start of the coupon period to the settlement date.
COUPDAYS COUPDAYS(settlement, maturity, frequency, [basis]) Days in the coupon period that contains the settlement date.
COUPDAYSNC COUPDAYSNC(settlement, maturity, frequency, [basis]) Days from the settlement date to the next coupon date.
COUPNCD COUPNCD(settlement, maturity, frequency, [basis]) The next coupon date after the settlement date.
COUPNUM COUPNUM(settlement, maturity, frequency, [basis]) The number of coupons payable between settlement and maturity.
COUPPCD COUPPCD(settlement, maturity, frequency, [basis]) The previous coupon date before the settlement date.
CUMIPMT CUMIPMT(rate, nper, pv, start_period, end_period, type) The cumulative interest paid on a loan between two periods.
CUMPRINC CUMPRINC(rate, nper, pv, start_period, end_period, type) The cumulative principal paid on a loan between two periods.
DB DB(cost, salvage, life, period, [month]) Fixed-declining-balance depreciation for a period.
DDB DDB(cost, salvage, life, period, [factor]) Double-declining-balance (or other factor) depreciation for a period.
DISC DISC(settlement, maturity, pr, redemption, [basis]) The discount rate of a security.
DOLLARDE DOLLARDE(fractional_dollar, fraction) Converts a price written as a fraction to a decimal number.
DOLLARFR DOLLARFR(decimal_dollar, fraction) Converts a decimal price to a price written as a fraction.
DURATION DURATION(settlement, maturity, coupon, yld, frequency, [basis]) The Macaulay duration of a security with periodic interest.
EFFECT EFFECT(nominal_rate, npery) The effective annual interest rate.
FV FV(rate, nper, pmt, [pv], [type]) The future value of an investment.
FVSCHEDULE FVSCHEDULE(principal, schedule) The future value of a principal after a series of compound interest rates.
INTRATE INTRATE(settlement, maturity, investment, redemption, [basis]) The interest rate of a fully invested security.
IPMT IPMT(rate, per, nper, pv, [fv], [type]) The interest part of a loan payment for a period.
IRR IRR(values, [guess]) The internal rate of return of a series of cash flows.
ISPMT ISPMT(rate, per, nper, pv) The interest paid in a period of a loan with even principal payments.
MDURATION MDURATION(settlement, maturity, coupon, yld, frequency, [basis]) The modified Macaulay duration of a security.
MIRR MIRR(values, finance_rate, reinvest_rate) The modified internal rate of return.
NOMINAL NOMINAL(effect_rate, npery) The nominal annual interest rate.
NPER NPER(rate, pmt, pv, [fv], [type]) The number of periods of an investment.
NPV NPV(rate, value1, [value2], ...) The net present value of periodic cash flows.
PDURATION PDURATION(rate, pv, fv) The number of periods an investment needs to reach a value.
PMT PMT(rate, nper, pv, [fv], [type]) The periodic payment of a loan.
PPMT PPMT(rate, per, nper, pv, [fv], [type]) The principal part of a loan payment for a period.
PRICE PRICE(settlement, maturity, rate, yld, redemption, frequency, [basis]) The price per 100 face value of a security with periodic interest.
PRICEDISC PRICEDISC(settlement, maturity, discount, redemption, [basis]) The price per 100 face value of a discounted security.
PRICEMAT PRICEMAT(settlement, maturity, issue, rate, yld, [basis]) The price per 100 face value of a security that pays interest at maturity.
PV PV(rate, nper, pmt, [fv], [type]) The present value of an investment.
RATE RATE(nper, pmt, pv, [fv], [type], [guess]) The interest rate per period of an annuity.
RECEIVED RECEIVED(settlement, maturity, investment, discount, [basis]) The amount received at maturity for a fully invested security.
RRI RRI(nper, pv, fv) The equivalent interest rate for the growth of an investment.
SLN SLN(cost, salvage, life) Straight-line depreciation for one period.
SYD SYD(cost, salvage, life, per) Sum-of-years'-digits depreciation for a period.
TBILLEQ TBILLEQ(settlement, maturity, discount) The bond-equivalent yield of a Treasury bill.
TBILLPRICE TBILLPRICE(settlement, maturity, discount) The price per 100 face value of a Treasury bill.
TBILLYIELD TBILLYIELD(settlement, maturity, pr) The yield of a Treasury bill.
VDB VDB(cost, salvage, life, start_period, end_period, [factor], [no_switch]) Declining-balance depreciation over any span of periods.
XIRR XIRR(values, dates, [guess]) The internal rate of return of cash flows at irregular dates.
XNPV XNPV(rate, values, dates) The net present value of cash flows at irregular dates.
YIELD YIELD(settlement, maturity, rate, pr, redemption, frequency, [basis]) The yield of a security with periodic interest.
YIELDDISC YIELDDISC(settlement, maturity, pr, redemption, [basis]) The annual yield of a discounted security.
YIELDMAT YIELDMAT(settlement, maturity, issue, rate, pr, [basis]) The annual yield of a security that pays interest at maturity.

Information

Function Syntax What it does
CELL CELL(info_type, [reference]) Information about the formatting, location or contents of a cell. volatile
ERROR.TYPE ERROR.TYPE(error_val) A number for the kind of error a value is.
INFO INFO(type_text) Information about the operating environment. volatile
ISBLANK ISBLANK(value) TRUE when a cell is empty.
ISERR ISERR(value) TRUE when a value is any error other than #N/A.
ISERROR ISERROR(value) TRUE when a value is any error.
ISEVEN ISEVEN(number) TRUE when a number is even.
ISFORMULA ISFORMULA(reference) TRUE when a cell holds a formula.
ISLOGICAL ISLOGICAL(value) TRUE when a value is a logical value.
ISNA ISNA(value) TRUE when a value is #N/A.
ISNONTEXT ISNONTEXT(value) TRUE when a value is not text.
ISNUMBER ISNUMBER(value) TRUE when a value is a number.
ISODD ISODD(number) TRUE when a number is odd.
ISOMITTED ISOMITTED(argument) TRUE when a LAMBDA argument was left out.
ISREF ISREF(value) TRUE when a value is a reference.
ISTEXT ISTEXT(value) TRUE when a value is text.
N N(value) A value converted to a number.
NA NA() The error value #N/A.
SHEET SHEET([value]) The sheet number of a reference or sheet name.
SHEETS SHEETS([reference]) The number of sheets in a reference, or in the workbook.
TYPE TYPE(value) A number for the data type of a value.

Engineering

Function Syntax What it does
BIN2DEC BIN2DEC(number) Converts a binary number to decimal.
BIN2HEX BIN2HEX(number, [places]) Converts a binary number to hexadecimal.
BIN2OCT BIN2OCT(number, [places]) Converts a binary number to octal.
BITAND BITAND(number1, number2) Bitwise AND of two numbers.
BITLSHIFT BITLSHIFT(number, shift_amount) A number shifted left by a number of bits.
BITOR BITOR(number1, number2) Bitwise OR of two numbers.
BITRSHIFT BITRSHIFT(number, shift_amount) A number shifted right by a number of bits.
BITXOR BITXOR(number1, number2) Bitwise exclusive OR of two numbers.
CONVERT CONVERT(number, from_unit, to_unit) Converts a number from one measurement unit to another.
DEC2BIN DEC2BIN(number, [places]) Converts a decimal number to binary.
DEC2HEX DEC2HEX(number, [places]) Converts a decimal number to hexadecimal.
DEC2OCT DEC2OCT(number, [places]) Converts a decimal number to octal.
DELTA DELTA(number1, [number2]) 1 when two numbers are equal, otherwise 0.
ERF ERF(lower_limit, [upper_limit]) The error function.
ERF.PRECISE ERF.PRECISE(x) The error function integrated from 0 to x.
ERFC ERFC(x) The complementary error function.
ERFC.PRECISE ERFC.PRECISE(x) The complementary error function integrated from x to infinity.
GESTEP GESTEP(number, [step]) 1 when a number is at least a threshold, otherwise 0.
HEX2BIN HEX2BIN(number, [places]) Converts a hexadecimal number to binary.
HEX2DEC HEX2DEC(number) Converts a hexadecimal number to decimal.
HEX2OCT HEX2OCT(number, [places]) Converts a hexadecimal number to octal.
OCT2BIN OCT2BIN(number, [places]) Converts an octal number to binary.
OCT2DEC OCT2DEC(number) Converts an octal number to decimal.
OCT2HEX OCT2HEX(number, [places]) Converts an octal number to hexadecimal.

Database

Function Syntax What it does
DAVERAGE DAVERAGE(database, field, criteria) The average of a field in the database records that meet criteria.
DCOUNT DCOUNT(database, field, criteria) Counts the numeric cells of a field in the database records that meet criteria.
DCOUNTA DCOUNTA(database, field, criteria) Counts the non-empty cells of a field in the database records that meet criteria.
DGET DGET(database, field, criteria) The single value of a field in the one database record that meets criteria.
DMAX DMAX(database, field, criteria) The largest value of a field in the database records that meet criteria.
DMIN DMIN(database, field, criteria) The smallest value of a field in the database records that meet criteria.
DPRODUCT DPRODUCT(database, field, criteria) The product of a field in the database records that meet criteria.
DSTDEV DSTDEV(database, field, criteria) The sample standard deviation of a field in the database records that meet criteria.
DSTDEVP DSTDEVP(database, field, criteria) The population standard deviation of a field in the database records that meet criteria.
DSUM DSUM(database, field, criteria) The sum of a field in the database records that meet criteria.
DVAR DVAR(database, field, criteria) The sample variance of a field in the database records that meet criteria.
DVARP DVARP(database, field, criteria) The population variance of a field in the database records that meet criteria.

Web

Function Syntax What it does
ENCODEURL ENCODEURL(text) Text encoded for use in a URL.

Compatibility

The names Excel 2007 used before the 2010 renaming. Each computes exactly what its newer name computes, and opening an older workbook keeps them as written.

Function Syntax What it does
BETADIST BETADIST(x, alpha, beta, [A], [B]) The cumulative beta distribution (older name of BETA.DIST).
BETAINV BETAINV(probability, alpha, beta, [A], [B]) The inverse of the cumulative beta distribution (older name of BETA.INV).
BINOMDIST BINOMDIST(number_s, trials, probability_s, cumulative) The binomial distribution probability (older name of BINOM.DIST).
CEILING CEILING(number, [significance], [mode]) Rounds a number up to the nearest multiple of significance.
CHIDIST CHIDIST(x, deg_freedom) The right-tailed chi-squared distribution (older name of CHISQ.DIST.RT).
CHIINV CHIINV(probability, deg_freedom) The inverse of the right-tailed chi-squared distribution (older name of CHISQ.INV.RT).
CHITEST CHITEST(actual_range, expected_range) The chi-squared test for independence (older name of CHISQ.TEST).
CONFIDENCE CONFIDENCE(alpha, standard_dev, size) The confidence interval for a population mean, normal distribution (older name of CONFIDENCE.NORM).
COVAR COVAR(array1, array2) The population covariance (older name of COVARIANCE.P).
CRITBINOM CRITBINOM(trials, probability_s, alpha) The smallest value whose cumulative binomial distribution reaches a criterion (older name of BINOM.INV).
EXPONDIST EXPONDIST(x, lambda, cumulative) The exponential distribution (older name of EXPON.DIST).
FDIST FDIST(x, deg_freedom1, deg_freedom2) The right-tailed F distribution (older name of F.DIST.RT).
FINV FINV(probability, deg_freedom1, deg_freedom2) The inverse of the right-tailed F distribution (older name of F.INV.RT).
FLOOR FLOOR(number, [significance], [mode]) Rounds a number down towards zero to a multiple of significance.
FORECAST FORECAST(x, known_y's, known_x's) A value along a linear trend (older name of FORECAST.LINEAR).
FTEST FTEST(array1, array2) The result of an F-test (older name of F.TEST).
GAMMADIST GAMMADIST(x, alpha, beta, [cumulative]) The gamma distribution (older name of GAMMA.DIST).
GAMMAINV GAMMAINV(probability, alpha, beta) The inverse of the cumulative gamma distribution (older name of GAMMA.INV).
HYPGEOMDIST HYPGEOMDIST(sample_s, number_sample, population_s, number_pop) The hypergeometric distribution (older name of HYPGEOM.DIST).
LOGINV LOGINV(probability, mean, standard_dev) The inverse of the lognormal cumulative distribution (older name of LOGNORM.INV).
LOGNORMDIST LOGNORMDIST(x, mean, standard_dev) The cumulative lognormal distribution (older name of LOGNORM.DIST).
MODE MODE(number1, [number2], ...) The most common value (older name of MODE.SNGL).
NEGBINOMDIST NEGBINOMDIST(number_f, number_s, probability_s) The negative binomial distribution (older name of NEGBINOM.DIST).
NORMDIST NORMDIST(x, mean, standard_dev, cumulative) The normal distribution (older name of NORM.DIST).
NORMINV NORMINV(probability, mean, standard_dev) The inverse of the normal cumulative distribution (older name of NORM.INV).
NORMSDIST NORMSDIST(z) The standard normal cumulative distribution (older name of NORM.S.DIST).
NORMSINV NORMSINV(probability) The inverse of the standard normal cumulative distribution (older name of NORM.S.INV).
PERCENTILE PERCENTILE(array, k) The k-th percentile (older name of PERCENTILE.INC).
PERCENTRANK PERCENTRANK(array, x, [significance]) The rank of a value as a percentage (older name of PERCENTRANK.INC).
POISSON POISSON(x, mean, [cumulative]) The Poisson distribution (older name of POISSON.DIST).
QUARTILE QUARTILE(array, quart) A quartile of a data set (older name of QUARTILE.INC).
RANK RANK(number, ref, [order]) The rank of a number in a list (older name of RANK.EQ).
STDEV STDEV(number1, [number2], ...) The sample standard deviation (older name of STDEV.S).
STDEVP STDEVP(number1, [number2], ...) The population standard deviation (older name of STDEV.P).
TDIST TDIST(x, deg_freedom, tails) Student's t distribution, right- or two-tailed (older name of T.DIST.RT and T.DIST.2T).
TINV TINV(probability, deg_freedom) The two-tailed inverse of Student's t distribution (older name of T.INV.2T).
TTEST TTEST(array1, array2, tails, type) The probability from a Student's t-test (older name of T.TEST).
VAR VAR(number1, [number2], ...) The sample variance (older name of VAR.S).
VARP VARP(number1, [number2], ...) The population variance (older name of VAR.P).
WEIBULL WEIBULL(x, alpha, beta, cumulative) The Weibull distribution (older name of WEIBULL.DIST).
ZTEST ZTEST(array, x, [sigma]) The one-tailed P-value of a z-test (older name of Z.TEST).

Methodox Formula

Functions Excel does not have. Excel keeps them in a file as written and shows #NAME? for them.

Function Syntax What it does
MULTIPLE.OPERATIONS MULTIPLE.OPERATIONS(formula, [row_cell, row_replacement], [column_cell, column_replacement]) LibreOffice's what-if table: a formula recomputed with other inputs; computed when a workbook made in LibreOffice has one.
PARAM PARAM(name) The value of one of the workbook's Document Parameters, by name; it answers as soon as the workbook opens, because a parameter is data, not code.
SQL.VIEW SQL.VIEW(sql, [headers]) The answer to an SQL query over the workbook's tables, ranges and sheets, or a saved view, spilled and kept up to date. can spill
TABLE TABLE([row_input], [column_input]) Excel's what-if data table, as Excel stores it in a file; computed when a workbook made in Excel has one.

Excel functions Formula does not have yet

These 63 names are in Excel 365's function list and not in Formula. A workbook that uses one opens and saves with the formula kept as written; the cell shows #NAME? in Formula until the function exists, and computes again when the file is opened in Excel.

Category What Functions
Engineering Bessel functions BESSELI, BESSELJ, BESSELK, BESSELY
Engineering Complex numbers COMPLEX, IMABS, IMAGINARY, IMARGUMENT, IMCONJUGATE, IMCOS, IMCOSH, IMCOT, IMCSC, IMCSCH, IMDIV, IMEXP, IMLN, IMLOG10, IMLOG2, IMPOWER, IMPRODUCT, IMREAL, IMSEC, IMSECH, IMSIN, IMSINH, IMSQRT, IMSUB, IMSUM, IMTAN
Financial Securities with an odd first or last period ODDFPRICE, ODDFYIELD, ODDLPRICE, ODDLYIELD
Financial Needs Microsoft's online data service STOCKHISTORY
Statistical Exponential-smoothing forecasts FORECAST.ETS, FORECAST.ETS.CONFINT, FORECAST.ETS.SEASONALITY, FORECAST.ETS.STAT
Statistical Exponential trend GROWTH, LOGEST
Lookup and reference A formula's text FORMULATEXT
Lookup and reference A picture in a cell IMAGE
Lookup and reference Real-time data servers (COM) RTD
Cube OLAP cube connections CUBEKPIMEMBER, CUBEMEMBER, CUBEMEMBERPROPERTY, CUBERANKEDMEMBER, CUBESET, CUBESETCOUNT, CUBEVALUE
Web Web functions FILTERXML, WEBSERVICE
Text East Asian text conversions ASC, DBCS, JIS, PHONETIC
Text Thai currency text BAHTTEXT
Text Needs Microsoft's online translation service TRANSLATE, DETECTLANGUAGE
Add-in and automation Calls into DLLs and code resources CALL, REGISTER.ID
Add-in and automation Euro Currency Tools add-in EUROCONVERT