=AVERAGEIF(A2:A7,"North",C2:C7)는 A열이 North인 행에서 C2:C7 매출의 평균을 구합니다. SUMIF와 같이 동작하지만, 합계를 일치하는 행의 수로 나눈다는 점이 다릅니다.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Condition | Average | |
| 2 | North | Apple | 120 | North | 90 | |
| 3 | South | Pear | 45 | North, Apple | 80 | |
| 4 | North | Pear | 110 | Over 50 | 120 | |
| 5 | East | Apple | 55 | |||
| 6 | South | Apple | 195 | |||
| 7 | North | Apple | 40 |
F2는 North 행 세 개, 120, 110, 40의 평균을 구해 90을 보여 줍니다. F3은 North와 Apple 두 조건이 필요하므로 AVERAGEIFS를 씁니다: (120 + 40) / 2 = 80. F4에는 별도의 평균 범위가 없으므로 일치하는 매출 자체의 평균을 구합니다.
AVERAGEIF와 AVERAGEIFS 구문
=AVERAGEIF(range, criteria, [average_range])
=AVERAGEIFS(average_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...)
인수 순서는 SUMIF와 SUMIFS에서와 같은 함정입니다. AVERAGEIF는 평균을 낼 범위를 마지막에 두고(생략도 가능), AVERAGEIFS는 맨 앞에 둡니다. 조건은 두 함수에서 같은 방식으로 씁니다: "North", ">50", "<>0", "*apple*", 또는 셀에 연결한 연산자 ">"&F5. 평균 범위의 빈 셀과 텍스트는 건너뜁니다.
0을 제외한 평균
AVERAGE는 0을 값으로 세므로, 점수가 0인 결석 학생 두 명이 반 평균을 끌어내립니다. 빈 셀은 다릅니다. AVERAGE가 건너뜁니다. =AVERAGEIF(B2:B7,"<>0")은 0도 건너뜁니다.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Student | Score | Method | Result | |
| 2 | Ana | 80 | AVERAGE | 48 | |
| 3 | Ben | 0 | Ignore zeros | 80 | |
| 4 | Cara | 90 | Count of zeros | 2 | |
| 5 | Dan | Count of numbers | 5 | ||
| 6 | Eva | 70 | |||
| 7 | Finn | 0 |
AVERAGE는 Dan의 빈 셀은 빼고 0 두 개는 세므로 240을 5로 나눠 48을 보여 줍니다. "<>0"을 쓴 AVERAGEIF는 240을 3으로 나눠 80을 보여 줍니다. B5에 60을 입력하면 둘 다 바뀌고, 0을 입력하면 AVERAGE만 바뀝니다. 0과 음수를 함께 빼려면 ">0"을 쓰세요.
AVERAGEIF가 #DIV/0!을 반환하는 이유
일치하는 값이 없으면 AVERAGEIF는 나눌 수가 없어 #DIV/0!을 반환합니다. IFERROR로 감싸면 대시, 메시지, 빈 셀을 대신 보여 줄 수 있습니다.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Product | Sales | Formula | Result | |
| 2 | North | Apple | 120 | West average | #DIV/0! | |
| 3 | South | Pear | 45 | With IFERROR | No sales | |
| 4 | North | Pear | 110 | North max | 120 | |
| 5 | East | Apple | 55 | North min | 40 | |
| 6 | South | Apple | 195 | Apple max | 195 | |
| 7 | North | Apple | 40 |
#DIV/0! 0이나 빈 셀로 나누고 있습니다.West 행이 없으므로 F2는 #DIV/0!을, F3은 메시지를 보여 줍니다. A3을 West로 바꾸면 둘 다 45를 보여 줍니다.
MAXIFS와 MINIFS
위 시트의 F4부터 F6은 조건에 맞는 가장 큰 값과 가장 작은 값을 찾습니다. AVERAGEIFS처럼 검색할 범위를 맨 앞에 둡니다. =MAXIFS(C2:C7,A2:A7,"North")는 120을, =MINIFS(C2:C7,A2:A7,"North")는 40을 반환합니다. AVERAGEIF와 달리 일치하는 값이 없으면 오류가 아니라 0을 반환합니다.
MAXIFS와 MINIFS는 Excel 2019 이후 또는 Microsoft 365가 필요합니다. Excel 2016 이하에서는 =MAX(IF(A2:A7="North",C2:C7))가 같은 일을 합니다. 그 버전에서는 Ctrl+Shift+Enter(Mac에서는 Cmd+Shift+Enter)를 눌러 입력하세요.
연습: 조건 두 개로 평균 구하기
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Student | Class | Score | Condition | Average | |
| 2 | Ana | A | 80 | Class A, no zeros | ||
| 3 | Ben | B | 75 | |||
| 4 | Cara | A | 0 | |||
| 5 | Dan | B | 60 | |||
| 6 | Eva | A | 90 | |||
| 7 | Finn | B | 0 | |||
| 8 | Gus | A | 70 |
직접 해 보세요: 0(결석한 학생)을 빼고 A반의 점수 평균을 구하세요. 수식은 F2에 쓰세요.
평균의 평균: 흔한 실수
크기가 다른 그룹들의 평균을 다시 평균 내면 전체 평균이 틀립니다. North는 세 행, South는 두 행이므로 두 평균의 평균에서는 South의 각 행이 실제보다 더 큰 비중을 갖습니다.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Region | Sales | Formula | Result | |
| 2 | North | 120 | North | 90 | |
| 3 | South | 45 | South | 120 | |
| 4 | North | 110 | Average of the two | 105 | |
| 5 | South | 195 | All rows | 102 | |
| 6 | North | 40 |
E4는 105를, E5는 다섯 행의 실제 평균인 102를 보여 줍니다. 그룹 크기가 다르면 AVERAGEIFS 하나로 행 자체의 평균을 구하거나, SUMIFS를 같은 조건의 COUNTIFS로 나누세요:
=SUMIFS(B2:B6,A2:A6,"North")/COUNTIFS(A2:A6,"North")
학점이나 수량으로 가중치를 둔 점수는 또 다른 계산입니다. 그것은 가중 평균입니다.
자주 묻는 질문
AVERAGEIF와 AVERAGEIFS의 차이는 무엇인가요?
AVERAGEIF는 조건을 하나만 받고 평균 범위를 마지막에 둡니다: =AVERAGEIF(A2:A7,"North",C2:C7). AVERAGEIFS는 조건을 여러 개 받고 평균 범위를 맨 앞에 둡니다: =AVERAGEIFS(C2:C7,A2:A7,"North",B2:B7,"Apple").
엑셀에서 0을 빼고 평균을 구하려면 어떻게 하나요?
=AVERAGEIF(B2:B7,"<>0")을 씁니다. 0이 아닌 셀의 평균만 구합니다. 빈 셀은 AVERAGE와 AVERAGEIF가 이미 제외하므로 조건이 필요한 것은 실제 0뿐입니다.
AVERAGEIF가 #DIV/0!을 반환하는 이유는 무엇인가요?
조건에 맞는 셀이 하나도 없어서 엑셀이 합계 0을 개수 0으로 나누기 때문입니다. 다른 값을 보여 주려면 감싸세요: =IFERROR(AVERAGEIF(A2:A7,"West",C2:C7),"No data").
조건에 맞는 최댓값은 어떻게 찾나요?
검색할 범위를 맨 앞에 두는 MAXIFS를 씁니다. =MAXIFS(C2:C7,A2:A7,"North")는 North 값 중 가장 큰 값을 반환합니다. 가장 작은 값은 MINIFS로 같은 방식으로 구합니다. 두 함수 모두 Excel 2019 이후 또는 Microsoft 365가 필요합니다.