510 functions
- ABS
The absolute (unsigned) value of a number.
ABS(number) - ACCRINT+AI
Accrued interest for a security that pays periodic interest.
ACCRINT(issue, first_interest, settlement, rate, par, frequency, [basis], [calc_method]) - ACCRINTM+AI
Accrued interest for a security that pays at maturity.
ACCRINTM(issue, settlement, rate, par, [basis]) - ACOS+AI
Arccosine — the angle whose cosine is the number.
ACOS(number) - ACOSH+AI
Inverse hyperbolic cosine.
ACOSH(number) - ACOT+AI
Arccotangent of a number.
ACOT(number) - ACOTH+AI
Inverse hyperbolic cotangent.
ACOTH(number) - ADDRESS
Build a cell address as text from row and column numbers.
ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text]) - AGGREGATE
Like SUBTOTAL but can also ignore error cells and do LARGE/SMALL/PERCENTILE.
AGGREGATE(function_num, options, ref1, [ref2] | array, [k]) - AMORDEGRC+AI
Depreciation for an accounting period (French, with coefficient).
AMORDEGRC(cost, date_purchased, first_period, salvage, period, rate, [basis]) - AMORLINC+AI
Depreciation for an accounting period (French, linear).
AMORLINC(cost, date_purchased, first_period, salvage, period, rate, [basis]) - AND
TRUE only if every condition is TRUE.
AND(logical1, [logical2], …) - ARABIC
Convert Roman numerals back to a number.
ARABIC(text) - AREAS+AI
The number of areas in a reference.
AREAS(reference) - ARRAYTOTEXT+AI
Turn an array/range into a single text string.
ARRAYTOTEXT(array, [format]) - ASC+AI
Convert full-width (double-byte) letters to half-width.
ASC(text) - ASIN+AI
Arcsine — the angle whose sine is the number.
ASIN(number) - ASINH+AI
Inverse hyperbolic sine.
ASINH(number) - ATAN+AI
Arctangent — the angle whose tangent is the number.
ATAN(number) - ATAN2+AI
Arctangent from x and y coordinates (full circle).
ATAN2(x_num, y_num) - ATANH+AI
Inverse hyperbolic tangent.
ATANH(number) - AVEDEV+AI
Average of the absolute deviations from the mean.
AVEDEV(number1, …) - AVERAGE
The arithmetic mean of numbers (blanks and text ignored).
AVERAGE(number1, [number2], …) - AVERAGEA+AI
AVERAGE that counts text as 0 and TRUE/FALSE as 1/0.
AVERAGEA(value1, …) - AVERAGEIF
Average the cells that meet one condition.
AVERAGEIF(range, criteria, [average_range]) - AVERAGEIFS
Average cells meeting several conditions.
AVERAGEIFS(average_range, criteria_range1, criteria1, …) - BAHTTEXT+AI
Spell a number as Thai baht text.
BAHTTEXT(number) - BASE+AI
Convert a number to a text representation in a given base.
BASE(number, radix, [min_length]) - BESSELI+AI
The modified Bessel function Iₙ(x).
BESSELI(x, n) - BESSELJ+AI
The Bessel function Jₙ(x).
BESSELJ(x, n) - BESSELK+AI
The modified Bessel function Kₙ(x).
BESSELK(x, n) - BESSELY+AI
The Bessel function Yₙ(x).
BESSELY(x, n) - BETA.DIST+AI
Beta distribution for a value.
BETA.DIST(x, alpha, beta, cumulative, [A], [B]) - BETA.INV+AI
Inverse of the beta cumulative distribution.
BETA.INV(probability, alpha, beta, [A], [B]) - BETADIST+AI
Pre-2010 name for BETA.DIST.
BETADIST(x, alpha, beta, [A], [B]) - BETAINV+AI
Pre-2010 name for BETA.INV.
BETAINV(probability, alpha, beta, [A], [B]) - BIN2DEC+AI
Convert binary text to a decimal number.
BIN2DEC(number) - BIN2HEX+AI
Convert binary text to hexadecimal text.
BIN2HEX(number, [places]) - BIN2OCT+AI
Convert binary text to octal text.
BIN2OCT(number, [places]) - BINOM.DIST+AI
Binomial probability of k successes in n trials.
BINOM.DIST(number_s, trials, probability_s, cumulative) - BINOM.DIST.RANGE+AI
Probability of a range of binomial outcomes.
BINOM.DIST.RANGE(trials, probability_s, number_s, [number_s2]) - BINOM.INV+AI
Smallest k where the binomial CDF ≥ a criterion.
BINOM.INV(trials, probability_s, alpha) - BINOMDIST+AI
Pre-2010 name for BINOM.DIST.
BINOMDIST(number_s, trials, probability_s, cumulative) - BITAND+AI
Bitwise AND of two numbers.
BITAND(number1, number2) - BITLSHIFT+AI
Shift a number left by a number of bits.
BITLSHIFT(number, shift_amount) - BITOR+AI
Bitwise OR of two numbers.
BITOR(number1, number2) - BITRSHIFT+AI
Shift a number right by a number of bits.
BITRSHIFT(number, shift_amount) - BITXOR+AI
Bitwise exclusive OR of two numbers.
BITXOR(number1, number2) - BYCOL+AI
Apply a LAMBDA to each column; one result per column.
BYCOL(array, lambda) - BYROW
Apply a LAMBDA to each row and return one result per row.
BYROW(array, lambda) - CEILING
Round up to the nearest multiple of significance.
CEILING(number, significance) - CEILING.MATH+AI
Round up to a multiple, with a mode for negatives.
CEILING.MATH(number, [significance], [mode]) - CEILING.PRECISE+AI
Round up to a multiple, ignoring the sign.
CEILING.PRECISE(number, [significance]) - CELL
Information about a cell's formatting, location or contents.
CELL(info_type, [reference]) - CHAR
The character for a code number (e.g. 10 = line break).
CHAR(number) - CHIDIST+AI
Pre-2010 name for CHISQ.DIST.RT.
CHIDIST(x, deg_freedom) - CHIINV+AI
Pre-2010 name for CHISQ.INV.RT.
CHIINV(probability, deg_freedom) - CHISQ.DIST+AI
Chi-squared distribution (left tail).
CHISQ.DIST(x, deg_freedom, cumulative) - CHISQ.DIST.RT+AI
Chi-squared distribution (right tail).
CHISQ.DIST.RT(x, deg_freedom) - CHISQ.INV+AI
Inverse of the left-tail chi-squared distribution.
CHISQ.INV(probability, deg_freedom) - CHISQ.INV.RT+AI
Inverse of the right-tail chi-squared distribution.
CHISQ.INV.RT(probability, deg_freedom) - CHISQ.TEST+AI
Chi-squared test of independence.
CHISQ.TEST(actual_range, expected_range) - CHITEST+AI
Pre-2010 name for CHISQ.TEST.
CHITEST(actual_range, expected_range) - CHOOSE
Pick the Nth item from a list of values.
CHOOSE(index_num, value1, [value2], …) - CHOOSECOLS+AI
Return chosen columns from an array in any order.
CHOOSECOLS(array, col_num1, …) - CHOOSEROWS+AI
Return chosen rows from an array in any order.
CHOOSEROWS(array, row_num1, …) - CLEAN
Strip non-printing control characters (e.g. line breaks from imports).
CLEAN(text) - CODE
The numeric code of the first character of a string.
CODE(text) - COLUMN
The column number of a reference (or of the formula cell).
COLUMN([reference]) - COLUMNS
Count the columns in a range or array.
COLUMNS(array) - COMBIN+AI
Number of combinations of n items taken k at a time.
COMBIN(number, number_chosen) - COMBINA+AI
Combinations with repetitions allowed.
COMBINA(number, number_chosen) - COMPLEX+AI
Build a complex number from real and imaginary parts.
COMPLEX(real_num, i_num, [suffix]) - CONCAT
Join text from ranges or values into one string.
CONCAT(text1, [text2], …) - CONCATENATE
Legacy function to join several text values (use CONCAT / TEXTJOIN).
CONCATENATE(text1, [text2], …) - CONFIDENCE+AI
Pre-2010 name for CONFIDENCE.NORM.
CONFIDENCE(alpha, standard_dev, size) - CONFIDENCE.NORM+AI
Confidence interval half-width (normal).
CONFIDENCE.NORM(alpha, standard_dev, size) - CONFIDENCE.T+AI
Confidence interval half-width (Student's t).
CONFIDENCE.T(alpha, standard_dev, size) - CONVERT+AI
Convert a number between measurement units.
CONVERT(number, from_unit, to_unit) - CORREL
The correlation coefficient between two data sets (−1 to 1).
CORREL(array1, array2) - COS+AI
Cosine of an angle given in radians.
COS(number) - COSH+AI
Hyperbolic cosine of a number.
COSH(number) - COT+AI
Cotangent of an angle in radians.
COT(number) - COTH+AI
Hyperbolic cotangent.
COTH(number) - COUNT
Count how many cells contain numbers.
COUNT(value1, [value2], …) - COUNTA
Count cells that are not empty (numbers, text, errors, anything).
COUNTA(value1, [value2], …) - COUNTBLANK
Count empty cells in a range.
COUNTBLANK(range) - COUNTIF
Count the cells that meet one condition.
COUNTIF(range, criteria) - COUNTIFS
Count cells meeting several conditions.
COUNTIFS(criteria_range1, criteria1, [criteria_range2, criteria2], …) - COUPDAYBS+AI
Days from the coupon period start to settlement.
COUPDAYBS(settlement, maturity, frequency, [basis]) - COUPDAYS+AI
Days in the coupon period containing settlement.
COUPDAYS(settlement, maturity, frequency, [basis]) - COUPDAYSNC+AI
Days from settlement to the next coupon date.
COUPDAYSNC(settlement, maturity, frequency, [basis]) - COUPNCD+AI
The next coupon date after settlement.
COUPNCD(settlement, maturity, frequency, [basis]) - COUPNUM+AI
Number of coupons payable between settlement and maturity.
COUPNUM(settlement, maturity, frequency, [basis]) - COUPPCD+AI
The previous coupon date before settlement.
COUPPCD(settlement, maturity, frequency, [basis]) - COVAR+AI
Pre-2010 name for COVARIANCE.P.
COVAR(array1, array2) - COVARIANCE.P+AI
Population covariance of two data sets.
COVARIANCE.P(array1, array2) - COVARIANCE.S+AI
Sample covariance of two data sets.
COVARIANCE.S(array1, array2) - CRITBINOM+AI
Pre-2010 name for BINOM.INV.
CRITBINOM(trials, probability_s, alpha) - CSC+AI
Cosecant of an angle in radians.
CSC(number) - CSCH+AI
Hyperbolic cosecant.
CSCH(number) - CUBEKPIMEMBER+AI
A key performance indicator property from the cube.
CUBEKPIMEMBER(connection, kpi_name, kpi_property, [caption]) - CUBEMEMBER+AI
A member or tuple from the cube.
CUBEMEMBER(connection, member_expression, [caption]) - CUBEMEMBERPROPERTY+AI
A property value of a cube member.
CUBEMEMBERPROPERTY(connection, member_expression, property) - CUBERANKEDMEMBER+AI
The nth member of a cube set.
CUBERANKEDMEMBER(connection, set_expression, rank, [caption]) - CUBESET+AI
A calculated set of members from the cube.
CUBESET(connection, set_expression, [caption], [sort_order], [sort_by]) - CUBESETCOUNT+AI
The number of items in a cube set.
CUBESETCOUNT(set) - CUBEVALUE+AI
An aggregated value from the OLAP / data model cube.
CUBEVALUE(connection, [member_expression1], …) - CUMIPMT
Total interest paid between two loan periods.
CUMIPMT(rate, nper, pv, start_period, end_period, type) - CUMPRINC+AI
Total principal repaid between two periods.
CUMPRINC(rate, nper, pv, start, end, type) - DATE
Build a date from year, month and day numbers.
DATE(year, month, day) - DATEDIF
Whole years / months / days between two dates.
DATEDIF(start_date, end_date, unit) - DATESTRING+AI
Hidden helper that formats a serial as a date string.
DATESTRING(serial) - DATEVALUE+AI
Convert a date written as text into a real date.
DATEVALUE(date_text) - DAVERAGE+AI
Average a field of records matching the criteria.
DAVERAGE(database, field, criteria) - DAY
The day-of-month of a date as 1–31.
DAY(serial_number) - DAYS
The number of days between two dates.
DAYS(end_date, start_date) - DAYS360+AI
Days between dates on a 360-day (12×30) year.
DAYS360(start, end, [method]) - DB+AI
Fixed-declining-balance depreciation.
DB(cost, salvage, life, period, [month]) - DBCS+AI
Convert half-width letters to full-width (double-byte).
DBCS(text) - DCOUNT
Count records with a numeric field that match the criteria.
DCOUNT(database, field, criteria) - DCOUNTA+AI
Count non-blank field values in matching records.
DCOUNTA(database, field, criteria) - DDB+AI
Double-declining-balance depreciation.
DDB(cost, salvage, life, period, [factor]) - DEC2BIN+AI
Convert a decimal number to binary text.
DEC2BIN(number, [places]) - DEC2HEX+AI
Convert a decimal number to hexadecimal text.
DEC2HEX(number, [places]) - DEC2OCT+AI
Convert a decimal number to octal text.
DEC2OCT(number, [places]) - DECIMAL+AI
Convert a text number in a given base to base 10.
DECIMAL(text, radix) - DEGREES+AI
Convert radians to degrees.
DEGREES(angle) - DELTA+AI
1 if two numbers are equal, else 0 (Kronecker delta).
DELTA(number1, [number2]) - DEVSQ+AI
Sum of the squared deviations from the mean.
DEVSQ(number1, …) - DGET
Return the single value from a field where exactly one record matches.
DGET(database, field, criteria) - DISC+AI
The discount rate for a security.
DISC(settlement, maturity, pr, redemption, [basis]) - DMAX+AI
Largest value of a field among matching records.
DMAX(database, field, criteria) - DMIN+AI
Smallest value of a field among matching records.
DMIN(database, field, criteria) - DOLLAR+AI
Format a number as currency text.
DOLLAR(number, [decimals]) - DOLLARDE+AI
Convert a fractional-notation price to decimal.
DOLLARDE(fractional_dollar, fraction) - DOLLARFR+AI
Convert a decimal price to fractional notation.
DOLLARFR(decimal_dollar, fraction) - DPRODUCT+AI
Multiply a field across matching records.
DPRODUCT(database, field, criteria) - DROP+AI
Remove rows/columns from the start or end of an array.
DROP(array, rows, [columns]) - DSTDEV+AI
Sample standard deviation of matching records.
DSTDEV(database, field, criteria) - DSTDEVP+AI
Population standard deviation of matching records.
DSTDEVP(database, field, criteria) - DSUM
Sum a field of the records that match a criteria range.
DSUM(database, field, criteria) - DURATION+AI
Macaulay duration of a bond.
DURATION(settlement, maturity, coupon, yld, frequency, [basis]) - DVAR+AI
Sample variance of matching records.
DVAR(database, field, criteria) - DVARP+AI
Population variance of matching records.
DVARP(database, field, criteria) - EDATE
The same day of the month, N months away.
EDATE(start_date, months) - EFFECT+AI
Effective annual rate from a nominal rate.
EFFECT(nominal_rate, npery) - ENCODEURL+AI
URL-encode a string.
ENCODEURL(text) - EOMONTH
The last day of the month, N months from a date.
EOMONTH(start_date, months) - ERF+AI
The error function integrated between limits.
ERF(lower_limit, [upper_limit]) - ERF.PRECISE+AI
The error function between 0 and a limit.
ERF.PRECISE(x) - ERFC+AI
The complementary error function.
ERFC(x) - ERFC.PRECISE+AI
The complementary error function (precise).
ERFC.PRECISE(x) - ERROR.TYPE+AI
A number identifying which error a cell has.
ERROR.TYPE(error_val) - EVEN+AI
Round up to the nearest even integer.
EVEN(number) - EXACT
TRUE only if two strings match exactly, including case.
EXACT(text1, text2) - EXP+AI
e raised to a power.
EXP(number) - EXPAND+AI
Pad an array to a given size with a fill value.
EXPAND(array, rows, [columns], [pad_with]) - EXPON.DIST+AI
Exponential distribution.
EXPON.DIST(x, lambda, cumulative) - EXPONDIST+AI
Pre-2010 name for EXPON.DIST.
EXPONDIST(x, lambda, cumulative) - F.DIST+AI
F probability distribution (left tail).
F.DIST(x, deg_freedom1, deg_freedom2, cumulative) - F.DIST.RT+AI
F probability distribution (right tail).
F.DIST.RT(x, deg_freedom1, deg_freedom2) - F.INV+AI
Inverse of the left-tail F distribution.
F.INV(probability, deg_freedom1, deg_freedom2) - F.INV.RT+AI
Inverse of the right-tail F distribution.
F.INV.RT(probability, deg_freedom1, deg_freedom2) - F.TEST+AI
Two-tailed F-test comparing two variances.
F.TEST(array1, array2) - FACT+AI
Factorial of a number (n!).
FACT(number) - FACTDOUBLE+AI
The double factorial of a number (n!!).
FACTDOUBLE(number) - FALSE+AI
The logical value FALSE.
FALSE() - FDIST+AI
Pre-2010 name for F.DIST.RT.
FDIST(x, deg_freedom1, deg_freedom2) - FILTER
Return only the rows of a range that meet a condition — results spill.
FILTER(array, include, [if_empty]) - FILTERXML+AI
Return data from XML using an XPath expression.
FILTERXML(xml, xpath) - FIND
Position of one string inside another — case-sensitive, no wildcards.
FIND(find_text, within_text, [start_num]) - FINDB+AI
FIND counted in bytes.
FINDB(find_text, within_text, [start_num]) - FINV+AI
Pre-2010 name for F.INV.RT.
FINV(probability, deg_freedom1, deg_freedom2) - FISHER+AI
Fisher transformation of a correlation.
FISHER(x) - FISHERINV+AI
Inverse of the Fisher transformation.
FISHERINV(y) - FIXED+AI
Format a number as text with fixed decimals and commas.
FIXED(number, [decimals], [no_commas]) - FLOOR
Round down to the nearest multiple of significance.
FLOOR(number, significance) - FLOOR.MATH+AI
Round down to a multiple, with a mode for negatives.
FLOOR.MATH(number, [significance], [mode]) - FLOOR.PRECISE+AI
Round down to a multiple, ignoring the sign.
FLOOR.PRECISE(number, [significance]) - FORECAST+AI
Pre-2016 name for FORECAST.LINEAR.
FORECAST(x, known_ys, known_xs) - FORECAST.ETS+AI
Forecast a future value using exponential smoothing.
FORECAST.ETS(target_date, values, timeline, …) - FORECAST.ETS.CONFINT+AI
Confidence interval for an ETS forecast.
FORECAST.ETS.CONFINT(target_date, values, timeline, …) - FORECAST.ETS.SEASONALITY+AI
Length of the repeating pattern ETS detected.
FORECAST.ETS.SEASONALITY(values, timeline, …) - FORECAST.ETS.STAT+AI
A statistic from the ETS forecasting model.
FORECAST.ETS.STAT(values, timeline, statistic_type, …) - FORECAST.LINEAR
Predict a y-value for a new x using linear regression.
FORECAST.LINEAR(x, known_ys, known_xs) - FORMULATEXT
Show the formula in a cell as text — useful for documentation.
FORMULATEXT(reference) - FREQUENCY+AI
Count how many values fall into each bin (spills).
FREQUENCY(data_array, bins_array) - FTEST+AI
Pre-2010 name for F.TEST.
FTEST(array1, array2) - FV
The future value of an investment with regular deposits.
FV(rate, nper, pmt, [pv], [type]) - FVSCHEDULE+AI
Future value with a series of varying interest rates.
FVSCHEDULE(principal, schedule) - GAMMA+AI
The gamma function value Γ(x).
GAMMA(x) - GAMMA.DIST+AI
Gamma distribution for a value.
GAMMA.DIST(x, alpha, beta, cumulative) - GAMMA.INV+AI
Inverse of the gamma cumulative distribution.
GAMMA.INV(probability, alpha, beta) - GAMMADIST+AI
Pre-2010 name for GAMMA.DIST.
GAMMADIST(x, alpha, beta, cumulative) - GAMMAINV+AI
Pre-2010 name for GAMMA.INV.
GAMMAINV(probability, alpha, beta) - GAMMALN+AI
Natural log of the gamma function.
GAMMALN(x) - GAMMALN.PRECISE+AI
Natural log of the gamma function (precise).
GAMMALN.PRECISE(x) - GAUSS+AI
Probability a value is within z SDs of the mean.
GAUSS(z) - GCD+AI
Greatest common divisor of the numbers.
GCD(number1, …) - GEOMEAN+AI
Geometric mean — the right average for growth rates.
GEOMEAN(number1, …) - GESTEP+AI
1 if a number is ≥ a threshold, else 0.
GESTEP(number, [step]) - GETPIVOTDATA+AI
Pull a specific value out of a PivotTable.
GETPIVOTDATA(data_field, pivot_table, [field, item], …) - GROUPBY+AI
Aggregate a table by one or more grouping columns.
GROUPBY(row_fields, values, function, …) - GROWTH+AI
Predicted exponential growth values (spills).
GROWTH(known_ys, [known_xs], [new_xs], [const]) - HARMEAN+AI
Harmonic mean — the right average for rates like speed.
HARMEAN(number1, …) - HEX2BIN+AI
Convert hexadecimal text to binary text.
HEX2BIN(number, [places]) - HEX2DEC+AI
Convert hexadecimal text to a decimal number.
HEX2DEC(number) - HEX2OCT+AI
Convert hexadecimal text to octal text.
HEX2OCT(number, [places]) - HLOOKUP
Like VLOOKUP but searches the first row and returns from a row below.
HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup]) - HOUR+AI
The hour of a time value (0–23).
HOUR(serial_number) - HSTACK
Join arrays side by side into one wider array.
HSTACK(array1, [array2], …) - HYPERLINK
Create a clickable link from a formula.
HYPERLINK(link_location, [friendly_name]) - HYPGEOM.DIST+AI
Hypergeometric distribution (sampling without replacement).
HYPGEOM.DIST(sample_s, number_sample, population_s, number_pop, cumulative) - HYPGEOMDIST+AI
Pre-2010 name for HYPGEOM.DIST.
HYPGEOMDIST(sample_s, number_sample, population_s, number_population) - IF
Return one value if a test is TRUE, another if FALSE.
IF(logical_test, value_if_true, [value_if_false]) - IFERROR
Return a fallback when a formula errors, otherwise the result.
IFERROR(value, value_if_error) - IFNA
Return a fallback only for #N/A, letting other errors through.
IFNA(value, value_if_na) - IFS
Check several conditions in order and return the first match.
IFS(test1, value1, [test2, value2], …) - IMABS+AI
The absolute value (modulus) of a complex number.
IMABS(inumber) - IMAGINARY+AI
The imaginary coefficient of a complex number.
IMAGINARY(inumber) - IMARGUMENT+AI
The argument θ of a complex number (radians).
IMARGUMENT(inumber) - IMCONJUGATE+AI
The complex conjugate.
IMCONJUGATE(inumber) - IMCOS+AI
The cosine of a complex number.
IMCOS(inumber) - IMCOSH+AI
The hyperbolic cosine of a complex number.
IMCOSH(inumber) - IMCOT+AI
The cotangent of a complex number.
IMCOT(inumber) - IMCSC+AI
The cosecant of a complex number.
IMCSC(inumber) - IMCSCH+AI
The hyperbolic cosecant of a complex number.
IMCSCH(inumber) - IMDIV+AI
The quotient of two complex numbers.
IMDIV(inumber1, inumber2) - IMEXP+AI
The exponential of a complex number.
IMEXP(inumber) - IMLN+AI
The natural log of a complex number.
IMLN(inumber) - IMLOG10+AI
The base-10 log of a complex number.
IMLOG10(inumber) - IMLOG2+AI
The base-2 log of a complex number.
IMLOG2(inumber) - IMPOWER+AI
A complex number raised to a power.
IMPOWER(inumber, number) - IMPRODUCT+AI
The product of complex numbers.
IMPRODUCT(inumber1, …) - IMREAL+AI
The real coefficient of a complex number.
IMREAL(inumber) - IMSEC+AI
The secant of a complex number.
IMSEC(inumber) - IMSECH+AI
The hyperbolic secant of a complex number.
IMSECH(inumber) - IMSIN+AI
The sine of a complex number.
IMSIN(inumber) - IMSINH+AI
The hyperbolic sine of a complex number.
IMSINH(inumber) - IMSQRT+AI
The square root of a complex number.
IMSQRT(inumber) - IMSUB+AI
The difference of two complex numbers.
IMSUB(inumber1, inumber2) - IMSUM+AI
The sum of complex numbers.
IMSUM(inumber1, …) - IMTAN+AI
The tangent of a complex number.
IMTAN(inumber) - INDEX
Return the value at a given row/column position in a range.
INDEX(array, row_num, [column_num]) - INDIRECT
Turn a text string into a cell/range reference.
INDIRECT(ref_text, [a1]) - INFO+AI
Information about the operating environment.
INFO(type_text) - INT
Round down to the nearest integer.
INT(number) - INTERCEPT+AI
Where the regression line crosses the y-axis.
INTERCEPT(known_ys, known_xs) - INTRATE+AI
Interest rate for a fully invested security.
INTRATE(settlement, maturity, investment, redemption, [basis]) - IPMT
The interest portion of a specific loan payment.
IPMT(rate, per, nper, pv, [fv], [type]) - IRR
The internal rate of return of periodic cash flows.
IRR(values, [guess]) - ISBLANK
TRUE if a cell is truly empty.
ISBLANK(value) - ISERR+AI
TRUE for any error except #N/A.
ISERR(value) - ISERROR
TRUE if the value is any error.
ISERROR(value) - ISEVEN+AI
TRUE if a number is even.
ISEVEN(number) - ISFORMULA
TRUE if a cell contains a formula.
ISFORMULA(reference) - ISLOGICAL+AI
TRUE if the value is TRUE or FALSE.
ISLOGICAL(value) - ISNA
TRUE only for the #N/A error.
ISNA(value) - ISNONTEXT+AI
TRUE if the value is not text (blank counts as not text).
ISNONTEXT(value) - ISNUMBER
TRUE if the value is a number.
ISNUMBER(value) - ISO.CEILING+AI
ISO version of CEILING.PRECISE.
ISO.CEILING(number, [significance]) - ISODD
TRUE if a number is odd.
ISODD(number) - ISOMITTED+AI
TRUE if a LAMBDA argument was left out.
ISOMITTED(argument) - ISOWEEKNUM+AI
The ISO 8601 week number of a date.
ISOWEEKNUM(date) - ISPMT+AI
Interest paid during a period of a straight-line loan.
ISPMT(rate, per, nper, pv) - ISREF+AI
TRUE if the value is a reference.
ISREF(value) - ISTEXT
TRUE if the value is text.
ISTEXT(value) - JIS+AI
Convert half-width characters to full-width (Japanese).
JIS(text) - KURT+AI
Kurtosis of a data set.
KURT(number1, …) - LAMBDA
Define a reusable custom function from a formula, no VBA.
LAMBDA([parameter1, …], calculation) - LARGE
The k-th largest value (1 = max, 2 = second largest…).
LARGE(array, k) - LCM+AI
Least common multiple of the numbers.
LCM(number1, …) - LEFT
The first N characters of a string.
LEFT(text, [num_chars]) - LEFTB+AI
LEFT counted in bytes (for double-byte character sets).
LEFTB(text, [num_bytes]) - LEN
Number of characters in a string.
LEN(text) - LENB+AI
LEN counted in bytes.
LENB(text) - LET
Name intermediate results inside a formula — readable and faster.
LET(name1, value1, [name2, value2], …, calculation) - LINEST+AI
Least-squares regression coefficients (array).
LINEST(known_ys, [known_xs], [const], [stats]) - LN+AI
Natural logarithm (base e).
LN(number) - LOG+AI
Logarithm to a given base (default 10).
LOG(number, [base]) - LOG10+AI
Base-10 logarithm.
LOG10(number) - LOGEST+AI
Exponential regression coefficients (array).
LOGEST(known_ys, [known_xs], [const], [stats]) - LOGINV+AI
Pre-2010 name for LOGNORM.INV.
LOGINV(probability, mean, standard_dev) - LOGNORM.DIST+AI
Lognormal distribution for a value.
LOGNORM.DIST(x, mean, standard_dev, cumulative) - LOGNORM.INV+AI
Inverse of the lognormal distribution.
LOGNORM.INV(probability, mean, standard_dev) - LOGNORMDIST+AI
Pre-2010 name for LOGNORM.DIST.
LOGNORMDIST(x, mean, standard_dev) - LOOKUP
Legacy approximate-match lookup over a sorted vector.
LOOKUP(lookup_value, lookup_vector, [result_vector]) - LOWER
Convert text to lowercase.
LOWER(text) - MAKEARRAY+AI
Build an array by calling a LAMBDA for each cell.
MAKEARRAY(rows, cols, lambda) - MAP
Transform every element of one or more arrays with a LAMBDA.
MAP(array1, [array2, …], lambda) - MATCH
Return the position of a value within a row or column.
MATCH(lookup_value, lookup_array, [match_type]) - MAX
The largest number in a set.
MAX(number1, [number2], …) - MAXA+AI
MAX that also counts text (as 0) and logicals.
MAXA(value1, …) - MAXIFS
The largest value among cells meeting conditions.
MAXIFS(max_range, criteria_range1, criteria1, …) - MDETERM+AI
The matrix determinant of an array.
MDETERM(array) - MDURATION+AI
Modified Macaulay duration of a bond.
MDURATION(settlement, maturity, coupon, yld, frequency, [basis]) - MEDIAN
The middle value — half the data is above it, half below.
MEDIAN(number1, [number2], …) - MID
A run of characters from the middle of a string.
MID(text, start_num, num_chars) - MIDB+AI
MID counted in bytes.
MIDB(text, start_num, num_bytes) - MIN
The smallest number in a set.
MIN(number1, [number2], …) - MINA+AI
MIN that also counts text (as 0) and logicals.
MINA(value1, …) - MINIFS
The smallest value among cells meeting conditions.
MINIFS(min_range, criteria_range1, criteria1, …) - MINUTE+AI
The minute of a time value (0–59).
MINUTE(serial_number) - MINVERSE+AI
The inverse matrix of an array.
MINVERSE(array) - MIRR+AI
Modified internal rate of return (separate finance / reinvest rates).
MIRR(values, finance_rate, reinvest_rate) - MMULT+AI
The matrix product of two arrays.
MMULT(array1, array2) - MOD
The remainder after division.
MOD(number, divisor) - MODE+AI
Pre-2010 name for MODE.SNGL.
MODE(number1, …) - MODE.MULT+AI
All values tied for most frequent (spills).
MODE.MULT(number1, …) - MODE.SNGL
The value that appears most often.
MODE.SNGL(number1, [number2], …) - MONTH
The month of a date as 1–12.
MONTH(serial_number) - MROUND
Round to the nearest multiple.
MROUND(number, multiple) - MULTINOMIAL+AI
Ratio of the factorial of a sum to the product of factorials.
MULTINOMIAL(number1, …) - MUNIT+AI
The identity matrix of a given dimension.
MUNIT(dimension) - N+AI
Convert a value to a number (dates stay, text → 0).
N(value) - NA
Return the #N/A error on purpose (e.g. to leave a gap in a chart).
NA() - NEGBINOM.DIST+AI
Negative binomial distribution.
NEGBINOM.DIST(number_f, number_s, probability_s, cumulative) - NEGBINOMDIST+AI
Pre-2010 name for NEGBINOM.DIST.
NEGBINOMDIST(number_f, number_s, probability_s) - NETWORKDAYS
Count working days between two dates, skipping weekends and holidays.
NETWORKDAYS(start_date, end_date, [holidays]) - NETWORKDAYS.INTL+AI
Working days between dates with a custom weekend.
NETWORKDAYS.INTL(start, end, [weekend], [holidays]) - NOMINAL+AI
Nominal annual rate from an effective rate.
NOMINAL(effect_rate, npery) - NORM.DIST+AI
Normal distribution for a value (PDF or CDF).
NORM.DIST(x, mean, standard_dev, cumulative) - NORM.INV+AI
Inverse of the normal cumulative distribution.
NORM.INV(probability, mean, standard_dev) - NORM.S.DIST+AI
Standard normal distribution.
NORM.S.DIST(z, cumulative) - NORM.S.INV+AI
Inverse of the standard normal distribution.
NORM.S.INV(probability) - NORMDIST+AI
Pre-2010 name for NORM.DIST.
NORMDIST(x, mean, standard_dev, cumulative) - NORMINV+AI
Pre-2010 name for NORM.INV.
NORMINV(probability, mean, standard_dev) - NORMSDIST+AI
Pre-2010 name for NORM.S.DIST.
NORMSDIST(z) - NORMSINV+AI
Pre-2010 name for NORM.S.INV.
NORMSINV(probability) - NOT
Reverse TRUE ↔ FALSE.
NOT(logical) - NOW
The current date and time.
NOW() - NPER
How many periods to pay off a loan or reach a savings goal.
NPER(rate, pmt, pv, [fv], [type]) - NPV
Net present value of a series of evenly-spaced cash flows.
NPV(rate, value1, [value2], …) - NUMBERVALUE
Convert text to a number with explicit decimal / thousands separators.
NUMBERVALUE(text, [decimal_separator], [group_separator]) - OCT2BIN+AI
Convert octal text to binary text.
OCT2BIN(number, [places]) - OCT2DEC+AI
Convert octal text to a decimal number.
OCT2DEC(number) - OCT2HEX+AI
Convert octal text to hexadecimal text.
OCT2HEX(number, [places]) - ODD+AI
Round up to the nearest odd integer.
ODD(number) - ODDFPRICE+AI
Price of a security with an odd first period.
ODDFPRICE(settlement, maturity, issue, first_coupon, rate, yld, redemption, frequency, [basis]) - ODDFYIELD+AI
Yield of a security with an odd first period.
ODDFYIELD(settlement, maturity, issue, first_coupon, rate, pr, redemption, frequency, [basis]) - ODDLPRICE+AI
Price of a security with an odd last period.
ODDLPRICE(settlement, maturity, last_interest, rate, yld, redemption, frequency, [basis]) - ODDLYIELD+AI
Yield of a security with an odd last period.
ODDLYIELD(settlement, maturity, last_interest, rate, pr, redemption, frequency, [basis]) - OFFSET
Return a range a given number of rows/columns from a starting cell.
OFFSET(reference, rows, cols, [height], [width]) - OR
TRUE if at least one condition is TRUE.
OR(logical1, [logical2], …) - PDURATION+AI
Periods for an investment to reach a value.
PDURATION(rate, pv, fv) - PEARSON+AI
Pearson product-moment correlation coefficient.
PEARSON(array1, array2) - PERCENTILE+AI
Pre-2010 name for PERCENTILE.INC.
PERCENTILE(array, k) - PERCENTILE.EXC+AI
Percentile, exclusive of 0 and 1.
PERCENTILE.EXC(array, k) - PERCENTILE.INC
The value at a given percentile (0–1 inclusive).
PERCENTILE.INC(array, k) - PERCENTRANK+AI
Pre-2010 name for PERCENTRANK.INC.
PERCENTRANK(array, x, [significance]) - PERCENTRANK.EXC+AI
Percentile rank, exclusive.
PERCENTRANK.EXC(array, x, [significance]) - PERCENTRANK.INC+AI
The percentile rank of a value within a set.
PERCENTRANK.INC(array, x, [significance]) - PERMUT+AI
Number of ordered arrangements (permutations).
PERMUT(number, number_chosen) - PERMUTATIONA+AI
Permutations with repetitions allowed.
PERMUTATIONA(number, number_chosen) - PHI+AI
Density of the standard normal distribution.
PHI(x) - PHONETIC+AI
Extract the furigana (phonetic) characters from text.
PHONETIC(reference) - PI+AI
The constant π (3.14159…).
PI() - PIVOTBY+AI
Cross-tabulate a table by row and column fields.
PIVOTBY(row_fields, col_fields, values, function, …) - PMT
The fixed periodic payment for a loan (EMI).
PMT(rate, nper, pv, [fv], [type]) - POISSON+AI
Pre-2010 name for POISSON.DIST.
POISSON(x, mean, cumulative) - POISSON.DIST+AI
Poisson distribution for a number of events.
POISSON.DIST(x, mean, cumulative) - POWER
Raise a number to a power (same as the ^ operator).
POWER(number, power) - PPMT
The principal portion of a specific loan payment.
PPMT(rate, per, nper, pv, [fv], [type]) - PRICE+AI
Price per ₹100 face value of a periodic-interest bond.
PRICE(settlement, maturity, rate, yld, redemption, frequency, [basis]) - PRICEDISC+AI
Price per ₹100 face value of a discounted security.
PRICEDISC(settlement, maturity, discount, redemption, [basis]) - PRICEMAT+AI
Price per ₹100 of a security that pays interest at maturity.
PRICEMAT(settlement, maturity, issue, rate, yld, [basis]) - PROB+AI
Probability that values are within a range.
PROB(x_range, prob_range, lower_limit, [upper_limit]) - PRODUCT
Multiply all the numbers given.
PRODUCT(number1, [number2], …) - PROPER
Capitalise the first letter of each word.
PROPER(text) - PV
The present value of a future sum or an annuity.
PV(rate, nper, pmt, [fv], [type]) - QUARTILE+AI
Pre-2010 name for QUARTILE.INC.
QUARTILE(array, quart) - QUARTILE.EXC+AI
Quartile based on the exclusive percentile.
QUARTILE.EXC(array, quart) - QUARTILE.INC+AI
The value at quartile 0–4 of a data set.
QUARTILE.INC(array, quart) - QUOTIENT
The integer part of a division (no remainder).
QUOTIENT(numerator, denominator) - RADIANS+AI
Convert degrees to radians.
RADIANS(angle) - RAND
A random decimal ≥ 0 and < 1, recalculated on every change.
RAND() - RANDARRAY
A spilled array of random numbers.
RANDARRAY([rows], [columns], [min], [max], [whole_number]) - RANDBETWEEN
A random whole number between two bounds (inclusive).
RANDBETWEEN(bottom, top) - RANK+AI
Pre-2010 name; use RANK.EQ or RANK.AVG.
RANK(number, ref, [order]) - RANK.AVG+AI
Rank of a number; ties get the average rank.
RANK.AVG(number, ref, [order]) - RANK.EQ
The rank of a number in a list; equal values share the top rank.
RANK.EQ(number, ref, [order]) - RATE
The interest rate per period of a loan or investment.
RATE(nper, pmt, pv, [fv], [type], [guess]) - RECEIVED+AI
Amount received at maturity for a fully invested security.
RECEIVED(settlement, maturity, investment, discount, [basis]) - REDUCE
Fold an array down to a single accumulated value.
REDUCE([initial_value], array, lambda) - REPLACE
Overwrite characters at a fixed position with new text.
REPLACE(old_text, start_num, num_chars, new_text) - REPLACEB+AI
REPLACE counted in bytes.
REPLACEB(old_text, start_num, num_bytes, new_text) - REPT
Repeat a text string a number of times.
REPT(text, number_times) - RIGHT
The last N characters of a string.
RIGHT(text, [num_chars]) - RIGHTB+AI
RIGHT counted in bytes.
RIGHTB(text, [num_bytes]) - ROMAN
Convert a number to Roman numerals (as text).
ROMAN(number, [form]) - ROUND
Round a number to a set number of decimal places.
ROUND(number, num_digits) - ROUNDDOWN
Round toward zero to a set number of digits.
ROUNDDOWN(number, num_digits) - ROUNDUP
Round away from zero to a set number of digits.
ROUNDUP(number, num_digits) - ROW
The row number of a reference (or of the formula cell).
ROW([reference]) - ROWS
Count the rows in a range or array.
ROWS(array) - RRI+AI
Equivalent interest rate for an investment's growth.
RRI(nper, pv, fv) - RSQ+AI
The r² of the linear regression through the points.
RSQ(known_ys, known_xs) - RTD+AI
Real-time data from a COM automation server.
RTD(prog_id, server, topic1, …) - SCAN+AI
Like REDUCE but returns every intermediate total.
SCAN([initial], array, lambda) - SEARCH
Like FIND, but case-insensitive and allows ? and * wildcards.
SEARCH(find_text, within_text, [start_num]) - SEARCHB+AI
SEARCH counted in bytes.
SEARCHB(find_text, within_text, [start_num]) - SEC+AI
Secant of an angle in radians.
SEC(number) - SECH+AI
Hyperbolic secant.
SECH(number) - SECOND+AI
The second of a time value (0–59).
SECOND(serial_number) - SEQUENCE
Generate a spilled array of consecutive numbers.
SEQUENCE(rows, [columns], [start], [step]) - SERIESSUM+AI
The sum of a power series.
SERIESSUM(x, n, m, coefficients) - SHEET+AI
The sheet number of a reference.
SHEET([value]) - SHEETS+AI
The number of sheets in a reference.
SHEETS([reference]) - SIGN+AI
-1, 0 or 1 for the sign of a number.
SIGN(number) - SIN+AI
Sine of an angle given in radians.
SIN(number) - SINH+AI
Hyperbolic sine of a number.
SINH(number) - SKEW+AI
Skewness of a distribution (sample).
SKEW(number1, …) - SKEW.P+AI
Skewness based on the whole population.
SKEW.P(number1, …) - SLN
Straight-line depreciation for one period.
SLN(cost, salvage, life) - SLOPE+AI
Slope of the linear regression line through the points.
SLOPE(known_ys, known_xs) - SMALL
The k-th smallest value.
SMALL(array, k) - SORT
Return a range sorted — results spill, source untouched.
SORT(array, [sort_index], [sort_order], [by_col]) - SORTBY
Sort one array by the values of one or more other arrays.
SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2], …) - SQRT
The positive square root.
SQRT(number) - SQRTPI+AI
Square root of (number × π).
SQRTPI(number) - STANDARDIZE+AI
The z-score of a value for a given mean and SD.
STANDARDIZE(x, mean, standard_dev) - STDEV+AI
Pre-2010 name for STDEV.S.
STDEV(number1, …) - STDEV.P+AI
Standard deviation of an entire population.
STDEV.P(number1, …) - STDEV.S
Standard deviation estimated from a sample.
STDEV.S(number1, [number2], …) - STDEVA+AI
Sample standard deviation, counting text and logicals.
STDEVA(value1, …) - STDEVP+AI
Pre-2010 name for STDEV.P.
STDEVP(number1, …) - STDEVPA+AI
Population standard deviation, counting text and logicals.
STDEVPA(value1, …) - STEYX+AI
Standard error of the predicted y for each x.
STEYX(known_ys, known_xs) - SUBSTITUTE
Replace every (or the Nth) occurrence of a piece of text.
SUBSTITUTE(text, old_text, new_text, [instance_num]) - SUBTOTAL
Aggregate a range while ignoring other SUBTOTALs and (optionally) hidden rows.
SUBTOTAL(function_num, ref1, [ref2], …) - SUM
Add up numbers, cells and ranges.
SUM(number1, [number2], …) - SUMIF
Add the cells that meet a single condition.
SUMIF(range, criteria, [sum_range]) - SUMIFS
Add cells that meet several conditions at once.
SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], …) - SUMPRODUCT
Multiply arrays element-by-element and sum the result — a Swiss-army knife.
SUMPRODUCT(array1, [array2], …) - SUMSQ+AI
Sum of the squares of the numbers.
SUMSQ(number1, …) - SUMX2MY2+AI
Sum of (x² − y²) across two arrays.
SUMX2MY2(array_x, array_y) - SUMX2PY2+AI
Sum of (x² + y²) across two arrays.
SUMX2PY2(array_x, array_y) - SUMXMY2+AI
Sum of (x − y)² across two arrays.
SUMXMY2(array_x, array_y) - SWITCH
Compare one expression against a list of values and return the match.
SWITCH(expression, value1, result1, [value2, result2], …, [default]) - SYD+AI
Sum-of-years'-digits depreciation.
SYD(cost, salvage, life, per) - T+AI
Return the value if it is text, else "".
T(value) - T.DIST+AI
Student's t distribution (left tail).
T.DIST(x, deg_freedom, cumulative) - T.DIST.2T+AI
Two-tailed Student's t distribution.
T.DIST.2T(x, deg_freedom) - T.DIST.RT+AI
Right-tailed Student's t distribution.
T.DIST.RT(x, deg_freedom) - T.INV+AI
Inverse of the left-tail t distribution.
T.INV(probability, deg_freedom) - T.INV.2T+AI
Inverse of the two-tailed t distribution.
T.INV.2T(probability, deg_freedom) - T.TEST+AI
Probability from a Student's t-test.
T.TEST(array1, array2, tails, type) - TAKE
Keep a number of rows/columns from the start or end of an array.
TAKE(array, rows, [columns]) - TAN+AI
Tangent of an angle given in radians.
TAN(number) - TANH+AI
Hyperbolic tangent of a number.
TANH(number) - TBILLEQ+AI
Bond-equivalent yield of a Treasury bill.
TBILLEQ(settlement, maturity, discount) - TBILLPRICE+AI
Price per ₹100 face value of a Treasury bill.
TBILLPRICE(settlement, maturity, discount) - TBILLYIELD+AI
Yield of a Treasury bill.
TBILLYIELD(settlement, maturity, pr) - TDIST+AI
Pre-2010 name for T.DIST.2T / T.DIST.RT.
TDIST(x, deg_freedom, tails) - TEXT
Format a number or date as text using a format code.
TEXT(value, format_text) - TEXTAFTER
The text that comes after a given delimiter.
TEXTAFTER(text, delimiter, [instance_num], [match_mode], [match_end], [if_not_found]) - TEXTBEFORE
The text that comes before a given delimiter.
TEXTBEFORE(text, delimiter, [instance_num], [match_mode], [match_end], [if_not_found]) - TEXTJOIN
Join a list with a delimiter, optionally skipping blanks.
TEXTJOIN(delimiter, ignore_empty, text1, [text2], …) - TEXTSPLIT
Split text into a spilled array by a column and/or row delimiter.
TEXTSPLIT(text, col_delimiter, [row_delimiter], [ignore_empty], [match_mode], [pad_with]) - TIME+AI
Build a time value from hours, minutes, seconds.
TIME(hour, minute, second) - TIMEVALUE+AI
Convert a time written as text into a time value.
TIMEVALUE(time_text) - TINV+AI
Pre-2010 name for T.INV.2T.
TINV(probability, deg_freedom) - TOCOL+AI
Flatten an array into a single column.
TOCOL(array, [ignore], [scan_by_column]) - TODAY
Today's date, refreshed each time the sheet recalculates.
TODAY() - TOROW+AI
Flatten an array into a single row.
TOROW(array, [ignore], [scan_by_column]) - TRANSPOSE
Flip a vertical range to horizontal or vice versa.
TRANSPOSE(array) - TREND+AI
Fit a line to known data and extend it (spills).
TREND(known_ys, [known_xs], [new_xs], [const]) - TRIM
Remove leading, trailing and repeated inner spaces.
TRIM(text) - TRIMMEAN+AI
Mean after discarding a percentage of the extremes.
TRIMMEAN(array, percent) - TRUE+AI
The logical value TRUE.
TRUE() - TRUNC
Cut off decimals without rounding.
TRUNC(number, [num_digits]) - TTEST+AI
Pre-2010 name for T.TEST.
TTEST(array1, array2, tails, type) - TYPE
A code for the data type of a value (1 number, 2 text, 4 logical, 16 error, 64 array).
TYPE(value) - UNICHAR+AI
The character for a Unicode code point.
UNICHAR(number) - UNICODE+AI
The Unicode code point of the first character.
UNICODE(text) - UNIQUE
Return the distinct values from a range.
UNIQUE(array, [by_col], [exactly_once]) - UPPER
Convert text to UPPERCASE.
UPPER(text) - VALUE
Convert a text string that looks like a number into a real number.
VALUE(text) - VALUETOTEXT+AI
Text representation of any value.
VALUETOTEXT(value, [format]) - VAR+AI
Pre-2010 name for VAR.S (sample variance).
VAR(number1, …) - VAR.P+AI
Variance of an entire population.
VAR.P(number1, …) - VAR.S+AI
Variance based on a sample.
VAR.S(number1, …) - VARA+AI
Sample variance, counting text and logicals.
VARA(value1, …) - VARP+AI
Pre-2010 name for VAR.P (population variance).
VARP(number1, …) - VARPA+AI
Population variance, counting text and logicals.
VARPA(value1, …) - VDB+AI
Declining-balance depreciation over a partial period.
VDB(cost, salvage, life, start_period, end_period, [factor], [no_switch]) - VLOOKUP
Find a value in the first column of a table, return a value from a column to its right.
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup]) - VSTACK
Stack arrays on top of each other into one taller array.
VSTACK(array1, [array2], …) - WEBSERVICE+AI
Return data from a web service (URL).
WEBSERVICE(url) - WEEKDAY
The day of the week of a date, as a number.
WEEKDAY(serial_number, [return_type]) - WEEKNUM
The week number of the year for a date.
WEEKNUM(serial_number, [return_type]) - WEIBULL+AI
Pre-2010 name for WEIBULL.DIST.
WEIBULL(x, alpha, beta, cumulative) - WEIBULL.DIST+AI
Weibull distribution (reliability analysis).
WEIBULL.DIST(x, alpha, beta, cumulative) - WORKDAY
The date N working days after a start date.
WORKDAY(start_date, days, [holidays]) - WORKDAY.INTL+AI
Date N working days away with a custom weekend.
WORKDAY.INTL(start, days, [weekend], [holidays]) - WRAPCOLS+AI
Wrap a vector into columns of a fixed height.
WRAPCOLS(vector, wrap_count, [pad_with]) - WRAPROWS+AI
Wrap a vector into rows of a fixed width.
WRAPROWS(vector, wrap_count, [pad_with]) - XIRR
Internal rate of return for cash flows on specific (uneven) dates.
XIRR(values, dates, [guess]) - XLOOKUP
Modern lookup — any direction, exact by default, built-in not-found value.
XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode]) - XMATCH
Modern MATCH — exact by default, reverse search, wildcard and binary modes.
XMATCH(lookup_value, lookup_array, [match_mode], [search_mode]) - XNPV+AI
Net present value for cash flows on specific dates.
XNPV(rate, values, dates) - XOR
TRUE if an odd number of conditions are TRUE (exclusive or).
XOR(logical1, [logical2], …) - YEAR
The year of a date as a 4-digit number.
YEAR(serial_number) - YEARFRAC
The fraction of a year between two dates (for interest, tenure, age).
YEARFRAC(start_date, end_date, [basis]) - YIELD+AI
Yield of a security that pays periodic interest.
YIELD(settlement, maturity, rate, pr, redemption, frequency, [basis]) - YIELDDISC+AI
Annual yield of a discounted security.
YIELDDISC(settlement, maturity, pr, redemption, [basis]) - YIELDMAT+AI
Annual yield of a security paying interest at maturity.
YIELDMAT(settlement, maturity, issue, rate, pr, [basis]) - Z.TEST+AI
One-tailed probability value of a z-test.
Z.TEST(array, x, [sigma]) - ZTEST+AI
Pre-2010 name for Z.TEST.
ZTEST(array, x, [sigma])
Browse by category
Text· 45
Join, split, clean, find and reformat text.
Logical· 13
Test conditions and branch — IF, AND, OR, IFERROR, LET.
Lookup & reference· 21
Find a value in a range — XLOOKUP, INDEX/MATCH, VLOOKUP.
Math & trig· 82
Sum, round, conditional totals, random numbers, SUBTOTAL.
Statistical· 107
Averages, counts, MAX/MIN, rank, percentile, conditional stats.
Date & time· 26
Build, break apart and do arithmetic on dates and times.
Financial· 55
Loan payments, present/future value, NPV, IRR, depreciation.
Information· 21
Ask what a cell contains — ISBLANK, ISNUMBER, ISERROR, TYPE.
Dynamic arrays· 25
Spill results — FILTER, SORT, UNIQUE, SEQUENCE, stacking.
Database· 12
Aggregate records matching a criteria range — DSUM, DGET.
Engineering· 54
Base conversion, bitwise ops, complex numbers, CONVERT, Bessel.
Cube· 7
Query an OLAP / Power Pivot data model — CUBEVALUE, CUBEMEMBER.
A 60-second primer
A formula always starts with =. It can hold numbers, text in "quotes", cell references like B2, ranges like B2:B100, operators (+ - * / ^ & = <>) and functions.
- Absolute vs relative:
$B$2stays fixed when you copy the formula;B2shifts. Press F4 to cycle. - Spill: modern functions (FILTER, UNIQUE, SEQUENCE) return many cells from one formula. A
#SPILL!error means something is in the way. - Errors:
#N/Anot found,#VALUE!wrong type,#DIV/0!divide by zero,#REF!deleted cell. Wrap in IFERROR to handle them. - Locale: some regions use
;instead of,between arguments. The examples here use commas.
Everything here also works in Google Sheets unless a function’s page says otherwise. Need to crunch Indian numbers instead? Try the GST, EMI and income-tax calculators.