Conditional function

How to use AVERAGEIF in Excel

Averages values whose row matches a condition.

Syntax

AVERAGEIF(range, criteria, [average_range])
rangeThe cells to test
criteriaThe condition
[average_range]The cells to average optional

Example

Here’s AVERAGEIF on a small table of orders. The highlighted cells are the ones the formula reads.

G2
fx
=AVERAGEIF(C2:C9,"Lena",F2:F9)
A
B
C
D
E
F
1
Order
Region
Rep
Units
Price
Revenue
2
1001
East
Maya
4
12
48
3
1002
West
Omar
2
30
60
4
1003
East
Lena
7
12
84
5
1004
North
Maya
1
45
45
6
1005
West
Lena
5
30
150
7
1006
East
Omar
3
18
54
8
1007
North
Lena
6
12
72
9
1008
West
Maya
8
18
144
102Result of =AVERAGEIF(C2:C9,"Lena",F2:F9)

Edit this formula live Change the ranges and watch the answer update. Free, no sign-up.

Common mistakes with AVERAGEIF

No matches gives #DIV/0!

If no rows match, there’s nothing to average. Wrap it in IFERROR to show a friendlier result.

Conditions go in quotes

Write "East" or ">3", not East or >3.

What the error messages mean

Type these slips into Gridwise and this is the feedback you get:

Leaving off the closing bracket

=AVERAGEIF(C2:C9,"Lena",F2:F9

Parentheses don’t match. You have 1 opening and 0 closing parentheses. Every ( needs a ).

Text without quotes

=AVERAGEIF(C2:C9,Lena,F2:F9)

Text needs quotes. Lena isn’t a function or a cell, so Excel can’t read it. If you mean the word, write "Lena" with quotes.

Questions

What does the AVERAGEIF function do in Excel?

Averages values whose row matches a condition. The syntax is AVERAGEIF(range, criteria, [average_range]).

Why is my AVERAGEIF formula giving the wrong answer?

No matches gives #DIV/0!: If no rows match, there’s nothing to average. Wrap it in IFERROR to show a friendlier result. Conditions go in quotes: Write "East" or ">3", not East or >3.

Does AVERAGEIF work in Google Sheets?

Most Excel functions, including the core ones on this page, work the same way in Google Sheets. A few newer functions arrived in Sheets later or behave slightly differently, so test it on your own data.

Related functions