엑셀에서 평균을 구하는 함수는 AVERAGE가 있는데, 그 외에도 다양한 조건에 맞는 항목만 평균을 구할 수도 있다. 바로 AVERAGEIF, AVERAGEIFS 함수를 사용하여 주어진 범위에서 원하는 조건에 해당하는 항목만 골라서 조건부 평균을 구할 수 있다.
AVERAGE 함수의 사용법은 아래 글을 참고하자.
AVERAGEIF 함수
주어진 범위에서 지정된 조건을 만족하는 셀들의 평균을 계산한다.
구문
AVERAGEIF (범위, 조건, 계산범위)
인자 | 필수 | 설명 |
---|---|---|
범위 | O | 평균을 계산할 셀 |
조건 | O | 평균을 구할 셀의 조건 와일드카드 문자 (*, ?) 사용 가능 |
계산범위 | X | 평균을 계산할때 실제 사용할 셀 |
예제
아래와 같이 학생 점수 테이블이 있다. 반, 이름, 점수가 있으며, 각 반별로 점수의 평균을 계산하려고 한다. 이럴 경우 AVERAGEIF 함수를 사용하여 아래와 같이 할 수 있다.
F2, F3, F4 셀에 아래와 같이 AVERAGEIF 함수를 넣어준다.
AVERAGEIF(A2:A8, E2, C2:C8)
AVERAGEIF(A2:A8, E3, C2:C8)
AVERAGEIF(A2:A8, E3, C2:C8)

아래 그림을 보면 AVERAGEIF 함수의 동작을 이해하기 더 쉬울 것이다. 첫번째 인자인 A2:A8의 범위에서 조건이 E2와 같은 것을 찾고, 세번째 인자 C2:C8의 범위에서 대응하는 셀의 값을 평균을 계산하는 것이다.

주의 사항
계산범위가 비어있다면 해당 셀 무시하고 평균 계산에 사용하지 않는다. 위의 예에서 2번째 행의 AA라는 이름의 점수를 지우고 비워두면 1반 평균 계산에서는 FF 이름의 행 하나만 평균 계산에 사용되어 결과는 80이 된다.
조건을 만족하는 셀이 없으면 오류 반환된다. 위에서 4반의 평균을 구하는 함수를 아래와 같이 만든다고 하면 조건에 만족하는 셀이 없으므로 오류가 발생한다.
=AVERAGEIF(A2:A8, “4”, C2:C8) -> #DIV/0! 오류 반환
조건에 와일드카드 문자(*, ?)를 사용할 수 있다.
AVERAGEIFS 함수
주어진 범위에서 지정된 여러 조건들을 만족하는 셀들의 평균을 계산한다. AVERAGEIF에서 조건을 여러개 추가할 수 있는 버전이다.
구문
AVERAGEIFS (계산범위, 조건범위, 조건, [조건범위, 조건], …)
인자 | 필수 | 설명 |
---|---|---|
계산범위 | O | 평균을 계산할 셀 |
조건범위 | O | 조건을 평가할 셀범위 |
조건 | O | 조건범위에서 평가할 조건 와일드카드 문자 (*, ?) 사용 가능 |
[조건범위, 조건]은 최소한 1개는 필요하며, 최대 127개까지 추가 가능하다.
예제
아래 그림과 같이 주문 목록 테이블이 있다. 여기에서 제품이 노트북이고, 서울 지역에서 주문한 가격의 평균을 구해보는 함수를 만들어 보자.

AVERAGEIFS(D2:D8, B2:B8, “노트북”, C2:C8, “서울”)
D2:D8 셀을 평균값을 계산하는데 사용한다. 이때 조건은 아래와 같이 2가지이다.
- B2:B8의 제품명이 “노트북” 이다.
- C2:C8의 지역이 “서울” 이다.
위의 2개 조건을 만족하는 행은 아래와 같이 2개이다.
주문 | 제품 | 지역 | 가격 |
1 | 노트북 | 서울 | 1500000 |
4 | 노트북 | 서울 | 2500000 |
따라서 2개 가격의 평균을 계산하면 2000000 이라는 결과가 출력된다.