FormulaCamp
Completed
Reference

Excel functions

180 functions the trainer understands. Names, syntax, an example and the Excel version where each function appeared.

SUM

MathAll versions
SUM(number1, [number2], …)

Adds numbers and ranges.

Example: =SUM(B2:B10)

PRODUCT

MathAll versions
PRODUCT(number1, …)

Multiplies numbers.

Example: =PRODUCT(B2,C2)

ROUND

MathAll versions
ROUND(number, num_digits)

Rounds to the nearest value. Negative digits round to tens, hundreds.

Example: =ROUND(1234.567,2)

ROUNDUP

MathAll versions
ROUNDUP(number, num_digits)

Always rounds up (away from zero).

Example: =ROUNDUP(B2,-2)

ROUNDDOWN

MathAll versions
ROUNDDOWN(number, num_digits)

Always rounds down (toward zero).

Example: =ROUNDDOWN(B2,0)

MROUND

MathAll versions
MROUND(number, multiple)

Rounds to the nearest multiple: $50, 5 minutes.

Example: =MROUND(B2,50)

CEILING.MATH

MathExcel 2013+
CEILING.MATH(number, [significance])

Rounds up to a multiple.

Example: =CEILING.MATH(17,5)

FLOOR.MATH

MathExcel 2013+
FLOOR.MATH(number, [significance])

Rounds down to a multiple.

Example: =FLOOR.MATH(17,5)

CEILING

MathAll versions
CEILING(number, significance)

Rounds up to a multiple (legacy version).

Example: =CEILING(17,5)

FLOOR

MathAll versions
FLOOR(number, significance)

Rounds down to a multiple (legacy version).

Example: =FLOOR(17,5)

INT

MathAll versions
INT(number)

Integer part, rounded down: −4.5 → −5.

Example: =INT(B2/12)

TRUNC

MathAll versions
TRUNC(number, [num_digits])

Cuts off the decimal part without rounding.

Example: =TRUNC(-4.7)

QUOTIENT

MathAll versions
QUOTIENT(numerator, denominator)

Integer part of a division.

Example: =QUOTIENT(50,12)

MOD

MathAll versions
MOD(number, divisor)

Remainder after division.

Example: =MOD(50,12)

ABS

MathAll versions
ABS(number)

Absolute value of a number.

Example: =ABS(B2-C2)

POWER

MathAll versions
POWER(number, power)

Raises a number to a power, same as ^.

Example: =POWER(1.1,12)

SQRT

MathAll versions
SQRT(number)

Square root.

Example: =SQRT(B2)

SUMIF

MathAll versions
SUMIF(range, criteria, [sum_range])

Sum with one condition.

Example: =SUMIF(A2:A20,"Boston",C2:C20)

SUMIFS

MathAll versions
SUMIFS(sum_range, criteria_range1, criteria1, …)

Sum with several conditions.

Example: =SUMIFS(C:C,A:A,"Boston",B:B,">100")

SUMPRODUCT

MathAll versions
SUMPRODUCT(array1, [array2], …)

Sum of pairwise products.

Example: =SUMPRODUCT(B2:B6,C2:C6)

SUMSQ

MathAll versions
SUMSQ(number1, …)

Sum of squares.

Example: =SUMSQ(A2:A6)

SUBTOTAL

MathAll versions
SUBTOTAL(function_num, ref1, …)

Total over visible rows only (respects filters). 9 is sum, 1 is average.

Example: =SUBTOTAL(9,C2:C100)

AGGREGATE

MathExcel 2010+
AGGREGATE(function_num, options, ref, [k])

Total that can skip hidden rows and/or errors.

Example: =AGGREGATE(9,6,C2:C100)

RANDBETWEEN

MathAll versions
RANDBETWEEN(bottom, top)

Random integer. Changes on every recalculation.

Example: =RANDBETWEEN(1,100)

RAND

MathAll versions
RAND()

Random number between 0 and 1.

Example: =RAND()

ISEVEN

MathAll versions
ISEVEN(number)

TRUE if the number is even.

Example: =ISEVEN(A2)

ISODD

MathAll versions
ISODD(number)

TRUE if the number is odd.

Example: =ISODD(A2)

AVERAGE

StatisticsAll versions
AVERAGE(number1, …)

Arithmetic mean (blank cells and text are skipped).

Example: =AVERAGE(B2:B10)

AVERAGEIF

StatisticsAll versions
AVERAGEIF(range, criteria, [average_range])

Average with one condition.

Example: =AVERAGEIF(A:A,"Denver",C:C)

AVERAGEIFS

StatisticsAll versions
AVERAGEIFS(average_range, criteria_range1, criteria1, …)

Average with several conditions.

Example: =AVERAGEIFS(C:C,A:A,"Denver",B:B,">0")

MIN

StatisticsAll versions
MIN(number1, …)

Smallest value.

Example: =MIN(B2:B10)

MAX

StatisticsAll versions
MAX(number1, …)

Largest value.

Example: =MAX(B2:B10)

MINIFS

StatisticsExcel 2019+
MINIFS(min_range, criteria_range1, criteria1, …)

Minimum with conditions.

Example: =MINIFS(C:C,A:A,"Tim")

MAXIFS

StatisticsExcel 2019+
MAXIFS(max_range, criteria_range1, criteria1, …)

Maximum with conditions.

Example: =MAXIFS(C:C,A:A,"Tim")

COUNT

StatisticsAll versions
COUNT(value1, …)

Counts cells containing numbers.

Example: =COUNT(B2:B10)

COUNTA

StatisticsAll versions
COUNTA(value1, …)

Counts non-empty cells.

Example: =COUNTA(A2:A10)

COUNTBLANK

StatisticsAll versions
COUNTBLANK(range)

Counts empty cells.

Example: =COUNTBLANK(B2:B10)

COUNTIF

StatisticsAll versions
COUNTIF(range, criteria)

Counts cells that meet a condition.

Example: =COUNTIF(B2:B10,">100")

COUNTIFS

StatisticsAll versions
COUNTIFS(criteria_range1, criteria1, …)

Counts with several conditions.

Example: =COUNTIFS(A:A,"Boston",C:C,">0")

MEDIAN

StatisticsAll versions
MEDIAN(number1, …)

Median: the middle of a sorted list.

Example: =MEDIAN(B2:B10)

MODE

StatisticsAll versions
MODE(number1, …)

Most frequent value (see MODE.SNGL).

Example: =MODE(B2:B10)

LARGE

StatisticsAll versions
LARGE(array, k)

k-th largest value.

Example: =LARGE(B2:B10,2)

SMALL

StatisticsAll versions
SMALL(array, k)

k-th smallest value.

Example: =SMALL(B2:B10,1)

RANK

StatisticsAll versions
RANK(number, ref, [order])

A number's position in a list (see RANK.EQ).

Example: =RANK(B2,$B$2:$B$10)

STDEV.S

StatisticsExcel 2010+
STDEV.S(number1, …)

Standard deviation of a sample.

Example: =STDEV.S(B2:B10)

STDEV.P

StatisticsExcel 2010+
STDEV.P(number1, …)

Standard deviation of an entire population.

Example: =STDEV.P(B2:B10)

VAR.S

StatisticsExcel 2010+
VAR.S(number1, …)

Variance of a sample.

Example: =VAR.S(B2:B10)

PERCENTILE.INC

StatisticsExcel 2010+
PERCENTILE.INC(array, k)

k-th percentile, k from 0 to 1.

Example: =PERCENTILE.INC(B2:B100,0.9)

QUARTILE.INC

StatisticsExcel 2010+
QUARTILE.INC(array, quart)

Quartile: 1 is 25%, 2 is the median, 3 is 75%.

Example: =QUARTILE.INC(B2:B100,1)

PERCENTRANK.INC

StatisticsExcel 2010+
PERCENTRANK.INC(array, x, [significance])

Percentile rank of a value.

Example: =PERCENTRANK.INC(B2:B100,B2)

PERCENTILE.EXC

StatisticsExcel 2010+
PERCENTILE.EXC(array, k)

Percentile excluding the endpoints: k strictly between 1/(n+1) and n/(n+1).

Example: =PERCENTILE.EXC(B2:B100,0.9)

QUARTILE.EXC

StatisticsExcel 2010+
QUARTILE.EXC(array, quart)

Quartile excluding the endpoints (1, 2 or 3).

Example: =QUARTILE.EXC(B2:B100,1)

STANDARDIZE

StatisticsAll versions
STANDARDIZE(x, mean, standard_dev)

Z-score: how many standard deviations a value is from the mean.

Example: =STANDARDIZE(B2,$B$20,$B$21)

NORM.S.DIST

StatisticsExcel 2010+
NORM.S.DIST(z, cumulative)

Standard normal distribution.

Example: =NORM.S.DIST(1.96,TRUE)

NORM.S.INV

StatisticsExcel 2010+
NORM.S.INV(probability)

Inverse of the standard normal distribution: z from a probability.

Example: =NORM.S.INV(0.975)

NORM.DIST

StatisticsExcel 2010+
NORM.DIST(x, mean, standard_dev, cumulative)

Normal distribution with a given mean and standard deviation.

Example: =NORM.DIST(B2,100,15,TRUE)

NORM.INV

StatisticsExcel 2010+
NORM.INV(probability, mean, standard_dev)

Normal distribution value for a given probability.

Example: =NORM.INV(0.95,100,15)

T.DIST

StatisticsExcel 2010+
T.DIST(x, deg_freedom, cumulative)

Student's t-distribution (left tail).

Example: =T.DIST(-2,10,TRUE)

T.DIST.2T

StatisticsExcel 2010+
T.DIST.2T(x, deg_freedom)

Two-tailed probability for a t statistic (x ≥ 0).

Example: =T.DIST.2T(2.1,10)

T.DIST.RT

StatisticsExcel 2010+
T.DIST.RT(x, deg_freedom)

Right tail of Student's t-distribution.

Example: =T.DIST.RT(2.1,10)

T.INV

StatisticsExcel 2010+
T.INV(probability, deg_freedom)

t value for a left-tail probability.

Example: =T.INV(0.95,10)

T.INV.2T

StatisticsExcel 2010+
T.INV.2T(probability, deg_freedom)

Critical t value for a two-tailed test.

Example: =T.INV.2T(0.05,10)

T.TEST

StatisticsExcel 2010+
T.TEST(array1, array2, tails, type)

p-value of a t-test: type 1 is paired, 2 equal variances, 3 unequal variances (Welch).

Example: =T.TEST(B2:B21,C2:C21,2,3)

CONFIDENCE.NORM

StatisticsExcel 2010+
CONFIDENCE.NORM(alpha, standard_dev, size)

Half-width of a confidence interval (normal distribution).

Example: =CONFIDENCE.NORM(0.05,B22,COUNT(B2:B21))

CONFIDENCE.T

StatisticsExcel 2010+
CONFIDENCE.T(alpha, standard_dev, size)

Half-width of a confidence interval (Student's t).

Example: =CONFIDENCE.T(0.05,B22,COUNT(B2:B21))

F.DIST.RT

StatisticsExcel 2010+
F.DIST.RT(x, deg_freedom1, deg_freedom2)

Right tail of the F-distribution: the p-value in ANOVA.

Example: =F.DIST.RT(E14,2,12)

F.INV.RT

StatisticsExcel 2010+
F.INV.RT(probability, deg_freedom1, deg_freedom2)

Critical F value.

Example: =F.INV.RT(0.05,2,12)

CORREL

StatisticsAll versions
CORREL(array1, array2)

Correlation coefficient from −1 to 1.

Example: =CORREL(B2:B13,C2:C13)

SLOPE

StatisticsAll versions
SLOPE(known_y's, known_x's)

Slope of the trend line.

Example: =SLOPE(C2:C13,B2:B13)

INTERCEPT

StatisticsAll versions
INTERCEPT(known_y's, known_x's)

Point where the trend line crosses the Y axis.

Example: =INTERCEPT(C2:C13,B2:B13)

FORECAST.LINEAR

StatisticsExcel 2016+
FORECAST.LINEAR(x, known_y's, known_x's)

Forecast along a linear trend.

Example: =FORECAST.LINEAR(13,C2:C13,A2:A13)

TREND

StatisticsAll versions
TREND(known_y's, [known_x's], [new_x's])

Linear trend values for new x values.

Example: =TREND(C2:C13,A2:A13,A14:A16)

IF

LogicAll versions
IF(logical_test, [value_if_true], [value_if_false])

Chooses between two outcomes based on a condition.

Example: =IF(B2>=60,"Pass","Fail")

IFS

LogicExcel 2019+
IFS(logical_test1, value_if_true1, …)

Returns the result for the first condition that is true.

Example: =IFS(B2>=90,5,B2>=75,4,TRUE,3)

SWITCH

LogicExcel 2019+
SWITCH(expression, value1, result1, …, [default])

Picks a result by exact match.

Example: =SWITCH(A2,"Boston","East","Denver","Central","Other")

AND

LogicAll versions
AND(logical1, logical2, …)

TRUE if all conditions are met.

Example: =AND(B2>0,C2>0)

OR

LogicAll versions
OR(logical1, logical2, …)

TRUE if at least one condition is met.

Example: =OR(B2="Yes",C2="Yes")

NOT

LogicAll versions
NOT(logical)

Logical negation.

Example: =NOT(ISBLANK(A2))

XOR

LogicExcel 2013+
XOR(logical1, logical2, …)

TRUE if an odd number of conditions are met.

Example: =XOR(B2>0,C2>0)

IFERROR

LogicAll versions
IFERROR(value, value_if_error)

Replaces any error.

Example: =IFERROR(B2/C2,0)

IFNA

LogicExcel 2013+
IFNA(value, value_if_na)

Replaces only the #N/A error.

Example: =IFNA(VLOOKUP(A2,PriceList,2,0),"none")

CHOOSE

LogicAll versions
CHOOSE(index_num, value1, value2, …)

Returns a value by its number.

Example: =CHOOSE(2,"Q1","Q2","Q3","Q4")

CONCAT

TextExcel 2019+
CONCAT(text1, …)

Joins texts and ranges.

Example: =CONCAT(A2," ",B2)

CONCATENATE

TextAll versions
CONCATENATE(text1, …)

Joins texts (legacy function).

Example: =CONCATENATE(A2," ",B2)

TEXTJOIN

TextExcel 2019+
TEXTJOIN(delimiter, ignore_empty, text1, …)

Joins a list with a delimiter.

Example: =TEXTJOIN(", ",TRUE,A2:A10)

LEN

TextAll versions
LEN(text)

Length of a text.

Example: =LEN(A2)

LEFT

TextAll versions
LEFT(text, [num_chars])

First n characters.

Example: =LEFT(A2,2)

RIGHT

TextAll versions
RIGHT(text, [num_chars])

Last n characters.

Example: =RIGHT(A2,5)

MID

TextAll versions
MID(text, start_num, num_chars)

n characters starting at a position.

Example: =MID(A2,4,3)

FIND

TextAll versions
FIND(find_text, within_text, [start_num])

Position of a text, case-sensitive.

Example: =FIND("@",A2)

SEARCH

TextAll versions
SEARCH(find_text, within_text, [start_num])

Position of a text, not case-sensitive; understands * and ?.

Example: =SEARCH("coffee",A2)

SUBSTITUTE

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

Replaces text by its content.

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

REPLACE

TextAll versions
REPLACE(old_text, start_num, num_chars, new_text)

Replaces text by position.

Example: =REPLACE(A2,1,1,"+1")

CHAR

TextAll versions
CHAR(number)

Character for a code number: 10 is a line break, 160 is a non-breaking space.

Example: =SUBSTITUTE(A2,CHAR(160)," ")

CODE

TextAll versions
CODE(text)

Code of the first character.

Example: =CODE(A2)

UNICHAR

TextExcel 2013+
UNICHAR(number)

Unicode character for a code.

Example: =UNICHAR(8364)

UNICODE

TextExcel 2013+
UNICODE(text)

Unicode code of the first character.

Example: =UNICODE(A2)

UPPER

TextAll versions
UPPER(text)

ALL CAPITALS.

Example: =UPPER(A2)

LOWER

TextAll versions
LOWER(text)

all lowercase.

Example: =LOWER(A2)

PROPER

TextAll versions
PROPER(text)

Each Word Capitalized.

Example: =PROPER(A2)

TRIM

TextAll versions
TRIM(text)

Removes extra spaces.

Example: =TRIM(A2)

CLEAN

TextAll versions
CLEAN(text)

Removes non-printing characters.

Example: =CLEAN(A2)

REPT

TextAll versions
REPT(text, number_times)

Repeats a text.

Example: =REPT("★",B2)

EXACT

TextAll versions
EXACT(text1, text2)

Case-sensitive comparison.

Example: =EXACT(A2,B2)

TEXT

TextAll versions
TEXT(value, format_text)

Number or date as text in a given format.

Example: =TEXT(B2,"$#,##0")

VALUE

TextAll versions
VALUE(text)

Converts text that looks like a number into a number.

Example: =VALUE("1250")

TEXTBEFORE

TextExcel 2024, Microsoft 365
TEXTBEFORE(text, delimiter, [instance_num])

The part of a text before a delimiter.

Example: =TEXTBEFORE(A2,"@")

NUMBERVALUE

TextExcel 2013+
NUMBERVALUE(text, [decimal_separator], [group_separator])

Number from text with the given separators, e.g. "1,250.75" from a CSV.

Example: =NUMBERVALUE("1,250.75",".",",")

TEXTAFTER

TextExcel 2024, Microsoft 365
TEXTAFTER(text, delimiter, [instance_num])

The part of a text after a delimiter.

Example: =TEXTAFTER(A2,"@")

TEXTSPLIT

TextExcel 2024, Microsoft 365
TEXTSPLIT(text, col_delimiter, [row_delimiter])

Splits a text across cells.

Example: =TEXTSPLIT(A2,", ")

DATE

Date & timeAll versions
DATE(year, month, day)

Builds a date from numbers.

Example: =DATE(2026,3,15)

YEAR

Date & timeAll versions
YEAR(serial_number)

Year of a date.

Example: =YEAR(A2)

MONTH

Date & timeAll versions
MONTH(serial_number)

Month of a date (1–12).

Example: =MONTH(A2)

DAY

Date & timeAll versions
DAY(serial_number)

Day of the month.

Example: =DAY(A2)

TODAY

Date & timeAll versions
TODAY()

Today's date. Changes every day.

Example: =TODAY()

NOW

Date & timeAll versions
NOW()

Current date and time.

Example: =NOW()

DATEVALUE

Date & timeAll versions
DATEVALUE(date_text)

Converts a date written as text into a date.

Example: =DATEVALUE("3/15/2026")

DATEDIF

Date & timeAll versions
DATEDIF(start_date, end_date, unit)

Difference between dates in "y", "m" or "d" (undocumented, but works).

Example: =DATEDIF(B2,TODAY(),"y")

DAYS

Date & timeExcel 2013+
DAYS(end_date, start_date)

Number of days between two dates.

Example: =DAYS(C2,B2)

WEEKDAY

Date & timeAll versions
WEEKDAY(serial_number, [return_type])

Day of the week as a number. Type 2: Mon = 1.

Example: =WEEKDAY(A2,2)

EDATE

Date & timeAll versions
EDATE(start_date, months)

Date n months away.

Example: =EDATE(A2,3)

EOMONTH

Date & timeAll versions
EOMONTH(start_date, months)

Last day of the month.

Example: =EOMONTH(A2,0)

NETWORKDAYS

Date & timeAll versions
NETWORKDAYS(start_date, end_date, [holidays])

Working days in a period.

Example: =NETWORKDAYS(A2,B2,Holidays)

WORKDAY

Date & timeAll versions
WORKDAY(start_date, days, [holidays])

Date n working days away.

Example: =WORKDAY(A2,10,Holidays)

TIME

Date & timeAll versions
TIME(hour, minute, second)

Builds a time.

Example: =TIME(9,30,0)

HOUR

Date & timeAll versions
HOUR(serial_number)

Hours.

Example: =HOUR(A2)

MINUTE

Date & timeAll versions
MINUTE(serial_number)

Minutes.

Example: =MINUTE(A2)

VLOOKUP

Lookup & referenceAll versions
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

Looks in the first column and returns a value from a column to the right.

Example: =VLOOKUP(A2,PriceList!$A$2:$C$100,3,0)

HLOOKUP

Lookup & referenceAll versions
HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])

Same, but searches the first row.

Example: =HLOOKUP("March",A1:M5,3,0)

XLOOKUP

Lookup & referenceExcel 2021+, Microsoft 365
XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])

Modern lookup in any direction.

Example: =XLOOKUP(A2,B:B,C:C,"none")

MATCH

Lookup & referenceAll versions
MATCH(lookup_value, lookup_array, [match_type])

Position within a range. 0 means exact match.

Example: =MATCH(A2,B2:B100,0)

XMATCH

Lookup & referenceExcel 2021+, Microsoft 365
XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])

Position, with modern lookup modes.

Example: =XMATCH(A2,B2:B100)

INDEX

Lookup & referenceAll versions
INDEX(array, row_num, [column_num])

Value at the intersection of a row and a column.

Example: =INDEX(C2:C100,MATCH(A2,B2:B100,0))

OFFSET

Lookup & referenceAll versions
OFFSET(reference, rows, cols, [height], [width])

A shifted range. Volatile function.

Example: =SUM(OFFSET(B1,COUNT(B:B)-2,0,3,1))

INDIRECT

Lookup & referenceAll versions
INDIRECT(ref_text)

Reference built from text. Volatile function.

Example: =INDIRECT("B"&A1)

ROW

Lookup & referenceAll versions
ROW([reference])

Row number.

Example: =ROW()-1

COLUMN

Lookup & referenceAll versions
COLUMN([reference])

Column number.

Example: =COLUMN(C1)

ROWS

Lookup & referenceAll versions
ROWS(array)

Number of rows.

Example: =ROWS(A2:A100)

COLUMNS

Lookup & referenceAll versions
COLUMNS(array)

Number of columns.

Example: =COLUMNS(A1:F1)

TRANSPOSE

Lookup & referenceAll versions
TRANSPOSE(array)

Flips a table: rows become columns.

Example: =TRANSPOSE(A1:D4)

UNIQUE

Dynamic arraysExcel 2021+, Microsoft 365
UNIQUE(array, [by_col], [exactly_once])

List without duplicates.

Example: =UNIQUE(B2:B100)

FILTER

Dynamic arraysExcel 2021+, Microsoft 365
FILTER(array, include, [if_empty])

Rows that meet a condition.

Example: =FILTER(A2:C100,B2:B100="Kitchen")

SORT

Dynamic arraysExcel 2021+, Microsoft 365
SORT(array, [sort_index], [sort_order], [by_col])

Sorts an array.

Example: =SORT(A2:C100,3,-1)

SORTBY

Dynamic arraysExcel 2021+, Microsoft 365
SORTBY(array, by_array1, [sort_order1], …)

Sorts by other columns.

Example: =SORTBY(A2:A100,C2:C100,-1)

SEQUENCE

Dynamic arraysExcel 2021+, Microsoft 365
SEQUENCE(rows, [columns], [start], [step])

A sequence of numbers.

Example: =SEQUENCE(10)

LET

Dynamic arraysExcel 2021+, Microsoft 365
LET(name1, value1, …, calculation)

Names for intermediate results inside a formula.

Example: =LET(x,A2*2,x+1)

TAKE

Dynamic arraysExcel 2024, Microsoft 365
TAKE(array, rows, [columns])

First or last rows/columns.

Example: =TAKE(SORT(A2:C100,3,-1),5)

DROP

Dynamic arraysExcel 2024, Microsoft 365
DROP(array, rows, [columns])

Array without its first/last rows or columns.

Example: =DROP(A1:C100,1)

CHOOSECOLS

Dynamic arraysExcel 2024, Microsoft 365
CHOOSECOLS(array, col_num1, …)

Selected columns.

Example: =CHOOSECOLS(A2:E100,1,3)

CHOOSEROWS

Dynamic arraysExcel 2024, Microsoft 365
CHOOSEROWS(array, row_num1, …)

Selected rows.

Example: =CHOOSEROWS(A2:E100,1,-1)

VSTACK

Dynamic arraysExcel 2024, Microsoft 365
VSTACK(array1, array2, …)

Arrays stacked on top of each other.

Example: =VSTACK(January!A2:C50,February!A2:C50)

HSTACK

Dynamic arraysExcel 2024, Microsoft 365
HSTACK(array1, array2, …)

Arrays placed side by side.

Example: =HSTACK(A2:A10,C2:C10)

TOCOL

Dynamic arraysExcel 2024, Microsoft 365
TOCOL(array, [ignore], [scan_by_column])

Array into a single column.

Example: =TOCOL(A2:D10,1)

TOROW

Dynamic arraysExcel 2024, Microsoft 365
TOROW(array, [ignore], [scan_by_column])

Array into a single row.

Example: =TOROW(A2:A10)

LAMBDA

Dynamic arraysExcel 2024, Microsoft 365
LAMBDA(parameter1, …, calculation)

Your own function inside a formula.

Example: =MAP(A2:A6,LAMBDA(x,x*2))

MAP

Dynamic arraysExcel 2024, Microsoft 365
MAP(array, LAMBDA)

Applies a LAMBDA to every element.

Example: =MAP(A2:A6,LAMBDA(x,ROUND(x,0)))

REDUCE

Dynamic arraysExcel 2024, Microsoft 365
REDUCE(initial_value, array, LAMBDA(total, x))

Folds an array into a single value.

Example: =REDUCE(0,A2:A6,LAMBDA(a,x,a+x))

SCAN

Dynamic arraysExcel 2024, Microsoft 365
SCAN(initial_value, array, LAMBDA(total, x))

All the intermediate totals.

Example: =SCAN(0,A2:A6,LAMBDA(a,x,a+x))

BYROW

Dynamic arraysExcel 2024, Microsoft 365
BYROW(array, LAMBDA(row))

One value per row.

Example: =BYROW(B2:D10,LAMBDA(r,SUM(r)))

BYCOL

Dynamic arraysExcel 2024, Microsoft 365
BYCOL(array, LAMBDA(column))

One value per column.

Example: =BYCOL(B2:D10,LAMBDA(c,MAX(c)))

GROUPBY

Dynamic arraysMicrosoft 365 only
GROUPBY(row_fields, values, function, [field_headers], [total_depth], [sort_order], [filter_array])

Groups and aggregates with one formula, like a PivotTable. Pass the function without parentheses: SUM.

Example: =GROUPBY(A2:A20,C2:C20,SUM)

PIVOTBY

Dynamic arraysMicrosoft 365 only
PIVOTBY(row_fields, col_fields, values, function, …)

Cross-tab in one formula: rows × columns. In the trainer, one row field and one column field.

Example: =PIVOTBY(A2:A20,B2:B20,C2:C20,SUM)

REGEXTEST

TextMicrosoft 365 only
REGEXTEST(text, pattern, [case_sensitivity])

TRUE if the text matches a regular expression. Case: 0 is case-sensitive, 1 is not.

Example: =REGEXTEST(A2,"^\d{12}$")

REGEXEXTRACT

TextMicrosoft 365 only
REGEXEXTRACT(text, pattern, [return_mode], [case_sensitivity])

Extracts a match: mode 0 is the first, 1 all (array), 2 capture groups.

Example: =REGEXEXTRACT(A2,"\d+")

REGEXREPLACE

TextMicrosoft 365 only
REGEXREPLACE(text, pattern, replacement, [occurrence], [case_sensitivity])

Replaces matches; $1 is the first group in parentheses.

Example: =REGEXREPLACE(A2,"\s+"," ")

PMT

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

Fixed loan payment (annuity).

Example: =PMT(24%/12,24,-2000000)

PV

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

Present value.

Example: =PV(14%/12,24,0,-1000000)

FV

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

Future value of a deposit.

Example: =FV(14%/12,12,-50000,-200000)

RATE

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

Interest rate per period.

Example: =RATE(12,-55000,600000)*12

NPER

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

Number of payment periods.

Example: =NPER(18%/12,-60000,1000000)

NPV

FinancialAll versions
NPV(rate, value1, …)

Net present value of cash flows starting at period 1.

Example: =NPV(15%,B4:B8)+B3

IRR

FinancialAll versions
IRR(values, [guess])

Internal rate of return.

Example: =IRR(B3:B8)

XNPV

FinancialAll versions
XNPV(rate, values, dates)

NPV for cash flows on arbitrary dates.

Example: =XNPV(15%,B2:B6,A2:A6)

XIRR

FinancialAll versions
XIRR(values, dates, [guess])

Rate of return for cash flows on arbitrary dates.

Example: =XIRR(B2:B6,A2:A6)

ISBLANK

InformationAll versions
ISBLANK(value)

TRUE if the cell is empty.

Example: =ISBLANK(A2)

ISNUMBER

InformationAll versions
ISNUMBER(value)

TRUE if the value is a number.

Example: =ISNUMBER(A2)

ISTEXT

InformationAll versions
ISTEXT(value)

TRUE if the value is text.

Example: =ISTEXT(A2)

ISERROR

InformationAll versions
ISERROR(value)

TRUE for any error.

Example: =ISERROR(B2/C2)

ISNA

InformationAll versions
ISNA(value)

TRUE if the value is #N/A.

Example: =ISNA(VLOOKUP(A2,B:C,2,0))

NA

InformationAll versions
NA()

Returns the #N/A error (marks a missing value).

Example: =IF(B2="",NA(),B2)