SUM(number1, [number2], …)Adds numbers and ranges.
Example: =SUM(B2:B10)
180 functions the trainer understands. Names, syntax, an example and the Excel version where each function appeared.
The functions people search for most, each with worked examples, common errors and answers.
SUM(number1, [number2], …)Adds numbers and ranges.
Example: =SUM(B2:B10)
PRODUCT(number1, …)Multiplies numbers.
Example: =PRODUCT(B2,C2)
ROUND(number, num_digits)Rounds to the nearest value. Negative digits round to tens, hundreds.
Example: =ROUND(1234.567,2)
ROUNDUP(number, num_digits)Always rounds up (away from zero).
Example: =ROUNDUP(B2,-2)
ROUNDDOWN(number, num_digits)Always rounds down (toward zero).
Example: =ROUNDDOWN(B2,0)
MROUND(number, multiple)Rounds to the nearest multiple: $50, 5 minutes.
Example: =MROUND(B2,50)
CEILING.MATH(number, [significance])Rounds up to a multiple.
Example: =CEILING.MATH(17,5)
FLOOR.MATH(number, [significance])Rounds down to a multiple.
Example: =FLOOR.MATH(17,5)
CEILING(number, significance)Rounds up to a multiple (legacy version).
Example: =CEILING(17,5)
FLOOR(number, significance)Rounds down to a multiple (legacy version).
Example: =FLOOR(17,5)
INT(number)Integer part, rounded down: −4.5 → −5.
Example: =INT(B2/12)
TRUNC(number, [num_digits])Cuts off the decimal part without rounding.
Example: =TRUNC(-4.7)
QUOTIENT(numerator, denominator)Integer part of a division.
Example: =QUOTIENT(50,12)
MOD(number, divisor)Remainder after division.
Example: =MOD(50,12)
ABS(number)Absolute value of a number.
Example: =ABS(B2-C2)
POWER(number, power)Raises a number to a power, same as ^.
Example: =POWER(1.1,12)
SQRT(number)Square root.
Example: =SQRT(B2)
SUMIF(range, criteria, [sum_range])Sum with one condition.
Example: =SUMIF(A2:A20,"Boston",C2:C20)
SUMIFS(sum_range, criteria_range1, criteria1, …)Sum with several conditions.
Example: =SUMIFS(C:C,A:A,"Boston",B:B,">100")
SUMPRODUCT(array1, [array2], …)Sum of pairwise products.
Example: =SUMPRODUCT(B2:B6,C2:C6)
SUMSQ(number1, …)Sum of squares.
Example: =SUMSQ(A2:A6)
SUBTOTAL(function_num, ref1, …)Total over visible rows only (respects filters). 9 is sum, 1 is average.
Example: =SUBTOTAL(9,C2:C100)
AGGREGATE(function_num, options, ref, [k])Total that can skip hidden rows and/or errors.
Example: =AGGREGATE(9,6,C2:C100)
RANDBETWEEN(bottom, top)Random integer. Changes on every recalculation.
Example: =RANDBETWEEN(1,100)
RAND()Random number between 0 and 1.
Example: =RAND()
ISEVEN(number)TRUE if the number is even.
Example: =ISEVEN(A2)
ISODD(number)TRUE if the number is odd.
Example: =ISODD(A2)
AVERAGE(number1, …)Arithmetic mean (blank cells and text are skipped).
Example: =AVERAGE(B2:B10)
AVERAGEIF(range, criteria, [average_range])Average with one condition.
Example: =AVERAGEIF(A:A,"Denver",C:C)
AVERAGEIFS(average_range, criteria_range1, criteria1, …)Average with several conditions.
Example: =AVERAGEIFS(C:C,A:A,"Denver",B:B,">0")
MIN(number1, …)Smallest value.
Example: =MIN(B2:B10)
MAX(number1, …)Largest value.
Example: =MAX(B2:B10)
MINIFS(min_range, criteria_range1, criteria1, …)Minimum with conditions.
Example: =MINIFS(C:C,A:A,"Tim")
MAXIFS(max_range, criteria_range1, criteria1, …)Maximum with conditions.
Example: =MAXIFS(C:C,A:A,"Tim")
COUNT(value1, …)Counts cells containing numbers.
Example: =COUNT(B2:B10)
COUNTA(value1, …)Counts non-empty cells.
Example: =COUNTA(A2:A10)
COUNTBLANK(range)Counts empty cells.
Example: =COUNTBLANK(B2:B10)
COUNTIF(range, criteria)Counts cells that meet a condition.
Example: =COUNTIF(B2:B10,">100")
COUNTIFS(criteria_range1, criteria1, …)Counts with several conditions.
Example: =COUNTIFS(A:A,"Boston",C:C,">0")
MEDIAN(number1, …)Median: the middle of a sorted list.
Example: =MEDIAN(B2:B10)
MODE(number1, …)Most frequent value (see MODE.SNGL).
Example: =MODE(B2:B10)
LARGE(array, k)k-th largest value.
Example: =LARGE(B2:B10,2)
SMALL(array, k)k-th smallest value.
Example: =SMALL(B2:B10,1)
RANK(number, ref, [order])A number's position in a list (see RANK.EQ).
Example: =RANK(B2,$B$2:$B$10)
STDEV.S(number1, …)Standard deviation of a sample.
Example: =STDEV.S(B2:B10)
STDEV.P(number1, …)Standard deviation of an entire population.
Example: =STDEV.P(B2:B10)
VAR.S(number1, …)Variance of a sample.
Example: =VAR.S(B2:B10)
PERCENTILE.INC(array, k)k-th percentile, k from 0 to 1.
Example: =PERCENTILE.INC(B2:B100,0.9)
QUARTILE.INC(array, quart)Quartile: 1 is 25%, 2 is the median, 3 is 75%.
Example: =QUARTILE.INC(B2:B100,1)
PERCENTRANK.INC(array, x, [significance])Percentile rank of a value.
Example: =PERCENTRANK.INC(B2:B100,B2)
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(array, quart)Quartile excluding the endpoints (1, 2 or 3).
Example: =QUARTILE.EXC(B2:B100,1)
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(z, cumulative)Standard normal distribution.
Example: =NORM.S.DIST(1.96,TRUE)
NORM.S.INV(probability)Inverse of the standard normal distribution: z from a probability.
Example: =NORM.S.INV(0.975)
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(probability, mean, standard_dev)Normal distribution value for a given probability.
Example: =NORM.INV(0.95,100,15)
T.DIST(x, deg_freedom, cumulative)Student's t-distribution (left tail).
Example: =T.DIST(-2,10,TRUE)
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(x, deg_freedom)Right tail of Student's t-distribution.
Example: =T.DIST.RT(2.1,10)
T.INV(probability, deg_freedom)t value for a left-tail probability.
Example: =T.INV(0.95,10)
T.INV.2T(probability, deg_freedom)Critical t value for a two-tailed test.
Example: =T.INV.2T(0.05,10)
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(alpha, standard_dev, size)Half-width of a confidence interval (normal distribution).
Example: =CONFIDENCE.NORM(0.05,B22,COUNT(B2:B21))
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(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(probability, deg_freedom1, deg_freedom2)Critical F value.
Example: =F.INV.RT(0.05,2,12)
CORREL(array1, array2)Correlation coefficient from −1 to 1.
Example: =CORREL(B2:B13,C2:C13)
SLOPE(known_y's, known_x's)Slope of the trend line.
Example: =SLOPE(C2:C13,B2:B13)
INTERCEPT(known_y's, known_x's)Point where the trend line crosses the Y axis.
Example: =INTERCEPT(C2:C13,B2:B13)
FORECAST.LINEAR(x, known_y's, known_x's)Forecast along a linear trend.
Example: =FORECAST.LINEAR(13,C2:C13,A2:A13)
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(logical_test, [value_if_true], [value_if_false])Chooses between two outcomes based on a condition.
Example: =IF(B2>=60,"Pass","Fail")
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(expression, value1, result1, …, [default])Picks a result by exact match.
Example: =SWITCH(A2,"Boston","East","Denver","Central","Other")
AND(logical1, logical2, …)TRUE if all conditions are met.
Example: =AND(B2>0,C2>0)
OR(logical1, logical2, …)TRUE if at least one condition is met.
Example: =OR(B2="Yes",C2="Yes")
NOT(logical)Logical negation.
Example: =NOT(ISBLANK(A2))
XOR(logical1, logical2, …)TRUE if an odd number of conditions are met.
Example: =XOR(B2>0,C2>0)
IFERROR(value, value_if_error)Replaces any error.
Example: =IFERROR(B2/C2,0)
IFNA(value, value_if_na)Replaces only the #N/A error.
Example: =IFNA(VLOOKUP(A2,PriceList,2,0),"none")
CHOOSE(index_num, value1, value2, …)Returns a value by its number.
Example: =CHOOSE(2,"Q1","Q2","Q3","Q4")
CONCAT(text1, …)Joins texts and ranges.
Example: =CONCAT(A2," ",B2)
CONCATENATE(text1, …)Joins texts (legacy function).
Example: =CONCATENATE(A2," ",B2)
TEXTJOIN(delimiter, ignore_empty, text1, …)Joins a list with a delimiter.
Example: =TEXTJOIN(", ",TRUE,A2:A10)
LEN(text)Length of a text.
Example: =LEN(A2)
LEFT(text, [num_chars])First n characters.
Example: =LEFT(A2,2)
RIGHT(text, [num_chars])Last n characters.
Example: =RIGHT(A2,5)
MID(text, start_num, num_chars)n characters starting at a position.
Example: =MID(A2,4,3)
FIND(find_text, within_text, [start_num])Position of a text, case-sensitive.
Example: =FIND("@",A2)
SEARCH(find_text, within_text, [start_num])Position of a text, not case-sensitive; understands * and ?.
Example: =SEARCH("coffee",A2)
SUBSTITUTE(text, old_text, new_text, [instance_num])Replaces text by its content.
Example: =SUBSTITUTE(A2,"-","")
REPLACE(old_text, start_num, num_chars, new_text)Replaces text by position.
Example: =REPLACE(A2,1,1,"+1")
CHAR(number)Character for a code number: 10 is a line break, 160 is a non-breaking space.
Example: =SUBSTITUTE(A2,CHAR(160)," ")
CODE(text)Code of the first character.
Example: =CODE(A2)
UNICHAR(number)Unicode character for a code.
Example: =UNICHAR(8364)
UNICODE(text)Unicode code of the first character.
Example: =UNICODE(A2)
UPPER(text)ALL CAPITALS.
Example: =UPPER(A2)
LOWER(text)all lowercase.
Example: =LOWER(A2)
PROPER(text)Each Word Capitalized.
Example: =PROPER(A2)
TRIM(text)Removes extra spaces.
Example: =TRIM(A2)
CLEAN(text)Removes non-printing characters.
Example: =CLEAN(A2)
REPT(text, number_times)Repeats a text.
Example: =REPT("★",B2)
EXACT(text1, text2)Case-sensitive comparison.
Example: =EXACT(A2,B2)
TEXT(value, format_text)Number or date as text in a given format.
Example: =TEXT(B2,"$#,##0")
VALUE(text)Converts text that looks like a number into a number.
Example: =VALUE("1250")
TEXTBEFORE(text, delimiter, [instance_num])The part of a text before a delimiter.
Example: =TEXTBEFORE(A2,"@")
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(text, delimiter, [instance_num])The part of a text after a delimiter.
Example: =TEXTAFTER(A2,"@")
TEXTSPLIT(text, col_delimiter, [row_delimiter])Splits a text across cells.
Example: =TEXTSPLIT(A2,", ")
DATE(year, month, day)Builds a date from numbers.
Example: =DATE(2026,3,15)
YEAR(serial_number)Year of a date.
Example: =YEAR(A2)
MONTH(serial_number)Month of a date (1–12).
Example: =MONTH(A2)
DAY(serial_number)Day of the month.
Example: =DAY(A2)
TODAY()Today's date. Changes every day.
Example: =TODAY()
NOW()Current date and time.
Example: =NOW()
DATEVALUE(date_text)Converts a date written as text into a date.
Example: =DATEVALUE("3/15/2026")
DATEDIF(start_date, end_date, unit)Difference between dates in "y", "m" or "d" (undocumented, but works).
Example: =DATEDIF(B2,TODAY(),"y")
DAYS(end_date, start_date)Number of days between two dates.
Example: =DAYS(C2,B2)
WEEKDAY(serial_number, [return_type])Day of the week as a number. Type 2: Mon = 1.
Example: =WEEKDAY(A2,2)
EDATE(start_date, months)Date n months away.
Example: =EDATE(A2,3)
EOMONTH(start_date, months)Last day of the month.
Example: =EOMONTH(A2,0)
NETWORKDAYS(start_date, end_date, [holidays])Working days in a period.
Example: =NETWORKDAYS(A2,B2,Holidays)
WORKDAY(start_date, days, [holidays])Date n working days away.
Example: =WORKDAY(A2,10,Holidays)
TIME(hour, minute, second)Builds a time.
Example: =TIME(9,30,0)
HOUR(serial_number)Hours.
Example: =HOUR(A2)
MINUTE(serial_number)Minutes.
Example: =MINUTE(A2)
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_value, table_array, row_index_num, [range_lookup])Same, but searches the first row.
Example: =HLOOKUP("March",A1:M5,3,0)
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_value, lookup_array, [match_type])Position within a range. 0 means exact match.
Example: =MATCH(A2,B2:B100,0)
XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])Position, with modern lookup modes.
Example: =XMATCH(A2,B2:B100)
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(reference, rows, cols, [height], [width])A shifted range. Volatile function.
Example: =SUM(OFFSET(B1,COUNT(B:B)-2,0,3,1))
INDIRECT(ref_text)Reference built from text. Volatile function.
Example: =INDIRECT("B"&A1)
ROW([reference])Row number.
Example: =ROW()-1
COLUMN([reference])Column number.
Example: =COLUMN(C1)
ROWS(array)Number of rows.
Example: =ROWS(A2:A100)
COLUMNS(array)Number of columns.
Example: =COLUMNS(A1:F1)
TRANSPOSE(array)Flips a table: rows become columns.
Example: =TRANSPOSE(A1:D4)
UNIQUE(array, [by_col], [exactly_once])List without duplicates.
Example: =UNIQUE(B2:B100)
FILTER(array, include, [if_empty])Rows that meet a condition.
Example: =FILTER(A2:C100,B2:B100="Kitchen")
SORT(array, [sort_index], [sort_order], [by_col])Sorts an array.
Example: =SORT(A2:C100,3,-1)
SORTBY(array, by_array1, [sort_order1], …)Sorts by other columns.
Example: =SORTBY(A2:A100,C2:C100,-1)
SEQUENCE(rows, [columns], [start], [step])A sequence of numbers.
Example: =SEQUENCE(10)
LET(name1, value1, …, calculation)Names for intermediate results inside a formula.
Example: =LET(x,A2*2,x+1)
TAKE(array, rows, [columns])First or last rows/columns.
Example: =TAKE(SORT(A2:C100,3,-1),5)
DROP(array, rows, [columns])Array without its first/last rows or columns.
Example: =DROP(A1:C100,1)
CHOOSECOLS(array, col_num1, …)Selected columns.
Example: =CHOOSECOLS(A2:E100,1,3)
CHOOSEROWS(array, row_num1, …)Selected rows.
Example: =CHOOSEROWS(A2:E100,1,-1)
VSTACK(array1, array2, …)Arrays stacked on top of each other.
Example: =VSTACK(January!A2:C50,February!A2:C50)
HSTACK(array1, array2, …)Arrays placed side by side.
Example: =HSTACK(A2:A10,C2:C10)
TOCOL(array, [ignore], [scan_by_column])Array into a single column.
Example: =TOCOL(A2:D10,1)
TOROW(array, [ignore], [scan_by_column])Array into a single row.
Example: =TOROW(A2:A10)
LAMBDA(parameter1, …, calculation)Your own function inside a formula.
Example: =MAP(A2:A6,LAMBDA(x,x*2))
MAP(array, LAMBDA)Applies a LAMBDA to every element.
Example: =MAP(A2:A6,LAMBDA(x,ROUND(x,0)))
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(initial_value, array, LAMBDA(total, x))All the intermediate totals.
Example: =SCAN(0,A2:A6,LAMBDA(a,x,a+x))
BYROW(array, LAMBDA(row))One value per row.
Example: =BYROW(B2:D10,LAMBDA(r,SUM(r)))
BYCOL(array, LAMBDA(column))One value per column.
Example: =BYCOL(B2:D10,LAMBDA(c,MAX(c)))
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(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(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(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(text, pattern, replacement, [occurrence], [case_sensitivity])Replaces matches; $1 is the first group in parentheses.
Example: =REGEXREPLACE(A2,"\s+"," ")
PMT(rate, nper, pv, [fv], [type])Fixed loan payment (annuity).
Example: =PMT(24%/12,24,-2000000)
PV(rate, nper, pmt, [fv], [type])Present value.
Example: =PV(14%/12,24,0,-1000000)
FV(rate, nper, pmt, [pv], [type])Future value of a deposit.
Example: =FV(14%/12,12,-50000,-200000)
RATE(nper, pmt, pv, [fv], [type], [guess])Interest rate per period.
Example: =RATE(12,-55000,600000)*12
NPER(rate, pmt, pv, [fv], [type])Number of payment periods.
Example: =NPER(18%/12,-60000,1000000)
NPV(rate, value1, …)Net present value of cash flows starting at period 1.
Example: =NPV(15%,B4:B8)+B3
IRR(values, [guess])Internal rate of return.
Example: =IRR(B3:B8)
XNPV(rate, values, dates)NPV for cash flows on arbitrary dates.
Example: =XNPV(15%,B2:B6,A2:A6)
XIRR(values, dates, [guess])Rate of return for cash flows on arbitrary dates.
Example: =XIRR(B2:B6,A2:A6)
ISBLANK(value)TRUE if the cell is empty.
Example: =ISBLANK(A2)
ISNUMBER(value)TRUE if the value is a number.
Example: =ISNUMBER(A2)
ISTEXT(value)TRUE if the value is text.
Example: =ISTEXT(A2)
ISERROR(value)TRUE for any error.
Example: =ISERROR(B2/C2)
ISNA(value)TRUE if the value is #N/A.
Example: =ISNA(VLOOKUP(A2,B:C,2,0))
NA()Returns the #N/A error (marks a missing value).
Example: =IF(B2="",NA(),B2)
Enter — commit · F2 — edit · F4 — $ in a reference · Ctrl+C/Ctrl+V — copy and paste · Ctrl+Z — undo
Esc or F6 — leave the sheet for the «Check» button · Shift+Tab in the first cell — back to the page