
What is the GEOMEAN function?
The GEOMEAN function lets you calculate the geometric mean in Excel. The geometric mean is a measure of the average rate of change.
How is the geometric mean calculated?
It is calculated by multiplying the numbers together and then taking the nth root where n is the number of values.
For example, calculating the geometric mean from numbers 5 and 20 equals 10.
Here is how: 5*20 equals 100. The root of 100 is 10.
To calculate the geometric mean by hand use this formula:

GM - geometric mean
y1, y2, ..., yn - are the numbers
n is the number of values
What is the difference between the geometric mean and the arithmetic mean (average)?
The geometric mean and arithmetic mean differ in how they are calculated. The geometric mean multiplies all the values together and then taking the n-th root, while the arithmetic mean adds all the values together and then divides by the number of values.
The AVERAGE function lets you calculate the arithmetic mean in Excel.
When to calculate the geometric mean?
The geometric mean is often a useful measure for data that increases or decreases rapidly like exponential or proportional numbers. The larger numbers skew the arithmetic mean while the geometric mean tends to better represent smaller values.
1. GEOMEAN Function Syntax
GEOMEAN(number1, [number2], ...)
2. GEOMEAN Function Arguments
Argument |
Description |
number1 |
Required. A single numerical value or a cell reference to multiple numerical values. |
[number2] |
Optional. Upp to 254 additional arguments. |
Text, logical values and empty cells are ignored.
The GEOMEAN function returns
- #NUM! error value if number is less than or equal to 0 (zero).
3. GEOMEAN Function Example

This example demonstrates how the geometric mean and the arithmetic mean can differ and show completely different results.
The image above shows five test scores for three students (Sophia, Emma, and Eric) in cells C3:G5, the arithmetic mean is calculated in cells I3:I5 and the geometric means are calculated in cells J3:J5.
Each test is equally important, however, tests 3 and 4 give much higher score than the other tests. How do we calculate an average test score that isn't distorted by test 3 and 4?
The arithmetic mean (average) tells us that Emma had the highest average test score. She had much better results in test 3 and 4, however, lower scores in test 1, 2, and 5 than the others. This shows that those tests (3 and 4) skew the arithmetic mean, the geometric mean is a better representation of the overall performance.
Formula in cell J3:
=GEOMEAN(C3:G3)
Eric has the highest geometric mean, he performed better than the other students in 3 out of 5 tests. In fact, Emma had the lowest geometric mean.
Back to top
4. Sort rows based on geometric mean

This example demonstrates an Excel 365 dynamic array formula in cell B8 that sorts rows in cell range B3:G5 based on the geometric mean values from large to small.
Excel 365 formula in cell B8:
=SORTBY(B3:G5,BYROW(C3:G5,LAMBDA(a,GEOMEAN(a))),-1)
Explaining formula
Step 1 - Calculate geometric mean
The GEOMEAN function calculates the geometric mean.
Function syntax: GEOMEAN(number1, [number2], ...)
GEOMEAN(a)
Step 2 - Build the LAMBDA function
The LAMBDA function build custom functions without VBA, macros or javascript.
Function syntax: LAMBDA([parameter1, parameter2, …,] calculation)
LAMBDA(a,GEOMEAN(a))
Step 3 - Calculate geometric mean by row
The BYROW function puts values from an array into a LAMBDA function row-wise.
Function syntax: BYROW(array, lambda(array, calculation))
BYROW(C3:G5,LAMBDA(a,GEOMEAN(a)))
returns
{118.608736627981; 101.832590045365; 144.500087439159}
Step 4 - Sort rows based on geometric mean
The SORTBY function sorts a cell range or array based on values in a corresponding range or array.
Function syntax: SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2],…)
SORTBY(B3:G5,BYROW(C3:G5,LAMBDA(a,GEOMEAN(a))),-1)
becomes
SORTBY(B3:G5,{118.608736627981; 101.832590045365; 144.500087439159},-1)
and returns

Back to top
5. Sort columns based on geometric mean

The image above shows an Excel 365 dynamic array formula in cell C7 that sorts columns in cell range C2:G5 based on the geometric mean values from small to large.
Excel 365 formula in cell B8:
=SORTBY(C2:G5,BYCOL(C3:G5,LAMBDA(a,GEOMEAN(a))),1)
Explaining formula
Step 1 - Calculate geometric mean
The GEOMEAN function calculates the geometric mean.
Function syntax: GEOMEAN(number1, [number2], ...)
GEOMEAN(a)
Step 2 - Build the LAMBDA function
The LAMBDA function build custom functions without VBA, macros or javascript.
Function syntax: LAMBDA([parameter1, parameter2, …,] calculation)
LAMBDA(a,GEOMEAN(a))
Step 3 - Calculate geometric mean by column
The BYCOL function passes all values in a column based on an array to a LAMBDA function, the LAMBDA function calculates new values based on a formula you specify. It then continues with the next column until all columns in the array have been processed.
Function syntax: BYCOL(array, lambda(array, calculation))
BYCOL(C3:G5,LAMBDA(a,GEOMEAN(a)))
returns
{10,112.924323465723,427.19738509951,714.175292454516,73.4342046204996}
Step 4 - Sort rows based on geometric mean
The SORTBY function sorts a cell range or array based on values in a corresponding range or array.
Function syntax: SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2],…)
SORTBY(B3:G5,BYCOL(C3:G5,LAMBDA(a,GEOMEAN(a))),1)
becomes
SORTBY(B3:G5,{10,112.924323465723,427.19738509951,714.175292454516,73.4342046204996},1)
and returns

Back to top
Back to top
Functions in this article
Functions in 'Statistical' category
The GEOMEAN function function is one of many functions in the 'Statistical' category.
Calculates the average of the absolute deviations of data points from their mean.
Calculates the average of numbers in a cell range.
Returns the average of a group of values. Text and boolean value FALSE evaluates to 0. TRUE to 1.
Returns the average of cell values that are valid for a given condition.
Returns the average of cell values that evaluates to TRUE for multiple criteria.
Calculates the beta distribution.
Calculates the inverse of the cumulative beta distribution.
Calculates the individual term binomial distribution probability.
Calculates the minimum value for which the binomial distribution is equal to or greater than a given threshold value.
Calculates the probability of the chi-squared distribution, cumulative distribution or probability density.
Calculates the right-tailed probability of the chi-squared distribution.
Calculates the inverse of the left-tailed probability of the chi-squared distribution.
Calculates the inverse of the right-tailed probability of the chi-squared distribution.
Calculates the test for independence, the value returned from the chi-squared statistical distribution and the correct degrees of freedom. Use this function to check if hypothesized results are valid.
Calculates the confidence interval for a population mean.
Calculates the confidence range for a population mean using a Student's t distribution.
Calculates the correlation between two groups of numbers.
Counts all numerical values in an argument.
Counts the non-empty or non-blank cells in a cell range.
Counts empty or blank cells in a range.
Calculates the number of cells that is equal to a condition.
Calculates the number of cells across multiple ranges that equals all given conditions.
Calculates the covariance meaning the average of the products of deviations for each pair in two different datasets.
Calculates the sample covariance meaning the average of the products of deviations for each pair in two different datasets.
Calculates the exponential distribution representing an outcome in the form of probability.
Calculates the F probability for two tests.
Calculates the right-tailed F probability for two tests.
Calculates the two-tailed probability from an F-test
Calculates a value based on existing x and y values using linear regression.
Calculates how often values occur within a range of values and then returns a vertical array of numbers.
Calculates the GAMMA value.
Calculates the gamma often used in queuing analysis (probability statistics) that may have a skewed distribution.
Calculates the geometric mean.
Returns estimated exponential growth based on given data.
Calculates the harmonic mean.
Returns a value representing the y-value where a line intersects the y-axis.
Calculates the kurtosis.
Calculates the k-th largest value from an array of numbers.
Returns an array of values representing the parameters of a straight line based on the "least squares" method.
Returns an array of values representing the parameters of an exponential curve that fits your data, based on the "least squares" method.
Calculates the lognormal distribution of argument x, based on a normally distributed ln(x) with the arguments of mean and standard_dev.
Calculate the largest number in a cell range.
Calculates the highest value based on a condition or criteria.
Calculates the median based on a group of numbers. The median is the middle number of a group of numbers.
Returns the smallest number in a cell range.
Returns the smallest number. Text values and blanks are ignored, boolean value TRUE evaluates to 1 and FALSE to 0 (zero).
Calculates the smallest value based on a given set of criteria.
Returns the most frequent number in a cell range. It will return multiple numbers if they are equally frequent.
Calculates the most frequent value in an array or range of data.
Calculates the normal distribution for a given mean and standard deviation.
Calculates the inverse of the normal cumulative distribution for a given mean and standard deviation.
Calculates the percent rank of a given number in a data set.
Calculates the percent rank of a given number compared to the whole data set.
Returns the number of permutations for a set of elements that can be selected from a larger number of elements.
Returns the number of permutations for a specific number of elements that can be selected from a larger group of elements.
Calculates a number of the density function for a standard normal distribution.
Calculates the probability that values in a range are between a given lower and upper limit.
Returns the quartile of a data set.
Returns the quartile of a data set, based on percentile values from 0..1, inclusive.
Returns the rank of a number out of a list of numbers.
Calculates the rank of a number in a list of numbers, based on its position if the list were sorted.
Calculates the skewness of a group of values.
Calculates the slope of the linear regression line through coordinates.
Returns the k-th smallest value from a group of numbers.
Calculates a normalized value from a distribution characterized by mean and standard_dev.
Returns standard deviation based on the entire population.
Returns standard deviation based on a sample of the entire population.
Estimates the standard deviation from a sample of values.
Returns the standard deviation based on the entire population, including text and logical values.
Calculates values along a linear trend.
Calculates the mean of the interior of a data set.
Returns the variance based on the entire population. The function ignores logical and text values.
The VAR.S function tries to estimate the variance based on a sample of the population. The function ignores logical and text values.
Excel function categories
Excel functions that let you resize, combine, and shape arrays.
Functions for backward compatibility with earlier Excel versions. Compatibility functions are replaced with newer functions with improved accuracy. Use the new functions if compatibility isn't required.
Perform basic operations to a database-like structure.
Functions that let you perform calculations to Excel date and time values.
Let's you manipulate binary numbers, convert values between different numeral systems, and calculate imaginary numbers.
Calculate present value, interest, accumulated interest, principal, accumulated principal, depreciation, payment, price, growth, yield for securities, and other financial calculations.
Functions that let you get information from a cell, formatting, formula, worksheet, workbook, filepath, and other entitites.
Functions that let you return and manipulate logical values, and also control formula calculations based on logical expressions.
These functions let you sort, lookup, get external data like stock quotes, filter values based a condition or criteria, and get the relative position of a given value in a specific cell range. They also let you calculate row, column, and other properties of cell references.
You will find functions in this category that calculates random values, round numerical values, create sequential numbers, trigonometry, and more.
Calculate distributions, binomial distributions, exponential distribution, probabilities, variance, covariance, confidence interval, frequency, geometric mean, standard deviation, average, median, and other statistical metrics.
Functions that let you manipulate text values, substitute strings, find string in value, extract a substring in a string, convert characters to ANSI code among other functions.
Get data from the internet, extract data from an XML string and more.
Excel categories
Latest updated articles.
More than 300 Excel functions with detailed information including syntax, arguments, return values, and examples for most of the functions used in Excel formulas.
More than 1300 formulas organized in subcategories.
Excel Tables simplifies your work with data, adding or removing data, filtering, totals, sorting, enhance readability using cell formatting, cell references, formulas, and more.
Allows you to filter data based on selected value , a given text, or other criteria. It also lets you filter existing data or move filtered values to a new location.
Lets you control what a user can type into a cell. It allows you to specifiy conditions and show a custom message if entered data is not valid.
Lets the user work more efficiently by showing a list that the user can select a value from. This lets you control what is shown in the list and is faster than typing into a cell.
Lets you name one or more cells, this makes it easier to find cells using the Name box, read and understand formulas containing names instead of cell references.
The Excel Solver is a free add-in that uses objective cells, constraints based on formulas on a worksheet to perform what-if analysis and other decision problems like permutations and combinations.
An Excel feature that lets you visualize data in a graph.
Format cells or cell values based a condition or criteria, there a multiple built-in Conditional Formatting tools you can use or use a custom-made conditional formatting formula.
Lets you quickly summarize vast amounts of data in a very user-friendly way. This powerful Excel feature lets you then analyze, organize and categorize important data efficiently.
VBA stands for Visual Basic for Applications and is a computer programming language developed by Microsoft, it allows you to automate time-consuming tasks and create custom functions.
A program or subroutine built in VBA that anyone can create. Use the macro-recorder to quickly create your own VBA macros.
UDF stands for User Defined Functions and is custom built functions anyone can create.
A list of all published articles.
How to comment
How to add a formula to your comment
<code>Insert your formula here.</code>
Convert less than and larger than signs
Use html character entities instead of less than and larger than signs.
< becomes < and > becomes >
How to add VBA code to your comment
[vb 1="vbnet" language=","]
Put your VBA code here.
[/vb]
How to add a picture to your comment:
Upload picture to postimage.org or imgur
Paste image link to your comment.
Contact Oscar
You can contact me through this contact form