핵심 요약
- 조건 하나로 평균을 낼 때는
=AVERAGEIF(조건범위, 조건, 평균범위), 여러 조건이면=AVERAGEIFS(평균범위, 조건범위1, 조건1, …)를 씁니다. - SUMIF·SUMIFS와 마찬가지로 평균범위 위치가 서로 다릅니다. AVERAGEIF는 마지막, AVERAGEIFS는 맨 앞입니다.
- 조건에 맞는 값이 하나도 없으면
#DIV/0!오류가 나므로 IFERROR로 감싸고, 빈 셀은 평균에서 빠지지만 0은 포함된다는 점을 확인합니다.
분류별 평균 매출, 담당자별 평균 계약 금액, 특정 지점의 특정 월 평균 실적처럼 전체 평균이 아니라 일부 행만의 평균이 필요할 때가 많습니다. AVERAGE 함수는 범위 전체를 평균하므로, 조건마다 범위를 따로 골라 수식을 새로 써야 합니다.
AVERAGEIF와 AVERAGEIFS는 조건에 맞는 행의 값만 골라 평균을 구합니다. SUMIF·COUNTIF와 조건 쓰는 규칙이 같아서 앞의 두 함수를 익혔다면 금방 쓸 수 있습니다. 이 글에서는 두 함수의 구조와 예시, 오류와 빈 셀 처리, 형제 함수들과의 인수 순서 비교까지 정리합니다.
AVERAGEIF 함수 구조와 인수
=AVERAGEIF(조건범위, 조건, [평균범위])
| 인수 | 뜻 | 예시 |
|---|---|---|
| 조건범위(range) | 조건을 검사할 셀 범위 | C3:C7 |
| 조건(criteria) | 평균에 넣을 행을 고르는 기준. 값, 텍스트, 비교식, 셀 참조 | G4, ">=100" |
| 평균범위(average_range) | 실제로 평균할 범위. 생략하면 조건범위의 값을 평균 | D3:D7 |
아래 화면은 품목(B열), 분류(C열), 매출(D열) 표 옆에 분류를 입력할 G4 셀과 평균 매출을 표시할 G5 셀을 만들어 둔 상태입니다.
G5에 다음 수식을 입력합니다.
=AVERAGEIF(C3:C7, G4, D3:D7)
G4에 "Baked goods"를 입력하면 Brownies 5,000,000과 Cookies 6,000,000의 평균인 5,500,000이 표시됩니다. G4를 "Candy"로 바꾸면 7,000,000·3,000,000·4,000,000의 평균인 약 4,666,667로 바로 바뀝니다. 조건 규칙은 SUMIF와 같아서 "="&G4로 써도 결과가 같고, 매출이 5,000,000 이상인 행만 평균하려면 평균범위를 생략하고 =AVERAGEIF(D3:D7, ">=5000000")처럼 씁니다.
여러 조건 평균 AVERAGEIFS
=AVERAGEIFS(평균범위, 조건범위1, 조건1, 조건범위2, 조건2, …)
AVERAGEIFS는 평균범위를 맨 앞에 두고, 그 뒤에 조건범위와 조건을 한 쌍씩 최대 127쌍까지 붙입니다. 모든 조건을 동시에 만족하는 행만 평균합니다. 아래는 분류가 H4, 거래처가 H5인 거래의 평균 매출을 구하는 예입니다.
=AVERAGEIFS(E3:E9, C3:C9, H4, D3:D9, H5)
Candy이면서 CandyLand인 거래는 Lollipops 3,000,000과 Sour candies 4,000,000 두 건이므로 결과는 3,500,000입니다. AVERAGEIFS는 평균범위와 조건범위의 크기가 다르면 #VALUE! 오류를 냅니다.
#DIV/0! 오류와 빈 셀·0 처리
조건부 평균에서 가장 자주 만나는 문제는 오류값과 빈 셀입니다.
- 조건에 맞는 행이 없을 때: 0으로 나누는 셈이라
#DIV/0!이 표시됩니다. 보고서에서는=IFERROR(AVERAGEIF(C3:C7, G4, D3:D7), "해당 없음")처럼 감싸 둡니다. - 평균범위의 빈 셀: 평균 계산에서 빠집니다. 아직 입력하지 않은 실적은 분모에 들어가지 않습니다.
- 평균범위의 0: 값으로 보고 평균에 포함합니다. 0을 빼고 평균하려면
=AVERAGEIFS(D3:D7, C3:C7, G4, D3:D7, "<>0")처럼 조건을 하나 더 겁니다. - 텍스트로 저장된 숫자: 평균에 들어가지 않으므로 결과가 이상하면 원본 숫자 형식을 확인합니다.
AVERAGEIF 결과가 SUMIF(…)/COUNTIF(…)로 직접 나눈 값과 다를 때가 있습니다. COUNTIF는 조건범위를 기준으로 행 수를 세기 때문에 평균범위가 비어 있는 행도 분모에 넣지만, AVERAGEIF는 그 빈 셀을 제외하기 때문입니다.
조건부 함수 인수 순서 한눈에 비교
조건부 합계·개수·평균 함수는 이름이 비슷해 인수 순서를 섞어 쓰기 쉽습니다. 끝에 S가 붙은 함수는 계산할 범위가 맨 앞에 온다고 기억하면 편합니다.
| 함수 | 인수 순서 |
|---|---|
| SUMIF | 조건범위, 조건, 합계범위 |
| SUMIFS | 합계범위, 조건범위1, 조건1, … |
| COUNTIF | 범위, 조건 |
| COUNTIFS | 범위1, 조건1, 범위2, 조건2, … |
| AVERAGEIF | 조건범위, 조건, 평균범위 |
| AVERAGEIFS | 평균범위, 조건범위1, 조건1, … |
구글 스프레드시트에서는
구글 스프레드시트도 AVERAGEIF와 AVERAGEIFS를 엑셀과 같은 인수 순서로 지원하며, 조건에 맞는 값이 없을 때 #DIV/0! 오류가 나는 점도 같습니다. 엑셀 수식을 그대로 옮겨 써도 됩니다.
자주 묻는 질문
조건부 평균 결과의 소수점을 정리하고 싶습니다.
표시만 바꾸려면 홈 탭의 자릿수 줄임(Decrease Decimal) 단추를 누릅니다. 값 자체를 반올림하려면 =ROUND(AVERAGEIF(C3:C7, G4, D3:D7), 0)처럼 ROUND 함수로 감쌉니다.
특정 기간의 평균만 구할 수 있나요?
AVERAGEIFS에서 같은 날짜 열에 조건을 두 번 겁니다. 예를 들어 9월 평균은 =AVERAGEIFS(D:D, A:A, ">="&DATE(2026,9,1), A:A, "<"&DATE(2026,10,1))처럼 씁니다.
조건부 최댓값이나 최솟값은 어떻게 구하나요?
엑셀 2019 이후 버전과 Microsoft 365에서는 MAXIFS와 MINIFS 함수를 쓰며, 인수 순서는 AVERAGEIFS와 같습니다. 그 이전 버전에는 이 함수가 없어 #NAME? 오류가 납니다.
함께 보면 좋은 글: 엑셀 AVERAGE 함수와 이동 평균 구하기, 엑셀 SUMIF SUMIFS 조건부 합계 구하기, 엑셀 COUNTIF COUNTIFS 조건 개수 세기
댓글
댓글 남기기