엑셀 SUMPRODUCT 함수 사용법 — 곱한 값의 합계와 가중평균 계산
최종 업데이트 2026-07-04
SUMPRODUCT는 이름 그대로 '곱해서(PRODUCT) 더하는(SUM)' 함수입니다. 예를 들어 상품별 수량과 단가가 각각 다른 열에 있을 때, 수량×단가를 한 줄씩 계산해서 더한 '총 매출액'을 한 번에 구할 수 있습니다. 별도의 보조열 없이 배열 두 개를 통째로 곱해서 합산한다는 점이 가장 큰 장점입니다.
실무에서는 매출 집계, 가중평균 점수 계산, 여러 조건을 동시에 만족하는 행의 개수 세기 등에 자주 쓰입니다. SUMIFS나 COUNTIFS로는 처리하기 어려운 '조건이 OR로 얽힌 경우'나 '곱셈이 필요한 집계'에서 특히 유용합니다.
기본 구조
=SUMPRODUCT(배열1, 배열2, ...)
배열1과 배열2는 크기(행 수)가 반드시 같아야 합니다. 함수는 같은 위치의 값끼리 곱한 뒤, 그 결과를 전부 더합니다. 배열을 하나만 넣으면 단순 합계(SUM)와 같은 결과가 나옵니다.
실무 예시 1 — 수량×단가로 총 매출 구하기
B열에 수량, C열에 단가가 100행까지 있다고 가정합니다. 각 행마다 수량×단가를 계산한 뒤 전부 더한 값을 구하려면 보조열을 만들지 않고도 다음 수식 하나로 끝낼 수 있습니다.
=SUMPRODUCT(B2:B101, C2:C101)
만약 보조열을 만든다면 D열에 =B2*C2를 100번 채운 뒤 SUM으로 더해야 하지만, SUMPRODUCT는 이 과정을 한 줄로 대체합니다. 표가 자주 바뀌는 보고서일수록 수식 관리가 훨씬 간편해집니다.
실무 예시 2 — 가중평균 계산하기
과목별 점수(B열)와 학점 가중치(C열)가 있을 때, 단순 평균이 아니라 가중치를 반영한 평균 점수를 구하려면 SUMPRODUCT로 가중합을 구한 뒤 가중치의 합으로 나눕니다.
=SUMPRODUCT(B2:B6, C2:C6) / SUM(C2:C6)
예를 들어 국어 90점(가중치 3), 영어 80점(가중치 2), 수학 70점(가중치 4)이라면 (90×3+80×2+70×4)를 전체 가중치 합(9)으로 나눈 값이 가중평균입니다. 인사평가나 성적 산출에서 자주 쓰이는 계산 방식입니다.
실무 예시 3 — 다중 조건 개수·합계 세기
SUMPRODUCT는 조건을 비교연산자로 배열화해서 곱하는 방식으로 COUNTIFS·SUMIFS보다 유연한 조건 처리가 가능합니다. '지역이 서울이면서 금액이 10만원 이상인 건수'를 세려면 다음과 같이 작성합니다.
=SUMPRODUCT((B2:B100="서울")*(C2:C100>=100000))
괄호 안의 조건식은 참(1)/거짓(0)으로 변환된 배열을 만들고, 이를 곱하면 두 조건을 모두 만족하는 행만 1이 됩니다. 이 값을 그대로 더하면 조건을 만족하는 개수가 나옵니다. 금액까지 더하고 싶다면 마지막에 금액 배열을 하나 더 곱하면 됩니다.
=SUMPRODUCT((B2:B100="서울")*(C2:C100>=100000)*C2:C100)
자주 나는 오류와 주의사항
- •#VALUE! 오류: 배열들의 행 수(범위 크기)가 서로 다르면 발생합니다. B2:B101과 C2:C100처럼 범위 끝을 다르게 잡지 않았는지 확인하세요.
- •전체 열 참조(B:B) 비권장: SUMPRODUCT에 B:B 같은 전체 열을 그대로 넣으면 100만 행 넘게 계산해 매우 느려집니다. 반드시 실제 데이터 범위만 지정하세요.
- •텍스트가 섞인 열 곱셈 오류: 곱셈 대상 열에 숫자가 아닌 텍스트나 공백이 있으면 #VALUE! 오류가 납니다. --(더블 마이너스)나 N() 함수로 숫자로 강제 변환하면 해결됩니다.
- •조건이 많을 때는 괄호 단위를 명확히: 조건식마다 괄호로 감싸고 * 로 연결해야 정확히 계산됩니다.
SUMPRODUCT는 Ctrl+Shift+Enter 없이도 배열 계산이 되는 몇 안 되는 함수입니다. 최신 엑셀의 동적 배열과도 잘 호환되므로, 복잡한 조건부 집계가 필요할 때 가장 먼저 떠올리면 좋습니다.