Menu

엑셀 AVERAGEIF, AVERAGEIFS 함수: 조건부 평균 구하기

=AVERAGEIF(A2:A7,"North",C2:C7)은 A열이 North인 행의 C2:C7 값의 평균을 구합니다. 여러 조건의 AVERAGEIFS, 0을 제외한 평균, #DIV/0! 해결, MAXIFS와 MINIFS를 알아봅니다.

이 페이지의 모든 시트는 실제로 동작합니다. 숫자나 수식을 바꾸면 다시 계산됩니다.

=AVERAGEIF(A2:A7,"North",C2:C7)는 A열이 North인 행에서 C2:C7 매출의 평균을 구합니다. SUMIF와 같이 동작하지만, 합계를 일치하는 행의 수로 나눈다는 점이 다릅니다.

조건부 평균
F2
ABCDEF
1RegionProductSalesConditionAverage
2NorthApple120North90
3SouthPear45North, Apple80
4NorthPear110Over 50120
5EastApple55
6SouthApple195
7NorthApple40
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

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도 건너뜁니다.

0을 뺀 평균
E3
ABCDE
1StudentScoreMethodResult
2Ana80AVERAGE48
3Ben0Ignore zeros80
4Cara90Count of zeros2
5DanCount of numbers5
6Eva70
7Finn0
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

AVERAGE는 Dan의 빈 셀은 빼고 0 두 개는 세므로 240을 5로 나눠 48을 보여 줍니다. "<>0"을 쓴 AVERAGEIF는 240을 3으로 나눠 80을 보여 줍니다. B5에 60을 입력하면 둘 다 바뀌고, 0을 입력하면 AVERAGE만 바뀝니다. 0과 음수를 함께 빼려면 ">0"을 쓰세요.

AVERAGEIF가 #DIV/0!을 반환하는 이유

일치하는 값이 없으면 AVERAGEIF는 나눌 수가 없어 #DIV/0!을 반환합니다. IFERROR로 감싸면 대시, 메시지, 빈 셀을 대신 보여 줄 수 있습니다.

일치 없음, 그리고 MAXIFS와 MINIFS
F2
ABCDEF
1RegionProductSalesFormulaResult
2NorthApple120West average#DIV/0!
3SouthPear45With IFERRORNo sales
4NorthPear110North max120
5EastApple55North min40
6SouthApple195Apple max195
7NorthApple40
#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)를 눌러 입력하세요.

연습: 조건 두 개로 평균 구하기

직접 해 보기: 결석을 뺀 반 평균
F2
ABCDEF
1StudentClassScoreConditionAverage
2AnaA80Class A, no zeros
3BenB75
4CaraA0
5DanB60
6EvaA90
7FinnB0
8GusA70
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

직접 해 보세요: 0(결석한 학생)을 빼고 A반의 점수 평균을 구하세요. 수식은 F2에 쓰세요.

평균의 평균: 흔한 실수

크기가 다른 그룹들의 평균을 다시 평균 내면 전체 평균이 틀립니다. North는 세 행, South는 두 행이므로 두 평균의 평균에서는 South의 각 행이 실제보다 더 큰 비중을 갖습니다.

평균의 평균
E4
ABCDE
1RegionSalesFormulaResult
2North120North90
3South45South120
4North110Average of the two105
5South195All rows102
6North40
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

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가 필요합니다.

Coddy 프로그래밍 언어 일러스트

Coddy로 코딩 배우기

시작하기