Function Index
Statistical Functions
aveDev(v1, v2, ...)
Returns the average of the absolute deviations of the specified numbers from their mean.
=aveDev(4, 5, 6, 3, 5, 4) → 0.83333333333333
average(v1, v2, ...)
Returns the arithmetic mean for the specified arguments. Arguments that are either text strings which cannot be converted to numbers or error codes will cause an error.
For arguments that are arrays or cell/range references, text strings are not converted to numbers. To include the text representations of numbers in the calculation, use the averageA() function. Empty cells are ignored.
=average(4, 5, 6, 3, 5, 4) → 4.5
=average(4, 5, 6, 3, {1, "1"}) → 3.8
averageA(v1, v2, ...)
Returns the arithmetic mean for the specified arguments. Arguments that are either text strings which cannot be converted to numbers or error codes will cause an error.
For arguments that are arrays or cell/range references, both numbers and text representations of numbers are included in the calculation. To exclude text strings entirely, use the average() function. Empty cells are ignored.
=averageA(4, 5, 6, 3, 5, 4) → 4.5
=averageA(4, 5, 6, 3, {1, "1"}) → 3.3(3)
averageIf(if_range, criteria, [data_range])
Calculates the mean value for numbers that meet the specified criteria. If the data_range range is omitted, cells from the if_range range are used. The data_range and if_range ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with the
=,>,>=,<,<=, or<>operators followed by an unformatted number, a generic date/time string (YYYY-MM-DD), or the&operator followed by a single cell address. - A text string optionally containing wildcard characters
?(matching any single character) or*(matching any sequence of characters, including an empty string). To search for a literal?or*, place a tilde (~) before them.
=averageIf({1, 2; 3, 2}, 2) → 2
=averageIf({1, 2; 3, 2}, ">=2") → 2.33(3)
averageAIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the arithmetic mean for numbers in the data_range array/range. The numbers must meet the specified criteria. Text representations of numbers in the data_range array/range are included in the calculation. All other text strings are ignored.
All ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with the
=,>,>=,<,<=, or<>operators followed by an unformatted number, a generic date/time string (YYYY-MM-DD), or the&operator followed by a single cell address. - A text string optionally containing wildcard characters
?or*. To search for a literal?or*, place a tilde (~) before them.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=averageAIfs({1, 3, "6", 2}, {3, 3, 3, 0.1}, ">0") → 3
=averageAIfs({1, 3, "6", 2}, {3, 3, 3, 0.1}, ">"&c5) → returns the mean based on the value in cell C5.
averageIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the arithmetic mean for numbers in the data_range array/range. The numbers must meet the specified criteria. All text strings in the data_range array/range are ignored.
All ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with the
=,>,>=,<,<=, or<>operators followed by an unformatted number, a generic date/time string (YYYY-MM-DD), or the&operator followed by a single cell address. - A text string optionally containing wildcard characters
?or*. To search for a literal?or*, place a tilde (~) before them.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=averageIfs({1, 3, "6", 2}, {3, 3, 3, 0.1}, ">0") → 2
=averageIfs({1, 3, "6", 2}, {3, 3, 3, 0.1}, ">"&c5) → returns the mean based on the value in cell C5.
BETA.DIST(x, alpha, beta, cumulative, [A], [B])
Returns the beta distribution. x is the value between A and B at which to evaluate the function. alpha and beta are parameters of the distribution. If cumulative is TRUE, BETA.DIST returns the cumulative distribution function; if FALSE, it returns the probability density function. A (lower bound) and B (upper bound) are optional; if omitted, 0 and 1 are used respectively.
=BETA.DIST(0.5, 8, 10, TRUE) → 0.592735
BINOM.DIST(successes, trials, probability, cumulative)
Returns the individual term binomial distribution probability. successes is the number of successes in trials, trials is the number of independent trials, probability is the probability of success on each trial. If cumulative is TRUE, it returns the cumulative distribution function; if FALSE, it returns the probability mass function.
=BINOM.DIST(6, 10, 0.5, FALSE) → 0.205078125
binomDist(s, t, p, c)
Returns the binomial distribution probability.
The s argument represents the number of successes, the t argument is the number of trials and the p argument is the probability of success on each trial.
If the c argument is 1 (true), it returns the cumulative distribution function. Otherwise, the probability mass function is returned.
=binomDist(6, 10, 0.5, FALSE) → 0.205078125
chiDist(x, f_degrees)
Returns the one-tailed probability of the chi-squared distribution. The returned value is calculated as P(X < x). The f_degrees argument specifies the number of degrees of freedom.
=chiDist(18.307, 10) → 0.9499994109077
chiInv(probability, f_degrees)
Returns the inverse of the chiDist function for a given probability.
=chiInv(0.9499994109077, 10) → 18.307
CHISQ.DIST(x, deg_freedom, cumulative)
Returns the chi-squared distribution. If cumulative is TRUE, CHISQ.DIST returns the cumulative distribution function; if FALSE, it returns the probability density function.
=CHISQ.DIST(0.5, 1, TRUE) → 0.520499876
CHISQ.DIST.RT(x, deg_freedom)
Returns the right-tailed probability of the chi-squared distribution.
=CHISQ.DIST.RT(18.307, 10) → 0.050000589
CHISQ.INV(probability, deg_freedom)
Returns the inverse of the left-tailed probability of the chi-squared distribution.
=CHISQ.INV(0.95, 10) → 18.30704
CHISQ.INV.RT(probability, deg_freedom)
Returns the inverse of the right-tailed probability of the chi-squared distribution.
=CHISQ.INV.RT(0.05, 10) → 18.30704
CHISQ.TEST(actual_range, expected_range)
Returns the test for independence. CHISQ.TEST returns the value from the chi-squared distribution for the statistic and the appropriate degrees of freedom.
=CHISQ.TEST({58, 35; 11, 25; 10, 23}, {45.35, 47.65; 17.56, 18.44; 16.09, 16.91}) → 0.999691808
chiTest(observed, expected)
Performs the test for independence of two discrete variables x (x[1], ..., x[k]) and y (y[1], ..., y[l]).
The observed argument specifies the k x l contingence table with elements representing the observed numbers of experiments in which the x[i] & y[j] pairs were obtained. The returned probability is calculated as P(X > c^2) where c^2 is the obtained chi-squared statistic.
The expected argument specifies a respective table with the expected numbers of subsequent experiments.
=chiTest({58, 35; 11, 25; 10, 23}, {45.35, 47.65; 17.56, 18.44; 16.09, 16.91}) → 0.99969180798302
chiTest2(observed, expected)
Returns the chi2-statistic for two discrete variables x (x[1], ..., x[k]) and y (y[1], ..., y[l]).
The observed argument specifies the k x l contingence table with elements representing the observed numbers of experiments in which the x[i] & y[j] pairs were obtained. The returned value can be compared against the critical chi2 values obtained with the chi2Inv function.
The expected argument specifies a respective table with the expected numbers of subsequent experiments.
=chiTest2({58, 35; 11, 25; 10, 23}, {45.35, 47.65; 17.56, 18.44; 16.09, 16.91}) → 16.1695750747969
confidence(alpha, deviation, size)
Returns the confidence interval for a population mean. The alpha parameter specifies the significance level (which equals 1 - confidence level).
The deviation argument specifies the (known) population standard deviation. The size argument specifies the sample size.
=confidence(0.05, 2.5, 50) → 0.6929519802241
CONFIDENCE.NORM(alpha, standard_dev, size)
Returns the confidence interval for a population mean using a normal distribution. alpha is the significance level used to compute the confidence level. standard_dev is the population standard deviation for the data range and is assumed to be known. size is the sample size.
=CONFIDENCE.NORM(0.05, 2.5, 50) → 0.692951912
CONFIDENCE.T(alpha, standard_dev, size)
Returns the confidence interval for a population mean using a Student's t-distribution. alpha is the significance level, standard_dev is the population standard deviation, and size is the sample size.
=CONFIDENCE.T(0.05, 2.5, 50) → 0.710344445
correl(array1, array2)
Returns the correlation coefficient of array1 and array2. Both arguments can be arrays or cell ranges having the same dimensions.
=correl({3, 2, 4, 5, 6}, {9, 7, 12, 15, 17}) → 0.99705448550158
count(v1, v2, ...)
Counts numbers. The v_ arguments can be any data types including arrays and references. All text strings in arrays and ranges are ignored.
=count({1, 3, "abc"}, {"4.5", 5.6}) → 3
countA(v1, v2, ...)
Counts non-empty arguments and non-empty cells in arrays/ranges. The v_ arguments can be any data types including arrays and references.
=countA({1, 3, "abc"}, {"4.5", 5.6,,}) → 5
countIf(range, criteria)
Counts numbers that meet the specified criteria. The criteria can be one of the following:
- A number.
- A text string beginning with the
=,>,>=,<,<=, or<>operators followed by an unformatted number, a generic date/time string (YYYY-MM-DD), or the&operator followed by a single cell address. - A text string optionally containing wildcard characters
?(matching any single character) or*(matching any sequence of characters, including an empty string). To search for a literal?or*, place a tilde (~) before them. - An error code.
=countIf({1, 2; 3, 4}, 2) → 1
=countIf({1, 2; 3, 4}, ">2") → 2
=countIf({"abcde", "def"; "abc", "a"}, "?bc*") → 2
=countIf(a1:d5, "*") → returns the number of non-empty cells within A1:D5.
=countIf(c1:d100, ">="&c101) → counts and returns values not less than the value in cell C101.
=countIf({"ABcde", "def"; "Bc", "a"}, ">=bc") → 2
=countIf({1, 2; "a", #N/A!; 3, #N/A!}, #N/A!) → 2
countIfs(range1, criteria1 [, range2, criteria2, ...])
Counts numbers from the range1 range/array that meet the specified criteria1 and any other criteria applied to other ranges. All the ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with the
=,>,>=,<,<=, or<>operators followed by an unformatted number, a generic date/time string (YYYY-MM-DD), or the&operator followed by a single cell address. - A text string optionally containing wildcard characters
?(any single character) or*(any sequence of characters). To search for a literal?or*, place a tilde (~) before them. - An error code.
=countIfs({1, 2; 3, 2}, 2, {1, 4; 3, 5}, 4) → 1
=countIfs({1, 2; 3, 2}, ">=2", {1, 4; 3, 5}, "<=4") → 2
=countIfs({"abcde", "def"; "abc", "a"}, "?bc*") → 2
=countIfs(a1:d5, "*", e1:h5, "*") → returns the number of times when corresponding cells from A1:D5 and E1:H5 are both not empty.
=countIfs(c1:d100, "*se*", a1:b100, ">="&f1) → returns the number of times when a value from C1:D100 contains the "se" substring and a value from A1:B100 is greater than or equal to the value in cell F1.
=countIfs({1, 2; "a", #N/A!; 3, #N/A!}, #N/A!, a1:b3, 2009) → returns 2 if all cells in A1:B3 contain 2009 values.
covar(array1, array2)
Returns covariance of array1 and array2. Both arguments can be arrays or cell ranges having the same dimensions.
=covar({3, 2, 4, 5, 6}, {9, 7, 12, 15, 17}) → 5.2
COVARIANCE.P(array1, array2)
Returns population covariance, which is the average of the products of deviations for each data point pair in two data sets. Use population covariance to determine the relationship between two data sets.
=COVARIANCE.P({3, 2, 4, 5, 6}, {9, 7, 12, 15, 17}) → 5.2
COVARIANCE.S(array1, array2)
Returns the sample covariance, the average of the products of deviations for each data point pair in two data sets.
=COVARIANCE.S({3, 2, 4, 5, 6}, {9, 7, 12, 15, 17}) → 6.5
critBinom(trials, probability, alpha)
Returns the smallest value (the number of successes) for which the cumulative binomial distribution function is greater than or equal to alpha for a given number of trials and the probability of success in each trial.
=critBinom(6, 0.5, 0.75) → 4
devSq(v1, v2, ...)
Returns the sum of squares of deviations of the specified numbers from their mean. The v_ arguments can be any numbers, arrays or references.
=devSq(4, 5, 8, 7, 11, 4, 3) → 48
EXPON.DIST(x, lambda, cumulative)
Returns the exponential distribution. x is the value of the function, lambda is the parameter value, and cumulative is a logical value that indicates which form of the exponential function to provide.
=EXPON.DIST(0.2, 10, TRUE) → 0.864664717
exponDist(x, lambda, cumulative)
Returns the probability of the exponential distribution. The returned value is calculated as P(X < x). The lambda argument specifies the distribution parameter. If the cumulative argument is 1 or TRUE, it returns the cumulative distribution function; otherwise, the probability density function is returned.
=exponDist(0.2, 10, 1) → 0.86466471676339
F.DIST(x, deg_freedom1, deg_freedom2, cumulative)
Returns the F probability distribution. x is the value at which to evaluate the function, deg_freedom1 is the numerator degrees of freedom, and deg_freedom2 is the denominator degrees of freedom.
=F.DIST(15.206, 6, 4, TRUE) → 0.997299
F.DIST.RT(x, deg_freedom1, deg_freedom2)
Returns the right-tailed F probability distribution.
=F.DIST.RT(15.206, 6, 4) → 0.002701
F.INV(probability, deg_freedom1, deg_freedom2)
Returns the inverse of the F probability distribution. If p = F.DIST(x,...), then F.INV(p,...) = x.
=F.INV(0.9973, 6, 4) → 15.207
F.INV.RT(probability, deg_freedom1, deg_freedom2)
Returns the inverse of the right-tailed F probability distribution.
=F.INV.RT(0.01, 6, 4) → 9.19731
F.TEST(array1, array2)
Returns the result of an F-test. An F-test returns the two-tailed probability that the variances in array1 and array2 are not significantly different.
=F.TEST({6, 7, 9, 15, 21}, {20, 28, 31, 38, 40}) → 0.675841077
fDist(x, f_degrees1, f_degrees2)
Returns the F probability distribution function. The f_degrees1 and f_degrees2 arguments specify the numbers of degrees of freedom used in the F expression respectively as the numerator and denominator values. The returned value is calculated as P(F < x).
=fDist(15.20675, 6, 4) → 0.99729988597273
fInv(x, f_degrees1, f_degrees2)
Returns the inverse of the fDist probability distribution function. The f_degrees1 and f_degrees2 arguments specify the numbers of degrees of freedom used in the F expression respectively as the numerator and denominator values.
=fInv(0.99729988597273, 6, 4) → 15.206750002102
fisher(x)
Returns the Fisher transformation for a given x. The returned value is calculated as z = 0.5 * ln((1 - x)/(1 + x)).
=fisher(0.75) → 0.97295507452766
fisherInv(y)
Returns the inverse of the fisher function. The returned value is calculated as x = exp(2*y) - 1)/(exp(2y) + 1).
=fisherInv(0.97295507452766) → 0.75
forecast(x, array_y, array_x)
Finds a best-fit regression line for the known x- and y-values and calculates the future value using the existing x value. If the procedure is not convergent, the function returns #NUM!.
=forecast(30, {6, 7, 9, 15, 21}, {20, 28, 31, 38, 40}) → 10.6072530864198
frequency(data_array, bins_array)
Counts how often values in data_array occur in the ranges specified by bins_array. The returned value is a vector (a one-column array) of numbers. If bins_array has n elements, the returned array has n + 1 elements. Each bins_array element defines a range of values smaller or equal to that element. The last range includes all values greater than the last bins_array element.
=frequency({79, 85, 78, 85, 83, 81, 95, 88, 97}, {70, 79, 89}) → {0; 2; 5; 2}
fTest(array1, array2)
Performs the F-test and returns the one-tail probability that variances in the array1 and array2 data sets are significantly different.
=fTest({6, 7, 9, 15, 21}, {20, 28, 31, 38, 40}) → 0.67584107664634
GAMMA(number)
Returns the Gamma function value.
=GAMMA(2.5) → 1.329340388
GAMMALN(x)
Returns the natural logarithm of the Gamma function, Γ(x).
=GAMMALN(4) → 1.791759469
GAMMA.DIST(x, alpha, beta, cumulative)
Returns the gamma distribution. x is the value at which to evaluate the distribution, alpha and beta are parameters. If cumulative is TRUE, it returns the cumulative distribution function; if FALSE, it returns the probability density function.
=GAMMA.DIST(10, 9, 2, TRUE) → 0.068093635
GAMMALN.PRECISE(x)
Returns the natural logarithm of the Gamma function, Γ(x), using a high-precision algorithm.
=GAMMALN.PRECISE(4) → 1.791759469
GAUSS(x)
Returns the probability that a member of a standard normal population falls between the mean and x standard deviations from the mean.
=GAUSS(2) → 0.477249868
geoMean(v1, v2, ...)
Returns the geometric mean for the specified positive values. The v_ arguments can be numbers, arrays of numbers or references.
=geoMean(4, 5, 8, 7, 11, 4, 3) → 5.47698696965696
geoMeanAIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the geometric mean for numbers in the data_range array/range. The numbers must meet the specified criteria. Text representations of numbers in the data_range array/range are included. All other text strings are ignored.
All ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with the
=,>,>=,<,<=, or<>operators followed by an unformatted number, a generic date/time string (YYYY-MM-DD), or the&operator followed by a single cell address. - A text string optionally containing wildcard characters
?(any single character) or*(any string). To search for a literal?or*, place a tilde (~) before them.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=geoMeanAIfs({1, 3, "6", 2}, {3, 3, 3, 0.1}, ">0") → 2.44948974278318
=geoMeanAIfs({1, 3, "6", 2}, {3, 3, 3, 0.1}, ">" & b5) → returns geometric mean based on the value in cell B5.
geoMeanIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the geometric mean for numbers in the data_range array/range. The numbers must meet the specified criteria. All text strings in the data_range array/range are ignored.
All ranges must have the same number of columns and rows. The criteria follow the same rules as defined in geoMeanAIfs.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=geoMeanIfs({1, 3, "6", 2}, {3, 3, 3, 0.1}, ">0") → 1.81712059283214
=geoMeanIfs({1, 3, "6", 2}, {3, 3, 3, 0.1}, ">" & b5) → returns geometric mean based on the value in cell B5.
harMean(v1, v2, ...)
Returns the harmonic mean for the specified values. The v_ arguments can be numbers, arrays of numbers or references.
=harMean(4, 5, 8, 7, 11, 4, 3) → 5.02837596206173
harMeanAIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the harmonic mean for numbers in the data_range array/range. The numbers must meet the specified criteria. Text representations of numbers in the data_range array/range are included. All other text strings are ignored.
All ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with the
=,>,>=,<,<=, or<>operators followed by an unformatted number, a generic date/time string (YYYY-MM-DD), or the&operator followed by a single cell address. - A text string optionally containing wildcard characters
?or*. To search for a literal?or*, place a tilde (~) before them.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=harMeanAIfs({1, 3, "6", 2}, {3, 3, 3, 0.1}, ">0") → 2
=harMeanAIfs({1, 3, "6", 2}, {3, 3, 3, 0.1}, ">" & b5) → returns harmonic mean based on the value in cell B5.
harMeanIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the harmonic mean for numbers in the data_range array/range. The numbers must meet the specified criteria. All text strings in the data_range array/range are ignored.
All ranges must have the same number of columns and rows. The criteria follow the same rules as defined in harMeanAIfs.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=harMeanIfs({1, 3, "6", 2}, {3, 3, 3, 0.1}, ">0") → 1.63636363636364
=harMeanIfs({1, 3, "6", 2}, {3, 3, 3, 0.1}, ">" & b5) → returns harmonic mean based on the value in cell B5.
HYPGEOM.DIST(sample_s, number_sample, population_s, number_pop, cumulative)
Returns the hypergeometric distribution. sample_s is the number of successes in the sample, number_sample is the size of the sample, population_s is the number of successes in the population, number_pop is the population size. If cumulative is TRUE, it returns the cumulative distribution function; if FALSE, it returns the probability mass function.
=HYPGEOM.DIST(1, 4, 8, 20, TRUE) → 0.465428277
hypGeomDist(sample_s, sample_size, population_s, population_size)
Returns the hypergeometric distribution function: the probability of sample_s successes in a sample_size-element sample with the known population_s number of successes in the population_size-element population.
=hypGeomDist(1, 4, 8, 20) → 0.36326109391125
intercept(array_y, array_x)
Finds a best-fit regression line for the known x- and y-values and returns the point of intersection of the y-axis. The array_y and array_x arrays must have the same dimensions. If the procedure is not convergent, the function returns #NUM!.
=intercept({2, 3, 9, 1, 8}, {6, 5, 11, 7, 5}) → 0.04838709677419
kurt(v1, v2, ...)
Returns the kurtosis of the specified numbers. The v_ arguments can be any numbers, arrays or references.
=kurt(3, 4, 5, 2, 3, 4, 5, 6, 4, 7) → -0.1517993720842
large(array, k)
Returns the k-th largest value in the specified array.
=large({3, 4, 5, 2, 3, 4, 5, 6, 4, 7}, 3) → 5
linEst(array_y, [array_x], [const_b])
Finds a best-fit regression line for the known x- and y-values and returns a two-element vector containing the a and b coefficients of the y = a*x + b line.
If the const_b argument is 0 (false), the b parameter is assumed to be 0. If const_b is omitted, it is assumed to be 1. If the array_x argument is omitted, it is assumed to be an array containing integers from 1 to the number of elements in array_y. The array_y and array_x arrays must have the same dimensions. If the procedure is not convergent, the function returns #NUM!.
=linEst({2, 3, 9, 1, 8}, {6, 5, 11, 7, 5},) → {0.04838709677419; 0.66935483870968}
LOGNORM.DIST(x, mean, standard_dev, cumulative)
Returns the lognormal distribution of x, where ln(x) is normally distributed with parameters mean and standard_dev. If cumulative is TRUE, it returns the cumulative distribution function; if FALSE, it returns the probability density function.
=LOGNORM.DIST(4, 3.5, 1.2, TRUE) → 0.039083556
LOGNORM.INV(probability, mean, standard_dev)
Returns the inverse of the lognormal cumulative distribution function.
=LOGNORM.INV(0.03908, 3.5, 1.2) → 4.000101032
max(v1, v2, ...)
Returns the largest value. Arguments that are either text strings which cannot be converted to numbers or errors cause an error.
For arguments that are arrays or cell/range references, text strings are not converted to numbers. To include the text representations of numbers, use the maxA() function.
=max(4, 5, 8, 7, 11, 4, 3) → 11
=max(4, 5, 8, 7, {"11", 4}) → 8
maxA(v1, v2, ...)
Returns the largest value. Arguments that are either text strings which cannot be converted to numbers or errors cause an error.
For arguments that are arrays or cell/range references, both numbers and text representations of numbers are included in the comparison. To exclude the text representations of numbers, use the max() function.
=maxA(4, 5, 8, 7, 11, 4, 3) → 11
=maxA(4, 5, 8, 7, {"11", 4}) → 11
maxAIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the largest number in the data_range array/range. The numbers must meet the specified criteria. Text representations of numbers in the data_range array/range are included. All other text strings are ignored.
All ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with the
=,>,>=,<,<=, or<>operators followed by an unformatted number, a generic date/time string (YYYY-MM-DD), or the&operator followed by a single cell address. - A text string optionally containing wildcard characters
?(any single character) or*(any sequence of characters). To search for a literal?or*, place a tilde (~) before them.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=maxAIfs({1, 3, "6", 7}, {3, 3, 3, 0.1}, ">1") → 6
=maxAIfs({1, 3, "6", 7}, {3, 3, 3, 0.1}, ">" & b5) → returns the largest number based on the value in cell B5.
maxIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the largest number in the data_range array/range. The numbers must meet the specified criteria. All text strings in the data_range array/range are ignored.
All ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with the
=,>,>=,<,<=, or<>operators followed by an unformatted number, a generic date/time string (YYYY-MM-DD), or the&operator followed by a single cell address. - A text string optionally containing wildcard characters
?(any single character) or*(any sequence of characters). To search for a literal?or*, place a tilde (~) before them.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=maxIfs({1, 3, "6", 7}, {3, 3, 3, 0.1}, ">1") → 3
=maxIfs({1, 3, "6", 7}, {3, 3, 3, 0.1}, ">" & b5) → returns the largest number based on the value in cell B5.
median(v1, v2, ...)
Returns the median of the specified numbers. The median is a number such that half the numbers are greater and half the numbers are smaller than the median. The v_ arguments can be numbers, arrays of numbers, or references.
=median(1, 2, 3, 4, 5, 6) → 3.5
medianAIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the median for numbers in the data_range array/range. The numbers must meet the specified criteria. Text representations of numbers in the data_range array/range are included. All other text strings are ignored.
All ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with the
=,>,>=,<,<=, or<>operators followed by an unformatted number, a generic date/time string (YYYY-MM-DD), or the&operator followed by a single cell address. - A text string optionally containing wildcard characters
?or*. To search for a literal?or*, place a tilde (~) before them.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=medianAIfs({1, 2, 3, 4, "5", 6}, {3, 3, 3, 0.1}, ">0") → 3.5
=medianAIfs({1, 2, 3, 4, "5", 6}, {3, 3, 3, 0.1}, ">"&b5) → returns the median based on the value in cell B5.
medianIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the median for numbers in the data_range array/range. The numbers must meet the specified criteria. All text strings in the data_range array/range are ignored.
All ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with the
=,>,>=,<,<=, or<>operators followed by an unformatted number, a generic date/time string (YYYY-MM-DD), or the&operator followed by a single cell address. - A text string optionally containing wildcard characters
?or*. To search for a literal?or*, place a tilde (~) before them.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=medianIfs({1, 2, 3, 4, "5", 6}, {3, 3, 3, 0.1}, ">0") → 3
=medianIfs({1, 2, 3, 4, "5", 6}, {3, 3, 3, 0.1}, ">"&b5) → returns the median based on the value in cell B5.
min(v1, v2, ...)
Returns the smallest value. Arguments that are either text strings which cannot be converted to numbers or errors cause an error.
For arguments that are arrays or cell/range references, text strings are not converted to numbers. To include the text representations of numbers, use the minA() function.
=min(4, 5, 8, 7, 11, 4, 3) → 3
=min(4, 5, 8, 7, 11, 4, {"1", "3"}) → 4
minA(v1, v2, ...)
Returns the smallest value. Arguments that are either text strings which cannot be converted to numbers or errors cause an error.
For arguments that are arrays or cell/range references, both numbers and text representations of numbers are included in the comparison. To exclude the text representations of numbers, use the min() function.
=minA(4, 5, 8, 7, 11, 4, 3) → 3
=minA(4, 5, 8, 7, 11, 4, {"1", "3"}) → 1
minAIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the smallest number in the data_range array/range. The numbers must meet the specified criteria. Text representations of numbers in the data_range array/range are included. All other text strings are ignored.
All ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with the
=,>,>=,<,<=, or<>operators followed by an unformatted number, a generic date/time string (YYYY-MM-DD), or the&operator followed by a single cell address. - A text string optionally containing wildcard characters
?or*. To search for a literal?or*, place a tilde (~) before them.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=minAIFS({1, 3, "6", 7}, {3, 3, 0.1, 0.1}, "<1") → 6
=minAIfs({1, 3, "6", 7}, {3, 3, 3, 0.1}, ">"&b5) → returns the smallest number based on the value in cell B5.
minIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the smallest number in the data_range array/range. The numbers must meet the specified criteria. All text strings in the data_range array/range are ignored.
All ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with the
=,>,>=,<,<=, or<>operators followed by an unformatted number, a generic date/time string (YYYY-MM-DD), or the&operator followed by a single cell address. - A text string optionally containing wildcard characters
?or*. To search for a literal?or*, place a tilde (~) before them.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=minIfs({1, 3, "6", 7}, {3, 3, 0.1, 0.1}, "<1") → 7
=minIfs({1, 3, "6", 7}, {3, 3, 3, 0.1}, ">"&b5) → returns the smallest number based on the value in cell B5.
mode(v1, v2, ...)
Returns the most frequently occurring number in the specified numbers. The v_ arguments can be numbers, arrays of numbers or references.
=mode({5.6, 4, 4, 3, 2, 4}) → 4
MODE.MULT(data1, data2, ...)
Returns a vertical array of the most frequently occurring or repetitive values in an array or range of data.
=MODE.MULT({1, 2, 2, 3, 3, 4}) → {2; 3}
MODE.SNGL(data1, data2, ...)
Returns the most frequently occurring or repetitive value in an array or range of data.
=MODE.SNGL({5.6, 4, 4, 3, 2, 4}) → 4
modeAIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the most frequently occurring number in the data_range array/range. The included numbers must meet the specified criteria. Text representations of numbers in the data_range array/range are included. All other text strings are ignored.
All ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with the
=,>,>=,<,<=, or<>operators followed by an unformatted number, a generic date/time string (YYYY-MM-DD), or the&operator followed by a single cell address. - A text string optionally containing wildcard characters
?or*. To search for a literal?or*, place a tilde (~) before them.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=modeAIfs({5.6, 4, 4, "3", "3", 4}, {3, 3, 3, 0.1, 0.1, 0.1}, "<1") → 3
=modeAIfs({5.6, 4, 4, "3", "3", 4}, {3, 3, 3, 0.1, 0.1, 0.1}, "<"&b5) → returns the most frequently occurring number based on the value in cell B5.
modeIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the most frequently occurring number in the data_range array/range. The included numbers must meet the specified criteria. All text strings in the data_range array/range are ignored.
All ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with the
=,>,>=,<,<=, or<>operators followed by an unformatted number, a generic date/time string (YYYY-MM-DD), or the&operator followed by a single cell address. - A text string optionally containing wildcard characters
?or*. To search for a literal?or*, place a tilde (~) before them.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=modeIfs({5.6, 4, 4, "3", "3", 4}, {3, 3, 3, 0.1, 0.1, 0.1}, "<1") → 4
=modeIfs({5.6, 4, 4, "3", "3", 4}, {3, 3, 3, 0.1, 0.1, 0.1}, "<"&b5) → returns the most frequently occurring number based on the value in cell B5.
NORM.DIST(x, mean, standard_dev, cumulative)
Returns the normal distribution for the specified mean and standard deviation. x is the value for which you want the distribution. If cumulative is TRUE, it returns the cumulative distribution function; if FALSE, it returns the probability density function.
=NORM.DIST(42, 40, 1.5, TRUE) → 0.908788775
NORM.INV(probability, mean, standard_dev)
Returns the inverse of the normal cumulative distribution for the specified mean and standard deviation.
=NORM.INV(0.90878877482188, 40, 1.5) → 42
NORM.S.DIST(z, cumulative)
Returns the standard normal distribution (mean of 0 and standard deviation of 1). z is the value for which you want the distribution.
=NORM.S.DIST(1.333333334, TRUE) → 0.908788775
NORM.S.INV(probability)
Returns the inverse of the standard normal cumulative distribution.
=NORM.S.INV(0.9087887748) → 1.333333334
normDist(x, mean, deviation, cumulative)
Returns the normal distribution for a given mean and standard deviation. If the cumulative argument is 1 (true), the normDist function returns the cumulative distribution function. Otherwise, the probability mass function is returned.
=normDist(42, 40, 1.5, true) → 0.90878877482188
normsDist(x)
Returns the standard normal cumulative distribution (where the mean is 0 and the standard deviation is 1).
=normsDist(1.33333333432674) → 0.90878877498481
normInv(probability, mean, deviation)
Returns the inverse of the normal distribution for the given mean and standard deviation.
=normInv(0.90878877482188, 40, 1.5) → 42.0000000014901
normsInv(probability)
Returns the inverse of the standard normal cumulative distribution (where the mean is 0 and the standard deviation is 1).
=normsInv(0.90878877482188) → 1.33333333432674
pearson(array1, array2)
Returns the Pearson correlation coefficient for numbers in array1 and array2. Both arrays must have the same dimensions.
=pearson({9, 7, 5, 3, 1}, {10, 6, 1, 5, 3}) → 0.69937860618024
percentile(range, k)
Returns the k-th percentile for numbers in the array/range. The k argument must be in the range [0, 1]. If it is not a multiple of 1 / (n - 1), the returned value is interpolated.
=percentile({1, 2, 3, 4}, 0.3) → 1.9
PERCENTILE.EXC(array, k)
Returns the k-th percentile of values in a range, where k is in the range (0, 1) exclusive.
=PERCENTILE.EXC({1, 2, 3, 4}, 0.25) → 1.25
PERCENTILE.INC(array, k)
Returns the k-th percentile of values in a range, where k is in the range [0, 1] inclusive.
=PERCENTILE.INC({1, 2, 3, 4}, 0.3) → 1.9
percentileAIfs(data_range, k, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the k-th percentile for numbers in the data_range array/range. The numbers must meet the specified criteria. The k argument must be in the range [0, 1]. If it is not a multiple of 1 / (n - 1), the returned value is interpolated.
Text representations of numbers in the data_range array/range are included. All other text strings are ignored. All ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with the
=,>,>=,<,<=, or<>operators followed by an unformatted number, a generic date/time string (YYYY-MM-DD), or the&operator followed by a single cell address. - A text string optionally containing wildcard characters
?(any character) or*(any string, including an empty string). To search for a literal?or*, place a tilde (~) before them.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=percentileAIfs({1, 2, 3, 4}, 0.3, {3, 3, 3, 0.1}, ">0") → 1.9
=percentileAIfs({1, 2, 3, 4}, 0.3, {3, 3, 3, 0.1}, ">" & b5) → returns the k-th percentile based on the value in cell B5.
percentileIfs(data_range, k, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the k-th percentile for numbers in the data_range array/range. The numbers must meet the specified criteria. The k argument must be in the range [0, 1]. If it is not a multiple of 1 / (n - 1), the returned value is interpolated.
All text strings in the range array/range are ignored. All ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with the
=,>,>=,<,<=, or<>operators followed by an unformatted number, a generic date/time string (YYYY-MM-DD), or the&operator followed by a single cell address. - A text string optionally containing wildcard characters
?(any character) or*(any string, including an empty string). To search for a literal?or*, place a tilde (~) before them.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=percentileIfs({1, 2, "3", 4}, 0.3, {3, 3, 3, 0.1}, ">0") → 1.6
=percentileIfs({1, 2, 3, 4}, 0.3, {3, 3, 3, 0.1}, ">" & b5) → returns the k-th percentile based on the value in cell B5.
percentRank(array, x, [significance])
Returns the rank of the value x in the specified array of numbers. The returned percentage value represents the relative standing of x within the array.
The significance argument specifies the number of decimal places in the result. If it is omitted, it is assumed to be 3. If array does not include x, the function returns an interpolated value.
=percentRank({1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, 4,) → 0.333
PERCENTILE.EXC(array, k, [significance])
Returns the k-th percentile of values in a range, where k is in the range (0, 1) exclusive. The significance argument determines the precision of the result.
=PERCENTILE.EXC({1, 2, 3, 4, 5}, 0.2, 2) → 1.2
PERCENTILE.INC(array, k, [significance])
Returns the k-th percentile of values in a range, where k is in the range [0, 1] inclusive. The significance argument determines the precision of the result.
=PERCENTILE.INC({1, 2, 3, 4, 5}, 0.3, 2) → 2.2
permut(n, k)
Returns the number of k-element permutations of the n-element set.
=permut(100, 3) → 970200
PHI(x)
Returns the value of the density function for a standard normal distribution at value x.
=PHI(0.75) → 0.301137432
poisson(x, mean, cumulative)
Returns the Poisson distribution for a given number of events x where mean is the distribution parameter.
If the cumulative argument is 1 (true), the poisson function returns the cumulative distribution function. Otherwise, the probability mass function is returned.
=poisson(2, 5, false) → 0.08422433748857
POISSON.DIST(x, mean, cumulative)
Returns the Poisson distribution for a given number of events x where mean is the distribution parameter. Parameters function similarly to the poisson function.
=POISSON.DIST(2, 5, FALSE) → 0.084224337
polyPoints(x, B, chi2, n, r, t, p)
The polyPoints function uses results returned by polyReg to calculate values lying on the specified polynomial line along with their confidence limits for a given probability p.
The x and chi2 vectors and the B matrix are values returned by the polyReg functions. The n argument specifies the number of elements t[i] passed to the polyReg functions (the t argument). The r argument specifies the r - 1 degree of the polynomial that the calculation is performed for; it must be greater than or equal to 1 and not greater than the r value passed to the polyReg function. The t argument is a column vector containing N new values that the polynomial is calculated for. The p argument specifies the probability used to calculate the confidence limits.
The function returns a two-column matrix; the first column contains N values y'[i] lying on the polynomial line and the second column contains the corresponding N confidence limits eta[i] for each y'[i], such that the true value is expected to be in the range [y'[i] - eta[i], y'[i] + eta[i]] at the specified probability p.
Input arguments used for polyReg:
- t = {1; 2; 3; 4; 5; 6; 7}
- y = {3.1; 1.2; 1.3; 2.4; 3.5; 6.5; 7.5}
- sy = {0.2; 1.8; 0.2; 0.2; 1.9; 2.8; 3.8}
- r = 7
Calculating polynomial values for the following new points: t = {1.5; 2.5; 3.5; 8}:
=polyPoints(x, B, chi2, 7, 5, t, 0.85) → {1.901, 1.176; 1.112, 0.681; 1.754, 0.320; 9.930, 22.740}
=index(polyPoints(x, B, chi2, 7, 5, t, 0.85),,1) → {1.901; 1.112; 1.754; 9.930}
polyReg(t, y, sy, r, type)
Performs polynomial regression using orthogonal polynomials. If w(t) is a polynomial of the controlled variable t, the polyReg function calculates the coefficients of the family of r orthogonal polynomials (from the 0 degree to the r - 1 degree) and suggests the most suitable degree of w(t).
The polynomial of the (r - 1)-th degree can be expressed as:
w(t) = x[1]*f_1(t) + x[2]*f_2(t) + ... + x[r]*f_r(t)
where the f_i functions belong to a family of r orthogonal polynomials defined by the lower triangular matrix B[r,r] so that for each f_i which is a polynomial of the j - 1 degree:
f_i(t) = Sum<k=1, j>( B[j, k] * t^(k - 1) )
and
Sum<i=1, N>( g(i) * f_j(t[i]) * f_k(t[i]) ) = { 1 if i=j, 0 if i!=j }
for given measurement weights g(i).
The t argument is a column vector containing N values t[i]. The y argument is a column vector containing N measurements y[i]. The sy argument is a column vector containing N values of measurement errors. The r argument specifies the number of coefficients to find (where r - 1 is the maximum degree); r <= N.
- If
type = 1, the function returns thexcolumn vector of calculated coefficients. - If
type = 2, the function returns theB[r,r]matrix. - If
type = 3, the function returns a column vector ofchi2[1...r]values.
=polyReg({1; 2; 3; 4; 5}, {1.1; 1.2; 1.3; 1.4; 1.5}, {0.2; 0.2; 0.2; 0.2; 0.23}, 4, 1) → {14.0688; 1.4979; 0; 0} (indicating a 1st degree polynomial description).
prob(array_x, array_p, lower_limit, [upper_limit])
Returns the cumulative probability for values in the range [lower_limit, upper_limit] based on the intervals specified by array_x and the corresponding probabilities array_p.
Each array_p element must be in the range [0, 1] and their sum must equal 1. If the upper_limit argument is omitted, the function returns the probability for the lower_limit value only.
=prob({0, 1, 2, 3}, {0.2, 0.3, 0.1, 0.4}, 1, 3) → 0.8
quartile(array, n)
Returns the quartile of a data set. The n argument specifies which value should be returned:
- 0: minimum value
- 1: 1st quartile
- 2: 2nd quartile (median)
- 3: 3rd quartile
- 4: maximum value
=quartile({1, 2, 4, 7, 8, 9, 10, 12}, 1) → 3.5
QUARTILE.EXC(array, quart)
Returns the quartile of the data set, based on percentile values from (0..1), exclusive. quart specifies the value to return (1, 2, or 3).
=QUARTILE.EXC({1, 2, 3, 4, 5, 6, 7, 8, 9}, 1) → 2.5
QUARTILE.INC(array, quart)
Returns the quartile of the data set, based on percentile values from [0..1], inclusive. quart specifies the value to return (0, 1, 2, 3, or 4).
=QUARTILE.INC({1, 2, 3, 4, 5, 6, 7, 8, 9}, 1) → 3
rank(x, array, [order])
Returns the rank of a given number in the data set specified by the array argument. The rank of a number is its position obtained after sorting the data set. Equal numbers have the same rank.
If the order argument is 1 or TRUE, the returned rank value corresponds to ascending order. Otherwise, descending order is used. If omitted, it is assumed to be 0.
=rank(3.5, {7, 3.5, 3.5, 1, 2}, 1) → 3
RANK.AVG(number, ref, [order])
Returns the rank of a number in a list of numbers. If multiple values have the same rank, the average rank is returned.
=RANK.AVG(3.5, {7, 3.5, 3.5, 1, 2}, 1) → 3.5
RANK.EQ(number, ref, [order])
Returns the rank of a number in a list of numbers. Its size is relative to other values in the list; if multiple values have the same rank, the top rank of that set of values is returned.
=RANK.EQ(3.5, {7, 3.5, 3.5, 1, 2}, 1) → 3
rsq(array1, array2)
Returns the square of the Pearson correlation coefficient for numbers in array1 and array2. Both arrays must have the same dimensions.
=rsq({9, 7, 5, 3, 1}, {10, 6, 1, 5, 3}) → 0.48913043478261
skew(data1, [data2], ...)
Returns the skewness of the distribution consisting of the specified numbers. The v arguments can be any numbers, arrays or references.
=skew(3, 4, 5, 2, 3, 4, 5, 6, 4, 7) → 0.3595430714068
SKEW.P(data1, [data2], ...)
Returns the skewness of a distribution based on a population: a characterization of the degree of asymmetry of a distribution around its mean.
=SKEW.P(3, 4, 5, 2, 3, 4, 5, 6, 4, 7) → 0.306122449
slope(array_y, array_x)
Finds a best-fit regression line for the known x- and y-values and returns the slope of that line. The array_y and array_x arrays must have the same dimensions.
=slope({2, 3, 9, 1, 8}, {6, 5, 11, 7, 5}) → 0.66935483870968
small(array, k)
Returns the k-th smallest value in the specified array.
=small({3, 4, 5, 2, 3, 4, 5, 6, 4, 7}, 3) → 3
standardize(x, mean, deviation)
Returns a normalized value z for the standard normal distribution such that normDist(x, mean, deviation) = normsDist(z).
=standardize(42, 40, 1.5) → 1.3(3)
stdev(v1, v2, ...)
Returns the standard deviation based on a given sample. The v_ arguments can be any numbers, arrays or references.
=stdev(1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299) → 27.4639157198435
STDEV.P(data1, data2, ...)
Calculates standard deviation based on the entire population given as arguments.
=STDEV.P(1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299) → 26.05455814
STDEV.S(data1, data2, ...)
Estimates standard deviation based on a sample (ignores logical values and text in the sample).
=STDEV.S(1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299) → 27.46391572
stdevA(v1, v2, ...)
Returns the standard deviation based on a given sample. The v_ arguments can be any numbers, arrays or references.
=stdevA(1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299) → 27.4639157198435
stdevAIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the standard deviation based on a given sample from the data_range array/range. The included numbers must meet the specified criteria. Text representations of numbers in the data_range array/range are included. All other text strings are ignored.
All ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with comparison operators (=, >, etc.) followed by a number, date string, or cell address.
- A text string optionally containing wildcard characters
?or*.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=stdevAIfs({5.6, 4, 4, "3", "3", 4}, {3, 3, 0.1, 0.1, 0.1, 0.1}, "<1") → 0.57735026918963
=stdevAIfs({5.6, 4, 4, "3", "3", 4}, {3, 3, 0.1, 0.1, 0.1, 0.1}, "<"&b5) → returns standard deviation based on cell B5 value.
stdevIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the standard deviation based on a given sample from the data_range array/range. The included numbers must meet the specified criteria. All text strings in the data_range array/range are ignored.
All ranges must have the same number of columns and rows. The criteria follow the same rules as stdevAIfs.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=stdevIfs({5.6, 4, 4, "3", "3", 4}, {3, 3, 0.1, 0.1, 0.1, 0.1}, "<1") → 0
stdevP(v1, v2, ...)
Returns the standard deviation based on the entire population. The v_ arguments can be any numbers, arrays or references.
=stdevP(1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299) → 26.0545581424825
stdevPA(v1, v2, ...)
Returns the standard deviation based on the entire population. The v_ arguments can be any numbers, arrays or references.
=stdevPA(1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299) → 26.0545581424825
stdevPAIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the standard deviation based on the entire population from the data_range array/range. The included numbers must meet the specified criteria. Text representations of numbers in the data_range array/range are included. All other text strings are ignored.
All ranges must have the same dimensions. Criteria follow the rules defined in stdevAIfs. If no values meet the criteria, returns #N/A!.
=stdevPAIfs({5.6, 4, 4, "3", "3", 3}, {3, 3, 0.1, 0.1, 0.1, 0.1}, "<1") → 0.43301270189222
stdevPIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the standard deviation based on the entire population from the data_range array/range. The included numbers must meet the specified criteria. All text strings in the data_range array/range are ignored.
All ranges must have the same dimensions. Criteria follow the rules defined in stdevAIfs. If no values meet the criteria, returns #N/A!.
=stdevPIfs({5.6, 4, 4, "3", "3", 3}, {3, 3, 0.1, 0.1, 0.1, 0.1}, "<1") → 0.5
stEyx(array_y, array_x)
Finds a best-fit regression line for the known x- and y-values and returns the standard error of the predicted y-values lying on that line.
=stEyx({2, 3, 9, 1, 8}, {6, 5, 11, 7, 5}) → 3.74560674557182
T.DIST(x, deg_freedom, cumulative)
Returns the Student's t-distribution. x is the numeric value to evaluate, deg_freedom is an integer indicating degrees of freedom. If cumulative is TRUE, it returns the cumulative distribution function; if FALSE, it returns the probability density function.
=T.DIST(1.96, 60, TRUE) → 0.972677535
T.DIST.2T(x, deg_freedom)
Returns the two-tailed Student's t-distribution.
=T.DIST.2T(1.96, 60) → 0.054644929
T.DIST.RT(x, deg_freedom)
Returns the right-tailed Student's t-distribution.
=T.DIST.RT(1.96, 60) → 0.027322465
T.INV(probability, deg_freedom)
Returns the t-value of the Student's t-distribution as a function of the probability and the degrees of freedom.
=T.INV(0.027, 60) → -1.9669
T.INV.2T(probability, deg_freedom)
Returns the inverse of the two-tailed Student's t-distribution.
=T.INV.2T(0.054, 60) → 1.9654
T.TEST(array1, array2, tails, type)
Returns the probability associated with a Student's t-test. Use T.TEST to determine whether two samples are likely to have come from the same two underlying populations that have the same mean. tails specifies the number of distribution tails (1 or 2). type specifies the kind of t-test to perform.
=T.TEST({3, 4, 5}, {6, 19, 3}, 2, 2) → 0.385311
tDist(x, f_degrees)
Returns the Student's t-distribution function. The x argument is the numeric value for which the distribution is calculated. The f_degrees argument is the number of degrees of freedom. The returned value is calculated as P(X < x).
=tDist(1.96, 60) → 0.97267753526449
timeSeries(y, l, k, p)
Analyzes a time series: a set of measurements y[i] performed at regular intervals t[i]. The actual relationship between real y[i] and t[i] values is unknown. To find a trend line, the function uses moving averages and assumes that the relationship is linear (polynomial) in the neighborhood of each y[i].
The y argument is a column vector containing N measurements. The l argument specifies the degree of the polynomial to approximate the trend line. The k argument specifies the range [i - k, i + k] of points used to calculate the moving average. For points where i <= k or i > n - k, the function extends the trend line using coefficients calculated for the closest points. The p argument specifies the probability for the confidence limits.
The function returns a two-column array; the first column contains N + 2k values y'[i] lying on the trend line and the second column contains N + 2k values eta[i] defining the confidence limits such that the true value is expected to be in the range [y'[i] - eta[i], y'[i] + eta[i]] at probability p.
=timeSeries({11; 8; 7; 2; 1; 3; 8; 4}, 3, 2, 0.8) → {7.800, 71.396; 10.800; ... ; 45.400}
tInv(p, f_degrees)
Returns the inverse of the Student's (one-tailed) t-distribution function for a given probability value.
=tInv(0.97267753526449, 60) → 1.95999983312891
trend(array_y, [array_x], [array_n], [const_b])
Finds a best-fit regression line for the known x- and y-values and returns a vector of predicted y-values for the new x-values specified in array_n.
If const_b is 0 or FALSE, the b parameter is assumed to be 0 (default is 1). If array_x is omitted, it's assumed to be [1, 2, ..., n]. If array_n is omitted, it's assumed to be the same as array_x.
=trend({2, 3, 9, 1, 8}, {6, 5, 11, 7, 5}, {12, 13, 14}, 1) → {8.08064516129032; 8.75; 9.41935483970968}
trimMean(array, percent)
Returns the mean of the specified data set after excluding a given percentage of numbers from the top and bottom of that data set. The percent argument must be in the range [0, 1] and is rounded to the nearest multiple of 2 to exclude elements symmetrically.
=trimMean({4, 5, 6, 7, 2, 3, 4, 5, 1, 2, 3}, 0.2) → 3.77777777777778
tTest(array1, array2, tails)
Performs the T-test and returns the probability that the means in the array1 and array2 data sets are significantly different. The tails argument specifies the number of distribution tails: 1 or 2.
=tTest({3, 4, 5, 8, 9, 1, 2, 4, 5}, {6, 19, 3, 2, 14, 4, 5, 17, 1}, 2) → 0.1919958849411
tTest2(array1, array2)
Returns the t-statistic for the array1 and array2 data sets. The returned value can be compared against critical t-statistic values obtained with the tInv function.
=tTest2({3, 4, 5, 8, 9, 1, 2, 4, 5}, {6, 19, 3, 2, 14, 4, 5, 17, 1}) → -1.3622298275595
var(v1, v2, ...)
Returns variance based on a given sample. The v_ arguments can be any numbers, arrays or references.
=var(1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299) → 754.266666666667
VAR.P(data1, data2, ...)
Calculates variance based on the entire population.
=VAR.P(1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299) → 678.84
VAR.S(data1, data2, ...)
Estimates variance based on a sample (ignores logical values and text in the sample).
=VAR.S(1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299) → 754.2666667
varA(v1, v2, ...)
Returns variance based on a given sample. The v_ arguments can be any numbers, arrays or references.
=varA(1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299) → 754.266666666667
varAIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the variance based on a given sample from the data_range array/range. The included numbers must meet the specified criteria. Text representations of numbers in the data_range array/range are included. All other text strings are ignored.
All ranges must have the same number of columns and rows. The criteria can be one of the following:
- A number.
- A text string beginning with comparison operators (=, >, etc.) followed by a number, date string, or cell address.
- A text string optionally containing wildcard characters
?or*.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=varAIfs({5.6, 4, 3, "3", "3", 4}, {3, 3, 0.1, 0.1, 0.1, 0.1}, "<1") → 0.25
varIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the variance based on a given sample from the data_range array/range. The included numbers must meet the specified criteria. All text strings in the data_range array/range are ignored.
All ranges must have the same number of columns and rows. The criteria follow the rules defined in varAIfs.
If there are no values meeting the specified criteria, the #N/A! error code is returned.
=varIfs({5.6, 4, 3, "3", "3", 4}, {3, 3, 0.1, 0.1, 0.1, 0.1}, "<1") → 0.5
varP(v1, v2, ...)
Returns variance based on the entire population. The v_ arguments can be any numbers, arrays or references.
=varP(1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299) → 678.84
varPA(v1, v2, ...)
Returns variance based on the entire population. The v_ arguments can be any numbers, arrays or references.
=varPA(1345, 1301, 1368, 1322, 1310, 1370, 1318, 1350, 1303, 1299) → 678.84
varPAIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the variance based on the entire population from the data_range array/range. The included numbers must meet the specified criteria. Text representations of numbers in the data_range array/range are included. All other text strings are ignored.
All ranges must have the same dimensions. Criteria follow the rules defined in varAIfs. If no values meet the criteria, returns #N/A!.
=varPAIfs({5.6, 4, 3, "3", "3", 4}, {3, 3, 0.1, 0.1, 0.1, 0.1}, "<1") → 0.1875
varPIfs(data_range, if_range1, criteria1 [, if_range2, criteria2, ...])
Returns the variance based on the entire population from the data_range array/range. The included numbers must meet the specified criteria. All text strings in the data_range array/range are ignored.
All ranges must have the same dimensions. Criteria follow the rules defined in varAIfs. If no values meet the criteria, returns #N/A!.
=varPIfs({5.6, 4, 3, "3", "3", 4}, {3, 3, 0.1, 0.1, 0.1, 0.1}, "<1") → 0.25
weibull(x, alpha, beta, cumulative)
Returns the Weibull distribution for a given x. The alpha and beta arguments are the distribution parameters. If the cumulative argument is 1 (true), weibull returns the cumulative distribution function. Otherwise, the probability mass function is returned.
=weibull(105, 20, 100, true) → 0.92958139006928
WEIBULL.DIST(x, alpha, beta, cumulative)
Returns the Weibull distribution. Parameters function similarly to the weibull function.
=WEIBULL.DIST(105, 20, 100, TRUE) → 0.92958139
Z.TEST(array, x, [sigma])
Returns the one-tailed P-value of a z-test. For a given hypothesized population mean, x, Z.TEST returns the probability that the sample mean is greater than the average of observations in the array.
=Z.TEST({3, 6, 7, 8, 6, 5, 4, 2, 1, 9}, 4) → 0.090574203
zTest(array, x, [sigma])
Performs a Z-test and returns the two-tailed probability that x does not belong to the population represented by the n-element array sample. The returned value is calculated as 1 - normsDist((m - x)/deviation/sqrt(n)) where m is the sample mean.
The deviation argument is the known population standard deviation. If it is omitted, the sample deviation is used.
=zTest({3, 6, 7, 8, 6, 5, 4, 2, 1, 9}, 4,) → 0.09057420261958
zTest2(array, x, [sigma])
Returns the z-statistic for a given variable and a given data set. The population is represented by the n-element array sample. The returned value is calculated as z = (m - x)/deviation/sqrt(n) where m is the sample mean.
The deviation argument is the known population standard deviation. If it is omitted, the sample deviation is used.
=zTest2({3, 6, 7, 8, 6, 5, 4, 2, 1, 9}, 4,) → 1.33722748248063