AVERAGE function

AVERAGE calculates the arithmetic mean of numbers, ignoring text and logical values; returns a single numeric value representing the average.

=AVERAGE(number1, ...)

Generate a AVERAGE formula

Describe what you need. The generator will reach for AVERAGE where AVERAGE is the right tool, and tell you when it is not.

How to get a better answer
  • Name your columns by letter and by header: "column F (Net Value)" beats "the amount column".
  • State every condition, including the negatives — "not cancelled" changes the formula's shape.
  • Say where the data starts if it is not row 1, and whether it will grow.
  • Check the settings above match your spreadsheet: the wrong argument separator is a syntax error on your machine.

Arguments

How AVERAGE reads its arguments
number1requiredAVERAGE
ArgumentRequiredDescription
number1RequiredRequired. A single value or range of cells containing numeric values to average. Text and logical values in direct arguments produce #VALUE! errors.
...RepeatingOptional. Additional numbers or ranges to include in the average calculation, up to 255 arguments total. Empty cells and text within ranges are ignored.

Returns

A number representing the arithmetic mean of the supplied values.

Availability

Excel: All · Google Sheets: Supported

Worked examples

1. Calculate average salary across all employees

Employee IDNameDepartmentHire DateSalaryStatus
1001Alice ChenSales2018-03-1565000Active
1002Bob MartinezEngineering2019-06-0178000Active
1003Carol SinghMarketing2020-01-1058000Active
1004David LeeSales2017-11-2272000Active
1005Emma JohnsonEngineering2021-02-1475000Active
1006Frank BrownHR2019-09-3062000Inactive
=AVERAGE(E2:E7)

Result: 68333.33

The formula sums all six salaries (65000 + 78000 + 58000 + 72000 + 75000 + 62000 = 410000) and divides by 6 to get the average. AVERAGE automatically ignores text and processes only numeric values in the range.

2. Average salary for just active employees

Employee IDNameDepartmentHire DateSalaryStatus
1001Alice ChenSales2018-03-1565000Active
1002Bob MartinezEngineering2019-06-0178000Active
1003Carol SinghMarketing2020-01-1058000Active
1004David LeeSales2017-11-2272000Active
1005Emma JohnsonEngineering2021-02-1475000Active
1006Frank BrownHR2019-09-3062000Inactive
=AVERAGE(65000,78000,58000,72000,75000)

Result: 69600

By passing individual salary values as separate arguments, you average only those five employees (348000 ÷ 5). This approach lets you exclude specific rows like Frank Brown's inactive record without using a helper column or conditional formula.

3. Compare average salary in the Sales department

Employee IDNameDepartmentHire DateSalaryStatus
1001Alice ChenSales2018-03-1565000Active
1002Bob MartinezEngineering2019-06-0178000Active
1003Carol SinghMarketing2020-01-1058000Active
1004David LeeSales2017-11-2272000Active
1005Emma JohnsonEngineering2021-02-1475000Active
1006Frank BrownHR2019-09-3062000Inactive
=AVERAGE(65000,72000)

Result: 68500

Sales has two employees (Alice at 65000, David at 72000). This formula demonstrates that AVERAGE works with any numeric values, not just cell ranges—useful for quick manual calculations or spot checks.

Common errors

Which AVERAGE error are you seeing?
AVERAGE returned an error#VALUE!
Remove text arguments or use AVERAGEA() instead if you want to treat text as 0. Alternatively, reference a range containing mixed types rather than passing them as separate arguments.
#N/A
Wrap the problematic lookup in IFERROR to return a default value instead of #N/A, or remove the row/cell containing the error. For example, =AVERAGE(IFERROR(E2:E7, 0)).
#NULL!
Check your range syntax. Use A1:B1 for a horizontal range or A1:A10 for a vertical range. Ensure you are using the correct range operator for your locale (colon in most regions, semicolon in some European locales).
ErrorWhy it happensHow to fix it
#VALUE!AVERAGE receives a text value as a direct argument, e.g., =AVERAGE("text", 5, 10). Direct arguments must be numeric; text in ranges is ignored, but text passed as a separate argument causes an error.Remove text arguments or use AVERAGEA() instead if you want to treat text as 0. Alternatively, reference a range containing mixed types rather than passing them as separate arguments.
#N/AThe range or arguments contain an #N/A error value from a VLOOKUP, MATCH, or other function that failed to find a match. AVERAGE propagates the error instead of skipping it.Wrap the problematic lookup in IFERROR to return a default value instead of #N/A, or remove the row/cell containing the error. For example, =AVERAGE(IFERROR(E2:E7, 0)).
#NULL!Incorrect range syntax, such as using a space as a range operator (e.g., =AVERAGE(A1 B1)) instead of a colon, or mismatched row/column references.Check your range syntax. Use A1:B1 for a horizontal range or A1:A10 for a vertical range. Ensure you are using the correct range operator for your locale (colon in most regions, semicolon in some European locales).

Tips and when to use something else

  • AVERAGE ignores empty cells and text within ranges—use AVERAGEA() to treat text as 0, or AVERAGEIF() to average only cells meeting a criteria.
  • For conditional averaging (salaries above 60000, dates after 2020, etc.), use AVERAGEIF() or AVERAGEIFS() instead of manually selecting rows.
  • Prefer AVERAGE(range) over AVERAGE(value1, value2, value3...) for large datasets; ranges are more maintainable and perform better than typing hundreds of arguments.
  • AVERAGE returns the arithmetic mean; use MEDIAN for the middle value or MODE.SNGL for the most frequent value if your data is skewed or has outliers.

Frequently asked questions

Does AVERAGE include empty cells in its calculation?
No. AVERAGE ignores empty cells entirely—it counts only cells with numeric values. If you average A1:A5 and A3 is empty, only the four numeric cells are included in the division. This is different from treating empty cells as 0.
What happens if I use AVERAGE on a range with only text?
AVERAGE returns 0 if the range contains only text or is empty, because there are no numeric values to average. If you want to treat text as 0 or count text entries, use AVERAGEA() or consider COUNTIF() to count text occurrences.
How many arguments can AVERAGE accept?
Up to 255 arguments total. Each argument can be a single value, a range, or a mix of both. For example, =AVERAGE(A1:A10, 50, B5:B15) combines ranges and individual values into one calculation.
Should I use AVERAGE or SUM divided by COUNT?
AVERAGE is simpler and clearer. However, if you need to average based on conditions (e.g., only salaries above 60000), use AVERAGEIF() instead of SUM/COUNTIF. Both approaches give identical results for unconditional averaging.

Need a different formula?

The full generator is not scoped to one function — describe any spreadsheet problem and it will pick.

Open the formula generator

Reviewed 2026-09-17