Formulas and functions reference
SingleSign Spreadsheets understands 515 functions, with the same names and arguments as Google Sheets, so a formula you already know can be typed the way you know it. This page lists every one, grouped by category, with its syntax, what it does and an example.
New to Spreadsheets? Start with Spreadsheets for sheets, formatting, filters, charts and pivot tables.
How formulas work
- Start with
=.=A1+B1,=SUM(B2:B20). Anything that doesn't start with=is kept as a value — a number, date, percentage or text, detected as you type. Start with an apostrophe ('0123) to keep it as text exactly as typed. - Cell references.
A1is one cell;A1:C10is a range;A:Ais a whole column,3:3a whole row andA2:Aa column from row 2 down. Refer to another sheet with its name —Sheet2!B3, or'Q1 Sales'!B3when the name has spaces. - Relative and absolute. Copying or filling a formula moves its references with it. Put
$in front of the column, the row or both ($A$1) to keep it fixed. - Named ranges. Give a range a name and use the name in formulas —
=SUM(Expenses). Renaming it updates every formula that uses it. - Operators.
+ - * / ^and%,&to join text, and= <> < > <= >=to compare. Arguments are separated by commas. - Arrays. Write an array with braces —
{1, 2, 3}across,{1; 2; 3}down. Functions that return several values (FILTER, SORT, UNIQUE, SEQUENCE and others) spill into the cells below and to the right. Wrap a formula in ARRAYFORMULA to apply it to whole ranges at once. - Inserting and deleting rows or columns never breaks a formula: references follow the cells they point to. A reference to a cell that was deleted becomes
#REF!. - Circular references — a formula that depends on itself — show
#REF!on every cell in the loop, unless you turn on iterative calculation in the spreadsheet's settings. - Functions that fetch data — IMPORTXML, IMPORTHTML, IMPORTDATA, IMPORTFEED, GOOGLEFINANCE, GOOGLETRANSLATE, DETECTLANGUAGE and AI — get their results from outside the spreadsheet. The cell shows
#N/Awith "Loading…" until the data arrives. See Data from the web, finance and AI for how they refresh and what they need. - Functions that change on their own — NOW, RAND, RANDARRAY, RANDBETWEEN, TODAY — recalculate on every edit, and can also be set to recalculate every minute or every hour in the spreadsheet's settings.
Error values
| Error | What it means |
|---|---|
#DIV/0! | Division by zero. |
#VALUE! | An argument is the wrong type — text where a number was needed, or arrays of different sizes. |
#REF! | A reference that doesn't exist any more, a circular reference, or a result that can't spill because other cells are in the way. |
#NAME? | An unknown function or name — usually a typo. |
#N/A | A value wasn't found (lookups), data from the web or AI is still loading ("Loading…") or couldn't be loaded, or a feature isn't turned on. |
#NUM! | A number is out of range for the calculation. |
#NULL! | Two ranges were expected to overlap and don't. |
#ERROR! | The formula can't be read — check brackets, quotes and commas. |
Hover over a cell showing an error to see the full message.
Functions by category
- Math functions (82)
- Statistical functions (136)
- Logical functions (13)
- Lookup functions (17)
- Filter functions (4)
- Array functions (29)
- Text functions (41)
- Date functions (26)
- Financial functions (50)
- Info functions (17)
- Database functions (12)
- Engineering functions (50)
- Parser functions (6)
- Operator functions (16)
- Web functions (8)
- Google-style functions (8)
Math functions
Arithmetic, rounding, sums, powers, logarithms, trigonometry and random numbers.
- ABS —
ABS(value)— Returns the absolute value of a number. Example:=ABS(-2) - ACOS —
ACOS(value)— Returns the inverse cosine of a value, in radians. Example:=ACOS(0) - ACOSH —
ACOSH(value)— Returns the inverse hyperbolic cosine of a number. Example:=ACOSH(2) - ACOT —
ACOT(value)— Returns the inverse cotangent of a value, in radians. Example:=ACOT(1) - ACOTH —
ACOTH(value)— Returns the inverse hyperbolic cotangent of a value, in radians. Must not be between -1 and 1, inclusive. Example:=ACOTH(7) - ASIN —
ASIN(value)— Returns the inverse sine of a value, in radians. Example:=ASIN(0.5) - ASINH —
ASINH(value)— Returns the inverse hyperbolic sine of a number. Example:=ASINH(0.9) - ATAN —
ATAN(value)— Returns the inverse tangent of a value, in radians. Example:=ATAN(1) - ATAN2 —
ATAN2(x, y)— Returns the angle between the x-axis and a line segment from the origin (0,0) to specified coordinate pair (x,y), in radians. Example:=ATAN2(4, 3) - ATANH —
ATANH(value)— Returns the inverse hyperbolic tangent of a number. Example:=ATANH(0.9) - BASE —
BASE(value, base, [min_length])— Converts a number into a text representation in another base, for example, base 2 for binary. Example:=BASE(255, 16) - CEILING —
CEILING(value, [factor])— Rounds a number up to the nearest integer multiple of specified significance. Example:=CEILING(23.25, 0.1) - CEILING.MATH —
CEILING.MATH(number, [significance], [mode])— Rounds a number up to the nearest integer multiple of specified significance, with negative numbers rounding toward or away from 0 depending on the mode. Example:=CEILING.MATH(-10.2, 2, -1) - CEILING.PRECISE —
CEILING.PRECISE(number, [significance])— Rounds a number up to the nearest integer or multiple of specified significance. If the number is positive or negative, it is rounded up. Example:=CEILING.PRECISE(-23.25, 0.1) - COMBIN —
COMBIN(n, k)— Returns the number of ways to choose some number of objects from a pool of a given size of objects. Example:=COMBIN(4, 2) - COMBINA —
COMBINA(n, k)— Returns the number of ways to choose some number of objects from a pool of a given size of objects, including ways that choose the same object multiple times. Example:=COMBINA(4, 3) - COS —
COS(value)— Returns the cosine of an angle provided in radians. Example:=COS(PI()) - COSH —
COSH(value)— Returns the hyperbolic cosine of any real number. Example:=COSH(0.5) - COT —
COT(value)— Returns the cotangent of an angle provided in radians. Example:=COT(1) - COTH —
COTH(value)— Returns the hyperbolic cotangent of any real number. Example:=COTH(1) - COUNTBLANK —
COUNTBLANK(range)— Returns the number of empty cells in a given range. Example:=COUNTBLANK(A2:C100) - COUNTIF —
COUNTIF(range, criterion)— Returns a conditional count across a range. Example:=COUNTIF(A1:A10, ">20") - COUNTIFS —
COUNTIFS(criteria_range1, criterion1, [criteria_range2, criterion2, ...])— Returns the count of a range depending on multiple criteria. Example:=COUNTIFS(A1:A10, ">20", B1:B10, "<30") - COUNTUNIQUE —
COUNTUNIQUE(value1, [value2, ...])— Counts the number of unique values in a list of specified values and ranges. Example:=COUNTUNIQUE(1, 1, 2, 3, 5, 8, 13, A2, B6:B9) - COUNTUNIQUEIFS —
COUNTUNIQUEIFS(count_unique_range, criteria_range1, criterion1, [criteria_range2, criterion2, ...])— Returns the unique count of a range depending on multiple criteria. Example:=COUNTUNIQUEIFS(A1:A10, B1:B10, ">20") - CSC —
CSC(value)— Returns the cosecant of an angle provided in radians. Example:=CSC(1) - CSCH —
CSCH(value)— Returns the hyperbolic cosecant of any real number. Example:=CSCH(1) - DECIMAL —
DECIMAL(value, base)— Converts the text representation of a number in another base, to base 10. Example:=DECIMAL("FF", 16) - DEGREES —
DEGREES(angle)— Converts an angle value in radians to degrees. Example:=DEGREES(PI()) - ERFC —
ERFC(z)— Returns the complementary Gauss error function of a value. Example:=ERFC(2) - ERFC.PRECISE —
ERFC.PRECISE(z)— Returns the complementary Gauss error function of a value. Example:=ERFC.PRECISE(2) - EVEN —
EVEN(value)— Rounds a number up to the nearest even integer. Example:=EVEN(3) - EXP —
EXP(exponent)— Returns Euler's number, e (~2.718) raised to a power. Example:=EXP(2) - FACT —
FACT(value)— Returns the factorial of a number. Example:=FACT(3) - FACTDOUBLE —
FACTDOUBLE(value)— Returns the "double factorial" of a number. Example:=FACTDOUBLE(6) - FLOOR —
FLOOR(value, [factor])— Rounds a number down to the nearest integer multiple of specified significance. Example:=FLOOR(23.25, 0.1) - FLOOR.MATH —
FLOOR.MATH(number, [significance], [mode])— Rounds a number down to the nearest integer multiple of specified significance, with negative numbers rounding toward or away from 0 depending on the mode. Example:=FLOOR.MATH(-42, 10, -1) - FLOOR.PRECISE —
FLOOR.PRECISE(number, [significance])— Rounds a number down to the nearest integer or multiple of specified significance. If the number is positive or negative, it is rounded down. Example:=FLOOR.PRECISE(-23.25, 0.1) - GAMMALN —
GAMMALN(value)— Returns the logarithm of a specified Gamma function, base e (Euler's number). Example:=GAMMALN(4.5) - GAMMALN.PRECISE —
GAMMALN.PRECISE(value)— Returns the logarithm of a specified Gamma function, base e (Euler's number). Example:=GAMMALN.PRECISE(4.5) - GCD —
GCD(value1, [value2, ...])— Returns the greatest common divisor of one or more integers. Example:=GCD(A2:A5) - INT —
INT(value)— Rounds a number down to the nearest integer that is less than or equal to it. Example:=INT(99.44) - ISEVEN —
ISEVEN(value)— Checks whether the provided value is even. Example:=ISEVEN(4) - ISO.CEILING —
ISO.CEILING(number, [significance])— Rounds a number up to the nearest integer or multiple of specified significance. If the number is positive or negative, it is rounded up. Example:=ISO.CEILING(-23.25, 0.1) - ISODD —
ISODD(value)— Checks whether the provided value is odd. Example:=ISODD(4) - LCM —
LCM(value1, [value2, ...])— Returns the least common multiple of one or more integers. Example:=LCM(A2:A5) - LN —
LN(value)— Returns the logarithm of a number, base e (Euler's number). Example:=LN(100) - LOG —
LOG(value, [base])— Returns the logarithm of a number given a base. Example:=LOG(128, 2) - LOG10 —
LOG10(value)— Returns the logarithm of a number, base 10. Example:=LOG10(100) - MOD —
MOD(dividend, divisor)— Returns the result of the modulo operator, the remainder after a division operation. Example:=MOD(10, 4) - MROUND —
MROUND(value, factor)— Rounds one number to the nearest integer multiple of another. Example:=MROUND(21, 14) - MULTINOMIAL —
MULTINOMIAL(value1, [value2, ...])— Returns the factorial of the sum of values divided by the product of the values' factorials. Example:=MULTINOMIAL(1, 2, 3) - MUNIT —
MUNIT(dimension)— Returns a unit matrix of size dimension x dimension. Example:=MUNIT(3) - ODD —
ODD(value)— Rounds a number up to the nearest odd integer. Example:=ODD(2) - PI —
PI()— Returns the value of Pi to 14 decimal places. Example:=PI() - POWER —
POWER(base, exponent)— Returns a number raised to a power. Example:=POWER(4, 0.5) - PRODUCT —
PRODUCT(factor1, [factor2, ...])— Returns the result of multiplying a series of numbers together. Example:=PRODUCT(A2:A100) - QUOTIENT —
QUOTIENT(dividend, divisor)— Returns one number divided by another, without the remainder. Example:=QUOTIENT(15, 4) - RADIANS —
RADIANS(angle)— Converts an angle value in degrees to radians. Example:=RADIANS(180) - RAND —
RAND()— Returns a random number between 0 inclusive and 1 exclusive. Recalculates on every change. Example:=RAND() - RANDARRAY —
RANDARRAY([rows], [columns])— Generates an array of random numbers between 0 and 1. Recalculates on every change. Example:=RANDARRAY(4, 2) - RANDBETWEEN —
RANDBETWEEN(low, high)— Returns a uniformly random integer between two values, inclusive. Recalculates on every change. Example:=RANDBETWEEN(1, 10) - ROUND —
ROUND(value, [places])— Rounds a number to a certain number of decimal places according to standard rules. Example:=ROUND(99.44, 1) - ROUNDDOWN —
ROUNDDOWN(value, [places])— Rounds a number to a certain number of decimal places, always rounding down to the next valid increment. Example:=ROUNDDOWN(99.44, 1) - ROUNDUP —
ROUNDUP(value, [places])— Rounds a number to a certain number of decimal places, always rounding up to the next valid increment. Example:=ROUNDUP(99.44, 1) - SEC —
SEC(value)— Returns the secant of an angle, measured in radians. Example:=SEC(45) - SECH —
SECH(value)— Returns the hyperbolic secant of an angle. Example:=SECH(0.5) - SEQUENCE —
SEQUENCE(rows, [columns], [start], [step])— Returns an array of sequential numbers, such as 1, 2, 3, 4. Example:=SEQUENCE(2, 3, 10, -1) - SERIESSUM —
SERIESSUM(x, n, m, a)— Given parameters x, n, m, and a, returns the power series sum a1xⁿ + a2x⁽ⁿ⁺ᵐ⁾ + ... + aix⁽ⁿ⁺⁽ⁱ⁻¹⁾ᵐ⁾, where i is the number of entries in range a. Example:=SERIESSUM(1, 0, 1, {1, 2, 3}) - SIGN —
SIGN(value)— Given an input number, returns -1 if it is negative, 1 if positive, and 0 if it is zero. Example:=SIGN(-3) - SIN —
SIN(value)— Returns the sine of an angle provided in radians. Example:=SIN(PI()) - SINH —
SINH(value)— Returns the hyperbolic sine of any real number. Example:=SINH(A2) - SQRT —
SQRT(value)— Returns the positive square root of a positive number. Example:=SQRT(9) - SQRTPI —
SQRTPI(value)— Returns the positive square root of the product of Pi and the given positive number. Example:=SQRTPI(9) - SUBTOTAL —
SUBTOTAL(function_code, range1, [range2, ...])— Returns a subtotal for a vertical range of cells using a specified aggregation function. Example:=SUBTOTAL(9, A2:A5, B2:B8) - SUM —
SUM(value1, [value2, ...])— Returns the sum of a series of numbers and/or cells. Example:=SUM(A2:A100, 101) - SUMIF —
SUMIF(range, criterion, [sum_range])— Returns a conditional sum across a range. Example:=SUMIF(A1:A10, ">20", B1:B10) - SUMIFS —
SUMIFS(sum_range, criteria_range1, criterion1, [criteria_range2, criterion2, ...])— Returns the sum of a range depending on multiple criteria. Example:=SUMIFS(A1:A10, B1:B10, ">20", C1:C10, "<30") - SUMSQ —
SUMSQ(value1, [value2, ...])— Returns the sum of the squares of a series of numbers and/or cells. Example:=SUMSQ(A2:A100) - TAN —
TAN(value)— Returns the tangent of an angle provided in radians. Example:=TAN(PI()/4) - TANH —
TANH(value)— Returns the hyperbolic tangent of any real number. Example:=TANH(1) - TRUNC —
TRUNC(value, [places])— Truncates a number to a certain number of significant digits by omitting less significant digits. Example:=TRUNC(3.14159, 2)
Statistical functions
Averages, counts, spread, ranking, distributions and forecasting.
- AVEDEV —
AVEDEV(value1, [value2, ...])— Calculates the average of the magnitudes of deviations of data from a dataset's mean. Example:=AVEDEV(A2:A100) - AVERAGE —
AVERAGE(value1, [value2, ...])— Returns the numerical average value in a dataset, ignoring text. Example:=AVERAGE(A2:A100, B2:B100, 4, 26) - AVERAGE.WEIGHTED —
AVERAGE.WEIGHTED(values, weights, [additional_values], [additional_weights], …)— Finds the weighted average of a set of values, given the values and the corresponding weights. Example:=AVERAGE.WEIGHTED(A1:A2, B1:B2, C1, C2) - AVERAGEA —
AVERAGEA(value1, [value2, ...])— Returns the numerical average value in a dataset, counting text as 0 and TRUE as 1. Example:=AVERAGEA(A2:A100, B2:B100, 4, 26) - AVERAGEIF —
AVERAGEIF(criteria_range, criterion, [average_range])— Returns the average of a range depending on criteria. Example:=AVERAGEIF(A1:A10, ">20", B1:B10) - AVERAGEIFS —
AVERAGEIFS(average_range, criteria_range1, criterion1, [criteria_range2, criterion2, …])— Returns the average of a range depending on multiple criteria. Example:=AVERAGEIFS(A1:A10, B1:B10, ">20", C1:C10, "<30") - BETA.DIST —
BETA.DIST(value, alpha, beta, cumulative, [lower_bound], [upper_bound])— Returns the probability of a given value as defined by the beta distribution function. Example:=BETA.DIST(2, 8, 10, TRUE, 1, 3) - BETA.INV —
BETA.INV(probability, alpha, beta, [lower_bound], [upper_bound])— Returns the value of the inverse beta distribution function for a given probability. Example:=BETA.INV(0.685470581, 8, 10, 1, 3) - BETADIST —
BETADIST(value, alpha, beta, [lower_bound], [upper_bound])— Returns the cumulative beta distribution probability of a given value. Example:=BETADIST(2, 8, 10, 1, 3) - BETAINV —
BETAINV(probability, alpha, beta, [lower_bound], [upper_bound])— Returns the value of the inverse beta distribution function for a given probability. Example:=BETAINV(0.685470581, 8, 10, 1, 3) - BINOM.DIST —
BINOM.DIST(num_successes, num_trials, prob_success, cumulative)— Calculates the probability of drawing a certain number of successes (or a maximum number of successes) in a certain number of tries given a population of a certain size containing a certain number of successes, with replacement of draws. Example:=BINOM.DIST(4, 100, 0.005, FALSE) - BINOM.INV —
BINOM.INV(num_trials, prob_success, target_prob)— Calculates the smallest value for which the cumulative binomial distribution is greater than or equal to a specified criteria. Example:=BINOM.INV(100, 0.5, 0.08) - BINOMDIST —
BINOMDIST(num_successes, num_trials, prob_success, cumulative)— Calculates the probability of drawing a certain number of successes (or a maximum number of successes) in a certain number of tries given a population of a certain size containing a certain number of successes, with replacement of draws. Example:=BINOMDIST(4, 100, 0.005, FALSE) - CHIDIST —
CHIDIST(x, degrees_freedom)— Calculates the right-tailed chi-squared distribution, often used in hypothesis testing. Example:=CHIDIST(3, 2) - CHIINV —
CHIINV(probability, degrees_freedom)— Calculates the inverse of the right-tailed chi-squared distribution. Example:=CHIINV(0.42, 2) - CHISQ.DIST —
CHISQ.DIST(x, degrees_freedom, cumulative)— Calculates the left-tailed chi-squared distribution, often used in hypothesis testing. Example:=CHISQ.DIST(3, 2, TRUE) - CHISQ.DIST.RT —
CHISQ.DIST.RT(x, degrees_freedom)— Calculates the right-tailed chi-squared distribution, often used in hypothesis testing. Example:=CHISQ.DIST.RT(3, 2) - CHISQ.INV —
CHISQ.INV(probability, degrees_freedom)— Calculates the inverse of the left-tailed chi-squared distribution. Example:=CHISQ.INV(0.42, 2) - CHISQ.INV.RT —
CHISQ.INV.RT(probability, degrees_freedom)— Calculates the inverse of the right-tailed chi-squared distribution. Example:=CHISQ.INV.RT(0.42, 2) - CHISQ.TEST —
CHISQ.TEST(observed_range, expected_range)— Returns the probability associated with a Pearson's chi-squared test on the two ranges of data. Determines the likelihood that the observed categorical data is drawn from an expected distribution. Example:=CHISQ.TEST(A1:A5, B1:B5) - CHITEST —
CHITEST(observed_range, expected_range)— Returns the probability associated with a Pearson's chi-squared test on the two ranges of data. Determines the likelihood that the observed categorical data is drawn from an expected distribution. Example:=CHITEST(A1:A5, B1:B5) - CONFIDENCE —
CONFIDENCE(alpha, standard_deviation, pop_size)— Calculates the width of half the confidence interval for a normal distribution. Example:=CONFIDENCE(0.05, 1.6, 250) - CONFIDENCE.NORM —
CONFIDENCE.NORM(alpha, standard_deviation, pop_size)— Calculates the width of half the confidence interval for a normal distribution. Example:=CONFIDENCE.NORM(0.05, 1.6, 250) - CONFIDENCE.T —
CONFIDENCE.T(alpha, standard_deviation, size)— Calculates the width of half the confidence interval for a Student's t-distribution. Example:=CONFIDENCE.T(0.05, 1.6, 250) - CORREL —
CORREL(data_y, data_x)— Calculates r, the Pearson product-moment correlation coefficient of a dataset. Example:=CORREL(A2:A100, B2:B100) - COUNT —
COUNT(value1, [value2, ...])— Returns a count of the number of numeric values in a dataset. Example:=COUNT(A2:A100, B2:B100, 4, 26) - COUNTA —
COUNTA(value1, [value2, ...])— Returns a count of the number of values in a dataset. Example:=COUNTA(A2:A100, B2:B100, 4, 26) - COVAR —
COVAR(data_y, data_x)— Calculates the covariance of a dataset. Example:=COVAR(A2:A100, B2:B100) - COVARIANCE.P —
COVARIANCE.P(data_y, data_x)— Calculates the covariance of a dataset. Example:=COVARIANCE.P(A2:A100, B2:B100) - COVARIANCE.S —
COVARIANCE.S(data_y, data_x)— Calculates the covariance of a dataset, where the dataset is a sample of the total population. Example:=COVARIANCE.S(A2:A100, B2:B100) - CRITBINOM —
CRITBINOM(num_trials, prob_success, target_prob)— Calculates the smallest value for which the cumulative binomial distribution is greater than or equal to a specified criteria. Example:=CRITBINOM(100, 0.5, 0.08) - DEVSQ —
DEVSQ(value1, [value2, ...])— Calculates the sum of squares of deviations based on a sample. Example:=DEVSQ(1, 2, 3, 4, 5) - EXPON.DIST —
EXPON.DIST(x, lambda, cumulative)— Returns the value of the exponential distribution function with a specified lambda at a specified value. Example:=EXPON.DIST(4, 0.5, FALSE) - EXPONDIST —
EXPONDIST(x, lambda, cumulative)— Returns the value of the exponential distribution function with a specified lambda at a specified value. Example:=EXPONDIST(4, 0.5, FALSE) - F.DIST —
F.DIST(x, degrees_freedom1, degrees_freedom2, cumulative)— Calculates the left-tailed F probability distribution (degree of diversity) for two data sets with given input x. Example:=F.DIST(15.35, 7, 6, TRUE) - F.DIST.RT —
F.DIST.RT(x, degrees_freedom1, degrees_freedom2)— Calculates the right-tailed F probability distribution (degree of diversity) for two data sets with given input x. Example:=F.DIST.RT(15.35, 7, 6) - F.INV —
F.INV(probability, degrees_freedom1, degrees_freedom2)— Calculates the inverse of the left-tailed F probability distribution. Example:=F.INV(0.42, 2, 3) - F.INV.RT —
F.INV.RT(probability, degrees_freedom1, degrees_freedom2)— Calculates the inverse of the right-tailed F probability distribution. Example:=F.INV.RT(0.42, 2, 3) - F.TEST —
F.TEST(range1, range2)— Returns the probability associated with an F-test for equality of variances. Determines whether two samples are likely to have come from populations with the same variance. Example:=F.TEST(A1:A10, B1:B10) - FDIST —
FDIST(x, degrees_freedom1, degrees_freedom2)— Calculates the right-tailed F probability distribution (degree of diversity) for two data sets with given input x. Example:=FDIST(15.35, 7, 6) - FINV —
FINV(probability, degrees_freedom1, degrees_freedom2)— Calculates the inverse of the right-tailed F probability distribution. Example:=FINV(0.42, 2, 3) - FISHER —
FISHER(value)— Returns the Fisher transformation of a specified value. Example:=FISHER(0.962) - FISHERINV —
FISHERINV(value)— Returns the inverse Fisher transformation of a specified value. Example:=FISHERINV(0.962) - FORECAST —
FORECAST(x, data_y, data_x)— Calculates the expected y-value for a specified x based on a linear regression of a dataset. Example:=FORECAST(A1, A2:A100, B2:B100) - FORECAST.LINEAR —
FORECAST.LINEAR(x, data_y, data_x)— Calculates the expected y-value for a specified x based on a linear regression of a dataset. Example:=FORECAST.LINEAR(A1, A2:A100, B2:B100) - FTEST —
FTEST(range1, range2)— Returns the probability associated with an F-test for equality of variances. Determines whether two samples are likely to have come from populations with the same variance. Example:=FTEST(A1:A10, B1:B10) - GAMMA —
GAMMA(number)— Returns the Gamma function evaluated at the specified value. Example:=GAMMA(0.5) - GAMMA.DIST —
GAMMA.DIST(x, alpha, beta, cumulative)— Calculates the gamma distribution, a two-parameter continuous probability distribution. Example:=GAMMA.DIST(4, 2, 2, TRUE) - GAMMA.INV —
GAMMA.INV(probability, alpha, beta)— Returns the value of the inverse gamma cumulative distribution function for the specified probability and alpha and beta parameters. Example:=GAMMA.INV(0.2, 4, 2) - GAMMADIST —
GAMMADIST(x, alpha, beta, cumulative)— Calculates the gamma distribution, a two-parameter continuous probability distribution. Example:=GAMMADIST(4, 2, 2, TRUE) - GAMMAINV —
GAMMAINV(probability, alpha, beta)— Returns the value of the inverse gamma cumulative distribution function for the specified probability and alpha and beta parameters. Example:=GAMMAINV(0.2, 4, 2) - GAUSS —
GAUSS(z)— Returns the probability that a random variable, drawn from a normal distribution, will be between the mean and z standard deviations above (or below) the mean. Example:=GAUSS(2) - GEOMEAN —
GEOMEAN(value1, [value2, ...])— Calculates the geometric mean of a dataset. Example:=GEOMEAN(1, 2, 3, 4, 5) - HARMEAN —
HARMEAN(value1, [value2, ...])— Calculates the harmonic mean of a dataset. Example:=HARMEAN(1, 2, 3, 4, 5) - HYPGEOM.DIST —
HYPGEOM.DIST(num_successes, num_draws, successes_in_pop, pop_size, [cumulative])— Calculates the probability of drawing a certain number of successes in a certain number of tries given a population of a certain size containing a certain number of successes, without replacement of draws. Example:=HYPGEOM.DIST(4, 12, 20, 40, TRUE) - HYPGEOMDIST —
HYPGEOMDIST(num_successes, num_draws, successes_in_pop, pop_size, [cumulative])— Calculates the probability of drawing a certain number of successes in a certain number of tries given a population of a certain size containing a certain number of successes, without replacement of draws. Example:=HYPGEOMDIST(4, 12, 20, 40, TRUE) - INTERCEPT —
INTERCEPT(data_y, data_x)— Calculates the y-value at which the line resulting from linear regression of a dataset will intersect the y-axis (x=0). Example:=INTERCEPT(A2:A100, B2:B100) - KURT —
KURT(value1, [value2, ...])— Calculates the kurtosis of a dataset, which describes the shape, and in particular the peakedness of that dataset. Example:=KURT(A2:A100) - LARGE —
LARGE(data, n)— Returns the nth largest element from a data set, where n is user-defined. Example:=LARGE(A2:B100, 4) - LOGINV —
LOGINV(x, mean, standard_deviation)— Returns the value of the inverse log-normal cumulative distribution with given mean and standard deviation at a specified value. Example:=LOGINV(0.4, 4, 6) - LOGNORM.DIST —
LOGNORM.DIST(x, mean, standard_deviation, [cumulative])— Returns the value of the log-normal cumulative distribution (or density) with given mean and standard deviation at a specified value. Example:=LOGNORM.DIST(4, 4, 6) - LOGNORM.INV —
LOGNORM.INV(x, mean, standard_deviation)— Returns the value of the inverse log-normal cumulative distribution with given mean and standard deviation at a specified value. Example:=LOGNORM.INV(0.4, 4, 6) - LOGNORMDIST —
LOGNORMDIST(x, mean, standard_deviation, [cumulative])— Returns the value of the log-normal cumulative distribution (or density) with given mean and standard deviation at a specified value. Example:=LOGNORMDIST(4, 4, 6) - MARGINOFERROR —
MARGINOFERROR(range, confidence)— Calculates the amount of random sampling error given a range of values and a confidence level. Example:=MARGINOFERROR(A1:A4, 0.95) - MAX —
MAX(value1, [value2, ...])— Returns the maximum value in a numeric dataset. Example:=MAX(A2:A100, B2:B100, 4, 26) - MAXA —
MAXA(value1, [value2, ...])— Returns the maximum numeric value in a dataset, counting text as 0 and TRUE as 1. Example:=MAXA(A2:A100, B2:B100, 4, 26) - MAXIFS —
MAXIFS(range, criteria_range1, criterion1, [criteria_range2, criterion2, …])— Returns the maximum value in a range of cells, filtered by a set of criteria. Example:=MAXIFS(A1:A3, B1:B3, 1, C1:C3, "A") - MEDIAN —
MEDIAN(value1, [value2, ...])— Returns the median value in a numeric dataset. Example:=MEDIAN(A2:A100, B2:B100, 4, 26) - MIN —
MIN(value1, [value2, ...])— Returns the minimum value in a numeric dataset. Example:=MIN(A2:A100, B2:B100, 4, 26) - MINA —
MINA(value1, [value2, ...])— Returns the minimum numeric value in a dataset, counting text as 0 and TRUE as 1. Example:=MINA(A2:A100, B2:B100, 4, 26) - MINIFS —
MINIFS(range, criteria_range1, criterion1, [criteria_range2, criterion2, …])— Returns the minimum value in a range of cells, filtered by a set of criteria. Example:=MINIFS(A1:A3, B1:B3, 1, C1:C3, "A") - MODE —
MODE(value1, [value2, ...])— Returns the most commonly occurring value in a dataset. Example:=MODE(A2:A100, B2:B100, 4, 26) - MODE.MULT —
MODE.MULT(value1, [value2, ...])— Returns the most commonly occurring values in a dataset, as a vertical array. Example:=MODE.MULT(A2:A100) - MODE.SNGL —
MODE.SNGL(value1, [value2, ...])— Returns the most commonly occurring value in a dataset. Example:=MODE.SNGL(A2:A100, B2:B100, 4, 26) - NEGBINOM.DIST —
NEGBINOM.DIST(num_failures, num_successes, prob_success, [cumulative])— Calculates the probability of drawing a certain number of failures before a certain number of successes given a probability of success in independent trials. Example:=NEGBINOM.DIST(4, 2, 0.1) - NEGBINOMDIST —
NEGBINOMDIST(num_failures, num_successes, prob_success, [cumulative])— Calculates the probability of drawing a certain number of failures before a certain number of successes given a probability of success in independent trials. Example:=NEGBINOMDIST(4, 2, 0.1) - NORM.DIST —
NORM.DIST(x, mean, standard_deviation, cumulative)— Returns the value of the normal distribution function (or normal cumulative distribution function) for a specified value, mean, and standard deviation. Example:=NORM.DIST(2.4, 1, 4, FALSE) - NORM.INV —
NORM.INV(x, mean, standard_deviation)— Returns the value of the inverse normal distribution function for a specified value, mean, and standard deviation. Example:=NORM.INV(0.95, 1, 0.5) - NORM.S.DIST —
NORM.S.DIST(x, [cumulative])— Returns the value of the standard normal cumulative distribution function for a specified value. Example:=NORM.S.DIST(2.4) - NORM.S.INV —
NORM.S.INV(x)— Returns the value of the inverse standard normal distribution function for a specified value. Example:=NORM.S.INV(0.75) - NORMDIST —
NORMDIST(x, mean, standard_deviation, cumulative)— Returns the value of the normal distribution function (or normal cumulative distribution function) for a specified value, mean, and standard deviation. Example:=NORMDIST(2.4, 1, 4, FALSE) - NORMINV —
NORMINV(x, mean, standard_deviation)— Returns the value of the inverse normal distribution function for a specified value, mean, and standard deviation. Example:=NORMINV(0.95, 1, 0.5) - NORMSDIST —
NORMSDIST(x, [cumulative])— Returns the value of the standard normal cumulative distribution function for a specified value. Example:=NORMSDIST(2.4) - NORMSINV —
NORMSINV(x)— Returns the value of the inverse standard normal distribution function for a specified value. Example:=NORMSINV(0.75) - PEARSON —
PEARSON(data_y, data_x)— Calculates r, the Pearson product-moment correlation coefficient of a dataset. Example:=PEARSON(A2:A100, B2:B100) - PERCENTILE —
PERCENTILE(data, percentile)— Returns the value at a given percentile of a dataset. Example:=PERCENTILE(A2:A100, 0.25) - PERCENTILE.EXC —
PERCENTILE.EXC(data, percentile)— Returns the value at a given percentile of a dataset, exclusive of 0 and 1. Example:=PERCENTILE.EXC(A2:A100, 0.25) - PERCENTILE.INC —
PERCENTILE.INC(data, percentile)— Returns the value at a given percentile of a dataset. Example:=PERCENTILE.INC(A2:A100, 0.25) - PERCENTRANK —
PERCENTRANK(data, value, [significant_digits])— Returns the percentage rank (percentile) of a specified value in a dataset. Example:=PERCENTRANK(A2:A100, A2) - PERCENTRANK.EXC —
PERCENTRANK.EXC(data, value, [significant_digits])— Returns the percentage rank (percentile) from 0 to 1 exclusive of a specified value in a dataset. Example:=PERCENTRANK.EXC(A2:A100, A2) - PERCENTRANK.INC —
PERCENTRANK.INC(data, value, [significant_digits])— Returns the percentage rank (percentile) from 0 to 1 inclusive of a specified value in a dataset. Example:=PERCENTRANK.INC(A2:A100, A2) - PERMUT —
PERMUT(n, k)— Returns the number of ways to choose some number of objects from a pool of a given size of objects, considering order. Example:=PERMUT(4, 2) - PERMUTATIONA —
PERMUTATIONA(number, number_chosen)— Returns the number of permutations for selecting a group of objects (with replacement) from a total number of objects. Example:=PERMUTATIONA(4, 2) - PHI —
PHI(x)— Returns the value of the normal distribution (density) with mean 0 and standard deviation 1. Example:=PHI(0.75) - POISSON —
POISSON(x, mean, [cumulative])— Returns the value of the Poisson distribution function (or Poisson cumulative distribution function) for a specified value and mean. Example:=POISSON(2, 1, FALSE) - POISSON.DIST —
POISSON.DIST(x, mean, [cumulative])— Returns the value of the Poisson distribution function (or Poisson cumulative distribution function) for a specified value and mean. Example:=POISSON.DIST(2, 1, FALSE) - PROB —
PROB(data, probabilities, low_limit, [high_limit])— Given a set of values and corresponding probabilities, calculates the probability that a value chosen at random falls between two limits. Example:=PROB(A3:A6, B3:B6, 3) - QUARTILE —
QUARTILE(data, quartile_number)— Returns a value nearest to a specified quartile of a dataset. Example:=QUARTILE(A2:A100, 3) - QUARTILE.EXC —
QUARTILE.EXC(data, quartile_number)— Returns value nearest to a given quartile of a dataset, exclusive of 0 and 4. Example:=QUARTILE.EXC(A2:A100, 3) - QUARTILE.INC —
QUARTILE.INC(data, quartile_number)— Returns a value nearest to a specified quartile of a dataset. Example:=QUARTILE.INC(A2:A100, 3) - RANK —
RANK(value, data, [is_ascending])— Returns the rank of a specified value in a dataset. Example:=RANK(A10, A1:A100, TRUE) - RANK.AVG —
RANK.AVG(value, data, [is_ascending])— Returns the rank of a specified value in a dataset. If there is more than one entry of the same value, the average rank of the entries is returned. Example:=RANK.AVG(A10, A1:A100, TRUE) - RANK.EQ —
RANK.EQ(value, data, [is_ascending])— Returns the rank of a specified value in a dataset. If there is more than one entry of the same value, the top rank of the entries is returned. Example:=RANK.EQ(A10, A1:A100, TRUE) - RSQ —
RSQ(data_y, data_x)— Calculates the square of r, the Pearson product-moment correlation coefficient of a dataset. Example:=RSQ(A2:A100, B2:B100) - SKEW —
SKEW(value1, [value2, ...])— Calculates the skewness of a dataset, which describes the symmetry of that dataset about the mean. Example:=SKEW(A2:A100) - SKEW.P —
SKEW.P(value1, [value2, ...])— Calculates the skewness of a dataset that represents the entire population. Example:=SKEW.P(A2:A100) - SLOPE —
SLOPE(data_y, data_x)— Calculates the slope of the line resulting from linear regression of a dataset. Example:=SLOPE(A2:A100, B2:B100) - SMALL —
SMALL(data, n)— Returns the nth smallest element from a data set, where n is user-defined. Example:=SMALL(A2:B100, 4) - STANDARDIZE —
STANDARDIZE(value, mean, standard_deviation)— Calculates the normalized equivalent of a random variable given mean and standard deviation of the distribution. Example:=STANDARDIZE(96, 80, 6.7) - STDEV —
STDEV(value1, [value2, ...])— Calculates the standard deviation based on a sample. Example:=STDEV(A2:A100) - STDEV.P —
STDEV.P(value1, [value2, ...])— Calculates the standard deviation based on an entire population. Example:=STDEV.P(A2:A100) - STDEV.S —
STDEV.S(value1, [value2, ...])— Calculates the standard deviation based on a sample. Example:=STDEV.S(A2:A100) - STDEVA —
STDEVA(value1, [value2, ...])— Calculates the standard deviation based on a sample, setting text to the value 0. Example:=STDEVA(A2:A100) - STDEVP —
STDEVP(value1, [value2, ...])— Calculates the standard deviation based on an entire population. Example:=STDEVP(A2:A100) - STDEVPA —
STDEVPA(value1, [value2, ...])— Calculates the standard deviation based on an entire population, setting text to the value 0. Example:=STDEVPA(A2:A100) - STEYX —
STEYX(data_y, data_x)— Calculates the standard error of the predicted y-value for each x in the regression of a dataset. Example:=STEYX(A2:A100, B2:B100) - T.DIST —
T.DIST(x, degrees_freedom, cumulative)— Returns the left-tailed Student distribution (cumulative or density) for a value x. Example:=T.DIST(1, 3, TRUE) - T.DIST.2T —
T.DIST.2T(x, degrees_freedom)— Returns the two-tailed Student distribution for a value x. Example:=T.DIST.2T(1, 3) - T.DIST.RT —
T.DIST.RT(x, degrees_freedom)— Returns the right-tailed Student distribution for a value x. Example:=T.DIST.RT(1, 3) - T.INV —
T.INV(probability, degrees_freedom)— Calculates the negative inverse of the one-tailed TDIST function (the left-tailed inverse of the t-distribution). Example:=T.INV(0.35, 1) - T.INV.2T —
T.INV.2T(probability, degrees_freedom)— Calculates the inverse of the two-tailed TDIST function. Example:=T.INV.2T(0.35, 1) - T.TEST —
T.TEST(range1, range2, tails, type)— Returns the probability associated with Student's t-test. Determines whether two samples are likely to have come from the same two underlying populations that have the same mean. Example:=T.TEST(A1:A4, B1:B4, 2, 1) - TDIST —
TDIST(x, degrees_freedom, tails)— Calculates the probability for Student's t-distribution with a given input (x). Example:=TDIST(0.9, 2, 1) - TINV —
TINV(probability, degrees_freedom)— Calculates the inverse of the two-tailed TDIST function. Example:=TINV(0.35, 1) - TRIMMEAN —
TRIMMEAN(data, exclude_proportion)— Calculates the mean of a dataset excluding some proportion of data from the high and low ends of the dataset. Example:=TRIMMEAN(A2:A100, 0.1) - TTEST —
TTEST(range1, range2, tails, type)— Returns the probability associated with Student's t-test. Determines whether two samples are likely to have come from the same two underlying populations that have the same mean. Example:=TTEST(A1:A4, B1:B4, 2, 1) - VAR —
VAR(value1, [value2, ...])— Calculates the variance based on a sample. Example:=VAR(A2:A100) - VAR.P —
VAR.P(value1, [value2, ...])— Calculates the variance based on an entire population. Example:=VAR.P(A2:A100) - VAR.S —
VAR.S(value1, [value2, ...])— Calculates the variance based on a sample. Example:=VAR.S(A2:A100) - VARA —
VARA(value1, [value2, ...])— Calculates an estimate of variance based on a sample, setting text to the value 0. Example:=VARA(A2:A100) - VARP —
VARP(value1, [value2, ...])— Calculates the variance based on an entire population. Example:=VARP(A2:A100) - VARPA —
VARPA(value1, [value2, ...])— Calculates the variance based on an entire population, setting text to the value 0. Example:=VARPA(A2:A100) - WEIBULL —
WEIBULL(x, shape, scale, cumulative)— Returns the value of the Weibull distribution function (or Weibull cumulative distribution function) for a specified shape and scale. Example:=WEIBULL(2.4, 2, 3, FALSE) - WEIBULL.DIST —
WEIBULL.DIST(x, shape, scale, cumulative)— Returns the value of the Weibull distribution function (or Weibull cumulative distribution function) for a specified shape and scale. Example:=WEIBULL.DIST(2.4, 2, 3, FALSE) - Z.TEST —
Z.TEST(data, value, [standard_deviation])— Returns the one-tailed P-value of a Z-test with standard distribution. Example:=Z.TEST(A2:A100, B1) - ZTEST —
ZTEST(data, value, [standard_deviation])— Returns the one-tailed P-value of a Z-test with standard distribution. Example:=ZTEST(A2:A100, B1)
Logical functions
Decisions and conditions — IF, AND, OR, SWITCH — plus LAMBDA and LET for naming values and building your own functions.
- AND —
AND(logical_expression1, [logical_expression2, ...])— Returns true if all of the provided arguments are logically true, and false if any of the provided arguments are logically false. Example:=AND(A1=1, A2=2) - FALSE —
FALSE()— Returns the logical value FALSE. Example:=FALSE() - IF —
IF(logical_expression, value_if_true, [value_if_false])— Returns one value if a logical expression is TRUE and another if it is FALSE. Example:=IF(A2 = "foo", "A2 is foo", "A2 was not foo") - IFERROR —
IFERROR(value, [value_if_error])— Returns the first argument if it is not an error value, otherwise returns the second argument if present, or a blank if the second argument is absent. Example:=IFERROR(A2/B2, "Division error") - IFNA —
IFNA(value, value_if_error)— Evaluates a value. If the value is an #N/A error, returns the specified value. Example:=IFNA(VLOOKUP("x", A1:B5, 2, FALSE), "Not found") - IFS —
IFS(condition1, value1, [condition2, value2, ...])— Evaluates multiple conditions and returns a value that corresponds to the first true condition. Example:=IFS(A1>90, "A", A1>80, "B", A1>70, "C") - LAMBDA —
LAMBDA([name, …], formula_expression)— Creates and returns a custom function with a set of names and a formula_expression that uses them; call it immediately with values in parentheses. Example:=LAMBDA(x, x*2)(5) - LET —
LET(name1, value_expression1, [name2, …], [value_expression2, …], formula_expression)— Assigns names to values and calculates a formula expression using them; names are scoped to the LET. Example:=LET(avg, AVERAGE(B2:D2), IF(avg>=4, "Great", "Good")) - NOT —
NOT(logical_expression)— Returns the opposite of a logical value. Example:=NOT(TRUE) - OR —
OR(logical_expression1, [logical_expression2, ...])— Returns true if any of the provided arguments are logically true, and false if all of the provided arguments are logically false. Example:=OR(A1=1, A2=2) - SWITCH —
SWITCH(expression, case1, value1, [default or case2, value2], …)— Tests an expression against a list of cases and returns the corresponding value of the first matching case, with an optional default value if nothing else is met. Example:=SWITCH(A3, 1, "Yes", 0, "No", "Maybe") - TRUE —
TRUE()— Returns the logical value TRUE. Example:=TRUE() - XOR —
XOR(logical_expression1, [logical_expression2, ...])— Performs an exclusive or of 2 numbers: returns TRUE if an odd number of the provided arguments are true. Example:=XOR(TRUE, FALSE, TRUE)
Lookup functions
Find a value in a table and bring back something next to it, or work with references and positions.
- ADDRESS —
ADDRESS(row, column, [absolute_relative_mode], [use_a1_notation], [sheet])— Returns a cell reference as a string. Example:=ADDRESS(1, 2, 4, FALSE, "Sheet1") - CHOOSE —
CHOOSE(index, choice1, [choice2, ...])— Returns an element from a list of choices based on index. Example:=CHOOSE(2, "A", "B", "C") - COLUMN —
COLUMN([cell_reference])— Returns the column number of a specified cell, with A=1. Example:=COLUMN(C9) - COLUMNS —
COLUMNS(range)— Returns the number of columns in a specified array or range. Example:=COLUMNS(A1:J1) - FORMULATEXT —
FORMULATEXT(cell)— Returns the formula as a string. Example:=FORMULATEXT(A2) - GETPIVOTDATA —
GETPIVOTDATA(value_name, any_pivot_table_cell, [original_column1, pivot_item1], [original_column2, pivot_item2, ...])— Extracts an aggregated value from a pivot table that corresponds to the specified row and column headings. Example:=GETPIVOTDATA("SUM of number of units", A1, "division", "east") - HLOOKUP —
HLOOKUP(search_key, range, index, [is_sorted])— Horizontal lookup. Searches across the first row of a range for a key and returns the value of a specified cell in the column found. Example:=HLOOKUP(10003, A2:Z6, 2, FALSE) - INDEX —
INDEX(reference, [row], [column])— Returns the content of a cell, specified by row and column offset. Example:=INDEX(A1:C20, 5, 1) - INDIRECT —
INDIRECT(cell_reference_as_string, [is_A1_notation])— Returns a cell reference specified by a string. Example:=INDIRECT("Sheet2!"&B10) - LOOKUP —
LOOKUP(search_key, search_range|search_result_array, [result_range])— Looks through a sorted row or column for a key and returns the value of the cell in a result range located in the same position as the search row or column. Example:=LOOKUP(10003, A1:A100, B1:B100) - MATCH —
MATCH(search_key, range, [search_type])— Returns the relative position of an item in a range that matches a specified value. Example:=MATCH("Sunday", A2:A9, 0) - OFFSET —
OFFSET(cell_reference, offset_rows, offset_columns, [height], [width])— Returns a range reference shifted a specified number of rows and columns from a starting cell reference. Example:=OFFSET(A2, 3, 4, 2, 2) - ROW —
ROW([cell_reference])— Returns the row number of a specified cell. Example:=ROW(A9) - ROWS —
ROWS(range)— Returns the number of rows in a specified array or range. Example:=ROWS(A9:A62) - VLOOKUP —
VLOOKUP(search_key, range, index, [is_sorted])— Vertical lookup. Searches down the first column of a range for a key and returns the value of a specified cell in the row found. Example:=VLOOKUP(10003, A2:B26, 2, FALSE) - XLOOKUP —
XLOOKUP(search_key, lookup_range, result_range, [missing_value], [match_mode], [search_mode])— Returns the values in the result range based on the position where a match was found in the lookup range. If no match is found, it returns the closest match. Example:=XLOOKUP("Apple", A2:A, E2:E) - XMATCH —
XMATCH(search_key, lookup_range, [match_mode], [search_mode])— Returns the relative position of an item in a range that matches a specified value based on different search and match modes. Example:=XMATCH("Apple", A2:A)
Filter functions
Return a filtered, sorted or de-duplicated copy of a range. Results spill into the cells below and to the right.
- FILTER —
FILTER(range, condition1, [condition2, ...])— Returns a filtered version of the source range, returning only rows or columns that meet the specified conditions. Example:=FILTER(A2:B26, A2:A26 > 5, D2:D26 < 10) - SORT —
SORT(range, sort_column, is_ascending, [sort_column2, is_ascending2, ...])— Sorts the rows of a given array or range by the values in one or more columns. Example:=SORT(A2:B26, 1, TRUE) - SORTN —
SORTN(range, [n], [display_ties_mode], [sort_column1, is_ascending1], ...)— Returns the first n items in a data set after performing a sort. Example:=SORTN(A2:B26, 5, 0, 2, FALSE) - UNIQUE —
UNIQUE(range, [by_column], [exactly_once])— Returns unique rows in the provided source range, discarding duplicates. Rows are returned in the order in which they first appear in the source range. Example:=UNIQUE(A2:B26)
Array functions
Build, reshape and combine arrays, and apply a LAMBDA to every row, column or value.
- ARRAY_CONSTRAIN —
ARRAY_CONSTRAIN(input_range, num_rows, num_cols)— Constrains an array result to a specified size. Example:=ARRAY_CONSTRAIN(A1:C10, 2, 2) - BYCOL —
BYCOL(array_or_range, LAMBDA)— Groups an array by columns by application of a LAMBDA function to each column. Example:=BYCOL(A1:C3, LAMBDA(column, SUM(column))) - BYROW —
BYROW(array_or_range, LAMBDA)— Groups an array by rows by application of a LAMBDA function to each row. Example:=BYROW(A1:C3, LAMBDA(row, SUM(row))) - CHOOSECOLS —
CHOOSECOLS(array, column_num1, [column_num2, ...])— Creates a new array from the selected columns in the existing range. Example:=CHOOSECOLS(A1:D5, 1, -1) - CHOOSEROWS —
CHOOSEROWS(array, row_num1, [row_num2, ...])— Creates a new array from the selected rows in the existing range. Example:=CHOOSEROWS(A1:D5, 1, 3) - FLATTEN —
FLATTEN(range1, [range2, ...])— Flattens all the values from one or more ranges into a single column. Example:=FLATTEN(A1:B2, C1:D2) - FREQUENCY —
FREQUENCY(data, classes)— Calculates the frequency distribution of a one-column array into specified classes. Example:=FREQUENCY(A2:A40, B2:B5) - GROWTH —
GROWTH(known_data_y, [known_data_x], [new_data_x], [b])— Given partial data about an exponential growth trend, fits an ideal exponential growth trend and/or predicts further values. Example:=GROWTH(B2:B10, A2:A10, A11:A13) - HSTACK —
HSTACK(range1, [range2, ...])— Appends ranges horizontally and in sequence to return a larger array. Example:=HSTACK(A1:B3, C1:D3) - LINEST —
LINEST(known_data_y, [known_data_x], [calculate_b], [verbose])— Given partial data about a linear trend, calculates various parameters about the ideal linear trend using the least-squares method. Example:=LINEST(B2:B10, A2:A10) - LOGEST —
LOGEST(known_data_y, [known_data_x], [b], [verbose])— Given partial data about an exponential growth curve, calculates various parameters about the best fit ideal exponential growth curve. Example:=LOGEST(B2:B10, A2:A10) - MAKEARRAY —
MAKEARRAY(rows, columns, LAMBDA)— Returns an array of specified dimensions with values calculated by application of a LAMBDA function. Example:=MAKEARRAY(2, 3, LAMBDA(r, c, r * c)) - MAP —
MAP(array1, [array2, ...], LAMBDA)— Maps each value in the given arrays to a new value by application of a LAMBDA function to each value. Example:=MAP(A1:A5, LAMBDA(cell, cell*2)) - MDETERM —
MDETERM(square_matrix)— Returns the matrix determinant of a square matrix specified as an array or range. Example:=MDETERM({1,2;3,4}) - MINVERSE —
MINVERSE(square_matrix)— Returns the multiplicative inverse of a square matrix specified as an array or range. Example:=MINVERSE({2,1;1,1}) - MMULT —
MMULT(matrix1, matrix2)— Calculates the matrix product of two matrices specified as arrays or ranges. Example:=MMULT(A2:B3, C2:D3) - REDUCE —
REDUCE(initial_value, array_or_range, LAMBDA)— Reduces an array to an accumulated result by application of a LAMBDA function to each value. Example:=REDUCE(0, A1:A5, LAMBDA(total, value, total + value)) - SCAN —
SCAN(initial_value, array_or_range, LAMBDA)— Scans an array and produces intermediate values by application of a LAMBDA function to each value. Returns an array of the intermediate values obtained at each step. Example:=SCAN(0, A1:A5, LAMBDA(total, value, total + value)) - SUMPRODUCT —
SUMPRODUCT(array1, [array2, ...])— Calculates the sum of the products of corresponding entries in two equal-sized arrays or ranges. Example:=SUMPRODUCT(A2:C5, D2:F5) - SUMX2MY2 —
SUMX2MY2(array_x, array_y)— Calculates the sum of the differences of the squares of values in two arrays. Example:=SUMX2MY2(A2:A9, B2:B9) - SUMX2PY2 —
SUMX2PY2(array_x, array_y)— Calculates the sum of the sums of the squares of values in two arrays. Example:=SUMX2PY2(A2:A9, B2:B9) - SUMXMY2 —
SUMXMY2(array_x, array_y)— Calculates the sum of the squares of differences of values in two arrays. Example:=SUMXMY2(A2:A9, B2:B9) - TOCOL —
TOCOL(array_or_range, [ignore], [scan_by_column])— Transforms an array or range of cells into a single column. Example:=TOCOL(A1:C3, 1) - TOROW —
TOROW(array_or_range, [ignore], [scan_by_column])— Transforms an array or range of cells into a single row. Example:=TOROW(A1:C3, 0, TRUE) - TRANSPOSE —
TRANSPOSE(array_or_range)— Transposes the rows and columns of an array or range of cells. Example:=TRANSPOSE({1,2;3,4;5,6}) - TREND —
TREND(known_data_y, [known_data_x], [new_data_x], [b])— Fits an ideal linear trend using the least squares method to partial data and/or predicts further values. Example:=TREND(B2:B10, A2:A10, A11:A13) - VSTACK —
VSTACK(range1, [range2, ...])— Appends ranges vertically and in sequence to return a larger array. Example:=VSTACK(A1:C1, A2:C4) - WRAPCOLS —
WRAPCOLS(range, wrap_count, [pad_with])— Wraps the provided row or column of cells by columns after a specified number of elements to form a new array. Example:=WRAPCOLS(A1:J1, 3, "") - WRAPROWS —
WRAPROWS(range, wrap_count, [pad_with])— Wraps the provided row or column of cells by rows after a specified number of elements to form a new array. Example:=WRAPROWS(A1:A10, 3)
Text functions
Join, split, search, replace, trim and change the case of text, including regular expressions.
- ARABIC —
ARABIC(roman_numeral)— Computes the value of a Roman numeral. Example:=ARABIC("XIV") - ASC —
ASC(text)— Converts full-width ASCII and katakana characters to their half-width counterparts. All standard-width characters will remain unchanged. Example:=ASC("カタカナ") - CHAR —
CHAR(table_number)— Convert a number into a character according to the current Unicode table. Example:=CHAR(97) - CLEAN —
CLEAN(text)— Returns the text with the non-printable ASCII characters removed. Example:=CLEAN("AF"&CHAR(31)) - CODE —
CODE(string)— Returns the numeric Unicode map value of the first character in the string provided. Example:=CODE("a") - CONCATENATE —
CONCATENATE(string1, [string2, ...])— Appends strings to one another. Example:=CONCATENATE("Welcome", " ", "to", " ", "Sheets!") - DOLLAR —
DOLLAR(number, [number_of_places])— Formats a number into the locale-specific currency format. Example:=DOLLAR(1.2351, 4) - EXACT —
EXACT(string1, string2)— Tests whether two strings are identical. Example:=EXACT("foo", A3) - FIND —
FIND(search_for, text_to_search, [starting_at])— Returns the position at which a string is first found within text, case-sensitive. Example:=FIND("wood", "How much wood can a woodchuck chuck", 14) - FINDB —
FINDB(search_for, text_to_search, [starting_at])— Returns the position at which a string is first found within text counting each double-character as 2. Example:=FINDB("新", "农历新年", 2) - FIXED —
FIXED(number, [number_of_places], [suppress_separator])— Formats a number with a fixed number of decimal places. Example:=FIXED(3.141592653, 2) - JOIN —
JOIN(delimiter, value_or_array1, [value_or_array2, ...])— Concatenates the elements of one or more one-dimensional arrays using a specified delimiter. Example:=JOIN(" and ", {1, 2, 3}) - LEFT —
LEFT(string, [number_of_characters])— Returns a substring from the beginning of a specified string. Example:=LEFT("lorem ipsum", 5) - LEFTB —
LEFTB(string, [num_of_bytes])— Returns the left portion of a string up to a certain number of bytes. Example:=LEFTB("熊本", 2) - LEN —
LEN(text)— Returns the length of a string. Example:=LEN("lorem ipsum") - LENB —
LENB(string)— Returns the length of a string in bytes. Example:=LENB("熊本") - LOWER —
LOWER(text)— Converts a specified string to lowercase. Example:=LOWER("LOREM IPSUM") - MID —
MID(string, starting_at, extract_length)— Returns a segment of a string. Example:=MID("get this", 5, 4) - MIDB —
MIDB(string, starting_at, extract_length_bytes)— Returns a section of a string starting at a given character and up to a specified number of bytes. Example:=MIDB("熊本=熊本", 2, 4) - PROPER —
PROPER(text_to_capitalize)— Capitalizes each word in a specified string. Example:=PROPER("united states") - REGEXEXTRACT —
REGEXEXTRACT(text, regular_expression)— Extracts the first matching substrings according to a regular expression. Example:=REGEXEXTRACT("My favorite number is 241, but my friend's is 17", "\d+") - REGEXMATCH —
REGEXMATCH(text, regular_expression)— Whether a piece of text matches a regular expression. Example:=REGEXMATCH("Spreadsheets", "S.r") - REGEXREPLACE —
REGEXREPLACE(text, regular_expression, replacement)— Replaces part of a text string with a different text string using regular expressions. Example:=REGEXREPLACE("Spreadsheets", "S.*d", "Bed") - REPLACE —
REPLACE(text, position, length, new_text)— Replaces part of a text string with a different text string. Example:=REPLACE("Spreadsheets", 1, 6, "Bed") - REPLACEB —
REPLACEB(text, position, num_bytes, new_text)— Replaces part of a text string, based on a number of bytes, with a different text string. Example:=REPLACEB("熊本=熊本", 2, 3, "new") - REPT —
REPT(text_to_repeat, number_of_repetitions)— Returns specified text repeated a number of times. Example:=REPT("ha", 4) - RIGHT —
RIGHT(string, [number_of_characters])— Returns a substring from the end of a specified string. Example:=RIGHT("lorem ipsum", 5) - RIGHTB —
RIGHTB(string, [num_of_bytes])— Returns the right portion of a string up to a certain number of bytes. Example:=RIGHTB("熊本", 2) - ROMAN —
ROMAN(number, [rule_relaxation])— Formats a number in Roman numerals. Example:=ROMAN(499, 0) - SEARCH —
SEARCH(search_for, text_to_search, [starting_at])— Returns the position at which a string is first found within text, ignoring case. Example:=SEARCH("wood", "How much wood can a woodchuck chuck", 14) - SEARCHB —
SEARCHB(search_for, text_to_search, [starting_at])— Returns the position at which a string is first found within text counting each double-character as 2. Example:=SEARCHB("新", "农历新年", 2) - SPLIT —
SPLIT(text, delimiter, [split_by_each], [remove_empty_text])— Divides text around a specified character or string, and puts each fragment into a separate cell in the row. Example:=SPLIT("1,2,3", ",") - SUBSTITUTE —
SUBSTITUTE(text_to_search, search_for, replace_with, [occurrence_number])— Replaces existing text with new text in a string. Example:=SUBSTITUTE("search for it", "search for", "Google") - T —
T(value)— Returns string arguments as text. Example:=T("cat") - TEXT —
TEXT(number, format)— Converts a number into text according to a specified format. Example:=TEXT(1.23, "$0.00") - TEXTJOIN —
TEXTJOIN(delimiter, ignore_empty, text1, [text2, ...])— Combines the text from multiple strings and/or arrays, with a specifiable delimiter separating the different texts. Example:=TEXTJOIN(" ", TRUE, "hello", "world") - TRIM —
TRIM(text)— Removes leading, trailing, and repeated spaces in text. Example:=TRIM(" lorem ipsum ") - UNICHAR —
UNICHAR(number)— Returns the Unicode character for a number. Example:=UNICHAR(68) - UNICODE —
UNICODE(text)— Returns the decimal Unicode value of the first character of the text. Example:=UNICODE("A") - UPPER —
UPPER(text)— Converts a specified string to uppercase. Example:=UPPER("lorem ipsum") - VALUE —
VALUE(text)— Converts a string in any of the date, time or number formats that Google Sheets understands into a number. Example:=VALUE("123")
Date functions
Build dates and times, pull out their parts, and count days, workdays and months between them.
- DATE —
DATE(year, month, day)— Converts a year, month, and day into a date. Example:=DATE(1969, 7, 20) - DATEDIF —
DATEDIF(start_date, end_date, unit)— Calculates the number of days, months, or years between two dates. Example:=DATEDIF(DATE(1969, 7, 16), DATE(1969, 7, 24), "D") - DATEVALUE —
DATEVALUE(date_string)— Converts a provided date string in a known format to a date value. Example:=DATEVALUE("1969-7-20") - DAY —
DAY(date)— Returns the day of the month that a specific date falls on, in numeric format. Example:=DAY(DATE(1969, 7, 20)) - DAYS —
DAYS(end_date, start_date)— Returns the number of days between two dates. Example:=DAYS(DATE(2020, 12, 31), DATE(2020, 1, 1)) - DAYS360 —
DAYS360(start_date, end_date, [method])— Returns the difference between two days based on the 360 day year used in some financial interest calculations. Example:=DAYS360(DATE(1969, 7, 16), DATE(1969, 7, 24), 1) - EDATE —
EDATE(start_date, months)— Returns a date a specified number of months before or after another date. Example:=EDATE(DATE(1969, 7, 20), 1) - EOMONTH —
EOMONTH(start_date, months)— Returns a date representing the last day of a month which falls a specified number of months before or after another date. Example:=EOMONTH(DATE(1969, 7, 20), 1) - EPOCHTODATE —
EPOCHTODATE(timestamp, [unit])— Converts a Unix epoch timestamp in seconds, milliseconds, or microseconds to a datetime in Universal Time Coordinated (UTC). Example:=EPOCHTODATE(1655908429662, 2) - HOUR —
HOUR(time)— Returns the hour component of a specific time, in numeric format. Example:=HOUR("2:15 PM") - ISOWEEKNUM —
ISOWEEKNUM(date)— Returns the number of the ISO week of the year where the provided date falls. Example:=ISOWEEKNUM(DATE(1969, 7, 20)) - MINUTE —
MINUTE(time)— Returns the minute component of a specific time, in numeric format. Example:=MINUTE("2:15 PM") - MONTH —
MONTH(date)— Returns the month of the year a specific date falls in, in numeric format. Example:=MONTH(DATE(1969, 7, 20)) - NETWORKDAYS —
NETWORKDAYS(start_date, end_date, [holidays])— Returns the number of net working days between two provided days. Example:=NETWORKDAYS(DATE(1969, 7, 16), DATE(1969, 7, 24), A1:A10) - NETWORKDAYS.INTL —
NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])— Returns the number of net working days between two provided days excluding specified weekend days and holidays. Example:=NETWORKDAYS.INTL(DATE(1969, 7, 16), DATE(1969, 7, 24), "0000011", A1:A10) - NOW —
NOW()— Returns the current date and time as a date value. Recalculates on every change. Example:=NOW() - SECOND —
SECOND(time)— Returns the second component of a specific time, in numeric format. Example:=SECOND("2:15:30 PM") - TIME —
TIME(hour, minute, second)— Converts an hour, minute, and second into a time. Example:=TIME(11, 40, 59) - TIMEVALUE —
TIMEVALUE(time_string)— Returns the fraction of a 24-hour day the time represents. Example:=TIMEVALUE("2:15 PM") - TODAY —
TODAY()— Returns the current date as a date value. Recalculates on every change. Example:=TODAY() - WEEKDAY —
WEEKDAY(date, [type])— Returns a number representing the day of the week of the date provided. Example:=WEEKDAY(DATE(1969, 7, 20)) - WEEKNUM —
WEEKNUM(date, [type])— Returns a number representing the week of the year where the provided date falls. Example:=WEEKNUM(DATE(1969, 7, 20), 1) - WORKDAY —
WORKDAY(start_date, num_days, [holidays])— Calculates the end date after a specified number of working days. Example:=WORKDAY(DATE(1969, 7, 21), 4, A1:A10) - WORKDAY.INTL —
WORKDAY.INTL(start_date, num_days, [weekend], [holidays])— Calculates the date after a specified number of workdays excluding specified weekend days and holidays. Example:=WORKDAY.INTL(DATE(1969, 7, 21), 4, "0000011", A1:A10) - YEAR —
YEAR(date)— Returns the year specified by a given date. Example:=YEAR(DATE(1969, 7, 20)) - YEARFRAC —
YEARFRAC(start_date, end_date, [day_count_convention])— Returns the number of years, including fractional years, between two dates using a specified day count convention. Example:=YEARFRAC(DATE(1969, 7, 16), DATE(1969, 7, 24), 1)
Financial functions
Loans, investments, depreciation, bonds and securities.
- ACCRINT —
ACCRINT(issue, first_payment, settlement, rate, redemption, frequency, [day_count_convention])— Calculates the accrued interest of a security that has periodic payments. Example:=ACCRINT(DATE(2010, 1, 1), DATE(2010, 2, 1), DATE(2012, 12, 31), 0.05, 100, 4) - ACCRINTM —
ACCRINTM(issue, maturity, rate, [redemption], [day_count_convention])— Calculates the accrued interest of a security that pays interest at maturity. Example:=ACCRINTM(DATE(1969, 12, 31), DATE(1999, 12, 31), 0.05, 100, 0) - AMORLINC —
AMORLINC(cost, purchase_date, first_period_end, salvage, period, rate, [day_count_convention])— Returns the depreciation for an accounting period, or the prorated depreciation if the asset was purchased in the middle of a period. Example:=AMORLINC(300, DATE(2019, 1, 1), DATE(2019, 12, 31), 30, 1, 0.15) - COUPDAYBS —
COUPDAYBS(settlement, maturity, frequency, [day_count_convention])— Calculates the number of days from the first coupon, or interest payment, until settlement. Example:=COUPDAYBS(DATE(2010, 2, 1), DATE(2019, 12, 31), 1, 0) - COUPDAYS —
COUPDAYS(settlement, maturity, frequency, [day_count_convention])— Calculates the number of days in the coupon, or interest payment, period that contains the specified settlement date. Example:=COUPDAYS(DATE(2010, 2, 1), DATE(2019, 12, 31), 1, 0) - COUPDAYSNC —
COUPDAYSNC(settlement, maturity, frequency, [day_count_convention])— Calculates the number of days from the settlement date until the next coupon, or interest payment. Example:=COUPDAYSNC(DATE(2010, 2, 1), DATE(2019, 12, 31), 1, 0) - COUPNCD —
COUPNCD(settlement, maturity, frequency, [day_count_convention])— Calculates next coupon, or interest payment, date after the settlement date. Example:=COUPNCD(DATE(2010, 2, 1), DATE(2019, 12, 31), 1, 0) - COUPNUM —
COUPNUM(settlement, maturity, frequency, [day_count_convention])— Calculates the number of coupons, or interest payments, between the settlement date and the maturity date of the investment. Example:=COUPNUM(DATE(2010, 2, 1), DATE(2019, 12, 31), 1, 0) - COUPPCD —
COUPPCD(settlement, maturity, frequency, [day_count_convention])— Calculates last coupon, or interest payment, date before the settlement date. Example:=COUPPCD(DATE(2010, 2, 1), DATE(2019, 12, 31), 1, 0) - CUMIPMT —
CUMIPMT(rate, number_of_periods, present_value, first_period, last_period, end_or_beginning)— Calculates the cumulative interest over a range of payment periods for an investment based on constant-amount periodic payments and a constant interest rate. Example:=CUMIPMT(0.12, 12, 100, 1, 5, 0) - CUMPRINC —
CUMPRINC(rate, number_of_periods, present_value, first_period, last_period, end_or_beginning)— Calculates the cumulative principal paid over a range of payment periods for an investment based on constant-amount periodic payments and a constant interest rate. Example:=CUMPRINC(0.12, 12, 100, 1, 5, 0) - DB —
DB(cost, salvage, life, period, [month])— Calculates the depreciation of an asset for a specified period using the arithmetic declining balance method. Example:=DB(100, 50, 10, 2) - DDB —
DDB(cost, salvage, life, period, [factor])— Calculates the depreciation of an asset for a specified period using the double-declining balance method. Example:=DDB(100, 50, 10, 2, 2.25) - DISC —
DISC(settlement, maturity, price, redemption, [day_count_convention])— Calculates the discount rate of a security based on price. Example:=DISC(DATE(2010, 1, 2), DATE(2039, 12, 31), 90, 100) - DOLLARDE —
DOLLARDE(fractional_price, unit)— Converts a price quotation given as a decimal fraction into a decimal value. Example:=DOLLARDE(100.10, 32) - DOLLARFR —
DOLLARFR(decimal_price, unit)— Converts a price quotation given as a decimal value into a decimal fraction. Example:=DOLLARFR(100.125, 32) - DURATION —
DURATION(settlement, maturity, rate, yield, frequency, [day_count_convention])— Calculates the Macaulay duration of a security paying periodic interest, such as a US Treasury Bond, based on expected yield. Example:=DURATION(DATE(2010, 1, 2), DATE(2039, 12, 31), 0.05, 0.08, 4) - EFFECT —
EFFECT(nominal_rate, periods_per_year)— Calculates the annual effective interest rate given the nominal rate and number of compounding periods per year. Example:=EFFECT(0.99, 12) - FV —
FV(rate, number_of_periods, payment_amount, [present_value], [end_or_beginning])— Calculates the future value of an annuity investment based on constant-amount periodic payments and a constant interest rate. Example:=FV(0.12, 12, 100, 400, 0) - FVSCHEDULE —
FVSCHEDULE(principal, rate_schedule)— Calculates the future value of some principal based on a specified series of potentially varying interest rates. Example:=FVSCHEDULE(10000, A2:A10) - INTRATE —
INTRATE(buy_date, sell_date, buy_price, sell_price, [day_count_convention])— Calculates the effective interest rate generated when an investment is purchased at one price and sold at another with no interest or dividends generated by the investment itself. Example:=INTRATE(DATE(2010, 1, 2), DATE(2039, 12, 31), 100000, 200000) - IPMT —
IPMT(rate, period, number_of_periods, present_value, [future_value], [end_or_beginning])— Calculates the payment on interest for an investment based on constant-amount periodic payments and a constant interest rate. Example:=IPMT(0.1, 4, 12, 100000) - IRR —
IRR(cashflow_amounts, [rate_guess])— Calculates the internal rate of return on an investment based on a series of periodic cash flows. Example:=IRR(A2:A25, 0.1) - ISPMT —
ISPMT(rate, period, number_of_periods, present_value)— Calculates the interest paid at a particular period of an investment. Example:=ISPMT(0.1, 1, 6, 8000) - MDURATION —
MDURATION(settlement, maturity, rate, yield, frequency, [day_count_convention])— Calculates the modified Macaulay duration of a security paying periodic interest, such as a US Treasury Bond, based on expected yield. Example:=MDURATION(DATE(2010, 1, 2), DATE(2039, 12, 31), 0.05, 0.08, 4) - MIRR —
MIRR(cashflow_amounts, financing_rate, reinvestment_return_rate)— Calculates the modified internal rate of return on an investment based on a series of periodic cash flows and the difference between the interest rate paid on financing versus the return received on reinvested income. Example:=MIRR(A2:A25, 0.1, 0.12) - NOMINAL —
NOMINAL(effective_rate, periods_per_year)— Calculates the annual nominal interest rate given the effective rate and number of compounding periods per year. Example:=NOMINAL(0.85, 12) - NPER —
NPER(rate, payment_amount, present_value, [future_value], [end_or_beginning])— Calculates the number of payment periods for an investment based on constant-amount periodic payments and a constant interest rate. Example:=NPER(0.12, 500, 40000, 0, 0) - NPV —
NPV(discount, cashflow1, [cashflow2, ...])— Calculates the net present value of an investment based on a series of periodic cash flows and a discount rate. Example:=NPV(0.08, 200, 250, 300) - PDURATION —
PDURATION(rate, present_value, future_value)— Returns the number of periods for an investment to reach a specific value at a given rate. Example:=PDURATION(0.25, 100, 200) - PMT —
PMT(rate, number_of_periods, present_value, [future_value], [end_or_beginning])— Calculates the periodic payment for an annuity investment based on constant-amount periodic payments and a constant interest rate. Example:=PMT(0.08, 12, 100000, 0, 0) - PPMT —
PPMT(rate, period, number_of_periods, present_value, [future_value], [end_or_beginning])— Calculates the payment on the principal of an investment based on constant-amount periodic payments and a constant interest rate. Example:=PPMT(0.1, 4, 12, 100000) - PRICE —
PRICE(settlement, maturity, rate, yield, redemption, frequency, [day_count_convention])— Calculates the price of a security paying periodic interest, such as a US Treasury Bond, based on expected yield. Example:=PRICE(DATE(2010, 1, 2), DATE(2039, 12, 31), 0.05, 0.08, 100, 4) - PRICEDISC —
PRICEDISC(settlement, maturity, discount, redemption, [day_count_convention])— Calculates the price of a discount (non-interest-bearing) security, based on expected yield. Example:=PRICEDISC(DATE(2010, 1, 2), DATE(2039, 12, 31), 0.05, 100) - PRICEMAT —
PRICEMAT(settlement, maturity, issue, rate, yield, [day_count_convention])— Calculates the price of a security paying interest at maturity, based on expected yield. Example:=PRICEMAT(DATE(2010, 1, 2), DATE(2039, 12, 31), DATE(2009, 1, 1), 0.05, 0.08) - PV —
PV(rate, number_of_periods, payment_amount, [future_value], [end_or_beginning])— Calculates the present value of an annuity investment based on constant-amount periodic payments and a constant interest rate. Example:=PV(0.08, 12, 100, 0, 0) - RATE —
RATE(number_of_periods, payment_per_period, present_value, [future_value], [end_or_beginning], [rate_guess])— Calculates the interest rate of an annuity investment based on constant-amount periodic payments and the assumption of a constant interest rate. Example:=RATE(12, -100, 400, 0, 0, 0.1) - RECEIVED —
RECEIVED(settlement, maturity, investment, discount, [day_count_convention])— Calculates the amount received at maturity for an investment in fixed-income securities purchased on a given date. Example:=RECEIVED(DATE(2010, 1, 2), DATE(2039, 12, 31), 10000, 0.05) - RRI —
RRI(number_of_periods, present_value, future_value)— Returns the interest rate needed for an investment to reach a specific value within a given number of periods. Example:=RRI(10, 100, 200) - SLN —
SLN(cost, salvage, life)— Calculates the depreciation of an asset for one period using the straight-line method. Example:=SLN(300, 75, 10) - SYD —
SYD(cost, salvage, life, period)— Calculates the depreciation of an asset for a specified period using the sum of years digits method. Example:=SYD(100, 10, 10, 1) - TBILLEQ —
TBILLEQ(settlement, maturity, discount)— Calculates the equivalent annualized rate of return of a US Treasury Bill based on discount rate. Example:=TBILLEQ(DATE(2010, 1, 2), DATE(2010, 12, 31), 0.05) - TBILLPRICE —
TBILLPRICE(settlement, maturity, discount)— Calculates the price of a US Treasury Bill based on discount rate. Example:=TBILLPRICE(DATE(2010, 1, 2), DATE(2010, 12, 31), 0.09) - TBILLYIELD —
TBILLYIELD(settlement, maturity, price)— Calculates the yield of a US Treasury Bill based on price. Example:=TBILLYIELD(DATE(2010, 1, 2), DATE(2010, 12, 31), 95) - VDB —
VDB(cost, salvage, life, start_period, end_period, [factor], [no_switch])— Returns the depreciation of an asset for a particular period (or partial period). Example:=VDB(100, 50, 10, 2, 5) - XIRR —
XIRR(cashflow_amounts, cashflow_dates, [rate_guess])— Calculates the internal rate of return of an investment based on a specified series of potentially irregularly spaced cash flows. Example:=XIRR(B2:B25, C2:C25, 0.1) - XNPV —
XNPV(discount, cashflow_amounts, cashflow_dates)— Calculates the net present value of an investment based on a specified series of potentially irregularly spaced cash flows and a discount rate. Example:=XNPV(0.08, B2:B25, C2:C25) - YIELD —
YIELD(settlement, maturity, rate, price, redemption, frequency, [day_count_convention])— Calculates the annual yield of a security paying periodic interest, such as a US Treasury Bond, based on price. Example:=YIELD(DATE(2010, 1, 2), DATE(2039, 12, 31), 0.05, 95, 100, 4) - YIELDDISC —
YIELDDISC(settlement, maturity, price, redemption, [day_count_convention])— Calculates the annual yield of a discount (non-interest-bearing) security, based on price. Example:=YIELDDISC(DATE(2010, 1, 2), DATE(2039, 12, 31), 95, 100) - YIELDMAT —
YIELDMAT(settlement, maturity, issue, rate, price, [day_count_convention])— Calculates the annual yield of a security paying interest at maturity, based on price. Example:=YIELDMAT(DATE(2010, 1, 2), DATE(2039, 12, 31), DATE(2009, 1, 1), 0.05, 95)
Info functions
Ask what a value is — blank, a number, text, an error — and what kind of error.
- CELL —
CELL(info_type, reference)— Returns the requested information about the specified cell. Example:=CELL("type", C2) - ERROR.TYPE —
ERROR.TYPE(reference)— Returns a number corresponding to the error value in a different cell. Example:=ERROR.TYPE(NA()) - ISBLANK —
ISBLANK(value)— Checks whether the referenced cell is empty. Example:=ISBLANK(A2) - ISDATE —
ISDATE(value)— Returns whether a value is a date. Example:=ISDATE("7/20/1969") - ISEMAIL —
ISEMAIL(value)— Checks whether a value is a valid email address. Example:=ISEMAIL("noreply@google.com") - ISERR —
ISERR(value)— Checks whether a value is an error other than#N/A. Example:=ISERR(A2) - ISERROR —
ISERROR(value)— Checks whether a value is an error. Example:=ISERROR(A1/A2) - ISFORMULA —
ISFORMULA(cell)— Checks whether a formula is in the referenced cell. Example:=ISFORMULA(A2) - ISLOGICAL —
ISLOGICAL(value)— Checks whether a value isTRUEorFALSE. Example:=ISLOGICAL(A2) - ISNA —
ISNA(value)— Checks whether a value is the error#N/A. Example:=ISNA(A2) - ISNONTEXT —
ISNONTEXT(value)— Checks whether a value is non-textual. Example:=ISNONTEXT("cat") - ISNUMBER —
ISNUMBER(value)— Checks whether a value is a number. Example:=ISNUMBER(4) - ISREF —
ISREF(value)— Checks whether a value is a valid cell reference. Example:=ISREF(A2) - ISTEXT —
ISTEXT(value)— Checks whether a value is text. Example:=ISTEXT("cat") - N —
N(value)— Returns the argument provided as a number. Example:=N(4) - NA —
NA()— Returns the "value not available" error,#N/A. Example:=NA() - TYPE —
TYPE(value)— Returns a number associated with the type of data passed into the function. Example:=TYPE(C4)
Database functions
Sum, count and average the rows of a table that match a small criteria table.
- DAVERAGE —
DAVERAGE(database, field, criteria)— Returns the average of a set of values selected from a database table-like array or range using a SQL-like query. Example:=DAVERAGE(A2:F20, "Price", {"Ticker"; "GOOG"}) - DCOUNT —
DCOUNT(database, field, criteria)— Counts numeric values selected from a database table-like array or range using a SQL-like query. Example:=DCOUNT(A2:F20, "Price", {"Ticker"; "GOOG"}) - DCOUNTA —
DCOUNTA(database, field, criteria)— Counts values, including text, selected from a database table-like array or range using a SQL-like query. Example:=DCOUNTA(A2:F20, "Price", {"Ticker"; "GOOG"}) - DGET —
DGET(database, field, criteria)— Returns a single value selected from a database table-like array or range using a SQL-like query. Example:=DGET(A2:F20, "Price", {"Ticker"; "GOOG"}) - DMAX —
DMAX(database, field, criteria)— Returns the maximum value selected from a database table-like array or range using a SQL-like query. Example:=DMAX(A2:F20, "Price", {"Ticker"; "GOOG"}) - DMIN —
DMIN(database, field, criteria)— Returns the minimum value selected from a database table-like array or range using a SQL-like query. Example:=DMIN(A2:F20, "Price", {"Ticker"; "GOOG"}) - DPRODUCT —
DPRODUCT(database, field, criteria)— Returns the product of values selected from a database table-like array or range using a SQL-like query. Example:=DPRODUCT(A2:F20, "Price", {"Ticker"; "GOOG"}) - DSTDEV —
DSTDEV(database, field, criteria)— Returns the standard deviation of a population sample selected from a database table-like array or range using a SQL-like query. Example:=DSTDEV(A2:F20, "Price", {"Ticker"; "GOOG"}) - DSTDEVP —
DSTDEVP(database, field, criteria)— Returns the standard deviation of an entire population selected from a database table-like array or range using a SQL-like query. Example:=DSTDEVP(A2:F20, "Price", {"Ticker"; "GOOG"}) - DSUM —
DSUM(database, field, criteria)— Returns the sum of values selected from a database table-like array or range using a SQL-like query. Example:=DSUM(A2:F20, "Price", {"Ticker"; "GOOG"}) - DVAR —
DVAR(database, field, criteria)— Returns the variance of a population sample selected from a database table-like array or range using a SQL-like query. Example:=DVAR(A2:F20, "Price", {"Ticker"; "GOOG"}) - DVARP —
DVARP(database, field, criteria)— Returns the variance of an entire population selected from a database table-like array or range using a SQL-like query. Example:=DVARP(A2:F20, "Price", {"Ticker"; "GOOG"})
Engineering functions
Number-base conversion, bitwise operations and complex numbers.
- BIN2DEC —
BIN2DEC(signed_binary_number)— Converts a signed binary number to decimal format. Example:=BIN2DEC("101") - BIN2HEX —
BIN2HEX(signed_binary_number, [significant_digits])— Converts a signed binary number to signed hexadecimal format. Example:=BIN2HEX("101", 8) - BIN2OCT —
BIN2OCT(signed_binary_number, [significant_digits])— Converts a signed binary number to signed octal format. Example:=BIN2OCT("101", 8) - BITAND —
BITAND(value1, value2)— Bitwise boolean AND of two numbers. Example:=BITAND(10, 9) - BITLSHIFT —
BITLSHIFT(value, shift_amount)— Shifts the bits of the input a certain number of places to the left. Example:=BITLSHIFT(2, 2) - BITOR —
BITOR(value1, value2)— Bitwise boolean OR of 2 numbers. Example:=BITOR(10, 9) - BITRSHIFT —
BITRSHIFT(value, shift_amount)— Shifts the bits of the input a certain number of places to the right. Example:=BITRSHIFT(8, 2) - BITXOR —
BITXOR(value1, value2)— Bitwise XOR (exclusive OR) of 2 numbers. Example:=BITXOR(10, 9) - COMPLEX —
COMPLEX(real_part, imaginary_part, [suffix])— Creates a complex number given real and imaginary coefficients. Example:=COMPLEX(3, 4, "j") - DEC2BIN —
DEC2BIN(decimal_number, [significant_digits])— Converts a decimal number to signed binary format. Example:=DEC2BIN(100, 8) - DEC2HEX —
DEC2HEX(decimal_number, [significant_digits])— Converts a decimal number to signed hexadecimal format. Example:=DEC2HEX(100, 8) - DEC2OCT —
DEC2OCT(decimal_number, [significant_digits])— Converts a decimal number to signed octal format. Example:=DEC2OCT(100, 8) - DELTA —
DELTA(number1, [number2])— Compare two numeric values, returning 1 if they're equal. Example:=DELTA(2, 1) - ERF —
ERF(lower_bound, [upper_bound])— The ERF function returns the integral of the Gauss error function over an interval of values. Example:=ERF(-2.3, -0.7) - ERF.PRECISE —
ERF.PRECISE(lower_bound, [upper_bound])— The ERF function returns the integral of the Gauss error function over an interval of values. Example:=ERF.PRECISE(-2.3, -0.7) - GESTEP —
GESTEP(value, [step])— Returns 1 if the rate is strictly greater than or equal to the provided step value or 0 otherwise. Example:=GESTEP(5, 2) - HEX2BIN —
HEX2BIN(signed_hexadecimal_number, [significant_digits])— Converts a signed hexadecimal number to signed binary format. Example:=HEX2BIN("f3", 8) - HEX2DEC —
HEX2DEC(signed_hexadecimal_number)— Converts a signed hexadecimal number to decimal format. Example:=HEX2DEC("f3") - HEX2OCT —
HEX2OCT(signed_hexadecimal_number, [significant_digits])— Converts a signed hexadecimal number to signed octal format. Example:=HEX2OCT("f3", 8) - IMABS —
IMABS(number)— Returns absolute value of a complex number. Example:=IMABS("3+4i") - IMAGINARY —
IMAGINARY(complex_number)— Returns the imaginary coefficient of a complex number. Example:=IMAGINARY("4+9i") - IMARGUMENT —
IMARGUMENT(number)— The IMARGUMENT function returns the angle (also known as the argument or θ) of the given complex number in radians. Example:=IMARGUMENT("1+1i") - IMCONJUGATE —
IMCONJUGATE(number)— Returns the complex conjugate of a number. Example:=IMCONJUGATE("3+4i") - IMCOS —
IMCOS(number)— The IMCOS function returns the cosine of the given complex number. Example:=IMCOS("4+3i") - IMCOSH —
IMCOSH(number)— Returns the hyperbolic cosine of the given complex number. Example:=IMCOSH("4+3i") - IMCOT —
IMCOT(number)— Returns the cotangent of the given complex number. Example:=IMCOT("4+3i") - IMCOTH —
IMCOTH(number)— Returns the hyperbolic cotangent of the given complex number. Example:=IMCOTH("4+3i") - IMCSC —
IMCSC(number)— Returns the cosecant of the given complex number. Example:=IMCSC("4+3i") - IMCSCH —
IMCSCH(number)— Returns the hyperbolic cosecant of the given complex number. Example:=IMCSCH("4+3i") - IMDIV —
IMDIV(dividend, divisor)— Returns one complex number divided by another. Example:=IMDIV("11+16i", "3+2i") - IMEXP —
IMEXP(exponent)— Returns Euler's number, e (~2.718) raised to a complex power. Example:=IMEXP("2+3i") - IMLN —
IMLN(complex_value)— Returns the logarithm of a complex number, base e (Euler's number). Example:=IMLN("3+4i") - IMLOG —
IMLOG(value, base)— Returns the logarithm of a complex number for a specified base. Example:=IMLOG("1+i", 3.5) - IMLOG10 —
IMLOG10(value)— Returns the logarithm of a complex number with base 10. Example:=IMLOG10("1+i") - IMLOG2 —
IMLOG2(value)— Returns the logarithm of a complex number with base 2. Example:=IMLOG2("1+i") - IMPOWER —
IMPOWER(complex_base, exponent)— Returns a complex number raised to a power. Example:=IMPOWER("5+2i", 3) - IMPRODUCT —
IMPRODUCT(factor1, [factor2, ...])— Returns the result of multiplying a series of complex numbers together. Example:=IMPRODUCT("3+4i", "2i", "2i") - IMREAL —
IMREAL(complex_number)— Returns the real coefficient of a complex number. Example:=IMREAL("4+9i") - IMSEC —
IMSEC(number)— Returns the secant of the given complex number. Example:=IMSEC("4+3i") - IMSECH —
IMSECH(number)— Returns the hyperbolic secant of the given complex number. Example:=IMSECH("4+3i") - IMSIN —
IMSIN(number)— Returns the sine of the given complex number. Example:=IMSIN("4+3i") - IMSINH —
IMSINH(number)— Returns the hyperbolic sine of the given complex number. Example:=IMSINH("4+3i") - IMSQRT —
IMSQRT(complex_number)— Computes the square root of a complex number. Example:=IMSQRT("3+4i") - IMSUB —
IMSUB(first_number, second_number)— Returns the difference between two complex numbers. Example:=IMSUB("6+5i", "2+3i") - IMSUM —
IMSUM(value1, [value2, ...])— Returns the sum of a series of complex numbers. Example:=IMSUM("1+2i", "3+5i", A2:A50) - IMTAN —
IMTAN(number)— Returns the tangent of the given complex number. Example:=IMTAN("4+3i") - IMTANH —
IMTANH(number)— Returns the hyperbolic tangent of the given complex number. Example:=IMTANH("4+3i") - OCT2BIN —
OCT2BIN(signed_octal_number, [significant_digits])— Converts a signed octal number to signed binary format. Example:=OCT2BIN("37", 8) - OCT2DEC —
OCT2DEC(signed_octal_number)— Converts a signed octal number to decimal format. Example:=OCT2DEC("37") - OCT2HEX —
OCT2HEX(signed_octal_number, [significant_digits])— Converts a signed octal number to signed hexadecimal format. Example:=OCT2HEX("37", 8)
Parser functions
Convert a value into a date, dollars, a percentage, plain number or text, and convert between units.
- CONVERT —
CONVERT(value, start_unit, end_unit)— Converts a numeric value to a different unit of measure. Example:=CONVERT(5.1, "g", "kg") - TO_DATE —
TO_DATE(value)— Converts a provided number to a date. Example:=TO_DATE(25405) - TO_DOLLARS —
TO_DOLLARS(value)— Converts a provided number to a dollar value. Example:=TO_DOLLARS(A2) - TO_PERCENT —
TO_PERCENT(value)— Converts a provided number to a percentage. Example:=TO_PERCENT(0.40826) - TO_PURE_NUMBER —
TO_PURE_NUMBER(value)— Converts a provided date/time, percentage, currency or other formatted numeric value to a pure number without formatting. Example:=TO_PURE_NUMBER(50%) - TO_TEXT —
TO_TEXT(value)— Converts a provided numeric value to a text value, keeping the number format of the referenced cell. Example:=TO_TEXT(24)
Operator functions
Function forms of the operators (+, −, ×, ÷, comparisons), handy inside LAMBDA and array formulas.
- ADD —
ADD(value1, value2)— Returns the sum of two numbers. Equivalent to the "+" operator. Example:=ADD(A2, A3) - CONCAT —
CONCAT(value1, value2)— Returns the concatenation of two values. Equivalent to the "&" operator. Example:=CONCAT("de", "mystify") - DIVIDE —
DIVIDE(dividend, divisor)— Returns one number divided by another. Equivalent to the "/" operator. Example:=DIVIDE(4, 2) - EQ —
EQ(value1, value2)— Returns TRUE if two specified values are equal, and FALSE otherwise. Equivalent to the "=" operator. Example:=EQ(A2, A3) - GT —
GT(value1, value2)— Returns TRUE if the first argument is strictly greater than the second, and FALSE otherwise. Equivalent to the ">" operator. Example:=GT(A2, A3) - GTE —
GTE(value1, value2)— Returns TRUE if the first argument is greater than or equal to the second, and FALSE otherwise. Equivalent to the ">=" operator. Example:=GTE(A2, A3) - ISBETWEEN —
ISBETWEEN(value_to_compare, lower_value, upper_value, [lower_value_is_inclusive], [upper_value_is_inclusive])— Checks whether a provided number is between two other numbers either inclusively or exclusively. Example:=ISBETWEEN(7.9, 1.2, 12.45) - LT —
LT(value1, value2)— Returns TRUE if the first argument is strictly less than the second, and FALSE otherwise. Equivalent to the "<" operator. Example:=LT(A2, A3) - LTE —
LTE(value1, value2)— Returns TRUE if the first argument is less than or equal to the second, and FALSE otherwise. Equivalent to the "<=" operator. Example:=LTE(A2, A3) - MINUS —
MINUS(value1, value2)— Returns the difference of two numbers. Equivalent to the "-" operator. Example:=MINUS(8, 3) - MULTIPLY —
MULTIPLY(factor1, factor2)— Returns the product of two numbers. Equivalent to the "*" operator. Example:=MULTIPLY(6, 7) - NE —
NE(value1, value2)— Returns TRUE if two specified values are not equal, and FALSE otherwise. Equivalent to the "<>" operator. Example:=NE(A2, A3) - POW —
POW(base, exponent)— Returns a number raised to a power. Example:=POW(4, 0.5) - UMINUS —
UMINUS(value)— Returns a number with the sign reversed. Example:=UMINUS(4) - UNARY_PERCENT —
UNARY_PERCENT(percentage)— Returns a value interpreted as a percentage; that is, UNARY_PERCENT(100) equals 1. Example:=UNARY_PERCENT(100) - UPLUS —
UPLUS(value)— Returns a specified number, unchanged. Example:=UPLUS(4)
Web functions
Links and web addresses, IMPORTRANGE for reading another spreadsheet you can open, and IMPORTXML, IMPORTHTML, IMPORTDATA and IMPORTFEED for pulling data in from web pages, files and feeds.
- ENCODEURL —
ENCODEURL(text)— Encodes a string of text for the purpose of using in a URL query. Example:=ENCODEURL("hello, world!") - HYPERLINK —
HYPERLINK(url, [link_label])— Creates a hyperlink inside a cell. Example:=HYPERLINK("http://www.google.com/", "Google") - IMPORTDATA —
IMPORTDATA(url, [delimiter], [locale])— Imports data at a given url in .csv (comma-separated value) or .tsv (tab-separated value) format. Example:=IMPORTDATA("https://www.example.com/data.csv") - IMPORTFEED —
IMPORTFEED(url, [query], [headers], [num_items])— Imports a RSS or ATOM feed. Example:=IMPORTFEED("https://news.google.com/?output=atom") - IMPORTHTML —
IMPORTHTML(url, query, index, [locale])— Imports data from a table or list within an HTML page. Example:=IMPORTHTML("https://en.wikipedia.org/wiki/Demographics_of_India", "table", 4) - IMPORTRANGE —
IMPORTRANGE(spreadsheet_url, range_string)— Imports a range of cells from a specified spreadsheet. Example:=IMPORTRANGE("abcd123abcd123", "sheet1!A1:C10") - IMPORTXML —
IMPORTXML(url, xpath_query, [locale])— Imports data from any of various structured data types including XML, HTML, CSV, TSV, and RSS and ATOM XML feeds. Example:=IMPORTXML("https://en.wikipedia.org/wiki/Moon_landing", "//a/@href") - ISURL —
ISURL(value)— Checks whether a value is a valid URL. Example:=ISURL("www.google.com")
Google-style functions
Functions that come from Google Sheets rather than Excel: ARRAYFORMULA, QUERY, SPARKLINE and IMAGE, plus GOOGLEFINANCE for stock and currency prices, GOOGLETRANSLATE and DETECTLANGUAGE for languages, and AI.
- AI —
AI(prompt, [range])— Generates text, summaries, classifications or answers from a prompt and, optionally, data from a range, using AI. Results are kept until you refresh them. Example:=AI("Summarize this customer review in five words", A2) - ARRAYFORMULA —
ARRAYFORMULA(array_formula)— Enables the display of values returned from an array formula into multiple rows and/or columns and the use of non-array functions with arrays. Example:=ARRAYFORMULA(SUM(IF(A1:A10>5, A1:A10, 0))) - DETECTLANGUAGE —
DETECTLANGUAGE(text_or_range)— Identifies the language used in text within the specified range. Example:=DETECTLANGUAGE("Bonjour le monde") - GOOGLEFINANCE —
GOOGLEFINANCE(ticker, [attribute], [start_date], [end_date|num_days], [interval])— Fetches current or historical securities information. Example:=GOOGLEFINANCE("NASDAQ:GOOG", "price", DATE(2014,1,1), DATE(2014,12,31), "DAILY") - GOOGLETRANSLATE —
GOOGLETRANSLATE(text, [source_language], [target_language])— Translates text from one language into another. Example:=GOOGLETRANSLATE("Hello World", "en", "es") - IMAGE —
IMAGE(url, [mode], [height], [width])— Inserts an image into a cell. Example:=IMAGE("https://www.example.com/logo.png", 4, 50, 200) - QUERY —
QUERY(data, query, [headers])— Runs a Google Visualization API Query Language query across data. Example:=QUERY(A2:E6, "select avg(A) pivot B") - SPARKLINE —
SPARKLINE(data, [options])— Creates a miniature chart contained within a single cell. Example:=SPARKLINE(A1:F1, {"charttype","bar";"max",40})
Something missing that you need? The list above is generated from the Spreadsheets formula engine itself, so a function that isn't on this page isn't supported yet.
Last updated: 2026-09-24
Related articles
- Help CenterFind answers about using SingleSign to sign in, manage your privacy, and secure your account.
- Spreadsheets, step by stepBuild and share spreadsheets — formulas, formatting, filters, pivot tables, every chart type, web and finance data, import, export and shortcuts.
- Drawings, step by stepDraw diagrams, flowcharts and sketches in Writer and Spreadsheets — shapes, lines, text, word art, images, arranging and downloads.
- SingleSign Mail, step by stepThe SingleSign Mail help hub — your @singlesign.com mailbox, the Screener, phones, Writer, Spreadsheets, Chat and company mail for your organization.
- AI features, step by stepHelp me write, Translate document and Dictionary in Writer; AI(), GOOGLETRANSLATE, Help me organize and formula help in Spreadsheets.
- Apps Script: automate Writer and Spreadsheets, step by stepAutomate Writer and Spreadsheets with Apps Script: custom functions, menus, simple triggers, dialogs, supported services, authorization and limits.
- SingleSign pricingSingleSign pricing in one line: sign-in is free, with no monthly-active-user meter. See exactly what is included, and what SingleSign Mail costs for businesses.
- Identity provider alternativesIdentity provider alternatives, by the provider you are leaving: what actually has to change in your code, and what does not.
- Auth0 comparisonSingleSign vs Auth0 compared on the difference that matters: who owns the account. A side-by-side table, then the three cases where each one is the right call.
- SingleSign vs OktaSingleSign vs Okta: Okta is built for workforce identity inside a company, SingleSign for consumer sign-in across applications.
- Firebase Auth comparisonSingleSign vs Firebase Authentication on lock-in, portability and consent, plus the cases where staying on Firebase is right.
- Google Sign-In alternativeSingleSign vs Google Sign-In: the same one-tap convenience, without an advertising business behind the identity.