Menu

엑셀 가중 평균 구하기: SUMPRODUCT 수식

=SUMPRODUCT(B2:B5,C2:C5)/SUM(C2:C5)는 가중 평균입니다. 각 값에 가중치를 곱하고, 그 곱을 더한 뒤, 가중치의 합으로 나눕니다. 성적, 학점 기준 평점, 수량 기준 가격을 예제로 알아봅니다.

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

=SUMPRODUCT(B2:B5,C2:C5)/SUM(C2:C5)는 가중 평균을 구합니다. B열의 각 점수에 C열의 가중치를 곱하고, 그 곱을 더한 뒤, 합계를 가중치의 합으로 나눕니다.

과목 가중 성적
F2
ABCDEF
1PartScoreWeightAverageResult
2Homework8520%Weighted81.2
3Quizzes7830%Plain AVERAGE80.75
4Midterm7220%
5Final8830%
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

가중 성적은 81.2인 반면 일반 AVERAGE는 80.75를 냅니다. AVERAGE는 20%인 과제를 30%인 기말시험과 똑같이 취급하기 때문입니다. 기말시험 점수를 바꾸면 과제 점수를 같은 만큼 바꿀 때보다 가중 성적이 더 크게 움직입니다.

엑셀에는 WEIGHTED.AVERAGE 함수가 없으므로 SUMPRODUCT를 SUM으로 나누는 것이 표준 수식입니다. Google 스프레드시트에는 AVERAGE.WEIGHTED(B2:B5,C2:C5)가 있습니다.

가중 평균 수식의 원리

SUMPRODUCT는 두 범위를 행 단위로 곱하고 결과를 더합니다. 도우미 열로 풀어 쓰면 곱의 열과 그 SUM입니다:

단계별로 본 수식
D6
ABCD
1PartScoreWeightScore x weight
2Homework8520%17.0
3Quizzes7830%23.4
4Midterm7220%14.4
5Final8830%26.4
6Total100%81.2
7Weighted average81.2
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

각 항목은 점수 곱하기 가중치만큼 기여합니다. 85 × 20%는 17.0, 78 × 30%는 23.4 하는 식입니다. 이것을 더하면 81.2가 됩니다. 가중치의 합이 100%이므로 여기서는 C6으로 나눠도 달라지는 것이 없지만, 합이 100%가 아닐 때 수식을 올바르게 유지해 주는 것이 이 나누기입니다.

합이 100%가 아닌 가중치

가중치가 백분율일 필요는 없습니다. 평점은 학점으로, 평균 가격은 수량으로 가중치를 둡니다. 가중치의 SUM으로 나누면 합계가 얼마든 처리됩니다.

학점으로 가중한 평점
F2
ABCDEF
1CourseGrade pointsCreditsAverageResult
2Math44Weighted GPA3.51
3History33Plain average3.48
4Biology3.74Total credits14
5Art2.72
6Lab41
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

나누기가 없으면 수식은 평점이 아니라 평점 곱하기 학점의 합, 여기서는 49.2를 반환합니다. 나누기가 있으면 F2는 14학점으로 가중한 평점을 보여 줍니다. 4학점 과목은 평균을 자기 성적 쪽으로 끌어당기고, 1학점 실험 과목은 거의 움직이지 못합니다. B6을 2로 바꾸고 F2가 F3에 비해 얼마나 적게 바뀌는지 보세요.

가중치가 합이 정확히 100%인 백분율이라면 =SUMPRODUCT(B2:B5,C2:C5)만으로도 같은 결과가 나옵니다. 그래도 /SUM(...)은 남겨 두세요. 어느 날 가중치 하나가 바뀌어 합계가 105%가 되면, 나누기가 없는 수식은 틀리는데 시트 어디에도 그 사실이 드러나지 않습니다.

조건을 건 가중 평균

일부 행에만 가중치를 적용하려면 SUMPRODUCT 안에서 조건을 곱하고, 일치하는 가중치는 SUMIF로 더합니다. 아래에서는 지역별 평균 가격을 판매 수량으로 가중합니다.

지역별 평균 가격
G2
ABCDEFG
1RegionProductPriceQtyRegionAverage price
2NorthApple$1.20100North$1.45
3SouthPear$1.5040South$1.36
4NorthPear$1.5060
5SouthApple$1.20120
6NorthPlum$2.0040
7SouthPlum$2.0020
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

North는 사과 100개, 배 60개, 자두 40개를 팔았으므로 평균 가격은 $1.45이며, 세 가격의 단순 평균보다 사과 가격에 더 가깝습니다. 조건 (A2:A7=F2)는 North 행에서 1, 나머지에서 0이므로 다른 행은 분자에 아무것도 더하지 않고, SUMIF는 분모에 North의 수량만 더합니다.

연습: 가중 평균 가격

직접 해 보기: 평균 구매 가격
F2
ABCDEF
1BatchPriceQtyAverageResult
2Jan$4.20100Weighted price
3Feb$4.5040
4Mar$3.90250
5Apr$4.8010
6May$4.10120
셀을 클릭하면 수식이 보입니다. 숫자나 수식을 바꾸면 시트가 다시 계산됩니다.

직접 해 보세요: 같은 품목을 다섯 번에 나눠 서로 다른 가격으로 샀습니다. 각 구매 수량으로 가중한 단위당 평균 가격을 구하세요. 수식은 F2에 쓰세요.

가중 평균을 틀리게 만드는 실수

  • 곱의 AVERAGE. 점수 × 가중치 열에 =AVERAGE(D2:D5)를 쓰면 가중치가 아니라 행 수로 나누므로 작고 의미 없는 숫자가 나옵니다. 곱의 SUM을 가중치의 SUM으로 나누세요.
  • 가중치가 아니라 개수로 나누기. =SUMPRODUCT(B2:B6,C2:C6)/COUNT(B2:B6)는 모든 가중치가 1일 때만 맞습니다.
  • 어긋난 범위. =SUMPRODUCT(B2:B6,C3:C7)는 각 값을 다음 행의 가중치와 짝짓습니다. 두 범위는 같은 행에서 시작하고 끝나야 하며, 크기가 다르면 #VALUE!가 나옵니다.
  • 빈 가중치. 빈 가중치는 0으로 세므로 그 행은 조용히 빠집니다. 가중치가 빠졌을 때 계산을 멈추고 싶다면 먼저 =COUNTBLANK(C2:C6)로 확인하세요.
  • 평균의 평균. 반 평균 70(학생 10명)과 90(학생 30명)의 평균은 80이 아닙니다. 반 인원으로 가중하면 85가 됩니다. AVERAGEIF 페이지에서도 조건과 함께 같은 함정을 다룹니다.

자주 묻는 질문

엑셀에서 가중 평균은 어떻게 구하나요?

값이 B열, 가중치가 C열에 있다면 =SUMPRODUCT(B2:B5,C2:C5)/SUM(C2:C5)를 씁니다. SUMPRODUCT가 각 값에 가중치를 곱해 더하고, 가중치의 합으로 나누면 평균이 됩니다.

가중치의 합이 100%여야 하나요?

가중치의 SUM으로 나누기만 하면 그럴 필요가 없습니다. 학점 3, 4, 2, 1이나 가중치 2, 1, 1도 똑같이 동작합니다. 나누기 없이 =SUMPRODUCT(B2:B5,C2:C5)만 쓰는 간단한 방법만 가중치의 합이 정확히 100%여야 합니다.

엑셀에 가중 평균 함수가 있나요?

없습니다. 엑셀에는 가중 평균을 구하는 내장 함수가 없으므로 SUMPRODUCT와 SUM 조합이 표준 수식입니다. Google 스프레드시트에서는 AVERAGE.WEIGHTED(B2:B5,C2:C5)가 같은 일을 합니다.

조건을 걸어 가중 평균을 구하려면 어떻게 하나요?

SUMPRODUCT에 조건을 더하고 가중치는 SUMIF로 더합니다: =SUMPRODUCT((A2:A7="North")*B2:B7*C2:C7)/SUMIF(A2:A7,"North",C2:C7).

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

Coddy로 코딩 배우기

시작하기